integración de soluciones con biztalk server 2006 (ejemplo)

18
Integración de soluciones con Biztalk Server 2006 José Luis Hevia Ejemplo de lectura

Upload: jorgecarreno472

Post on 31-Dec-2014

23 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Integración de soluciones con Biztalk Server 2006 (ejemplo)

Integración de soluciones conBiztalk Server 2006José Luis Hevia

Ejem

plo d

e lec

tura

Page 2: Integración de soluciones con Biztalk Server 2006 (ejemplo)

Sipnosis

El presente texto introduce los conceptos relacionados con la nueva versión de Microsoft BiztalkServer 2006. Un producto que se está posicionando cada vez más como una alternativa segura,robusta, escalable y de alta disponibilidad a los diseños y arquitecturas tradicionales de la capa de lalógica de negocio.

En esta introducción a Biztalk se procura asentar bien los principios que rigen la arquitectura de esteproducto, ayudando al lector a conocer el contexto y los escenarios en las que puede aprovechar elproducto al 100%. Una vez conocida la arquitectura, a través de temas concretos y ejemplos claros, seva introduciendo al lector en la complejidad del diseño y arquitectura de las aplicaciones basadas en elmodelo SOA; desgranando las aplicaciones de Biztalk en artefactos de negocio como los esquemas,los mapeos, las canalizaciones, los puertos, la mensajería básica y las orquestaciones; de forma quese estudia cada concepto asentando muy bien las bases y ofreciendo al lector un punto de apoyo con elque construir aplicaciones más complejas. Se le presenta al lector la vista global de la construcción deuna aplicación de negocio empleando los frameworks de Biztalk, integrados con las nuevasherramientas incorporadas con Visual Studio .NET 2005, cubriéndose todas las etapas del ciclo devida: desde su análisis hasta su despliegue en producción.

Jose Luis Hevia es ingeniero informático y lleva mas de12 años dedicado a la consultoría, la formación y eldesarrollo, especializado como arquitecto de software entecnologías como .NET framework, Java y COM y elecosistema de productos que las conforman. Ha escritomultitud de libros relacionados con estas tecnologías y suaplicación práctica en las arquitecturas empresariales.Colabora en revistas especializadas del sector y mantienesu propio blog en www.heviatec.net.

Ejem

plo d

e lec

tura

Page 3: Integración de soluciones con Biztalk Server 2006 (ejemplo)

Luarna

Integración de Soluciones con Biztalk Server 2006© Jose Luis Hevia - Alhambra Eidos© De esta edición: 2009, Luarna Ediciones, S.L.

www.luarna.com

Madrid, octubre de 2009

ISBN: 978-84-92684-54-0

Versión 1.0 (07-10-2009)

Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra solo puede ser realizadacon la autorización de sus titulares, salvo excepción prevista por la ley. Diríjase a CEDRO (Centro Español de DerechosReprográficos, www.cedro.org) si necesita fotocopiar, escanear o hacer copias digitales de algún fragmento de esta obra.Ej

emplo

de

lectu

ra

Page 4: Integración de soluciones con Biztalk Server 2006 (ejemplo)

IINNTTEEGGRRAACCIIÓÓNN DDEE SSOOLLUUCCIIOONNEESS CCOONN BBIIZZTTAALLKK SSEERRVVEERR 22000066

Jose Luis Hevia

Ejem

plo d

e lec

tura

Page 5: Integración de soluciones con Biztalk Server 2006 (ejemplo)

P á g i n a | 5

Indice

Introducción a Biztalk 2006 ..............................................................................................................7La plataforma .NET: hay mucho más que un framework .................................................................7La capa de negocio: un nuevo objetivo de microsoft ...................................................................... 11Qué es Biztalk Server… ................................................................................................................ 13Componentes de Biztalk Server 2006 ............................................................................................ 14

Topología de Biztalk 2006 ........................................................................................................ 16MSF. cada cosa en su sitio. ........................................................................................................... 16Cómo estará organizado este texto................................................................................................. 17Los ejemplos del texto .................................................................................................................. 18

Instalación de Biztalk 2006 ............................................................................................................. 19La instalación de Biztalk Server 2006............................................................................................ 19

Pre-requisitos de bt 2006 ........................................................................................................... 20Cuentas y grupos Windows necesarios ...................................................................................... 20Instalación de BT 2006.............................................................................................................. 22

Post-instalación: Configurar la instancia de Biztalk. ...................................................................... 24Probar la instalación .................................................................................................................. 31Los adaptadores ........................................................................................................................ 32Aceleradores ............................................................................................................................. 33

Arquitectura de Aplicaciones en Biztalk 2006 .............................................................................. 34Componentes de aplicaciones BT .................................................................................................. 34Arquitectura de aplicaciones BT .................................................................................................... 36Visual Studio .NET ....................................................................................................................... 37Organización de los proyectos ....................................................................................................... 37

