Sie sind auf Seite 1von 46

Service Oriented Architecture: Right on Track

Agenda
Defining SOA
SOA, Service Orientation, Connected Systems and how they relate

Benefits of SOA
Mi crosoft s vi si on for S O A
Why Microsoft provides the best platform for building your SOA today, and in the future

Defining SOA

Cutting through the SOA Hype


Myth
SO is a technology or set of technologies SO is revolutionary SO is the end goal SO requires business and technology overhaul

Reality
SO is an architectural paradigm for building distributed systems SO is evolutionary

SO is a means to an end
SO can and should be an incremental process SO is easy and can be done inhouse

SO is complex and requires an army of consultants

T he onl y w a y yo u ca n u se S O A fo r e ve ryth i ng i s to re n a m e e ve ryth i n g to SO A Roy Schulte, Gartner

Services, Service Orientation and SOA

Service An endpoint that reacts to messages Service Orientation An architectural paradigm


that employs the following four tenets:
Boundaries are explicit Services are autonomous Services share schema and contract, not class Service compatibility is determined based on policy

Service Oriented Architecture (SOA) Any


architecture the adheres to the Four Tenets of Service Orientation

Tenet 1 Boundaries are Explicit

Services interact by exchanging messages


Each message exchange traverses boundaries and may have costs SO formalizes intentional, and explicit interaction

Tenet 2 Share Schema and Contract, Not Types

Services expose schemas defining data structures and contracts defining available operations Contracts and schema may be independently versioned over time

Tenet 3 Policy defines Service Compatibility

Policy is the statement of communication requirements necessary for service interaction Service capabilities and requirements are expressed in terms of a policy expression
A policy can contain multiple assertions

Tenet 4 Services Are Autonomous

A u ton om y In d ep en d en ce Topology of a system evolves over time Unlike OO, services do not share behavior Services gracefully handle failure

Web Services and SOA


Web Services
EAI Messaging EDI/B2B Web Site/Portal Distributed Computing Standard Protocols Universal Support Technology Realization

SOA
Policies Practices Frameworks

Existing Assets
Low Cost Best Practice Approach

Service Orientation Big Picture Business Process View


Coarse Grained Web Service Operations Finer Grained Internal Service Operations Fine Grained Object and database calls

Business Component

Business Component

Composite Application

Business Process

Composite Applications
Applications composed of multiple service building blocks Composed, not built Cut across functional silos
Portal Devices Office Other

Composite Application
Composition Platform
Existing Systems

Benefits of SOA

Today
Business Issues
Increased Customer Focus Outdeliver the Competition Get the most value for your investment

Technical Issues
Integration costs Development time Future proof against new technologies Heterogeneous environment Support new devices

Shift To Service Orientation


Connections = cost

From

Connections = value Process oriented Build for change Incrementally deployed Orchestrated solutions Loosely coupled

To

Function oriented Build to last Prolonged development


Application silos Tightly coupled

Object oriented

Message oriented

SOA Business Benefits


Cost

Decreased cost
Reduces TCO and increase ROI on evolving systems Add value to core investments by leveraging existing assets New systems can be built faster for less money because existing services can be more easily reused Built for flexibility Long term value of interoperability

SOA Business Benefits


Productivity

Increased employee productivity


Unlock data Built on existing skills Consolidate Duplicate Functionality

SOA Business Benefits


Partnership

Built for partnerships


Standards based Business relationships expressed via service interactions Integration is driven by what is needed, not what is technically possible.

SOA Business Benefits


Agility

Agility - Built for change


Helps applications evolve over time and last Abstract the backend and replace over time Access to the business value, no matter what technology delivers it. Focusing on core-competencies Incremental implementation approach is supported.

Microsoft leading the way with SOA

Microsoft and SOA


Connected Systems is the moniker we use to describe the eco-system of SOA enabled applications SOA enables integration Web Services is the messaging fabric for SOA .NET is the programming model for Services Windows and server platform is the hosting platform for Services

