• Tidak ada hasil yang ditemukan

Web Services: The Next Horizon for e-business Architecture Overview

N/A
N/A
Protected

Academic year: 2023

Membagikan "Web Services: The Next Horizon for e-business Architecture Overview"

Copied!
61
0
0

Teks penuh

(1)

Web Services:

The Next Horizon for e-business Architecture Overview

Ryoo, JungHyung

e-business Architect

Developer Relations, IBM Korea

[email protected]

(2)

What's Driving e-Businesses?

An Explosion of Access Points

? a trillion connected devices

? a billion connected people

? a million connected e-businesses

An Explosion of Transactions

"Transaction Volumes will Grow by A

Factor of 50 in the next 5 years" - Forrester 1/99

An Explosion of Data

"today 0% of electronic data is accessible through the internet. Internet Accessible Data Can Grow by A Factor of 10,000!"

Rethinking IT

Both external market and internal organizational pressures are provoking businesses to reassess their IT approaches

New Market threats & opportunities

(3)

A New Web Model

Until now, the Web has provided for

? browsing of linked documents

? manually-initiated purchases and transactions

? downloading files

? all of this is manual, by way of a browser

Web Services is a new model for using the Web

? transactions initiated automatically by a program, not necessarily using a browser

? can be described, published, discovered, and invoked dynamically in a distributed computing environment

? new ways of using the web: intelligent agents, marketplaces, auctions

? all built on XML!

(4)

What are Web Services?

Simply put, web services are applications that interact with each other using Web standards

?

Self-describing, self-contained modular applications

?

Platform & implementation neutral

?

Based on open standards for description, discovery &

invocation

?

Programmatically connect business processes together

?

Typically transactional, requiring integration with existing

systems

(5)

What are Web Services?

The next evolution of e-business

? publishing of business functions to the Web

? universal access to these functions

A natural extension to the client-server model

? transaction model for e-business

? invoke methods on remote objects (SOAP)

? directory of available services and service providers, using SOAP lookup (UDDI)

? standard description languages based on XML for services and service providers (WSDL, WDS) e-business is driving the merging of Web, IT & Object technologies to form the foundation for Web Services

(6)

How fast is this happening?

? Record setting pace for adoption of XML &

Web services-based infrastructure

? Business Mandate open standards fueling business

(7)

Web Services and their Value

Web Services

Applications which interact with each other using Web standards

Businesses benefit by using Web Services to:

? Connect applications to applications in other businesses quickly and easily

? Establish interaction with marketplaces more efficiently

? Deliver business functions to a broader set of customers and partners

? Pursue new business models by combining applications in new dynamic ways

(8)

Examples of Web Services

Business Information with rich content

? weather reports

? news feed

? airline schedules

? stock quotes

Transactional Web Services for B2B or B2C

? airline reservations

? rental car agreements

Business Process Externalization

? business linkages at a workflow level

? allows complete integration at a process level

? credit check

? credit card validation

? request for quote

? auctions

? supply chain mangement

? purchase order

(9)

A Virtual Application Model Scenario

Gourmet-to-Go Portal Application

Customer Order/Inquiry

Menu Suggestions

Wine Recommendations

Country Produce

Best Cuts Market

Delivery

Service

Aggregator (Public or

e-Market UDDI registry)

(10)

Small Business to Enterprise Scenario

Textiles

eMarketplace

CottonMarket.com

Locate (Find) wholesalers doing business in a specialty area or geography

Clothing Co.

Access (Bind)and electronically connect with wholesalers through an e-Marketplace

Extend processes to leverage complementary business services

Value -added Services (via UDDI)

Integrateservices to automate selection of suppliers

Best Woolens Inc.

Zipper It!

Fasteners

Vivid Dyes Inc.

Universal Business Registry (UDDI)

Register (Publish) your business for expanded reach

Business Registrations

(11)

Web Service Components

Service Provider

? provides e-business services

? publishes availability of these services through a registry

Service Broker

? provides support for publishing and locating services

? like telephone yellow pages

Service Requestor

? locates required services via the Service Broker

? binds to services via Service Provider

(12)

Web Service Operations

Publish/Unpublish

? Service Providers advertise the availability of their

service to one or more service brokers, or to

remove the advertisement of their service.

Find

? Service Requestors query Service Brokers to discover a set of services that it can interact with

to provide a solution.

Bind

? Service Requestors negotiate with Service Providers to access and invoke e-business services.

(13)

Web Services: Base Technologies

SOAP - Simple Object Access Protocol