Diseño de Esquemas Biztalk 2006 .................................................................................................. 42Esquemas ...................................................................................................................................... 42Schema editor de VS.NET ............................................................................................................ 44

Edición básica de un esquema ................................................................................................... 44Edición avanzada de esquemas .................................................................................................. 47

Probar los documentos XSD.......................................................................................................... 49Reutilización de esquemas ............................................................................................................ 52Analizadores de documentos: XSD = reglas análisis ...................................................................... 54

Testear documentos sin formato desde el editor de esquemas de BT .......................................... 63Lo que nos hemos ahorrado haciendo esto… ................................................................................. 65El documento factura .................................................................................................................... 66Promoción de campos ................................................................................................................... 67

Diseño de Mapeos en Biztalk 2006 ................................................................................................. 69Mapas ........................................................................................................................................... 69Biztalk Mapper ............................................................................................................................. 70Selección de los esquemas............................................................................................................. 72

Transformaciones ...................................................................................................................... 73Ejemplo: Enlaces sencillos .................................................................................................... 74Ejemplo: Enlaces de elementos repetivos ............................................................................... 75Páginas de mapas. Cuando nos falta pantalla… ...................................................................... 75Ejemplo: Uso de functoids operadores ................................................................................... 76Ejemplo: Uso de functoids de agregación .............................................................................. 78Ejemplo: Por jugar un poco más, functoids de acceso a datos ................................................. 78

Tests de los mapeos ...................................................................................................................... 82Pendiente ...................................................................................................................................... 84

Mensajería básica en Biztalk 2006 ................................................................................................. 85Ejem

plo d

e lec

tura

Page 6: Integración de soluciones con Biztalk Server 2006 (ejemplo)

P á g i n a | 6

Mensajería básica .......................................................................................................................... 85Pipelines (canalizaciones) ............................................................................................................. 87

Ejemplo: Ensamblar un CSV como XML. ................................................................................. 89Puertos=abstracción canal + adaptadores ....................................................................................... 91

Gestión de los puertos ............................................................................................................... 91Messagebox y las reglas de negocio .............................................................................................. 93Mensajería básica en acción .......................................................................................................... 94Ejercicio: desplegar nuestro ensamblado ....................................................................................... 95Ejercicio: Montar la mensajería básica .......................................................................................... 96

El puerto de entrada .................................................................................................................. 96Los puertos de salida ................................................................................................................. 97Poner en marcha los puertos .................................................................................................... 101

Conclusiones............................................................................................................................... 104Algunas consideraciones… ......................................................................................................... 104

Orquestaciones en Biztalk 2006 .................................................................................................... 106Orquestaciones ............................................................................................................................ 106Artefactos relacionados con las orquestaciones ............................................................................ 107

Shapes: herramientas de una orquestación. .............................................................................. 108Una orquestación básica .............................................................................................................. 109

A vueltas con el diseñador ....................................................................................................... 109Operaciones ............................................................................................................................ 116

Despliegue de una orquestación ........................................................................................... 119Refinando la orquestación ....................................................................................................... 122

Despliegue de aplicaciones en Biztalk 2006 ................................................................................. 127Herramientas de Biztalk Server 2006 .......................................................................................... 127La consola de administración de BT 2006 ................................................................................... 128H.A.T = Health & Activity Tracking ........................................................................................... 131Empaquetado y distribución de aplicaciones ................................................................................ 132

El concepto de APLICACIÓN................................................................................................. 133Terminando… ............................................................................................................................. 138

Ejem

plo d

e lec

tura

Page 7: Integración de soluciones con Biztalk Server 2006 (ejemplo)

P á g i n a | 7

Introducción a Biztalk 2006

La plataforma .NET: hay mucho más que un framework.NET framework ha supuesto una revolución en todos los sentidos. Además de representar una nuevatecnología que hace la informática más efectiva y accesible, es una pieza en un puzle mucho mayor.Poco tengo que explicar al lector las enormes ventajas que .NET framework han supuesto a losprofesionales de TI. Pero es cierto que aunque con buena herramienta, bien se trabaja, en nuestrooficio muchas veces trabajamos de más:

· Una cosa son las herramientas que utilizamos para implementar y automatizar los requisitos,y otra cosa es que en futuros inmediatos nos veamos realizando de nuevo las mismas tareas.Cuantas veces nos hemos visto picando código de acceso a datos, o páginas web deformularios… si, distintos requisitos de información… pero siempre el mismo tipo de códigogenerado.

