Sep
05

Cumulative Update 2 for BizTalk 2010 and BizTalk Adapter Pack (BAP), also CU3 for BizTalk 2009 and CU2 for BizTalk Adapter Pack 2.0

The BizTalk CRT(Customer Response) Team has made a great effort by quickly addressing all the errors on BizTalk 2010 and its adapters, now they deliver, 3 months after the first CU1 for BizTalk 2010 and CU1 for BAP 2010, the CU2 de BizTalk 2010 and CU2 de BizTalk Adapter Pack.

The most outstanding cumulative updates are:

  • Transparent Setup
  • Enhanced EPM(End Point Mapper) debug Tracing
  • BizTalk Server 2010 Host Instances not coming back-on-line after SQL being off-line
  • BAM Archive checks & Logging before dropping tables from BAMPI
  • Applications stop responding or crash when System Center Operations Manager monitors BizTalk Server applications

More details here about the CU2:  http://blogs.msdn.com/b/biztalkcrt/archive/2011/09/01/announcing-cu2-for-biztalk-server-2010-and-cu2-for-bap-2010.aspx

There is the link for downloads for BizTalk 2010:

BizTalk 2009 also has important updates which correct bugs found and common for the two versions of BizTalk(2009 and 2010).

There is the link for downloads for BizTalk 2009:

Remember to keep checking the Microsoft BizTalk Server Solution Center of Microsoft Support http://support.microsoft.com/ph/14042

UPDATE (06/09/2011): this is a useful link about Cumulative Updates and Services Pack for all version of BizTalk Server  http://support.microsoft.com/kb/2555976

Mar
22

ESB Toolkit Dynamic Responses in Chained Operations Using Itineraries.

 

To manage dynamic responses within the ESB when in its services throw either a valid response or a faulted one, we implemented the following scenario that may help you with similar cases.

