XML Working Group: Web Services Initiative - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

XML Working Group: Web Services Initiative

Description:

... SIGs conferences in Munich, London, New York, Evolve conference in ... Like an electronic Yellow Pages. Web Service developer publishes WSDL to UDDI server ... – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 19
Provided by: chadd9
Category:

less

Transcript and Presenter's Notes

Title: XML Working Group: Web Services Initiative


1
XML Working GroupWeb Services Initiative
Madhu Siddalingaiah June 19, 2002
2
Goal Understand Web Services Potential
  • Proposal at March, 2002 AIC meeting to consider
    new initiative on Web Services technology
  • Chairs wanted more information before making a
    decision
  • AIC authorized preparation of demo and
    educational presentation
  • Present at XML WG, AIC and then maybe CIO Council
  • Todays agenda Implementer-level issues
  • Architecture of Web Services
  • USITC prototype HTS Web Service
  • Development process
  • Demo

3
About the Presenter
  • Java XML consultant
  • Started with Java in 1995
  • Clients include Fairchild Space Defense, Blue
    Cross/Blue Shield, Sun Microsystems
  • Published author
  • XML and Web Services Unleashed, 2002, Sams
    Publishing
  • Numerous articles for JavaWorld, Internet.com,
    Network World
  • Presented papers at conferences all over the
    world
  • JavaOne, SIGs conferences in Munich, London, New
    York, Evolve conference in Sydney

4
What Are Web Services?
  • A web service is a software component
  • Exposes a business function/service/data
  • Can be accessed by another application over
    Internet
  • Messages are exchanged using a standard XML
    format

Application Server (J2EE or .NET)
lthtmlgt
Business logic
Web Application
Business
ltxmlgt
Web Service
lthtmlgt
ltxmlgt
Agency
5
Advantages of Web Services
  • Cross-platform, cross-language support
  • Java, .NET, PHP, Perl, Python
  • Based on industry standards (W3C)
  • Catches the XML wave
  • XML, SOAP, WSDL
  • Supported by many vendors
  • Unlike CORBA
  • Relatively easy to implement
  • Simpler plumbing
  • Service publication and lookup
  • Conduct business without prior relationship
  • Zero latency enterprise
  • Loosely coupled
  • Low demands on network quality
  • Based on stateless request/response model

6
Challenges to Web Services Implementation
  • Complete set of tools and specifications not yet
    available
  • Sun's web services recently released MS .NET not
    fully delivered
  • Few established 3rd-party tools
  • Security payment specs still being worked
  • Lack of standardized schemas for vertical
    industries
  • Efforts under way
  • Education of business executives and IT staff
  • Understand where W-S fits in to the big picture
  • Identify good W-S opportunities
  • Shortage of programmers knowledgeable in
    distributed systems
  • The FUD of war Microsoft and Sun
  • Constant threat of balkanization of standards

7
Web Services Protocols
  • XML http//www.w3.org
  • Web services messages are formatted using XML
  • SOAP http//www.w3.org/2000/xp/Group
  • Simple Object Access Protocol
  • Defines the standard format for XML messages
  • Functionally similar to RPC, CORBA, RMI
  • WSDL http//www.w3.org/2002/ws/desc
  • Web Services Description Language
  • Describes a web services as a collection of ports
    and operations
  • XML interface document similar to CORBA IDL or
    RMI/EJB remote interface
  • UDDI http//www.uddi.org
  • Universal Description, Discovery and Integration
  • Provides a searchable registry of web services
  • Similar, but broader in scope compared with CORBA
    or JNDI registry

8
SOAP
  • Standard packaging structure for transporting XML
    documents
  • DOC style
  • Send XML and receive XML documents
  • RPC style
  • Like a remote method call
  • Defines encoding and binding standards
  • Provides a simple structure for describing RPC
    operations
  • Works well with HTTP, SMTP, etc.

request
SOAP CLIENT
SOAP SERVICE
response
9
WSDL
  • XML document for describing web services
  • Input and output data structures
  • Includes or refers to XML Schema type information
  • Method signatures
  • Protocol bindings (HTTP, SMTP etc.)
  • Location of the service
  • Document can be stored in UDDI registry
  • Or served from same server
  • Typically generated by a tool
  • xrpcc in Java Web Services Developer Pack

10
UDDI
  • A registry of WSDL documents
  • Like an electronic Yellow Pages
  • Web Service developer publishes WSDL to UDDI
    server
  • Web Service clients can query the UDDI server for
    suitable service definitions
  • Accessible by humans and computers
  • UDDI is not yet mature
  • Standards and implementation is experimental
  • How is trust established?

