Thoughts on Biztalk-architecture

Home Page Forums BizTalk 2004 – BizTalk 2010 Thoughts on Biztalk-architecture

Viewing 0 reply threads
  • Author
    Posts
    • #26116

      I’m new to
      the forum, thought I would take this opportunity to present to you my idea for
      an SOA-based EAI and maybe get some feedback.

      I’m new to
      Biztalk, but have worked within the SOA-based EAI for about 6 years now (java) and I
      would be very greatful for some views on this, if what I am planning is
      something that works just fine in Biztalk or not. Please, if i don’t use the
      correct Biztalk-name for the different objects and such, thats cause I’m not
      use to that lingo yet   bear with me 🙂

       I am going
      to work in BizTalk 2013, but I don’t think that there is any big difference in
      these cases between the 2010 and 2013-versions.

      My organisation
      has Biztalk as middleware, they got at least 40-60 systems that has integration
      needs both internal and external, synchronous as asynchronous so there is a
      lot of work that I am beginning here (fresh start). So even more important than to get a good architecture to make it easy to build, educate/streamline developers and
      also for the people that is going to do the system/server maintaining-work.

       

      My plan:

      For each
      system (lets call them Order-system, Billing-system, CRM-System) I want a FROM-
      and a TO-application to start with.

      In the
      FROM-application I gather all the orchestrations, XML-parsings that revolves
      the exports from that system. FromBilling, FromOrder etc.  Every orchestration/job ends up with an
      internal_order that I send to the receiver: the TO-application.

       In the
      TO-application I parse the internal-scheme (of an order for example) and remake
      it to the structure and protocol that the receiver wants it to be.

       

      Example)

      A
      billing-scenario

       FromBilling
      – triggers by export of an Invoice.xml-file, parse . Maybe makes an API-call to
      the Billing-system gather some address that lacks from the Invoice.xml and then
      creates an Internal_Billing.xml and sends that content (might be a file or
      something else?) to ToPrintshop. ToPrinshop reads by many things Internal_Billing.xml
      and creates the type of file that the printshop wants and sends it by http(s)
      to them.

       

      Extras

      I create an
      enterprise resource holder where I can store schemes that I use in more than
      one application

      I create one
      STATUS-application that can read internal_status-messages and deal with them
      (send mail, SMS, etc) depending on the type of error and which system it evolves
      – example: FromBilling Error, send mail to Mr X with decription-text in Body.

       

      Benefits
      with this architecture is that I can re-use a lot from the internal_formats and
      To-applications. I can reuse endpoints, destinations and also keep everything
      revolving a specific system in one application/visual studio project making it
      easy to develop and maintain. If we change the Printshop I only have to change
      1 application and not several, as it can be if you have a point-to-point
      integration way of doing things.  If/when
      errors occure I can also pinpoint the location more direct without any of the
      more fancier features of the software and create easy notifications.

       

      Cons is
      that there is going to be some extra processing, but since there is not really
      that much data and little time for processing I cant say thats a real big
      point.

       

      Stuff i’m
      wondering about

      1. Whats
      the best way to transfer data as internal_formats between 2
      BizTalk-applications (XMl-file, MSMQ, ?)?

      2. I see
      Microsoft use global resourcesets as a good way to store resources, like
      schemes, in. Thats what i’m used to do so thats suits me fine – but do you use
      this technique and what do you store there?

      3. What
      kinds of errors you usually catch and use for notications and how you usually build
      the architecture for that?

      4. General
      feedback?  You like the idea or is it not
      a good way to do this in Biztalk  -and how´s that?  I would really not like to do point-to-point integration that is not re-usable in any way.

       

      Thank you
      for reading, and I would be glad to hear your thoughts about it. 

       

Viewing 0 reply threads
  • The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.