A Brief Introduction To International Software

Download Report

Transcript A Brief Introduction To International Software

Shanghai Jiao Tong University
Object Oriented Analysis and Design
Service Oriented Architecture
(SOA)
上海交通大学软件工程中心
Outline
 The Service Oriented Society
 Service-Oriented Architecture (SOA)
 Web Services
Object Oriented Analysis and Design
2
Outline
 The Service Oriented Society
 Service-Oriented Architecture (SOA)
 Web Services
Object Oriented Analysis and Design
3
Context, Composition and State
 Services are most often designed to ignore
the context in which they are used
 It does not mean that services are stateless
they are rather context independent !
 This is precisely my / the definition of “loosely
coupled”
• Services can be reused in contexts not known
at design time
 Value can be created by combining, i.e.
“composing” services
 Book a trip versus book a flight, car, hotel, …
Object Oriented Analysis and Design
4
Service Interfaces
 Non proprietary
 All service providers offer somewhat the same
interface
 Highly Polymorphic
 Intent is enough
 Implementation can be changed in ways
that do not break all the service consumers
 Real world services interact with thousands of
consumers
 Service providers cannot afford to “break” the
context of their consumers
Object Oriented Analysis and Design
5
Intents and Offers
 Service consumer expresses “intent”
 Service providers define “offers”
 Sometimes a mediator will:
 Find the best offer matching an intent
 Advertise an offer in different ways such that it
matches different intent
 Request / Response is just a very particular
case of an Intent / Offer protocol
Object Oriented Analysis and Design
6
Service Orientation and Directories
 Our society could not be “service oriented”
without the “Yellow Pages”
 Directories and addressing mechanisms are
at the center of our service oriented society
 Imagine
 Being able to reach a service just by using
longitude and latitude coordinates as an
addressing mechanism?
 Only being able to use a service if you can
remember its location, phone or fax number?
Object Oriented Analysis and Design
7
Service Orientation is Scalable
 Consumers can consume and combine a lot
of services since they don’t have to know or
“learn” how to use a service
 Service providers can offer their services to
a lot more consumers because by
optimizing
 The user interface
 Access (Geographical, Financial, …)
 They were able to provide the best quality of
service and optimize their implementations
Object Oriented Analysis and Design
8
Connectivity Drives the Emergence and
Convergence of Technologies
Internet
LAN
Web
1980
XML
1990
WS
2000
SOA
2010
Office
Workflow
EAI
BPM
B2B
Business
Integration
EDI
WS
Mainframe
Client / Server
Web/Portal
Object Oriented Analysis and Design
9
J2EE
.NET
?
Connectivity Enables Global Processes and
Information Access
Internet
LAN
1980
Web
XML
1990
LAN
WAN
WS
2000
SOA
Web
Information
Global
Local
Business
Processes
Object Oriented Analysis and Design
10
2010
So…
 Today, the value is not defined as much by
functionality anymore but by connectivity
 However, we need a new programming model
 Why SOA today?
 We are reaching a new threshold of connectivity
and computing power
Mainframe
Object Oriented Analysis and Design
Client Server
Web
11
SOA
Shift To A Service-Oriented Architecture
From
To
 Coordination oriented
 Build to change
 Incrementally built and
deployed
 Function oriented
 Build to last
 Prolonged
development cycles




 Enterprise
solutions
 Loosely coupled
 Message oriented
 Abstraction
Application silos
Tightly coupled
Object oriented
Known
implementation
Source: Microsoft (Modified)
Object Oriented Analysis and Design
12
Why? The Value of SOA
 A Fundamental Assumption: Business
Processes Rule
 The Evolution of Application Architecture
 Enterprises Today
 Service-Oriented Enterprises: An Idealized
Picture
 Service-Oriented Enterprises: The Reality
 Why SOA Makes Sense: Technical Benefits
 Why SOA Makes Sense: Business Benefits
Object Oriented Analysis and Design
13
A Fundamental Assumption: Business Processes Rule
 Everything enterprise IT does is in the
service of some business process
 Service-oriented architecture (SOA) is
about making business processes:
 Better
 Easier to change
 Cheaper to create
Object Oriented Analysis and Design
14
Why SOA Makes Sense: Technical Benefits
 Building business processes is faster and