11
Getting Started with Web Services
  • Start out small with an internal project that
    provides value
  • Web service for read-only access
  • Find a partner that will use your service!
  • Validate interoperability business value
  • Provide XML and Web services training to
    development team
  • Identify business functions available as existing
    software components EJB or COM
  • Turn a Web application into a Web service
  • Candidates for web services
  • Free services
  • Non-sensitive data
  • Real time access to authoritative information
  • Wherever machine to machine communication is
    valuable

12
Harmonized Tariff Schedule (HTSUS)
  • Official lists of duty rates (tariffs)
  • Applicable to goods imported into the United
    States
  • Applies to 20,000 or so line items in HTSUS
    classification
  • Okra, steel, transistors, etc.
  • Information published in three ways by USITC
  • Hardcopy
  • PDF format (downloadable from USITC Website)
  • Unofficial browser accessible Web form
  • Application is a good candidate for Web service
  • Data is free, authoritative, non-sensitive
  • Builds on existing web/database app
  • Data will be consumed by customs brokers business
    apps

13
Current vs. Web Service Workflow
Corporate importers
HTSUS hardcopy manually re-keyed
Data tape
Walmart
General Motors
Customs
USITC
Brokers
Customs
USITC
Corporate importers
ltxmlgt
Walmart
Web service
ltxmlgt
General Motors
ltxmlgt
Brokers
14
Prototype Architecture
  • J2EE server
  • Java Web services developer pack (JWSDP)
  • http//java.sun.com/webservices
  • Includes Tomcat server
  • Exposes two methods
  • getProductList(String description)
  • Generic query for products matching description
  • getProductDetail(String productCode, String
    beginDate)
  • Returns tariff data for specific product

JWSDP/Tomcat
JDBC
Web service
ltxmlgt
IIS/ASP
ODBC
Web form
lthtmlgt
15
Development Process
Java Interface
Configuration File
xrpcc
Could start with WSDL
WSDL
Server Skeletons
Client Stubs
Deploy to J2EE Server
Service Implementation
SOAP Library
Can be used to build static client
16
WSDL for HTS
  • lt?xml version"1.0" encoding"UTF-8"?gt
  • ltdefinitions name"HTS_Service"
    targetNamespace"http//usitc.gov/hts/wsdl" ... gt
  • ltmessage name"getProductDetail"gt
  • ltpart nameproductCode" type"xsdstring"/gt
  • ltpart namebeginDate" type"xsdstring"/gt
  • lt/messagegt
  • ltmessage name"getProductDetailResponse"gt
  • ltpart name"result" type"xsdstring"/gt
  • lt/messagegt
  • ...
  • ltportType name"HTSInterface"gt
  • ltoperation name"getProductDetail"gt
  • ltinput message"tnsgetProductDetail"/gt
  • ltoutput message"tnsgetProductDetailResponse"/
    gt
  • lt/operationgt
  • lt/portTypegt
  • ltbinding name"HTSInterfaceBinding"
    type"tnsHTSInterface"gt
  • ltoperation name"getProductDetail"gt
  • ltinputgtltsoapbody encodingStyle"..."
    use"encoded" namespace"http//usitc.gov/hts/wsdl
    "/gtlt/inputgt

Some details Left out!
URL of service
17
XML Schema for HTS Detail Response
Some details Left out!
  • lt?xml version"1.0" encoding"UTF-8"?gt
  • ltxsschema xmlnsxs"http//www.w3.org/2001/XMLSch
    ema" gt
  • ltxselement name"HTS_DETAIL"gt
  • ltxscomplexTypegt
  • ltxssequencegt
  • ltxselement name"BRIEF_DESCRIPTION"/gt
  • ltxselement name"QUANTITY_1_CODE"/gt
  • ltxselement name"QUANTITY_2_CODE"/gt
  • ltxselement name"MFN_RATE_TYPE_CODE"/gt
  • ltxselement name"WTO_BINDING_CODE"/gt
  • ltxselement name"MFN_AD_VAL_RATE"/gt
  • ltxselement name"NAFTA_CANADA_IND"/gt
  • ltxselement name"NAFTA_MEXICO_IND"/gt
  • ltxselement name"MEXICO_AD_VAL_RATE"/gt
  • ltxselement name"MEXICO_SPECIFIC_RATE"/gt
  • ltxselement name"BEGIN_EFFECT_DATE"/gt
  • ltxselement name"END_EFFECTIVE_DATE"/gt

18
References
  • World Wide Web Consortium
  • Source of specifications
  • http//www.w3.org
  • Case studies
  • http//www.microsoft.com/net/use/casestudies.asp
  • http//www-3.ibm.com/software/solutions/webservice
    s/casestudies
  • http//dcb.sun.com/practices/webservices
  • Xmethods
  • Great list of interesting Web services
  • http//www.xmethods.com
  • Soapclient.com
  • Dynamic web client for Web services
Write a Comment
User Comments (0)
About PowerShow.com