Microsoft SOA Business Value

XML and Web Services Built in from the ground up


Servers have had XML objects since 2000 versions .NET Framework built for web services

More productive development environment


Fewer lines of code Larger Ecosystem Faster time to market

Integrated Application Environment


Developer tool built for the Framework Framework integrated into the OS OS services optimized for the Framework

The Application Server is built-in and evolving

Mi cro so ft s S O A S trateg y
Leading the charge with Web Services Building Connected Systems Best platform to realize service orientation
Visual Studio ASMX, WSE SQL XML Smart Client Office, Windows Mobile Committed to open standards, interoperability WS-I, W3C, OASIS, HL7, AIAG, SWIFT

Perceived as leaders e ve n b e fo re w e sta rte d

Visual Studio Team System Edition for Software Architects

Application Designer (AD)

Endpoints and Application

Prototypes

Endpoints
WebServiceEndpoint WebContentEndpoint GenericEndpoint

Applications
WindowsApplication ASP.NETWebService ASP.NETWebApplication OfficeApplication ExternalWebService ExternalDatabase BizTalkWebService GenericApplication

Defining Web Service Operations

Implementing the Application

Implementing the Application


Application architects and/or developers can implement one or more of the applications on the diagram Implementing is the process of creating the Visual Studio projects (similar to File > New) Generates starter source code, content, and config files based on Visual Studio templates Implementing requires the Team Edition for Software Architects or Team Suite

Connected Systems

User Interaction

Workflow and Process

Federated Data

Identity and Access

Messaging and Services

Create seamless, rich user experiences

Compose and integrate business processes

Provide seamless access to multiple data stores

Provide seamless and integrated security

Connect heterogeneous systems

Microsoft SOA Enablement

Visual Studio 2005 BizTalk Server Office and VSTO

MOM Architectural Guidance

Active Directory

Windows Communication Foundation

SQL Server

Windows Communication Foundation

Windows Communication Foundation


T h e u n i fi ed p rog ram m i n g m od el fo r rap i dl y bui l di ng service-ori en ted ap p l i cati on s on th e W i n d ow s p l atform

Unification

U ni fi e s to d a y s di stri b u te d te ch n o l o g y sta cks Composable functionality Appropriate for use on-machine, cross machine, and cross Internet WS-* interoperability with applications running on other platforms In te ro p e ra b i l i ty w i th to d a y s di stri b u te d sta cks

Interoperability & Integration


Productive ServiceService -Oriented Programming

Service-oriented programming model Supports 4 tenets of service-orientation Maximized developer productivity

U n io n o f T o d ays S tacks
Windows Communication Foundation (WCF) (formerly Indigo)

MessageMessageOriented Programming

WS-* WSProtocols

Composability Extensibility

ServiceServiceOriented Programming Interop

AttributeAttributeBased Programming

WCF Windows Communication Foundation

Class TradeApp { [WebMethod] message ExecuteTrade(); }

[ServiceContract] Class EnterpriseTradeApp { [ServiceOperation] message ExecuteTrade (); }

Composability in Action
Service Model Layer
CLR Type Integration Transaction Behavior Instancing Behavior

Messaging Layer
Reliable Messaging Security Channel HTTP Custom TCP Transport Channel

Behaviors
Metadata Behavior Error Handling Behavior Instancing Behavior Security Channel

Channels
HTTP Transport

Transaction Behavior

Reliable Messaging

TCP Transport

Concurrency Behavior

CLR Type Integration

MSMQ Integration

Named Pipes

Custom Behavior

Throttling Behavior

Custom Channel

Queue Transport

Security, Reliability, Transactions

Feature Overview

End-to-end Security
Confidentiality, integrity, authentication, authorization X509, Username/Password, Kerberos, SAML, custom

End-to-end Reliable messaging


In-order guarantees Exactly once guarantees

