Upload
rinah-roth
View
59
Download
0
Tags:
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
The Value of SOA Delivered
The Value of SOA Delivered 1
Microsoft Application Platform Conference
11. April 2007
Mads Nissen & Totto
Objectware AS
SpeakerBio
Totto
•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...
Mads Nissen
•Teamleder i Objectware•Arkitekt, utvikler, teknologisk kverulant
•MOSS (Sharepoint)•SOA•.NET & C#•Workflow
•Microsoft Most Valuable Professional ’05/’06
•Bachelor Computer Science
2The 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
3The Value of SOA Delivered
SOA IN OBJECTWARE
Objectwares approach to Service Orientation and Architecture
4The Value of SOA Delivered
5
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
6The Value of SOA Delivered
JUSTIFICATION FOR SOASome points to the challenge for successful SOA today
7The Value of SOA Delivered
Legacy CRM Inventory Billing
CustomerCustomerCustomer
Integration challengesSuppliers Customer Internal users Partner
Product
Product
8The 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).
1010The Value of SOA Delivered
CATEGORIZING SERVICESThe Service Manifest and the Categorization Framework
11The 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.
12The 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
16The Value of SOA Delivered
17
Kunde
KundeWorkspace
KundeOversikt
KundeVedlikehold
KundeOppfølging
Analysebenken
The Value of SOA Delivered
MSCRM Mobile / Outlook Client
MSCRM Admin Client
MSCRM Web Client
Microsoft CRM 3.0 in SOA Context
Service ContextService Context Product ContextProduct Context
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)
19The 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
20The 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
21The 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..
23The 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
24The 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
26The 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)
27The 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%)
28The 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
29The Value of SOA Delivered
TECHOLOGY PER CATEGORY
Suggestions and guides
30Developers have always known how to deliver successful SOA!
IMPL
STRATEGY
•Windows Forms•Microsoft Office (as smart client)•Pure ASP.NET•MOSS (Sharepoint platform) incl. Sharepoint Designer for H2A workflow•Enterprise Human Workflow with K2.NET / Skelta / Captaris ++
•Portal connectors useful
•BizTalk Server•Enterprise Human Workflow products can do some tasks (see left pane)
Summary technology/strategy(.NET technology)
33Developers have always known how to deliver successful SOA!
TECHNOLOGY
• .NET 1.0/2.0 ASMX•Windows Communication Foundation (WCF)
• IIS Hosted• Windows service / Self-hosted
• In-proc (rarely)
• .NET 1.0/2.0 ASMX•.NET Remoting•Windows Communication Foundation (WCF)
• IIS Hosted• Windows service / Self-hosted
•In-proc
IMPL.
• .NET code• BizTalk orchestrations can do a good job for mapping and high throughput
• .NET code• BizTalk orchestrations can do a good job for mapping and high throughput
Summary technology/strategy(.NET technology)
34
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
36The 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.
37The Value of SOA Delivered
if(!Totto){ string explanation = HttpGet(http://en.wikipedia.org/wiki/Orthogonal); Console.Write(explanation);}
if(!Totto){ string explanation = HttpGet(http://en.wikipedia.org/wiki/Orthogonal); Console.Write(explanation);}
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.
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.
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?
38The Value of SOA Delivered
40The Value of SOA Delivered
Lorentzen & Stemoco Arkitektur
Account
Contact
Vessel Port
Organization
Fixture
ContractDashboard InvoiceRegistration
FixtureRegistration
FixtureMaintenance
PaymentPlanning
Invoicing
Invoice
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
45The Value of SOA Delivered
TAKK FOR OPPMERKSOMHETEN!
Totto – [email protected]
Mads – [email protected]
Øystein – [email protected]
46The Value of SOA Delivered
Få med dere neste SOA Sesjon:
Developers have always known how to deliver successful SOA!