Web Services - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

Web Services

Description:

Based on messages, documents ... SOAP Client (Apache Axis, SOAP::Lite etc. ... A shared public registry implementation based on a set of public specifications ... – PowerPoint PPT presentation

Number of Views:85
Avg rating:3.0/5.0
Slides: 31
Provided by: kaarthiksi
Category:

less

Transcript and Presenter's Notes

Title: Web Services


1
Web Services
  • Kaarthik Sivashanmugam
  • Department of Computer Science
  • The University of Georgia

2
Preface
  • I assume
  • you all know that this is just an introductory
    session to web services
  • you all know XML
  • you will ask questions
  • we all will enjoy this session

3
Purpose of this session
  • Introduction to
  • web services
  • enabling technologies SOAP, WSDL, UDDI etc
  • Understanding
  • need for web services
  • web services jargons
  • Foresee challenges
  • Discuss my work

4
What are Web Services ?
  • Web services are modular web applications that
    provide data and services to other applications
    over the web
  • Web services apply web technologies such as HTTP
    and XML to the concepts of distributed computing
    technologies such as CORBA and DCOM

5
Present Web
  • Common mans comment It is awesome.
  • information sharing
  • B2C, B2B
  • search, mail, chat, RPC and what not?
  • What is missing?
  • automated interactions
  • commonness between different distributed
    application technologies

6
Evolution

Application
Application
Applications were stand-alone
User Interaction
API
Application
APIs used for interacting with applications
Application
User Interaction
SOAP LAYER
All interactions use SOAP unaware of API
involved
API
Application
Application
7
Evolution (contd)
  • Need for betterment
  • Tomorrows Web
  • automated interactions
  • application level interactions
  • distributed computing platform
  • Answer web services
  • Goals
  • enable internet scale dynamic binding
  • efficiently support both open web and more
    constrained environments
  • universal availability and interoperability

8
Vision
  • Unified view of applications in heterogeneous
    systems on web
  • Seamlessly integrate with existing platforms and
    programming models
  • Distributed computing platform for the web
  • Interface to access functionalities offered by
    information systems, application programs and
    business processes

9
Web Service Definition
  • 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 definition)
  • - An association between an Interface, a
    concrete protocol and a data format

10
Web Service Definition (contd)
  • Web services are self contained, self-describing,
    modular applications that can be published,
    located, and invoked across the Web. (Tidwell,
    IBM, 2001)
  • Web service applications are encapsulated,
    loosely coupled Web components that can bind
    dynamically to each other. (Curbera, IBM, 2001)

11
Web Services Features
  • Service Oriented Architecture (SOA) as opposed to
    application based (client-server, monolithic)
    architectures
  • Web is a collection of services

Service Registry
Publish
Find
Service Provider
Service Requestor
Bind
12
Features(contd)
  • Create loosely coupled applications
  • changing implementation of a function does not
    require change in invoking function
  • Create encapsulated applications
  • implementation is hidden from outside
  • Allows integration of applications with deep
    interaction
  • applications are unaware of APIs

13
Features(contd)
  • Allow reuse of Software Components
  • reusable code that need not be written saving
    time, money and reducing risk
  • Address Middleware issues over web
  • without much complexity
  • FYI Middleware is a high level software layer
    that provides a standardized interface to
    collection of distributed objects
  • FYI Whats wrong with CORBA/RMI/COM ?
  • dont talk to each other (some implementations
    do)
  • tightly coupled with application
  • different data representation, vendors and
    dialects
  • RMI Java-to-Java only technology
  • CORBA uses proprietary IIOP (typically blocked
    by Firewall) and interoperability of ORB
    implementations is not guaranteed
  • COM/DCOM Microsoft only solution

14
Features(contd)
  • Based on messages, documents and not APIs
  • shift in focus from how to invocate to what to
    invocate
  • Can be complementary to CORBA, RMI, COM
  • components are treated as services
  • using WSDL1 as extended IDL2
  • Common registry
  • cross vendor, platform, industry
  • widely accepted
  • 1 Web Services Description Language
    2 Interface Description Language

15
Features(contd)
  • Operating system agnostic
  • because it is XML (simple structured text) based
    technology
  • Consistent architecture
  • both inside and outside an enterprise
  • application producer/consumer in different
    hardware
  • regardless of development environment
  • Allows composition
  • combining and linking existing web services to
    create new web processes to perform a complex
    task

16
How Web Services work?
  • Web services are standards-based software
    components that can be accessed over the
    Internet.
  • Step 1 Service providers (producer)
    maintain/publish information about their services
    in a registry
  • Step 2 Service requesters (consumer) search
    registries for services
  • Step 3 Once found, a service can be invoked
    based on open Internet standards irrespective of
    differences in platforms, programming model,
    programming languages between consumer and
    producer

17
Web Services Standards
  • With the following technologies, it is
    possible to build standards-based systems that
    are truly interoperable.
  • UDDI Universal Description, Discovery and
    Integration.
  • UDDI registry stores descriptions about companies
    and the services they offer in a common XML
    format. (for web services publishing and
    discovery)
  • WSDL Web Services Description Language (new
    DAML-S)
  • WSDL is an XML-based format for specifying the
    interface to a web service. (for web services
    description)
  • SOAP Simple Object Access Protocol
  • SOAP is the XML-based protocol for sending
    requests and responses to and from web services.
    (for web services invocation)
  • WSFL Web Services Flow Language (new BPEL4WS)
  • for web services composition

18


Simple Web Service Invocation
  • courtesyhttp//www.cs.uga.edu/sent/thesis/Final.
    ppt

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
19
Behind the scene
  • Components required
  • software which needs to be exposed as a web
    service
  • SOAP Server (Apache Axis, SOAPLite, etc.)

