Overview 1 Agenda Evolution of network computing What is Web - - PowerPoint PPT Presentation

overview 1 agenda evolution of network computing what is
SMART_READER_LITE
LIVE PREVIEW

Overview 1 Agenda Evolution of network computing What is Web - - PowerPoint PPT Presentation

Web Services Overview 1 Agenda Evolution of network computing What is Web Services? Why Web Services? Where is Web Services? Web Services Architecture Web Services Standards Java APIs for Web Services J2EE as


slide-1
SLIDE 1

1

Web Services Overview

slide-2
SLIDE 2

2

Agenda

  • Evolution of network computing
  • What is Web Services?
  • Why Web Services?
  • Where is Web Services?
  • Web Services Architecture
  • Web Services Standards
  • Java™ APIs for Web Services
  • J2EE as platform of choice for Web Services
  • Web Services Tools
  • Roadmap and Summary
slide-3
SLIDE 3

3

Evolution of Network Computing

slide-4
SLIDE 4

Things - 1014 Computers 108 Embedded Computers 1011

Desktops

Transfers Transfers Transactions Transactions Content Content Telemetry Telemetry Control Control

Clients Functions Organization Protocols

Waves of Network Computing

IP v6 IP v4

IP Layer

Switches Switches Packages Packages Thermostats Thermostats Clothes Clothes Phones Phones TVs TVs Cars Cars Games Games

slide-5
SLIDE 5

Things - 1014 Computers 108 Embedded Computers 1011

Desktops

Client/Server Web Applications Web Applications Web Web Services Services

Fractal Fractal Polyarchical Polyarchical

N-tier

FT P Telnet HTTP

X

RPC/XDR SMTP

Clients Functions Organization Protocols

SOAP SOAP RMI/IIOP RMI/IIOP

Jini Jini Identity Identity UDDI UDDI

LDAP LDAP

JXTA JXTA

Waves of Network Computing

IP v6 IP v4

IP Layer

Phone Phone s s TVs TVs Cars Cars Games Games Switches Switches Packages Packages Thermostats Thermostats Clothes Clothes

Transfers Transfers Transactions Transactions Content Content Telemetry Telemetry Control Control

slide-6
SLIDE 6

The New Software

Software-as-a-Service Shrink Wrap

Locater Locater Payment Payment Authentication Authentication New New Service Service User’s User’s Device Device X10 X106

6

Calendar Calendar Developer Developer X10 X106

6

X1 X1

slide-7
SLIDE 7

7

History of History of Distributed Computing Distributed Computing

slide-8
SLIDE 8

Platform Evolution

Catch Catch Phrase Phrase The Network The Network Is the Is the Computer Computer Objects Objects Legacy to Legacy to the Web the Web The Computer The Computer Is the Is the Network Network Network of Network of Embedded Embedded Things Things Network Network

  • f Things
  • f Things

Scale Scale When/Peak When/Peak Leaf Leaf Protocol(s) Protocol(s) Directory(s) Directory(s) Session Session 100s 100s 1,000s 1,000s 1,000,000s 1,000,000s 10,000,000s 10,000,000s 100,000,000s

100,000,000s

100,000,000 100,000,000 s s 1984/1987 1984/1987 1990/1993 1990/1993 1996/1999 1996/1999 2001/2003 2001/2003 1998/2004 1998/2004 2004/2007 2004/2007 X X X X +HTTP +HTTP (+JVM) (+JVM) +XML +XML Portal Portal +RM +RM Unknown Unknown NS, NS+ NS, NS+ +CDS +CDS

+LDAP(*) +LDAP(*)

+UDDI +UDDI +Jini +Jini +? +? RPC, XDR RPC, XDR +CORBA +CORBA +CORBA, +CORBA, RM RM +SOAP, +SOAP, XML XML +RM/Jini +RM/Jini +? +? Schematic Schematic

slide-9
SLIDE 9

Communication Patterns

Client- Server 3-Tier Web Application Web Services Hybrid P2P Fractal

slide-10
SLIDE 10

Communication Patterns: Java

TM 2

