Title: B2B Frameworks
1B2B Frameworks
a presentation held by Nils Birkeland and Marcel
Stör on January 14th, 2002 at the University of
Applied Science in St. Gallen, Switzerland
2B2B Frameworks
- Overview Defining an eb-environment
- Look at Electronic Data Interchange
- Glance at Microsoft BizTalk
- Glimpse at RosettaNet
- Focus on ebXML
- Goal Understanding B2B and ebXML
3B2B Overview
Electronic Business Collaboration
4B2B EDI (Electronic Data Interchange)
Seller proprietary document format
Buyer proprietary document format
Buyer application
Seller order management application
5B2BEDI Runtime Topology
VAN Value Added Network A VAN is a networking
service that leases communication lines to
subscribers and adds extra services or
capability such as security, error detection,
guaranteed message delivery, and a message
buffer.
6B2BEDI Drawbacks
- Very expensive technology
- Requires special networks
- Limited to large companies
- Implicit structure
- Intended for machines only
7B2BEDI The Best of EDI
- Secure, one-to-one transactions
- End to end real-time transactions
8B2BEDI mail example
N1SHACEMNUFCTRNG1987654321 N2RECEIVING N32
34 MAR N4SAN FRANCISCOCA94103US
9 10Warum ist XML wichtig
- Daten-Identifikation
- XML beschreibt Daten. Nicht die Darstellung der
Daten. Model View Trennung. - Verschiedene Applikationen benutzen dieselben
Daten. Durch Identifizierung der Daten werden
Daten in verschiedenste Art und Weise
verartbeitet. - Daten-Visualisierung mit XSL
- lttogtyou_at_yourAddress.comlt/togt
- Start a new line.
- Display "To" in bold, followed by a space
- Display the destination data.
- To you_at_yourAddress
- Diese Flexibilitaet garantiert "future-proofing"
der Information.
11Warum ist XML wichtig
- Inline Reusabiliy
- XML Dokumente können mittels andere Entitäten
(XML Dokumenten) zusammengesetzt werden. - XML Dokumente können in line in andere
Dokumente eingefügt werden. - Modularisierung von XML Dokumenten.
- Resultierendes XML Dokument ist ein XML Dokument
und nicht ein XML Doukment bestehend aus Teilen. - Easily Processed
- Aufgrund der großen Anzahl von Tools und der
strengen Syntaxanforderungen (im Gegensatz zu
html) kann XML leicht verarbeitet werden. - Hierarchical
- XML Dokumente haben eine hierarchische Struktur.
Datenverarbeitung einfach in einer hierarchischen
Struktur.
12B2BEDI Advantages of XML over EDI
- Explicit structure
- Easier validation
- Can easily use the Internet
- Cheaper to implement
- Can open up electronic commerce to small and
medium-size businesses (social agenda again)
13B2BEDI XML mail example
ltshipper duns"987654321"gt ltorganization
unique-id"aceman"gt ltnamegtACE
MANUFACTURINGlt/namegt ltdivisiongtRECEIVINGlt/div
isiongt ltaddressgt ltstreetgt234 MARKET
STREETlt/streetgt ltcitygtSAN FRANCISCOlt/citygt
ltstategtCAlt/stategt ltzipgt94103lt/zipgt
ltcountrygtUSlt/countrygt lt/addressgt
lt/organizationgt ltshippergt
14XML Familie (I)
15XML Familie (II)
16B2BEDI the DTD
- lt!ELEMENT shipper (organization, address,
attention)gt - lt!ATTLIST shipper DUNS CDATA IMPLIED NAICS CDATA
IMPLIEDgt - lt!ELEMENT organization (name, division)gt
- lt!ELEMENT name (PCDATA)gt
- lt!ELEMENT division (PCDATA)gt
- lt!ELEMENT address (street, city, state?,
country, postalcode)gt - lt!ELEMENT street (PCDATA)gt
- lt!ELEMENT city (PCDATA)gt
- lt!ELEMENT state (PCDATA)gt
- lt!ELEMENT country (PCDATA)gt
- lt!ELEMENT postalcode (PCDATA)gt
17B2B Microsoft BizTalk
internet
Seller proprietary document format
Buyer proprietary document format
Buyer application
Seller order management application
18B2BBizTalk What is it?
- XML framework for electronic commerce and
application integration - Specifically, a set of XML schemas (XDR) produced
by Microsoft, partners and standards bodies
19B2BBizTalk What does it?
- Mapping proprietary formats to XML
- Solution for all size of companies
- Cost effective, highly versatile, easy to change,
quick to implement - Works well if you own a BizTalk server
20B2B RosettaNet
21B2BRosettaNet Rolemodel
22B2BRosettaNet
- Originally centered on the computer technology
industry - Based on an early XML vocabulary
- Quick to integrate
- Many aspects of business
- Complete services integration
- PIP's (partner interface process)
- ...
23B2BRosettaNet Influences
- Has become a model for other industries
- influence beyond its industry boundaries
- including the ebXML initiative
24B2B Focusing on ebXML
ebXML framework
25B2B ebXML
Business Process, Core Components
Registry/ Repository
Collaboration Protocol Profile
Business Process Reengeneering
Business Process Management
Collaboration Protocol Agreement
Business Service Interface
Transport / Routing and Packaging, Business
Service Interface
26B2BebXML High level use case
( ebXML compliant System)
27B2BebXML Architecture
28B2BebXML Vision I
- Defining a single global market
29B2BebXML Vision II
- A global electronic market where enterprises of
any size, anywhere can - Find each other electronically
- Conduct business through the exchange of XML
based messages
30B2BebXML What is it?
- Defines an open framework for global electronic
business - Based on XML standards
- Open non-proprietary public specifications
31B2BebXML Who is behind it?
- UN/CEFACT (United Nations Center For Trade
Facilitation And Electronic Business) - OASIS (Organization for the Advancement of
Structural Information Standards).
32B2BebXML Who supports it?
- 1500 Companies all around the world
- Sun, IBM, Intel, CommerceOne, HP, SAP, China
Commercial Trust, BT, Xerox, ...
33B2BebXML Business Process
34B2BebXML BP Schema
35B2BebXML Collaboration Protocol Profile (CPP)
What Business capabilities it can perform when
conducting a Business Collaboration with other
parties
describe
build
Party A
36Web Dienste Folie zu WSDL ...
QuelleSiemens Austria
37B2BebXML WSDL vs. CPP
- WSDL
- Describes a Web Service
- Provided Information
- Name
- Parameter
- Endpoint
- CPP
- Describes a Web Service
- Provided Information
- Name
- Parameter
- Endpoint
- Roles (in a context)
- Error-handling
- Failure Scenarios
WSDL Web Service Description Language (
www.wsdl.org )
38B2BebXML Collaboration Protocol Agreement (CPA)
39B2BebXML CPA example
- lttpCollaborationProtocolAgreement ...
tpcpaid"uriyoursandmycpa" - tpversion"1.2"gt
- lttpStatus tpvalue"proposed"/gt
- lttpStartgt2001-05-20T072100Zlt/tpStartgt
- lttpEndgt2002-05-20T072100Zlt/tpEndgt
- lttpPartyInfogt
- lttpPartyId tptype"DUNS"gt123456789lt/tpPartyIdgt
- lttpCollaborationRole tpid"N00"gt
- lttpProcessSpecification tpversion"1.0"
tpname"buySell" xlinktype"simple"/gt - lttpRole tpname"buyer" xlinktype"simple"
xlinkhref"http//ebxml.org/processes/buySell.xml
buyer"/gt - lt/tpCollaborationRolegt
- lttpTransport tptransportId"N05"gt
- lttpSendingProtocol tpversion"1.1"gtHTTPlt/tpSen
dingProtocolgt - lttpReceivingProtocol tpversion"1.1"gtHTTPlt/tpR
eceivingProtocolgt - ...
- lt/tpCollaborationProtocolAgreementgt
40B2BebXML Business Documents Conceptual Mode
41B2BebXML SOAP Packaging
42B2BebXML Soap Package example
- Content-Type text/xml
- ltsoap-envEnvelope xmlnssoap-env"http//schemas.
xmlsoap.org/soap/envelope/"gt - ltsoap-envHeadergt
- ltebMessageHeader xmlnsebhttp//www.ebxml.or
g/namespaces/messageHeader...gt - ltebFromgt
- ltebPartyId ebtype"URI"gthttp//localhost
8080/rateservicelt/ebPartyIdgt - lt/ebFromgt
- ltebTogt
- ltebPartyId ebtype"URI"gthttp//localhost
8080/swr/rateservicelt/ebPartyIdgt - lt/ebTogt
- ltebCPAIdgturiswr_neocello_cpa_0800460222F0lt
/ebCPAIdgt ... - lt/ebMessageHeadergt
- lt/soap-envHeadergt
- ltsoap-envBodygt ...
- lt/soap-envBodygt
- lt/soap-envEnvelopegt
- Content-Type text/xml
- lt?xml version"1.0" encoding"UTF-8"?gt
43B2BebXML DNS-like Registry of Registries
44B2BebXML Suns JAXM I Creation
- MessageFactory mf pc.createMessageFactory(ebxml
) - // Create a message from the message factory.
- EbXMLMessageImpl ebxmlMsg (EbXMLMessageImpl)mf.
createMessage() - MessageFactory mf pc.createMessageFactory(bizta
lk)
45B2BebXML Suns JAXM II Soap Header
- ebxmlMsg.setSender(new Party(from))
- ebxmlMsg.setReceiver(new Party(to))
- Service service new Service("SupplierDataQuery")
- ebxmlMsg.setRefToMessageId("20001209-133003-28572_at_
mnemonia.ch") - ebxmlMsg.setCPAId("uriswr_neocello_cpa_7A57C100-.
..-0800460222F0") - ebxmlMsg.setConversationId("20001209-133003-28572"
) - ebxmlMsg.setService(service)
- ebxmlMsg.setAction("ConversionFactor_Request")
46B2BebXML Suns JAXM III SOAP Body
- Manifest manifest new Manifest("manifest",
"1.0") - Reference ref new Reference("pay01",
"cidpay01", - "http//regrep.org/gci/purchaseorder")
- Schema schema new Schema(
- "http//regrep.org/gci/purchaseorder.xsd",
- "1.0")
- ref.setSchema(schema)
- Description desc new Description("en-us")
- desc.setText("PurchaseOrder for rate query")
- ref.setDescription(desc)
- manifest.addReference(ref)
- ebxmlMsg.setManifest(manifest)
47B2BebXML Suns JAXM IV Attachment
- Document doc db.newDocument()
- Element queryElement doc.createElement("Currency
Query") - Element inIsoElement doc.createElement("inISO")
- Element outIsoElement doc.createElement("outISO"
) - Text text doc.createTextNode(inISO)
- inIsoElement.appendChild(text)
- text doc.createTextNode(outISO)
- outIsoElement.appendChild(text)
- queryElement.appendChild(inIsoElement)
- queryElement.appendChild(outIsoElement)
- doc.appendChild(queryElement)
- DOMSource sss new DOMSource(doc)
- AttachmentPart ap
- ebxmlMsg.createAttachmentPart(sss,
"text/xml") - ebxmlMsg.addAttachmentPart(ap)
48B2BebXML Suns JAXM IV RPC
- String to "http//localhost8080/reuters/rates"
- URLEndpoint urlEndpoint new URLEndpoint(to)
- SOAPMessage reply con.call(ebxmlmsg,
urlEndpoint)
49Ressources
- http//www.ebxml.org
- http//www.webservicesarchitect.com
- http//developer.java.sun.com
- http//www.theserverside.com
- IBM Redbook sg246104.pdf
- IT-day in the snowing Elm