HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration

1 / 24
About This Presentation
Title:

HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration

Description:

{ public float getRate(String country1, String country2) return 123.45; ... IIOP born for COBRA and RMI for Internet, but still need to fight with firewall, ... –

Number of Views:34
Avg rating:3.0/5.0
Slides: 25
Provided by: Eri6
Category:

less

Transcript and Presenter's Notes

Title: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration


1
HKU CSIS DB SeminarWeb Services Oriented Data
Processing and Integration
  • Speaker Eric Lo

2
Presentation Outline
  • Introduction on Web Services Related Work
  • Web Services
  • SOAP
  • WSDL
  • UDDI registry
  • Web Services Oriented Data Processing and
    Integration
  • Introduction to WSIPL-Web Service Integration
    and Processing Language
  • Application Examples

3
What is a Web Service?
  • public class Exchangepublic float
    getRate(String country1, String
    country2) return 123.45
  • 1) Compile it to Exchange.class
  • 2) A Web Server (e.g. Tomcat) a SOAP server
    (e.g. Apache SOAP)
  • 3) Put Exchange.class to a directory that the
    SOAP server know
  • It is already a Web Service!

4
What is a Web Service?
  • Too simple? What is the Web Service usage?
  • It is simple! So simple that seems no big deal?
  • Clients connect to the Exchange services can get
    back 123.45
  • Identical to traditional Remote Procedure Call
    (RPC) in distributed computing
  • Question? Why not use current Web Application?
  • E.g. Clients connect to a Web Server with some
    HTML form page to feed in input data on the form
    and get back a HTML page with 123.45 (the Web
    application can be a Java Servlet, CGI program or
    .ASP script)
  • The WS paradigm is to let different Web
    ServiceS to Integrate and Cooperate together

5
What is a Web Service?
  • If more than one Exchange Web Services, e.g. one
    Exchange WS is for answering exchanging rate
    between US and HK dollar (e.g. provided by HK
    Bank), another WS is for answering exchange rate
    between US and Euro dollar
  • 2 Web Services can integrate together to provide
    a new Web Service

6
The heart of Web Services-SOAP
  • SOAP is the standard protocol for XML messaging
    and RPC communication on all platform, all
    languages.
  • Stands for Simple Access Object Protocol
  • Is actually ride on existing communication
    protocol, e.g. HTTP, SMTP because XML is also
    just a text message

7
What is SOAP?
  • Is a communication protocol
  • Is for communication between applications
  • Is a format for sending messages
  • Is designed to communicate via Internet
  • Is platform independent
  • (of course?XML?text)
  • Is language independent
  • Is based on XML
  • Is simple and extensible
  • Is a W3C standard

8
Life Before SOAP
  • B4 SOAP, applications communicate using CORBA,
    they are RPC, application A call B methods and
    return something to A. Even its work, they are
    not for http (Internet). IIOP born for COBRA and
    RMI for Internet, but still need to fight with
    firewall, proxy, security and compatibility.

9
Clients invoke SOAP
  • Java client need to import SOAP stuffs this time!
  • E.g.
  • Import org.apache.soap.Import
    org.apache.soap.rpc.public class client
    url http//soapserver call.seturl(url)
    OUTPUTcall.getRate(HK, US)

10
SOAP Message at a glance
  • If capture the underlying SOAP message, can find
    format like this
  • ltSOAP Envelopgt
  • ltSOAP Headergt
  • SOAP body
  • lt/SOAP Envelopgt

11
Captured SOAP message
12
Web Services Description Language (WSDL)
  • Describing the web services you provided
  • Usage?
  • Let clients know which operation you provided,
    how they bind with, what you have used as
    protocol via SOAP (http, ftp, smtp)
  • If the operation of your web service fulfill
    predefined sets of roles (types), you can then
    compete with other similar service providers
    (e.g. you provide function with getRate() and
    transfer(), then you can be type of BANK)

13
WSDL
  • WS code (server side java code) ?? WSDL ? Client
    stub ? Client code
  • Where do the WSDL files locate?
  • As a file in the service site
  • UDDI registry

14
UDDI-Universal distribution, discovery, and
interoperability
  • Similar concept to yellow page
  • New services register to the UDDI registry
  • By writing code (import UDDI library, uddi4j)
  • Or simple done it on web
  • Clients can search it
  • By writing code again(uddi4j)
  • Or by web
  • Returning the WS information and the
    corresponding WSDL file or the URL to that WSDL
    file

15
Web Services Oriented Data Processing and
Integration
  • Business applications often require intensive
    human programming efforts on data processing and
    integration
  • E.g. A company may want to enquire the total
    inventory level of a particular stock in
    different regions, while each regional office
    maintain its own inventory database

16
Before and After XML
  • Before - Need low level programming
  • Network programming
  • Database query
  • Not flexible (business requirement varies time to
    time)
  • After
  • Network programming is easier (handle XML text
    only)
  • Simple handle of data transform (e.g. 2 databases
    has different field name)

17
After XML
  • However, flexible problem is persist
  • Very tedious to write a new application for
    different purpose with minor changes
  • Introduce new efforts on handling XML parsing,
    transforming (e.g. XML ? HTML)

18
Our approach
  • A novel approach for data integration and
    processing
  • WSIPL (stands for Web Services Integrating and
    Processing Language)
  • Key Requirements
  • Web Service Orientation
  • Coordination
  • Data Processing and Integration

19
Web Service Orientation
  • All data sources and processors are exposed as
    Web Services
  • Reusable
  • Ready for incorporate and coordinate under
    standard
  • For legacy (existing) operations, add a Web
    Service Interface (by wrapper)

20
Coordination
  • WSIPL provides constructs
  • W3C standard compliance
  • Execution
  • IF-THEN-ELSE
  • FOR-EACH
  • SWITCH-CASE
  • EXCEPTION
  • same as XSLT and XPath, thus can push all
    efforts to a XSLT processor
  • Parallelization
  • If no dependency between web services, executes
    in parallel to increase efficiency

21
Data Processing and Integration
  • Validation
  • Validate with XSchema
  • Transformation
  • E.g XSLT
  • Handling data field problem
  • Composition
  • E.g. summary of inventory data

22
A WSIPL example
  • ltwsiplscriptgt
  • ltwsiplsource nameUSDollar/gt
  • ltwsiplvariable nameUSDollar
    select/data/namevaluepair_at_namedollars/gt
  • ltwsipltask nameHKBankgt
  • ltwsiplcall urlhttp//hkbank.com/opensevic
    e urnCurrencyServices operationExchange
    styleRPCgt
  • ltwsiplparam namedollars
    valueUSdollars/gtlt/wsiplcallgt
  • lt/wsipltaskgt
  • ltwsipltask nameEuroBankgt
  • ltwsiplcall urlhttp//Eurobank.com/opensev
    ice urnCurrencyServices operationExchange
    styleRPCgt
  • ltwsiplparam namedollars
    valueUSdollars/gtlt/wsiplcallgt
  • lt/wsipltaskgt
  • ltwsipltask nameIntegrategt
  • ltwsiplinclude nameHKBank/gt
  • ltwsiplinclude nameEuroBank/gt
  • lt/wsipltaskgt
  • ltwsiplresponse nameIntegrate/gt

23
WSIPL system reference architecture
24
  • End
Write a Comment
User Comments (0)
About PowerShow.com