Business Systems Business Systems DB Server DB Server App Server App Server Web Server Web Server Browser Browser Client Client

Web Application

J2EE J2EE J2SE/ J2SE/ J2ME J2ME

slide-11
SLIDE 11

Communication Patterns: Sun ONE

Bus. Bus. Sys. Sys. DB DB App App Web Web Browser Browser Context and Identity Context and Identity (LDAP, Policy, Liberty) (LDAP, Policy, Liberty) J2EE J2EE J2SE/ J2SE/ J2ME J2ME

XML XML (UDDI, (UDDI, SOAP) SOAP)

Web Service

slide-12
SLIDE 12

12

What is a What is a Web Service? Web Service?

slide-13
SLIDE 13

13

Web Services Definition by W3C

  • 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
slide-14
SLIDE 14

14

Distributed Computing Evolution

Client- Server(C/S) silos Web-based computing Web Services/Peer-to- Peer

Servers Clients Clients Servers Internet PDA Cell Phone Server Laptop Kiosk Workstation

slide-15
SLIDE 15

15

Traditional C/S vs. Web Services

  • Within enterprise
  • Tied to a set of

programming languages

  • Procedural
  • Usually bound to a

particular transport

  • Tightly-coupled
  • Efficient processing

(space/time)

  • Between enterprises
  • Program language

independent

  • Message-driven
  • Easily bound to different

transports

  • Loosely-coupled
  • Relatively not efficient

processing

Traditional C/S Web Service

slide-16
SLIDE 16

16

Web Application vs. Web Services

  • User-to-program

interaction

  • Static integration of

components

  • Monolithic service
  • Program-to-program

interaction

  • Possibility of dynamic

integration of components (in the future)

  • Possibility of service

aggregation (in the future)

Web Application Web Service

slide-17
SLIDE 17

17

Characteristics of Web Services

  • XML based everywhere
  • Message-based
  • Programming language independent
  • Could be dynamically located
  • Could be dynamically assembled or

aggregated

  • Accessed over the internet
  • Loosely coupled
  • Based on industry standards
slide-18
SLIDE 18

18

Web Services

The Service Grid

Service discovery Service delivery Service Registry Service invocation Service registration

slide-19
SLIDE 19

19

Service Assembly

Macro Service Micro Service Micro Service Micro Service Business Process Management

slide-20
SLIDE 20

20

Service Aggregation

Stock Service Portal

Input: Symbol Output: Price, News, Trade

News feed 1

Input: Symbol Output: News links

Brokerage 1

Input: Symbol, Price, Qty

User Nasdaq

Input: Symbol Output: Price

News feed n

Input: Symbol Output: News links

Brokerage n

Input: Symbol, Price, Qty

slide-21
SLIDE 21

21

Why Web Services? Why Web Services?

slide-22
SLIDE 22

22

Why Web Services?

Web Services:

  • Are platform neutral
  • Are accessible in a

standard way

  • Are accessible in an

interoperable way

  • Use simple and

ubiquitous plumbing

  • Are relatively cheap
  • Simplify enterprise

integration

slide-23
SLIDE 23

23

Why Web Services?

  • Interoperable – Connect across heterogeneous

networks using ubiquitous web-based standards

  • Economical – Recycle components, no

installation and tight integration of software

  • Automatic – No human intervention required

even for highly complex transactions

  • Accessible – Legacy assets & internal apps are

exposed and accessible on the web

  • Available – Services on any device, anywhere,

anytime

  • Scalable – No limits on scope of applications and

amount of heterogeneous applications

slide-24
SLIDE 24

24

Supplier Logistics Distributor

Manufacturing Facility

Internet

XML XML XML XML

“Growing need for a standard lightweight infrastructure for data exchange in e-business applications.”

Web Services Usage Example

slide-25
SLIDE 25

25

Web Services

System Service App Service System Service App Service System Service App Service

A Computer System Software Application

Monolithic Software The Network

Impact of Web Services on Software: “Application Dis-Integration”

slide-26
SLIDE 26

26

Net worth News Stock ticker “Portfolio” can be an application, a portal channel, or a web service itself

