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