SOAP Messages
Requestor
(http transport)
SOAP Client
Endpoint
Web Service Provider
20
WSDL Structure
Service
  • Service
  • collection of endpoints
  • endpoints port binding
  • Port type
  • set of operations supported by endpoints
  • Operations
  • abstract description of action supported by
    service
  • Binding
  • maps abstract specification to specific protocol
  • Ports
  • network address/URI that implements service
  • Message
  • typed definition of data communicated
  • Used in conjunction with UDDI registry and can
    be compared with IDL
  • courtesy http//www.llnl.gov/CASC/workshops/compo
    nents_2001/viewgraphs/FranciscoCurbera.ppt

Port (e.g. http//host/svc)
Port
Binding (e.g. SOAP)
Binding
Abstract interface
portType
operation(s)
inMesage
outMessage
21
WSDL File
  • Provides explicit representation of
    available protocols while in OMG model, protocol
    is fixed at the time ORB infrastructure is
    deployed. Protocol specification is not visible
    to application or developer

Abstract Description
Concrete Description
22
SOAP Simple Object Access Protocol
  • XML based lightweight protocol for the exchange
    of information in a decentralized, distributed
    environment
  • What's so special about SOAP ?
  • platform independent
  • gets over firewall issues
  • Why do we need it ?
  • today's applications communicate using RPC using
    HTTP. But HTTP is not designed for this.
  • ? introduces security and compatibility issues
  • ? firewalls typically block
  • How ?
  • XML based messages (simple text and nothing else)

23
SOAP
  • SOAP defines a framework for message structure
    and a message-processing model
  • Does not define application semantics
  • Enables trans-operating system RPCs
  • Used over HTTP, SMTP, FTP, MQSeries, Jabber, JMS
    etc
  • lt?xml version"1.0" encoding"UTF-8" ?gt
  • ltenvEnvelope xmlnsenv"http//www.w3.org/2001/09
    /soap-envelope"gt
  • ltenvHeadergt
  • ltnalertcontrol xmlnsn"http//example.org/aler
    tcontrol"gt
  • ltnprioritygt1lt/nprioritygt
  • ltnexpiresgt2001-06-22T140000-0500lt/nexpiresgt
  • lt/nalertcontrolgt
  • lt/envHeadergt
  • ltenvBodygt
  • ltmalert xmlnsm"http//example.org/alert"gt
  • ltmmsggtPick up Mary at school at 2pmlt/mmsggt
  • lt/malertgt
  • lt/envBodygt
  • lt/envEnvelopegt

24
UDDI
  • A shared public registry implementation based on
    a set of public specifications
  • Specification for registry also defines a
    SOAP-based web service for locating
    WSDL-formatted protocol descriptions of web
    services
  • Two types of information are registered within
    UDDI. The first is the set of abstract service
    protocols, called tModels (technical models),
    which are used to describe the behavior of a web
    service. The second type of information in UDDI
    is the service implementation, currently referred
    to as a businessEntity. These entries refer to
    multiple tModels and provide descriptions about
    their behavior and specifications.

25
Web Services Composition
  • Task of combining and linking existing web
    services to create new web processes.
  • WHY ? (e.g.. Conference booking scenario)
  • Adds value to the collection of services, by
    orchestrating them according to the requirement
    of the problem
  • Types of Composition
  • Static Composition - services to be composed are
    decided at design time
  • Dynamic Composition - services to be composed are
    decided at run-time
  • WSFL, XLANG, BPEL4WS, DAML-S are some of the XML
    languages that have been proposed for specifying
    a web service composition

26
Challenges and my ongoing work in Web Services
  • Semantics based discovery of web services
  • WSDL, UDDI do not support description and
    publishing services based on capabilities
  • present discovery is based on key word search
    (e.g.. Ticket Service). Not efficient.
  • solution Ontology based description and
    discovery of web services
  • achieves semantic mark up to web services and
    provides semantic interoperability
  • Dynamic composition
  • QoS, service agreements, security
  • Harmonizing transactional behavior, reliably
    executing and monitoring messages

27
Summary
  • Web Services
  • framework is being defined, standardized
  • standards are still in flux
  • received wide acceptance in industry as an
    e-business (r)evolution
  • provides increased flexibility in software
    deployment
  • offers a cost effective way to maintain and
    integrate legacy IT systems at a lower cost than
    typical enterprise application integration
    efforts
  • could be next-generation EDI
  • could be used as middleware for internet level
    applications

28
Wrap up
  • Hopefully you understood in this session
  • 1. what a web service is
  • 2. advantages of using it
  • 3. value addition by composition
  • 4. what has been done so far in web services?
  • 5. what can be done in future w.r.t. WS?

29
Questions
  • and hopefully answers
  • mailtokaart_at_cs.uga.edu
  • http//www.arches.uga.edu/kaarthik

30
For more information
  • http//www.uddi.org
  • http//www.w3.org/2002/ws/
  • http//java.sun.com/webservices/docs/1.0/tutorial/
  • http//www.alphaworks.ibm.com/webservices
  • http//edocs.bea.com/wls/docs70/webserv/index.html
  • http//xml.apache.org/
  • http//www.xml.com/pub/a/2001/04/04/webservices/
  • http//www-3.ibm.com/software/solutions/webservice
    s/
  • http//www.w3c.org/TR/wsdl
  • http//www.w3c.org/TR/soap
  • http//chief.cs.uga.edu/jam/webwork/geneflow/pape
    rs/wspapers.html
Write a Comment
User Comments (0)
About PowerShow.com