Professional Documents
Culture Documents
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
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
Services expose schemas defining data structures and contracts defining available operations Contracts and schema may be independently versioned over time
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
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
SOA
Policies Practices Frameworks
Existing Assets
Low Cost Best Practice Approach
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
From
Connections = value Process oriented Build for change Incrementally deployed Orchestrated solutions Loosely coupled
To
Object oriented
Message oriented
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
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
Prototypes
Endpoints
WebServiceEndpoint WebContentEndpoint GenericEndpoint
Applications
WindowsApplication ASP.NETWebService ASP.NETWebApplication OfficeApplication ExternalWebService ExternalDatabase BizTalkWebService GenericApplication
Connected Systems
User Interaction
Federated Data
Active Directory
SQL Server
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
U n io n o f T o d ays S tacks
Windows Communication Foundation (WCF) (formerly Indigo)
MessageMessageOriented Programming
WS-* WSProtocols
Composability Extensibility
AttributeAttributeBased Programming
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
MSMQ Integration
Named Pipes
Custom Behavior
Throttling Behavior
Custom Channel
Queue Transport
Feature Overview
End-to-end Security
Confidentiality, integrity, authentication, authorization X509, Username/Password, Kerberos, SAML, custom
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
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
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
What is Exposed
Requires message body <arg> string <arg> Service reply message body <return> int <return>
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.
WCF will supersede existing connected systems technologies. Other technologies continue to co-exist, interoperate and be supported via support policy
WSE-n
WCF
ASMX
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
http://msdn.microsoft.com/vstudio/
Visual Studio 2005 Express (CD in your bags)