1 / 20

Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA). Richard Godfrey CEng MBCS CITP Architect Developer & Platform Group Microsoft rgodfrey@microsoft.com. Agenda. Microsoft & SOA SOA technology & frameworks (.Net) Implementation. Business Architecture. Information Requirements. Functional

dextra
Télécharger la présentation

Service Oriented Architecture (SOA)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Service Oriented Architecture (SOA) Richard Godfrey CEng MBCS CITP Architect Developer & Platform Group Microsoft rgodfrey@microsoft.com

  2. Agenda • Microsoft & SOA • SOA technology & frameworks (.Net) • Implementation

  3. Business Architecture Information Requirements Functional Requirements Operational Requirements Information Architecture Application Portfolio Technology Architecture Aligning Business and IT Business Top Down BottomUp IT

  4. Moving to SOA: The Top-Down Approach • How it works: • Define a business architecture • Using, for example, Microsoft’s Motion methodology • Discover what services are required • Create service-oriented apps based on this • Pros: • It’s elegant, clean, and sensible • Cons: • It’s very difficult in most organizations • Getting the up-front funding and business buy-in is tough • Keeping up with business change is also tough

  5. Moving to SOA: The Bottom-Up Approach • How it works: • Build a service-oriented app • Then build another one • Next, work on central SOA issues, e.g., security and management • Then build another service-oriented app . . . • Pros: • It’s the only approach that has worked in most organizations • Cons: • It’s an inelegant, piecemeal way to address the problem

  6. SOA in One Slide – The “Message” Service Oriented Architecture Example of a tightly coupled solution Your Partner You Programming Language Programming Language Database Database Agreements Object Model Object Model Operating System Schema Operating System Application Server Application Server

  7. Development Evolution and .NET Application Scope Objects Visibility Reuse Instances Statics Components Some self definition eg Type Libraries Roles and events Web ServicesSelf describing WSDL, Request Response Local, w/in firewall, Machine to machine Ubiquitous WSA Shared Memory Procedural Parameters, returning values Global M to M IPC Tightly coupled Decoupled & Self Describing

  8. Process oriented Build to change Incrementally built and deployed Shift To A Service-Oriented Architecture From To • Function oriented • Build to last • Prolonged development cycles • Application silos • Tightly coupled • Object oriented • Known implementation • Orchestrated solutions • Loosely coupled • Message oriented • Abstraction

  9. Systems Operational Requirements composed of enforce Policies governed by exchange bound by have Message Exchange Pattern Messages Contracts describe is a set of Schemas define structure of contain Service OrientationKey Concepts Services

  10. Management Services The Anatomy of a “Service” SOAP Message Service Logic State Policy

  11. The Four Tenets of Service-Orientation Boundaries are Explicit Developers opt-in to consuming, exposing, and defining public-facing service façade. Services and consumers are independently versioned, deployed, operated, and secured. Services are autonomous Data never includes behavior; Objects with data and behavior are a local phenomenon. Share schema & contract, not class Compatibility based on policy Capabilities and requirements represented by a unique public name; Used to establish service suitability.

  12. Web Services Architecture“Secure, Reliable, Transacted services” BPEL4WS Business Processes ReliableMessaging Security Transactions Quality of Service Coordination WSDL, UDDI, Inspection Description SOAP (Logical Messaging) Other protocols Other services Messaging XML, Encoding Transport Transports

  13. Service Process Service DocumentA DocumentC-1 DocumentC-2 Contracts EitherC-1 or C-2 DocumentB Process SOA Design Issues • Schema definition • Message definition • Contract definition • Message handling • Process management • Transaction model • Operational compliance • Exception handling • Message to Object mapping • Refinement of Analysis • …

  14. Service Log Sign Message Processing Infrastructure Service Serialize Reliable messaging Encrypt Authorize Audit Message Processing Infrastructure Deserialize Authenticate Service Operations Issues • Security • Access control • Monitoring • Management • QoS and SLA enforcement • Versioning • Scalability • Dealing with unreliability • Exception routing • Caching

  15. Visual Studio .NET Health and Activity Tracking (HAT) Orchestration Designer Human Workflow Services Business Activity Monitoring (BAM) Business Rules Engine More BizTalk Server 2004 Engine BizTalk Server 2004 Orchestrations .NET Framework Windows

  16. “Indigo” Design Goals Unifies today’s distributed technology stacks Composable functionality Appropriate for use on-machine, cross machine, and cross Internet Unification “The unified programming model for rapidly building service-oriented applications on the Windows platform” WS-* interoperability with applications running on other platforms Interoperability with today’s distributed stacks Interoperability & Integration Productive Service-Oriented Programming Service-oriented programming model Supports 4 tenets of service-orientation Maximized developer productivity

  17. Productive DevelopmentSecure, Reliable, Transacted Application Development …Using Visual Studio .NET 2003 20,379 lines security • 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 ); • … • hr = pITxDispenser->BeginTransaction (NULL, • ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, • &pITransaction); • … • return Greeting; • } • } 5,988 lines reliable messaging 25,507 lines transactions 4,442 lines infrastructure Total lines 56,296

  18. Productive DevelopmentSecure, Reliable, Transacted Application Development …Using Visual Studio .NET 2003 and WSE 10 lines security class HelloService { [WebMethod] public String Hello(String Greeting) { foreach ( SecurityToken tok in requestContext.Security.Tokens { X509SecurityToken token = tok as X509SecurityToken } … SeqAckRange range = new SeqAcknRange(id, low, high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); … hr = pITxDispenser->BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction); … return Greeting; } } 1,804 lines reliable messaging 25,507 lines transactions Total lines 27,321

  19. Productive DevelopmentSecure, Reliable, Transacted Application Development …Using Visual Studio 2005 and Indigo 1 line security [ServiceContract(SecureChannel, SecurityMode =“Windows")] [Reliability(Guarantees.ExactlyOnce | Guarantees.InOrder)] [ServiceContract] class HelloService { [ServiceOperation(TransactionFlowAllowed = true)] String Hello(String Greeting) { return Greeting; } } 1 line reliable messaging 1 line transactions Total lines 3

More Related