Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and...

73
Stefan Tilkov, innoQ @stilkov - http://www.innoq.com/blog/st/ Pragmatic SOA Beyond Buzzwords and Flamewars 1 Friday, March 12, 2010

Transcript of Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and...

Page 1: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Stefan Tilkov, innoQ@stilkov - http://www.innoq.com/blog/st/

Pragmatic SOA Beyond Buzzwords and Flamewars

1Friday, March 12, 2010

Page 2: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Some Claims

2Friday, March 12, 2010

Page 3: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Some Recommendations

3Friday, March 12, 2010

Page 4: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Claim:Application architecture is

irrelevant for your SOA

4Friday, March 12, 2010

Page 5: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Application Architecture

vs.

Integration Architecture

5Friday, March 12, 2010

Page 6: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

6Friday, March 12, 2010

Page 7: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

7Friday, March 12, 2010

Page 8: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

8Friday, March 12, 2010

Page 9: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

9Friday, March 12, 2010

Page 10: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

10Friday, March 12, 2010

Page 11: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

11Friday, March 12, 2010

Page 12: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

12Friday, March 12, 2010

Page 13: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

13Friday, March 12, 2010

Page 14: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

14Friday, March 12, 2010

Page 15: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Application Architecture(Example)

Resource LayerPOJOs & Hibernate

RDBMS Legacy Systems

Business Logic LayerStateless Session Beans

Process LayerStateful & Stateless Session Beans

WrapperSession Beans

Interaction LayerStruts

PresentationJSP

JCA

JDBC

15Friday, March 12, 2010

Page 16: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Application ClassesKlasse B Klasse CKlasse A

Resource LayerPOJOs & Hibernate

RDBMS Legacy Systems

Business Logic LayerStateless Session Beans

Process LayerStateful & Stateless Session Beans

WrapperSession Beans

Interaction LayerStruts

PresentationJSP

Resource LayerPOJOs & Hibernate

RDBMS Legacy Systems

Business Logic LayerStateless Session Beans

Process LayerStateful & Stateless Session Beans

WrapperSession Beans

Presentation & InteractionEclipse RCP

Business Logic LayerStateless Session Beans

Process LayerStateful & Stateless Session Beans

Presentation & InteractionEclipse RCP

GIS Backend

WrapperSession Beans

Class A Class B Class C

16Friday, March 12, 2010

Page 17: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Focus: Portability

Resource LayerPOJOs & Hibernate

RDBMS Legacy Systems

Business Logic LayerStateless Session Beans

Process LayerStateful & Stateless Session Beans

WrapperSession Beans

Interaction LayerStruts

PresentationJSP

JCA

JDBC

17Friday, March 12, 2010

Page 18: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Focus: Interoperability

Resource LayerPOJOs & Hibernate

RDBMS Legacy Systems

Business Logic LayerStateless Session Beans

Process LayerStateful & Stateless Session Beans

WrapperSession Beans

Interaction LayerStruts

PresentationJSP

Resource LayerPOJOs & Hibernate

RDBMS Legacy Systems

Business Logic LayerStateless Session Beans

Process LayerStateful & Stateless Session Beans

WrapperSession Beans

Presentation & InteractionEclipse RCP

Business Logic LayerStateless Session Beans

Process LayerStateful & Stateless Session Beans

Presentation & InteractionEclipse RCP

GIS Backend

WrapperSession Beans

18Friday, March 12, 2010

Page 19: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Recommendation:Don’t confuse

integration architecture with application architecture –

focus on one at a time

19Friday, March 12, 2010

Page 20: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Recommendation:Don’t try to standardize

everything at once

20Friday, March 12, 2010

Page 21: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Claim:An ESB should not be at the

core of your SOA

21Friday, March 12, 2010

Page 22: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

ESB Spaghetti Monster

22Friday, March 12, 2010

Page 23: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

T H E F L Y I N G S P A G H E T T I M O N S T E R

T O U C H E D B Y H I S N O O D L Y A P P E N D A G E

23Friday, March 12, 2010

Page 24: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

