|
|
|
date: Fri, 26 May 2006 11:15:02 -0700,
group: microsoft.public.biztalk.nonxml
back
Re: EDI Adapter Question
Hi Chris,
I have been through all of this before and no the EDI adapter is not dynamic
in any way! It is very limited, which causes a lot of issues.
What I did to get around the limitations of parties was:
- Include the correct party details in a spare segment of the document
- Use the EDI adapter to write the message to file in a temporary working
directory
- Have BizTalk pickup the EDI file just written
- Run the message through some EDI specific pipeline components that take
the party details data from the "spare" segment and write them to the
interchange header segment; and then delete the spare segment
- Write the file back to disk using the file adapter
Fun!!
I have never understood why EDI has been implemented in BizTalk as an
adapter. I see adapters as endpoints for data. The EDI requirements for what
BizTalk does have nothing to do with endpoints (no integration with VANs
etc.), so the EDI integration is simply data transformation. I don't see it
as being any different to flat file data transformation requirements.
Implementing EDI as an adapter imposes massive limitations in terms of the
physical sending of the message. As you have stated you cannot dynamically
set the file name, as the only thing you can do with the EDI is save it to
file with the EDI's file connector, which does not support macros like the
BizTalk file adapter. Also, what if you want to send the EDI over another
protocol such as a web service? You can't without writing the message to
disk via the file connector and reprocessing this via BizTalk to push it
into another adapter! Then you run into the issues of losing all message
context, so you need to temporarily add that context into the data of the
message while it is written to disk, then pull it back out and use it as you
would have liked in the first place!
I am currently close to 2/3 way through writing EDI pipeline
assembler/disassembler components for BizTalk which should make configuring
EDI as simple as configuring flat file pipelines. It will support both the
old BizTalk 2000/2002 structured schemas, aswell as the new BizTalk 2004
structure. However, this is probably not going to be complete until close to
the end of the year.
Cheers,
Bardo.
"Chris Shaffer" <Chris Shaffer@discussions.microsoft.com> wrote in message
news:F11633EE-8988-429E-99DF-D07862637AF3@microsoft.com...
> Hi.
>
> I've worked with BizTalk for a while now, but have only recently been
> asked
> to do some conversions to EDI messages (X12 850 currently). I've managed
> to
> get the EDI schema and map, and I've been able to write the EDI file out
> to
> an EDI adapter with a hardcoded location and filename. My question is is
> there a way to do this in a dynamic manner? All of the other files I've
> output have been written to a filename specified in my incoming message
> using
> Microsoft.XLANGs.BaseTypes.Address to specify where to write it. I'd like
> to
> do the same with these EDI files, but all my testing with using a Dynamic
> output port for the EDI message have failed. In addition (related
> really),
> is it possible to specify the EDI addresses dynamically rather than having
> them in a Party and relating that party to the Send port?
>
> Thanks for your help,
> Chris Shaffer
date: Wed, 31 May 2006 14:01:57 +1000
author: Bardo
Re: EDI Adapter Question
Hi,
I think many developers have the same frustrations with the EDI adapter.
The out of the box Biztalk 2006 EDI adapter doesn't handle some of the
versions that we are asked to send to our partners and Covast adapter is
cost prohibitive.
We are currently using Biztalk 2002 to do the EDI. Simple, clean and
effective.
I worked on a custom EDI pipeline component for disassembling/assembling EDI
messages. It's posted out on Gotdotnet if you want to take a look at it.
Thanks,
Mike
"Bardo" wrote in message
news:OSqrFcGhGHA.1264@TK2MSFTNGP05.phx.gbl...
> Hi Chris,
>
> I have been through all of this before and no the EDI adapter is not
> dynamic in any way! It is very limited, which causes a lot of issues.
> What I did to get around the limitations of parties was:
> - Include the correct party details in a spare segment of the document
> - Use the EDI adapter to write the message to file in a temporary working
> directory
> - Have BizTalk pickup the EDI file just written
> - Run the message through some EDI specific pipeline components that take
> the party details data from the "spare" segment and write them to the
> interchange header segment; and then delete the spare segment
> - Write the file back to disk using the file adapter
> Fun!!
>
> I have never understood why EDI has been implemented in BizTalk as an
> adapter. I see adapters as endpoints for data. The EDI requirements for
> what BizTalk does have nothing to do with endpoints (no integration with
> VANs etc.), so the EDI integration is simply data transformation. I don't
> see it as being any different to flat file data transformation
> requirements.
> Implementing EDI as an adapter imposes massive limitations in terms of the
> physical sending of the message. As you have stated you cannot dynamically
> set the file name, as the only thing you can do with the EDI is save it to
> file with the EDI's file connector, which does not support macros like the
> BizTalk file adapter. Also, what if you want to send the EDI over another
> protocol such as a web service? You can't without writing the message to
> disk via the file connector and reprocessing this via BizTalk to push it
> into another adapter! Then you run into the issues of losing all message
> context, so you need to temporarily add that context into the data of the
> message while it is written to disk, then pull it back out and use it as
> you would have liked in the first place!
> I am currently close to 2/3 way through writing EDI pipeline
> assembler/disassembler components for BizTalk which should make
> configuring EDI as simple as configuring flat file pipelines. It will
> support both the old BizTalk 2000/2002 structured schemas, aswell as the
> new BizTalk 2004 structure. However, this is probably not going to be
> complete until close to the end of the year.
>
> Cheers,
>
> Bardo.
>
> "Chris Shaffer" <Chris Shaffer@discussions.microsoft.com> wrote in message
> news:F11633EE-8988-429E-99DF-D07862637AF3@microsoft.com...
>> Hi.
>>
>> I've worked with BizTalk for a while now, but have only recently been
>> asked
>> to do some conversions to EDI messages (X12 850 currently). I've managed
>> to
>> get the EDI schema and map, and I've been able to write the EDI file out
>> to
>> an EDI adapter with a hardcoded location and filename. My question is is
>> there a way to do this in a dynamic manner? All of the other files I've
>> output have been written to a filename specified in my incoming message
>> using
>> Microsoft.XLANGs.BaseTypes.Address to specify where to write it. I'd
>> like to
>> do the same with these EDI files, but all my testing with using a Dynamic
>> output port for the EDI message have failed. In addition (related
>> really),
>> is it possible to specify the EDI addresses dynamically rather than
>> having
>> them in a Party and relating that party to the Send port?
>>
>> Thanks for your help,
>> Chris Shaffer
>
>
date: Tue, 30 May 2006 22:35:49 -0700
author: Mike Koerner am
|
|