cheaper:
 Existing services can more easily be reused
 Apps can expose their services in a standard
way
 Applications can be exposed more easily to
diverse clients:
 Windows clients, ASP.NET/JSP, etc.
Object Oriented Analysis and Design
15
Why SOA Makes Sense: Business Benefits
 Business people understand services
 So IT people can talk with them more easily
 Business processes become explicit
 So they can more easily be understood and
improved
 Applications or business processes might
be more easily outsourced
 Because they’re well-defined and discrete
Object Oriented Analysis and Design
16
Outline
 The Service Oriented Society
 Service-Oriented Architecture (SOA)
 Web Services
Object Oriented Analysis and Design
17
Service Oriented Architecture
 Service-oriented architecture (SOA) is an
approach to loosely coupled, protocol
independent, standards-based distributed
computing where software resources
available on the network are considered as
Services
 SOA is believed to become the future
enterprise technology solution that
promises the agility and flexibility the
business users have been looking for by
leveraging the integration process through
composition of the services spanning
multiple enterprises
Object Oriented Analysis and Design
18
What is SOA ?
 A Service-Oriented
Architecture (SOA) is a way of
designing a software system and its surrounding
environment to provide services either to end-user
applications, to executable business processes or to other
services through published and discoverable service
interfaces.
 Benefits:

Loose coupling among interacting software agents

A mechanism for integrating software components on dissimilar platforms

Supports non-intrusive reuse of software components in ways not
specifically predicted at development time

Can enable easier insourced/outsourced development by breaking systems
down into smaller chunks
Object Oriented Analysis and Design
19
The Service Oriented Architecture
Service
Broker
Company A
Application A
Discover
Application B
ObjectA
--------------------------------------------------------------------------------------------------------------
Service
Interface

New? No

Rocket science? Not really

A change in thinking? Most definitely!

Can you run right out and buy one? Well…..
Object Oriented Analysis and Design
Company B
Publish
20
ObjectB
---------------------------------------------
The SOA Model
Object Oriented Analysis and Design
21
Not Quite Zen, But…
Applications or Services
Services
Requestor
Services
Services
Locator

It’s an architectural
concept, not a
shrink-wrapped product…

…with immense industry support
in the form of
standards and products, and
momentum is growing
Services
Broker
Services
Provider
Object Oriented Analysis and Design
22
Services & SOA
 Service is an entity that provides some
capability to its clients by exchanging
messages. Operations are defined in terms
of message exchanges
 A service oriented architecture (SOA) is one
in which all entities are services and any
operation visible to the architecture is the
result of message exchange
Object Oriented Analysis and Design
23
What is SOA ?
 Encapsulates enduring services of agency
mission
 Leverages highly cohesive, loosely coupled
components
 Provides network discovery endpoint
 Establishes a contract through an interface
 Decoupled from underlying implementation
Object Oriented Analysis and Design
24
Service-Oriented Architecture
 Provides services to consumers via
standards-based, published, and
discoverable interfaces
 Elevates abstraction level for code re-use
 Applications can bind to services that evolve and
improve over time
 No modifications are required to the applications that
consume them
 Provides a clear model to integrate software
systems
 Inside the enterprise, and
 Across organizational boundaries
 Provides the foundation for global-class,
connected applications
Object Oriented Analysis and Design
25
Paradigm Shift
 Paradigm shift away from the allencompassing software application to the
‘software-as-a-service’ model
 Represents a major change in the
underlying platform to one that supports
interoperability of software
 Focus is away from one program = one
application to one application made up of a
collection of software modules
Object Oriented Analysis and Design
26
Service Oriented Architecture
 Software is no longer seen as an
application to execute but as a
service to consume
 Analogy to the electric grid
Object Oriented Analysis and Design
27
Characteristics
 The software components in a SOA are services
based on standard protocol
 Services in SOA have minimum amount of
interdependencies
 Communication infrastructure used within an SOA
should be designed to be independent of the
underlying protocol layer
 Offers coarse-grained business services, as
opposed to fine-grained software-oriented
function calls
 Uses service granularity to provide effective
composition, encapsulation and management of
services
Object Oriented Analysis and Design
28
Service Granularity
 Service granularity refers to the scope of
