Overview of Web Services and Service Oriented Architecture (SOA)

Slides:



Advertisements
Similar presentations
David Martin for DAML-S Coalition 05/08/2003 OWL-S: Bringing Services to the Semantic Web David Martin SRI International
Advertisements

18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Web Service Architecture
Siebel Web Services Siebel Web Services March, From
Overview of Web Services
Web Services.
31242/32549 Advanced Internet Programming Advanced Java Programming
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
UDDI v3.0 (Universal Description, Discovery and Integration)
1 Understanding Web Services Presented By: Woodas Lai.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
WEB SERVICES DAVIDE ZERBINO.
UDDI, Discovery and Web Services Registries. Introduction To facilitate e-commerce, companies needed a way to locate one another and exchange information.
Web Services Kaarthik Sivashanmugam Department of Computer Science The University of Georgia.
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.
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.
Technical Architectures
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.
UDDI Ashish Jain University of Colorado 3 October, 2001.
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.
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
Processing of structured documents Spring 2003, Part 6 Helena Ahonen-Myka.
Introduction to UDDI From: OASIS, Introduction to UDDI: Important Features and Functional Concepts.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
WEB SERVICES Web Development Technology. 2 Contents How it’s work? –Definition –Simple Web Service Invocation –Web Service Description –SOAP –UDDI.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
UNIT – II ARCHITECTING WEB SERVICES. WHAT ARE WEB SERVICES ? Web Services are loosely coupled, contracted components that communicate via XML-based interfaces.
Web Services (SOAP, WSDL, and UDDI)
What is Service Oriented Architecture ? CS409 Application Services Even Semester 2007.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
Lecture 15 Introduction to Web Services Web Service Applications.
Dodick Zulaimi Sudirman Lecture 14 Introduction to Web Service Pengantar Teknologi Internet Introduction to Internet Technology.
Web Services (SOAP, WSDL, UDDI) SNU OOPSLA Lab. October 2005.
Architecting Web Services Unit – II – PART - III.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Dr. Bhavani Thuraisingham October 2006 Trustworthy Semantic Webs Lecture #16: Web Services and Security.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
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.
Introduction to Server-Side Web Development Introduction to Server-Side Web Development using JSP and Web Services JSP and Web Services 18 th March 2005.
WebService. Outline Overview of Web Services SOAP (messaging) WSDL (service description) UDDI (registry)
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
Kemal Baykal Rasim Ismayilov
WEB SERVICE DESCRIPTION LANGUAGE (WSDL). Introduction  WSDL is an XML language that contains information about the interface semantics and ‘administrivia’
David Smiley SOA Technology Evangelist Software AG Lead, follow or get out of the way Here Comes SOA.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
INFSO-RI Enabling Grids for E-sciencE Web Services Mike Mineter National e-Science Centre, Edinburgh.
Lecture VI: SOAP-based Web Service CS 4593 Cloud-Oriented Big Data and Software Engineering.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
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.
A service Oriented Architecture & Web Service Technology.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Sabri Kızanlık Ural Emekçi
Wsdl.
Service-centric Software Engineering
WEB SERVICES DAVIDE ZERBINO.
OWL-S: Bringing Services to the Semantic Web
Distributed System using Web Services
Presentation transcript:

Overview of Web Services and Service Oriented Architecture (SOA) Vijayan Sugumaran School of Business Administration Oakland University Rochester, MI 48309

Background Build a distributed computing platform for the Web Applications are encapsulated, loosely coupled Web “components” that can bind dynamically to each other Easily find these components and integrate them to meet specific requirements Plug-and-Play Buy and integrate code into your system Subscribe to necessary services

What are Web Services? New breed of Web application Self-contained, self-describing, modular applications that can be published, located, and invoked across the Web 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

Web Services Promise Web Services connect computers and devices with each other using the Internet to exchange data and combine data in new ways. The key to Web Services is on-the-fly software creation through the use of loosely coupled, reusable software components. Software can be delivered and paid for as streams of services as opposed to packaged products. Business services can be completely decentralized and distributed over the Internet. The dynamic enterprise and dynamic value chains become achievable and may be even mandatory.

