Middleware Should Think Globally and Act Locally Mark Hapner - - PowerPoint PPT Presentation

middleware should think globally and act locally
SMART_READER_LITE
LIVE PREVIEW

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-1
SLIDE 1

Middleware Should Think Globally and Act Locally

Mark Hapner Distinguished Engineer Sun Microsystems, Inc. 11/27/2007

slide-2
SLIDE 2

Middleware has been focused on data consistency ‘integrations’

2

slide-3
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
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
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
SLIDE 6

Practically everything we will do in computing from now on requires collaboration via shared services.

6

slide-7
SLIDE 7

To survive, orgs must

  • ffer their value

and leverage the value of others via services.

7

slide-8
SLIDE 8

Internal and external collaboration is interleaved.

8

slide-9
SLIDE 9

Different infrastructures for internal vs external collaboration are no longer practical.

9

slide-10
SLIDE 10

Service ‘architectures’ over-focus on ‘interfaces’ and ignore collaboration.

10

slide-11
SLIDE 11

Creating and maintaining a community of use

  • a collaboration -

is the goal of a service.

11

slide-12
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
SLIDE 13

13

Functional Collaboration Infrastructure Collaboration Protocol Collaboration Role X Role Y

A ‘third party’ View of a Collaboration

slide-14
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
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
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
SLIDE 17

Collaboration design should be formal and loosely coupled with service design.

17

slide-18
SLIDE 18

Collaborations are complex shared relationships. They have an existence that transcends the local concerns of its parties.

18

slide-19
SLIDE 19

What local architecture best supports the implementation lifecycle and sharing that collaboration providers and consumers require?

19

slide-20
SLIDE 20

What local architecture best separates the responsibilities of business logic developers from those of service domain administration?

20

slide-21
SLIDE 21

Some Competing Architectures

21

  • Direct Connect
  • Service Fabric
  • Service Bus
  • Service Gateway
slide-22
SLIDE 22

Collaboration

Direct Connect

22

Domain Container Code Domain Container Code

slide-23
SLIDE 23

Containers are focused on ‘resourcing’ business logic rather than administering collaboration.

23

slide-24
SLIDE 24

Domain Fabric

Service Fabric

24

Code Code Code Code Code

slide-25
SLIDE 25

Fabrics simplify local composition.

25

slide-26
SLIDE 26

Domain

26

Service Bus

Bus Data Xform Container Code BPM Container Code Rules Container Code

slide-27
SLIDE 27

Service Bus’s simplify composition within a service.

27

slide-28
SLIDE 28

Collaboration Domain Gateway Container

28

Service Gateway

Policy Code Domain Gateway Container Policy Code

slide-29
SLIDE 29

In effect, the Gateway is the implementation of the service domain layer.

29

slide-30
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
SLIDE 31

A Gateway provides a Domain with a homogeneous layer of declarative policy to administer a heterogenous local service infrastructure.

31

slide-32
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
SLIDE 33

Service consumption benefits from gateway policy as much as does service provision.

33

slide-34
SLIDE 34

A Gateway administers inter-domain and intra-domain policy with equal ease.

34

slide-35
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
SLIDE 36

Another form of domain policy infrastructure distributes some policy enforcement via container agents. Amberpoint is one such product.

36

slide-37
SLIDE 37

Gateways are also being layered.

37

slide-38
SLIDE 38

Without some form of domain policy infrastructure it’s difficult to create and maintain service collaborations.

38

slide-39
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
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
SLIDE 41

Collaboration Domain Gateway Container

41

Inter-Domain Collaboration

Policy Code Domain Gateway Container Policy Code

slide-42
SLIDE 42

Domain Collaboration Gateway Container

42

Intra-Domain Collaboration

Policy Code Container Policy Code