February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir...

42
February 8, 2005 CS 535/402 Presentation by Vladimir Tosic 1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer Science University of Western Ontario, London, Canada http://elab.njit.edu/vladimir
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    218
  • download

    0

Transcript of February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir...

Page 1: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 2: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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”

Page 3: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 4: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 5: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 6: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 7: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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)

Page 8: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 9: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 10: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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)

Page 11: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 12: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 13: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 14: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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) …

Page 15: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 16: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 17: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 18: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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 …

Page 19: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 20: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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)

Page 21: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 22: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 23: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 24: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 25: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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)

Page 26: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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)

Page 27: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 28: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 29: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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, …

Page 30: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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 …

Page 31: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 32: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 33: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 34: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 35: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 36: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 37: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 38: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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”

Page 39: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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?

Page 40: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 41: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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

Page 42: February 8, 2005CS 535/402 Presentation by Vladimir Tosic1 Introduction to Web Services Vladimir Tosic NSERC Post-Doctoral Fellow Department of Computer.

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