functionality a service exposes. Finegrained services provide a small amount of
business-process usefulness, such as basic
data access. Coarse-grained services are
constructed from fine-grained services that
are intelligently structured to meet specific
business needs
Object Oriented Analysis and Design
29
Service Granularity
Coarser-
Looser coupling required
grained
Add order
Release order
Order process
manager
Granularity
Looser coupling
desired
Add order header
release order item
Order process
manager
Address
manager
Location.Validate
Looser coupling ?
Location
component
Finer-
Postcode
component
grained
Object Oriented Analysis and Design
30
Service Composition
Object Oriented Analysis and Design
31
Service Management
 There are three levels of service
management
 Management of the services and their
interfaces
 Management of the underlying system
 Management of the interaction between the
services and the underlying system
Object Oriented Analysis and Design
32
SOA Metamodel
SOA is a form of enterprise architecture
and can be represented using models.
SOA metamodel is a model that contains
the following three models.
Object Oriented Analysis and Design
33
Differences: SOA vs. Existing Model Driven Architecture (MDA)
 SOA is an alternative model to the more
traditionally tightly-coupled object-oriented
models like Common Object Request
Broker Architecture (CORBA) and
Distributed Component Object Model
(DCOM)
 In SOA individual services can be build with
object-oriented designs but the overall
design of SOA is service-oriented
Object Oriented Analysis and Design
34
Differences (cont.)
 SOA today differs in the usage of a more
generic standard-based interface language
XML (eXtensible Markup Language) used in
Web Services Definition Language (WSDL)
compared to the older Interface Definition
Language (IDL) found in CORBA
 SOA is based on the concept of using
services that can communicate through
standard protocols like SOAP allowing a
more loosely coupled architecture. In older
models objects were more tightly coupled
due to the usage of vendor specific
communication standards
Object Oriented Analysis and Design
35
Differences (cont.)
 IBM’s MQseries is yet another messageoriented middleware system but it lacks the
organized workflow definition required for
the services to interoperate
 SOA supports the composition of coarsegrained services from fine-grained services
to provide a business solution in an easily
deployable and usable manner
 For interoperability of services spanning
multiple enterprises, SOA should provide
service level agreements and operational
policies
Object Oriented Analysis and Design
36
Outline
 The Service Oriented Society
 Service-Oriented Architecture (SOA)
 Web Services
Object Oriented Analysis and Design
37
Web Services and SOA
 Web Services are an open standards-based
way of creating and offering SOAs
 Web Services are able to exchange
structured documents that contain different
amounts of information, as well as
information about that information, known
as metadata. In other words, Web
Services can be coarse grained. Such
coarse granularity is one of the most
important features of SOAs
Object Oriented Analysis and Design
38
What Is A Web Service ?
 New Buzz Word In IT Application Domain
 New Application Wave After Web & HTTP
 From Information Sharing To Application Sharing –
“Services” Making The Internet A Great Asset
 Web-Enable Features: Simplicity & Ubiquity
 Next Generation Of Distributed Computing Platform –
Based On Open Standards, Independent On Specific
Platforms & Protocols, More Interoperability Than
Middleware Platforms, Like RMI, Jini, CORBA, DCOM, …
 Linking Applications Without Changing Applications, WS
Wrapper
 Based On Existing Technology Infrastructure

XML, HTTP
Object Oriented Analysis and Design
39
Web Services Architecture
 Standards + Smart Messaging
 Three Key Aspects:
 Wire/Messaging Stack
XML -- Common Data Exchange Format
HTTP -- Run Everywhere On The Internet
SOAP – XML-Formatted Envelopes, RPC/HTTP
 Definition/Description Stack
XML Schema
WSDL – Web Service Description Language
Business Process Orchestration
 Discovery Stack
Registry UDDI – Universal Description, Discovery
and Integration
Object Oriented Analysis and Design
40
Web Services Definitions
 W3C
 A software system identified by a URI,
who’s public interfaces and bindings are
defined and described using XML.
 SUN
 …Software components that can be
spontaneously discovered, combined and
recombined to provide a solutionto a users
problem or request
Object Oriented Analysis and Design
41
Web Services Definitions
 IBM
 “Web services are a new breed of Web