A web service is accessed programmatically by applications or other web services

Web Services Portfolio

Bank Balance

Stock Position Insurance Cash Value Biz News World News

Macro web services – Virtual

Systems

slide-27
SLIDE 27

27

Grammar

Bank balance

Publishing Media “Word processing” can be an application, a capability, or a web service itself

A web service is accessed programmatically by applications or other web services

Web Services Word Processing

Spell Check

Dictionary Thesaurus c:\...

Micro web services – Virtual Apps

http://...

slide-28
SLIDE 28

28

Three Laws of Computing

  • Moore's Law

– Computing power doubles every 18 months

  • Gilder's Law

– Network bandwidth capacity doubles every 12

months

  • Metcalfe's Law (Net Effect)

– Value of network increases exponentially as

number of participants increases

slide-29
SLIDE 29

29

Impact on Integration: Trigger the Network Effect

Web Services Custom Integration

Metcalfe’s Law: The value of the network is proportional to the square of the number of

slide-30
SLIDE 30

30

Myth: Web Services is a New Concept

  • Web services is distributed computing all
  • ver again – only now it is based on the web

Concept Basic Web Services Interface Description CORBA IDL, Java interface WSDL RPC support ORBs, Idl2java compilers, rmic SOAP, compilers for WSDL Service Registry CORBA naming service, JNDI UDDI Messaging support CORBA Event/Notification service, JMS ? Transaction support CORBA Transaction service, JTS ? Secuity support CORBA Security service, Java security ? Distributed Computing ala CORBA / Java

slide-31
SLIDE 31

31

Other Popular Myths Surrounding Web Services

  • Web services require only SOAP, WSDL,

UDDI: We need more high-level semantics

  • Web services are based on the RPC

paradigm: Document-driven model would be more popular communication model

  • Web services must be based on HTTP:

Other transports such as SMTP can be also used

slide-32
SLIDE 32

32

Where is &

Where is & Where is Web Services Where is Web Services going? going?

slide-33
SLIDE 33

33

Myths about Web Services

  • Web Services cure cancer: Not for a

very very long time!

  • Web Services are something

completely new: Not True!

  • You have to write Web Services

from scratch: Not True!

  • J2EE Platform does not support

web services: Not True!

slide-34
SLIDE 34

34

State of Web Services

  • Technology/Standards are still evolving

– SOAP, WSDL, UDDI are not enough

  • Business web services is the next big

thing, but more works are needed in

– Quality of Service, management – Security, transaction, state and user context – Work flow, Identity management, – Provisioning, Accounting

  • Will be adopted in phases
slide-35
SLIDE 35

35

Web Services Adoption Phases

  • 1st phase (current state)

– Concerted deployment internally within an

  • rganization mainly for interoperability

– SOAP over HTTP/S

  • 2nd phase (1 to 2 years)

– Selective and non-aggregate deployment with

trusted outside business partners

– Private registry deployment

  • 3rd phase (at least 3 to 4 years away)

– Wider, more dynamic and aggregate deployment

with outside business partners

– Public registry deployment

slide-36
SLIDE 36

36

Web Services Adoption Phases

  • 1st Phase – Simple Web Services (Now)
  • Consumer-focused, stateless, SOAP over

HTTP/S

  • 2nd Phase – EAI Web Services (Begun)
  • Deployed within organization boundaries to

enable internal integration

  • 3rd Phase – Business Web Services

(2007?)

  • Deployed on extranets to enable business

transactions with trading partners, suppliers,

slide-37
SLIDE 37

37

Business Web Services

  • J2EETM
  • Service implementation platform standard
  • ebXML and UBL
  • Business web services standards
  • More than 16 vendors and several open

source projects support ebXML

  • ex) Australian gas industry uses ebXML

NOW!

  • Liberty Project
  • Identity system standard
slide-38
SLIDE 38

38

Business Web Services (B2B) Architectural Components (ebXML)

  • B2B collaboration
  • Secure and reliable message

delivery

  • Non-repudiation
  • Partner profile
  • Repository for business data objects