· Una cosa es que implementemos ciertos servicios, y otra muy distinta intentar buscarservicios existentes que reduzcan los tiempos de construcción y los esfuerzos que suponen (endiseños, arquitecturas, construcciones, etc.) Podemos construir un sistema de protocolo decomunicaciones específico para ciertas tareas, pero no tiene sentido que intente diseñar unaplataformas de servidor de correo electrónico, si hay fabricantes que ya las proporcionan.

· Una cosa es que la tecnología nos proporcione buenas piezas a partir de las cuales construirnuevos sistemas, y otra cosa que cada sistema suponga construir piezas que ya han sidoconstruidas, probadas y certificadas por otros profesionales. Si nuestro sistema demanda deservicios de almacenamiento, es mejor tirar por sistemas gestores de datos, que intentarconstruir un sistema de almacenamiento casero, como parte de nuestro proyecto.Ejem

plo d

e lec

tura

Page 8: Integración de soluciones con Biztalk Server 2006 (ejemplo)

P á g i n a | 8

· Una cosa es que la tecnología nos de soporte para enfrentarnos a ciertos contextos y requisitos,y otra muy distinta que los usemos. Porque seguramente o no nos los han pedido comorequisito, o su desarrollo es tan complejo que su construcción se come todo el tiempo delproyecto, dejando de lado lo realmente importante: la lógica de negocio y la problemática delusuario. Por ejemplo, cuantas veces contemplamos en un desarrollo los principios deescalabilidad, seguridad, alta disponibilidad, redundancia, etc. Cuando uno desarrolla unaaplicación web, seguro que no se plantea que dicha aplicación luego tenga la necesidad decorrer en una granja de servidores en balanceo de carga para acoger una alta carga de trabajo(imaginaos cómo implementar un sistema de gestión de la sesión con tecnologías como ASP3, repartido en n máquinas de un cluster).

A lo que voy: que en el mundo en el que vivimos tenemos que tender a no reinventar la rueda. Enmuchas ocasiones nuestro trabajo puede ser reutilizado para la construcción de nuevos sistemas. Y enmuchas ocasiones hay productos de terceros que nos resuelven los problemas, por lo menosinicialmente. Y que dichos productos pueden servir para construir sistemas más grandes y mejores.Coincidiendo con una mejora en todos los aspectos de un proyecto: costes, tiempo y recursos.

Es por esto que un fabricante de software como Microsoft, de toda la vida siempre ha ofrecido todo uncatálogo de productos que dan soporte a sus tecnologías. Pero también hay que decir que ha sido conla llegada de .NET, que esta compañía sufrió una restructuración que la llevó a algo que hasta la fechano tenía: consistencia y coherencia en sus productos. Lo que hacía que cada producto fuera una isla enun mar de servicios. Pero llega .NET y se consolida la visión. El framework de .NET es unareestructuración de las piezas de construcción de sistemas, y sobre él tienen que dar multitud deservicios -los .NET Servers- para conseguir un único objetivo: la satisfacción del usuario.

Ilustración 1. Plataforma .NET

Por lo tanto… qué es la plataforma .NET: Un conjunto de herramientas que proporcionan serviciospara construir sistemas que resuelvan problemas (framework de .NET); un conjunto de sistemas pre-construidos que ofrecen nuevos y potentes servicios que hacen nuestros sistemas más productivos ycompetitivos (.NET Servers); y un objetivo común: mejorar la experiencia de usuario, siendo accesibledesde cualquier dispositivo. Y, por supuesto, empleando un conjunto de herramientas de construcciónque permitan controlar todo el ciclo de vida de nuevos proyectos que extiendan sus posibilidades deforma productiva, asistida, integrada y de calidad (Visual Studio .NET).

Ejem

plo d

e lec

tura

Page 9: Integración de soluciones con Biztalk Server 2006 (ejemplo)

P á g i n a | 9

.NET Servers: Productos Out of the Box (OOTB)Asociado a lo que hemos comentado en el apartado anterior, surge un nuevo tipo de concepto dedistribución del software:

· Productos desarrollados a medida. Aquellos que se desarrollan bajo pedido, con un conjuntode requisitos claramente definidos y que derivan en la construcción de un software llave enmano que automatiza dichos requisitos.

· Productos OOTB. Aquellos productos desarrollados por fabricantes de software sobre unconjunto de requisitos predefinidos y comunes a contextos concretos que se pueden aplicar amúltiples dominios similares. Estos productos se construyen, se empaquetan y se venden talcual, siempre y cuando sus funcionalidades satisfagan las necesidades de un usuario en unentorno concreto que se adecúa a lo que el producto resuelve. Estos son los productos “fuerade la caja” o Out of the box.

Dentro de los segundos es donde se ubican los .NET Servers. Un conjunto de productos OOTB queproporcionan servicios a la plataforma .NET para la integración y construcción de sistemas de mayorenvergadura. Ejemplos de estos productos los tenemos en:

.NET Server Descripción

SQL Server Que proporciona servicios de almacén de datos, empleando tecnologías debases de datos relacionales.

Exchange Plataforma de servicios de correo electrónico

Sharepoint Servicios de gestión documental centralizada apoyada en tecnologías deportales.

Biztalk Servicios para la integración e implementación de capas de negocio

CMS Framework de construcción de servicios web de publicación y administraciónde contenidos

Etc… Y un largo catálogo de productos

Tabla 1. Algunos de los .NET Servers de Microsoft

Es importante aclarar que los .NET Servers OOTB no son productos necesariamente desarrollados en.NET. Muchos de ellos puede que incluso estén desarrollados en otras tecnologías como C++ y/oCOM. Más bien quiere decirse que son productos que extienden la funcionalidad del framework .NET,ofreciendo servicios OOTB a la plataforma. Además, la denominación .NET Server incluye de serie:

· Que los .NET Servers deben proporcionar servicios encapsulados a la plataforma .NET enforma de SDK (API de desarrollo) que permita tanto reutilizar los servicios que proporcionaOOTB como extenderlos.

· Que los .NET Servers deben proporcionar servicios basados en estándares para hacerlesaccesibles a diferentes sistemas, entornos, dispositivos, etc. empleando para ello protocolosabiertos de internet (tales como los servicios web) basados en formatos abiertos (como XML).

· Que los .NET Servers se puedan integrar para constituir una plataforma mayor robusta, fiable,escalable, de alto rendimiento y segura.Ejem

plo d

e lec

tura

Page 10: Integración de soluciones con Biztalk Server 2006 (ejemplo)

P á g i n a | 10

Ilustración 2. El acceso a los servicios de un .NET Server

Como se ve, casi nada. De hecho, esta última consideración nos lleva ya al penúltimo punto de estecapítulo.

.NET Servers: Familias de productosEn la reestructuración que comentábamos antes, uno de los pasos que dio Microsoft con muchoacierto, fue el de “agrupar” los departamentos de la compañía para proporcionar productos másadecuados a diferentes áreas de negocio (en lo que antes existían divisiones por cada producto quesalía al mercado). Es por esto que en función del área de negocio, se pueden encontrar diferentesproductos .NET Server que cumplen con determinadas necesidades y requisitos. Las dos divisionesque más nos interesan son:

· Windows Server system. Un ecosistema formado por Windows Server como sistemaoperativo, y todos sus servicios OOTB incluidos en la caja (DNS, Active Directory ®, DHCP,servicios de ficheros, redes… y un largo etcétera. Bajo esta denominación, todos aquellosproductos .NET Server que extiendan los servicios que proporciona Windows Server, seránconsiderados parte de la familia Windows Server System. Bajo esta denominación, podemosencontrar a:

- SQL Server (2000/2005), WSS (2.0/3.0), Biztalk (2004/2006) y Exchange(2003/2007) entre otros.

· Office System. Un ecosistema formado por los productos Office y todos aquellos .NETServers que proporcionan las herramientas de backend necesarias para implementarplataformas para el Information Worker. Todos aquellos productos que extiendan los serviciosde la familia Office, entrarán dentro de esta denominación. Es de remarcar que Office system,está integrado con Windows Server System para poder cumplir su misión. Lo que ofrece unaplataforma coherente, consistente, administrada e integrada. Algunos de los productos de estafamilia son:

- Sharepoint Portal Server 2003 / MS Office Sharepoint server 2007, Livecommunication Services entre otros.Ejem

plo d

e lec

tura

Page 11: Integración de soluciones con Biztalk Server 2006 (ejemplo)

P á g i n a | 11

Her

ram

ient

as

ApplicationPlatform IT Infrastructure

Information Worker Infrastructure

SQLServer

AppsTerceros

ProjectServer

CommerceServer BizTalk Exchange

Server

IntelligentFile

StorageAnd PrintServices

RightsMgmt RTC

ServicesMedia

ServicesTerminalServices

Ente

rpris

e Se

rver

s

SharepointServer

WSS

Ilustración 3. Plataforma IW de Windows

NOTA: Las versiones comentadas no son las únicas en estas categorías. Pero sí son el referente en la plataforma.NET. Con cada nueva versión lo que se pretende es integrar cada vez más los .NET Servers con las tecnologías.NET y ofrecer nuevas y más potentes funcionalidades al producto para hacerlo más competitivo y potente.

La capa de negocio: un nuevo objetivo de microsoftDe todos los productos de Microsoft, Biztalk siempre ha sido el más raro y desconocido de todos.Casi todos los productos de Microsoft siempre han estado orientados a procesos bien definidos: basesde datos, generación de portales, tiendas virtuales… con una clara vocación de proporcionarherramientas que hacen productivos los departamentos de TI. Y todo aquello que no cubría lasexpectativas, pues a desarrollarlo. De hecho, aplicando las arquitecturas de software actuales, losservidores de MS o estaban colocados dando servicios en un muy alto nivel (un portal montado con unasistente de Sharepoint), o bien en un muy bajo nivel (un SQL Server dando servicios de datos). Todosproporcionando unos entornos de administración -muy accesibles y consistentes- y cierto número deasistentes para implementar los servicios de la manera más rápida y efectiva posible.

Pero… y qué pasa con la capa intermedia (la de negocio). Siempre ha quedado relegada aherramientas desarrolladas a medida empleando tecnologías de framework (o previas) que simplificanla vida del desarrollador, pero inevitablemente ligadas al desarrollo puro y duro. Algunas de lastecnologías que Microsoft proporciona para implementar esta capa:

· COM+ y los servicios de aplicación de Windows Server

· Servicios web de .NET

· Servicios de Remoting de .NETEjem

plo d

e lec

tura

Page 12: Integración de soluciones con Biztalk Server 2006 (ejemplo)

P á g i n a | 12

· Los futuros servicios de Indigo (o Windows Communication Foundation)

Todos tienen en común que proporcionan una capa centralizada de servicios de negocio basada encapas de acceso RPC. Pero, cuando uno aborda este tipo de desarrollos, tiene ya bastante condesarrollar la arquitectura y toda su complejidad. Se suelen dejar de lado ciertos conceptos que en elmundo empresarial son vitales… y que se deberían de considerar por defecto… pero suelen sersiempre muy caros de construir:

· Integración. La capacidad de los componentes de negocio de poder ser utilizados por otrossistemas que para el que fueron construidos.

· Mantenibilidad. Facilidad de ampliación en un futuro como parte de las adaptaciones de lapropia filosofía del negocio. Bien porque son altamente parametrizables, bien porque sonfácilmente re-escribibles, bien porque son fácilmente reemplazables. Y en cualquier caso,versionable sin afectar a otros procesos.

· Compatibilidad. Que los componentes de negocio construidos, puedan ser empleados porcualquier sistema independientemente de las tecnologías empleadas para ello.

· Reutilización. De nuevo, aplicar los conceptos de integración y compatibilidad para laconstrucción de nuevos sistemas.

· Escalabilidad. Capacidad de las capas de negocio de ser readaptadas en infraestructurashardware replicadas y distribuidas para satisfacer las demandas de proceso. Por ejemplo, siuna máquina se nos queda pequeña para atender muchas conexiones, poder reubicar elcomponente en otras máquinas similares y así balancear la carga.

· Seguridad. Implementar un modelo de acceso controlado, cifrado, demostrable en origen yvinculante de acuerdo a las necesidades del negocio.

· Alta disponibilidad. Que no solo el sistema responda rápido, sino que lo haga las 24 horas deldía, los 7 días de la semana, los 365 días del año. Vamos, que lo que en el mundo normalizadode nuestros días (¿he dicho pijo?), se denomina soporte 24x7.

A los que os dedicáis a estas tareas tan interesantes… cuántos os habéis preocupado de estascuestiones…

Gracias a las nuevas herramientas que un determinado fabricante distribuye, muchos de estosprincipios los aplica la propia plataforma (Windows DNA, Java J2EE, etc.). Pero en muchos casos, laresponsabilidad recae en la propia construcción de los componentes. Y su complejidad a veces es tancara que se prefiere el sacrificar algunos de estos conceptos en aras de poder cumplir en tiempo ydinero con nuestros clientes.

Pero eso, al igual que ocurre con otros productos, es hasta que alguien desarrolla un sistema queproporciona todos esos elementos y más. Es el caso de Biztalk. Un servidor .NET desarrollado paraayudar a los desarrollos de la capa de negocio a cumplir con todos esos aspectos. Y para no sacrificarextensibilidad, la gente de Microsoft ha dotado al producto de impresionantes herramientas que sepueden adecuar casi a todos los contextos posibles. Y que procuraremos introducir a lo largo delpresente texto.

Ejem

plo d

e lec

tura

Page 13: Integración de soluciones con Biztalk Server 2006 (ejemplo)

P á g i n a | 13

Qué es Biztalk Server…Pues antes de empezar ya a conocer cómo funciona este curioso servidor .NET, será necesario perderun poco de tiempo en conocer qué es y qué servicios nos ofrece. Podemos definir biztalk server comoun .net server que proporciona la infraestructura necesaria para poder implementar soluciones de capade negocio e integración de forma segura, escalable, de alta disponibilidad y extensible empleando lainfraestructura de Windows Server System.

En esta segunda generación del producto (la primera fue la versión 2004, las anteriores… bueno, agustos colores), además no sólo ofrece estas funciones sino que además proporciona multitud deherramientas de valor añadido que mejoran no solo la puesta en marcha de soluciones de negocio, sinoque potencian su interactividad, su análisis y su mantenimiento a todos los niveles.

Es importante remarcar que Biztalk no es un reemplazo de las tecnologías de servidor de .NET. Esmás, son totalmente complementarias. Todo depende del tipo de solución que se desee implantar y susrequisitos. Pero puede ser una buena alternativa tecnológica en los contextos claramente definidos:

a) Contexto de integración de negocio. En el que es necesario establecer unas capas deadaptación entre sistemas heterogéneos. Bien porque es complicada su adaptación para suintegración, bien porque las relaciones del negocio implican procesos de transformación,validación, distribución, etc., que no hacen viables estos cambios.