? an XML protocol to invoke a "function" on a server to perform a given operation

? request message is sent by service requestor

? response message may be sent by service provider

? May be an asynchronous message <---> notification UDDI - Universal Description, Discovery, Integration

? UDDI servers act as a directory of available services and service providers

? A SOAP application used to update and query a registry for services

WSDL - Web Services Description Language

? an XML vocabulary to describe service interfaces

(14)

SOAP

XML Protocol

for Web Services

(15)

SOAP 1.0: David Weiner of Userland, Microsoft

? SOAP 1.0 was specific to COM and HTTP

SOAP 1.1 (April 23, 2000) included contributions from IBM, Lotus, UserLand (originator of XML-RPC) and DevelopMentor

? sends XML-formatted messages over HTTP (or other protocols)

? completely vendor-neutral

? works with any programming language, object model, operating system, or platform

? May be synchronous or asynchronous

Services-Oriented Architecture Protocol

SOAP:

Simple Object Access Protocol

(16)

Why SOAP?

Hooking up objects

? XML-RPC++

? IIOP/DCOM--

Services on the web

? Model

? Wire Format

Exploit Internet protocols and standards

? XML

? HTTP

? Namespaces

(17)

SOAP v1.1 - May, 2000 Design Principles

?KISS

?Vendor neutral

?Any language, object model, platform...

?Scriptable

?Firewall friendly

?Flexible layering....substitutable:

? Transport bindings

? Language bindings

? Data encodings

(18)

But - It's Not THAT Simple!

Two Basic Access Mechanisms:

? SOAP RPC

? Simple Request-Response protocol

? Based on the SOAP Call object

? Lower-level SOAP methods build and send messages

? SOAP Messaging

? Send or process a SOAP message

? Maybe respond to it (now or later)

? Can be used for asynchronous processing

? Based on the SOAP Message object

? Allows finer grin of control over what is being transmitted

? User directly invokes lower-level SOAP APIs to build the SOAP message and send it

(19)

SOAP Message structure

Request and Response messages

? Request invokes a method on a remote object

? Response returns result of running the method SOAP defines an "envelope"

? "envelope" wraps the message itself

? message is a different vocabulary

? namespace prefix is used to distinguish the two parts

vocabularySOAP

application-specific message vocabulary

message

envelopeSOAP

(20)

A SOAP Request Message

<SOAP-ENV:Envelope

xmlns:SOAP-ENV="http://{soaporg}/envelope/">

<SOAP-ENV:Body>

<m:GetLastTradePrice xmlns:m="Some-URI"

SOAP-ENV:encodingStyle=

"http://{soaporg}/encoding/">

<symbol>DIS</symbol>

</m:GetLastTradePrice>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope> SOAP envelope

message

(21)

A SOAP Request Message

SOAP Envelope Namespace for

wrapping messages

<SOAP-ENV:Envelope>

xmlns:SOAP-ENV="http://{soaporg}/envelope/"

<SOAP-ENV:Body>

<m:GetLastTradePrice xmlns:m="Some-URI"

SOAP-ENV:encodingStyle=

"http://{soaporg}/encoding/">

<symbol>DIS</symbol>

</m:GetLastTradePrice>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

message namespace

(22)

A SOAP Request Message

<SOAP-ENV:Envelope

xmlns:SOAP-ENV="http://{soaporg}/envelope/"

<SOAP-ENV:Body>

<m:GetLastTradePrice xmlns:m="Some-URI"

SOAP-ENV:encodingStyle=

"http://{soaporg}/encoding/"

<symbol>DIS</symbol>

</m:GetLastTradePrice>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Data model and encoding

for the parameters

(23)

A SOAP Response Message

<SOAP-ENV:Envelope

xmlns:SOAP-ENV="http://{soaporg}/envelope/"

<SOAP-ENV:Body>

<m:GetLastTradePriceResponse xmlns:m="Some-URI"

SOAP-ENV:encodingStyle=

"http://{soaporg}/encoding/">

<Price>34.5</Price>

</m:GetLastTradePriceResponse>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Result returned in Body

SOAP envelope message

(24)

Service Provider

?

SOAP hides the service implementation from requester

ServerSOAP ServerHTTP

EJB? Corba? Cobol?

standard XML request/response messages

? SOAP envelope

? industry-specific message content Service

Requestor

(25)

Apache SOAP 2.2

SOAP4J posted to IBM alphaWorks, April 2000

Contributed by IBM to the Apache Software Foundation, June 2000 Apache SOAP v2.2:

? Solid SOAP v1.1 implementation, supporting HTTP and SMTP protocols

