the rules of soa

Post on 30-Jan-2016

18 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

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?

Thank You!Thank You!

jgenender@savoirtech.comjgenender@apache.orgjgenender@apache.org

top related