b) Contexto de modelos SOA. Arquitecturas de sistemas orientadas a servicios. En estassituaciones, BT se encontrará como pez en el agua. Siendo extremadamente potente suflexibilidad, diseño y puesta en marcha para soluciones basadas en este tipo de arquitecturas.

c) Contexto de soluciones de administración de procesos empresariales. Donde se diseñanprocesos de organización de negocio claramente definidos (normalmente como fruto deanteriores procesos de calidad).

d) Contexto de soluciones B2B. Donde las relaciones de negocio entre empresas estánclaramente definidas y sus procesos de negocio se pueden modelar como orquestaciones querepresentan la solución de los requisitos propuestos. Y además, dichas relaciones son tanvolubles como las propias reglas de negocio que las representan… lo que demanda un SI tanvoluble como dichas reglas, sin ser extremadamente costoso el aplicar los nuevos cambios. Ysiendo una necesidad, el poder reutilizar estos conceptos no sólo a una relación con unaempresa, sino con potencialmente “n” nuevas empresas.

Ilustración 4. Arquitectura de una solución típica de BTEjem

plo d

e lec

tura

Page 14: Integración de soluciones con Biztalk Server 2006 (ejemplo)

P á g i n a | 14

Biztalk proporciona unas herramientas excelentes para organizar todos los elementos del negocio. Ydichos elementos están representados por multitud de componentes que integrados ofrecen la solución.Estos artefactos componen las piezas del puzle y biztalk, el orquestador de las mismas.

Dentro de los artefactos que nos podremos encontrar en arquitecturas de negocio de los TI, podemosencontrar:

· Los productos del negocio: documentos, estándares, indicadores, etc.

· Componentes de negocio de diferentes tecnologías. Las piezas que mueven, procesan ytransforman los documentos del negocio.

· Las entradas y salidas. Por las que fluyen los documentos del negocio y que disparan las reglasde negocio.

· La propia información de los sistemas, para su depuración, justificación, control y análisis.

· Los propios sistemas de TI ya implementados y que tienen sus tareas claramente definidas, yque tienen necesidad de integrarse con otros sistemas y poder establecer relaciones consistemas de terceros, porque así lo demanda el negocio.

Como veis, no es poca tela la que arde. Y con todos estos principios tenemos que pelear todos los díaspara que los negocios sigan hacia adelante y su productividad haga que nuestros proyectos tenganéxito. En esto, contaremos con Biztalk como una potente herramienta con la que asegurar nuestroéxito.

Componentes de Biztalk Server 2006Biztalk es un servidor que no sólo proporciona servicios de lógica de negocio, sino que vieneacompañado de todo un elenco de componentes y servicios que conforman un producto muycompleto. Esencialmente, el core de BT comprende un complejo runtime de mensajería y de procesode orquestaciones de negocio.

Ilustración 5. Visión de águila del Core de Biztalk

Acompañando a este runtime, BT incorpora además herramientas de alto valor añadido para que lalógica de negocio esté perfectamente controlada:Ej

emplo

de

lectu

ra

Page 15: Integración de soluciones con Biztalk Server 2006 (ejemplo)

P á g i n a | 15

· Motor de Single-Sign-On (SSO). Por el cual es posible enlazar cuentas Windows a diferentescuentas de seguridad de sistemas de terceros. Simplificando el proceso de integración demúltiples plataformas.

· Herramientas de administración muy consolidadas, claras y potentes. Con las que sepuede controlar prácticamente cualquier aspecto del core y sus servicios.

· BAM (Bussines Activity Monitor). Componentes que permiten el análisis de los mensajesprocesados por BT y que permiten consolidar herramientas especializadas para el bussinesIntelligence asociada a los datos procesados por BT.

