1 / 86

Object Oriented Analysis and Design

Object Oriented Analysis and Design. Service Oriented Architecture (SOA). Outline. The Service Oriented Society Service-Oriented Architecture (SOA) Web Services. Outline. The Service Oriented Society Service-Oriented Architecture (SOA) Web Services. Context, Composition and State.

keitaro-rin
Download Presentation

Object Oriented Analysis and Design

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. Object Oriented Analysis and Design Service Oriented Architecture (SOA)

  2. Outline • The Service Oriented Society • Service-Oriented Architecture (SOA) • Web Services

  3. Outline • The Service Oriented Society • Service-Oriented Architecture (SOA) • Web Services

  4. Context, Composition and State • Services are most often designed to ignore the context in which they are used • It does not mean that services are stateless they are rather context independent ! • This is precisely my / the definition of “loosely coupled” • Services can be reused in contexts not known at design time • Value can be created by combining, i.e. “composing” services • Book a trip versus book a flight, car, hotel, …

  5. Service Interfaces • Non proprietary • All service providers offer somewhat the same interface • Highly Polymorphic • Intent is enough • Implementation can be changed in ways that do not break all the service consumers • Real world services interact with thousands of consumers • Service providers cannot afford to “break” the context of their consumers

  6. Intents and Offers • Service consumer expresses “intent” • Service providers define “offers” • Sometimes a mediator will: • Find the best offer matching an intent • Advertise an offer in different ways such that it matches different intent • Request / Response is just a very particular case of an Intent / Offer protocol

  7. Service Orientation and Directories • Our society could not be “service oriented” without the “Yellow Pages” • Directories and addressing mechanisms are at the center of our service oriented society • Imagine • Being able to reach a service just by using longitude and latitude coordinates as an addressing mechanism? • Only being able to use a service if you can remember its location, phone or fax number?

  8. Service Orientation is Scalable • Consumers can consume and combine a lot of services since they don’t have to know or “learn” how to use a service • Service providers can offer their services to a lot more consumers because by optimizing • The user interface • Access (Geographical, Financial, …) • They were able to provide the best quality of service and optimize their implementations

  9. 2010 2000 1990 1980 Internet LAN Web XML WS SOA EAI ? Business Integration BPM B2B WS J2EE .NET Client / Server Web/Portal Connectivity Drives the Emergence and Convergence of Technologies Office Workflow EDI Mainframe

  10. 1980 1990 2000 2010 LAN Web XML WS SOA LAN WAN Web Global Connectivity Enables Global Processes and Information Access Internet Information Local Business Processes

  11. SOA So… • Today, the value is not defined as much by functionality anymore but by connectivity • However, we need a new programming model • Why SOA today? • We are reaching a new threshold of connectivity and computing power Mainframe Client Server Web

  12. Coordination 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 • Enterprise solutions • Loosely coupled • Message oriented • Abstraction Source: Microsoft (Modified)

  13. Why? The Value of SOA • A Fundamental Assumption: Business Processes Rule • The Evolution of Application Architecture • Enterprises Today • Service-Oriented Enterprises: An Idealized Picture • Service-Oriented Enterprises: The Reality • Why SOA Makes Sense: Technical Benefits • Why SOA Makes Sense: Business Benefits

  14. A Fundamental Assumption: Business Processes Rule • Everything enterprise IT does is in the service of some business process • Service-oriented architecture (SOA) is about making business processes: • Better • Easier to change • Cheaper to create

  15. Why SOA Makes Sense: Technical Benefits • Building business processes is faster and cheaper: • Existing services can more easily be reused • Apps can expose their services in a standard way • Applications can be exposed more easily to diverse clients: • Windows clients, ASP.NET/JSP, etc.

  16. Why SOA Makes Sense: Business Benefits • Business people understand services • So IT people can talk with them more easily • Business processes become explicit • So they can more easily be understood and improved • Applications or business processes might be more easily outsourced • Because they’re well-defined and discrete

  17. Outline • The Service Oriented Society • Service-Oriented Architecture (SOA) • Web Services

  18. Service Oriented Architecture • Service-oriented architecture (SOA) is an approach to loosely coupled, protocol independent, standards-based distributed computing where software resources available on the network are considered as Services • SOA is believed to become the future enterprise technology solution that promises the agility and flexibility the business users have been looking for by leveraging the integration process through composition of the services spanning multiple enterprises

  19. What is SOA ? • A Service-Oriented Architecture (SOA) is a way of designing a software system and its surrounding environment to provide services either to end-user applications, to executable business processes or to other services through published and discoverable service interfaces. • Benefits: • Loose couplingamong interacting software agents • A mechanism for integrating software componentson dissimilar platforms • Supportsnon-intrusive reuseof software components in ways not specifically predicted at development time • Can enable easier insourced/outsourced development by breaking systems down into smaller chunks

  20. Service Broker Company A Company B Discover Publish Application A Application B ObjectA ----------------------------- ----------------------------- ---------------------------- --------------------------- Service Interface ObjectB ------------ ------------ ------------ ------------ The Service Oriented Architecture • New? No • Rocket science? Not really • A change in thinking? Most definitely! • Can you run right out and buy one? Well…..

  21. The SOA Model

  22. Applications or Services Services ServicesRequestor Not Quite Zen, But… • It’s an architectural concept, not a shrink-wrapped product… ServicesLocator ServicesBroker ServicesProvider • …with immense industry support in the form of standards and products, and momentum is growing

  23. Services & SOA • Service is an entity that provides some capability to its clients by exchanging messages. Operations are defined in terms of message exchanges • A service oriented architecture (SOA) is one in which all entities are services and any operation visible to the architecture is the result of message exchange

  24. What is SOA ? • Encapsulates enduring services of agency mission • Leverages highly cohesive, loosely coupled components • Provides network discovery endpoint • Establishes a contract through an interface • Decoupled from underlying implementation

  25. Service-Oriented Architecture • Provides services to consumers via standards-based, published, and discoverable interfaces • Elevates abstraction level for code re-use • Applications can bind to services that evolve and improve over time • No modifications are required to the applications that consume them • Provides a clear model to integrate software systems • Inside the enterprise, and • Across organizational boundaries • Provides the foundation for global-class, connected applications

  26. Paradigm Shift • Paradigm shift away from the all-encompassing software application to the ‘software-as-a-service’ model • Represents a major change in the underlying platform to one that supports interoperability of software • Focus is away from one program = one application to one application made up of a collection of software modules

  27. Service Oriented Architecture • Software is no longer seen as an application to execute but as a service to consume • Analogy to the electric grid

  28. Characteristics • The software components in a SOA are services based on standard protocol • Services in SOA have minimum amount of interdependencies • Communication infrastructure used within an SOA should be designed to be independent of the underlying protocol layer • Offers coarse-grained business services, as opposed to fine-grained software-oriented function calls • Uses service granularity to provide effective composition, encapsulation and management of services

  29. Service Granularity • Service granularity refers to the scope of functionality a service exposes. Fine-grained services provide a small amount of business-process usefulness, such as basic data access. Coarse-grained services are constructed from fine-grained services that are intelligently structured to meet specific business needs

  30. Granularity Coarser- grained Looser coupling required Looser coupling desired Looser coupling ? Finer- grained Service Granularity Add order Release order Order processmanager Add order headerrelease order item Order processmanager Addressmanager Location.Validate Locationcomponent Postcodecomponent

  31. Service Composition

  32. Service Management • There are three levels of service management • Management of the services and their interfaces • Management of the underlying system • Management of the interaction between the services and the underlying system

  33. SOA Metamodel SOA is a form of enterprise architecture and can be represented using models. SOA metamodel is a model that contains the following three models.

  34. Differences: SOA vs. Existing Model Driven Architecture (MDA) • SOA is an alternative model to the more traditionally tightly-coupled object-oriented models like Common Object Request Broker Architecture (CORBA) and Distributed Component Object Model (DCOM) • In SOA individual services can be build with object-oriented designs but the overall design of SOA is service-oriented

  35. Differences (cont.) • SOA today differs in the usage of a more generic standard-based interface language XML (eXtensible Markup Language) used in Web Services Definition Language (WSDL) compared to the older Interface Definition Language (IDL) found in CORBA • SOA is based on the concept of using services that can communicate through standard protocols like SOAP allowing a more loosely coupled architecture. In older models objects were more tightly coupled due to the usage of vendor specific communication standards

  36. Differences (cont.) • IBM’s MQseries is yet another message-oriented middleware system but it lacks the organized workflow definition required for the services to interoperate • SOA supports the composition of coarse-grained services from fine-grained services to provide a business solution in an easily deployable and usable manner • For interoperability of services spanning multiple enterprises, SOA should provide service level agreements and operational policies

  37. Outline • The Service Oriented Society • Service-Oriented Architecture (SOA) • Web Services

  38. Web Services and SOA • Web Services are an open standards-based way of creating and offering SOAs • Web Services are able to exchange structured documents that contain different amounts of information, as well as information about that information, known as metadata. In other words, Web Services can be coarse grained. Such coarse granularity is one of the most important features of SOAs

  39. What Is A Web Service ? • New Buzz Word In IT Application Domain • New Application Wave After Web & HTTP • From Information Sharing To Application Sharing – “Services” Making The Internet A Great Asset • Web-Enable Features: Simplicity & Ubiquity • Next Generation Of Distributed Computing Platform – Based On Open Standards, Independent On Specific Platforms & Protocols, More Interoperability Than Middleware Platforms, Like RMI, Jini, CORBA, DCOM, … • Linking Applications Without Changing Applications, WS Wrapper • Based On Existing Technology Infrastructure • XML, HTTP

  40. Web Services Architecture • Standards + Smart Messaging • Three Key Aspects: • Wire/Messaging Stack XML -- Common Data Exchange Format HTTP -- Run Everywhere On The Internet SOAP – XML-Formatted Envelopes, RPC/HTTP • Definition/Description Stack XML Schema WSDL – Web Service Description Language Business Process Orchestration • Discovery Stack Registry UDDI – Universal Description, Discovery and Integration

  41. Web Services Definitions • W3C • A software system identified by a URI, who’s public interfaces and bindings are defined and described using XML. • SUN • …Software components that can be spontaneously discovered, combined and recombined to provide a solutionto a users problem or request

  42. Web Services Definitions • IBM • “Web services are a new breed of Web application. They are self-contained, self-describing, modular applications that can be published, located, and invoked across the Web. Web services perform functions, which can be anything from simple requests to complicated business processes. Once a Web service is deployed, other applications (and other Web services) can discover and invoke the deployed service”

  43. Web Services Definition • Self-Describing, Self-Contained, Modular Applications That Can Be Mixed and Matched With Other Web Services (IBM) • A Service Available Via The Internet That Complete Tasks, Solve Problems, Or Conduct Transactions (HP) • A Web Service Is A URL-Addressable Software That Performs Functions and Provides Answer, Supported By A Lightweight Standard SOAP Communication Protocol and UDDI Directory

  44. Web Services Definition • 5 Key Characteristics of Web Services (SUN): • Accessibility Via The Web • Exposure Of A XML Interface • Ability To Be Located Via A Registry • Use Of XML Messages Over Standard Web Protocols • Support Of Loosely Coupled Connection Between Systems

  45. Web Services Definition • Web Services Are A New Breed Of Web Applications. They Are Self-Contained, Self-Describing, Modular Applications That Can Be Published, Located, and Invoked Across The Web. Web Services Perform Functions That Can Be Anything From Simple Requests To Complicated Business Process. Once A Web Service Is Deployed, Other Applications (And Other Web Services) Can Discover A Deployed Service.

  46. Benefits Of Web Services • Ease Of Integration – Enables Applications, Machines, Business Processes To Work Together In A Revolutionary Way • Accessibility – A Great Step Toward Simple Access To Software Over The Internet, Any Time, Any Place and Any Means/Devices • Dynamic Business Interoperability & Integration • Efficient & Agile Application Development – Reusable Resources • Service-Oriented Development – New Paradigm • Software As A Service -- New Business Model Web Services Providers (WSP) • WS as An e-Services Mean For Business Services

  47. Web Services Application Infrastructure • Three Kinds Roles May Be Distinguished: • Service Providers Wrap Business Functionality Or Applications As A Web Service With SOAP, WSDL, Register & Publish It Onto Broker Using UDDI • Service Brokers UDDI Registry • Service Requesters Using UDDI Search & Discover The Desired Service From Broker, Send SOAP Requests As Specified In WSDL and Get SOAP Response From Providers

  48. From Hype To Reality • WS Standards & Products Are Still In Their Infancy • Age-Old Problems Still Exist: Like Data Mapping, Transactional Integrity, Trust & Security etc. There Is Still Not An Acceptable Complete Security Model For Web Services • WS Needs Costs and Some Performance Trade-Off XML Messages Are Rather Large Additional Development Works • Learning Curve For Adopting New Technologies Take Time For WS To Proliferate & Accept, Especially For Experiences In Loosely-Coupled, Asynchronous Service Architecture How To Test & Debug A WS System • Licensing & Charging Models To Be Resolved

  49. WS Applications Development Strategy • Customer-Centric Development Strategy – Closely Aligning Business Objectives • What Services The Customers Need Most, Different From Previous ? • Design/Plan From Outside In, Implement From Netting It Out • Wrap Rather Than Replace • Don’t Think Of An Entire Legacy System As A Single Web Service, Select Core, Fine Grained Functions As Web Services • Not Take A Pure WS Development For A Complete Application • Learn WS Basic By Pilot Experiments

  50. WS Technology Categories • WS Development And Assembly Environments • WS Deployment Environments • UDDI And Directory Services • Service Infrastructure Services • Adaptive Business Process Environments

More Related