Attributes of Web-Services Web-based Protocols : Web-services based on HTTP are designed to work over the public internet. The use of HTTP for transport means these protocols can traverse firewalls, and can work in a heterogeneous environment. Interoperability : SOAP defines a common standard that allows differing systems to interoperate. E.g., the tooling allows Visual Basic clients to access Java server components and vice versa. XML-based : The Extensible Markup Language is a standard framework for creating machine-readable documents. Fremantle et al. 2002, Enterprise Services, CACM. Oct

Web Services Technologies Web Services technology and underlying standards are being rapidly developed Introduction of ebXML for Web Service has generated lot of interest in the B2B market. To provide services, the interface of the service should be described with a standard language. The contents of services should be registered with a registry, shared on the Web. A service repository is a distributed directory of services and has functions for searching and registering.

Web Services Technologies (continued) In the service registry, information about service’s location and usage are included. A particular user could use one or more of the services at run time to accomplish a particular task. Standards are needed to perform the integration function

Designing Web Services Enable universal interoperability Enable (Internet scale) dynamic binding Support service oriented architecture (SOA) Efficiently support both open (Web) and more constrained environments Based on standards. Pervasive support is critical Minimal amount of required infrastructure should be assumed Very low level application integration expected

Web Services Standards UDDI provides a mechanism for clients to find web services. A UDDI registry is similar to a CORBA trader, or it can be thought of as a DNS service for business applications. WSDL defines services as collections of network endpoints or ports. A port is defined by associating a network address with a binding; a collection of ports define a service. SOAP is a message layout specification that defines a uniform way of passing XML-encoded data. In also defines a way to bind to HTTP as the underlying communication protocol. SOAP is basically a technology to allow for “RPC over the web”.

Web services technology stack Collection of Web Services standards has been put together and categorized into different levels depending upon their function Divided into four levels: protocol, description, interaction and security Helps us to understand the purpose of the standards and their underlying assumptions that might be required Example: interaction level (CS-WS) presupposes process description level (BPEL4WS), and focuses on exchange of messages based on the order of sequence described in the process description level

Web Services Stack (Turner et al., 2003)

Web Services: How They Work? SOAP Messages Requestor (http transport) SOAP Client Web Service Provider Components required Software which needs to be exposed as a Web service A SOAP Server (Apache Axis, SOAP::Lite, etc.) HTTP Server (if HTTP is used as the transport level protocol) SOAP Client (Apache Axis, SOAP::Lite etc.) From S. Chandrasekaran’s Talk

Simple Web Service Invocation Service Requestor Remote Web Service Repository (Web Sites) 2 Manual Web Service Lookup HTTP GET 3 WSDL File Write Client Code 1 Remote Web service 4 SOAP Request Invoke Web Service Publish Web Service 5 SOAP Response WSDL - Web Service Description SOAP - Web Service Message Protocol From S. Chandrasekaran’s Talk

Web Service Description Why describe Web services? A service requestor needs to analyze a service for his requirements A Web service needs to provide the following information the operations it supports the transport and messaging protocols on which it supports those operations the network endpoint of the Web service Languages such as WSDL, DAML-S, RDF can be used for describing Web services WSDL – describes the syntactic information of a service DAML-S and RDF – describe the syntactic as well as the semantic information From S. Chandrasekaran’s Talk

SOAP-Simple Object Access Protocol Simple lightweight protocol for exchanging XML data over the Web Envelop for transmitting messages, guidelines for encoding data, rules for representing remote procedure calls (RPCs) SOAP message structure – an XML element with two child elements Header – security, routing, proper handling of message Body – actual message to be transmitted Also defines a model that dictates how recipients should process SOAP messages The message model also includes actors, which indicates who should process the message

Web Service Message Protocol - SOAP SOAP is an XML Messaging Protocol that allows software running on disparate operating systems, running in different environments to make Remote Procedure Calls (RPC). Header Body

WSDL – Web Services Description Language Describes the programmatic interface of a web service – similar to IDL Two parts of WSDL description: Application-level (abstract interface) Vocabulary, Message, and Interaction data type definitions, operations supported by the service, input/output message formats Specific protocol-dependent details network address, protocol bindings, etc. what communication protocol to use how to accomplish individual service interactions where to terminate communication A port element describes a single end point as a combination of a binding and a network address A service element groups a set of related ports

Web Service Description (WSDL) Abstract Description Concrete Description From S. Chandrasekaran’s Talk

