OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-msg message

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

Subject: RE: [ebxml-dev] ebXML wrap over Business Protocol(X12, EDIFACT etcc)

Some comments in-line. Thanks for sending in this problem. I am also
copying some OASIS TCs for their possible consideration.

Some comments pertain to BPSS, others to CPPA, and others to ebMS.
Overall the questions point out that batching payloads is a somewhat
underspecified area in ebXML and raises the question whether we want to
try to provide more explicit support for this kind of complexity or let
other people go there at their own risk!

Dale Moberg

-----Original Message-----
From: samba pedapalli [mailto:sambas@gmail.com] 
Sent: Wednesday, January 12, 2005 5:09 PM
To: ebxml-dev@lists.ebxml.org
Subject: [ebxml-dev] ebXML wrap over Business Protocol(X12, EDIFACT

Hi everyone,

While brain storming on how ebXML would carry multiple payloads of
business protocol(the name I use for protocols defining business data
such as X12, EDIFACT, CIDX etc), I ran into a scenario where was
wondering how reliable messaging could be accomplished for both, the
ebXML and the Business Protocol.

DaleMoberg> "Reliable messaging" really pertains to the ebMS transfer of
data and only deals with resending the exact same message (with its
Message-Id value unchanged) until it gets acknowledged or until a
timeout occurs.

ebXML message has 3 payloads which are X12 ISA batches and ebXML as
well as each ISA expect an Ack back.

 - The ebXML receives its Ack back and hence the ebXML loop is complete.
 - One ISA batch receives its Ack and hence the loop for this is

DaleMoberg> Is this a "997" (the functional acknowledgement) or
something else.

 - The other two ISA batch donot receive an Ack(lets assume the time
out takes place). 

DaleMoberg> Same question I guess. If it occurs at the business layer of
handshaking (that is the 997 layer), then it is a business application
problem to do the right thing. New messages would then be sent with new
message-IDs to get the data exchanged.

So how do we react to such a scenario where we need
to send only two payloads while Action has 3 MIME parts configured.

DaleMoberg>> Hmmh. We normally think of ebXML messages with one payload
and maybe a bunch of attachments related to that one business unit of
If you are really bundling up separate business units of work in one
message, you need to think of this as yet another new business unit of
work for that composite I suppose. This is because old-style batching
was not part of ebXML requirements. 

The available options I could think of were:

1. Recognize the two ISA batch which need to be resent, wait for the
next ISA batch, package the three for the same Action. - But how long
are you going to wait for the third ISA batch???

DaleMoberg>> If you stuck to the existing way that ebXML works (and you
were using ebMS plus the supporting CPPA and BPSS components), you could
think of the 3 part Action as Action1, and the possible 2 part Actions
(3 types of them) as distinct actions. Then a failure on Action1 could
be specified as leading to a transition in your business process to a
new Action that had one of those 2 part Actions, call it Action2. (You
would only see the MIME parts as aspects of the CPPA binding, probably
but the logical distinctions could be documented in BPSS it seems to
me). The trick would be in knowing that the failure worked the right
way. You would need to have a ReceiptException signal indicate the type
of failure you encountered using the current BPSS 2.0 state
synchronization semantics. I am going to send a copy of this message to
the OASIS BPSS group so the signal experts and synchronization gurus can
consider whether we have enough apparatus available for this use case.
It would definitely be near the corner, if not definitely in the corner
case area.

2. Have an Action configured to carry 2 payloads - At this rate when
you have 10 payloads to be carried how many can you configure???

DaleMoberg>> It would get wordy to specify all these combinations. Maybe
that is why we lean toward full support for non-batching scenarios and
are sketchy for batching...

3. Resend all the initial set of 3 payloads again - in which case you
are creating a duplicate at X12 level.

DaleMoberg>> Right, X12 users often check transaction IDs even if
message duplication elimination is in force. 

I am not sure what would be the right way of ensuring reliable delivery.

DaleMoberg>> I don't think ebMS would handle this in terms of RM, which
is for the message as a whole (with its unique Message-ID). It would
have to happen up the stack somewhere as part of business or application

My understanding is ebXML action is too tied to the no of MIME parts
it carries. 

DaleMoberg> I believe the CPPA can be configured to allow repetition of
variable numbers as part of the MIME packaging. In that way, variable
number of MIME bodyparts can be assembled in the same
Service/Action/Role combination. But that won't help you recover from
your exception. 

Can this be configured to say some payloads can be
optional in which case the above scenario can be satisfied using the
same Action name.

Samba Pedapalli

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