Service Oriented Architecture

Slides:



Advertisements
Similar presentations
Oct, 26 th, 2010 OGF 30, NSI-WG: Network Service Interface working group Web Services Overview Web Services for NSI protocol implementation
Advertisements

18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Siebel Web Services Siebel Web Services March, From
Overview of Web Services
31242/32549 Advanced Internet Programming Advanced Java Programming
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
1 Understanding Web Services Presented By: Woodas Lai.
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
Building an Operational Enterprise Architecture and Service Oriented Architecture Best Practices Presented by: Ajay Budhraja Copyright 2006 Ajay Budhraja,
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
1 Introduction to SOA. 2 The Service-Oriented Enterprise eXtensible Markup Language (XML) Web services XML-based technologies for messaging, service description,
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
Service-oriented architecture. The Basic main concepts –Service-orientation describes an architecture that uses loosely coupled services to support the.
Web Service What exactly are Web Services? To put it quite simply, they are yet another distributed computing technology (like CORBA, RMI, EJB, etc.).
Web Services Michael Smith Alex Feldman. What is a Web Service? A Web service is a message-oriented software system designed to support inter-operable.
Web services A Web service is an interface that describes a collection of operations that are network-accessible through standardized XML messaging. A.
Processing of structured documents Spring 2003, Part 6 Helena Ahonen-Myka.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose.
What is Service Oriented Architecture ? CS409 Application Services Even Semester 2007.
Dr. Bhavani Thuraisingham October 2006 Trustworthy Semantic Webs Lecture #16: Web Services and Security.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
AUTHORS: MIKE P. PAPAZOGLOU WILLEM-JAN VAN DEN HEUVEL PRESENTED BY: MARGARETA VAMOS Service oriented architectures: approaches, technologies and research.
Chris Kuruppu NWS Office of Science and Technology Systems Engineering Center (Skjei Telecom) 10/6/09.
Service Oriented Architecture CCT355H5 Professor Michael Jones Suezan Makkar.
1 Web Services Web and Database Management System.
XML and Web Services (II/2546)
Kemal Baykal Rasim Ismayilov
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
Service Oriented Architecture + SOAP -Robin John.
Advanced Web Technologies Lecture # 5 By: Faraz Ahmed.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Web Services Blake Schernekau March 27 th, Learning Objectives Understand Web Services Understand Web Services Figure out SOAP and what it is used.
Identifying the Building Blocks of Web Services Web Services can convert your application into a Web-application, which can publish its function or message.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
By Jeremy Burdette & Daniel Gottlieb. It is an architecture It is not a technology May not fit all businesses “Service” doesn’t mean Web Service It is.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Service Oriented Architecture.  SOA is an architectural pattern in software design.  SOA application components provide services to other components.
Service-Oriented Software Engineering
Introduction to Web Services
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
Web Service Interview/VIVA
Unit – 5 JAVA Web Services
SOA (Service Oriented Architecture)
7. Service-oriented Architecture (SOA)
Overview of Web Services
Implementing a service-oriented architecture using SOAP
Introduction to Web Services and SOA
Service-centric Software Engineering
Service-centric Software Engineering 1
WEB SERVICES Mr. P. VASANTH SENA.
Web services, WSDL, SOAP and UDDI
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Service Oriented Architecture (SOA)
Service Oriented Architecture + SOAP
Introduction to Web Services
WEB SERVICES Mahmoud Rabie – EGJUG 2006.
Introduction to Web Services and SOA
Presentation transcript:

Service Oriented Architecture (SOA) 1

A service-oriented architecture (SOA) is an architectural pattern in computer software design in which application components provide services to other components via a communications protocol, typically over a network. The principles of service-orientation are independent of any vendor, product or technology. A service is a self-contained unit of functionality, such as retrieving an online bank statement hence a service is a discretely invokable operation. Services can be combined to provide the functionality of a large software application. SOA makes it easier for software components on computers connected over a network to cooperate.

Every computer can run any number of services, and each service is built in a way that ensures that the service can exchange information with any other service in the network without human interaction and without the need to make changes to the underlying program itself. SOA implementations rely on a mesh of software services. Services comprise unassociated, loosely coupled units of functionality that have no calls to each other embedded in them. Each service implements one action, such as filling out an online application for an account, or viewing an online bank-statement, or placing an online booking or airline ticket order.

Principles The following guiding principles define the ground rules for development, maintenance, and usage of the SOA: Reuse, granularity, modularity, compensability, componentization and interoperability.  Standards-compliance (both common and industry-specific). Services identification and categorization, provisioning and delivery, and monitoring and tracking.

Attributes of a SOA In addition, one might take the following factors into account when defining a SOA implementation: Efficient use of system resources Service maturity and performance EAI (Enterprise Application Integration) is defined as the use of software and computer systems architectural principles to integrate a set of enterprise computer applications.