UDDI – Universal Description, Discovery, and Integration Mechanism to register and locate web services Interaction with UDDI accomplished via a set of pre-defined SOAP interfaces Web services register two types of information within UDDI: tModel (technical model) Abstract service protocols that describe a particular web service’s behavior businessEntity Describes the service implementation Refers to multiple tModels and provides descriptions about the behavior of the collection of tModels

UDDI (Universal Description, Discovery and Integration) UDDI serves as a “Business and services” registry and are essential for dynamic usage of Web services UDDI APIs Publication API - Authenticated set of operations that allow organizations to publish businesses, services, service type specifications Inquiry API - Non authenticated public set of operations that allows users to extract information out of the UDDI registry. From S. Chandrasekaran’s Talk

From S. Chandrasekaran’s Talk UDDI UDDI classifies businesses and services according to standard taxonomies Why Classification ? Searches based on keywords alone, could return a large set of hits for a particular search Classification of services and businesses allows to perform better searches Registry Data White Pages Yellow Pages Green Pages ServiceType Registrations From S. Chandrasekaran’s Talk

From S. Chandrasekaran’s Talk UDDI White Pages contains business name, text description, contact info and other related info. Yellow Pages contains classification information about the business entity and types of the services the entity offers. e.g. a business entity could have itself classified as a sports equipment manufacturer and also as a skateboard manufacturer. Green Pages contains information about how to invoke the offered services. If a business entity were to offer its catalog online, its Green pages entry would have a reference to its catalog URL From S. Chandrasekaran’s Talk

From S. Chandrasekaran’s Talk UDDI Service Types Reusable, abstract definitions of services ( ~ abstract part of WSDL) that are defined by industry groups and standard bodies. These reusable abstractions are referred to as “Technology Models” The UDDI data structure corresponding to this is called “TModels” TModels Any abstract concept can be registered within UDDI as a TModel. e.g. If you define a new WSDL port type, you can define a TModel that represents the port type within the UDDI From S. Chandrasekaran’s Talk

Business Registrations How UDDI Works ? Marketplaces, search engines, and business apps query the registry to discover services at other companies 4. 1. SW companies, standards bodies, and programmers populate the registry with descriptions of different types of services Business Registrations Businesses populate the registry with descriptions of the services they support 2. UDDI Business Registry Business uses this data to facilitate easier integration with each other over the Web 5. Service Type Registrations 3. UBR assigns a programmatically unique identifier to each service and business registration Source : http://www.uddi.org/pubs/UDDI_Overview_Presentation.ppt

Service Oriented Architecture and Related Challenges

Current Business Trends How can, new value be created by leveraging existing technology investments? How can technology help reconfigure operational processes and improve flexibility through business process outsourcing? How can companies move from one-channel, single business unit solutions to cross-enterprise, multi-channel solutions? How can the inside-out process perspective (customer management, supply chain) be balanced with an outside-in services view

Service Oriented Architecture (SOA) SOA - structure of the system Includes software components, externally visible properties of those components, relationships among them, and constraints on their use The underlying foundation for designing and developing SOA is the emerging field of Web Services Enables different software components to be integrated without having to develop these components from scratch - no hassle of custom coding

Services Aspect of Web-Services Modular : Service Components are useful in themselves, reusable, and it is possible to compose them into larger components. Available : Services are available to systems that wish to use them. Services must be exposed outside of the particular paradigm or system they are available in. Described : Services have a machine-readable description that can be used to identify the interface of the service, and its location and access information. Implementation-independent : The service interface must be available in a way that is independent of the ultimate implementation. Published : Service descriptions are made available in a repository where users can find the service and use the description to access the service. Fremantle et al. 2002, Enterprise Services , CACM. Oct

Putting it Together Web Services (SOAP, UDDI, WSDL) Data exchange between two programs in XML format Operate on syntactic level : Web services infrastructure do not access data content. Web Service Requestor UDDI repository Provider Invoke through SOAP Discover or access WSDL Register

Web Services Invocation Invocation Model One way invocation Request/Reply invocation Solicit/Response invocation Invoked Entity (Service Provider) Publishes WSDL operation with input and output message Invoker (Service Requester) : No concept Especially not a “subroutine” call a la RPC with appropriate stack operations or stub generation

WS-Based Development Standards organizations Three stakeholders Wide Web Consortium (W3C) Organization for the Advancement of Structured Information Systems (OASIS) Web Services Industry body (WS-I) Microsoft, IBM, BEA, Sun Micro Systems, SAP, Oracle and Hewlett-Packard Three stakeholders service provider service consumer Web Services Standards Organizations Several challenges exist in integrating Web Services into E-commerce applications