Transactions
Guaranteed atomic success or failure across services

Development Productivity
Using Visual Studio .NET 2003

class HelloService { [WebMethod] public String Hello(String Greeting) { X509CertificateCollection collection = new X509CertificateCollection(); IntPtr blob = Marshal.AllocHGlobal(Marshal.SizeOf( typeof(CRYPTOAPI_BLOB))); IntPtr data = (IntPtr)((int)blob + Marshal.SizeOf(typeof(CRYPTOAPI_BLOB))); SeqAckRange range = new SeqAcknRange(id, low, high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges );

20,379 lines
security

5,988 lines
reliable messaging

25,507 lines
transactions

4,442 lines
infrastructure

hr = pITxDispenser->BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction);


return Greeting; } }

Total lines 56,296

Development Productivity
Using Visual Studio .NET 2003 and WSE

class HelloService { [WebMethod] public String Hello(String Greeting) { foreach ( SecurityToken tok in requestContext.Security.Tokens { X509SecurityToken token = tok as X509SecToken } SeqAckRange range = new SeqAcknRange(id,low,high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); hr = pITxDispenser->BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction); return Greeting; } }

10 lines
security

1,804 lines
reliable messaging

25,507 lines
transactions

Total lines 27,321

Using Visual Studio 2005 and WCF (Indigo)

Development Productivity

[ServiceContract(SecureChannel, SecurityMode =Windows")] [Reliability(Guarantees.ExactlyOnce | Guarantees.InOrder)] [ServiceContract] class HelloService { [ServiceOperation(TransactionFlowAllowed = true)] String Hello(String Greeting) { return Greeting; }

1 lines
security

1 lines
reliable messaging

1 lines
transactions

Total lines 3

How WCF implements the tenets of SOA


Application Code
[FederatedSecurity] [Discoverable] [TcpTransport] [ServiceContract] Class MyService { [ServiceOperation] int MyMethod(string arg) { } }

Contract Schema (WSDL + XSD)

What is Exposed

Requires message body <arg> string <arg> Service reply message body <return> int <return>

Autonomy (WS(WS-Security family, WSWS-Discovery)

Nothing! Assume any messages received are rogue A u tom a tica Boundaries lly a n n ou n ces th e are services existen ce on explicit startup, optionally to central directory Exposes endpoint that responds to Find requests
Nothing about implementation/platform exposed.

Find and call the service using public standards with any implementation.

Contract Policy (WS(WS-Policy)


Requires WSWS-Security, Trust, SCT Requires use of TCP SOAP binding

Roadmap Provides Continuity


WSE1 WSE2

WCF will supersede existing connected systems technologies. Other technologies continue to co-exist, interoperate and be supported via support policy

WSE-n

WCF

ASMX

ASMX Enterprise Services .NET Remoting Com(+) MSMQ

Designing for WCF


Build services using ASMX Use WSE for WS-* support Keep components within your service boundaries Use System.Messaging for async queued messaging Use Enterprise Services when transactions, activation required Avoid or abstract low-level .NET Remoting extensibility such as sinks, channels

Summary
Service Orientation is an architectural paradigm, conforming to the four tenets

Service Orientation reflects the realities of building heterogeneous distributed systems Service Orientation enables agility and the ability to leverage existing assets, without having to rip-and-replace The Microsoft platform provides the best tools to enable you to build Service Oriented systems today and leads the industry in innovation for the future

CALL TO ACTION

Learn about SOA


Ask questions http://blogs.msdn.com/pooyad

Use Visual Studio 2005


create web services
easy it is)

(i f yo u h aven t al rea d y, an d see h o w

http://msdn.microsoft.com/vstudio/
Visual Studio 2005 Express (CD in your bags)

K eep u p to d ate w i th M i croso ft s A rch i tectu re Vision http://www.architecturejournal.net/


Sign up for the Architecture Journal

Das könnte Ihnen auch gefallen