· BAS (Bussines Activity Services). Conjunto de servicios que BT ofrece al exterior(protocolos, mensajes, relaciones de seguridad, etc.), cuando es una necesidad del negocio elinteractuar con terceros.

· HWS (HumanWorkflow Services). Conjunto de servicios, herramientas y editoresespecializados para los Information Workers (IW), de tal forma que puedan controlar el flujode la información con herramientas de muy alto nivel, que no requieren de un departamento deTI para su gestión y mantenimiento.

· HAT (Health and Activity Tracking). Una consola que permite el seguimiento, control,actividad y depuración de los servicios de BT.

· Totalmente integrado con las herramientas de desarrollo: Visual Studio .NET 2003/2005.Desde la cual el equipo de desarrollo puede diseñar, construir y desplegar los artefactos queconformarán una aplicación BT.

· Impresionante documentación y soporte. Que sólo un gigante como MS es capaz de ofrecery a las que nos tiene acostumbrados ya de otros productos.

Hay que decir también que BT 2006 está construido con el ya bueno motor de BT 2004, y que muchade la riqueza de la nueva versión estriba en las numerosas mejoras de ofrece sobre la versión anterior.Muchas de esas mejoras, se pueden enumerar en:

· Un runtime mucho más organizado, robusto y seguro. Con mejores herramientas de puesta enmarcha y control y seguimiento. Totalmente integrado con las más recientes tecnologías deWindows Server system y .NET Framework 2.0.

· Integración con las tecnologías de portal de Sharepoint y Office tanto para la publicación dedatos como para análisis de negocio.

· Nuevos conectores, asistentes y herramientas de desarrollo.

· Una mejor arquitectura que posibilita nuevos contextos de escalabilidad. Total integración conlos servicios avanzados de SQL Server en sus versiones 2000 y 2005 (de la que extraenumerosas ventajas).

· Portales web preconfigurados para el análisis, a todos sus niveles, tanto técnico como denegocio.

· Mejor adaptación a los estándares: NET 2.0, WSE, SOA, Certificaciones y firmas digitales,BPEL… y un largo etcétera.Ejem

plo d

e lec

tura

Page 16: Integración de soluciones con Biztalk Server 2006 (ejemplo)

P á g i n a | 16

Os recomiendo acceder tanto a la MSDN como al propio documento de ayuda del producto, parapoder conocer mas es profundidad todas las novedades que ofrece este producto. Muchas de ellas lasiremos viendo conforme avancemos por los diferentes capítulos del texto.

Topología de Biztalk 2006La topología de Biztalk se puede analizar en dos niveles:

a) Nivel de sistemas.

Por el que la estructura de servidores puede ser configurada tanto en granja como en cluster.Los servicios de BT dependen mayormente de un motor de base de datos (SQL Server) para elalmacén tanto de las reglas del motor como de los mensajes que entran y salen. Así que elprimer punto optimizable es la propia topología de SQL Server. Si partimos de esto yatenemos mucho ganado. El segundo paso es decidir cuánto necesitamos en término deproceso. Esto determinará cómo instalar BT. Biztalk establece claramente el concepto deservidor “lógico” y hosts físicos, de tal forma que es el propio producto el que proporciona lasherramientas de control y gestión de su propia granja de servidores. Así, nos encontraremosdefiniendo al instalar el producto dos tipos de servidores “lógicos”: el host aislado y el host.Donde el aislado corresponde a la entidad de servidor que proporciona servicios específicos decara a la red DMZ (zona desmilitarizada o exterior), el estándar es el servidor propiamentedicho. Una vez definidos estos conceptos, veremos que si después queremos escalar enmáquinas, bastará con asociar la instalación de un nuevo biztalk a uno de los servidoreslógicos ya creados anteriormente (el punto en común estará, claro, en la base de datos).

Esto ofrece mucho juego, pues en una red podremos encontrar un host vinculado –porejemplo- a 4 servidores físicos (porque da servicios al exterior, con mucha carga y demandade alta disponibilidad) y otros host vinculado a sólo un servidor (uso interno, con potenciasuficiente).

b) Nivel de desarrollo de aplicaciones.

Por el que los desarrolladores sólo se preocupan del servidor “lógico” con el deben trabajar (estransparente el que sea cluster o granja). Y dentro de dicho servidor, podrán establecer eldesarrollo de sus artefactos bien en un saco central de éstos, o bien agrupándolos en conceptode Aplicación, que es una entidad lógica que agrupará de forma aislada tanto artefactos comolos requisitos de E/S y relaciones con partners (entidades externas con las que mantenemosrelaciones de negocio) como demande el negocio.

