The Rules of SOA - Javajavasymposium.techtarget.com/html/images/JGenender_SOA...Jeff Genender CTO...

8
Jeff Genender CTO Savoir Technologies A Road to a Successful SOA Implementation The Rules of SOA The Rules of SOA Rules of Engagement Rules of Engagement COME UM UPUM HARD WAY COME UM UPUM HARD WAY Client Client’s Mess (My real 1 trick pony) s Mess (My real 1 trick pony)

Transcript of The Rules of SOA - Javajavasymposium.techtarget.com/html/images/JGenender_SOA...Jeff Genender CTO...

Page 1: The Rules of SOA - Javajavasymposium.techtarget.com/html/images/JGenender_SOA...Jeff Genender CTO Savoir Technologies A Road to a Successful SOA Implementation The Rules of SOA Rules

Jeff GenenderCTO Savoir Technologies

A Road to a Successful SOA Implementation

The Rules of SOAThe Rules of SOA

Rules of EngagementRules of Engagement

COME UM UPUM HARD WAYCOME UM UPUM HARD WAY

ClientClient’’s Mess (My real 1 trick pony)s Mess (My real 1 trick pony)

Page 2: The Rules of SOA - Javajavasymposium.techtarget.com/html/images/JGenender_SOA...Jeff Genender CTO Savoir Technologies A Road to a Successful SOA Implementation The Rules of SOA Rules

Tip #1 Tip #1 -- Think BigThink BigWhere am I going?Where am I going? Tip #1 Tip #1 -- Start SmallStart Small

What we did...What we did... And if you donAnd if you don’’t...t...

And if you donAnd if you don’’t...t...

$$$$$$Tip #2 Tip #2 -- SOA GovernanceSOA GovernanceWho are these guys?Who are these guys?

Page 3: The Rules of SOA - Javajavasymposium.techtarget.com/html/images/JGenender_SOA...Jeff Genender CTO Savoir Technologies A Road to a Successful SOA Implementation The Rules of SOA Rules

And if you donAnd if you don’’t...t...Tip #3 Tip #3 -- Tools Tools -- Choose your Choose your weapons, govern themweapons, govern themWhatWhat’’s this? Where am I going?s this? Where am I going?

A. DonA. Don’’t use a sledge hammer for a t use a sledge hammer for a nailnail

A. DonA. Don’’t use a sledge hammer for a t use a sledge hammer for a nailnail

Locking into one technology does not fix all problems• Use WS where you want but don’t force everyone...

• Misnomer WS != SOA (necessarily). WS is a component of SOA.

Bad

Good

B. Consider an Enterprise Service B. Consider an Enterprise Service Bus (ESB)Bus (ESB)

B. Consider an Enterprise Service B. Consider an Enterprise Service Bus (ESB) Bus (ESB) -- ContCont

Page 4: The Rules of SOA - Javajavasymposium.techtarget.com/html/images/JGenender_SOA...Jeff Genender CTO Savoir Technologies A Road to a Successful SOA Implementation The Rules of SOA Rules

B. Consider an Enterprise Service B. Consider an Enterprise Service Bus (ESB) Bus (ESB) -- ContCont

Normalized Messaging• Components speak with each other in one language

Pluggable components• Use any component or technology

• Much more flexible to get components talking to each other

Message Oriented Middleware (MOM)• Reliable messaging based on JMS

Orchestration• Workflow

• Transactionality

• Routing

C. Consider Open Source PlatformsC. Consider Open Source Platforms

Just as good as the commercial stuff

ESBs/SOA Platforms• Apache ServiceMix (JBI)

• Apache Camel

• Apache Tuscany (SCA)

• Apache Synapse

• Sun OpenESB (JBI)

• Mule

• Progress FUSE

Tip #4 Tip #4 -- Know thy basic SOA PatternsKnow thy basic SOA Patterns

http://http://www.soapattewww.soapatterns.orgrns.org

