OASIS ebXML Messaging Services TC

 View Only

RE: [ebxml-bp] Closing the gap between MSI and BSI and move on

  • 1.  RE: [ebxml-bp] Closing the gap between MSI and BSI and move on

    Posted 02-04-2005 21:46
     MHonArc v2.5.0b2 -->
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    ebxml-msg message

    [Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


    Subject: RE: [ebxml-bp] Closing the gap between MSI and BSI and move on


    Hi John,
    
    Comments inline.
    
    Am Freitag, den 04.02.2005, 10:22 -0800 schrieb Yunker, John:
    > Hmmm...  I'm a little concerned about where this is going.  We are trying to decouple the business execution from the physical software components. Please see comments below.
    > 
    > >>So what is a specific BSI? 
    > >> 
    > >>o J2EE applications, busses, simple backend application, 
    > >>series of web services, currently íts just about anything ...
    > >> 
    > >>I can argue contrary that you do not want to give the 
    > >>responsibilities of the BPSS signals to all and everything 
    > >>being part of the BSI. This is the opposite to rip out existing 
    > >>applications or internal data formats.
    > >> 
    > >>So I see two cases:
    > >> 
    > >>1) A BSI is anything spread among anything at one party
    > >>2) A BSI (or BSH) is a specific component (a ebBP business 
    > >>process engine) which takes on the responsibility of the BPSS 
    > >>signals. A component that is build for ebBP´s.
    > 
    > The above is a fine description of a conceptual BSI, that is a partner exposing business services.  
    
    OK.
    
    > However BPSS is much more explicit in defining the BSI so that partners can truly define and optimize shared business behavior.
    
    I do not understand what you mean with optimize.
    
    > 
    > A BSI is a partners implementation of the shared definition of business states and actions used to accomplish a business use case.
    
    Agree.
    
    > 
    > BSI execution uses the current state of the business process (as defined in the neutral collaboration model) to prescribe actions and report the current state of the business process.
    
    Agree.
    
    > 
    > In the context of the BPSS the business process being managed by the BSI is only the SHARED business process.
    
    Agree.
    
    To me, shared business process and public business process are synonyms.
    
    > 
    > So a BPSS BSI is:
    > 1) A discrete set of business process states (results of transactions) shared and aligned between partners.
    > 2) A discrete set of business transactions.
    > 3) A discrete set of transitions between business transactions.
    > 4) The rules governing the above.
    
    Agree. (I tend to think that the execution of business transaction is OK
    but I have no experience when using joins, forks, and decisions)
    
    > 
    > The MSI supports (and enforces) the BSI through
    
    OK here you start to bring together MSI and BSI.
    
    > 1) Messages that represent transactions
    > 2) Signals that align state
    > 3) Behavior upon receipt/non-receipt of messages and signals
    > 4) Enforcement of security constraints
    
    I guess I agree here, too.
    
    Thanks to real world ebMS implementations we feel comfortable to think
    of a MSI. I think of a MSI as an interface to the ebMS MSH (very
    symplistic eg sendMessage(), sendSignal(), etc. ).
    
    If you have to get specific, again, what is the BSI?
    
    I am interested to get down to the implementation of this and for that I
    need one example of specific BSI. Once I have a specific BSI then we can
    define an interface between the BSI and MSI. Eg what are the parameters
    of sendMessage()? conversation ID?, CPA id?, ebBP instance id?, ebBP.
    Who creates the conversation ID? The MSH or the BSH? Whois responsible
    to responsible to check the timeToPerform? Again I want to implement
    against a MSI which is the same for all MSH's. The same should be true
    the other way round. It is very nice if my MSH also works with any BSI.
    
    The ebXML message is the reason we have interoperablity between ebXML
    Message Service implementations. So we need something similar for BSI
    and a ebXML Message Service implementation (MSH). Only then we can start
    to test interoperability between BSI's.
    
    I guess I start to repeat myself. 
    
    > 
    > The MSI can do this either through design time embedding of BSI rules in the MSI, or through communication between the MSI and BSI implementations at run time.  This is left to the implementer at this time.
    > 
    > The set of web services, beans, etc that define the business services are NOT the BSI, they are the business services that the BSI fronts and abstracts.
    
    Agree. The set of web serices, beans etc that define the business
    service is what I call the private business processes.
    
    >   The BSI is the shared definition of how those business services are EXPOSED to the parties as a defined business process and discrete set of business messages.
    
    Also agree.
    
    One can ask:
    
    what was first?
    
    o the private business process? or
    o the public business process?
    
    Probably you will find both:
    
    b) Organisations sit together to define their public business processes.
    Then each party goes home and organizes their own private business
    processes to participate.
    
    c) An organisation provides a service, composed of private business
    processes. The organisation wants to connect its trading partners. The
    organisation creates public business processes to allow its trading
    partners do B2B with the organisation.
    
    
    Another pro for a specific BSI component (say BSH) (ebBP aka BPSS
    execution instance). A component between MSH and backend application or
    services:
    o This BSH can termine time signals because it is the instance
    monitoring message flow.
    o This BSH can teremine if a business message is in accordance with the
    ebBP instance. This is true for incoming and outgoing business messages.
    (once I was looking at this a bit closer and I remember that it might be
    tricky if it is the first message of a eBP but I might not have thought
    that through). Please remember that for this I need an interface between
    BSH and MSI. Oh yeah I remeber when a backenapplication sends a new
    business messages, that is the pure payload. Again without metadata ...
    the BSH would not know what type of business message this payload is.
    For which trading partner is this payload? Impossible to know without
    looking into the payload or having that information accompanied the
    payload document.
    
    This BSH still is not in a position to know about Acceptance
    Acknowledgements (positiv nor negative) but it can handle time signals.
    
    Actually, to me the definition of a BSI is so vague, that my world view of a
    specific BSI (an ebXML business process execution engine implementation having a specific interface with a MSH and having a to be defined interface to backend applications, services, business process execution engines)
    is likely to be valid ;) 
    
    The one way or the other a BSI has to communicate with a MSH and vice
    versa. If we want to have interoperable BSI's and MSH's we need an
    interface.
    
    Regards
    
    Sacha
    
    
    
    > 
    
    > Thanks,
    > John
    > 
    >