MSF. cada cosa en su sitio.Y ya antes de comenzar a trabajar con BT, sólo me queda aclarar una cosa. En anteriores productos deMicrosoft siempre se le ha echado en cara a Microsoft que muchas veces no queda claro quién es elresponsable de administrar los sistemas. Esto es porque la gente de sistemas tiene unas herramientaspara administrar los sistemas… ¡pero la gente de desarrollo también emplea las mismas! De siempreha sido una guerra el intentar aunar estos dos grupos de profesionales TI… ya que las necesidades ylas responsabilidades son distintas.

Es por esto, que Microsoft cuando desarrolló su guía de calidad de soluciones (metodología que lesllevara de forma organizada y clara por todas las etapas de un proyecto) MSF, estableció un apartadoconcreto dedicado a las responsabilidades del equipo de trabajo y el análisis del perfil del usuario quetrabajaría con el sistema.Ej

emplo

de

lectu

ra

Page 17: Integración de soluciones con Biztalk Server 2006 (ejemplo)

P á g i n a | 17

Por esta razón, veremos que en BT existen dos grupos de herramientas claramente definidas:

· Arquitecto de la solución. Persona responsable de modelar la arquitectura de la solución BT.Podrá utilizar Visual Studio o Visio, pero su responsabilidad es sólo al definir el alto nivel delo que luego se convertirán en productos.

· Desarrollador (constructor) de la solución. El desarrollador propiamente dicho.Responsable de traducir los requisitos y análisis en productos construidos.

· Responsable (Administrador) de TI. El responsable de mantener operativa la topología deBiztalk, su seguridad y sus servicios.

No es que se pretenda que haya 1000 herramientas diferentes, sino 3 claramente agrupadas y dirigidasal profesional correspondiente. Esto llevará al profesional de TI al principio a no entender por qué enmuchos casos mucha información aparece duplicada, pero limitada en funcionalidad en función delperfil. Por ejemplo:

· Un desarrollador puede acceder al motor de BT para crear, modificar y borrar puertos de E/S.Y puede agregar ensamblados de código y manipularlos. E incluso subirlos a preproducción.En forma de Aplicación BT.

· Un administrador de TI, sólo puede examinar el contenido de una aplicación BT. Y comomucho iniciar o parar sus funciones. Y vale, eliminar una aplicación si hace falta. Pero nopodrá ni crear ni manipular sus funcionalidades. Crear sólo podrá hacerlo si lo que pretende esponer en producción un cierto desarrollo, y siempre desde la herramienta de instalación, nuncade desarrollo.

Por lo tanto: cada profesional tendrá sus propias herramientas. Y cada herramienta proporcionará uncompleto juego de casos de uso adaptado al perfil y responsabilidad.

Y para terminar, remarcar que existe otro nuevo perfil: el Information Worker. Persona que sin ser deforma determinante de un departamento TI, puede acceder a ciertas capas del producto para:

· Analizar el negocio

· Parametrizar ciertos aspectos del negocio

· Publicar ciertos datos del negocio

Para lo que BT trae nuevas herramientas de muy alto nivel compatibles con las plataformas IW:Sharepoint, Office, Excel, HWS, etc.

Cómo estará organizado este textoBueno, pues estamos ya en disposición de comenzar a trabajar con BT. Las bases del producto estánclaras. Lo único que nos queda es aclarar cómo estará organizado este texto, pues BT es un productocomplicado de documentar de una forma serializada en capítulos. Y además, ser exhaustivo nosllevaría una vida entera. Como este texto no deja de ser una introducción a BT, intentaremos abordarcada subsistema de una forma clara y dejando las bases lo suficientemente asentadas, como para queconstruir una aplicación completa os sea una tarea viable (aunque no exenta de análisis, esfuerzo ymuchas ganas de investigar).

Organizaremos el texto de acuerdo a tres grandes fases:Ejem

plo d

e lec

tura

Page 18: Integración de soluciones con Biztalk Server 2006 (ejemplo)

P á g i n a | 18

· Instalación y puesta en marcha de BT.

· Análisis y construcción de una solución BT.

- Soluciones Biztalk

- Esquemas

- Mensajería básica

- Diseño y despliegue de puertos de E/S

- Orquestaciones

- Servicios web

· Despliegue de una solución BT.

Lo que no abordaremos en este texto, pues nuestra intención es construir soluciones BT, seránaquellos módulos más relacionados con la parte de BI e IW. Dado que cada subsistema nos llevaríaprácticamente un texto para ellos solos. Lo que sí haremos es relacionarlos con los temas que veamospara que quede claro su función en la vista “panorámica” del producto.

Los ejemplos del textoPara que no tengáis que picaros todos los fuentes a mano, podréis decargar todos los proyectosrealizados en el texto en la siguiente URL:

http://www.elcampusdigital.com/FtpTextos/Biztalk/FuentesBiztalk2006.zip

Comencemos pues…

Ejem

plo d

e lec

tura