slide-39
SLIDE 39

39

B2B Collaboration

Simple Web Services (WUS) vs. B2B Collaboration (ebXML)

 Simple interaction  Consumer oriented  Short-living process  No business

collaboration

 No partner profile  Not secure, not

reliable

 Does not support

non-repudiation

 No repository

support

 No legal binding  Complex interaction  Business oriented  Long-running process  Supports business

collaboration

 Supports partner

profile

 Secure and reliable

and non-repudiation

 Supports non-

repudiation

 Registry and

Simple Web Services

slide-40
SLIDE 40

40

B2B Collaboration

EAI vs. B2B Collaboration (ebXML)

 Within a

business

  • rganization

 Centralized

control

 Implicit contract  Small number of

business processes and participants

 Between

business

  • rganizations

 Distributed

control

 Explicit contract  Potentially large

number of business processes and participants EAI

slide-41
SLIDE 41

41

Trends Towards Service Orientation

  • Evolution of EAI to web service standards
  • XML RPC => Asynchronous XML Messaging
  • Towards de-centralization
  • Componentized services

– Composable and composite services – Data encapsulated within component – Data ownership follows component ownership

  • Brokered web services
  • Flexible relationships => Adaptive businesses
slide-42
SLIDE 42

42

Simple Web Services Architectural Components (WUS)

  • Service Description
  • Service Registration (Publication)

and Discovery

  • Service Invocation
slide-43
SLIDE 43

43

Core Web Services Core Web Services Standards Standards

slide-44
SLIDE 44

44

(Simplified) Web Service Architecture

Registry

  • 1. Service Registers

PUBLISH

  • 3. Client calls

Service BIND

  • 2. Client Request

Service Location FIND

Web Service Service Client

slide-45
SLIDE 45

45

SOAP SOAP (Simple Object (Simple Object Access Protocol) Access Protocol)

slide-46
SLIDE 46

46

SOAP

  • Simple Object Access Protocol
  • Wire protocol similar to

– IIOP for CORBA – JRMP for RMI

  • XML is used for data encoding

– “text” based protocol vs. “binary” protocol

  • Supports XML-based RPC
slide-47
SLIDE 47

47

What SOAP is Not

  • Not a component model

– So it will not replace objects and

components, i.e. EJB, JavaBeans

  • Not a programming language

– So it will not replace Java

  • Not a solution for all

– So it will not replace other distributed

computing technologies such as RMI

slide-48
SLIDE 48

48

What does SOAP Define?

  • Message Envelope
  • Encoding Rules
  • RPC Convention
  • Binding with underlying protocols
slide-49
SLIDE 49

49

SOAP Message Format

SOAP Envelope SOAP Header SOAP Message Primary MIME part (text/xml) Attachment Attachment SOAP Body Header Entry Header Entry Body Entry Body Entry Attachment

slide-50
SLIDE 50

50

SOAP Message Envelope

  • Encoding information
  • Header

– Optional – Could contain context knowledge

  • Security
  • Transaction
  • Body

– RPC methods and parameters – Contains application data

slide-51
SLIDE 51

51

SOAP Encoding

  • Rules of expressing application-defined

data types in XML

  • Based on W3C XML Schema
  • Simple values

– Built-in types from XML Schema, Part 2 (simple types, enumerations, arrays of bytes)

  • Compound values

– Structs, arrays, complex types

slide-52
SLIDE 52

52

WSDL WSDL

slide-53
SLIDE 53

53

What is WSDL?

  • XML language for describing web services
  • Web service is described as

– A set of communication endpoints (ports)

  • Endpoint is made of two parts

– Abstract definitions of operations and messages – Concrete binding to networking protocol (and corresponding endpoint address) and message format

  • Why this separation?

– Enhance reusability (as we will see in UDDI reference to WSDL document)

slide-54
SLIDE 54

54

Why WSDL?

  • Enables automation of communication

details between communicating partners

– Machines can read WSDL – Machines can invoke a service defined in WSDL

  • Discoverable through registry
  • Arbitration

