BizTalk

Download My PowerShell eBook for Free [US-EN]

I have been the author of this book which was written for Syncfusion, to increase their offer on the Succinctly series. Two more books are on stack to be released so wait for more news in the following weeks.

Capture

PowerShell Succinctly highlights some of the PowerShell programming model’s many benefits, specifically for .NET developers and system administrators. Author Rui Machado guides readers through time-saving methods that simplify code testing by eliminating the need to create a new application in Visual Studio. Also included are tips for using additional services, such as PowerGui, WMI, and SQL Server, to get the most out of PowerShell. Even if you don’t already use scripting languages to manage your machines, PowerShell Succinctly will show you just how easy it is to automate activities, work with databases, and interact with a variety of file types with this useful model.

(mais…)

Conceitos de XML e Schemas em BizTalk Server [pt-BR]/[en-US]

English Version: http://social.technet.microsoft.com/wiki/contents/articles/12598.xml-and-xm-schemas-in-biztalk-server-concepts-en-us.aspx

Quando se inicia uma carreira na área da integração de sistemas recorrendo ao BizTalk, são inúmeros os conceitos que provavelmente nunca lhe passaram pela frente.

No entanto e porque considero que a dificuldade está mais em decorar os nomes do que em perceber o seu significa dado serem conceitos extremamente simples, decidi disponibilizar um pequeno glossário para facilitar a inserção no mundo do XML dentro do BizTalk.

De salientar que estes conceitos estão simplificados e servem apenas para o leitor ter uma noção dos nomes e definições de artefactos que lhe poderão surgir aquando do desenvolvimento em BizTalk.

Importa também referir que são somente conceitos ligados ao XML em BizTalk Server, digo isto pois alguns conceitos não se aplicam ao XML fora do Biztalk.

(mais…)

BizTalk Pipeline Custom Component Message Unzippper

Project in Code Gallery: http://code.msdn.microsoft.com/BizTalk-Pipeline-Custom-0c8b1487

Introduction

This Custom Pipeline Component for BizTalk Server 2010, receives a compressed message, unzips it and sends one message per each file that the compressed file as in it. Imagine the following scenario: you have ten files that you want to send to some destination, instead of sending ten messages (one per file) you can easily send one compressed file (with all the ten files in it), taking as only precaution  the insurance that the destination system as this component in its receive pipeline.

BizTalk Mapping Challenge – Many To One Looping

BizTalk Server 2010 Mapping Challenge

Many to One Looping

Imagine that you have a scenario where in the source schema you have a structure with three records with the same elements, however the first record is unbounded while the sencond and the third one as only one occurance. Now you need to map this three records into one single record in the destination schema.

Example:

Source Schema Records:
– Vendor (Unbounded)
– Client (Occurs once)
– Owner (Occurs once)

Destination Schema:
– Participants (unbounded)

Check out my two solutions for this challenge bellow.

Here is the XSLT Code:


<Common>
<ID>
	<xsl:value-of select="//Personal/ID"/>
</ID>

<xsl:for-each select="Personal">
<!-- Process each vendor -->
<xsl:for-each select="Vendor">
	<xsl:variable name="fname" select="FName"/>
	<xsl:variable name="lname" select="LName"/>
	<xsl:variable name="addre" select="Address"/>
	<xsl:variable name="city" select="City"/>

	<Participant>
		<FName>
			<xsl:value-of select="$fname"/>
		</FName>
		<LName>
			<xsl:value-of select="$lname"/>
		</LName>
		<Address>
			<xsl:value-of select="$addre"/>
		</Address>
		<City>
			<xsl:value-of select="$city"/>
		</City>
	</Participant>
</xsl:for-each>
<!-- Process the client-->
<Participant>
	<FName>
		<xsl:value-of select="Customer/FName"/>
	</FName>
	<LName>
		<xsl:value-of select="Customer/LName"/>
	</LName>
	<Address>
		<xsl:value-of select="Customer/Address"/>
	</Address>
	<City>
		<xsl:value-of select="Customer/City"/>
	</City>
