The Rules of SOA

51
Jeff Genender Principal A Road to a Successful SOA Implementation The Rules of SOA The Rules of SOA

description

The Rules of SOA. A Road to a Successful SOA Implementation. Jeff Genender Principal. One Trick Pony. One Trick Pony - Jeff Genender. Apache CXF. JSR 316 - Java EE 6. Token Marketing Blurb - basementcoders.com. Twitter: @bcoders http://www.basementcoders.com. Rules of Engagement. - PowerPoint PPT Presentation

Transcript of The Rules of SOA

Page 1: The Rules of SOA

Jeff GenenderPrincipal

A Road to a Successful SOA Implementation

The Rules of SOAThe Rules of SOA

Page 2: The Rules of SOA
Page 3: The Rules of SOA

One Trick PonyOne Trick Pony

Page 4: The Rules of SOA

JSR 316 - Java EE 6

Apache CXF

One Trick Pony - Jeff GenenderOne Trick Pony - Jeff Genender

Page 5: The Rules of SOA

Token Marketing Blurb - Token Marketing Blurb - basementcoders.combasementcoders.com

Twitter: @bcodershttp://www.basementcoders.com

Page 6: The Rules of SOA

Rules of EngagementRules of Engagement

Page 7: The Rules of SOA

COME UM UPUM HARD WAYCOME UM UPUM HARD WAY

Page 8: The Rules of SOA
Page 9: The Rules of SOA
Page 10: The Rules of SOA

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

Page 11: The Rules of SOA

Tip #1 - Think BigTip #1 - Think BigWhere am I going?Where am I going?

Page 12: The Rules of SOA

Tip #1 - Start SmallTip #1 - Start Small

Page 13: The Rules of SOA

What we did...What we did...

Page 14: The Rules of SOA

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

Page 15: The Rules of SOA

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

$$$$$$

Page 16: The Rules of SOA

Tip #2 - SOA GovernanceTip #2 - SOA GovernanceWho are these guys?Who are these guys?

Page 17: The Rules of SOA

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

Page 18: The Rules of SOA

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?

Page 19: The Rules of SOA

A. DonA. Don’’t use a sledge hammer for a nailt use a sledge hammer for a nail

Page 20: The Rules of SOA

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

Page 21: The Rules of SOA

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

Page 22: The Rules of SOA

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

Page 23: The Rules of SOA

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

Page 24: The Rules of SOA

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

Page 25: The Rules of SOA

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?

Page 26: The Rules of SOA

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

Page 27: The Rules of SOA

AggregatorAggregator

Page 28: The Rules of SOA

ServiceBus/Messaging PatternServiceBus/Messaging Pattern

Page 29: The Rules of SOA

Dynamic RoutingDynamic Routing

Page 30: The Rules of SOA

Event Driven ConsumerEvent Driven Consumer

Page 31: The Rules of SOA

Pipe/FilterPipe/Filter

Page 32: The Rules of SOA

RouterRouter

Page 33: The Rules of SOA

Translator or TransformerTranslator or Transformer

Page 34: The Rules of SOA

Tip #5 - Version early - Version oftenTip #5 - Version early - Version often

Page 35: The Rules of SOA

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

MARSHALING EXCEPTION

Page 36: The Rules of SOA

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

Page 37: The Rules of SOA

Tip #6 - Be as Asynchronous as PossibleTip #6 - Be as Asynchronous as Possible

Page 38: The Rules of SOA

Tip #6 - And if you donTip #6 - And if you don’’t...t...

Page 39: The Rules of SOA

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?

Page 40: The Rules of SOA

Tip #7 - And if you use too much XML...Tip #7 - And if you use too much XML...

Page 41: The Rules of SOA

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?

Page 42: The Rules of SOA

Tip #8 - Design with the right granularityTip #8 - Design with the right granularity

Page 43: The Rules of SOA

Tip #8 - And if you donTip #8 - And if you don’’t...t...

Page 44: The Rules of SOA

Tip #8 - The Granularity Caveat - The Uber Tip #8 - The Granularity Caveat - The Uber ServiceService

Page 45: The Rules of SOA

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?

Page 46: The Rules of SOA

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

Page 47: The Rules of SOA

Tip #9 - And if you donTip #9 - And if you don’’t...t...

Page 48: The Rules of SOA

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?

Page 49: The Rules of SOA

Tip #10 - And if you donTip #10 - And if you don’’t...t...

Page 50: The Rules of SOA

Questions?Questions?