WS Based Application Development Issues Identifying and analyzing the challenges that exist for each of these stakeholders Presents a framework that organizes and inter-relates the challenges in an easily understandable manner The framework is intended to help both the service consumers and providers in improving their expectations and quality regarding Web Services

Concerns with SOA-based Application Development Automate individual applications based on cross-organizational, heterogeneous software components Coordination of a set of Web Services working toward a common goal Web services performance needs to be optimized Quality of service parameters as well as service level agreements Monitoring and controlling of Web Services

Standards Organizations Stakeholders WS Providers WS Consumers WS Integrators & Publishers Web Service Vendors Application Assemblers End Users Standards Organizations W3C OASIS WS-I Others

Challenges in WS Integration Important issues with adoption of web services insufficient standardization low acceptance of service consumers critical mass of available useful services Need a framework for studying web services adoption technical and non-technical issues associated with web services deployment These two dimensions have to be investigated for all the major stakeholders web service providers, web service consumers, and standards organizations

Web Services Providers Identifying new web services requirements, design, implementation, testing, eliciting customer feedback Web services development strategy, architecture standards, and design requirements Service provider specific processes such as metering, accounting, and billing Service delivery overhead Coordination function is critical because business transactions usually follow a contractually defined, fixed pattern

Web Service Providers (contd.) Support for versioning management Quality of Service (QoS) policy Service Level Agreements (SLAs), legally binding contracts that establish bounds on various QoS metrics Unpredictable workloads and high peak-to-average ratios in workload intensity Implementing priority-based admission control mechanisms

Web Service Consumers Application Assemblers and End Users Difficulty in identifying relevant web services and integrating them to generate a cohesive application Manually search for web services, typically by completing a web form to search a repository Dealing with web services that evolve over time For discontinued services application should automatically search for the next best fit and seamlessly integrate it

Web Service Consumers Service Integrators face a number of issues: Efficiency - web services execution must be very efficient Expressiveness - B2B interactions are complex, requires expressive set of supported integration concepts Security - interactions must be secured to prevent attacks of all types, and non-repudiation must be provided for reliable record keeping Reliability - remote and distributed communication must be reliable, and messages must be sent exactly once to ensure dependable interactions Manageability - inter-enterprise communication changes frequently, requiring easily manageable technology

WS Standards Organizations Business process dynamics and nonfunctional properties of service-enabled processes are poorly addressed Current standards do not put forth a methodology to assist designers in building web services on top of legacy assets Specifications to support creating robust service compositions Standards-based definition of an interoperability communication protocol

WS Standards Organizations Mechanisms for service description, discovery, and composition and a basic set of quality of service protocols Design guidelines, including: large granularity of messages asynchronous messaging, bi-directionality of services, endpoint discovery, service agents, request pipeline context and content-based routing

Overall Challenges Framework Web Services Suppliers Web Services Consumers Web Services Registry Web Services Standards Organizations

Web Services Supplier Technical Challenges Service description and profile WS accessibility, and documentation Architecture standards & infrastructure Design Requirements Web services evolution Managerial Challenges Pricing & Quality of Service commitments Identifying new services Customer feedback and support Partnerships with third party providers Demand management and Liability

Web Services Consumer Technical Challenges Search and identification of relevant WS Customization and integration Validation and testing Technology, domain & task characteristics Tools, infrastructure and metrics Managerial Challenges WS utilization strategy Promoting WS, training and education Resource allocation and support Incentives and rewards Partnership management and Security

WS Standards Organizations Technical Challenges Service description, publishing & invocation WS technology stack components Modeling web services Architectures for WS applications Specifications for all aspects of WS Managerial Challenges Future directions for WS research & practice WS implementation guidelines Vendor cooperation for common standards Open standards and interoperability Consistency between standards

Summary Mass market for web services are slow to materialize and businesses are slow to adopt web services technology Web services based development warrants a shift in paradigm, and managers are ill equipped to assess the advantages and disadvantages Myriad of challenges faced in adopting web services haven’t been thoroughly explored Challenges framework for studying the adoption and diffusion of web services from the stakeholders’ perspective Managerial challenges have to be investigated using relationships between web service producers and consumers