Mapa de navegación en las Arquitecturas Empresariales de Software Juan Carlos Cárdenas Romero jcardens@interaccion.com.co
Agenda El problema Cómo atacar el problema Clasificación de términos y definiciones Preguntas
El problema El tema de arquitecturas empresariales abarca un gran número de términos Marcos metodológicos Frameworks arquitectónicos Tecnologías Estándares Los términos se traslapan unos con otros No hay una alcance definido para tipo de término Hay gran cantidad de “falsos” conceptos Hay una gran cantidad de “sinónimos” Los proveedores buscan diferenciarse haciendo pequeños cambios a conceptos ya conocidos
Cómo “desenredar” el problema No hay una única manera, ni una manera óptima de abordar el tema Intentaremos “desenredar” el problema (1) Partiendo de los componentes básicos de las arquitecturas Definición de los diferentes elementos que componen una arquitectura Diferenciación de las tareas por su alcance dentro del desarrollo de una arquitectura (2) Clasificaremos los términos más relevantes de acuerdo con el mapa (3) Abordaremos las definiciones
Componentes básicos de las arquitecturas empresariales Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura de interfaces / Integración Arquitectura tecnológica
XML: Extended Markup Languaje Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: es una recomendación del World Wide Web Consortium (W3C) como lenguaje de markup de propósito general para crear lenguajes de propósito específico (dialectos XML). Dentro de sus capacidades está la de poder describir diferentes clases de datos. Su propósito primario es facilitar la comunicación de datos entre sistemas, particularmente los que están conectados vía Internet. Relevancia: muy alta Más info: http://www.w3c.org
.NET: Microsoft .NET Framework Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: plataforma para construcción de aplicaciones definida por Microsoft. El framework, que es un ambiente de ejecución y desarrollo de programas en diferentes lenguajes, consta de dos componentes: el Common Language Runtime (CLR) y el Framework Class Libraries (FCL). Relevancia: alta Más info: http://msdn.microsoft.com
J2EE: Java 2 Platform, Enterprise Edition Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: plataforma para construcción de aplicaciones empresariales en lenguaje Java. Está compuesto por una serie de modelos y tecnologías dentro de los que se destacan: Enterprise JavaBeans (EJB), Java Message Service (JMS), J2EE Connector Architecture (JCA) y Java API for XML-based RPC (JAX-RPC). Relevancia: alta Más info: http://java.sun.com/j2ee
WS: Web Services Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Un Web Service es una aplicación de software identificada por un URI, cuyas interfaces pueden ser definidas, descritas y descubiertas por artefactos XML y soportan interacciones directas con otras aplicaciones de software usando mensajes XML vía protocolos basados en Internet. El estándar original lo conforman SOAP, WSDL y UDDI Relevancia: alta Más info: http://www.w3c.org
WSTF: Web Services Transaction Framework Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Iniciativa de Microsoft, BEA e IBM que define un conjunto de mecanismos modulares para interoperabilidad transaccional entre Web Services. Consta de 3 especificaciones: WS-Coordination, WS-AtomicTransaction y WS-BusinessActivity. Estas dos últimas reemplazan a WS-Transaction Relevancia: media Más info: http://xml.coverpages.org/ni2003-09-16-a.html
WS-Coordination: Web Services Coordination Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: WS-Coordination framework extensible para coordinar acciones distribuídas entre aplicaciones. Hay dos tipos principales de coordinación: de corta duración (WS-AtomicTransaction) y de larga duración (WS-BusinessActivity) Relevancia: media Más info: http://msdn.microsoft.com
WS-CAF: Web Services Composite Application Framework Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Iniciativa de Arjuna Technologies Limited, Fujitsu Software, IONA, Oracle y Sun equivalente a WSTF. Conjunto de tres especificaciones que ayudan a solucionar los problemas dericados de la composición y compinación de Web services. WS-CAF está compuesto por: Web Service Context (WS-CTX), Web Services Coordination Framework (WS-CF), y Web Services Transaction Management (WS-TXM). Relevancia: media Más info: http://www.oracle.com/technology/tech/webservices/htdocs/spec/ws-caf.html
WS- Addressing: Web Services Addressing Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Iniciativa de Microsoft, BEA e IBM que provee elementos para identificar Web service y asegurar la transmisión de mensajes de extremo a extremo de la comunicación. Habilita a los sistemas de de mensajería para soportar transmisiones de mensajes a través de redes que incluyen nodos de procesamiento como firewalls y gateways de una forma neutra con respecto a la tecnología de transporte que se utilice. Relevancia: media Más info: http://msdn.microsoft.com
WS-Policy: Web Services Policy Framework Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Iniciativa de Microsoft, BEA e IBM que provee una gramática flexible y extendible para especificar capacidades, requerimientos y caractgerísticas generales de entidades en el contexto de los Web Services. Define un framework y un modelo para expresar estas propiedades como políticas. Relevancia: media Más info: http://msdn.microsoft.com
WS-Security: Web Services Security Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Describe la estrategia de Microsoft para manejar la seguridad en ambientes de Web services. Dentro de las especificaciones que la conforman se destacan: WS-Security: SOAP Message Security, WS-Trust, WS-SecureConversation, WS-SecurityPolicy, Web Single Sign-On. Relevancia: media Más info: http://msdn.microsoft.com
SOA: Service-Oriented Architecture Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Propone el uso de servicios para satisfacer los requerimientos de software de los usuarios. Un servicio es un comportamiento implementado y provisto por un componente de software para ser utilizado por cualquier otro componente de software. La definición del servicio se realiza mediante un contrato entendido por las partes. Bieber & Carpenter Relevancia: muy alta Más info: http://webservices.xml.com/pub/a/ws/2003/09/30/soa.html
SODA: Service-oriented development of applications Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Se refiere a modelaje, diseño e implementación de aplicaciones orientadas a servicios (SOA) Relevancia: media Más info: http://www.serviceoriented.org
SOBA: Service-oriented business applications Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Basado en SOA. Aplicaciones de negocio basadas en servicios en las cuales todas las funciones están definidas como Web Services independientes, de granularidad gruesa (llamados Business Services) los cuales pueden ser ejecutados por demanda Relevancia: media Más info: http://www.gartner.com/research/spotlight/asset_111389_895.jsp
Visibilidad vs. madurez de las tecnologías relacionadas con SOA Fuente: Gartner Group
SOMA: Service Oriented Modeling and Architecture Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Modelaje necesario para diseñar y crear una arquitectura SOA. Relevancia: baja Más info: http://xml.coverpages.org/IBM-SOMA.html
EDA: Event Driven Architecture Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: aproximación para el diseño, construcción e integración de SIs. Su foco es el manejo de eventos complejos del negocio Relevancia: media/alta
BPM : Business Process Management Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Se refiere a las actividades que la empresa tiene que realizar para llevar a cabo sus procesos de negocio; usualmente se automatiza el proceso con software. Relevancia: media/alta Más info: http://www.serviceoriented.org
CORBA: Common Object Request Broker Architecture Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Creado por el Object Management Group (OMG). Define define APIs, protocolo de comunicación, y modelos de información object/service para permitir la interoperabilidad entre aplicaciones heterogéneas. CORBA permite compartir objetos a lo largo de una plataforma de computación distribuida. Relevancia: baja/media Más info: http://www.omg.org
MOM: Message Oriented Middleware Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Tipo de herramientas que proveen comunicación asincrónica transaccional, basado en mensajes utilizando un esquemas de comunicación store-and-forward. Ej: JMS. Relevancia: media/alta Más info: http://www.sonicsoftware.com
ESB: Enterprise Service Bus Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Arquitectura para integración de sistemas de Información, basada en un broker de Servicios que puede escalar más allá de los límites de un broker EAI hub-and-spoke. Combina mensajería, web services, data transformation, y enrutamiento inteligente para garantizar coordinación y conectividad confiable entre diferentes apicaciones. Relevancia: alta Más info: http://www.sonicsoftware.com
BPEL4WS: Business Process Execution Language for Web Services Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: dialecto XML que permite especificar la manera en que se debe llevar a cabo ejecución de procesos de negocio de largo o corto tiempo de ejecución. Generado a partir de WSFL y Xlang estándares de IBM y Microsoft respectivamente. Es utilizada principalmente en productos ESB y BPM. Relevancia: alta
WS-BPEL: Web Services Business Process Execution Language Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Recomendación oficial de Organization for the Advancement of Structured Information Standards (OASIS) como lenguaje para ejecución de procesos de negocio. WS-BPEL 2.0. es el sucesor de BPEL4WS1.1; tiene algunas características diferentes e incompatibles con su antecesor. Relevancia: alta Más info: http://www.oasis-open.org
SAML: Security Assertion Markup Language Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Framework desarrollado por OASIS, basado en XML para intercambiar información de seguridad. Relevancia: media Más info: http://www.oasis-open.org
EII: Enterprise Information Integration Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Proceso, que usando métodos de abstracción de datos, se enfoca en solucionar los problemas derivados de la heterogeneidad y contextualización de los sistemas de información. Uniformar la representación y el acceso a los datos es su objetivo principal. Relevancia: media/alta
eTOM: enhanced Telecom Operations Map Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Estándar ampliamente usado y aceptado para definir procesos de negocio en la industria de las telecomunicaciones. Relevancia: alta Más info: http://www.tmforum.org/browse.asp?catID=1647
IFX: Interactive Financial eXchange Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Framework XML para intercambio electrónico business-to-business entre instituciones financieras. Define un protocolo de mensajes XML para realizar este intercambio. Relevancia: media/alta Más info: http://www.ifxforum.org/
XBRL: Extensible Business Reporting Languaje Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Dialecto XML para reportes financieros. Provee un método estándar para preparar y publicar en diferentes formatos reportes de estados financieros. Relevancia: media/alta Más info: http://www.tmforum.org/browse.asp?catID=1647
OFX: Open Financial Exchange Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: OFX es una especificación para intercambio electrónico de datos entre instituciones financieras vía Internet. Creada por CheckFree, Intuit y Microsoft en 1997. Relevancia: baja Más info: http://www.ofx.net
HL7: Health Level Seven Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Estándar internacional para intercambio de datos entre los diferentes actores del sector salud. Para el caso colombiano podríamos decir que los actores son las IPS, EPS, Minprotección, Secretarías de salúd, etc. Relevancia: alta Más info: http://www.hl7.org
ebXML: Electronic Business eXtensible Markup Language Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: conjunto de especificaciones que permiten a las empresas llevar a cabo negocios electrónicos vía Internet. ebXML, provee un método estándar de intercambio de mensajes de negocios. Creado por OASIS y UN/CEFACT. Relevancia: media/baja Más info: http://www.ebxml.org/
Accord Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Dialecto XML para la industria de Seguros. Permite a los agentes obtener información de los clientes, enviarla a los aseguradores y recibir como respuesta cotizaciones. Relevancia: media
ITIL: Information Technology Infrastructure Library Arquitectura de Procesos de Negocio Arquitectura de datos Arquitectura interfaces/ Integración Arquitectura tecnológica Definición: Marco de referencia de las mejores prácticas que propenden por la calidad de los servicios computacionales de TI. ITIL se ocupa de dar lineamientos en cuanto estructura organizacional y perfiles necesarios para una organización de TI, presentando un completo conjunto de procedimientos para manejo de operaciones de TI. Desarrollado por la Office of Government Commerce (OGC) of UK Relevancia: media Más info: http://www.itilcommunity.com/
El camino es “largo y culebrero”
¿ Preguntas ?