SOA Patterns

May 23, 2007 - Service Instance. Service Monitor ... collection of the fundamental decisions about a software product/solution ... Latency is zero. Bandwidth is.
2MB Sizes 7 Downloads 224 Views
5/23/2007

SOA Patterns Arnon Rotem-Gal-Oz Biometrics Line Development Manager Rafael LTD. Haifa, Israel [email protected]

Everybody wants SOA because it is oh so wonderful…

© Dolores Nielsen

Everybody forgets that every rose has it thorns

1

5/23/2007

Well, we can always buy SOA, right?

Solving SOA pains with patterns Virtual Endpoint

Service Instance Workflodize Edge Component Gridable Service Inversion of Communications

Blogjecting Watchdog Orchestrated Choreography Transactable Service

Request/Reply

Composite Frontend Identity Provider

Parallel Pipelines

Service Firewall Decoupled Invocation

Saga Aggregated Reporting Client/Server/Service

Service Monitor

How do you present a lot of patterns without getting here?!

2

5/23/2007

Metropolis Chief of Police: “We need to completely revamp all our software systems”

3

5/23/2007

Software architecture is…

What the software architect does

• collection of the fundamental decisions about a software product/solution designed to meet the project„s quality attributes • Includes the main components, their main attributes, and their collaboration • expressed in several levels of abstraction (depending on the project's size). • Architecture is communicated from multiple viewpoints • Tradeoffs are made explicit

Adheres to

Policy

Binds to

End Point

governed by

Exposes

Serves Service Consumer

Understands

Contracts

implements

Service

describes Key Component

Sends/Receives

Messages

Sends/Receives

Relation

4

5/23/2007

Metropolis Policing System Emergency Response

Mobile policing • Ticketing • Navigation • Communications

Special Ops

MPS Situational Awareness

Logistics

Incident Analysis

Dilemma: Data Propagation Dispatch (Emergency Response) Scenario (Performance -> Latency)

COP (Situational Awareness)

Under all conditions, the freshness of the positions and statuses of all the police units will be better than 2 seconds (the time from change to update) Operations Management (Special Ops)

Navigation (Mobile Policing)

5

5/23/2007

Computer A

Consumer (requestor) Replier Process A

Computer B

Requestor

Service (replier)

Process

Process B

Objects in a Process

Services

Request/Reply

EndPoint

1. Request

2. Synchronous processing

3. Reply

Service Consumer

Service

Inversion of Communications

6

5/23/2007

The Network is reliable The Network is homogenous

Transport cost is zero

Latency is zero

Fallacies of distributed Computing

There is one administrator

Bandwidth is infinite

The Network is Secure

Avoid RPC Over SOA Topology doesn’t change

Dilemma: Cross-Service Transactions Register Incident

Dispatch

Tasks

Scenario (Integrity> Consistency) Under all conditions, an incident accepted by the system cannot get lost

7

5/23/2007

ACID Transactions 1. Begin TX

2. Request

2. Reply

Service B

4. Commit TX

Service A

Trasnactable Service 1. Begin TX 4. Commit TX Transaction Support End Point