Jean-Jacques Dubray, PH.D.: Architect
Jean-Jacques Dubray, PH.D.: Architect
Lecture, 03/26/2004 The Pennsylvania State University The Smeal College of Business Administration
attachmate 2004
Copyright Notice
According to US and Worldwide Copyright laws, it
is forbidden to use all or part of this presentation without a written consent of Attachmate In particular, you are not allowed To remove attachmate logos or the authors name Change the title of the presentation Publish part or all of the presentation under your name or the name of another organization
attachmate 2004
Acknowledgments
This presentation was reviewed and
commented by
Jeff Schneider, CEO of OpenStorm Eric Newcomer, CTO of Iona Paul Brown, CEO of Fivesight Ben Gaucherin, CTO of Sapient
attachmate 2004
Outline
Service Oriented Society The connected world From Component Orientation to Service
Conclusion
attachmate 2004
forces of
It is now almost exclusively service oriented Transportation Telecommunication Retail Healthcare Financial services
attachmate 2004
Well defined, easy-to-use, somewhat standardized interface Self-contained with no visible dependencies to other services (almost) Always available but idle until requests come Provision-able Easily accessible and usable readily, no integration required Coarse grain Independent of consumer context,
New services can be offered by combining existing services Quantifiable quality of service
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
attachmate 2004
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
Real world services interact with thousands of consumers Service providers cannot afford to break the context of their consumers
attachmate 2004
Find the best offer matching an intent Advertise an offer in different ways such that it matches different intent
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?
attachmate 2004
of services since they dont 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
attachmate 2004
So
Service orientation allows us
Complete freedom to create contexts in which services are uses and combined Express intent rather than specific requests
inspiration to design modern enterprise systems and architectures or understand what kind of services these systems will consume or provide
attachmate 2004
Business Integration
J2EE .NET
2010
attachmate 2004
single device and bounded by a single organization Continuum Object Document Messages and Services As opposed distributed objects Exchanges becomes peer-to-peer Asynchronous communications Concurrency becomes the norm while our languages and infrastructures did not plan for it
attachmate 2004
As opposed to Integration Language(s) Semantic (not syntactic) Declarative and Model driven (not procedural)
attachmate 2004
So
Today, the value is not defined as much by
However, we need a new programming model We are reaching a new threshold of connectivity and computing power
Mainframe
Client Server
Web
SOA
attachmate 2004
Controller
App Server
CCI CCI
Model
DB
ERP CRM
attachmate 2004
connectivity
J2EE, for instance was designed to build 24x7 scalable web-based applications Job well done
application to execute business logic in many other systems, often dynamically bound to me
JCA (J2EE Connector Architecture) is not enough EAI infrastructures are not enough
attachmate 2004
SOAP
CCI
SOAP
CCI
SOAP
CCI
1 register
DB
ERP
CRM
Service
Service
Service
attachmate 2004
granularity
granularity
attachmate 2004
Web Services dont require a CCI (Client side Communication Interface) Very few gears needed to consume a service Web Services can accept message content they do not fully understand or support XML, WSDL Web services are very late bound Location is independent of the invocation mechanism Directories
attachmate 2004
Request / response is an inefficient and very limiting mode of interaction As components coarsen, it is difficult to differentiate a client from a server
attachmate 2004
Domain Controller
A domain is a collection of web services which share some commonalities like a secure domain A container is a domain with one web service Web Services do not always need a container
attachmate 2004
A Service Fabric can be more than a Bus with a series of Containers / Adapters
Consumer Discover and/or Bind Policies
Tx XML
Domain Controller
Reliable Messaging
XML
XML
Process
Registry
Registry
CCI
CCI
CCI
register
DB
ERP
CRM
NEP
NEP
NEP
attachmate 2004
NEP
NEP
NEP
NEP
From
Function oriented Build to last Prolonged development cycles
To
Coordination oriented Build to change Incrementally built and deployed
So Migrating to SOA
Would entail
attachmate 2004
controller
The coordination layer Information Entities The relationship between BPM and SOA
attachmate 2004
concepts?
attachmate 2004
Coordination Specification
OASIS/WS-CAF
attachmate 2004
What is Context?
S4 S1 CTX Service S2 S3
Peer to peer interactions mandate a context service (e.g. in this case S3 may need to know the state of interaction between S1 and S4 to provide its service)
attachmate 2004
ALS Service
attachmate 2004
What is Coordination?
S4 S1 CTX Service S2 S3
A coordinator is an active component of the architecture It can support a service or provide services itself Multiple purposes: - Transaction - Orchestration - Choreography
ALS Service
D E F
Hub and Spoke relationship Context and Activity are handled by the hub Coordination is handled by the hub exclusively
D E F
Multi party peer-to-peer relationship Context and Activity are explicit Context, ALS and Coordination are handled by the fabric
attachmate 2004
coordination
composed
A transaction may include an orchestration definition as part of an activity An orchestration definition may contain several transactions
attachmate 2004
complex problem: with distributed applications comes the need for distributed data sharing
Specific to SOA
We cannot be guaranteed that the information we have is the information held by the system of record
Containment
We cannot be guaranteed that a service consumer is going to apply the same privacy rules to the information provided to it
attachmate 2004
Dataweb
XRIs
URIs
HTML
HTTP
HTML
HTML
HTML
HTML
XML/ XDI
XML/ XDI
XML/ XDI
XML/ XDI
Website B
Dataweb site A
attachmate 2004
Dataweb site B
we are simply exchanging messages between services is IMHO a mistake SOA will not exist without its concept of information entity
Entity beans were clearly not a good solution .NET offers the concept of DataSet which I like better
attachmate 2004
and possibly change the context in which enterprise components are used
But how the two meet?
attachmate 2004
Elements of BPM
Initiates Activity changes Event
must be part of the model Turing complete is the excuse for remaining pure (e.g. event oriented only)
attachmate 2004
BPEL
BPEL is an XML language for defining the composition of (web)
Business Process Language BPEL would require that every process Either has a center of execution A process is composed of a large set of orchestration definitions interacting with each other
a single definition, including all possible exception paths Not sure this is the right assumption
attachmate 2004
Sync ItemMaster Sync ProductionOrder Confirm InventoryIssue Sync Routing Sync BillOfMaterial Sync Prodorder Sync Routing Sync BOM Sync Item Confirm InventoryIssue Update WIPConfirm ERP Update WIPConfirm
Sync DispatchList
Approve the order Update the order entry system Update the billing system
attachmate 2004
which involve:
Long running (from a few hours to a few months), And event driven business logic
Processes by themselves
Different orchestration (i.e. different services) can run within the same business process And vice versa
attachmate 2004
A Business Process can be Viewed as a Multi-Party Choreography (not orchestration) of Peer Services
Start
Buyer
RFQ
Supplier
Mapping Routing
SFA
RFQ Order
Quote
Sales person
RFQ Events
Account User Activity
ERP
Accounts
Order
Orders
Invoice
CreditCheck.com
Services in a SOA are orchestrated (BPEL) ! This is one of the best model to re-use existing business logic
Quote Service Orchestration Definition RFQ
<<receive>> RFQ
<<invoke>> GetQuote
Entity
No
RFQ Quote
Nack
sendNack
<<invoke>> calculateSalesTax
Sales Tax
Quote Order
updateDB
No
Ok?
Message flow
attachmate 2004
Buyer
PO AckPO
Supplier
(Self)
PO PO
Order Entry
Manager
Billing
BTA1
Wit1
PO AckPO
Sales order
OpA1
OpA2
[BusinessFailure]
[Success]
Failure
attachmate 2004
Success
So
Orchestration is an emerging [concept] that would give programmers a way to formally describe processes underlying business applications so that they can be exposed and linked to processes in other applications Choreography Is a concept that specifies how these processes are linked together across the enterprise Choreography can be active when mapping and routing are necessary They are both a form of Coordination
attachmate 2004
theoretical support
A big piece still missing: state (IMHO) Shift from Orchestration to Business Process Definition
Domain Specific Languages (DSL) appear that are a lot closer to the way the users (not the programmers) think about a Business Process
attachmate 2004
application architecture
Model-View-Controller
Services Coordination ?
attachmate 2004
Controller
Query Model Changed UI Controller Task Engine Service Request
WS
SelectTask
WS WS
Model
WS
attachmate 2004
WS
ERP
WS
PLM
WS
CRM
WS
attachmate 2004
WS
It is likely that BPM will be the main paradigm for the Controller in a SOA
View Business Process Execution
WS
Integration Server
(Decoupling for B2B and EAI)
WS
WS
Orchestration Engine
Orchestration Engine
ERP
PLM
WS
CRM
WS
Orchestration Engine
attachmate 2004
WS
WS
Conclusion
Standards work is both a curse and a blessing They open the road but blur the space and bring confusion because of the lack of coordination
attachmate 2004
We can expect
A new gold rush to own and publish application
services
Mainframe and Client Server applications (ERP, CRM, SCM) will be impacted dramatically
Far richer and smarter software Could also become a nightmare if we look at all the security breaches that occur today However, some key enabling technologies are still
missing