42
The Value of SOA Delivered The Value of SOA Delivered 1 Microsoft Application Platform Conference 11. April 2007 Mads Nissen & Totto Objectware AS

The Value of SOA Delivered

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

9The 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

13The Value of SOA Delivered

14The Value of SOA Delivered

CATEGORIZING PRODUCTSServices never walk alone

15The 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

GOVERNANCESome words on the value of governing

18The 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)

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

HOW TO GOVERN

22The 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

POLICY PER CATEGORYExample rules per service category

25The 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

POLICY ENFORCEMENT QUIZ

Real-world example: problem & resolution

35The 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

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

DEMOCategorized Services in Action

39The 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

A2A: Invoicing

44The 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

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!

APPENDIX

47The Value of SOA Delivered