B2B Collaboration using ebXML a Java based implementation - PowerPoint PPT Presentation

1 / 66
About This Presentation
Title:

B2B Collaboration using ebXML a Java based implementation

Description:

Trading partners can get a real-time quote before placing an order ... tp:Composite tp:id='RequestMsg' tp:mimetype='multipart/related' tp: ... – PowerPoint PPT presentation

Number of Views:221
Avg rating:3.0/5.0
Slides: 67
Provided by: syb64
Category:

less

Transcript and Presenter's Notes

Title: B2B Collaboration using ebXML a Java based implementation


1
B2B Collaboration using ebXML a Java based
implementation
2
The Sybase Team Here Today
  • Mehul Rajparia Senior Systems Engineer out of
    Sybases Phoenix office located at 24th st.
    Cameback
  • Kyle Cruce Account Manager out of Sybases
    Phoenix office located at 24th st. Cameback
  • John Durant Western Area Technical Director out
    of Sybases corporate office in Dublin, CA
  • Himagiri(Hima) Mukkamala Web Services Architect
    and brain behind todays presentation

3
Speakers Qualifications - Himagiri(Hima)
Mukkamala
  • Web Services Architect for Sybase e-Business
    Solutions
  • Co-author for ebXML CPPA 2.0 specification
  • Co-author for ebXML BPSS 2.0 specification
  • Specification Co-lead for JSR 157 Java APIs for
    ebXML CPPA
  • Sybases representative to W3C Web Services
    Architecture WG

4
Goal
Learn how to implement an automated e-business
collaboration based on ebXML using various Java
techologies
5
Learning Objectives
  • As a result of this presentation, you will gain
  • Insight into specifications that are part of
    ebXML standard
  • Knowledge of ebXML relevance in a B2B
    Collaboration
  • Understanding of Java APIs that can be used to
    implement B2B collaboration based on ebXML
  • Overview of Sybase products and solutions that
    support B2b Collaboration (And you thought Sybase
    was just the database company.)

6
Presentation Agenda
  • Web Services What are they?
  • Introduction to ebXML
  • Description of a B2B Collaboration scenario using
    ebXML
  • Describe Java APIs
  • Sybase eBusiness Products Overview
  • QA

7
Web Services What are they?
8
Web Services What are they?
  • Functional Interfaces or Services accessible over
    Internet.
  • Loosely coupled software, invokable over the
    internet.
  • Accessible using ubiquitous internet protocols
    and formats.
  • Registered with and Discovered from a Registry
    Service
  • Notation for describing services and data formats
  • Enveloping scheme for packaging data for
    transport.

9
Web Services What are they?
  • Two categories based on usage patterns
  • Simple
  • Collaborative Web Services

10
Simple Web Services
  • Basic Web Services.
  • Stock Quote Service, etc.
  • Either RPC or Document style
  • Commonly implemented using SOAP, WSDL UDDI on a
    J2EE AppServer.
  • Doesnt provide Business Process Collaboration
    capabilities natively.
  • Lacks Trading Partner Agreement, State information

11
Simple Web Services
Web Services Provider
Web Services Provider
Request
Internet
Response
J2EE AppServer
SOAP Messages
.NET
12
Collaborative Web Services
  • Complex Web Services.
  • Either RPC or Document style
  • Commonly layered on industry standards like
    ebXML, RosettaNet, etc.
  • Business Process Collaboration over the Internet.
  • Enables Trading Partners to take part in complex
    business processes.
  • Provide common services like Exceptions,
    Security, Non-Repudiation, Notification of
    Failure, etc.
  • Larger infrastructure requirements.

13
Collaborative Web Services(Contd)
Trading Partner Management
B2B Application
B2B Application
Request
Response
Internet
Request
Response
BPM
BPM
J2EE AppServer
Collaboration
.NET
14
Collaborative Web Services(Contd)
  • RosettaNet ebXML
  • RosettaNet doesnt provide collaborations over
    multiple business transactions.
  • No machine readable Profile or Agreements.
  • Focus on Vertical Segment (EC/IT)
  • Possesses industry knowledge.
  • Broader acceptance and presence for a while