application. They are self-contained, selfdescribing, modular applications that can be
published, located, and invoked across the
Web. Web services perform functions,
which can be anything from simple requests
to complicated business processes.
Once a Web service is deployed, other
applications (and other Web services) can
discover and invoke the deployed service”
Object Oriented Analysis and Design
42
Web Services Definition
 Self-Describing, Self-Contained, Modular
Applications That Can Be Mixed and
Matched With Other Web Services (IBM)
 A Service Available Via The Internet That
Complete Tasks, Solve Problems, Or
Conduct Transactions (HP)
 A Web Service Is A URL-Addressable
Software That Performs Functions and
Provides Answer, Supported By A
Lightweight Standard SOAP
Communication Protocol and UDDI
Directory
Object Oriented Analysis and Design
43
Web Services Definition
 5 Key Characteristics of Web Services
(SUN):
 Accessibility Via The Web
 Exposure Of A XML Interface
 Ability To Be Located Via A Registry
 Use Of XML Messages Over Standard Web
Protocols
 Support Of Loosely Coupled Connection
Between Systems
Object Oriented Analysis and Design
44
Web Services Definition
 Web Services Are A New Breed Of Web
Applications. They Are Self-Contained,
Self-Describing, Modular Applications That
Can Be Published, Located, and Invoked
Across The Web. Web Services Perform
Functions That Can Be Anything From
Simple Requests To Complicated Business
Process. Once A Web Service Is
Deployed, Other Applications (And Other
Web Services) Can Discover A Deployed
Service.
Object Oriented Analysis and Design
45
Benefits Of Web Services
 Ease Of Integration – Enables Applications,
Machines, Business Processes To Work Together
In A Revolutionary Way
 Accessibility – A Great Step Toward Simple
Access To Software Over The Internet, Any Time,
Any Place and Any Means/Devices
 Dynamic Business Interoperability & Integration
 Efficient & Agile Application Development –
Reusable Resources
 Service-Oriented Development – New Paradigm
 Software As A Service -- New Business Model
Web Services Providers (WSP)
 WS as An e-Services Mean For Business
Services
Object Oriented Analysis and Design
46
Web Services Application Infrastructure
 Three Kinds Roles May Be Distinguished:
 Service Providers
Wrap Business Functionality Or
Applications As A Web Service With SOAP,
WSDL, Register & Publish It Onto Broker
Using UDDI
 Service Brokers
UDDI Registry
 Service Requesters
Using UDDI Search & Discover The
Desired Service From Broker, Send SOAP
Requests As Specified In WSDL and Get
SOAP Response From Providers
Object Oriented Analysis and Design
47
From Hype To Reality
 WS Standards & Products Are Still In Their
Infancy
 Age-Old Problems Still Exist: Like Data Mapping,
Transactional Integrity, Trust & Security etc.
There Is Still Not An Acceptable Complete
Security Model For Web Services
 WS Needs Costs and Some Performance TradeOff XML Messages Are Rather Large
Additional Development Works
 Learning Curve For Adopting New Technologies
Take Time For WS To Proliferate & Accept,
Especially For Experiences In Loosely-Coupled,
Asynchronous Service Architecture How To
Test & Debug A WS System
 Licensing & Charging Models To Be Resolved
Object Oriented Analysis and Design
48
WS Applications Development Strategy
 Customer-Centric Development Strategy –
Closely Aligning Business Objectives
 What Services The Customers Need Most,
Different From Previous ?
 Design/Plan From Outside In, Implement From
Netting It Out
 Wrap Rather Than Replace
 Don’t Think Of An Entire Legacy System As A
Single Web Service, Select Core, Fine Grained
Functions As Web Services
 Not Take A Pure WS Development For A
Complete Application
 Learn WS Basic By Pilot Experiments
Object Oriented Analysis and Design
49
WS Technology Categories
 WS Development And Assembly
Environments
 WS Deployment Environments
 UDDI And Directory Services
 Service Infrastructure Services
 Adaptive Business Process Environments
Object Oriented Analysis and Design
50
Web Services Server
 Standards Compliance & Tools Support
 CapeClear CapeConnect
 Lucin SAL Server
 SQLData System SOAP Server
 The Mind Electric Glue Platform
 Bowstreet Business Web Factory
 TechMetrix Web Services Directory
