ARC302 Building and Using Software Factories
Recientemente está tomando fuerza, o poniéndose de moda, según como se vea el concepto de Domain Specific Languages. Este no es un concepto nuevo, existe desde hace tiempo aunque con diversos nombres, sin embargo es la primera vez en la que desde los constructores de herramientas se aborda su inclusión en sus productos de una forma fácilmente integrable en los desarrollos habituales.
Esta presentación estaba enfocada a este tema, y ha empezado bien, aportando el concepto de encapsulación del conocimiento de un área funcional en un “paquete de conocimiento” de modo que sea facilmente utilizable en la organización.
Así este paquete de conocimiento, agruparía elementos tales como la automatización de tareas, la reutilización de “activos” del proyecto, la guía de procesos en el ámbito en que se está trabajando o referencias de documentos…
Lo que encontraremos en una solución de este tipo será una colección de activos, entendiendo por tales, herramientas, ficheros de configuración, bloques de código, patrones…así como una descripción del contexto en que cada uno de ellos debe ser utilizado.
Todo parecía bastante prometedor, pero cuando dieron paso a la presentación, la cosa defraudaba un poco, por los comentarios del entorno, no fue una impresión mía exclusivamente.
Prometen mejoras a corto plazo, así que habrá que continuar con un ojo en esta tecnología…
CTS242 Integration Technologies: When to use what?
Actualmente existen múltiples tecnologías de integración, algunas de las cuales se superponen unas con otras y es confusa su utilización. Aquí se hace un repaso de todas ellas, dando algunas pistas de dónde pueden convenir más unas u otras.
La distinción básica es si la integración a realizar es de datos o de mensajes, algunas de las carcterísticas de ellas son las siguientes:
Integración de datos: El conocimiento de la aplicación no es importante, son volúmenes grandes y es algo pasivo en sí mismo, no hay interacción dinámica entre los sistemas.
Integración de mensajes: El conocimiento de las aplicaciones es básico, el volumen de datos intercambiados es pequeño, y es un proceso completamente activo.
Integración de Mensajes
En este apartado se consideran tecnologías como MSMQ, SSB-SQL Service Broker, BT, HIS o Indigo.
MSMQ y SSB aunque con ligeras diferencias se centra en facilitar la comunicación asíncrona entre aplicaciones, tienen modelos de porgramación diferentes, pero son tan similares que se puede decir que elegir una u otra depende en gran medida de si estás utilizando SQLServer o no en tu aplicación.
Indigo viene a simplicar las cosas ya que aporta como gran ventaja un modelo de programación común, de modo que el protocolo/servicio/herramienta final de comunicación puede establecer a través de configuración, con la flexibilidad que esto aporta, así como la simplicación en la estructura de la propia aplicación.Indigo tiene más ventajas, pero esta es una de las más relevantes.
Biztalk es una tecnología diferente en el sentido que su objetivo es poner en contacto múltiples aplicaciones que se comunican a través de protocolos diferentes, no como las anteriores en las que las aplicaciones en contacto son normalmente dos y utilizan un protocolo común entre ellas. BT es una especie de “man-in-the-middle” que se encarga de efectuar las traducciones/ajustes necesarios para que las aplicaciones se comuniquen sin que tengan que asumir ellas ninguna modificación propia.
La comunicación con los mainframes es llevada a cabo con Hos Integration Services, a veces se tiene la idea de los mainframes como sistemas muy anticuados, pero lo cierto es que aún su utilización es muy amplia debido por los altos niveles de fiabilidad que aportan, no superados por ningún otra tecnología de sistemas, así como por la rapidez de estos sistemas, muchas veces no alcanzados a costes similares por otras tecnologías más modernas. Indigo en futuras versiones también integrará la comunicación con mainframes.
En resumen, se podría decir a grandes rasgos que si hay que comunicar dos aplicaciones la opción más sencilla sería MSMQ, si tengo SQLServer puedo optar alternativamente por SSB, y si puedo esperar un poco la opción sería Indigo, que me permitiría tomar la decisión sobre el protocolo a utilizar dinámicamente.
Integración de datos
En cuanto a la integración de datos presentaron su SSIS-SQL Server Integration Services, herramienta que permite definir procesos de importación de datos de una manera gráfica, interesante, y su SQLReplication que permiten definir de modo gráfico también los procesos de repliación de SQLServer.
ARC315 The 5 pillars of connected systems
Los servicios web han ido evolucionando desde la mera llamada al método hasta la actualizadad dónde se empiezan a tener en cuenta conceptos tales con la seguridad, la transaccionabilidad o la granularidad de los servicios.
Sin embargo esto no será suficiente para los servicios del futuro que deberán tener en cuenta en su construcción las siguientes ideas básicas o “pilares” de la arquitectura orientada a servicios:
Aceptación del cambio, y por tanto, estar preparados para él para tener la posibilidad de hacer crecer el sistema e incorporar las tecnologías que vayan apareciendo, utilizando técnicas como la “separation of concerns, Metadatos, arquitecturas de tipo pipe-line, intercepción o generación de código
Identificación y acceso, evolucionar desde los sistemas SSO actuales hacia sistemas de Indentidad Federada con múltiples autoridades emisoras y apoyándose en cadenas de confianza, de modo que la identidad pueda estar contextualizada en el entorno operativo en que se encuentre.
Interacción con el usuarios, el empleo de clientes ricos que favorezcan la experiencia de usuario, unidos a aplicaciones que saquen ventaja del cliente más allá de sus capacidades de presentación, llevando a cabo tareas como almacenamiento local o la implementación de workflows locales.
Datos, especial atención a la agregación de datos
Smart clients
En otro orden de cosas, es interesante ver como se consolida cada vez más la opción de los Smart Clients, como opción preferida en muchas ocasiones. Hasta ahora eran pensables en entornos intranet, pero como la mejora en las comunicaciones y de las tecnologías de despliegue, cada vez se configuran como una opción válida en mucos más casos.
Como observación a notar, en todas las presentaciones siempre que han puesto un ejemplo, hablaban de SmartClient como plataforma para el usuario…habrá que continuar con ello.