lightweight soa - innoq · 2018-01-25 · mule esb servicemix sopera 28. claim #4/9: participants...

66
Lightweight SOA Stefan Tilkov / innoQ / [email protected] 1

Upload: others

Post on 22-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Lightweight SOAStefan Tilkov / innoQ / [email protected]

1

Page 2: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

9 Claims

2

Page 3: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Claim #1/9:Application architecture

is irrelevant for your SOA

3

Page 4: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Application Architecture

vs.

Integration Architecture

4

Page 5: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

5

Page 6: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

6

Page 7: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

7

Page 8: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

8

Page 9: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

9

Page 10: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

10

Page 11: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

11

Page 12: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

12

Page 13: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

13

Page 14: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

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

14

Page 15: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

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

15

Page 16: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

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

16

Page 17: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

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

17

Page 18: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Claim #2/9:An ESB should not be at

the core of your SOA

18

Page 19: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

ESB Spaghetti Monster

19

Page 20: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

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

20

Page 21: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Shamelessly stolen from Jim Webber: http://tinyurl.com/ywm5sj

ESB Spaghetti

21

Page 22: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

EOA

22

Page 23: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

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

23

Page 24: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

“Virtual” ESB

24

Page 25: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Claim #3/9:Point-to-point

communication is perfectly fine

25

Page 26: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Mainstream + Lightweight

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

26

Page 27: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

If you Use an ESB …

Central Model

Enabling Model

… know what you’re doing27

Page 28: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Consider Open Source ESBs

Apache Synapse/WSO2 ESB

Mule ESB

ServiceMix

Sopera

28

Page 29: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Claim #4/9:Participants in a given SOA must depend on

wire formats only

29

Page 30: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

“Virtual” ESB

30

Page 31: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

“Virtual” ESB

31

Page 32: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Claim #5/9:Web services (SOAP/

WSDL) are not the only way

32

Page 33: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

REST Explainedin 5 Easy Steps

33

Page 34: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

1. Give Every “Thing” an ID

http://example.com/customers/1234

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

http://example.com/products/4554

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

34

Page 35: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

2. Link Things To Each Other

<order self=’http://example.com/orders/1234’> <amount>23</amount> <product ref=’http://example.com/products/4554’ /> <customer ref=’http://example.com/customers/1234’ /></order>

35

Page 36: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

3. Use Standard Methods

GET Retrieve information, possibly cached

PUT Update or create with known ID

POST Create or append sub-resource

DELETE (Logically) remove

36

Page 37: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

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

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

<customer>...</customer>

begin:vcard...end:vcard

4. Offer Multiple Formats

37

Page 38: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

5. Communicate StatelesslyGET /customers/1234Host: example.comAccept: application/vnd.mycompany.customer

time

<customer><order ref=’./orders/46’</customer>

GET /customers/1234/orders/46Host: example.comAccept: application/vnd.mycompany.order+xml

<order>...</order>

shutdownupdate softwarereplace hardwarestartup

38

Page 39: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

What’s cool about REST?

39

Page 40: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

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

40

Page 41: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

41

Page 42: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Mapping ExamplesgetFreeTimeSlots(Person) →GET /people/{id}/timeslots?state=free

rejectApplication(Application) →POST /rejections↵ <application>http://...</application>↵ <reason>Unsuitable for us!</reason>

performTariffCalculation(Data) →POST /calculations↵ Data←Location: http://.../calculations/4711→GET /calculations/4711←Result

shipOrder(ID) →PUT /orders/0815↵ <status>shipped</status>

shipOrder(ID) [variation] →POST /shipments↵ Data←Location: http://.../shipments/4711

42

Page 43: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Atom & AtomPub

43

Page 44: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Atom Syndication Format

Standardized in: RFC 4287MIME Type: application/atom+xmlNamespace: http://www.w3.org/2005/Atom

RSS Done Right44

Page 45: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Atom ModelFeed Entry

*0id

titleupdated

idtitle

