360 likes | 486 Views
Developers have always known how to deliver successful SOA!. Microsoft Application Platform Conference 11 . April 2007 Mads Nissen & Totto Objectware AS. SpeakerBio. Totto. Mads Nissen. Teamleder i Objectware Arkitekt, utvikler, teknologisk kverulant MOSS ( Sharepoint ) SOA
E N D
Developers have always known how to deliver successful SOA! Microsoft ApplicationPlatformConference 11. April 2007 Mads Nissen & Totto Objectware AS Developers have always known how to deliver successful SOA!
SpeakerBio Totto Mads Nissen Teamleder i Objectware Arkitekt, utvikler, teknologisk kverulant MOSS (Sharepoint) SOA .NET & C# Workflow Microsoft Most Valuable Professional ’05/’06 Bachelor Computer Science • President i javaBin siden 1998 • Sun Java Champion • CommunityLeader, java.net • Sjefskonsulent i Objectware • Arkitekt, utvikler, mentor • J2EE siden 1997, J2SE/J2ME, AOP, Jini/JavaSpaces, UML, RUP, Agile • Programmert professionellt i over 25 år • Sivilingeniør fra NTH/NTNU • ... og mye mye mer... The Value of SOA Delivered
Purpose ofthissession • QuicklyreviewTheChallenge (or oneofthem) in thecurrentmaturing SOA mindset – related to SOA Governance • Briefly introduceTheCategorizationFramework for Services • Review the concepts of SOA related to the real world with The Merchant Story: • Service Descriptions and Contracts.. • ..in relation to theClient and the Service internals.. • ..related to the real world ofcommerce • This is less stuff – more fluff and food for thought • Alignpatterns and technology to thereal-world (more stuffagain..) Developers have always known how to deliver successful SOA!
Objectwares approach to Service Orientation and Architecture SOA in Objectware The Value of SOA Delivered
What is Enterprise Design & Architecture? • ”No non-sense” • Enterprise Architecture • Domain Driven Design • Service Oriented Architecture • Enterprise SOA Patterns • Code (reusable & starting points) • ”How IT fits together” • From EA, to SOA categorized services, realized using documented patterns and deployed on both .NET and Java in real projects. The Value of SOA Delivered
SOA i Objectware • Vi har utviklet tjeneste-orienterte systemer i lang tid • SOA hypen gikk fra arkitektur til XML og WS-* fokus (definisjon) • Ingen ser ut til å vite hva en tjeneste var.. • Så vi fokuserte på atomet i SOA, nemlig tjenesten.... • ..og det var ikke lett å få på plass.... The Eight Fallacies of Distributed Computing The Value of SOA Delivered
Somepoints to thechallenge for successful SOA today TheChallenge Developers have always known how to deliver successful SOA!
From Legos.. Developers have always known how to deliver successful SOA!
Via duplos.. Developers have always known how to deliver successful SOA!
…to ”Service Orientation” Developers have always known how to deliver successful SOA!
Or in a protocolview.. Developers have always known how to deliver successful SOA!
How far have we gone? • Every level of abstraction allows us to build with larger blocks. • Problem remains the same: Retain evolvability • Dependencies • Versioning • Change and adapt to business requirements But what about:The Eight Fallacies of Distributed Computing Developers have always known how to deliver successful SOA!
Point in question: It works in the real world! • Every major corporationwas small once: • McDonalds, REMA, IKEA • They’ve all scaled and evolved and beaten thecompetition • Cantheykeeponscaling? • That’spartiallyup to us IT-folks! • Weneed to talk abouthowwe talk about services.. Developers have always known how to deliver successful SOA!
Mixingup SOA terms withthe real world to make your head spin The Merchant Story Developers have always known how to deliver successful SOA!
Aligning SOA with the Merchant The Merchant is the analogy for a service in a service oriented universe. Tying in well-known SOA principles and artifacts with the merchants endeavors Let’stry to findsome service terms in the real world: Endpoint Service Description Request message Response message The Contract Service implementation Human 2 Application Service (H2A) Application 2 application service (A2A) Aggregated Core Service (ACS) Core Service (CS) Developers have always known how to deliver successful SOA!
Setter ofexpectations Service Description Developers have always known how to deliver successful SOA!
RWDL: Real-WorldDescriptionLanguage Developers have always known how to deliver successful SOA!
TheEndpoint Developers have always known how to deliver successful SOA!
RWDL SetsExpectations Developers have always known how to deliver successful SOA!
PoorExpectations? Developers have always known how to deliver successful SOA!
Service Descriptions • Services aredescribedbothexplicitly and implicitly • Services need to be awareoftheirimplicitresponsibility (customerexpectations) and adapt • Customersaretrainedthroughextensive marketing and branding • Great service descriptions and theirrelatedcontractsareoftenadopted by competitors: • McDonalds & Burger King – What’sthedifference? Developers have always known how to deliver successful SOA!
Aka - whatsitsbehindthe service endpoint and boundry THE CLERK Developers have always known how to deliver successful SOA!
TheClerk Developers have always known how to deliver successful SOA!
TheClerksResponsibility • REQUIRED: Fulfillthe Service Contract • RECOMMENDED: Fulfilltheexpectationsset to Customers by the Service Description (implicitly or explicitly) • LEADING: SurpasstheCustomersexpectations • Theclerk must handle anythingthat is thrown at him/her Developers have always known how to deliver successful SOA!
TheClerksinterface • May interpret manylanguages – or onlyonebadly • May acceptonecurrency – or several (checkexchange rate!) • May understand therequest – but have nomeansoffulfilling it • May attempt to fulfillyourrequest – eventhough it wasn’tunderstoodcompletely Developers have always known how to deliver successful SOA!
Ifour service canadapt to varianceonrequestswecan serve more types ofclients XML, Strings, CSVs, Voice, Morse-code.. And respond in the same way Ifour service at leastcanrecordwhat it doesn’t understand wecantrain it Wait for those AI guys at MIT to comealong Thisinternalizestheresponsabilityof serving clients to the service Good for cohesion Good for versioning Good for coupling TheClerk 2.0 aka TheLearning Service Developers have always known how to deliver successful SOA!
More ClerkStrategies • Clerkscaling! Developers have always known how to deliver successful SOA!
Trying to make Endpoints, Service descriptions, Contracts and Clerkswork in software HOWTO: Mimic RWDL Developers have always known how to deliver successful SOA!
ChangingContracts • High-levelcontracts (H2A/A2A) require agile evolvability • LowCost • Rapid deployment (Time-To-Market) • Low-levelcontracts (ACS/CS) require stable evolvability • Moderate Cost • Not break existingclients • Controlleddeployment Developers have always known how to deliver successful SOA!
Evolving H2A/A2A services • H2A and A2A layersshould be product-centric and thusveryevolvabletowardstheirclients • Ex: Sharepoint, BizTalk, Windows WorkflowFoundation, K2.NET • H2A and A2A layersdependon ACS and CS services and canevolveontheirinterfaces • If all yourhuman interactionpoints (H2A) and processes (A2A)useyour services, wouldyou make a breaking change? • Whataboutself service processorchestration? Developers have always known how to deliver successful SOA!
Evolving ACS/CS services • ACS and CS arecode-centric and stable and needsarchitecturalevolvableinterfacestowardsupperlayers • Windows CommunicationFoundation • EnterpriseLibrary 3.0 • EvolvingEndpointPattern • ACS and CS must be stable uponchangingdatasources to provide a robust repository • EnterpriseLibrary 3.0 • EnterpriseDomainRepositoryPattern Developers have always known how to deliver successful SOA!
Evolving Service EndpointPattern Developers have always known how to deliver successful SOA!
EnterpriseDomainRepositoryPattern Developers have always known how to deliver successful SOA!
KeyTakeaways • Make sure SOA won’t be Same Old Architecture • Use Service Categorization to placeresponsibility and achievegoodcohesion and coupling for your services • Thinkaboutevolvable services that last for 20 years • ThinkEvolvability • Create services thatprovidegreat service like in RWDL! • Implicit and explicitexpectations • Evolvingendpointsthatdon’t break existingcustomers (clients) The Value of SOA Delivered
Totto – totto@objectware.no Mads – mads@objectware.no Takk for oppmerksomheten! Få med dere neste SOA Sesjon: Software Factories i den virkelige verden - Inge Stubdal vil stilne kodehungrige sjeler The Value of SOA Delivered