http://http://www.eaipatterwww.eaipatterns.comns.com

////refcardz.dzone.com/refcardz/soarefcardz.dzone.com/refcardz/soa--patpat

WhatWhat’’s this? Where am I going?s this? Where am I going? Tip #4 Tip #4 -- Know thy basic SOA PatternsKnow thy basic SOA Patterns

AggregatorAggregator

ServiceBusServiceBus

Dynamic RoutingDynamic Routing

Event Driven ConsumerEvent Driven Consumer

Pipe/FilterPipe/Filter

RouterRouter

Translator/TransformerTranslator/Transformer

AggregatorAggregator ServiceBus/Messaging PatternServiceBus/Messaging Pattern

Page 5: The Rules of SOA - Javajavasymposium.techtarget.com/html/images/JGenender_SOA...Jeff Genender CTO Savoir Technologies A Road to a Successful SOA Implementation The Rules of SOA Rules

Dynamic RoutingDynamic Routing Event Driven ConsumerEvent Driven Consumer

Pipe/FilterPipe/Filter RouterRouter

Translator or TransformerTranslator or TransformerTip #5 Tip #5 -- Version early Version early -- Version Version oftenoften

Page 6: The Rules of SOA - Javajavasymposium.techtarget.com/html/images/JGenender_SOA...Jeff Genender CTO Savoir Technologies A Road to a Successful SOA Implementation The Rules of SOA Rules

Tip #5 Tip #5 -- And if you donAnd if you don’’t version...t version...

MARSHALING EXCEPTION

Are these lines sloped or parallel?Are these lines sloped or parallel?Tip #6 Tip #6 -- Be as Asynchronous as Be as Asynchronous as PossiblePossible

Tip #6 Tip #6 -- Be as Asynchronous as Be as Asynchronous as PossiblePossible Tip #6 Tip #6 -- And if you donAnd if you don’’t...t...

Tip #7 Tip #7 -- Watch your XML/SOAP UseWatch your XML/SOAP Use

I LOVE SOAP!

I LOVE XML!

WhatWhat’’s this? Where am I going?s this? Where am I going?Tip #7 Tip #7 -- And if you use too much And if you use too much XML...XML...

Page 7: The Rules of SOA - Javajavasymposium.techtarget.com/html/images/JGenender_SOA...Jeff Genender CTO Savoir Technologies A Road to a Successful SOA Implementation The Rules of SOA Rules

Tip #8 Tip #8 -- Design with the right Design with the right granularitygranularityWhatWhat’’s this? Where am I going?s this? Where am I going?

Tip #8 Tip #8 -- Design with the right Design with the right granularitygranularity

Tip #8 Tip #8 -- And if you donAnd if you don’’t...t...Tip #8 Tip #8 -- The Granularity Caveat The Granularity Caveat --The Uber ServiceThe Uber Service

Tip #9 Tip #9 -- Point to Point is Bad, Bad, Point to Point is Bad, Bad, BadBadWhatWhat’’s this? Where am I going?s this? Where am I going?

Tip #9 Tip #9 -- Point to Point is Bad, Bad, Point to Point is Bad, Bad, BadBad

Page 8: The Rules of SOA - Javajavasymposium.techtarget.com/html/images/JGenender_SOA...Jeff Genender CTO Savoir Technologies A Road to a Successful SOA Implementation The Rules of SOA Rules

Tip #9 Tip #9 -- And if you donAnd if you don’’t...t...Tip #10 Tip #10 -- There is no There is no ““oneone”” right right waywayWhatWhat’’s this? Where am I going?s this? Where am I going?

Tip #10 Tip #10 -- And if you donAnd if you don’’t...t... Questions?Questions?

Thank You!Thank [email protected]@savoirtech.com

[email protected]@apache.org

Special Thanks To Eugene Special Thanks To Eugene CiuranaCiuranahttp://http://refcardz.dzone.com/refcardz/soarefcardz.dzone.com/refcardz/soa

--patternspatterns