</Participant>
<!-- Process the owner -->
<Participant>
	<FName>
		<xsl:value-of select="Owner/FName"/>
	</FName>
	<LName>
		<xsl:value-of select="Owner/LName"/>
	</LName>
	<Address>
		<xsl:value-of select="Owner/Address"/>
	</Address>
	<City>
		<xsl:value-of select="Owner/City"/>
	</City>
</Participant>
</xsl:for-each>
</Common>

Xpath como sub-sistema do XSLT Biztalk 2010 [pt-BR]

Como já publiquei em posts anteriores, o BizTalk Server 2010 permite através da utilização de mapas (ficheiros .btm), realizar transformações a dados de um ficheiro xml, ou como mais se costuma retractar este fenómeno, mapear um ficheiro xml noutro. Ou seja, o BizTalk contém um conjunto de functoids (meras funções) que encapsulam código simples em C#, XSLT ou VB mas que é muitas vezes utilizado como o caso de concatenação de strings, operações matemáticas e até casos mais complexos como ciclos ou iterações. O grande objectivo desta ferramenta do BizTalk é simples: Permitir que uma mensagem seja lida num formato e seja transformada noutro formato (schema) que depois será lido pelo sistema alvo do processo em causa.

(mais…)

Criar portas dinâmicas de envio Biztalk 2010 [pt-BR]

Através da definição de portas dinâmicas em BizTalk é possivel fazer reencaminhamento de mensagens sem definir portas fisicas, isto porque estas são configuradas em runtime, através da sua definição dentro do workflow do BizTalk.

Para mostrar a facilidade e utilidade deste tipo de configurações vou recorrer a um pequeno exemplo, temos uma mensagem que chega à nossa orquestração, não sofre qualquer tipo de mapeamento e é automáticamente enviada para um determinado email. Este email terá um corpo de texto e a mensagem de chegada (XML) como anexo. Para enviar os emails utilizaremos as potencialidades do adaptador SMTP que o Biztalk Server 2010 nos fornece. (mais…)

BizTalk Server 2010 – Advanced Error Handling [pt-BR]

Tratamento de erros nas orquestrações

A justificação para o tratamento de erros já foi dada na publicação anterior no entanto existe um conjunto de  justificação associadas a cenários de biztalk que permitem facilmente perceber a importância destes mecanismos, nomeadamente:

  • O que acontece quando uma dada porta de envio não completa a sua função?
  • Há alguma forma de tentar novamente a transacção dentro de uma orquestração do Biztalk? E quantas vezes devemos tentar? E a orquestração espera quanto tempo?
  • Existe alguma forma de terminar a orquestração sem ser de forma abrupta?
  • Como notificar o administrador do biztalk da ocorrência do erro?
  • Onde guardar estas mensagens de erro?
  • Necessitamos de um relatório de erro? E onde guardar? (mais…)

BizTalk Server 2010 Error Handling [pt-BR]

Intro

A existência de erros em sistemas informaticos é uma realidade mais do que adquirida por todos profissinais das tecnologias e sistemas de informação, uns com maior gravidade outros com menor, mas construir e manter um sistema sem que um erro aconteça é uma utopia que ainda não é possivel. A quantidade de erros bem como a gravidade dos mesmos está seriamente ligada ao ser humano, tanto por ser este o principal criador mas também por ser o principal utilizador, a experiência que este tem, os conhecimentos que dispõem ou a forma como o sistema foi desenhado são três dos principais factores que potenciam erros tanto de desenvolvimento como de utilização. (mais…)

Biztalk Server 2010 – Tópicos e elementos principais [pt-BR]

Introdução ao Biztalk 2010

Conheça o Biztalk 2010 em quinze minutos!

Tópicos Abordados:

                    – XML

                    – Schemas (XSD)

                    – Maps (XSLT)

                    – Pipelines

                    – Orchestrations (mais…)