Presentation is loading. Please wait.

Presentation is loading. Please wait.

Service Oriented Architecture

Similar presentations


Presentation on theme: "Service Oriented Architecture"— Presentation transcript:

1 Service Oriented Architecture
Charlie Abela Department of Artificial Intelligence

2 Service Oriented Architecture ©
Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture ©

3 Service Oriented Architecture ©
Lecture Outline Service Oriented Architecture Web Services Architecture Web Services Standard Technologies Limitations of Standard Technologies CSA 3210 Service Oriented Architecture ©

4 Service Oriented Architecture
Any environment where: Services are ubiquitous and organically integrated A service is a software building block that is well-defined and self-contained Ideally does not depend on the context or state of other services Systems are assembled from a loosely coupled collection of services, which 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 CSA 3210 Service Oriented Architecture ©

5 Service Oriented Architecture ©
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 ©

6 Service Oriented Architecture ©
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 ©

7 Service Oriented Architecture ©
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 ©

8 SOA: Integration layer
Service-oriented architecture introduces a new logical layer: the service integration layer Establishes a common point of integration within application tiers and across application boundaries CSA 3210 Service Oriented Architecture ©

9 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: 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 CSA 3210 Service Oriented Architecture ©

10 Service Oriented Architecture ©
Web Services Web services is the integration technology preferred by organizations implementing SOA Trigger point – weakness of HTML model for e-commerce solutions A new model of distributed computing The natural evolution of distributed programming Sockets  RPC  Distributed Objects Web Services To simplify application integration and interoperability Mainly for use by other applications Goal: provide a simple application-to-application interface Fundamental Issues that had to be addressed A common framework for Web service interactions based on open standards An agreed set of vocabularies and interactions CSA 3210 Service Oriented Architecture ©

11 Service Oriented Architecture ©
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 ©

12 Component & Web Services: Comparison
Component-Based Model Mainly designed for processes within the enterprise Different protocols and technologies (e.g. EJBs, DCOM, CORBA) 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, …) Programming language independent Easily bound to different transport CSA 3210 Service Oriented Architecture ©

13 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. No need to agree on object model No need to agree on programming language, No need to agree on programming APIs. Ability to be synchronous or asynchronous Coarse-grained - a piece of business logic Will allow: On the fly composition of new functionality Decomposition and distribution of large scale processing tasks across many devices CSA 3210 Service Oriented Architecture ©

14 Tight VS Loose Coupling
Tight coupling Very efficient interaction Very compressed communication Requires “deep knowledge” Problems with changes Loose coupling Less efficient interaction Not as many subtle details conveyed Does not require “deep knowledge” CSA 3210 Service Oriented Architecture ©

15 Service Oriented Architecture ©
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 ©

16 Service Oriented Architecture ©
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 ©

17 Web Services Standards
Four standards define the critical elements of Web services: Extensible Markup Language (XML + XML Schema) Describes format of the request and response; data types Simple Object Access Protocol (SOAP) Describes handshaking with server Web Service Definition Language (WSDL) Allows servers to describe services being offered Universal Description, Discovery, and Integration (UDDI) Protocol for listing services in a directory CSA 3210 Service Oriented Architecture ©

18 Relationship between 1st Generation Standards
CSA 3210 Service Oriented Architecture ©

19 Web Services: Architecture
CSA 3210 Service Oriented Architecture ©

20 Standards: A more detailed view
CSA 3210 Service Oriented Architecture ©

21 Choreography and Orchestration
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 Specifies how the functionality of a Web Service is achieved by aggregating other Web Services Support for Service Provider to specify composed web services CSA 3210 Service Oriented Architecture ©

22 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: search mechanism relies on pre-defined categorizations (tModels) through keywords and does not refer to the semantic content of the advertisement. WSDL: no support for the definition of logical constraints between its input and output parameters, has no precondition, postcondition (effect). CSA 3210 Service Oriented Architecture ©

23 Service Oriented Architecture ©
Suggested Reading Service Oriented Architecture New to SOA What is Service Oriented Architecture? Web Services Architecture (W3C) CSA 3210 Service Oriented Architecture ©

24 Service Oriented Architecture ©
Next Lecture Business Process Modelling BPEL Semantic Web Services OWL-S Initiative CSA 3210 Service Oriented Architecture ©


Download ppt "Service Oriented Architecture"

Similar presentations


Ads by Google