? platform-independent Java

? Free download from xml.apache.org/soap with source

? Under development by IBM and others SOAP distribution includes:

? User's Guide

? API documentation

? a tool for debugging SOAP

? three samples

(26)

SOAP and Standardization

SOAP was submitted to W3C for consideration as a standard (June? 2000)

? W3C has formed a working group called "XML Protocol".

? The group is considering what SOAP offers as input to the process

? The XML Protocol specification may or may not be SOAP at its heart, yet the problems SOAP solves are the important

requirements of XML Protocol.

Industry-specific SOAP messages will start a new round of vocabulary standards work

(27)

SOAP Summary

Universal service access protocol Technical features

? Structured envelope for XML messages

? Headers...message path

? Simple support for RPC or general messaging

? Data model and encodings

Basis for more sophisticated protocols

Submitted to W3C for consideration as a standard

(28)

UDDI:

Universal Description, Discovery,

and Integration

(29)

What is UDDI?

Universal Description, Discovery, and Integration

A project to speed interoperability and adoption for web services

? Standards-based specifications for service description and discovery

? Shared operation of a web-based business registry

? Partnership among industry and business leaders - more than 70 companies have signed up so far

? Copyright 2000 by Ariba, Inc., International Business Machines

(30)

Broader B2B

Smarter Search

Easier Aggregation

A mid-sized manufacturer needs to create 400 online relationships with customers, each with their own set of standard and protocols

A flower shop in Australia wants to be “plugged in to every marketplace in the world, but doesnt know how

A B2B marketplace cannot get catalog data for relevant

suppliers in its industry, along with connections to shippers, insurers, etc.

Describe Services

Discover Services

Integrate them

Together

Problems UDDI Solves

Copyright 2000 by Ariba, Inc., International Business Machines

(31)

UDDI v1 Implementation

Flower Shops

Marketplaces

UDDI Business Registry

? Programmatic descriptions of web services

? Programmatic descriptions of businesses and the services they support

? Programming model, schema, and platform agnostic

? Uses XML, HTTP, and SOAP

? Free on the Internet

? Copyright 2000 by Ariba, Inc., International Business Machines Corporation and Microsoft Corporation. All Rights Reserved.

Manufacturers

c

(32)

How UDDI v1 Works

UBR assigns a programmatically unique identifier to each service and business registration

3.

Businesses populate the registry with descriptions of the services they support

2.

Marketplaces, search engines, and business apps query the registry to discover services at other companies

4.

UDDI Business Registry

5.

Business Registrations

Service Type Registrations

SW companies,

standards bodies, and programmers populate the registry with

descriptions of different types of services

1.

Business uses this data to facilitate easier

integration with each other over the Web

? Copyright 2000 by Ariba, Inc., International Business Machines

(33)

Registry Data

?

Businesses register

public information about themselves

?

Standards bodies,

programmers, businesses register information

about their service types

White Pages White

Pages

Yellow Pages Green Pages

Service Type Registrations

? Copyright 2000 by Ariba, Inc., International Business Machines

(34)

White Pages:

Information about a Service Provider

?

Business Name

?

Text Description

? list of multi-language text strings

?

Contact info

? names, phone numbers, fax numbers, web sites…

?

Known Identifiers

? list of identifiers that a business may be known by - DUNS, Thomas, other

? Copyright 2000 by Ariba, Inc., International Business Machines

(35)

Yellow Pages:

business categories

3 standard taxonomies in V1

? Industry: NAICS (Industry codes - US Govt.)

? Product/Services: UN/SPSC (ECMA)

? Location: Geographical taxonomy

Implemented as name-value pairs to allow any valid taxonomy identifier to be attached to the business white page

? Copyright 2000 by Ariba, Inc., International Business Machines

(36)

Green Pages

how to bind to service provider

Technical info about services, specified by a business: how to "do e-commerce" with them

? references to specifications for Web services

? support for pointers to various file and URL based discovery mechanisms if required

Nested model

? Business processes

? Service descriptions

? Binding information

Programming/platform/implementation agnostic Services can also be categorized

? Copyright 2000 by Ariba, Inc., International Business Machines

(37)

SydneyNet.com

Harbour Metals creates online website with local ASP

1.

Consumers and

businesses discover

Harbour Metals and do business with it

4.

ASP registers Harbour Metals with UBR

2.

Marketplaces and search engines query UBR, cache

Harbour Metals data, and bind to its services

3.

UDDI Registry

? Copyright 2000 by Ariba, Inc., International Business Machines

