Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Service Oriented Architecture Charlie Abela Department of Artificial Intelligence [email protected] Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture © 2 Lecture Outline Service Oriented Architecture Web Services Architecture Web Services Standard Technologies Limitations of Standard Technologies CSA 3210 Service Oriented Architecture © 3 Service Oriented Architecture Any environment where: Services are ubiquitous and organically integrated Systems are assembled from a loosely coupled collection of services, which CSA 3210 A service is a software building block that is well-defined and selfcontained Ideally does not depend on the context or state of other services Have a published interface Can communicate with each other Services that utilize Web Services standards (WSDL, SOAP, UDDI) are the most popular type of services available today Service Oriented Architecture © 4 Elements of SOA Loose coupling: focus should be on high-level contractual relationships Implementation neutrality: the interface is what should matter Flexible configurability: late binding of components Long lifetime: components should exist long enough to be discovered, to be relied upon, and to engender trust in their behaviour Granularity: interactions and dependencies should occur at as high level as possible Teams: computation in open systems should be conceptualized as business partners working as a team CSA 3210 Service Oriented Architecture © 5 Trend “By 2008, SOA will be a prevailing software engineering practice, ending the 40-year domination of monolithic software architecture (0.7 probability). … Through 2008, SOA and Web services will be implemented together in more than 75 percent of new SOA or Web services projects (0.7 probability).” David McCoy and Yefim Natis, Service-Oriented Architecture: Mainstream Straight Ahead CSA 3210 Service Oriented Architecture © 6 Benefits of SOA … in the long term the values of Web services and SOA will be evident. Web services deployed in SOA: Leverage open standards to represent virtually all software assets as services including legacy applications, packaged applications, J2EE components and Web services. Effect that individual software assets become building blocks that can be reused in developing other applications. Provide developers with a standard way of representing and interacting with software assets without having to spend time working with unique interfaces and low-level APIs. Help reducing the complexity, cost, and risk of integration by providing a single, simple architectural framework in which to build, deploy, and manage application functionality. Enable enterprises to easier integrate processes as well as to react on changing market requirements more quickly. SOA is useful in many aspects and should be part of the most forward-looking software projects. Over time, lack of SOA experience will become a competitive disadvantage for many enterprises. Siemens - Web Services and Service Oriented Architectures The Impact on Business Applications CSA 3210 Service Oriented Architecture © 7 SOA: Integration layer Service-oriented architecture introduces a new logical layer: the service integration layer CSA 3210 Establishes a common point of integration within application tiers and across application boundaries Service Oriented Architecture © 8 SOA: Participant Roles and Interactions SOA is based upon the interactions between three roles: Provider - the owner of the service Registry or Broker - manages repositories of information on providers and their software assets Requestor - discovers and invokes software assets provided by one or more providers There are three fundamentals interactions: CSA 3210 Publishing - providers publish information (or metadata) about services to a registry Finding (service location) - requestors query a public or private registry for service description Binding - requestors use the service description to create a message to be sent to the service provider Service Oriented Architecture © 9 Web Services Web services is the integration technology preferred by organizations implementing SOA Trigger point – weakness of HTML model for ecommerce solutions A new model of distributed computing The natural evolution of distributed programming Mainly for use by other applications Sockets RPC Distributed Objects Web Services To simplify application integration and interoperability Goal: provide a simple application-to-application interface Fundamental Issues that had to be addressed CSA 3210 A common framework for Web service interactions based on open standards An agreed set of vocabularies and interactions Service Oriented Architecture © 10 What is a Web Service? “A Web service is a software application identified by a URI, whose interfaces and binding are capable of being defined, described and discovered by XML artifacts and supports direct interactions with other software applications using XML based messages via internet-based protocols” (W3C) “… a piece of business logic accessible via the Internet using open standards ..” (Microsoft) CSA 3210 Service Oriented Architecture © 11 Component & Web Services: Comparison Component-Based Model Mainly designed for processes within the enterprise Different protocols and technologies (e.g. EJBs, DCOM, CORBA) CSA 3210 Typically, programming language dependent Usually bound to a particular transport Web Service Model Mainly designed for processes across enterprises Uses common protocol and technologies (e.g. XML, SOAP, WSDL, …) Service Oriented Architecture © Programming language independent Easily bound to different transport 12 Web Services: A New Paradigm? What is unique about Web service? XML-Based - XML as the data representation layer for all Web services protocols and technologies Loosely-coupled - a consumer of a web service is not tied to that web service directly The only contract that have to be agreed upon between communicating parties is the syntax and semantics of XML messages. Ability to be synchronous or asynchronous Coarse-grained - a piece of business logic Will allow: CSA 3210 No need to agree on object model No need to agree on programming language, No need to agree on programming APIs. On the fly composition of new functionality Decomposition and distribution of large scale processing tasks across many devices Service Oriented Architecture © 13 Tight VS Loose Coupling Tight coupling Very efficient interaction Very compressed communication Requires “deep knowledge” Problems with changes Loose coupling CSA 3210 Less efficient interaction Not as many subtle details conveyed Does not require “deep knowledge” Service Oriented Architecture © 14 Why Web Services? Interoperable – Connect across heterogeneous networks using web-based standards Economical – Recycle components, no installation and tight integration of software Automatic – No human intervention required even for highly complex transactions Accessible – Legacy assets & internal applications are exposed and accessible on the web (security issues) Available – Services on any device, anywhere, anytime Scalable – No limits on scope of applications and amount of heterogeneous applications CSA 3210 Service Oriented Architecture © 15 Service Composition Web services can be interlinked together to provide a larger set of services Applications can be developed out of web services assembled from all over the Internet. CSA 3210 Service Oriented Architecture © 16 Web Services Standards Four standards define the critical elements of Web services: Extensible Markup Language (XML + XML Schema) Simple Object Access Protocol (SOAP) Allows servers to describe services being offered Universal Description, Discovery, and Integration (UDDI) CSA 3210 Describes handshaking with server Web Service Definition Language (WSDL) Describes format of the request and response; data types Protocol for listing services in a directory Service Oriented Architecture © 17 Relationship between 1st Generation Standards CSA 3210 Service Oriented Architecture © 18 Web Services: Architecture CSA 3210 Service Oriented Architecture © 19 Standards: A more detailed view CSA 3210 Service Oriented Architecture © 20 Choreography and Orchestration Choreography Specifies the behavioural interface for service consumption A Service User (Client) has to support this for consuming a Web Service consists of messages & their order, errors, and communication Orchestration CSA 3210 Specifies how the functionality of a Web Service is achieved by aggregating other Web Services Support for Service Provider to specify composed web services Service Oriented Architecture © 21 Limitations of Standard Technologies Standard technologies exhibit little flexibility and expressiveness and restrict the usability of Web services to human users rather than software agents. UDDI: WSDL: CSA 3210 search mechanism relies on pre-defined categorizations (tModels) through keywords and does not refer to the semantic content of the advertisement. no support for the definition of logical constraints between its input and output parameters, has no precondition, postcondition (effect). Service Oriented Architecture © 22 Suggested Reading Service Oriented Architecture New to SOA What is Service Oriented Architecture? http://webservices.xml.com/pub/a/ws/2003/09/30/soa.html Web Services Architecture (W3C) CSA 3210 http://www-128.ibm.com/developerworks/webservices/newto/ http://www.w3.org/TR/ws-arch/ Service Oriented Architecture © 23 Next Lecture Business Process Modelling BPEL Semantic Web Services CSA 3210 OWL-S Initiative Service Oriented Architecture © 24