updated

Content

InlineXHTMLInlineTextOutOfLineResource InlineOther

Category*

45

Page 46: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"> <title>Example Feed</title> <link rel="alternate" type="text/html" href="http://example.org/"/> <link rel="self" type="application/atom+xml" href="http://example.org/feeds/23.atom"/> <updated>2003-12-13T18:30:02Z</updated> <author><name>John Doe</name></author> <id>http://example.org/feeds/23</id>

<entry> <title>Atom-Powered Robots Run Amok</title> <link href="http://example.org/2003/12/13/atom03"/> <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id> <updated>2003-12-13T18:30:02Z</updated> <summary>Some text.</summary> </entry>

<entry> <title>A Second Contrived Example</title> <link href="http://example.org/2003/12/13/atom03"/> <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id> <updated>2003-12-13T18:30:02Z</updated> <summary>Some text.</summary> <content type="xhtml" xml:base="http://example.org/"> <div xmlns="http://www.w3.org/1999/xhtml"> <p><i>Very fine text.</i></p> </div> </content> </entry></feed>

46

Page 47: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

interface Resource { ...}

generic

specific

class CustomerCollection : AtomFeed {     ...}

Anything that understands HTTP

Anything that knows your app

class AtomFeed : Resource {     AtomFeed get() ...}

Any feed reader

Yahoo! Pipes

47

Page 48: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Atom Publishing ProtocolStandardized in: RFC 5023Namespace: http://www.w3.org/2007/app

RESTful Collections Handling:- Discovery, Description,- Retrieval,- Creation, Editing, Deletion

of Resources

48

Page 49: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Collection Member*0

idtitle

updated

idtitle

updated

Workspace

*

LinkEntry

Resource

Service Document

*

Category

*

49

Page 50: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

interface Resource { ...}

generic

specific

class CustomerCollection : AtomFeed {     ...}

Anything that understands HTTP

Anything that knows your app

class AtomFeed : Resource {     AtomFeed get()

...}

Any feed reader

Yahoo! Pipes

Any AtomPub client     post(Entry)

50

Page 51: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Claim #6:RESTful HTTP moves

you closer to SOA goals than WS-*

51

Page 52: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

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-*52

Page 53: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Claim #7:Advanced WS-*

standards are overrated

53

Page 54: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

WS-* Theory & Practice

WS-Addressing and WS-ReliableMessaging are not yet widely interoperable

Message-bases security is way too expensive

UDDI is a solution looking for a problem

Even WS-based SOAs often don’t use them

54

Page 55: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

REST + WS-*

If you choose SOAP, WSDL, WS-*, go with lightweight/OSS tools

Consider adopting RESTful HTTP instead of WS-*

Adopt REST for SOA Governance (!)

Consider WS-* + HTTP GET

55

Page 56: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Claim #8:Governance can be greatly simplified

56

Page 57: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

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

57

Page 58: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

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

Approach taken in Mule Galaxy, WSO2 Registry, HP Systinet 2

See: http://www.xml.com/pub/a/ws/2002/02/06/rest.html?page=258

Page 59: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Lightweight Governance

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

Atom feeds for update notifications

HTTP GET for lookups

59

Page 60: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

(Final) Claim #9:The most important

architectural guide is your intelligence

60

Page 61: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

mainstreamvs.

technical optimum

central controlvs.

no single point of failure

integrated solutionsvs.

no dependency on single vendors

homogeneityvs.

right tool for the job

61

Page 62: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

CSOA

Common SenseOriented

Architecture

62

Page 63: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Q&A

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

63

Page 64: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

What about BPM?

64

Page 65: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

BPM SOAVendorMarketing

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

65

Page 66: Lightweight SOA - INNOQ · 2018-01-25 · Mule ESB ServiceMix Sopera 28. Claim #4/9: Participants in a given SOA must depend on wire formats only 29 “Virtual” ESB 30 “Virtual”

Central Model

BPM as ImplModel

Orchestration Options

66