1 CS 483 Enterprise and Web Application Programming Week 7 Web Services.

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

Introduction to Web Services Protocols. Talk titledate2 Communication and standards Efficient (or indeed any) communication is dependent on a shared vocabulary.
Web Service Architecture
Siebel Web Services Siebel Web Services March, From
Overview of Web Services
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
Presentation 7 part 1: Web Services Introduced. Ingeniørhøjskolen i Århus Slide 2 Outline Definition Overview of Web Services Examples Next Time: SOAP.
Presentation 7: Part 1: Web Services Introduced. Outline Definition Overview of Web Services Examples Next Time: SOAP & WSDL.
Scale Up Access to your 4GL Application using Web Services
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.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
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.
Slide 1 EE557: Server-Side Development Lecturer: David Molloy Room: XG19 Mondays 10am-1pm Notes:
Grid Computing, B. Wilkinson, 20043a.1 WEB SERVICES Introduction.
2006 IEEE International Conference on Web Services ICWS 2006 Overview.
CS 415 N-Tier Application Development By Umair Ashraf July 6,2013 National University of Computer and Emerging Sciences Lecture # 9 Introduction to Web.
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.
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 Mohamed Fahmy Dr. Sherif Aly Hussein.
1 Web Services Distributed Systems. 2 Service Oriented Architecture Service-Oriented Architecture (SOA) expresses a software architectural concept that.
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.
1 Core Web Services Standards. 2 (Simplified) Web Service Architecture Registry 1. Service Registers PUBLISH 3. Client calls Service BIND 2. Client Request.
Outline  Enterprise System Integration: Key for Business Success  Key Challenges to Enterprise System Integration  Service-Oriented Architecture (SOA)
What is Service Oriented Architecture ? CS409 Application Services Even Semester 2007.
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
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.
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.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
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.
Semantic Web Technologies Research Topics and Projects discussion Brief Readings Discussion Research Presentations.
Web Services Presented By : Noam Ben Haim. Agenda Introduction What is a web service Basic Architecture Extended Architecture WS Stacks.
Enterprise Computing: Web Services
Web Services (SOAP) part 1 Eriq Muhammad Adams J |
XML and Web Services (II/2546)
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
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.
Kingdom of Saudi Arabia Ministry of Higher Education Al-Imam Muhammad Ibn Saud Islamic University College of Computer and Information Sciences Introduction.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
1 Service Oriented Architecture SOA. 2 Service Oriented Architecture (SOA) Definition  SOA is an architecture paradigm that is gaining recently a significant.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
EGEE is a project funded by the European Union under contract IST Introduction to Web Services 3 – 4 June
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.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
Web Service Interview/VIVA
Overview of Web Services
Implementing a service-oriented architecture using SOAP
Introduction to Web Services and SOA
Distributed System using Web Services
Introduction to Web Services and SOA
Distributed System using Web Services
Presentation transcript:

1 CS 483 Enterprise and Web Application Programming Week 7 Web Services

2 What are Web Services? W3C (establishes standards for Web services) defines Web services as: “A Web service is a software system identified by a URL whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web service in a manner prescribed by its definition, using XML-based messages conveyed by Internet protocols.”

3 What are Web Services? Web services are a result of the natural evolution of the Web Initially – the Web consisted of sites that were plain HTML pages Later – Web pages became dynamically generated Now – Web services provide a standardized way for applications to expose their functionality over the Web or communicate with other applications over a network – regardless of the app’s implementation, programming language, or computer platform

4 Why Implement a Web Service? Web services can provide a means for an enterprise to: Expand its business offerings Increase the efficiency of it business processing Improve its customer experience Automate business processing by streamlining interactions with outside services (e.g., credit card and shipping services)

5 Why Implement a Web Service? Most important reason: Promote interoperability across different platforms, systems and languages

6 Service-Oriented Architecture (SOA) A Web service enables a service-oriented architecture SOA is an architectural style that promotes software reusability by creating reusable services Strategy where applications make use of services available in a network (such as WWW) SOA addresses complex enterprise environments due to the user of a variety of software and hardware platforms, Internet- based communication, and enterprise application integration (EAI)