SOA and Web service protocols Service encapsulation – Many web services are consolidated for use under the SOA. Often such services were not planned to be under SOA. Service loose coupling – Services maintain a relationship that minimizes dependencies and only requires that they maintain an awareness of each other. Service contract – Services adhere to a communications agreement, as defined collectively by one or more service-description documents. Service abstraction – Beyond descriptions in the service contract, services hide logic from the outside world.

SOA and Web service protocols… Implementers commonly build SOAs using web services standards (for example, SOAP) that have gained broad industry acceptance. These standards (also referred to as Web Service specifications) also provide greater interoperability and some protection from lock-in to proprietary vendor software. One can, however, implement SOA using any service-based technology, such as Jini, CORBA or REST.

SOA and Web Services Service-oriented architecture is Derived from the client-server architectural style. Clients (service consumers or requesters) and servers (service providers) connected by a service “bus”. Services defined using formal interfaces (contracts). Service bus supports point-to-point and messaging styles of communication. Support for system qualities, e.g., security and transaction management. Web services Services provided in a SOA deployed over the web. Open source software for SOA, IONA Technologies A-Trenaman-SOA.pdf

Key standards SOAP (Simple Object Access Protocol) A message exchange standard that supports service communication. WSDL (Web Service Definition Language) This standard allows a service interface and its bindings to be defined. UDDI (Universal Description Discovery and Integration) Defines the components of a service specification that may be used to discover the existence of a service.

Service-oriented architecture UDDI SOAP WSDL

SOAP (Simple Object Access Protocol) SOAP, is a protocol specification for exchanging structured information in the implementation of web services in computer networks. It uses XML Information Set for its message format, and relies on other application layer protocols, most notably Hypertext Transfer Protocol (HTTP) or Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission.

WSDL (Web Service Definition Language) WSDL  is an XML-based interface definition language that is used for describing the functionality offered by a web service. The acronym is also used for any specific WSDL description of a web service (also referred to as a WSDL file), which provides a machine-readable description of how the service can be called, what parameters it expects, and what data structures it returns.

UDDI (Universal Description Discovery and Integration) UDDI is a platform-independent, Extensible Markup Language protocol includes a (XML)-based registry by which businesses worldwide can list themselves on the Internet, and a mechanism to register and locate web service applications. UDDI is an open industry initiative, sponsored by the Organization for the Advancement of Structured Information Standards (OASIS), for enabling businesses to publish service listings and discover each other, and to define how the services or software applications interact over the Internet.

SOAP messages SOAP is based on message exchanges Messages are seen as envelops where the application encloses the data to be sent A message has two main parts: header: which can be divided into blocks body: which can be divided into blocks SOAP does not say what to do with the header and the body, it only states that the header is optional and the body is mandatory Use of header and body, however, is implicit. The body is for application level data. The header is for infrastructure level data SOAP Envelope SOAP header Header Block SOAP Body Body Block

SOAP example, header and body <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> <SOAP-ENV:Header> <t:Transaction xmlns:t="some-URI" SOAP-ENV:mustUnderstand="1"> 5 </t:Transaction> </SOAP-ENV:Header> <SOAP-ENV:Body> <m:GetLastTradePrice xmlns:m="Some-URI"> <symbol>DEF</symbol> </m:GetLastTradePrice> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

SOAP and HTTP SOAP Envelope SOAP header Transactional context SOAP Body Input parameter 1 Input parameter 2 Name of Procedure HTTP POST Return parameter HTTP Acknowledgement SERVICE REQUESTER SERVICE PROVIDER RPC call HTTP engine SOAP engine Procedure SOAP and HTTP

Emerging web services platform

Build an SOA in 8 Steps Business needs come first (not services) What problem are we trying to solve? (2) What aspects can be implemented as services? Old services? New services? Legacy wrappers? (3) Track services with registries and repositories.

Build an SOA in 8 Steps (4) Govern the services. We need to encourage desired behavior at many levels, across enterprises, and at different stages. We need to monitor behavior, enforce policies & assess user satisfaction. (5) Secure the services. established standards, we need privacy, identification, authentication, and authorization. This may need to be federated security (over more than one organization.)

Build an SOA in 8 Steps (6) Manage the services. Are messages arriving on time? Is everything operating properly? (7) Virtualization through mediation. Are we free to move and change the services? Do we need an ESB that acts as a central hub for message routing and transformations? (8) Design for interoperability through the adoption of standards.

Benefits Some enterprise architects believe that SOA can help businesses respond more quickly and cost-effectively to changing market-conditions. This style of architecture promotes reuse at the macro (service) level rather than micro (classes) level. It can also simplify interconnection to – and usage of – existing IT (legacy) assets.

THANKS