– 3rd party can verify if communication conforms to WSDL

slide-55
SLIDE 55

55

WSDL Document Example

  • Simple service providing stock quotes
  • A single operation called

GetLastTradePrice

  • Deployed using SOAP 1.1 over HTTP
  • Request takes a ticker symbol of type

string

  • Response returns price as a float
slide-56
SLIDE 56

56

UDDI UDDI

slide-57
SLIDE 57

57

Service Architecture

UDDI defines a way to publish and find information about Web services.

UDDI Registry

  • 1. Service Registers

PUBLISH

  • 3. Client calls

Service BIND

  • 2. Client Request

Service Location FIND

Web Service Service Client

slide-58
SLIDE 58

58

UDDI (Universal Description, Discovery and Integration)

  • “White pages”

– address, contact, and known identifiers

  • “Yellow pages”

– industrial categorizations

  • Industry: NAICS (Industry codes - US Govt.)
  • Product/Services: UN/SPSC (ECMA)
  • Location: Geographical taxonomy
  • “Green pages”

– technical information about services

slide-59
SLIDE 59

59

Web Services Framework for J2EE

slide-60
SLIDE 60

60

J2EE Platform& Web Services

B2B Applications B2C Applications Web S ervices Wireless Applications

Application Server

Enterprise Information S ystems

Existing Applications

slide-61
SLIDE 61

61

Why J2EE for Web Services?

  • Web services is just one of many

service delivery channels of J2EE

– No architectural change is needed – Existing J2EE components can be easily

exposed as Web services

  • Many benefits of J2EE are

preserved for Web services

– Portability, Scalability, Reliability – No single-vendor lock-in

slide-62
SLIDE 62

62

Where Are We Now?

  • Java APIs for Web Services are

being developed very rapidly

  • Tools are available now for

exposing existing J2EE components as Web services

  • J2EE community has defined
  • verall framework for Web Services

(J2EE 1.4, JSR 109)

slide-63
SLIDE 63

63

Design Goals J2EE Web Services Framework

  • Portability of Web services component

– Over different vendor platform – Over different operational environment

  • Leveraging existing J2EE programming

models for service implementation

  • Easy to program and deploy

– High-level Java APIs – Use existing deployment model

slide-64
SLIDE 64

64

J2EE Web Services Framework

  • J2EE 1.4 and Java EE 5

– Umbrella framework for Web services – JSR 109, JAX-RPC, JAXR, EJB 2.1, Servlet

2.4,

  • JAX-RPC (JAX-WS)

– Defines client programming model – Defines Servlet-based Web services endpoint

model

slide-65
SLIDE 65

65

J2EE Web Services Framework

  • EJB 2.1

– Defines Stateless Session Bean-based Web

services endpoint model

  • Servlet 2.4

– Will be aligned with JAX-RPC

  • JSR 109

– Defines standard Web services packaging and

deployment model

slide-66
SLIDE 66

66

Web Services Architecture Web Services Architecture

  • ver J2EE
  • ver J2EE
slide-67
SLIDE 67

67

What Is a Web Service?

  • A set of endpoints (ports) operating on

messages

  • Ports are operating within a container

– Container provides runtime environment – Contract for runtime environment are specified in

JAX-RPC, EJB 2.1, JSR 109

  • Service is described in WSDL document

and published to a registry

– WSDL specifies a contract between service

provider and client

slide-68
SLIDE 68

68

Web Service Component and Container

  • Container vs. Component model

– Web services components get executed within a

container

– Components are portable (under J2EE 1.4)

  • Web service components

– Web-tier (Servlet-based endpoint) – EJB-tier (Stateless session bean-based endpoint)

slide-69
SLIDE 69

69

Web Service Components

Source: Web Services for J2EE (JSR 109), V1.0

Web services components

slide-70
SLIDE 70

70

Summary

slide-71
SLIDE 71

71

Summary

  • Web services provides a new paradigm for

program to program communication

  • Comprehensive set of Java APIs for Web

Services are now available!

  • J2EE is the platform of choice for Web

services

slide-72
SLIDE 72

72

Passion!