february 8, 2005cs 535/402 presentation by vladimir tosic1 introduction to web services vladimir...
Post on 20-Dec-2015
218 views
TRANSCRIPT
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 1
Introduction to Web Services
Vladimir TosicNSERC Post-Doctoral Fellow
Department of Computer ScienceUniversity of Western Ontario, London,
Canadahttp://elab.njit.edu/vladimir
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 2
How Do Web Services Relate to Your Course?
Relatively novel XML-based distributed/network computing paradigm
Supported by all major computing companies (Microsoft, IBM, Sun, Oracle, HP, …)
Evolution of older distributed computing technologies (e.g., RPC, CORBA)
Many technical similarities The main difference is in “business
issues”
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 3
Lecture Outline
1. The interoperability problem2. What are Web Services? 3. Web Service technologies – overview,
details, and examples 4. Web Service tools 5. Web Service resources 6. Discussion 7. Conclusions
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 4
The Interoperability Problem – Example Scenario
Two companies (or business units) need to exchange data and/or services IMMEDIATELY
BUT: They use different infrastructures (Java on
Linux vs. MS .NET on MS Windows) No detailed knowledge about each other’s
infrastructure and software implementation Located across the world and across
firewalls
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 5
Potential Solutions
Send a CD and documentation with FedEx Too slow, inflexible Potential file compatibility problems
Use distributed computing technologies But which one? Java RMI? CORBA? MS DCOM?
None of them supported by both parties Some knowledge of each other’s software
implementation and synchronization needed There are firewalls
Use Web Services
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 6
Definition of Web Services
1. The interoperability problem2. What are Web Services? 3. Web Service technologies – overview,
details, and examples 4. Web Service tools 5. Web Service resources 6. Discussion 7. Conclusions
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 7
Service-Based Software Systems
“Software is a service” business model Software is not a product any more, but a
service available over the network Application Service Providers (ASPs)
Service-Oriented Architecture (SOA) Applications decomposed into distributed
services On-line access to libraries of composable
components CORBA, Jini, Component Service Providers
(CSPs)
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 8
The “Publish-Find-Bind” Interaction Model
Service Provider
(Supplier)
Service Requester
(Consumer)
1. Publish Service Broker
(Registry)
2. Find3. Bind
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 9
W3C Definition of a Web Service
A software application that: 1. has a unique Uniform Resource Identifier
(URI), 2. can be defined, described, and
discovered using XML (Extensible Markup Language),
3. supports exchange of XML messages via Internet-based protocols.
Implementation- and platform-independent
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 10
Microsoft .NETDefinition of a Web Service
A black-box programmable application logic that can be reused without worrying about how the service is implemented
Defined strictly in terms of the messages the Web Service accepts and generates
Simply and easily composed over the network, across domain boundaries
Accessible using standard and ubiquitous Internet protocols and data formats (XML)
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 11
Some Goals of the Work on Web Services
Faster development and deployment of IT (Information Technology) systems
Dynamic and ad hoc A2A (Application-to-Application) and B2B (Business-to-Business) integration
Interoperability across programming languages and operation platforms
Leveraging and compatibility with existing Internet/Web infrastructure
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 12
Web Services (WS) vs. Distributed Objects (DO)
(DO) planned & stable integration vs. (WS) Ad hoc & temporary
(DO) “tight” vs. (WS) “loose” coupling(DO) only synchronous communication
vs. (WS) Synchronous or asynchronous
(DO) only RPC interactions vs. (WS) RPC or document-based
(DO) only intra-enterprise integration vs. (WS) B2B or intra-enterprise
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 13
Some Applications of Web Services
Enterprise Application Integration (EAI) Automatic order processing
Business-to-business (B2B) application-to-application (A2A) integration Integration of financial systems
Management of telecom networksGrid Services for Grid computingMobile Web Services (m-Services)Semantic Web
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 14
Who Is Working in This Area?
All major computing companies Microsoft .NET, IBM Dynamic e-business, Sun
ONE (Open Net Environment), Oracle, HP, … Several industrial “standardization”
bodies W3C (World Wide Web Consortium) OASIS (Organization for the Advancement of
Structured Information Standards) WS-I (Web Services - Interoperability) …
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 15
And Now: “Something Concrete”
1. The interoperability problem2. What are Web Services? 3. Web Service technologies – overview,
details, and examples 4. Web Service tools 5. Web Service resources 6. Discussion 7. Conclusions
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 16
Basic Technologies
XML (Extensible Markup Language) - For structured data representations
SOAP [a.k.a. Simple Object Access Protocol, XML Protocol] - An XML packaging protocol, defines message formats and encoding rules
WSDL (Web Services Description Language) - An XML service description language
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 17
Some Popular Technologies
UDDI (Universal Description, Discovery, and Integration) - For discovering service providers if you do not know their URLs
BPEL4WS (Business Process Execution Language for Web Services) - For describing Web Service compositions (orchestrations)Requester
WSProvider
WSAnother
WS
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 18
And Many Other Technologies …
WS-CDL (Web Services Choreography Description Language) - For describing Web Service compositions (choreographies)
WSLA (Web Service Level Agreements) - A way to to specify quality of service (QoS) guarantees and service level agreements
Many WS-??? and WS?L technologies …
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 19
A Brief Summary of XML
Textual, platform-independentExample of use: data exchangeLooks like HTML (HyperText Markup
Language), but you can define your own tags
Markup contains information about dataElements and attributesStructure defined using XML SchemaParsers check well-formedness and validity
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 20
The SOAP Packaging Protocol
Defines the structure of XML messages and XML encoding rules for various data types
Supports both RPC-style and document-style interactions
XML encoding rules used only for RPC-styleCan be used with various transport
protocols Most often used with HTTP (HyperText Transport
Protocol)
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 21
Structure of a SOAP Message
SOAP Envelope
SOAP Header (optional) - various management information
SOAP Body (mandatory) - the transferred information in XML
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 22
Elements of WSDL Documents (1/3)
Used for XML description of Web Services
Can be used with various XML packaging and transport protocols
The main XML elements in WSDL 1.1 documents:
(new WSDL 2.0 not yet widely used)
1. definitions - defines namespaces and contains other WSDL elements
2. types - defines data types used
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 23
Structure of a WSDL Document
descriptions types message
part port type
operation binding service
port
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 24
Elements of WSDL Documents (2/3)
3. message - defines name and parameters of one message (a portion of an operation) 4. part - defines name and data type
of a message parameter 5. port type - contains one or more
operations (= interface) 6. operation - groups input, output,
and/or fault messages
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 25
Types of Operations in WSDL 1.1
A. One-way (input only) B. Request-response (input, output, and
optional fault message) C. Solicit-response (output, input, and
optional fault message) D. Notification (output only)
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 26
Elements of WSDL Documents (3/3)
7. binding - defines the message packaging protocol and transport protocol used for a port type
8. service - groups related ports and defines the name of the Web Service 9. port (= endpoint) - associates a
binding with a network address
Other WSDL elements (documentation)
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 27
Examples - Simple Stock Web Services
SOAP: www.w3schools.com/soap/soap_example.asp
WSDL: www.brics.dk/~amoeller/WWW/webservices/wsdlexample.html
UDDI: www.brics.dk/~amoeller/WWW/webservices/uddiexamples.html
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 28
Tools Make Life Easier …
1. The interoperability problem2. What are Web Services? 3. Web Service technologies – overview,
details, and examples 4. Web Service tools 5. Web Service resources 6. Discussion 7. Conclusions
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 29
Some Popular Web Service Tools
XML, XML Schema, and WSDL writing tools Altova XMLSpy, …
SOAP engines: facilitate development of SOAP applications process SOAP messages have tools for WSDL <-> Java generation
UDDI registries and tools IBM public UDDI registry and IBM UDDI4J, …
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 30
Some Popular SOAP Engines
Apache Axis IBM WSTK (Web Services Toolkit) IBM WebSphere BEA WebLogic Systinet WASP The Mind Electric GLUE …
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 31
A Typical Provider Web Service
HTTP
Provider
Web and/or
app server
SOAP engine
Implementation
SOAP prog. lang. callConsumer
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 32
A Typical SOAP Engine
oper. call
SOAP SOAP Engine
Other processing modules
Dispatching
Packing
prog. lang. specificUnpacking
prog. lang. specific
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 33
To Probe Further …
1. The interoperability problem2. What are Web Services? 3. Web Service technologies – overview,
details, and examples 4. Web Service tools 5. Web Service resources 6. Discussion 7. Conclusions
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 34
Web Service Resources
Books (by O’Reilly, SAMS, …) Magazines (e.g., Web Services Journal) Conference proceedings (ICWS, SCC, …)On-line communities and portals Company Web Sites Web sites of university research groups … => http://elab.njit.edu/vladimir/
WSwebliography.html
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 35
Summary of My Research
Management of Web Services New stream: mobile/embedded environments
Web Service Offerings Language (WSOL) Specification of management information
(service offerings = classes of service, constraints, prices/ penalties, management statements, …)
Web Service Offerings Infrastructure (WSOI) Monitoring & enforcement of WSOL descriptions Dynamic manipulation of service offerings
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 36
What are the Issues?
1. The interoperability problem2. What are Web Services? 3. Web Service technologies – overview,
details, and examples 4. Web Service tools 5. Web Service resources 6. Discussion 7. Conclusions
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 37
Some Potential Advantages
FlexibilityWide industry support “Bottom-up” approach to standards Low entry barrier Accommodating legacy systems Leveraging widely used technologies
(Internet, HTTP, XML) Basis for the Semantic Web, Grid
computing
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 38
Some Potential Disadvantages
A lot of hype and marketing Not exactly “software revolution”,
“Reinventing the wheel”Overall infrastructure complexity hidden Actual degree of “loose coupling” Performance … Many puzzle pieces are “still in progress”
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 39
Your Thoughts and Questions
What do you think?
What do you want me to clarify or explain in more detail?
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 40
Things to Remember!
1. The interoperability problem2. What are Web Services? 3. Web Service technologies – overview,
details, and examples 4. Web Service tools 5. Web Service resources 6. Discussion 7. Conclusions
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 41
Conclusions
Web Services have URIs and use XML for description, discovery, and data transfer
The main technologies are XML, SOAP, WSDL There are many other technologies Key technical concepts are not revolutionary There are very powerful “political games”
around Web Services Many open research issues
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 42
Thank You!
Vladimir TosicNSERC Post-Doctoral Fellow
Department of Computer ScienceUniversity of Western Ontario, London,
Canadahttp://elab.njit.edu/vladimir