15
Introduction to ebXML
16
Why ebXML ?
ebXML has all the pieces of the puzzle for
automated B2B Collaborations estimated at around
gazillion dollars!!
17
Introduction to ebXML
  • Introduction
  • ebXML is a joint OASIS - United Nations/ CEFACT
    Electronic Business XML initiative
  • Open XML-based infrastructure.
  • Modular suite of specifications.
  • Lower the barrier of entry for SMEs

18
Introduction to ebXML (Contd)
  • Strengths
  • Completely based on XML
  • Provides complete set of specifications.
  • HORIZONTAL approach
  • A combined effort of XML EDI communities to
    evolve new generation B2B(EDI)
  • Infrastructure to provide a set of re-usable and
    extensible Core Components

19
Introduction to ebXML (Contd)
  • Different Layers of infrastructure
  • Core Components (CC)
  • Registry/Repository (REGREP)
  • Messaging (MSH)
  • Collaboration Protocol Profile/Agreement (CPP/A)
  • Business Process Specification Schema(BPSS)

20
Introduction to ebXML (Contd)
  • Core Components
  • Promote reuse and interoperability across
    industries
  • E.g. Reuse of Address within multiple industries
  • Define a process to discover information
    components
  • Cataloging of information components
  • Context specific use of core components for
    business documents
  • Not as mature as compared to other specifications

21
Introduction to ebXML (Contd)
  • Business Process Specification Schema
  • XML based notation for describing Collaborations
  • Based on the meta-model behind the UN/CEFACT
    Modeling Methodology (UMM) defined in the
    N090R9.1 specification.
  • Supports standard patterns for implementing
    collaborations
  • Patterns determine the actual exchange of
    Business Documents and business signals

22
Introduction to ebXML (Contd)
  • Registry/Repository
  • Provides a set of services that enable sharing of
    information
  • Maintained as objects in the Repository
  • Managed by the Registry Services.
  • Accessible by clients using the client side
    implementation.
  • Various formats of content can be submitted
  • 2 kinds of query mechanism, Filter and SQL Query

23
Introduction to ebXML (Contd)
  • Collaboration Protocol Profile/Agreement
  • Profile describes a Trading Partners
    characteristics
  • Transport
  • Security etc.
  • Agreement describes mutually agreed upon values
    binding the collaboration
  • Provides binding to Business Process Layer to
    configure collaborations
  • Published into REGREP for access
  • Could arrive at a CPA by negotiation

24
Introduction to ebXML (Contd)
  • Messaging
  • Defines a wire format and protocol for a Message
    Service.
  • Bindings for HTTP/SMTP
  • Defines specific enveloping constructs that
    support reliable, secure delivery of business
    information
  • Describes MSH behavior for receiving and sending
    messages.
  • Extensions to SOAP1.1 and SWA
  • Communication protocol independent packaging

25
Introduction to ebXML (Contd)
Trading Partner Management
CPP/A
Core Comp
B2B Application
B2B Application
Request
Response
Internet
Request
Response
BPM
BPM
MSH
Collaboration
BPSS
J2EE AppServer
.NET
26
Description of B2B Collaboration using ebXML
27
Description of B2B Collaboration using ebXML
  • Purchasing Service
  • Trading partners can get a real-time quote before
    placing an order
  • Send a Purchase Order and receive confirmation.
  • Collaboration can be constructed by aggregation
    of such services in the form of multiple
    business-transactions.
  • Provides a description of the document type for
    Quote Request, Quote Response, Purchase Order, PO
    Confirmation.
  • Description of transport and other such
    capabilities exists

28
Description of B2B Collaboration using ebXML
  • Roles Seller, Buyer
  • Transactions Quote Request, Quote Response,
    Purchase Order Request, Purchase Order
    Confirmation
  • Business Documents
  • Quote Request, Quote Response
  • PO Request, PO Confirmation
  • Protocol HTTP
  • XMLDSIG for Non-Repudiation
  • SSL for Authentication
  • Documents and Capabilities published for Trading
    Partner access

29
Scenario Mapped to ebXML
  • Business Documents QuoteRequest, QuoteResponse,
    PO, PO Confirmation Set of Core Components
  • Collaboration Description for Purchasing Service
    Business Process - BPSS
  • Definition of transport, enveloping, security
    characteristics, etc. - CPA
  • Publishing of Document definitions and
    capabilities - REGREP
  • Runtime exchange of messages over HTTP MSH

