Jeff Woolsey Principal Group Program Manager Windows Server, Hyper-V WSV312.
Jeff Genender Principal A Road to a Successful SOA Implementation The Rules of SOA.
-
Upload
jasmyn-wilbanks -
Category
Documents
-
view
216 -
download
0
Transcript of Jeff Genender Principal A Road to a Successful SOA Implementation The Rules of SOA.
Jeff GenenderPrincipal
A Road to a Successful SOA Implementation
The Rules of SOAThe Rules of SOA
One Trick PonyOne Trick Pony
JSR 316 - Java EE 6
Apache CXF
One Trick Pony - Jeff GenenderOne Trick Pony - Jeff Genender
Token Marketing Blurb - Token Marketing Blurb - basementcoders.combasementcoders.com
Twitter: @bcodershttp://www.basementcoders.com
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)
Tip #1 - Think BigTip #1 - Think BigWhere am I going?Where am I going?
Tip #1 - Start SmallTip #1 - Start 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 - SOA GovernanceTip #2 - SOA GovernanceWho are these guys?Who are these guys?
And if you donAnd if you don’’t...t...
Tip #3 - Tools - Choose your weapons, Tip #3 - Tools - Choose your weapons, govern themgovern themWhatWhat’’s this? Where am I going?s this? Where am I going?
A. DonA. Don’’t use a sledge hammer for a nailt use a sledge hammer for a nail
A. DonA. Don’’t use a sledge hammer for a nailt use a sledge hammer for a nail
Locking into one technology does not fix all problems• Use WS where you want but don’t force everyone...
• Misnomer WS != SOA. WS is a component of SOA.
Bad
Good
B. Consider an Enterprise Service Bus B. Consider an Enterprise Service Bus (ESB)(ESB)
B. Consider an Enterprise Service Bus B. Consider an Enterprise Service Bus (ESB) - Cont(ESB) - Cont
B. Consider an Enterprise Service Bus B. Consider an Enterprise Service Bus (ESB) - Cont(ESB) - Cont
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
• Apache Camel
• Apache Tuscany
• Apache Synapse
• OpenESB
• Mule
• FuseSource FUSE
Tip #4 - Know thy basic SOA PatternsTip #4 - Know thy basic SOA Patterns
http://www.soapatterns.org
http://www.eaipatterns.com
http://refcardz.dzone.com/refcardz/soa-patterns
WhatWhat’’s this? Where am I going?s this? Where am I going?
Tip #4 - Know thy basic SOA PatternsTip #4 - Know 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
Dynamic RoutingDynamic Routing
Event Driven ConsumerEvent Driven Consumer
Pipe/FilterPipe/Filter
RouterRouter
Translator or TransformerTranslator or Transformer
Tip #5 - Version early - Version oftenTip #5 - Version early - Version often
Tip #5 - And if you donTip #5 - And if you don’’t version...t version...
MARSHALING EXCEPTION
Are these lines sloped or parallel?Are these lines sloped or parallel?Tip #6 - Be as Asynchronous as PossibleTip #6 - Be as Asynchronous as Possible
Tip #6 - Be as Asynchronous as PossibleTip #6 - Be as Asynchronous as Possible
Tip #6 - And if you donTip #6 - And if you don’’t...t...
Tip #7 - Watch your XML/SOAP UseTip #7 - Watch 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 - And if you use too much XML...Tip #7 - And if you use too much XML...
Tip #8 - Design with the right granularityTip #8 - Design with the right granularityWhatWhat’’s this? Where am I going?s this? Where am I going?
Tip #8 - Design with the right granularityTip #8 - Design with the right granularity
Tip #8 - And if you donTip #8 - And if you don’’t...t...
Tip #8 - The Granularity Caveat - The Uber Tip #8 - The Granularity Caveat - The Uber ServiceService
Tip #9 - Point to Point is Bad, Bad, BadTip #9 - Point to Point is Bad, Bad, BadWhatWhat’’s this? Where am I going?s this? Where am I going?
Tip #9 - Point to Point is Bad, Bad, BadTip #9 - Point to Point is Bad, Bad, Bad
Tip #9 - And if you donTip #9 - And if you don’’t...t...
Tip #10 - There is no Tip #10 - There is no ““oneone”” right way right wayWhatWhat’’s this? Where am I going?s this? Where am I going?
Tip #10 - And if you donTip #10 - And if you don’’t...t...
Questions?Questions?