Object Oriented Analysis and Design
51
The Web Services Stack
Service
Publication/Discovery
UDDI
Service
Description
WSDL
XML Messaging
SOAP
Transport Network
Object Oriented Analysis and Design
HTTP, SMTP, MQSeries, etc.
52
WS Standards Stack






Foundation Standards:
XML
SOAP
UDDI
WSDL
Higher Level Standards:
WSFL, XLANG, WSCL, XPDL, WSCI, ebXML
BPSS, BPML, DAML, DAML-S
 Accessory Standards:
WSCM, WSIA, WSRP, WSIL, WSUI, WSXL,
XAML, XKMS, BTP, XACML, SAML, XML
Encryption, XML Digital Signature, HTTP-R, WSSecurity, WS-Routing
Object Oriented Analysis and Design
53
SOAP
 Simple Object Access Protocol Developed By
W3C
 XML Formatted Messaging – Common Exchange
 RPC Via HTTP Transmitted Over Any Transport
Layer
 Text-Based SOAP Format Reach Any Devices
 SOAP Elements:
 HTTP Header

SOAP Envelope:

SOAP Header

SOAP Body
Object Oriented Analysis and Design
54
UDDI
 Universal Description, Discovery, And
Integration
 To Help Publish, Locate and Dynamically
Discover Web Services
 Registry Support
 Too Ambitious Some Enterprise Users
Only Concern Private & Custom Directory
(LDAP?)
 Full-Featured Discovery Functions Remain
To Be Developed: e.g. Search, Bidding, and
Service Negotiation etc.
Object Oriented Analysis and Design
55
WSDL
 Web Services Description Language
 Described By Service Providers, As An
Interface For Application Interaction
 Define:
 What Service Can Do
 Where It Resides
 How To Invoke It
 Types, Message, Operations, Port Type,
Binding, Port, Services
Object Oriented Analysis and Design
56
Enterprise Application Integration (EAI)
 A Central Challenge In Enterprise IT Applications
– Overcomes Islands of Information &
Applications
 Old EAI Solutions – Point-To-Point, Hard-Coded,
Proprietary, Expensive Solutions, Based On A
Set of Specific Methods or Technologies, Rather
Than Standards:
User Interface Integration
Data Integration
Business Process Integration
Methods Or Function Integration
 Enterprise Nervous System (ENS)
Network+App. Infrastructure + Standards
Supporting EAI
Object Oriented Analysis and Design
57
Web Services –Next Logical Extension Of EAI
 Low Barrier To Entry
 OS & Language Independent, Not Vendor-Lock
 Based On Open Standards, Standardizing EAI
“Middleware For Middleware”
 Loosely Coupled, Not Rely On Specific APIs
 Easy & Inexpensive Implementation
 Wide Industry Support
 Support Reuse
 Dynamic
Integrate On The Fly
 Smart Messaging Technologies XML/HTTP
Facilitate Data Exchange, Transmission, & Transformation
(XSLT– XML Stylesheet Language Transformation)
 An Affordable, Flexible, Attainable EAI Solution
 An Emerging EAI Strategy For Everyone
Object Oriented Analysis and Design
58
WS—EAI Killer/Replacement ?
 WS Is Not EAI Itself, Just An Enable Technology
For EAI
 EAI Does More Than Connections
 WS Needs Much Works: More Mature,
Transactional Integrity, Process Support
 EAI Vendors Begin To Embrace WS
 WS vs EAI–Partners > Rivals
80:20 Rule
 WS-EAI Application Strategy:
Startling From Internal EAI -- Primary App.
Expand To B2Bi – Immense Impacts By 2004
Bake-In Strategy Wrap App. As Services
 Invest WS, Double In Standardized – For Future
Object Oriented Analysis and Design
59
WS Integration Solutions
 IONA’s Orbix End 2 Anywhere (E2A)
 Cape Clear’s
CapeStudio -- Integrated WS Environment
CapeConnect – WS-Based Platform For
EAI
 Help Enterprise Lowering Total Cost Of
Integration
Object Oriented Analysis and Design
60
Web Services And Business Process Management
 WS & BPM: Two Rapidly Emerging Technologies
For Business Applications
 They Are Highly Complementary
 BPM Needs a Simple, Open, Lightweight, Low
Cost, and Ubiquitous Integration Infrastructure,
instead of Current Proprietary, Expensive and
Complex Integration/ Middleware Technologies
 WS Needs a Flow Choreography Standard To
