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