420 likes | 558 Views
The Value of SOA Delivered. 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 .NET & C# Workflow
E N D
The Value of SOA Delivered Microsoft ApplicationPlatformConference 11. April 2007 Mads Nissen & Totto Objectware AS The Value of SOA Delivered
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 • Community Leader, 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
Agenda • Justification for SOA • Integration strategy and the challenge SOA might bring • Categorizing Services • Gain control and overview • How about products? • Governance & Policy • Guidelines & Examples • Case to test your attention • Demo to prove the value The Value of SOA Delivered
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
Some points to the challenge for successful SOA today Justification FOR SOA The Value of SOA Delivered
Suppliers Customer Internal users Partner Legacy CRM Inventory Billing Customer Integration challenges Product Product Customer Customer The Value of SOA Delivered
Maturing SOA - Problems Gartner Strategic Planning Assumption: In 2006, lack of working governance mechanisms in midsize to large (more than 50 services), post-pilot SOA projects will be the most-common reason for project failure (0.8 probability). The Value of SOA Delivered 10
The Service Manifest and the Categorization Framework Categorizing Services The Value of SOA Delivered
The Service Manifest • I shall do one thing and one thing well. • I shall never fail and if I do I will do it gracefully. • I shall provide great service. The Value of SOA Delivered
Services never walk alone Categorizingproducts The Value of SOA Delivered
Product focus vs. Service focus • A common challenge when doing Service categorization is how to align products into the model • Products are often dominant in discussions around integration architecture • Makes it hard to establish clear policy for services • And sometimes products even exposes their own services! • Products in a SOA context tend to grasp too much of the domain • What processes should a product support? • Should my CRM system store my Invoices or Documents? • Should my document management system be the master of Products? • We must harvest as much value from products as possible • Accounting work very efficiently in the ERP system! • Sales get great support from the CRM system! • We need a clear understanding and separation of what is solved by products and what is solved by services The Value of SOA Delivered
KundeWorkspace Analysebenken KundeVedlikehold KundeOppfølging Kunde Microsoft CRM 3.0 in SOA Context Service Context ProductContext MSCRM Mobile / Outlook Client MSCRM Web Client MSCRM Admin Client KundeOversikt The Value of SOA Delivered
Some words on the value of governing Governance The Value of SOA Delivered
Governing the Universe • Governing the service universe requires • A referenceframe (i.e. the categories) • A clear definition of the responsibility of your pawns (services & service owners) • Strategies for capturing new land and nations (new markets) • Remember that complex laws are more often broken. School and adapt – not police • Example: • Services not in compliance must use A2A layer for interaction (i.e. Context-Crossover) The Value of SOA Delivered
Policy • Policy are the laws that regulate your service universe • Legislative authority establishes the policies • For example a Policy Advisory Board (Center Of Excellence) • Policy is enforced by a judicial authority • For example with Policy Audits (manual/automatic) • Legislature must enable judicial authority to: • Locate possible policy violations (manually/automatic) • Judge wether or not it is a violation • Efficient policy is required to enable efficient government The Value of SOA Delivered
Governing the Run-Time • Often referred to as ”Application Management” or ”SOA Service Management” • Governing the run-time services requires • Some base monitoring policy for services at each category • Proper tooling which must adapt to the universe • Monitoring clients interaction with the service is valuable • Example: • All Core Services must interface agains Microsoft Operations Manager for health monitoring The Value of SOA Delivered
How to Govern The Value of SOA Delivered
Evaluate yourself first… • What are you governing? • What integration strategy? • What domain and system complexity? • Who are in your legislative branch? • Internal Architect(s)? • Random consultant(s)? • What are your resources for judicial enforcement? • Internal Architect(s) / IT Director / IT Department / Business Owner / Process Owners? • Who are in your executive branch? • Do developers change every 4 years or every project? • How often do YOU change? • You have self-service so all your end-users are executing.. The Value of SOA Delivered
Your size and resources matter • Small/Midsized: • Hire external developers and/or architects • May suffer from ”every vendor – new solution” • Consider teaming up on verticals • Enterprise: • Usually developers and architects in-house • May hire external developers • Should establish own legislation • May hire external ”judicial branch” (QA) • Larger amount of services (100-600) • Greater domain complexity The Value of SOA Delivered
Example rules per service category Policy per category The Value of SOA Delivered
Example Policy Rules for H2A services • Alle tjenester må ha EN navngitt eier • Alle tjenester skal gi forretningsverdi • Alle tjenester skal gjøre en ting og en ting godt • En tjeneste (webpart/portlet) skal være en selvstendig komponent • En tjeneste (webpart/portlet) skal være en del av et større fellesskap, ikke forsøke å diktere andre. • H2A arbeidsflyt er portalen/arbeidsflytsmotoren sitt ansvar, og ikke webparten/portletten/tjenesten sitt ansvar • Webparts/portlets som er for generiske flytter bare kompleksiteten ut i konfigurasjon som reduserer kvalitet og skal unngås The Value of SOA Delivered
Example Policy Rules for A2A services • Alle tjenester må ha EN navngitt eier • Alle tjenester skal ligge i en tjeneste katalog • Alle tjenester skal gi forretningsverdi • Alle tjenester skal gjøre en ting og en ting godt • Alle tjenester skal være kategorisert (OW SOA kategori) • Alle tjenester skal ha ett "authentication/authorisation/endpoint strategi" • Alle tjenester skal dokumenteres med en Service Level Agreement SLA innenfor lag (respons tid, oppe tid) The Value of SOA Delivered
Example Policy Rules for Aggregated Core services • Alle tjenester må ha EN navngitt eier • Alle tjenester skal gi forretningsverdi • Alle tjenester skal gjøre en ting og en ting godt • Alle tjenester skal ha en versjonerings strategi (ACS, CS) • Skal etableres en prosess for monitorering av bruk av tjenester • Alle tjenester skal ha ett "authentication/authorisation/endpoint strategi" • Alle tjenester skal dokumenteres med en Service Level Agreement SLA • respons tid: <30ms • oppe tid: 99.995%) The Value of SOA Delivered
Example Policy Rules for Core services • Alle tjenester skal gjøre en ting og en ting godt • Alle tjenester må ha EN navngitt eier • Alle tjenester skal ha minst et Evolving Service Endpoint • Alle tjenester skal ha både heartbeat og trafikkrapportering • Alle tjenester skal ha ett "authentication/authorisation/endpoint strategi" • Alle tjenester skal dokumenteres med en Service Level Agreement SLA • respons tid: <30ms • oppe tid: 99.995%) • Core services skal ha sterk ortagonal funksjonalitet The Value of SOA Delivered
Suggestions and guides Techology per Category Developers have always known how to deliver successful SOA!
Summary technology/strategy(.NET technology) Developers have always known how to deliver successful SOA!
Summary technology/strategy (.NET technology)
Real-world example: problem & resolution Policy enforcement quiz The Value of SOA Delivered
Case: Prosjekt-tjeneste med behov for ressurser • Man har en ProsjektRepositoryService (CS) som leverer prosjekter fra prosjektdatabasen • Nytt krav: En ny klient/tjenste ønsker å vise prosjektene med tilhørende ressurser. • Alternativ 1: Man utvider ProsjektRepositoryServices med metoder som returnerer prosjekter med tilknyttede ressurser • Alternativ 2: Man lager en ProsjektRessurs ACS-tjeneste som kobler sammen informasjon fra ProsjektRepositoryService og ResourceRepositoryService The Value of SOA Delivered
Case: diskusjon • Alternativ 1 er raskeste vei til mål – men • Policy brudd: • En tjeneste skal gjøre en ting og en ting godt • Her vil man potensielt få duplisering av ResourceRepositoryService funksjonalitet i ProjectRepositoryService • Vil en resource fra ProjectRepositoryService være kompatibel med en ressurs fra ResourceRepositoryService? • Hva blir ansvarsfordelingen mellom ProjectRepositoryService og ResourceRepositoryService når det gjelder tilgangstyring/cache strategier m.m.? • CS tjenester skal ha orthogonal funksjonalitet. Orthogonality guarantees that modifying the technical effect produced by a component of a system neither creates nor propagates side effects to other components of the system. The emergent behavior of a system consisting of components should be controlled strictly by formal definitions of its logic and not by side effects resulting from poor integration Orthogonality reduces testing and development time because it is easier to verify designs that neither cause side effects nor depend on them. if(!Totto) { string explanation = HttpGet(http://en.wikipedia.org/wiki/Orthogonal); Console.Write(explanation); } The Value of SOA Delivered
Case: videre diskusjon • ResourceRepositoryService har ikke naturlig ”tilgang” til prosjektdatabasen, men ProjectRepositoryService har. • Alternativ 1: La prosjekt-domene objektet inneholde en id-liste • Alternativ 2: La ResourceRepositoryService spørre i projectdatabasen • Alternativ 3: La ProsjektRepositoryService være ansvarlig knytningene mellom de to CoreServicene. • Og hva med kilder som ikke har ’fornuftige’ IDer, f.eks • Kun interne GUIDs • Konstruere logiske IDer? The Value of SOA Delivered
Categorized Services in Action DEMO The Value of SOA Delivered
ContractDashboard InvoiceRegistration FixtureMaintenance Invoicing FixtureRegistration PaymentPlanning Fixture Contact Account Vessel Port Organization Lorentzen & Stemoco Arkitektur Invoice The Value of SOA Delivered
A2A: Invoicing The Value of SOA Delivered
Key Takeaways • Make a concious decision about your integration strategy • Consider Service Categorization seriously if SOA is your current strategy, or might be in the future • Consider your size and resources • Have clear ROI goals • Observe that a SOA strategy might have potential for your business if you do it right. The potential is in the processes and loosely coupled, high cohesive services The Value of SOA Delivered
Totto – totto@objectware.no Mads – mads@objectware.no Øystein – oystein.garshol@objectware.no Takk for oppmerksomheten! Få med dere neste SOA Sesjon: Developers have alwaysknownhow to deliversuccessful SOA! The Value of SOA Delivered
Appendix The Value of SOA Delivered