Give Full Play To Its Application Value As a
Supplement To Its Bottom Layer Of WS Standard
Stack
 WS vs BPM: Form vs Content
Object Oriented Analysis and Design
61
Business Process Management & Automation
 BPM/BPA, Driven By Business, Is The
Kernel Content of e-Business
 Streamlining Business Operations, Making
Information Available Where & When
Needed To Improve Business Efficiency &
Competitiveness
 Embodying Modern Management Idea
Aiming At Effective Team Coordination On
a Flat Organizational Structure
 Web-Based e-Process Implementation
Object Oriented Analysis and Design
62
BPM & Web Services
 WS’s Service-Oriented Architecture (SOA)
& Integration (SOI) Provide A Lightweight
Integration Framework For BPM
 Two Kinds Of Scenarios In BPM-WS
Connection:
 A Underlying Business Process Is
Supported As A Web Service
 An Activity In A Process Is Implemented Via
Web Services. A Business Process Can
Be A Set Of Concerted Web Services.
 Dynamic BP Selecting Best Services
Object Oriented Analysis and Design
63
Main Features Of BP Standards For Web Services
 Collaboration-Based Process Modeling
 Workflow Management
 Transaction Management
 Security & Reliability
 Exception Handling
 Service Interface
 Audit Trail
 Trading Partner Agreement (TPA)
 Execution
Object Oriented Analysis and Design
64
Candidate BP Standards
 IBM WSFL (Web Services Flow Language) FDML
(Flow Definition Markup Language)
 HP WSCL (Web Services Conversation Language)
 Microsoft XLANG
 BEA-MS-IBM BPEL4WS 1.0 (Business Process
Execution Language For Web Services)
 WfMC XPDL (XML Process Definition Language)
 SUN-BEA-SAP-Intalio WSCI 1.0 (Web Service
Choreography Interface)
 OASIS-UN/CEFACT ebXML BPSS (Business
Process Specification Schema)
 BPMI BPML 1.0 (Business Process Modeling
Language)
Object Oriented Analysis and Design
65
BPM Via Web Services
 Process-Supported Services:
Service: WSDL Process: WSFL/WSCL
 Activity-Invoked Services:
Invocation: SOAP+UDDI
Service: WSDL Interface: WSCI
 ALL Based On XML Messaging
 BPM & WS Integration Will Facilitate BP
Integration (BPI) Over A Common Internet
Protocol, and Enable Enterprises To Extend
Their Internal Processes As Services
Object Oriented Analysis and Design
66
7 Principles Of Web Services Business Process Management
 Plan For A Virtual Enterprise – Anticipate More
Complete Integration
 Be Aware Of The Hidden Integration Foil:
Heterogeneity
 Describe Business Process Succinctly
 Leverage Standards
 Anticipate Change With Adaptive Infrastructure
 Think Integration Platform, not Integration
Applications
 Focus On Granularity – Having Large Grain
Interfaces: Think Faxes, Not Phone Calls
Object Oriented Analysis and Design
67
We Are Not There Yet
 Even A Good Prospect, Many Details Must
Be Worked Out Beforehand
 A Common Standard On BP For WS
 Solve Some Critical Inhibitors For Practical
Applications, e.g.
Transaction on WS: BPEL4WS
BTP (Business Transaction Protocol)
XAML (Transaction Authority Markup
Language) Trading Partner Agreement
(TPA):
ebXML CPP (Collaboration
Protocol Profile)

CPA (Collaboration Protocol
Agreement)
Object Oriented Analysis and Design
68
Need For Web Services Process Integration
 Current WS Is Weak In Process Integration For
Inter-Enterprises (e.g.B2B) Due To Its
Shortcomings In Security, Transaction Handling,
Process Coordination etc. “Inside The Firewall”
 Recent Progress: 2002
 WSEL4WS WS-Coordination, WS-Transaction,
Compensators, BP Control & Integration
A Language Combines WSFL & XLANG
 WSCI Message Exchange Within A Process &
Among Web Services
 Vendors’ Push vs Standards Bodies
Object Oriented Analysis and Design
69
What is it ?… Where Do Web Services Play?
 Web Services are a great way to realize SOA,
within limits
 BUT, despite what the press might have you