30
BPSS Document for the Scenario
  • ltProcessSpecification xmlns"http//www.ebxml.org/
    BusinessProcess" xmlnsxsi"http//www.w3.org/2001
    /XMLSchema-instance" xsischemaLocation"http//ww
    w.ebxml.org/BusinessProcess ebBPSS.xsd"
    name"PIP3A2QuoteService" uuid"bpidRosettaNet3A
    2QuoteServicelt/" version"R02.00"gt
  • ltBusinessDocument nameQuote Request"
    nameID"Pip3A2QuoteRequest" specificationLocation
    "QuoteRequest.xsd
  • lt/BusinessDocumentgt
  • ltBusinessDocument nameQuote Response"
    nameID"Pip3A2QuoteResponse" specificationLocation
    "QuoteResponse.xsd"gt
  • lt/BusinessDocumentgt
  • ltBusinessTransaction nameQuote Request"
    nameIDQuoteRequest_BT"gt

31
BPSS Document for the Scenario
  • ltRequestingBusinessActivity nameQuote Request
    Action" nameIDQuoteRequestAction"
    isAuthorizationRequired false"
    isNonRepudiationRequiredfalsegt
  • ltDocumentEnvelope businessDocumentQuote
    Request" businessDocumentIDRef"Pip3A2QuoteRequest
    /gt
  • lt/RequestingBusinessActivitygt
  • ltRespondingBusinessActivity nameQuote
    Response Action" nameIDQuoteResponseAction"gt
  • ltDocumentEnvelope businessDocumentQuote
    Response " businessDocumentIDRef"Pip3A2QuoteRespo
    nse" isAuthenticatedfalse" isConfidentialfalse
    " isPositiveResponsefalse" isTamperProoffalse"
    /gt
  • lt/RespondingBusinessActivitygt
  • lt/BusinessTransactiongt

32
BPSS Document for the Scenario
  • ltBinaryCollaboration nameQuote Service"
    nameIDQuoteService_BC"gt
  • ltInitiatingRole nameBuyer" nameID"Buyer"/gt
  • ltRespondingRole name"Seller" nameID"Seller"/gt
  • ltBusinessTransactionActivity nameQuote
    Request" nameIDQuoteRequest_BTA"
    businessTransactionQuote Request "
    businessTransactionIDRefQuoteRequest_BT"
    fromAuthorizedRole"Buyer" fromAuthorizedRoleIDRef
    "Buyer" toAuthorizedRole"Seller"
    toAuthorizedRoleIDRef"Seller" isConcurrent"false
    "/gt
  • lt/BinaryCollaborationgt
  • lt/ProcessSpecificationgt

33
CPA Document for the Scenario
  • lt!-- Party info for company Seller --gt
  • lttpPartyInfo tppartyNameSeller
    tpdefaultMshChannelId"channel1"gt
  • lttpPartyId tptype"DUNS"gtbuyer.duns.comlt/tpPar
    tyIdgt
  • lttpPartyRef xlinkhref"http//Seller.com/about.
    html"/gt
  • lttpCollaborationRole tpidSeller"gt
  • lttpProcessSpecification tpversion"2.0
    tpname"PIP3A2QuoteService" xlinktype"simple"
    xlinkhref"http//www.rosettanet.org/processes/3A
    2.xml"/gt
  • lttpRole tpnameSeller" xlinktype"simple"
    xlinkhref"http//www.rosettanet.org/processes/3A
    2.xmlSeller"/gt
  • lttpServiceBindinggt
  • lttpService tptype"anyURI"gt bpidRosettaNetPIP
    3A2QuoteServicelt/tpServicegt

34
CPA Document for the Scenario
  • lttpActionBinding tpactionQuote Request
    Action" tpchannelId"channel1"
    tppackageId"RequestPackage"gt
  • lttpActionContext tpbinaryCollaboration"Quote
    Service" tpbusinessTransactionActivity"Quote
    Request" tprequestOrResponseActionQuote
    Request Action"/gt
  • lt/tpActionBindinggt
  • lt/tpServiceBindinggt
  • lt/tpCollaborationRolegt
  • lttpDeliveryChannel tpchannelId"channel1"
    tptransportId"transport1" tpdocExchangeId"docE
    xchange1"gt
  • lttpBusinessProcessCharacteristics
    tpsyncReplyMode"none" tpnonRepudiationOfOrigin
    false" tpnonRepudiationOfReceiptfalse"
    tpsecureTransportfalse" tpconfidentialityfal
    se /gt