7 Service-Oriented Architecture (SOA) Considered the wave of the future. Gartner reports that “By 2008, SOA will be a prevailing software engineering practice, ending the 40-year domination of monolithic software architecture” “Through 2008, SOA and Web services will be implemented together in more than 75% of new SOA Web service projects”

8 Service A service provides a specific function (usually business) Service can provide a single discrete function such as converting one type of currency to another Service can perform a set of related business functions such as airline reservation system called “course-grained” SOA is a way of sharing functions in a widespread and flexible way

9 Service-Oriented Architecture

10 Service-Oriented Architecture In SOA, you have the following: Service that implements the business logic and exposes this business logic through well-defined interfaces. Registry where the service publishes its interfaces to enable clients to discover the service Clients who discover the service using registries and access the service directly through the exposed interfaces Loose coupling – means that the client of the service is essentially independent of the service Client does not have to know much about the service to use it (i.e., implementation language, platform) it just needs to know the interface

11 SOA SOA uses the find-bind-execute paradigm. In this paradigm, service providers register their service in a public registry. This registry is used by consumers to find services that match certain criteria. If the registry has such a service, it provides the consumer with a contract and an endpoint address for that service.

12 Benefits of Web Services Interoperability in a heterogeneous environment Allows distributed services to run on a variety of software platforms and architectures, and use different languages Business services through the Web Example – supply chain management Integration with existing systems Provide developers with standard ways to access middle-tier and back-end services or legacy systems and integrate them with other applications

13 Benefits of Web Services Freedom of choice Large number of choices for tools, products and technologies to enhance developer productivity Support multiple clients Java, Microsoft, wireless, etc Programming productivity Web services create a common programming environment for faster development

14 Web Services Infrastructure and Components Security Service descriptions (in WSDL) Applications Directory service Web Services XML Choreography SOAP URIs (URLs or URNs)HTTP, SMTP or other transport

16 Challenges of Web Services Development Key challenge today is that Web services are still in their infancy Evolving technologies and products Security More important than ever! Exchange and distribute data requires top security Key issues: reliability, availability, and scalability

17 Web Services Protocols and Technologies Web services approach is based on a maturing set of standards that are widely accepted and used This enables clients and services to communicate and understand each other across a wide variety of platforms and across language boundaries These are: XML SOAP WSDL Emerging standards

18 XML eXtensible Markup Language (XML) has become the de facto standard for describing data to be exchanged on the Web An XML tag identifies the information in a document and the structure of a document For example: My Life and Times Felix Harrison </book? XML document typically associated with a schema that specifies what tags are allowed, their structure, and their meaning Adopted as the language of Web services

19 Simple Object Access Protocol (SOAP) Though agreeing on the meaning and structure of XML tags makes the use of XML an effective way to exchange data, it's not sufficient for data interchange over the Web. For instance, you still need some agreed-upon protocol for formatting an XML document so that the receiver understands what the main, "payload," part of the message is, and what part contains additional instructions or supplemental content. That's where Simple Object Access Protocol (SOAP) comes in.Simple Object Access Protocol (SOAP)

20 Simple Object Access Protocol (SOAP) SOAP is an XML-based protocol for exchanging information in a distributed environment. SOAP provides a common message format for exchanging data between clients and services. The basic item of transmission in SOAP is a SOAP message, which consists of a mandatory SOAP envelope, an optional SOAP header, and a mandatory SOAP body.

21 SOAP Message Soap Envelope specifies XML namespace names that can be used in message encoding style – data types recognized in message Header usually used to convey security-related information to be processed Body Main part of message

22 SOAP Message Example – Retrieve the Price of a Book

23 SOAP Messages A related standard called SOAP Messages with Attachments (SAAJ) specifies the format of a SOAP message that includes attachments For example – images SOAP messages are transported using protocols such as HTTP or SMTP SOAP messages are platform and operating system independent