believe…
 Web Services are only ONE way to accomplish the goal
 If not implemented correctly – and in the right context –
Web Services can create new problems
 Some challenges that Web Services are still struggling
with have already been solved in other technologies
 SOA can be implemented using more than just
Web Services… including some technologies you
probably already have
Object Oriented Analysis and Design
70
New Architectures that Support SOA
 Built upon interrelated, distributed peer-level
software modules
 Sun’s Java 2Enterprise Edition (J2EE)
• Open Net Environment (Sun ONE)
 IBM’s Web Sphere built on J2EE
 Microsoft’s .NET
Object Oriented Analysis and Design
71
.NET and the SOA Development Model
 Design and Development
 IDE (Visual Studio.NET)
 Deployment
 Application and assembly packaging scheme
• Assemblies
 ASP.NET automatically places files in Web server
folders
 Web services – automatically generates supporting
resources (WSDL, SOAP, UDDI publication)
 Execution
 Supported by the .NET Framework
• CLR and MSIL
• IIS support for Web services
Object Oriented Analysis and Design
72
The Web Services Landscape
 The J2EE world
 BEA – WebLogic Server
• http://www.bea.com/products/weblogic/server
 Iona – XMLBus
• http://www.xmlbus.com/
 Macromedia – JRun
• http://www.macromedia.com/software/jrun
 Sun – Sun ONE Application Server
• http://wwws.sun.com/software/products/appsrvr/home_ap
psrvr.html
 IBM – WebSphere
• http://www.ibm.com/websphere
Object Oriented Analysis and Design
73
The Web Services Landscape
 Other languages and environments
 SOAP::Lite
• Perl interface to the SOAP. Both client and server
• http://www.soaplite.com/
 SOAPPy
• Python interface to the SOAP. Both client and server
• http://sourceforge.net/projects/pywebsvcs
 eSOAP
• A C++ library that provides a SOAP engine for
embeddeding systems
• Available on
 RTEMS, eCos, QNX
 Microsoft Windows - NT/2000/98/ME
 Linux
• http://www.embedding.net/eSOAP
Object Oriented Analysis and Design
74
The Apache eXtensible Interaction System (AXIS)
 A very flexible SOAP engine from Apache
 Open and pluggable architecture
 Design to cope with various deployment
configuration
• From very simplistic to highly sophisticated configurations
 The Java Web Services facility (JWS)
 Drop-in development
• Simplest and quickest way to deploy a Java-base Web
Service
• Rename source file from xxx.java to xxx.jws
• Drop xxx.jws into JWS directory
Object Oriented Analysis and Design
75
IBM WebSphere – SOA Connection
 IBM formally announced the major release of
WebSphere v6.0 in 2004, also called Vela, as an
integral building block for SOA
 A completely rewritten JMS (Java Message Service)
engine to be compatible with J2SE 1.4 and improve the
performance of the embedded messaging
 Made it easier in Version 6 to connect applications to an
ESB (Enterprise Service Bus), a key piece of its overall
SOA strategy
 Contains a wizards-based drag-and-drop environment
designed to automate the more laborious steps involved
in development and deployment
 Improving its support for Web services standards, such