35
CPA Document for the Scenario
  • lttpMessagingCharacteristics tpackRequestednon
    e" tpackSignatureRequestednone"
    tpduplicateEliminationnone"/gt
  • lt/tpDeliveryChannelgt
  • lttpTransport tptransportId"transport1"gt
  • lttpSendingProtocol tpversion"1.1"gtHTTPlt/tpSen
    dingProtocolgt
  • lttpReceivingProtocol tpversion"1.1"gtHTTPlt/tpR
    eceivingProtocolgt
  • lttpEndpoint tpuri"https//www.Seller.com/ebxml
    handler" tptype"allPurpose"/gt
  • lt/tpPartyInfogt

36
CPA Document for the Scenario
  • lt!-- SimplePart corresponding to the SOAP
    Envelope --gt
  • lttpSimplePart tpid"MsgHdr tpmimetype"text/x
    ml"gt
  • lttpNamespaceSupported tplocation"http//www.oa
    sis-open.org/committees/ebxml-msg/schema/draft-msg
    -header-05.xsd" tpversion"1.1"gthttp//www.oasis-
    open.org/committees/ebxml-msg/schema/draft-msg-hea
    der-05.xsdlt/tpNamespaceSupportedgt
  • lt/tpSimplePartgt
  • lt!-- SimplePart corresponding to a request
    action --gt
  • lttpSimplePart tpid"Request"
    tpmimetype"application/xml"gt
  • lttpNamespaceSupported tplocation"http//www.ro
    settanet.org/schemas/PIP3A2QuoteRequest.xsd"
    tpversion"1.0"gthttp//www.rosettanet.org/schemas
    /PIP3A2QuoteRequest.xsdlt/tpNamespaceSupportedgt
  • lt/tpSimplePartgt

37
CPA Document for the Scenario
  • lt!-- SimplePart corresponding to a response
    action --gt
  • lttpSimplePart tpid"Response"
    tpmimetype"application/xml"gt
  • lttpNamespaceSupported tplocation"http//www.ro
    settanet.org/schemas/PIP3A2QuoteResponse.xsd"lt/tp
    SimplePartgt
  • lt!-- An ebXML message with a SOAP Envelope plus
    a request action payload --gt
  • lttpPackaging tpid"RequestPackage"gt
  • lttpProcessingCapabilities tpparse"true"
    tpgenerate"true"/gt
  • lttpCompositeListgt
  • lttpComposite tpid"RequestMsg"
    tpmimetype"multipart/related"
    tpmimeparameters"typetext/xml"gt

38
CPA Document for the Scenario
  • lttpConstituent tpidref"MsgHdr"/gt
  • lttpConstituent tpidref"Request"/gt
  • lt/tpCompositegt lt/tpCompositeListgt
    lt/tpPackaginggt
  • lt!-- An ebXML message with a SOAP Envelope plus
    a response action payload --gt
  • lttpPackaging tpid"ResponsePackage"gt
  • lttpProcessingCapabilities tpparse"true"
    tpgenerate"true"/gt
  • lttpCompositeListgt
  • lttpComposite tpid"ResponseMsg"
    tpmimetype"multipart/related"
    tpmimeparameters"typetext/xml"gt
  • lttpConstituent tpidref"MsgHdr"/gt
  • lttpConstituent tpidref"Response"/gt
  • lt/tpCompositegt lt/tpCompositeListgt
  • lt/tpPackaginggt

39
Sequence of Operations
  • Model the Business Collaboration.
  • Create a BPSS instance document for the
    collaboration.
  • Choose the Business Documents to take part in the
    collaboration.
  • Decide on message exchange characteristics
  • Create a CPP for the business process capturing
    the characteristics decided.
  • Publish the BPSS instance, CPP and the Business
    Documents to registry under particular category

40
Sequence of Operations (Contd)
  • Trading Partner would query the registry for a
    particular category.
  • A particular matching partners BPSS, CPP and
    other necessary information are retrieved from
    the registry.
  • Would create a CPP to match up with their
    characteristics.
  • Negotiate with the partner chosen to come up with
    a CPA.
  • Initiate the collaboration by invoking the
    Business Service Interface provided.