UDDI at Work

(38)

Registry Operation

?

Peer nodes (websites)

?

Companies register with any node

?

Registrations replicated on a daily basis

?

Complete set of “registered” records available at all nodes

?

Common set of SOAP APIs supported by all nodes

?

Compliance enforced by business contract

IBM

Ariba

Microsoft other

other UDDI.org

queries

? Copyright 2000 by Ariba, Inc., International Business Machines

(39)

UDDI and SOAP

User

Create, View,

Update, and Delete registrations

UDDI Registry Node

ServerHTTP SOAP Server SOAP RequestUDDI

DirectoryB2B SOAP RequestUDDI

SOAP ResponseUDDI

Implementation- neutral

? Copyright 2000 by Ariba, Inc., International Business Machines

(40)

Registry APIs

(SOAP Messages)

Inquiry API Find things

? find_business

? find_service

? find_binding

? find_tModel

Get Details about things

? get_businessDetail

? get_serviceDetail

? get_bindingDetail

? get_tModelDetail

Publishers API Save things

? save_business

? save_service

? save_binding

? save_tModel Delete things

? delete_business

? delete_service

? delete_binding

? delete_tModel security…

? get_authToken

? discard_authToken

? Copyright 2000 by Ariba, Inc., International Business Machines

(41)

UDDI Roadmap

Taxonomies3 More

Taxonomies Custom Taxonomies Business Units Corporations Associations

Descriptions of

Services Layered

Services Workflow

V1 V2 V3

Sept 2000 March 2001 December 2001

? Copyright 2000 by Ariba, Inc., International Business Machines

(42)

UDDI Resources

Visit http://uddi.org for:

? Executive White Paper

? Technical White Paper

? UDDI Overview Presentation

(from which much of this section was taken)

? UDDI Programmer's API Specification

? UDDI Data Structure Reference

? UDDI XML schema

? News Releases

? Frequently Asked Questions

See also: http://ibm.com/services/uddi

(43)
(44)
(45)

WSDL:

Describing Services and Service

Providers

(46)

WSDL: Web Services Description Language

?This is an XML Vocabulary, similar in purpose to IDL.

?It contains operational information about the service

? service interface

? implementation details

? access protocol

? contact endpoints

?WSDL is the convergence of separate definition efforts of IBM and Microsoft

?WSDL was submitted to the W3C in February with a total of 25 co-submitters.

(47)

WSDL

XML language for describing Web services

? As set of endpoints operating on messages

? Operations and messages are described abstractly

? Then bound to concrete network protocol and message format to create an endpoint

Functional description of network accessible services

? IDL description

? Protocol and deployment details WSDL V1.1 Specification

? http://www.w3c.org/TR/wsdl

(48)

WSDL Usage Scenarios

As IDL, allows tools to generate client access code for a service

? Web Services Toolkit, IBM WSDE

Standardized service interface descriptions

? Allows advertisement and dynamic discovery of services

? Enables dynamic binding to service

? Complements UDDI registry

(49)

WSDL Document

Client

Application Code

WebSphere App Server

Part of IBM Web

Services Toolkit Code

Generator

WSDL Speeds Implementation

Back-end Processes

App-specific code (you add this)

Service Proxy

Service

Implementation Template

(50)

WSDL Usage

? Two types of WSDL service description documents

? Service Interface

? Service Implementation

? Service Interface

? Abstract, reusable service definition

? Represents a type of service that can be implemented

? Elements: types, message, portType, binding

? Service Implementation

? Implementation of one or more service interfaces

? Contains the endpoint reference

? Elements: import and service

(51)

WSDL Service Interface

<?xml version="1.0"?>

<definitions name="StockQuoteService-interface"

...

<message name="SymbolRequest">

<part name="symbol" type="xsd:string"/>

</message>

<message name="QuoteResponse">

<part name="quote" type="xsd:string"/>

</message>

<portType name="StockQuoteService">

<operation name="getQuote">

<input message="tns:SymbolRequest"/>

<output message="tns:QuoteResponse"/>

</operation>

</portType>

<binding name="StockQuoteServiceBinding” type="tns:StockQuoteService">

<soap:binding style="rpc"

transport="http://schemas.xmlsoap.org/soap/http"/>

<operation name="getQuote">

<soap:operation soapAction="http://www.getquote.com/GetQuote"/>

<input>

<soap:body use="encoded" namespace="urn:live-stock-quotes”

encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>

</input>

<output>

<soap:body use="encoded" namespace="urn:live-stock-quotes"

encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>