as J2EE 1.4, SOAP, WSDL, WS-Security, and WSTransactions, and WS-I Basic Profile 1.1
Object Oriented Analysis and Design
76
Service Oriented Architecture (SOA)
IBM WebSphere
Web
Container
presentation layer
process layer
Business
Logic
Container
service layer
data logic layer
integration layer
Data Container
back office value chain
Supports multiple,
simultaneous interfaces
Maps systems to the
processes of your
business
Delivers reusable
business transactions
Applies business logic to
your corporate data
Integrates with the rest
of your enterprise
Leverages the back
office enterprise systems
“By 2006, the service-oriented architecture (SOA) — Web and nonWeb — will be the mainstream practice for enterprise software
engineering (0.7 probability).”
Source: Gartner
Object Oriented Analysis and Design
77
Versata’s Role
Versata can have a dramatic impact
On your organization’s ability to deliver
Large, distributed WebSphere applications
Versata needs to be an essential part of your
Java application infrastructure
If you want to maximize your return of using
The Java Service Oriented Architecture
For application development, execution
and ongoing management
Object Oriented Analysis and Design
78
Productivity Issue of Implementing a SOA
Java IDEs, HTML & Java Editors, &
JSP Wizards: Dreamweaver,
JBuilder, VA Java, Vignette, Visual
Cafe…
Workflow Servers: FileNet, InConcert,
Home-grown approaches
presentation layer
process layer
50% Automated / 50% Manual
service layer
Java IDEs,Wizards,& Frameworks:
JBuilder, VA Java, Visual Cafe…
20% Automated / 80% Manual
data logic layer
THE BUSINESS LOGIC GAP:
There’s still so much to
manage by hand, and this
is the hardest part!
20% Automated / 80% Manual
Integration & EAI Vendors:
WebMethods, Mercator, Vitria,
Tibco, IBM MQSeries, WRQ…
integration layer
Enterprise Application: SAP,
PeopleSoft, Siebel, home-grown
solutions…
back office value chain
Object Oriented Analysis and Design
79
The Need for Versata
There is need to complement the capabilities
of your Java IDE and AppServer with a software
product that enables you to effectively address
business logic development,
execution, and management of the layers
in the Java Service Oriented Architecture
Object Oriented Analysis and Design
80
Versata Fills the Business Logic Gap
HTML, Java, & JSP Wizards:
Dreamweaver, JBuilder, VA Java,
Vignette, Visual Cafe…
presentation layer
process layer
Process Design, Management, &
Execution:
Versata Logic Server
97% Automated / 3% Manual
service layer
Automation of Business
Transactions:
Versata Logic Server
97% Automated / 3% Manual
Enforcement of Business Logic
Across Data Sources:
Versata Logic Server
data logic layer
97% Automated / 3% Manual
Integration & EAI Vendors:
WebMethods, Mercator, Vitria,
Tibco, IBM…
integration layer
Enterprise Application: SAP,
PeopleSoft, Siebel, home-grown
solutions…
back office value chain
Object Oriented Analysis and Design
81
Versata Changes the Way Business Logic is
Created, Executed, Reused & Changed
Requirement
Specify WHAT,
Not HOW 
Transfer funds from checking account to savings
Declare
Business Logic
Process:
Customer Balance = Sum of Unpaid Orders
Reject When Account Balance > Credit Limit
Deploy Logic –
Rules & Models
Request
Transfer
Execute
Business Logic
Cross-Object
Synchronization
Logic Sequencing
Transfer
Funds
Customer
Transaction
Account
Logic Optimization
Logic Reuse
Logic Chaining
Versata achieves its productivity and manageability
through declarative business logic
Object Oriented Analysis and Design
82
Declarative Approaches Aren’t New
First Generation
Second Generation
SQL
Business Logic
Relational
Database
Servers
Versata
Logic
Server
SQL Execution –
Create, Read,
Update, Delete
Business Logic Execution –
Constrain, Validate,
Compute, Approve…
Database Servers
Business Logic Servers
Object Oriented Analysis and Design
83
The Power of Declarative Business Logic
Analysis produces requirement - “Customer Balance is the sum of unpaid Orders”
AUTOMATION
TRADITIONAL
Design
Just enter 1 Rule:
Start breaking down into:
Transaction Mapping for REUSE
• Increase Balance when inserting Order
• Decrease Balance when deleting Order
• Adjust Balance if Order is Paid
• Adjust Balance if Item Amount changes
Architecture (Partitioning - thin client)
Object Design - Multi-object dependencies
Transaction Mapping
• Automated, Sequenced
Architecture
• Automated Partitioning
Object Design
• Automated multi-object dependencies
Construction
Automated code creation, compile, deploy
Write 100 - 250 lines of 3GL or 4GL code
Testing
Test Transaction
Test 100 - 250 lines of 3GL or 4GL code
Maintenance e.g. Add “Include Freight on Order Calculation”
Change the rule
Re-test transaction
Re-design
Re-code
Re-test
Object Oriented Analysis and Design
84
The Power of Declarative Business Logic
Power
Coverage
97% Average
Automation
Automation Analyzer
120
Percantage of Automation
One Rule
replaces 1 page
of Java
100
80
60
40
20
Live Stats from
our Customers 
0
Each Line Represents One of the Customers Surveyed
Object Oriented Analysis and Design
85
The Versata Logic Server
Object Oriented Analysis and Design
86