Building a Highly Reusable E

Download Report

Transcript Building a Highly Reusable E

Web Services based e-Commerce System
Sandy Liu
Jodrey School of Computer Science
Acadia University
July, 2002
Existing Problems
Most existing e-commerce systems have
common problems in:
 Flexibility
 Information Sharing
 Integration
Question: How to build a highly flexible,
integratable and maintainable application?
Proposed Solution
A Web Services based e-commerce system:
 Flexible System Architecture
 Well-defined Software Components
 Multiple Information/Data Access Channels
A practical strategy to improve the overall
efficiency of existing systems at a low cost.
What is Web Services
 It is a platform and implementation
independent software component that can
be:
 Described using a service description language
 Published to a registry of services
 Discovered through a standard mechanism at runtime or
design time
 Composed with other services
 Examples: credit card processing, shipment tracking…
What is Web Services
Web Services
Application
Client
Application
Code
Platform, Language
& Location specific
communication
Platform, Language
& Location agnostic
communication
• Web Services are intended to be used by other
programs or applications, not by a human user.
• It acts as an abstraction layer, separating the
platform and programming-language specific details
from how the application code is invoked.
Service-Oriented Architecture
Service
Registry
Find
Service
Requestor
Publish
Bind
Service
Provider
Web Services Stack
UDDI/ebXML registries
WSDL/WSCL
SOAP/XML Protocol
HTTP/SMTP/FTP/Jabber
TCP/IP
Publishing / Discovery
Description
Packaging
Transport
Network
Enabling Technologies and
Standards
 HTTP
 XML and XML Schema (XSD)
 SOAP (Simple Object Access Protocol)
 WSDL (Web Services Description Language)
 UDDI (Universal Description, Discovery and
Integration)
HTTP
 The most pervasive communication protocol
used in the Internet world.
 A feature of HTTP is the typing and
negotiation of data representation, which
allows systems to be built independent of the
data being transferred.
XML & XML Schema (XSD)
XML Schema or XSD (XML Schema Definition)
lays the mechanism for defining the vocabulary and
structure of XML documents:
 XSD is defined using an XML format
 XSD has a data typing mechanism
 XSD uses namespace
SOAP
 SOAP – Simple Object Access Protocol
 Industry’s best effort to date to standardize
on the infrastructure technology for crossplatform XML distributed computing
 Use HTTP to transfer data (by default)
 Based on XML-RPC, everything is encoded
in XML format
SOAP Message Structure
Envelope (Mandatory)
Header (Optional)
Body (Mandatory)
WSDL
 WSDL- Web Service Description Language
 Formally, it’s an XML format for describing network
services as a set of end points operating on messages
containing either document-oriented or procedure-oriented
information
 Informally, it’s a document that provides the access
information for the service consumer, such as the method
signature (input/output parameters, and so forth); the
protocol to be used (IIOP, SOAP, and so on); the network
address (URL); and the data format (encoding schemes).
UDDI
 Universal Description, Discovery and Integration
 a platform-independent, open framework for
describing services, discovering businesses, and
integrating business services using the Internet
 Enables businesses to describe their services and
business processes and their preferred methods for
conducting business.
 Offers both a web-based user interface and a set of
APIs for program access.
Web Services and e-Commerce
The magic glue for
 B2B integration
 Enterprise-wide application integration
The 3-tier Architecture
Enhydra Application: IBuildPC.com
1st/2nd
Tier Line
2nd/3rd
Tier Line
Enhydra Framework
Architecting Web Services
Human Users
3rd Party Programs or
Applications
(Service Requestors)
Challenge
Putting the puzzles together:
 SOAP container
 Application Server
 Web Server
 Database Server
IBuildPC.com
Supplier 1
Retailer A
IBuildPC.co
m
Supplier 2
Supplier n
Retailer B
Online Shoppers
Retailer n
IBuildPC.com
In the Service-Oriented-Architecture, it is
 a Service Provider towards its downstream
customers
 a Service Requestor towards its suppliers,
credit card verification service provider,
SMTP service provider, etc.
The Client System
 Used by a retailer of IBuildPC.com
 Built with Visual Basic
 Requests the web services provided by
IBuildPC.com (built with Java)
 Demo…
Conclusion
 Modularized, portable, and highly
integratable system
 Great deployment flexibility
 Low entrance cost
 But it is not a cure-all solution for everyone –
yet to mature at its current state
Questions