|
Home > Archive > BizTalk Server General > June 2005 > How do you accomplish this (Am I trying to make BT do something it can't?)
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 |
How do you accomplish this (Am I trying to make BT do something it can't?)
|
|
| Matthew Berkland 2005-06-24, 5:54 pm |
| Hello again everyone,
My company and I are new to the BizTalk environment and we have some
questions that we are hoping you all can help point us in the right
direction.
We are a wholesale distributor of vehicular products and we are in the
process of scrapping our inhouse systems for something brand new. It is
currently in a mainfram client/server type technology and we are moving to a
C# based desktop application.
What we are wanting to do is utilize BizTalk from a Business Process
Management stand point, not nessecarily just a EAI stand point. Does this
make sense? Is this really what BizTalk is meant to do.
The reason we ask is yesterday we were having a tech meeting and discussing
our architecture. We have decided to make broad use of webservices for most
of our database processing and service type business functions (credit
checks, inventory stocking levels, vendor report cards, etc...) What we were
getting stuck on is how BizTalk fits into this picture.
For instance:
We were discussing the Purchasing process. We have a desktop application
that is creating our PO business document. How the program creates a final
business document is irrelevant at this point, it might use some webservices
to get part information, perhaps another webservice to get some vendor
information, etc... When the user is done creating the PO on-screen, he
pushes the "Create PO" button so to speak. We then think that information is
sent to the NewPO webservice, it writes to the database and then sends it
off to BizTalk to be tracked through its life cycle and to route itself
appropriatley. Now here is the big quesiton, when a user makes a change to
the PO, what happens to the changes? Do we resubmit the PO to a new
Orchestration or do we submit it to the same Orchestration based on a
Correlation Type of say PO Number? If we do that, odds are the PO has
already gone somewhere down the orchestration map and may have passed up
some business rules already, how do we get the changed PO business document
to go back to the top of the already running PO process to be revalidated???
I'm sure this has been done before, but we must just be missing something.
If anyone has a sample purchasing orchestration or can point us in the right
direction it would be great. Are we trying to make BizTalk manage something
it was never meant to do? What we are doing seems like simple process
management but we are confused as to how to design our processes in an
orchestration.
Any input from you all would be every so greatly appreciated.
Thanks in advance,
Matthew Berkland
| |
| Scott Colestock 2005-06-24, 5:54 pm |
| Hello -
Just excerpting a chunk of what you said:
"When the user is done creating the PO on-screen, he
pushes the "Create PO" button so to speak. We then think that information is
sent to the NewPO webservice, it writes to the database and then sends it
off to BizTalk to be tracked through its life cycle and to route itself
appropriatley. Now here is the big quesiton, when a user makes a change to
the PO, what happens to the changes? Do we resubmit the PO to a new
Orchestration or do we submit it to the same Orchestration based on a
Correlation Type of say PO Number? If we do that, odds are the PO has
already gone somewhere down the orchestration map and may have passed up
some business rules already, how do we get the changed PO business document
to go back to the top of the already running PO process to be
revalidated???"
You should give some consideration to designing an orchestration which
really models your entire PO lifecycle (i.e. business process) - including
opportunities for changes to POs. This can be a long running orchestration
(an instance for each PO) and it can indeed use correlation so that
submitted changes rendezvous with the correct instance of the orchestration.
You could forget about your "NewPO" webservice and corresponding database
persistence if you like - have the PO orchestration expose a web service
instead (with operations for creation/updates/cancellation/status inquiry,
etc.) Persist to a line-of-business database at the point where it makes
sense, but remember that this can be pretty darn late in the game given that
you have BAM to give you insight into work-in-process.
I wouldn't hesitate to consider using BizTalk to manage a business process
like this - you aren't talking about an "edge case", but rather a sweet
spot.
Scott Colestock
www.traceofthought.net
"Matthew Berkland" <matt@austinhardware.com> wrote in message
news:%23NnPZdMeFHA.2556@TK2MSFTNGP10.phx.gbl...
> Hello again everyone,
>
> My company and I are new to the BizTalk environment and we have some
> questions that we are hoping you all can help point us in the right
> direction.
>
> We are a wholesale distributor of vehicular products and we are in the
> process of scrapping our inhouse systems for something brand new. It is
> currently in a mainfram client/server type technology and we are moving to
> a
> C# based desktop application.
>
> What we are wanting to do is utilize BizTalk from a Business Process
> Management stand point, not nessecarily just a EAI stand point. Does this
> make sense? Is this really what BizTalk is meant to do.
>
> The reason we ask is yesterday we were having a tech meeting and
> discussing
> our architecture. We have decided to make broad use of webservices for
> most
> of our database processing and service type business functions (credit
> checks, inventory stocking levels, vendor report cards, etc...) What we
> were
> getting stuck on is how BizTalk fits into this picture.
>
> For instance:
> We were discussing the Purchasing process. We have a desktop
> application
> that is creating our PO business document. How the program creates a final
> business document is irrelevant at this point, it might use some
> webservices
> to get part information, perhaps another webservice to get some vendor
> information, etc... When the user is done creating the PO on-screen, he
> pushes the "Create PO" button so to speak. We then think that information
> is
> sent to the NewPO webservice, it writes to the database and then sends it
> off to BizTalk to be tracked through its life cycle and to route itself
> appropriatley. Now here is the big quesiton, when a user makes a change to
> the PO, what happens to the changes? Do we resubmit the PO to a new
> Orchestration or do we submit it to the same Orchestration based on a
> Correlation Type of say PO Number? If we do that, odds are the PO has
> already gone somewhere down the orchestration map and may have passed up
> some business rules already, how do we get the changed PO business
> document
> to go back to the top of the already running PO process to be
> revalidated???
>
> I'm sure this has been done before, but we must just be missing something.
> If anyone has a sample purchasing orchestration or can point us in the
> right
> direction it would be great. Are we trying to make BizTalk manage
> something
> it was never meant to do? What we are doing seems like simple process
> management but we are confused as to how to design our processes in an
> orchestration.
>
> Any input from you all would be every so greatly appreciated.
>
> Thanks in advance,
>
> Matthew Berkland
>
>
>
>
|
|
|
|
|