SLIDE 1
Middleware Should Think Globally and Act Locally Mark Hapner - - PowerPoint PPT Presentation
Middleware Should Think Globally and Act Locally Mark Hapner - - PowerPoint PPT Presentation
Middleware Should Think Globally and Act Locally Mark Hapner Distinguished Engineer Sun Microsystems, Inc. 11/27/2007 Middleware has been focused on data consistency integrations 2 Data Consistency ETL - extract/transform/load
SLIDE 2
SLIDE 3
Data Consistency
3
- ETL - extract/transform/load
> Stovepipe Apps > Batch Infrastructure
- Data Pipes
> Stovepipe Apps > MOM Infrastructure
- Middleware is local ‘data bus’
> Clear line between ‘integration’ and ‘application’ > Emphasis is on breadth of app ‘adaptors’ > Alternative to shared data and shared function
SLIDE 4
Entering the ‘Service’ age
- Data and Function is shared via Services
> Global computing delivers sharing
> Unrestricted by locality > Unrestricted by proprietary architectures > Both synchronous and asynchronous > Data consistency pipes via services
> Open standards
> Internet > HTTP, Soap, AS2
> Different partitioning of responsibilities
> Intranet/Internet > Application ? > Middleware ?
4
SLIDE 5
- Reuse
- Agility
- Discovery
- Interface
- Interop
5
We’ve All Heard the Service Mantra These are nice ... But they aren’t enough ...
SLIDE 6
Practically everything we will do in computing from now on requires collaboration via shared services.
6
SLIDE 7
To survive, orgs must
- ffer their value
and leverage the value of others via services.
7
SLIDE 8
Internal and external collaboration is interleaved.
8
SLIDE 9
Different infrastructures for internal vs external collaboration are no longer practical.
9
SLIDE 10
Service ‘architectures’ over-focus on ‘interfaces’ and ignore collaboration.
10
SLIDE 11
Creating and maintaining a community of use
- a collaboration -
is the goal of a service.
11
SLIDE 12
The power of a collaboration is the capacity of its ‘global’ roles to hide the ‘local’ concerns of its parties.
12
SLIDE 13
13
Functional Collaboration Infrastructure Collaboration Protocol Collaboration Role X Role Y
A ‘third party’ View of a Collaboration
SLIDE 14
Functional Collaboration
14
business entities requests correlation values conversations
- rchestration rules
Role X Role Y UBL AIAG ECXM OTA ACORD XML Schema XML Infoset RelaxNG Schematron WSDL
SLIDE 15
Infrastructure Collaboration
15
identity provider authorization provider transaction monitor portal queue Role X Role Y SAML SPML WSRP XACML Liberty X509 WS-RX WS-Security
SLIDE 16
Protocol Collaboration
16
request-response message format message exchange pattern attachments Role X Role Y HTTP AS2 Soap MIME SMIME SMTP TLS
SLIDE 17
Collaboration design should be formal and loosely coupled with service design.
17
SLIDE 18
Collaborations are complex shared relationships. They have an existence that transcends the local concerns of its parties.
18
SLIDE 19
What local architecture best supports the implementation lifecycle and sharing that collaboration providers and consumers require?
19
SLIDE 20
What local architecture best separates the responsibilities of business logic developers from those of service domain administration?
20
SLIDE 21
Some Competing Architectures
21
- Direct Connect
- Service Fabric
- Service Bus
- Service Gateway
SLIDE 22
Collaboration
Direct Connect
22
Domain Container Code Domain Container Code
SLIDE 23
Containers are focused on ‘resourcing’ business logic rather than administering collaboration.
23
SLIDE 24
Domain Fabric
Service Fabric
24
Code Code Code Code Code
SLIDE 25
Fabrics simplify local composition.
25
SLIDE 26
Domain
26
Service Bus
Bus Data Xform Container Code BPM Container Code Rules Container Code
SLIDE 27
Service Bus’s simplify composition within a service.
27
SLIDE 28
Collaboration Domain Gateway Container
28
Service Gateway
Policy Code Domain Gateway Container Policy Code
SLIDE 29
In effect, the Gateway is the implementation of the service domain layer.
29
SLIDE 30
Gateway Role
- Protect the domain
> From collaboration risks > From code risks
- Represent the domain
> To the collaboration > To the code
- Enforce domain policy
> On the collaboration > On the code
- Monitor and audit domain activity
30
SLIDE 31
A Gateway provides a Domain with a homogeneous layer of declarative policy to administer a heterogenous local service infrastructure.
31
SLIDE 32
Gateways ‘virtualize’ Services
- They map between collaboration policy and local policy
> Security > Identity > Access control
- They validate schemas and enforce depth and
complexity restrictions
- They provide content based routing for service levels,
rolling upgrade, etc.
- They virtualize service metadata
32
SLIDE 33
Service consumption benefits from gateway policy as much as does service provision.
33
SLIDE 34
A Gateway administers inter-domain and intra-domain policy with equal ease.
34
SLIDE 35
35
Service Gateways such as Layer 7, Reactivity (Cisco), DataPower (IBM), SOA Software and Forum Systems meet domain throughput and availability requirements.
SLIDE 36
Another form of domain policy infrastructure distributes some policy enforcement via container agents. Amberpoint is one such product.
36
SLIDE 37
Gateways are also being layered.
37
SLIDE 38
Without some form of domain policy infrastructure it’s difficult to create and maintain service collaborations.
38
SLIDE 39
Container Role Expands
- Collaboration also requires more complex business
logic
- Containers are evolving to support multiple forms of
business logic
- The combination of data transform, BPM, rules, EJBs,
scripting, etc. that earlier required a Service Bus can
- ften be done within a single ‘composite’ container
39
SLIDE 40
Conclusions
- The objective of Middleware is evolving from
‘integration’ to ‘collaboration’
- Local and global collaboration are becoming
interleaved - a single architecture for both is required
- Middleware is dividing into two loosely coupled layers
> Composite application container tooling/infrastructure > Domain policy enforcement tools/infrastructure
- Their combination provides the local architecture for
global collaboration
40
SLIDE 41
Collaboration Domain Gateway Container
41
Inter-Domain Collaboration
Policy Code Domain Gateway Container Policy Code
SLIDE 42