a closer look at ebxml - university of hong kong - e… · · 2007-07-25
TRANSCRIPT
David Cheung, CECID/HKU 1
A Closer Look at ebXML
Dr. David Dr. David WaiWai--loklok CheungCheung
(張偉犖博士)Director
Center for ECenter for E--Commerce Commerce Infrastructure DevelopmentInfrastructure Development
(www.cecid.hku.hk) The University of Hong Kong
2
New Rules for IT ManagementNew Rules for IT ManagementI T Doesn’t Matter, I T Doesn’t Matter, Harvard Business ReviewHarvard Business Review, May 2003, May 2003
Spend less – companies with the biggest IT
investments rarely post the best financial results;
Follow, don’t lead – Moore’s Law guarantees that the
longer you wait to make an IT purchase, the more you’ll
get for your money; commoditization of IT is continuing
Focus on vulnerabilities, not opportunities – as
corporations continue to cede control over IT
applications to vendors, the threats they face will
proliferate – protect yourself
3
Identifying the Needs and UsersIdentifying the Needs and Users
What action to take after the BPR ?
Reach other B/Ds more effectively ?
Better communications with the private sectors ?
Provide better services to the citizens ?
Next generation XML systems ?
Open e-Government systems ?
Integration of major government applications ?
Interoperability and standardization ?
Who are the real users and what are their needs ?
4
ChallengesChallengesThree levels of operational needs
1. large enterprise level interactions
2. enterprise to small business interactions
3. small business to small business interactions
Two aspects of technology requirement
1. Data exchange between enterprises
2. System integration within enterprises
5
Enterprise and B2B IntegrationEnterprise and B2B Integration
System1
System2
System1
System2
Enterprise 1 Enterprise 2
Integration exchange Integration
B2B iEAI EAI
1
2 3
4
5
6
7
89
10
How to facilitate this with XML technology ?
6
<event><event_name> ITSD Seminar </event_name>ITSD Seminar </event_name><topic> A Closer Look at ebXML ebXML </topic><date> 30-May-2003 </date><start-time> 9:30am </start-time><end-time> 10:30am </end-time><venue> ITSD Wan Chai Tower </venue><speaker>
<name> Dr. David Cheung </name><organization>
<org_name> CECID, HKU </org_name><title> Director </title>
</organization><organization>
<org_name> CSIS, HKU </org_name><title> Associate Professor </title>
</organization></speaker>
</event>
What is XML ?What is XML ?
7
XML XML –– Technical FeaturesTechnical FeaturesA set of tags (elements), e.g., <event>, <topic>, <date> ……A particular XML file may have a DTD (schema) to define the hierarchical relationships between the tags (regular expression)
An <event> has (children) • <event_name>• <topic>• etc …………….
A <speaker> has (children)• <name>• <organization>• etc……………….
An XML file is well formed (valid) if the tags are paired up properly
8
XML XML –– SemanticsSemantics
An XML file contains self-descriptive data
The meaning of the value attached to a tag can be understood by a machine if the vocabulary has been given to the machine
Program can be written to interpret the value following a tag accordingly
e.g. <topic>XML for E-Business Application</topic>
9
Technical AssessmentTechnical Assessment
XML can facilitate machine to machine interface (HTML & Web cannot)
Good for modeling hierarchical structured data
Useful for defining data exchange standards
Technical challenges :
Costly to process
Difficult to handle
Data size explosion
Not easy to store in RDBMS
Performance could be an issue in some cases
10
XML in Business ApplicationsXML in Business Applications
Define standards for different industries to capture data (business documents)Support interoperability between computer systems – fundamental for B2B, B2G, logistics, etc…
11
Define Standards in XMLDefine Standards in XMLXML can be used to define vocabularies for a particular industry Example : Purchase Order from xCBL
<Order>
<OrderHeader>
<BuyerOrderNumber>� 4500005693 </BuyerOrderNumber>
<OrderIssueDate>� 20010203T12:00:00 </OrderIssueDate>
<BuyerParty><PartyID>� 3000 </PartyID></BuyerParty>
</OrderHeader>
<OrderDetail>
<ItemDetail>
<LineItemNum>� 00010 </LineItemNum>
<Quantity>� 10 </Quantity>
<UOMCoded>� EA </UOMCoded>
<UnitPriceValue>� 10.00 </UnitPriceValue>
</ItemDetail>
</OrderDetail>
</Order>
12
DataData
Three Dimensions of Three Dimensions of InteroperabilityInteroperability
MessagingMessaging
Proce
ss
Proce
ss
Open standards provide interoperability opportunity
Open standards bring in competition, drive down cost and open up market
13
What is What is ebXML ebXML ??
Registry
Company A Company B
Collaboration Protocol Agreement(CPA)
Transport, Routing and Packaging of Business Documents
Profile ofCompany A
Profile ofCompany B
Profile ofCompany B
A standard for providing EDI-like services on Internet• secure & reliable exchange of business documents
14
ebXML ebXML Messaging ServicesMessaging Services
ebMS V 2.0TRP layer of ebXML frameworkTransport• Supports multiple Internet protocols: HTTP, SMTP,
FTP• Supports secure transport channels, e.g. SSL for
HTTP, S/MIME for e-mailRouting• Supports multiple hops of message handlers
Packaging• SOAP with Attachments extension (SWA) • Uses XML signature to sign a message
15
ebMS ebMS is based on SOAPis based on SOAP
A Message Package is a MIME envelope with two logical MIME parts
Header ContainerPayload Container
ebMS - Reliable Web Services; SOAP based
16
Sample Sample ebXMLebXML MessageMessage
POST� /servlet/ebXMLhandler HTTP/1.1
Host:� www.example2.com
Content-Type:� text/xml;� charest=“utf-8”
Content-Length:628
SOAPAction:� "ebXML"
Content-type:� multipart/related;�
boundary="BoundarY";� type="text/xml";
start="� <[email protected]>"
--BoundarY
Content-ID:� <[email protected]>
Content-Type:� text/xml
…….
HTTP Header
SOAP Message
17
<?xml version="1.0"� encoding="UTF-8"?>
<SOAP-ENV:Envelope� xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/‘xmlns:eb='http://www.ebxml.org/namespaces/messageHeader'>
<eb:MessageHeader eb:id="…"� eb:version="2.0"�
SOAP:mustUnderstand="1">
<eb:From>
<eb:PartyId>uri:example.com</eb:PartyId>�<eb:Role>http://rosettanet.org/roles/Buyer</eb:Role>
</eb:From>
<eb:To>
<eb:PartyId� � � � � � �eb:type="someType">QRS543</eb:PartyId
<eb:Role>http://rosettanet.org/roles/Seller</eb:Role>
</eb:To>
<eb:CPAId>http://www.oasis-open.org/cpa/123456</eb:CPAId>
<eb:ConversationId>987654321</eb:ConversationId>
<eb:Service�eb:type="myservicetypes">QuoteToCollect</eb:Service>
<eb:Action>NewPurchaseOrder</eb:Action>
<eb:MessageData>
<eb:MessageId>UUID-2</eb:MessageId>
<eb:Timestamp>2000-07-25T12:19:05</eb:Timestamp>
<eb:RefToMessageId>UUID-1</eb:RefToMessageId>
</eb:MessageData>
<eb:DuplicateElimination/>
</eb:MessageHeader>
SOAP Header
18
<SOAP-ENV:Body>
<eb:Manifest� eb:id="Manifest"� eb:version="2.0">
<eb:Reference� eb:id="pay01“
xlink:href=cid:payload-1
xlink:role="http://regrep.org/gci/purchaseOrder">
<eb:Schema�
eb:location="http://regrep.org/gci/purchaseOrder/po.xsd"�
eb:version="2.0"/>
<eb:Description� xml:lang="en-US">
Purchase� Order� 10,000� widgets</eb:Description>� � �
</eb:Reference>
</eb:Manifest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
--BoundarY
Content-ID:� <cid:payload-1>
Content-Type:� text/xml
<?xml version="1.0"� encoding="UTF-8"?>
<purchase_order>
<po_number>1</po_number>
<part_number>123</part_number>
<price� currency="USD">500.00</price>
</purchase_order>
--BoundarY--
SOAP Body
Payload
19
ebXMLebXML and business processesand business processes• Many “good practices” have been developed in the EDI
experience – need to capture and share among businesses
• ebXML has a standard to specify Business Processes(BPSS) <BusinessTransaction name="Create� Order">
<RequestingBusinessActivity name=""
isNonRepudiationRequired="true"
timeToAcknowledgeReceipt="P2D"�
timeToAcknowledgeAcceptance="P3D">�
<DocumentEnvelope� BusinessDocument="Purchase� Order"/>
</RequestingBusinessActivity>
<RespondingBusinessActivity name=""�
isNonRepudiationRequired="true"
timeToAcknowledgeReceipt="P5D">
<DocumentEnvelope� isPositiveResponse="true"
BusinessDocument="PO� Acknowledgement"/>
</RespondingBusinessActivity>
</BusinessTransaction>
David Cheung, CECID/HKU 21
ITF Project ITF Project ––Establishment of an Establishment of an ebXMLebXML Software Software
Infrastructure in Hong KongInfrastructure in Hong Kong
Funded by the Innovation and Technology Commission
(Jan 2002 – Dec 2003)
Project Coordinator : Dr. Francis Lau Principal Investigator : Dr. David Cheung
Project Manager : Mr. Thomas Lee
Amount : HK $9.5M from ITF
Total Funding : $10.7M
22
CollaboratorsCollaborators
MTR Corporation Limited
Hong Kong Air Cargo Terminals Limited
Saggio (Asia Pacific) Company Limited
The Hong Kong General Chamber of Commerce
Hong Kong Article Numbering Association
E1 Media Technology Limited
IBM China/Hong Kong Limited
23
Project DeliverablesProject Deliverables
1. ebXML infrastructure products
2. ebXML tools for SMEs
3. Pilots to demonstrate the value of the technology
4. Transfer the technology to end users & industry partners
5. Educate the community on plus & minus
24
MTRC MTRC eProcurementeProcurement PilotPilot
MTRC procures office supplies from Saggio on its web site (SaggioDirect.com)Before : MTRC receives paper delivery notes, invoices and statements from Saggio, and manually
enters data in its accounting systemreconciles invoices and statements
After : e-docs (XML) is sent to MTRC with Hermes (ebXML) automatically
no data re-entry; automated reconciliationsupport procurement data analysis & processing
25
SaggioDirect System
Web Server
Hermes
Workstations
MTRC Intranet System
MTRC Users
XML document
Internet
Extract datafrom XML document
XML document
Saggio Logistics Delivery goods
Hermes
IntranetServer
Value-addedservices
26
MTRC MTRC eProcurementeProcurement PilotPilot
UAT completed; will go production in Q2/03; from 4 units to 16 units to 200+ units
Experience transfer to SIs through guidelines and sharing of experience
B2B integration could lead to business process re-engineering
27
Dangerous Goods Manifest PilotDangerous Goods Manifest Pilot
A shipping company should submit a
Dangerous Goods (DG) Manifest 48 hours
before the arrival of the vessel
Before: Paper-based and Web-based submission
After: Machine-to-machine direct submission
Pilot participants : Marine Dept; OOCL; APL;
ITSD
28
ShippingAgentsShippingAgents Paper submission
Web submissionInternet
XML submissionebXML Message Service
over HTTPS on VPN
HermesMSH
HermesMSH
1
2
3
Marine Dept
29
Dangerous Goods Manifest PilotDangerous Goods Manifest PilotConvert the International Marine Organization recommendation (in text) into an XML standard schema for dangerous goods declaration (adopted UN/CEFACT)Production will involve OOCL & APL (Q2/2003)Transferring schema design skill to the community through collaboration with ITSDPlan to extend to all shipping companies (include SMEs)Plan to extend to other document submissions
30
Health Department PilotHealth Department Pilot
A prototype for pharmaceutical product import/export license application with Hermes and ebMail
Participants: Health Dept & ITSD of HK GovtBefore: pharm co’s submit app and obtain license in person (two trips to HD)After: pharm co’s submit app through ebMail (ebXML) and obtain license in person
Save one trip and shorten processing timeValue :
standardization of health/patient informationadopt this technology in other health information systems
31
Internet HermesMSH
License application
Manual entry mode through ebMail
Message generation mode
HealthDept
HealthDept
PharmCo
PharmCo
Application receipt
License pre-approval / rejection
HermesMSH
32
World Weather Information ServiceWorld Weather Information ServiceBy The World Meteorological Organizationthrough Hong Kong Observatory
a UN agency with 185 members of states and territoriesto publish official weather information of the whole world (daily ?)Currently collect weather information through Website and text email
Not workable for developing countriesWebsite: too slow Text email: need manual data input and data validation & verification
Developed an ebMail application for collecting weather information
Provide a GUI form to collect information in XML and email the XML document to HKOMust be lightweight to support low-end machinesHKO management has committed budget to hire a HKU summer intern to build plug-in to use ebMail
34
How Hermes realize How Hermes realize ebMSebMS
Hermes is an implementation of ebMS specification version 2.0Hermes is a first open-source product with RDBMS persistence supportIt was first released on www.freebxml.org on 13 Sep, 2002Current stable version v0.9.3.0v0.9.3.0 has just passed an interoperability test among 5 Asia regions with 13 vendors
35
Mean Features of HermesMean Features of Hermes
Hermes supports HTTP(S) and SMTPHermes supports 2 message delivery mode
Best-effortOnce-and-only-once
Reliable Messagingpersistence handlingduplicate eliminationerror notification acknowledgment retry
Supports PKI
36
Hermes ArchitectureHermes Architecture
Hermes is divided into two halvesServer component
• Java servlet• Communication endpoints
Client component• Java objects• Actual ebXML message handler
Cope with firewallsHermes connection endpoints are outside the firewall (server component)Application receives ebXML message is inside the firewall (client component)
37
Basic Deployment DiagramBasic Deployment Diagram
HermesMessage Gateway(Application Server
+Persistence Storage)
Application(Document Processor)
FirewallFirewall
Business Data(Database Server)
Internet
DMZ
Front-end data processing(Desktop PC)
Internal LAN
Back-end Systems
38
Deployment Arch Deployment Arch –– Sync ModeSync Mode
Persistent Storage
Application Server
Application
Hermes MSH Stub Poller
DB
InternetHermes MSHServlets
Reg Send Callback
Reg
Send
Poll
Firewall
Mail Server
Firewall
Document Processor
DataProcessHandler
DataPackageHandler
ErrorRecoverHandler
FileSystem
Errorlog
Applicationlog
Messagearchive msh log
39
Async Async ModeMode
Application Server
Application
Hermes MSH Stub
InternetHermes MSHServlets
Reg Send
Reg
Send
Rec
Firewall
Mail Server
Firewall
Document Processor
DataProcessHandler
DataPackageHandler
ErrorRecoverHandler
FileSystem
Errorlog
Applicationlog
Messagearchive msh log
Retrieve
PersistentStorage
40
Hermes Communication ModelHermes Communication Model
ebXMLover
HTTPS
ebXMLoverSMTP
Users/Applications
Corporate Boundary
MessagingMechanism
Back-endSystems
DTTNSwitch
Hermes
ebMailWeb
Server
Corp. SME
Hermes
ebXMLover
HTTPS
41
ebXML vs ebXML vs WSWSBased on similar technology but different purposes
Web Services – use basic SOAP packagingebXML – use SOAP with extensionWhy ? – to transfer parameter values vs transfer documents
Provide different paradigmsWeb Services (service based) – to expose applications on the Web so that anyone can call it from anywhereebXML (contract based) – for parties to exchange well defined documents (schema) via agreed business process
42
ebXML vs ebXML vs WSWSWeb Services (basic web services) –
tightly coupled to backend implementationloosely coupled with the callers - no fixed model on how the callers will use the servicesmoderate reliability support (will be resolved by WS-RM)good for dynamic integration
ebXML (collaborative web services) –tightly coupled with the documents (schema) and business process agreed between partiesloosely coupled with the backend systems – as long as they can generate the documentssolid reliability support (once-and-only-once)good for B2B exchange
43
ebXMLebXML And WS IntegrationAnd WS Integration
ebXML
Users
Corporate Boundary
Corp. SME
Central Gateway
Hermes
Web ServicesInterface
Web Services Web Services
Accounting System
Web ServicesWeb Services Web ServicesWeb Services
DeliverySystem
PurchasingSystem
44
What have we learnt ?What have we learnt ?ebXML is useful in developing “contract-based” standardized B2B exchange – value proven in the pilotsAdding standard business process on top of messaging is easyNeed a good XML Schema design
the schema need to be concise enough to support the current applicationto support future extensionto support software library generation for data conversion
ebXML and Basic Web Services serve complementary purpose
45
Corporate Users in Hong KongCorporate Users in Hong KongMTRC
Saggio
APL (US)
OOCL
Marine Department
Health Department
ITSD
HKANA(Multi-National-Corp1)(MNC2)ASLICONew Modern Technology………………………………..
47
Active Users of Hermes outside Active Users of Hermes outside Hong KongHong Kong
2300+ downloads recorded from 36+ countriesSupplysolution - provide supply chain solutions with offices in California, Michigan and Germany
(http://www.supplysolution.com)
TIE Holdings, the Netherlands – a listed company on Amsterdam stock market with offices in Netherlands, France, Belgium & US, specialized in b2b software, (http://www.tieglobal.com)
48
Active Users of Hermes outside Active Users of Hermes outside Hong KongHong Kong
Zenplex – offer B2B applications for the Printing/Publishing industry, office in New York (http://www.zenplex.com)
Valtech – a global business consulting company listed in France stock market (http://www.valtech.com)
UAEexchange – a financial company in United Arab Emeritus (http://www.uaeexchange.com)
Crimsonlogic – a large service provider and solution developer (http://www.crimsonlogic.com)
49
Quality of our product ?Quality of our product ?Asia Interoperability Test – Quality Certification
Hong Kong: CECID
Japan: NEC, Fujitsu, Sun Microsystems, Hitachi, NTT Data, Infoteria
Korea: Samsung SDS, Innodigital, KTNET, POSDATA
Singapore: CrimsonLogic
China: SKLSE
Taiwan: GCOM
• CECID’s Hermes is a proven product• support is available in the market
51
Interoperability FrameworkInteroperability Framework
Purpose : to support interoperability in
joined-up services (G2G & e-Gov)
Key : common XML data schema
XML Schema Design and Management
Guideline – XML Coordination Group
To fulfill one of the three dimensions
52
Our R& D ModelOur R& D Model
R&DR&DProductsProducts
Pilot Pilot ProjectsProjects
ebXMLebXMLProjectProject
EndEndUsersUsers
Production Production Deployments / Deployments / SIsSIs
HK LeadHK LeadProjects / Projects / SIsSIs
FreebXMLFreebXML.org.org