41
Collaboration Design and Runtime
Business Process Model
Business Document
Core Components
BPSS
CPP
CPP
Registry/ Repository
CPA
Transport Packaging
Trading Partner
Trading Partner
42
Describe Java APIs
43
Describe Java APIs
  • Few of Java APIs that could be used
  • JAXR
  • JAXM
  • JAXCPPA
  • JAXB
  • J2EE
  • JSR 105 - XML Digital Signatures
  • JSR 106 XML Encryption

44
Describe Java APIs (Contd)
  • JAXR?
  • JSR 93 Java for XML Registries.
  • API to expose registries like UDDI, ebXML etc.
  • Storing BPSS instance document, CPP Business
    Document definitions.
  • Provides query capability to search based on
    different parameters as defined in the REGREP
    specification.

45
Describe Java APIs (Contd)
  • JAXCPPA?
  • JSR 157 Java API for Profile and Agreement
    Management.
  • API to create and manipulate CPP, CPA
  • Will also support creation of CPA document by
    negotiation process.
  • Will support submission of CPP documents to an
    ebXML registry using JAXR
  • One step in automated e-business collaborations.

46
Describe Java APIs (Contd)
  • JAXM
  • JSR 67 Java API for XML Messaging
  • Profiles for various specifications like
    WS-Routing, ebXML Messaging.
  • API to create messages compliant with SOAP 1.1
    SWA.
  • Using ebXML profile, messages which correspond
    to MSH specification can packaged and
    transported.
  • Supports both synchronous and asynchronous
    handling of messages

47
Describe Java APIs (Contd)
  • JAXM? Code
  • // JAXM Specific imports
  • import javax.xml.soap.
  • import javax.xml.messaging.
  • import java.net.URL
  • import com.sybase.ebxml.EBXMLMessageImpl
  • // Create a connection to provider
  • ProviderConnectionFactory pcf
    ProviderConnectionFactory.newInstance()    
  • ProviderConnection con pcf.createConnection()
  • // Create a MessageFactory without using a
    profile
  • MessageFactory mf con.createMessageFactory(ebXM
    L2.0)
  • SOAPMessage msg mf.createMessage()

48
Describe Java APIs (Contd)
  • JAXM? Code
  • EbXMLMessageImpl message (EbXMLMessageImpl)msg
  • message.setSender(newEndpoint(sender))    
  • message.setReceiver(new Endpoint(receiver))
  • message.setCPAId(CPA-ID)
  • message.setService(new Service(Service))
  • message.setAction(Action)
  • Manifest mf new Manifest()
  • Reference rf new Reference(Root CID, link,
    Buyer)
  • mf.setSchema(PIP3A2QuoteRequest.xsd)
  • mf.addReference(mf)
  • message.setManifest(mf)
  • // Retrieve the SOAP Part for the SWA Message
  • SOAPPart soapPartmsg.getSOAPPart()

49
Describe Java APIs (Contd)
  • JAXM? Code
  • // Retrieve the SOAP-ENVELOPE Part from the
  • // Message
  • SOAPEnvelope envelope soapPart.getEnvelope()
  • // Create the SOAP-Body Part to be part of the
    message
  • SOAPBody body envelope.getBody()
  • // Create a Body Element and add it to Body
  • SOAPBodyElement bodyElement body.addBodyElement(
    envelope.createName("Text", "jaxm",
    "http//java.sun.com/jaxm"))
  • bodyElement.addTextNode("Some-text")
  • // Add an attachment to SOAP Msg
  • URL url new URL("http//wombats.com/img.jpg")

50
Describe Java APIs (Contd)
  • JAXM? Code
  • AttachmentPart ap1 message.createAttachmentPart(
    new DataHandler(url))
  • msg.addAttachmentPart(ap1)    
  • // Call the synchronous api to send the ebXML
    Message and retrieve the response for the call
  • SOAPMessage reply connection.call(msg)
  • //Access the response message to retrieve the
    payload and attachments
  • Source srcreply.getSOAPPart().getContent()
  • java.util.Iterator attachments
    reply.getAttachments()
  • // Close the connection
  • connection.close()