24 Web Service Description Language (WSDL) WSDL is an XML document that is a description of the Web service’s interface WSDL defines an XML schema for defining a Web service Describes the format client uses in making a request for a service Defines the request itself To uncover the description of a Web service, a client needs to find the service’s WSDL document Most common way is for the client to find a pointer to the WSDL document in the Web service’s registration This is done in an UDDI registry or ebXML registry

25 Web Service Description Language (WSDL) Typical scenario Business registers its service in a UDDI (Universal Description, Discovery, and Integration) registry or ebXML registry Registry entry includes a pointer to the WSDL file that contains the WSDL document for the service Client searches the registry and finds the service Programmer uses the interface information in the WSDL document to construct the appropriate calls to the service

26 UDDI UDDI defines how to publish and discover information about services in a UDDI- conforming registry Identifies the types of XML data structures that comprise an entry in the registry for a service Think of it as a “yellow pages” for Web services Provides name of service Brief description of what it does Address where it can be accessed Description of the interface for accessing the service

27 UDDI Example - BooksToGo

28 Emerging Standards WS-Security Standard released in March 2004 Describes security-related enhancements to SOAP messaging that provide for message integrity and confidentiality Integrity means that the SOAP message is not tampered with as it travels from a client to its final destination Confidentiality means that a SOAP message is only seen by intended recipients Quite flexible and can be used with security models and encryption technologies Public-key infrastructure (PKI) Secure Sockets Layer (SSL)

29 Emerging Standards SAML Security Markup Assertion Language XML-based framework for exchanging security information Through SAML, multiple services can exchange security information Can do things like single sign-on for accessing multiple, related services

30 Emerging Standards WS-BPEL Web Services Business Process Execution Language XML-based language for coordinating Web services Example – processing a purchase order – involves multiple steps performed in a specific sequence that need to act like a unit WS-BPEL uses WSDL to describe Web services that participate in a process and how the services interact

31 Realizing SOA with Web Services with Sun Sun's Java Web Services Developer Pack 1.5 (Java WSDP 1.5) and Java 2 Platform, Enterprise Edition (J2EE) 1.4 can be used to develop state-of-the-art web services to implement SOA. The J2EE 1.4 platform enables you to build and deploy web services in your IT infrastructure on the application server platform. It provides the tools you need to quickly build, test, and deploy web services and clients that interoperate with other web services and clients running on Java-based or non-Java-based platforms. It enables businesses to expose their existing J2EE applications as web services. Servlets and Enterprise JavaBeans components (EJBs) can be exposed as web services that can be accessed by Java-based or non- Java-based web service clients. J2EE applications can act as web service clients themselves, and they can communicate with other web services, regardless of how they are implemented.

32 Sun Web Service APIs Java API for XML Processing (JAXP) This API lets you process XML documents by invoking a SAX or DOM parser in your application. JAXP 1.2 supports W3C XML Schema. Java API for XML-based RPC (JAX-RPC) This is an API for building and deploying SOAP+WSDL web services clients and endpoints. Java APIs for XML Registries (JAXR) This is a Java API for accessing different kinds of XML registries. It provides you with a single set of APIs to access a variety of XML registries, including UDDI and the ebXML Registry. You don't need to worry about the nitty-gritty details of each registry's information model.

33 Sun Web Service APIs SOAP with Attachments API for Java (SAAJ) This API lets you produce and consume messages conforming to the SOAP 1.1 specification and SOAP with Attachments note. JSR 109: Web services for J2EE JSR 109 defines deployment requirements for web services clients and endpoints by leveraging the JAX- RPC programming model. In addition, it defines standard deployment descriptors using the XML Schema, thereby providing a uniform method of deploying web services onto application servers through a wide range of tools.

34 Sun Web Service APIs With these APIs, you can focus on high-level programming tasks, rather than low-level issues of XML and web services. You can start developing and using Java WSDP 1.5 and J2EE 1.4 web services without knowing much about XML and web services standards. You only need to deal with Java semantics, such as method invocation and data types. The dirty work is done behind the scenes, as discussed further in the next section.

35 Web Services Publish-Discover-Invoke Model

36 Java Client Calling a J2EE Web Service

37 J2EE 1.4 Platform Architecture