BizTalk Server General - Orchestration Design

This is Interesting: Free IT Magazines  
Home > Archive > BizTalk Server General > July 2004 > Orchestration Design





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Orchestration Design
Arno

2004-07-27, 5:53 pm

Hi
I guess my question is due to the lack of experience of BizTalk (aren’t all questions here!)
I have a Microsoft Great Plains System Running. The system does typical Purchase Order and Sales Order Processing. I am playing with BT2k4 to implement
1) Get real time Stock Availability from suppliers (thus synchronous)
2) Direct Purchase Order Placing on supplier system (async is ok)

The problem I have is more from an architectural point-of-view. Obvious every supplier has its own ways of dealing with 1) and 2) above (Soap for some, XML HTTP for others etc.)

So, my question is: How do I plan this solution? I thought this is quite an easy problem to solve for MULTIPLE suppliers, but ran into problems quite quickly into the project.
Problem 1: In Great Plains, every inventory item is linked to one or more suppliers. So if I would query BT2k4, I would send a product code and a list of suppliers that needs to be queried:
Something like
<Query>
<Product>IXTY</Product>
<Suppliers>
<Supplier name=”Supplier1” />
<Supplier name=”Supplier2” />
<Supplier name=”Supplier3” />
</Suppliers>
</Query>

The 1st problem I ran into was:
Do I have 1 Generic “ProductAvailability” which will be an universal access point in the business (where all Stock Availability is instantiated), and a sub orchestration for every supplier (so I call the appropriate supplier orchestration from the mai
n orchestration)?
OR
Do I have multiple Supplier Orchestrations exposed as web services?

Help urgently required

Regards,
Arno



Matt Milner

2004-07-27, 5:53 pm

I'm not 100% sure I understand all that you are trying to do, but I'll give
it a shot:

It sounds like role links might be able to help out here. These allow you
to define a role played by some partner in your orchestration. You could use
the Supplier ID to set the party on that role link. Then, that parties send
port would be used to call them. This allows you to use different
transports and, since you can apply maps in the send port, different request
messages to the supplier.

Where this might become problematic is when you have different request
patterns like one partner is solicit-response and the other is a combination
of two one way ports. Or, if you need to call a web service for one and
http post for the other, you might have to do some pipeline work as well,
but I think it can be done.

The other thing to think about, or consider, rather than trying to create
direct connections between some parent orchestration and child
orchestrations or web services, is to publish messages directly to the
message box and have the sub orchestrations or send ports pick them up.
Then use correlation to receive back all of the responses you expect.

Sorry this isn't more clear, but hopefully this gives you some leads.

Matt


"Arno" <Arno@discussions.microsoft.com> wrote in message
news:7D81A7A9-1689-430A-A405-9717F8B2500D@microsoft.com...
> Hi
> I guess my question is due to the lack of experience of BizTalk (aren't

all questions here!)
> I have a Microsoft Great Plains System Running. The system does typical

Purchase Order and Sales Order Processing. I am playing with BT2k4 to
implement
> 1) Get real time Stock Availability from suppliers (thus synchronous)
> 2) Direct Purchase Order Placing on supplier system (async is ok)
>
> The problem I have is more from an architectural point-of-view. Obvious

every supplier has its own ways of dealing with 1) and 2) above (Soap for
some, XML HTTP for others etc.)
>
> So, my question is: How do I plan this solution? I thought this is quite

an easy problem to solve for MULTIPLE suppliers, but ran into problems quite
quickly into the project.
> Problem 1: In Great Plains, every inventory item is linked to one or more

suppliers. So if I would query BT2k4, I would send a product code and a list
of suppliers that needs to be queried:
> Something like
> <Query>
> <Product>IXTY</Product>
> <Suppliers>
> <Supplier name="Supplier1" />
> <Supplier name="Supplier2" />
> <Supplier name="Supplier3" />
> </Suppliers>
> </Query>
>
> The 1st problem I ran into was:
> Do I have 1 Generic "ProductAvailability" which will be an universal

access point in the business (where all Stock Availability is instantiated),
and a sub orchestration for every supplier (so I call the appropriate
supplier orchestration from the main orchestration)?
> OR
> Do I have multiple Supplier Orchestrations exposed as web services?
>
> Help urgently required
>
> Regards,
> Arno
>
>
>



Arno

2004-07-28, 2:55 am

Thanks Matt
I am reading through the SDK examples and find your lead quite useful. Sounds like role links will be spot on. I am in the process of setting up a small example with it.
Thanks for your help
a-

"Matt Milner" wrote:

> I'm not 100% sure I understand all that you are trying to do, but I'll give
> it a shot:
>
> It sounds like role links might be able to help out here. These allow you
> to define a role played by some partner in your orchestration. You could use
> the Supplier ID to set the party on that role link. Then, that parties send
> port would be used to call them. This allows you to use different
> transports and, since you can apply maps in the send port, different request
> messages to the supplier.
>
> Where this might become problematic is when you have different request
> patterns like one partner is solicit-response and the other is a combination
> of two one way ports. Or, if you need to call a web service for one and
> http post for the other, you might have to do some pipeline work as well,
> but I think it can be done.
>
> The other thing to think about, or consider, rather than trying to create
> direct connections between some parent orchestration and child
> orchestrations or web services, is to publish messages directly to the
> message box and have the sub orchestrations or send ports pick them up.
> Then use correlation to receive back all of the responses you expect.
>
> Sorry this isn't more clear, but hopefully this gives you some leads.
>
> Matt
>
>
> "Arno" <Arno@discussions.microsoft.com> wrote in message
> news:7D81A7A9-1689-430A-A405-9717F8B2500D@microsoft.com...
> all questions here!)
> Purchase Order and Sales Order Processing. I am playing with BT2k4 to
> implement
> every supplier has its own ways of dealing with 1) and 2) above (Soap for
> some, XML HTTP for others etc.)
> an easy problem to solve for MULTIPLE suppliers, but ran into problems quite
> quickly into the project.
> suppliers. So if I would query BT2k4, I would send a product code and a list
> of suppliers that needs to be queried:
> access point in the business (where all Stock Availability is instantiated),
> and a sub orchestration for every supplier (so I call the appropriate
> supplier orchestration from the main orchestration)?
>
>
>

Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com