The next slide isshamelessly stolenfrom Jim Webber( see http://tinyurl.com/ywm5sj )

24Friday, March 12, 2010

Page 25: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

So I’ll make up for it:

25Friday, March 12, 2010

Page 26: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Out real soon now

26Friday, March 12, 2010

Page 27: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

ESB Spaghetti

27Friday, March 12, 2010

Page 28: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

EOA

28Friday, March 12, 2010

Page 29: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

ESB-oriented ArchitectureProprietary tooling (“doodleware”)

No (or little) team development

No unit-testing, test-driven development

No (or little) modularization

No (or little) versioning

Barrier to entry

Prolonged existence of proprietary interfaces

29Friday, March 12, 2010

Page 30: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Recommendation:Participants in a given SOA

should depend on wire formats and protocols only

30Friday, March 12, 2010

Page 31: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

“Virtual” ESB

31Friday, March 12, 2010

Page 32: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

“Virtual” ESB

32Friday, March 12, 2010

Page 33: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Virtual ESB

33Friday, March 12, 2010

Page 34: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Recommendation:If you choose SOAP, WSDL, WS-*,

go with lightweight/OSS tools

34Friday, March 12, 2010

Page 35: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Recommendation:Mainstream + Lightweight Platforms

Pick a decent platform or toolkit for SOAP/WS-* support

.NET WCF, Spring Web Services, Apache CXF, Apache Axis2, JBossWS, Sun Metro

Standardize on standards, not products, not single points of failure

35Friday, March 12, 2010

Page 36: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Claim:Point-to-point communication

is perfectly fine

36Friday, March 12, 2010

Page 37: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Recommendation:If you use an ESB …

Central Model

Enabling Model

… don’t put it in the center37Friday, March 12, 2010

Page 38: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Recommendation: Consider Open Source ESBs

Apache Synapse/WSO2 ESB

Mule ESB

JBoss ESB

ServiceMix

Sopera

38Friday, March 12, 2010

Page 39: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Claim:Hiding XML is a Bug,

not a feature

39Friday, March 12, 2010

Page 40: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

XML Ecosystem10 Things to do with XML

View it in tree rendering

Check for wellformedness

Transform it using XSLT

Query with XPath

Process with XQuery

Validate against schema

Encrypt/Decryptparts

Sign and verify signature

Archive it

Process w/ SAX/DOM

40Friday, March 12, 2010

Page 41: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

XML & ObjectsXML, XML Schema and objects don’t match

XML is not an implementation detail

Generating code from XML Schema:

Reap all the disadvantages of XML while ignoring its benefits.

41Friday, March 12, 2010

Page 42: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Claim:Web services (SOAP/WSDL)

are not the only way

42Friday, March 12, 2010

Page 43: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Claim:RESTful HTTP moves you

closer to SOA goals than WS-*

43Friday, March 12, 2010

Page 44: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

SOA and RESTful HTTPLoose Coupling

InteroperabilityVendor Independence

Unexpected Re-use

Available SkillsTooling for any Language & Platform

Low Resistance to Change

… all served better by RESTful HTTP than WS-*44Friday, March 12, 2010

Page 45: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

identificationof resources

resource manipulation through representations

hypermedia as the engine of application state

self-descriptive messages

The REST Uniform Interface

45Friday, March 12, 2010

Page 46: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

The REST Uniform Interface

http://example.com/orders?year=2008

http://example.com/customers/1234

http://example.com/orders/2007/10/776654

http://example.com/products/4554

http://example.com/processes/sal-increase-234

identificationof resources

resource manipulation through representations

hypermedia as the engine of application state

self-descriptive messages

identificationof resources

resource manipulation through representations

hypermedia as the engine of application state

self-descriptive messages

46Friday, March 12, 2010

Page 47: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

The REST Uniform Interface

GET /customers/1234Host: example.comAccept: application/vnd.mycompany.customer+xml

<customer>...</customer>

GET /customers/1234Host: example.comAccept: text/x-vcard

begin:vcard...end:vcard

identificationof resources

resource manipulation through representations

hypermedia as the engine of application state

self-descriptive messages

47Friday, March 12, 2010

Page 48: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

The REST Uniform Interface

<order self='http://example.com/orders/3321'> <amount>23</amount> <product ref='http://example.com/products/4554' /> <customer ref='http://example.com/customers/1234' /> <link rel='edit’ ref='http://example.com/order-edit/ACDB' /></order>

identificationof resources

resource manipulation through representations

hypermedia as the engine of application state

self-descriptive messages

48Friday, March 12, 2010

Page 49: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

The REST Uniform Interfaceidentificationof resources

resource manipulation through representations

hypermedia as the engine of application state

self-descriptive messages

GET /service/customers/1234 HTTP 1.1Host: www.example.comUser-Agent: XYZ 1.1Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Keep-Alive: 300Connection: keep-aliveIf-Modified-Since: Fri, 02 Oct 2009 16:47:31 GMTIf-None-Match: "600028c-59fb-474f6852c9dab"Cache-Control: max-age=60

HTTP/1.1 200 OKDate: Sun, 04 Oct 2009 19:36:25 GMTServer: Apache/2.2.11 (Debian)Last-Modified: Fri, 02 Oct 2009 16:49:31 GMTEtag: "600028c-59fb-474f6852c9dce"Cache-Control: max-age=300Accept-Ranges: bytesVary: Accept-EncodingContent-Encoding: gzipContent-Length: 7160Keep-Alive: timeout=15, max=91Connection: Keep-AliveContent-Type: application/xml

<?xml version=‘1.0’ encoding=‘utf-8’ ?>...

StandardMethod

Media Type

Data

Control DataVisibility

49Friday, March 12, 2010

Page 50: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

getOrderDetails()

updateQuote()

cancelSubscription()

findMatchingBid()

initiateProcess()

submitApplicationData()

listAuctions()

getUsers()

50Friday, March 12, 2010

Page 51: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

getOrderDetails()

updateQuote() cancelSubscription()

findMatchingBid()

initiateProcess()

submitApplicationData()

listAuctions()

getUsers()

GET

PUT

POST

DELETE

51Friday, March 12, 2010

Page 52: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

interface Resource {     Resource(URI u)     Response get()     Response post(Request r)     Response put(Request r)     Response delete()}

generic

specific

class CustomerCollection : Resource {     ...     Response post(Request r) {          id = createCustomer(r)          return new Response(201, r) }     ...}

Any HTTP client(Firefox, IE, curl, wget)

Any HTTP server

Caches

Proxies

Google, Yahoo!, MSN

Anything that knows your app

52Friday, March 12, 2010

Page 53: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Claim:Advanced WS-* standards are

overrated

53Friday, March 12, 2010

Page 54: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

WS-* Theory & PracticeWS-Addressing, WS-ReliableMessaging are not yet widely interoperable

Nobody uses WS-Coordination, WS-Atomic Transactions, WS-Business Activity

Message-based security is way too expensive

UDDI is a solution looking for a problem

54Friday, March 12, 2010

Page 55: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Recommendation:Consider adopting

RESTful HTTP instead of WS-*

55Friday, March 12, 2010

Page 56: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

(Interlude: How to secretly sneak RESTful HTTP into your

organization)

56Friday, March 12, 2010

Page 57: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Consider WS-* + HTTP GET as the gateway drug

57Friday, March 12, 2010

Page 58: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Use feeds to for even notification

58Friday, March 12, 2010

Page 59: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Atom Model

Feed Entry*0

idtitle

updated

idtitle

updated

Content

InlineXHTMLInlineTextOutOfLineResource InlineOther

Category*

59Friday, March 12, 2010

Page 60: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Adopt REST for SOA Governance

60Friday, March 12, 2010

Page 61: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

UDDI

420-page specification

Finding and maintaining (meta-)model objects

Publication save_binding save_business save_service save_tModel delete_binding delete_business delete_publisherAssertions delete_service delete_tModel add_publisherAssertions set_publisherAssertions get_assertionStatusReport get_publisherAssertions get_registeredInfo

Inquiry find_binding find_business find_relatedBusinesses find_service find_tModel get_bindingDetail get_businessDetail get_operationalInfo get_serviceDetail get_tModelDetail

61Friday, March 12, 2010

Page 62: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

UDDI (contd.)UDDI could be greatly simplified by using plain HTTP

It would no longer be protocol-independent - but who cares?

Atom (Syndication Format & Protocol) are a great match

See: http://www.xml.com/pub/a/ws/2002/02/06/rest.html?page=262Friday, March 12, 2010

Page 63: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Lightweight Governance

Simple solution (Webserver, WebDAV, AtomStore) for Document Storage

Atom feeds for update notifications

HTTP GET for lookups

63Friday, March 12, 2010

Page 64: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

RESTful SOA Governance

WSO2 Registry

Mule Galaxy

HP Systinet

64Friday, March 12, 2010

Page 65: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

(Final) Claim:The most important

architectural guide is your intelligence

65Friday, March 12, 2010

Page 66: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

mainstreamvs.

technical optimum

central controlvs.

no single point of failure

integrated solutionsvs.

no dependency on single vendors

homogeneityvs.

right tool for the job

66Friday, March 12, 2010

Page 67: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

CSOA

Common SenseOriented

Architecture

67Friday, March 12, 2010

Page 68: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Q&A

[email protected]://www.innoq.com/blog/st/

@stilkov68Friday, March 12, 2010

Page 69: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

When to use WS-*?

69Friday, March 12, 2010

Page 70: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

RESTful HTTP

set of problems

MoM

RMI/DCOM/CORBA

SOAP/WSDL

SpacesActors

70Friday, March 12, 2010

Page 71: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

What about BPM?

71Friday, March 12, 2010

Page 72: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

BPM SOAVendorMarketing

Valid Options:1. SOA2. BPM3. SOA + BPM

72Friday, March 12, 2010

Page 73: Pragmatic SOA Beyond Buzzwords and Flamewars - · PDF filePragmatic SOA Beyond Buzzwords and Flamewars Friday, March 12, ... Presentation JSP ... Transform it using XSLT Query with

Central Model

BPM as ImplModel

Orchestration Options

73Friday, March 12, 2010