</output>

</operation>

</binding>

</definitions>

(52)

<?xml version="1.0"?>

<definitions name="StockQuoteService"

targetNamespace="http://www.getquote.com/StockQuoteService"

xmlns:interface="http://www.getquote.com/StockQuoteService-interface"

xmlns:xsd="http://www.w3.org/1999/XMLSchema"

xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

xmlns="http://schemas.xmlsoap.org/wsdl/">

<import namespace="http://www.getquote.com/StockQuoteService-interface"

location="http://localhost:80/services/sqs-interface.wsdl"/>

<service name="StockQuoteService">

<documentation>Stock Quote Service</documentation>

<port name=”localhost" binding="interface:StockQuoteServiceBinding">

<soap:address

location="http://localhost:8080/soap/servlet/rpcrouter"/>

</port>

. . .

</service>

</definitions>

WSDL Service Implementation

(53)

WSDL Resources

Specification: visit

http://ibm.com/software/developer/library/w- wsdl.html?dwzone=web

...or visit ibm.com/developer and search for WSDL WSDL Toolkit on ibm.com/alphaworks

? A set of tools that allow developers to generate client and server code from a WSDL document

(54)

WSDL Resources

Specification: visit

http://ibm.com/software/developer/library/w- wsdl.html?dwzone=web

...or visit ibm.com/developer and search for WSDL WSDL Toolkit on ibm.com/alphaworks

? A set of tools that allow developers to generate client and server code from a WSDL document

Web Services Toolkit (WSTK) on ibm.com/alphaworks

? demos, papers, developer tools for experimenting with Web Services

(55)

Web Services Toolkit

(56)

IBM's Web Services Toolkit

An implementation of the Web Services architecture for creating, locating and invoking web services

Several useful papers on Web Services

Can be used with Apache Tomcat, IBM WebSphere Application Server, or Embedded WebSphere (included)

Needs only a JDK to run

Available for free download from ibm.com/alphaworks

(57)

WSTK Contents

Web Services Toolkit contains:

? A Web Services programming tutorial

? IBM’s SOAP implementation (now Apache's)

? Technology Demos and Libraries:

? UDDI4J

? WSDL4J

? AXIS

? Several Web Services papers and specifications

? A Web Services Creation Wizard for assisting in encapsulating legacy code as web services

? A Client Proxy Generator

? A sample application called Gourmet2Go

? Many smaller samples

? XKMS

? HTTPR

? WS4B

(58)

What's Next?

IBM's UDDI Registry is up and running

? visit ibm.com/services/uddi

Private UDDI Registry Preview is Available

? http://www.alphaworks.ibm.com/tech/UDDIreg New Standards and Tools for

? Reliable Message Delivery over Internet Protocols

? Secure Message Delivery

? Work Flow Processing and Management

Web Services features are beginning to roll out in fully supported IBM products

? WebSphere

? WebSphere Studio

? WebSphere Business Integrator

? DB2 Universal Database

? MQ Series Lotus

(59)

Web Services: Summary

Web services is an e-business evolution

? describe, discover, integrate services

? increase market reach, syndicate assets, decrease connection costs

? Large role for e-marketplaces, portals, xSPs Open standards is a requirement

? Build on current B2B standards stack

? IBM leads adoption of emerging standards

? Platform-neutral claims get put to the test Get started now with IBM

? WebSphere platform meets requirements

? Web Services Toolkit

? jStart Web services consulting

? Partnerships with the early adopters

(60)

Questions?

ibm.com /alphaworks

site for free emerging tools and technologies from IBM ibm.com/developer/xml

XML Zone on developerWorks - resources for customers and developers on the use of XML

xml.apache.org

open source XML tools from Apache Software Foundation www.w3.org

XML base technical standards xml.org

XML standard vocabularies repository xml.org/xmlorg_news/index.shtml

new and news (the Cover pages) ebxml.org

electronic business in XML initiative

(61)

Demos - Later Today

Web Services Toolkit V2.4 Available on Alphaworks

? Docs, Whitepapers, and more

WebSphere Studio Application Developer (WSAD) Available From WebSphere Site

? ibm.com/software/webservers/studio/preregister.html

? Future direction of VisualAge for Java

Referensi

Dokumen terkait

Abstract: The purpose of this research is to analyze effect of profitability, leverage, and company size on tax avoidance in Plantation Sector Companies.. This type of

Pengaruh signifikan performance expectancy yang telah dimoderatori innovativeness terhadap use behavior menunjukkan bahwa karyawan yang inovatif menjadi pendorong