51
Describe Java APIs (Contd)
  • JAXB
  • JSR 31 XML Data-binding facility
  • Generates java classes by compiling XML schema.
  • Easy to use compared to handling XML documents by
    using parse trees or events
  • Documents are accessed as instances of classes.

52
Describe Java APIs (Contd)
  • J2EE
  • Execute business processes using EJBs to
    accomplish the collaboration.
  • JCA to talk to a adapter for accessing EAI
  • MDBs and JMS for asynchronous processing of
    messages.
  • JDBC for database access for performing a
    business process
  • JAXP for XML processing

53
Overview of Sybases eBusiness Products and
Solutions to Support B2B Collaboration
54
Sybase e-Business Platform And you thought
Sybase was just the database company


55
Sybase Solution for B2B Collaboration
  • EAServer a leading J2EE 1.3 compatible
    enterprise-class application server lets you
    execute CORBA / COM / Java / and PowerBuilder
    Components
  • Web Services Integrator a platform for
    seamlessly integrating business processes between
    trading partners
  • PowerDesigner a visual modeling and design tool
    for data and business processes with ability to
    generate ebXML BPSS
  • Process Server an XML-based process design and
    execution engine

56
How These Components Work Together?
57
PowerDesigner
  • Leading data, object, and process modeling tool
  • Common metadata repository across all types of
    model to share information across various types
    of models
  • Customer defines complex business process using
    this tool
  • The process can then be exported to ebXML engine
    to support B2B collaboration

58
Web Services Integrator (WSI)
  • WSI is the standardizes the way of defining a
    collaborative business process using XML
  • Supports various ebXML standards
  • ebXML messaging 2.0
  • ebXML CPP/A 2.0
  • ebXML BPSS 2.0
  • Also supports
  • RosettaNet
  • EDIINT
  • AS2

59
WSI (continued)
  • WSI is responsible for internal and external
    communication to facilitate B2B collaboration
  • Externally, WSI reads the CPA and communicates
    with the trading partner using CPA defined
    protocol and rules
  • Internally, WSI accepts the incoming message and
    sends it to the Business Service Interface (BSI)
    layer for appropriate process execution.
  • WSI runs on the top of an J2EE compliant
    application server such as Sybase EAServer or BEA
    WebLogic

60
Enterprise Application Server (EAServer)
  • J2EE 1.3 compatible application server
  • Supports
  • Various component types Java, C/C, COM,
    CORBA, PowerBuilder all in one execution engine
  • Various client types Java, HTML, VB, etc.
  • Various back-ends different databases and
    enterprise information systems
  • Highest level of security SSL, Digital
    Certificates, role-based access, etc.
  • Load balancing and clustering
  • Support for JMS, CICS, and ERP integration

61
Process Server
  • XML-based business process automation platform
  • Fits in the Business Service Interface layer
    where Process Server is responsible to getting
    message from the WSI and returning the response
    message after executing appropriate business
    process
  • Integrates with J2EE applications by invoking
    EJBs for synchronous invocations or MDBs for
    asynchronous interactions.
  • Run-time support for ebXML Business Process
    Specification Schema (BPSS)
  • Used to integrate with new and existing
    applications

62
Other Complimentary Technology
  • Adapters to integrate internal systems SAP,
    PeopleSoft, Siebel, Mainframe, databases erc.
  • BizTracker Business Activity Monitoring (BAM)
    to check the health of processes from business
    perspective, not IT perspective.

63
B2B Collaboration Example
Business Services Interface (BSI) Layer
Internet
64
Where To Get More Information
  • Visit Sybase web site
  • www.sybase.com
  • Learn about Sybases EAServer with Free Download
  • http//www.sybase.com/products/applicationservers/
    easerver
  • Learn about Sybases BPI Solution
  • http//www.sybase.com/products/businessprocessinte
    gration
  • Contact you local Sybase team
  • Mehul Rajparia, Systems Engineer - (602) 387-5195
  • Kyle Cruce, Account Manager (602) 387-5286
  • When all else fails, call
  • 1 - 800 - 8 SYBASE

65
QA
66
Your Local Sybase Contacts
  • Mehul Rajparia
  • Sr. Systems Engineer
  • (602) 387-5195
  • mrajpari_at_sybase.com
  • Kyle Cruce
  • Account Manager
  • (602) 387-5286
  • kcruce_at_sybase.com
Write a Comment
User Comments (0)
About PowerShow.com