Re: Can One Orchestration Be Designed To Handle Different Schemas

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



On Dec 6, 4:19 am, Dan Rosanova <dno...@xxxxxxxxx> wrote:
Oh reading about solutions like that can really make me sad. :( One of
the greatest strengths of the product is exactly this ability you are
looking for.  One process, many types of input formats.  A lot of this
comes down to solution structure.  This is how I structure solutions
(each is a VS project in the solution):

External Schemas
Internal Schemas
Maps
Orchestrations
Pipelines

I’m writing about this right now and when it’s done I will post it up
(if you really want I'll give you my working draft even).  A structure
like this is important for controlling dependencies (which we’re all
familiar with from our non-BizTalk development).  Basically the names
say it all.  External Schemas is the client’s format and is ONLY
referenced by Maps, which also references Internal Schemas (let’s
ignore Pipelines for now, which can also be external related, but
never external and internal; that would require a new project).
Orchestrations only references Internal Schemas.  All messages come in
from the External Schemas format and get mapped at the Port, not at
the orchestration.

You can actually change mappings and add new external schemas and maps
without the orchestration EVER knowing.  I think there aren’t a lot of
readily available best practices on BizTalk so it results in not
leveraging the product’s strengths.  When I am done with the writing
of it, I will put it on my BizTalk blog:http://www.novaenterprisesystems.com/blog

Kind Regards,
-Dan Rosanova

yeah basically Dan wraps up BizTalk best practises in a nutshell ...
whenever you deal with multiple external formats, map these as early
as possible (i.e. in the pipeline) to your internal cononical format
and all your process work with that. then when the response goes back
out to the external parties, reverse the process by mapping the
internal schema to whichever external schema you need, once again in a
pipeline, this time the outbound one.

one addendum to Dan's best practise mentioned here that I sometimes
do, I sometimes do the mapping inside the orchestration ...
sometimes ... why you ask? well sometimes there is complex logic that
needs to execute before the mapping happens; and yes i know you could
probably do most of this in your pipeline with custom components etc.
but i just find orchestrations easier to debug and follow than having
some logic "hidden" inside a pipeline.
.



Relevant Pages

  • Re: Delphi and EDI import/export
    ... This is a step what is not here - nice, user friendly mapping with ability ... of lookups, postprocessing, orchestration, etc ... > Delphi that can load, parse, format*, construct, and save EDI files. ... > transaction data is formed into a document structure. ...
    (borland.public.delphi.non-technical)
  • Re: The future of Managed DirectX
    ... I thought they were handling this through the XNA framework provided ... the build-time logic parses your model format into the intermediate ... No the beta does not have any of the content pipeline stuff in it. ...
    (microsoft.public.win32.programmer.directx.managed)
  • Re: Dynamic Email Body Question
    ... I would call a stored procedure that will return the data you are looking to ... Format the flat file schema however ... I have an orchestration where i have to send an informative email to a ... If i use the smtp adapter to send this email i need to write a dynamic ...
    (microsoft.public.biztalk.general)
  • Re: Resumable scenario of a biztalk orchestration
    ... but they actually cant be resumed, suppose in case of a message ... format being not correct?? ... I believe that if for instance the orchestration is trying to ... private email: jan@xxxxxxxxxx ...
    (microsoft.public.biztalk.general)
  • Re: SMTP Adpater and xml document...
    ... What message type are you using in your orchestration. ... I trying to a send a mail with body with xml document..but the format ... But I want the output like tthe below one: ...
    (microsoft.public.biztalk.general)