First you have to take into account serveral important points:

  • An itinerary can define dynamically its response paths. Within an itinerary you can define if a service will respond or not. This isn’t quite a visible property, but it can be used to define if the itinerary service will respond to the client or to the following  service.
  •  

    image

    This will be the scenario used in our use case.

  • An orchestration can handle one-way or two-way processes, seen as a process that can be design from the itineraries. You don’t have to explicitly place the two-way ports to handle this type of processes. In some cases, handling orchestrations with two-way ports doesn’t allow a simple management of the process since the process is always going to demand for a response when the Decision shapes are used. This means that the process will be required to return a response  in all branches of the Decide Shape (“If”,“Else”, etc). Sometimes this becomes too complex to deal with.
  •  

    Orchestration that responds with a two-way port (not being used in our example):

    image

    Orchestration that responds with a one-way port (being used in our example):

    image

     

    Using Dynamic Responses in Chained Operations within Itineraries.

    This a preview taken from the original ESB Toolkit Use Case, to us it will be the Dynamic Responses in Chained Operations within Itineraries use case.

    image

    As you can see, the services can respond to the next service or respond to the client that made the call.

    Implementation Detail:

    1. The incoming (On-Ramps) message is received within the ESB through the WCF Service  Itinerary Services Response, this comes with the ESB Toolkit, 2.0 o 2.1.

    image

    2. The call is made through the ESB Toolkit Itinerary Tester Client, we added it to our solution to make the tests.

    3. The defined itinerary is as follows:

    image

     

    The message is received and processed by the CustomOrchestration1 orchestration, then the result is sent to  CustomOrchestration2 which processes and responds to the caller.

    Lets take a look to the properties of each shape:

    Receive Order

    image

     

    CustomOrchestration1 (Ochestration Extender)

    image

     

    CustomOrchestration1 (Ochestration Extender)

    image

     

    4. The detail of the Orchestrations is as follows:

    CustomOchestration1

    image

    This orchestration receives a message of the type Initial Order and transforms it to a message type CustomOrchestration1. Here we see two types of possible behaviors. If the Quantity field is equal Zero ( 0 ), an exception is thrown and responded to the caller.

    image

    The exception is handled with the ESB Exceptions Framework and published directly to the MessageBox. This same port is used to respond with the exception and to send the message to the following step.

    image

    In the Construct  Shape Construct Outoubound Message, the message is constructed for the following step.

     

    image

    It is important to note that we use the correlation itineraryRequestResponse when sending the fault. This applies for both, CustomOrchestration1 and CustomOrchestration2.

    CustomOchestration2

    image

    The difference between this orchestration and CustomOrchestration1, is the validation  of the field. This one makes it with Total, validates if the Total is equal to zero and throws an exception. If the exception is thrown it is sent as a response to the caller, otherwise the response will be of type CustomOrchestration1. Bellow an example with its results:

    a. The caller sends OK data. Quantiy has a value and Total has a Value. Then it goes through  CustomOchestration1, CustomOrchestration2 and responds to the caller:

    Messageimage

    DebugViewimage

    Itinerary Test Clientimage

     

    b. Caller sends data with Quantity in zero, Total with a value different from zero, goes through CustomOchestration1, this orchestration generates an error and sends the response to the caller, it doesn’t go through CustomOrchestration2.

    Messageimage

    DebugViewimage

    Itinerary Test Clientimage

     

    c. The Caller sends data with Quantity ok. The Total with zero value, the message is processed by CustomOrchestration1 and sent to  CustomOrchestration2. This orchestration generates an error and sends it as a response to the caller.

    Messageimage

    DebugViewimage

    Itinerary Test Clientimage

     

    With all these three examples we could prove how the ESB can manage adequate responses when the message is correctly processed and also to give a response when the message isn’t processed correctly.  Also, we can check in the ESB Portal the message and check the used itinerary.

    Here is the sample code (install in  “C:\Projects” folder):

    iTSynergy.ESB.ChainedOperations_BTS2010_ESB_2.1.zip

    iTSynergy.ESB.ChainedOperations_BTS2009_ESB_2.0.zip

    Mar
    05

    New Exam Certification BizTalk 2010 – TS: Developing Business Process and Integration Solutions by Using Microsoft BizTalk Server 2010

    Después de la última certificación BizTalk 2006 R2 que salió hace casi hace 2 años y medio, Microsoft va a entregarnos el 30 de Marzo de 2011 la certificación de BizTalk 2010, más información en http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-595. Espero estudiar y reforzar mis conocimientos en EDI, RFID y BAM. El examen (como todos los demás) los podemos programar en www.prometric.com

    Mar
    04

    iT Synergy Blogs with WordPress

    En el último mes estuvimos trabajando en la migración de nuestros blogs de BlogEngine.net a WordPress, el líder de este proyecto mi compañero Juan Camilo Zapata fue el encargado de realizar toda la migración, lo bueno es que usamos nuestro mismo server de IIS, instalamos PHP en el servidor, el feature de url writer y MySQL (también se puede trabajar con SQL Server, pero el multiblog solo se puede hacer con MySQL).

    Agradezco a Juan Camilo por la colaboración con WordPress, veo una infinidad de posibilidades de trabajar con Plugins, Temas, Fondos, etc. Como ven ya tengo un Tag Cloud que me gusta mucho, y sigue funcionando con Windows Live Writer nuestros blogs. Las url son las mismas:

    iT Synergy es ahora  WordPress!! wordpress_logo

    Jan
    13

    MSE Collaborative Development – XML Static Response

    Managed Services Engine nos permite entregar respuestas de los servicios virtualizados así no tengamos construida la lógica de estos sino solo la fachada construida (contract first). La solución para este tema es static response. Veamos un ejemplo con el siguiente escenario.

    En este escenario podemos considerar dos temas importantes, el primero es que los servicios no han sido finalizados, solo crearon sus fachadas, el segundo es que solo el servidor MSE tiene acceso a los Servidores de Servicios pero el Desarrollador no, el objetivo es virtualizar por medio del MSE los servicios del Server A Y B, crear una respuesta static y realizar el llamado desde la Developer Machine

    image

     

    1. Virtualización el Servicio

     

    Las operaciones debemos virtualizarlas normalmente como cualquier otro servicio

    image

    image

    image

    2. Definir Static Response a la Operación

    En el Layout End to End Item Management, damos click a la operación y con esta podemos ver en la parte inferior derecha las Entidades de Datos (Data Entities), un entidad es tipo Request y Otra tipo Response, para esta caso vamos a usar la entidad de Respuesta llamada CrearOrdenResponse

    image

    Al dar doble click sobre la Entidad podemos visualizar el contenido del Schema

    image

    Con la definición de este schema podemos crear el archivo XML de Respuesta, para esto nos podemos apoyar en la herramienta Liquid XML Studio http://www.liquid-technologies.com/ .

    Copiamos el contenido del schemas en un archivo lo guardamos con extensión .xsd y lo abrimos con XML Liquid, con este podemos ir al Menu tools y generar un archivo XML de Ejemplo

    image

    image

    image

    image

    Este es un ejemplo del archivo que genera la herramienta

    image

    Para copiar el xml de respuesta debemos ir a la operación (Crear Orden) y darle doble click, esto lo hacemos por el layout End to End Item Management, con la operacion desplegada  copiamos el contenido en la pestaña Static Response . Para que MSE pueda responder sin ir al servicio debemos deseleccionar la opción Active y Seleccionar la opción Testable

    image

    Con esto ya configurado podemos realizar un llamado al servicio y este nos responde. Incluso si no enviamos parámetro alguno.

    image

    Older posts «