Unidad Iii

  • Uploaded by: luchito_262
  • 0
  • 0
  • February 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Unidad Iii as PDF for free.

More details

  • Words: 6,610
  • Pages: 30
Loading documents preview...
Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

Tercera Unidad: Arquitecturas Distribuidas Empresariales Sumario La siguiente unidad presenta las arquitecturas distribuidas que las organizaciones están seleccionando para la integración de sus procesos y aplicaciones, además se describen y caracterizan los ERP, se realiza una comparación con el software de gestión y se describe brevemente sobre las principales soluciones de ERP Libres basadas en Software Libre. Luego se define y explica la Gestión de Procesos de Negocios (BPM), sus componentes, tecnologías, estándares que utiliza, su lenguaje XPDL para la definición de procesos, su notación BPMN y se describe la herramienta Intalio Designer y Server como solución BPMS para alinear la tecnologías y los procesos de negocios. Al final de esta unidad se presenta la Arquitectura Orientada a Servicios como una alternativa para integrar procesos y sistemas informáticos en las organizaciones, además se hace una descripción del Enterprise Service Bus (ESB) y la relación de SOA y BPM.

85

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

Objetivos Al finalizar esta unidad el estudiante será capaz de: •

Conceptuar, describir y caracterizar las soluciones ERP.



Comprender y diferenciar las soluciones ERP y BPM en las organizaciones.



Comprender, analizar y evaluar las diferentes alternativas y soluciones de ERP y BPMS basadas en Software Libre.



Entender las arquitecturas ERP, BPM y SOA además de describir sus componentes que lo integran.



Conocer y experimentar con una solución ERP de Software Libre para la integración de procesos empresariales.



Conocer una herramienta BPMS que permita modelar, diagramar, ejecutar, monitorear y mejorar procesos de negocios.

86

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

Lección 7: ERP 7.1 ¿Qué es un ERP? "Definimos el ERP (Enterprise Resource Planning o Sistema de Planificación de Recursos Empresariales) como un sistema de planificación de los recursos y de gestión de la información que, de una forma estructurada, satisface la demanda de necesidades de la gestión empresarial." (Muñiz, 2000, p.27), Este tipo de sistemas empresariales son arquitecturas de software distribuido que integra la información de distintas funciones de la empresa, tienen gran capacidad de adaptación, modularidad, universalidad con otro tipo de software. "..., un gran sistema de información utilizado para integrar las actividades de todas las unidades de una compañía. Esta apoyando por una gran base de datos a través de la cual todos comparten la misma información cuando ocurre una transacción". (Griffin y Ronald, 2005, p.160).

Figura 7.1: Integración de procesos con un ERP Fuente: Adaptación propia

7.2 Objetivos de un ERP Con este tipo de herramientas los negocios esperan: - Mejorar su productividad

87

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

- Mejorar la calidad en los servicios con sus proveedores y clientes - Mejorar el nivel de servicio con los clientes internos y externos - Reducir los costes de integración Además permiten: - Optimizar e integrar los procesos - Ayudar a gestionar y toma de decisiones - Acceder a información de forma precisa en la fuente de datos - Compartir información entre las diferentes áreas - Converger e integrar en una sola base de datos - Reducir los tiempos en los procesos involucrados con los proveedores y clientes. 7.3 Características Son muchas las razones por las cuales se debe elegir una solución para integrar procesos, aquí se muestra las características técnicas más importantes: - Simulación de la realidad - Bases de datos centralizadas - Los datos se añaden una sola vez - Da soporte a las funciones básicas del sistema - Interaccionabilidad - Integrabilidad - Flexibilidad - Modularidad - Adaptabilidad - Comprensivo 7.4 Módulos básicos de un ERP Algunos ERPs poseen una gran cantidad de módulos y paquetes pero en la mayoría coincide estos módulos básicos: - SCM (Módulo para la gestión de cadena de suministros) - MPR (Módulo para la gestión del proceso de producción) - CRM (Módulo para la fidelización de los clientes) - Ventas (Módulo para la gestión de puntos de venta del negocio- CRM (Procesos de Negocio) 7.5 Implantación de un ERP en un Negocio Existen diferentes esquemas para implementar y poner en marcha este tipo de sistemas, a continuación presentamos este modelo desarrollado en fases: Fase I: Análisis y diseño: - Define el proyecto - Definición de requisitos

88

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

- Identificar diferentes soluciones ERP - Elegir la solución eficiente de acuerdo con las características técnicas, operativas y económicas Fase II: De desarrollo de la solución - Desarrollo de adaptaciones de los módulos o componentes - Instalación y Configuración del ERP en el negocio - Conversión de datos e integración con los módulos del ERP Fase III: De implementación - Capacitación y formación de los módulos para los usuarios - Puesta en explotación de módulos del ERP 7.6 Factores críticos de éxito Para que este tipo de software distribuido tenga un gran éxito es necesario que: - La gerencia general tiene que liderar la implantación - Los usuarios deben estar adecuadamente capacitados - La organización debe tener definido su arquitectura de negocios integrada con su arquitectura tecnológica - La organización debe definir claramente los objetivos frente a este tipo de sistemas de información - Definir e identifiquen los recursos técnicos - Elegir el correcto ERP en función de las necesidades y adaptación al negocio - Evaluar y analizar los requisitos, requerimientos y necesidades de la organización. 7.7 Factores críticos para el fracaso Aquí algunos factores que determinan el fracaso en la puesta en marcha e implementación de los ERPs en los negocios: - La alta gerencia no entiende las prestaciones que ofrece este tipo de sistemas - No entiende las necesidades y requerimientos de los sistemas actuales - Carencia de comunicación y cooperación - Relación poco fluida con los responsables de su implementación - Usuarios mal capacitados - Proyecto de implementación no controlado

7.8 Ventajas de los ERP Existe una lista por las cuales se elige el software ERP, entre las que podemos citar: - Seguimiento de los procesos de la organización de manera efectiva - Reducir los costes de integración - Mejorar el servicio al cliente y los proveedores - Mejorar la comunicación entre las diferentes áreas o unidades de negocio

89

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

- Integra los procesos de negocios de una organización - Capacidad para racionalizar procesos y flujos de trabajo. - Capacidad para compartir datos a través de las áreas de los departamentos. - Mejoran la eficiencia continua.

7.9 Comparativa ERP versus Software de gestión Existes muchas diferencias entre un ERP y un Software de Gestión el cual describimos a continuación: ERP

Software de Gestión

Aplicación desarrolladas, Costes de implantación elevados. estandarizadas, existentes y con costes fijos de implantación.

Documentación para los usuarios ya Manuales y desarrollados. personalizada.

documentación

Mantenimiento y desarrollo de los Mantenimiento y desarrollo depende módulos lo ofrecen diferentes solo de la empresa desarrolladora del empresas. software de gestión.

Un modelo estándar respecto a su El análisis y diseño depende de los diseño y programación. requerimientos de los negocios, hecho a medida.

Modelo adaptado para necesidades de los usuarios

las Su desarrollo depende de necesidades del negocio y usuarios.

las sus

Integrado y puede interoperar con Hay que preparar su integración con otros sistemas externos otros sistemas y desarrollar un módulo para interoperar con otros software

90

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

7.10 ERP basados en tecnología de Software Libre Existen una gran cantidad de productos ERP en el mercado entre software libre, software ERP por suscripción y software ERP propietario, aquí algunos productos basados en Software Libre y Open Source: Adempiere: Es un proyecto desarrollado por la comunidad de software libre, posee módulos para la gestión de relación con los clientes (CRM) y administración de la cadena de suministro (SCM). Basado originalmente en Compiere, es un ERP desarrollado con tecnología Java y completamente libre bajo la licencia GPLv2 y trabaja con base de datos PostgreSQL. Tiene un soporte comunitario y comercial. (http://www.adempiere.com) AbanQ: Es un ERP desarrollado modularmente están disponible para plataformas GNU/Linux, Windows y MAC OS. Posee módulos integrados para facturación, gestión de almacenes, gestión de tesorería, contabilidad financiera, control de producción (MRP) y además tiene soporte completo para códigos de barras. Esta trabajando bajo licencia GPL y orientado a pequeñas empresas. (http://www.infosial.com/) Compiere: Es un ERP de software libre destinada para las empresas de pequeño y mediano tamaño. Compiere está desarrollado bajo la licencia pública Compiere (CPL). Es una solución desarrollada en el lenguaje de programación Java, trabaja con la base de datos Oracle y con un servidor de aplicaciones JBoss. (http://www.compiere.com) OasisERP: Es un ERP orientado para las pymes basado íntegramente en herramientas de software libre, trabaja bajo la licencia pública GPL. Desarrollado con los lenguajes de programación PHP y GTK y trabaja con la base de datos PostgreSQL. (http://www.oasis-clm.es/) Openbravo: Desarrollado como software libre y basado íntegramente en entorno web. Basado en una versión antigua de Compiere. Dispone de soporte para bases de datos PostgreSQL y Oracle. Se encuentra disponible en español y actualmente se preparan localizaciones en varios otros idiomas, licenciado bajo Openbravo Public License Version 1.1. (http://www.openbravo.com) OpenERP: Este ERP esta basado íntegramente desarrollado en Python, PyGTK y trabaja con la base de datos PostgreSQL. Posee módulos para CRM, contabilidad, gestión de compras, gestión de almacenes, inventario, gestión de ventas y módulos para configurar puntos de venta. Actualmente esta bajo la licencia pública General GPL y es libre su descarga. OpenERP está orientado al uso de las pequeñas y medias empresas internamente usa un modelo de flujos de trabajo desarrollado con arquitectura en tres capas. (http://www.openerp.com) openXpertya: Es un ERP es otra solución ERP liberada con Licencia Pública de openXpertya, esta integrado con módulos CRM, servicios B2B o B2C, además incluye módulos para la gestión de proyectos, marketing y puntos de venta. El sistema ha sido desarrollado íntegramente en la plataforma J2EE y el

91

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

código fuente de openXpertya (http://www.openxpertya.org)

Daniel Yucra Sotomayor

se

puede

descargar

libremente.

Xendra: Este ERP liberado bajo la licencia pública general (GPL) por lo tanto también es software libre, actualmente esta disponible para sistemas operativos de windows, adaptado a la legislación y el mercado peruano. Ofrece una gran cantidad de módulos funcionales desde CRM, SCM, contabilidad, entre otros. Trabaja con el servidor de aplicaciones Jboos y base de datos PostgreSQL. (http://www.xendra.org)

Lección 8: BPM 8.1 Procesos de Negocio Es un conjunto de actividades relacionadas dentro de una organización que tienen como objetivo conseguir un determinado resultado. "...son los procesos utilizados en los negocios para lograr algún objetivo del negocio. Un ejemplo de un proceso de negocios es una compañía de seguros sería emitir una política de seguros; en una fabrica, un proceso de negocios sería aceptar un pedido para los productos y estipular el proceso de fabricación asociado. Los procesos de negocio pueden ser diseñados alrededor de un sistema heredado y restringidos por la funcionalidad que éste proporciona" (Sommerville, 2006, p. 36) Los procesos de negocios son una secuencia de actividades que tiene entradas predeterminadas y producen salidas ó resultados, además generan valor para un cliente. “Ordenación lógicamente interrelacionada de tareas desarrolladas en tiempo y espacio (con comienzo y fin, con entradas y salidas definidas) y que se orienta al logro de un objetivo de negocio, generando un output de valor (total o parcial) para el cliente del proceso” (Davenport y Short, 1990). Esta colección organizada de comportamientos de negocio satisfacen los propósitos del negocio, actuando conforme a las reglas de negocio de la organización. 8.2 ¿Qué es BPM? La gestión de procesos de negocio ha dado origen a una nueva etapa en la gestión de procesos denominada Business Process Management (BPM). “BPM (Business Process Management) ó Gestión de Procesos de Negocios es un conjunto de métodos, herramientas y tecnologías utilizados para diseñar, representar, analizar y controlar los procesos de negocio de una organización” (Garimella, Lees y Williams, 2008, p. 5).

92

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

Tiene un enfoque centrado en los procesos para mejorar el rendimiento de los procesos de negocio, abarca sistemas, funciones, negocios, proveedores y clientes. "BPM es una tecnología que soporta todo el proceso de gestión y desarrollo de negocio de una organización. En este contexto, se entiende que un proceso de negocio consiste en una secuencia de actividades a realizar y los ejecutores de dichas actividades, que definen los flujos de trabajo y de conocimiento. BPM permite la representación explícita de la lógica de los procesos de negocio de forma orientada al proceso, y se utiliza cada vez más como una solución que integra los procesos de fabricación e ingeniería" (Reza-Balay, 2010, p. 62). Combina la gestión de procesos conjuntamente con tecnologías de información para modelar, diseñar, automatizar, ejecutar y monitorear procesos de negocio. "El corazón de una plataforma BPM es el motor de ejecución de procesos al ofrecer mecanismos de control transaccional para ejecutar procesos de negocio de principio a fin, estos motores pueden usarse para gestionar actividades internet y complejos procesos B2B" (Munilla y García, 2003, p. 114) Permite integrar con otras tecnologías como SOA, ERP, Web Services, sistemas heredados y aplicaciones de Comercio Electrónico. “Es la disciplina de modelar, automatizar, manejar y optimizar procesos para incrementar la rentabilidad de un negocio. En esta óptica, el objetivo de la gestión de procesos esta concentrada en el aumento de la rentabilidad” (Khan 2003). Podemos entender BPM como el mejoramiento continuo de la gestión de los procesos de negocio de una organización, de una manera integral, colaborativa con el uso de la tecnología en este sentido BPM permite la alineación de los procesos, tecnologías con los objetivos y visión del negocio.

8.3 BPM en las Organizaciones Los siguientes son beneficios identificados en la aplicación de soluciones BPM: • • • • • •

Mejor y mayor flexibilidad para la adaptación y cambio de procesos. Integración de la información del negocio dispersa en diferentes aplicaciones y sistemas. Permite adquirir habilidad para diseñar, simular, implementar, poner en marcha y supervisar procesos de manera automática. Permite organizar la organización de una manera planeada y alineada a la visión y objetivos del negocio. Visibilidad de los procesos de negocios en las organizaciones Reducir posible costos de integración y mantenimiento al adoptar tecnología preparadas para abordar el cambio.

93

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

8.4 Tecnologías de Información para BPM En la actualidad existen empresas de la industria del software que están proporcionando las tecnologías que permiten la implementación y adopción de los procesos de negocios utilizando BPM, que constituye una nueva categoría de sistemas de información denominada Business Process Management System (BPMS). El modelo planteado de este tipo de herramientas implica un ciclo de vida basada en la figura

Figura 8.1: Arquitectura de trabajo de los Business Process Management Systems (BPMS) Fuente: Adaptado de Howard, S,. & Fingar, P. (2003) Business Process Management: the third wave. Este tipo de sistemas permiten definir, modelar, implementar y mejorar el proceso durante su operación. Los sistemas BPMS tiene una gran capacidad de: modelar, simular, integrar, automatizar y desplegar procesos de negocios. Todo ello integrado en un único entorno que realiza todas las funciones de la tecnología BPM. Podemos citar diferentes Suites BPMS propietarios y basadas en software libre: - Oracle SOA Suite - IBM BPMS - Bizagi BPMS - Aural Portal - BEA AquaLogic BPMS - Process Maker - Intalio BPMS - BonitaSoft 8.5 Componentes Típicos de un BPMS Los componentes mínimos que trabajan este tipo de tecnologías son: 94

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

Modelado de Procesos - Diseño gráfico de los procesos de negocio - Sin necesidad de conocimientos técnicos Motor de Orquestación - Toma modelos de un repositorio de procesos - Gestiona y controla el estado de cada una de las instancias de las diferentes tareas - Gestiona el estado de los procesos - Ofrece mecanismos de recuperación y reanudación de procesos ya automatizados Monitorización y Análisis - Analiza en tiempo real los datos de la ejecución de los procesos ya automatizados - Ofrece indicadores de gestión y cuadros de mando - Identifica problemas con cuellos de botella y fallos del proceso Simulación y Optimización - Ejecución de los procesos en ambientes no reales y con datos reales - Soporte para metodologías de optimización Motor de Reglas - Define las reglas de negocio asociadas a condiciones basadas en parámetros - Integrado en el motor BPM Servidor de Integración - Implementa la interfaz del proceso de negocio. - Ofrece conectores, mensajería, reglas de transformación y enrutamiento. 8.6 Estándar BMPN para Modelar Procesos de Negocio The Business Process Management Initiative (BPMI), desarrolló una notación para modelos de los procesos de negocios denominado Business Process Modeling Notation (BPMN) cuyo objetivo es proveer una notación que sea entendida por todos los usuarios técnicos o no técnicos y pueda ser visualmente expresado por una notación común.

Figura 8.2: Notación BPMN Fuente: Layna Fischer (2010) BPMN 2.0 Handbook

95

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

8.7 Lenguaje para la definición de procesos Existe el formato XPDL (XML Process Definition Language), un lenguaje para la definición de un Flujo de trabajo (WorkFlow), creado por la organización WfMC, actualmente en una versión 2.0. XPDL forma parte de la interfaz para definir los procesos de negocios basados en XML que puede ser usado para intercambiar modelos de procesos de negocio entre distintas BPMS. XPDL es el formato de archivo que representa el “dibujo” o “modelo del proceso de negocios”, utilizado para la automatización de los procesos.

Figura 8.3: Representación del proceso con BPMN

Figura 8.4: Código generado en XPDL

96

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

8.8 Intalio BPMS Es un Suite de BPM para modelar, automatizar y poner en marcha procesos de negocios, desarrollado en Java y es software libre (utilización gratuita). Contiene las componentes típicos de una suite BPMS, actualmente se cuenta con una versión Intalio|Works Community y una solución de Intalio |Works Enterprise Edition, el cual incluye módulos empresariales que le dan un valor añadido al producto. 8.8.1 Intalio Designer La herramienta Intalio Designer, permite modelar y parametrizar los procesos con notación BPMN además de la notación extendida Ofrece un conjunto de “conectores” a diversos sistemas, como bases de datos, Servicios web y funcionalidades SOA. Permite integración y despliegue de los procesos con Intalio Server a través de su entorno de desarrollo. Además es una herramienta que permite la transformación automática de la notación BPMN a BPEL más el Workflow.

Figura 8.5: Intalio diseñador de procesos

97

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

8.8.2 Intalio Server Permite la ejecución de los procesos creados con Intalio Designer, esta basado en J2EE y una arquitectura SOA del tipo Axis 2. Integra dos componentes de Software Libre interconectados (Apache ODE: Motor de BPEL 2.0 e Intalio Tempo: Motor de Workflow con soporte tareas humanas). Ofrece 2 interfaces visuales a nivel administrador y usuarios finales de los procesos. Permite publicar los procesos de negocio como Servicios Web y llamarlos con servicios web externos.

Figura 8.6: El motor de procesos Intalio Server

Lección 9: SOA 9.1 Concepto de Servicio Se puede considerar como un "contrato" en el cual se hacen las prestaciones que se entregaran al usuario.

98

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

"Los servicios son funcionalidades específicas que pueden ser descubiertas y describen tanto lo que puede hacer como el modelo de interactuar con él" (W3C, 2004)

Por ejemplo: Devolver los datos personales de un cliente ó comunicar a cada cliente de la empresa una nueva promoción comercial. 9.2 ¿Qué es SOA? "Una aplicación SOA es una colección de servicios, un servicio es la unidad atómica de una SOA, los servicios encapsulan procesos de negocios, los proveedores de servicios se registran solos, un servicio involucra: Find, Bind, Execute y las instancias más conocidas son los web services" (Brooks, 2008). La arquitectura orientada a servicios (SOA), es un marco de trabajo conceptual que permite a las organizaciones unir los objetivos de negocio con la infraestructura de TI integrando los datos y la lógica de negocio de sus sistemas separados. "Permite la creación de sistemas altamente escalables que reflejan el negocio de la organización, brinda una forma estándar de exposición e invocación de servicios (comúnmente pero no exclusivamente con web services), lo cual facilita la interacción entre diferentes sistemas propios o de terceros" (Bieberstein, 2003). Con SOA, una empresa puede mantener sus inversiones en los sistemas heredados y a la gente necesaria para mantenerlos, es una solución prometedora para los problemas de integración de sistemas de información y aplicaciones. Esta propuesta SOA implica, descomponer la lógica de negocio de una organización en partes más pequeñas. Donde cada una de ellas contiene su propia unidad lógica. SOA es un enfoque para diseñar y desarrollar soluciones de negocio, a partir de componentes independientes que exponen funciones como servicios accesibles por otros componentes a través de interfaces estándares. SOA permite alinear las capacidades de TI con los objetivos de negocio y visión del negocio, donde provee una infraestructura técnica para responder a los cambios de requerimientos del negocio. A continuación la tabla 9.1, donde describe las diferencias sobre las diferentes tecnologías distribuidas y su comparación con SOA.

99

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

Tabla 9.1 Tabla comparativa de las características de las soluciones distribuidas Características

SOA

DCOM

CORBA

RMI

Protocolo

SOAP

RPC

IIOP

IIOP o JRMP

NDR

CDR

Java Serialization Format

Descubrimiento UDDI

Registry

Naming Service

RMI Registry o JNDI

Descripción

WSDL

IDL

OMG IDL

Java

Enfocado

Integración de Procesos de Negocio

Componente Objetos Invocación de s distribuidos Distribuidos Métodos Remotos

Formato mensaje

de XML

9.2.1 SOA en las empresas y organizaciones Para la industria del software SOA es considerada la solución para la integración de datos, aplicaciones y procesos, donde interoperan sistemas de manera independiente a la tecnología y plataforma. “SOA es la próxima ola de desarrollo de aplicaciones. Es más rápida, mejor y más barata” (Pallos, 2001, p.350) Algunos gobiernos para la implementación de aplicaciones de gobierno electrónico han considerado viable implementar este tipo de soluciones. En el caso peruano SUNAT, Aduanas, Reniec han comenzado a implementar web services y el siguiente paso será la integración de sus sistemas utilizando un SOA gubernamental. “Recomiendan a los arquitectos de tecnologías de información considerar SOA como la prioridad número uno en sus esfuerzos de planeamiento arquitectónico” (Giga IT Trendsm, 2003: Application architecture and design).

100

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

9.3 Comparación con otros enfoques de desarrollo Existen diferencias concretas entre el modelo de servicios con otras soluciones distribuidas, tal como se presenta en la siguiente tabla: Tabla 9.2 Tabla comparativa con otros enfoques de desarrollo Fuente: Mitchell, K. (2002) A matter of style: Web Services architectural patterns. XML Conference & Exposition, Baltimore Relacion entre Proveedor y Consumidor Granularidad

Programación Estructurada Muy fina

Programación Orientada a Objetos Fina

Programación por Componentes Intermedia

Desarrollo Orientado a Servicios Gruesa

Contrato

Definido

Privado/Publico

Publico

Publicado

Reusabilidad

Baja

Baja

Intermedia

Alta

Acoplamiento

Fuerte

Fuerte

Débil

Muy débil

Dependencias

Tiempo de Compilación

Tiempo de Compilación

Tiempo de Compilación

Tiempo de Ejecución

Ámbito de Comunicación

Intra-Aplicación

IntraAplicación

InterAplicaciones

Inter-Empresas

9.4 Enterprise Service Bus (ESB) Enterprise Service Bus (ESB) ó Bus de servicios de empresa (BSE) consiste en un combinado de arquitectura de software que proporciona servicios fundamentales para arquitecturas complejas a través de un sistema de mensajes (el bus) basado en las normas y que responde a eventos. El uso de la palabra "bus" viene del bus que transporta los bits entre los distintos dispositivos de un ordenador. “Software de infraestructura que posibilita el acceso a los servicios de negocio reutilizables por parte de usuarios, aplicaciones, procesos de negocio, y otros servicios […]. Infraestructura software que posibilita SOA, al actuar como una capa de middleware de intermediación a través del cual se puede acceder a un conjunto de servicios de negocio reutilizables” (Vollmer y Gilpin, 2006) “Infraestructura middleware que soporta web services y aporta comunicación de valor añadido entre programas, y mediación para componentes de negocio orientados a servicios y guiados por eventos” (Schulte, 2005).

101

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

Figura 9.1 Integración de sistemas con ESB en una Arquitectura Orientada a Servicios Fuente: Adaptado de Microsoft (2007) A high-level example of the connectivity provided the Enterprise Service Bus architecture

9.5 SOA y BPM La adopción de SOA y BPM están muy relacionadas. Un reciente estudio de Forrester (2009) mostró que el 92% de los encuestados que estaban implantando SOA también consideraban BPM importante para el futuro de su organización. La generación actual de los productos de gestión de BPM están centrados en funcionalidades SOA. Los últimos años los líderes de BPM han transformado el mercado en soluciones basado en SOA y tecnología de integración basada en estándares. La próxima generación de soluciones de integración de sistemas y ejecución de procesos de negocio estará basada en arquitecturas orientadas a servicios. SOA permitiendo de esta manera maximizar el rendimiento de las inversiones en TI.

102

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

BPM y SOA van juntos, además ambos permiten optimizar los procesos de negocio con más flexibilidad y rapidez. Ambos convergen y permiten el alineamiento del área de negocio con área de Tecnologías de Información.

103

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

RESUMEN La unidad desarrollada nos proporciona las principales arquitectura distribuidas empresariales como son los ERPs, soluciones basadas en la gestión de procesos (BPM) y la Arquitectura Orientada a Servicios. Se describen y detallan los objetivos, características y módulos que ofrecen los sistemas de planificación de recursos empresariales (ERP), además se especifica su implementación, factores críticos para el éxito y fracaso, además de una comparación de las principales ERP basadas en software libre. Luego se definen y se describe la Gestión de Procesos de Negocios (BPM), desde un enfoque de gestión y tecnológico además de describir sus componentes, la notación BPMN y el lenguaje para la definición de procesos (XPDL). Se finaliza esta lección describiendo Intalio Designer e Intalio Server como solución BPMS para modelar, automatizar, ejecutar y mejorar procesos de negocio. Luego se describe y define la Arquitectura Orientada a Servicios (SOA) como una solución para integrar procesos de negocios, sistemas heredados, y componentes reutilizables del negocio. Luego se define Enterprise Service Bus (ESB), como el principal componente de las soluciones SOA que permite articular los servicios y vistos como web services para este tipo de soluciones.

104

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

L E CTURA SOI (Service Oriented Integration) * SOI o Servicio Orientado a la Integración es la forma de integrar servicios de una arquitectura SOA, ensamblándolos en pequeñas partes hasta alcanzar el máximo nivel de granularidad. Hace que la integración sea una tarea más sencilla al ensamblar componentes de bajo nivel. Los resultados son similares a los de las soluciones propietarias EAI: ambas pueden integrar aplicaciones y publicar servicios Web para que sean consumidos por otras aplicaciones, pero existen algunas diferencias. La tecnología SOI es complementaria a la tecnología MOM (Message Oriented Middleware) que utilizan las soluciones EAI, pero no la necesita para realizar la integración, lo que reduce los costes y la complejidad del proyecto. Cuando en un proyecto es necesario implantar tecnologías MOM (normalmente en grandes empresas) SOI puede reducir los costes de configuración en el punto donde los mensajes se convierten en lógica de aplicación o datos, con la tecnología EAI se puede alcanzar una infraestructura de mensajería escalable y multitud de conexiones con las aplicaciones, pero es en la “última milla” donde se hacen necesarios los adaptadores de aplicación y donde la precisión en su desarrollo eleva los costes. No sólo es más sencillo construir adaptadores con SOI sino que los es toda la metodología de integración en sí misma ya que separa el desarrollo de la lógica de integración del adaptador, donde sería necesario desarrollar código cliente, y lo lleva a un repositorio central donde resulta más sencillo trabajar con las API. Desde este repositorio se puede visualizar los distintos componentes de las aplicaciones de empresas y bases de datos para ser ensamblados en forma de servicios.

SOI utiliza adaptadores ligeros

105

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

Los servicios de aplicaciones están evolucionando. BEA, por ejemplo, ofrece nuevos servicios de integración, que incluyen BPM y B2Bi, los cuales se ejecutan en su servidor de aplicaciones ofreciendo servicios de runtime, como seguridad, escalabilidad, pool de conexiones, etc. IBM ha cambiado su estrategia de integración desde MQ Series a WebSphere y sigue una estrategia similar. Al mismo tiempo, la tecnología de los brokers de integración también evoluciona, y están adaptando los servicios web, incluso soportan programación Java, más adaptadores de aplicaciones, soluciones verticales para reducir tiempos de implantación. Mientras que los brokers de integración fueron utilizados para las aplicaciones críticas, los servidores de aplicaciones permitieron a las empresas desarrollar sus aplicaciones para la web. Un mercado como el de los brokers de integración, dominado por herramientas propietarias, no resulta operativo para los requerimientos actuales en cuanto a interoperabilidad del e-business. Aunque funcionara en las primeras etapas de una estrategia e-business con aplicaciones simples que tan solo necesitaban de un servidor de aplicaciones y una base de datos relacional, actualmente, y para beneficiarse del e-business colaborativo, los procesos de negocio de la empresa deben ser integrados con los procesos de sus socios, lo que requiere una plataforma de integración que conecte todas las aplicaciones que formen parte del sistema de información.

Estructura con brokers de integración •

Si una empresa ya ha invertido en un broker de integración capaz de gestionar sus procesos globales. lo lógico será conectarlo con un servidor de aplicaciones J2EE para la gestión de la seguridad y la capa de presentación.



Si no ha realizado esta inversión, puede utilizar un estándar comoJCA (desarrollado por Sun, IBM y BEA), que permiten al servidor acceder a

106

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

las aplicaciones de empresas de igual modo que JDBC lo hace con las bases de datos relacionales. Si la empresa quiere conectar su ERP con una aplicación específica que se ejecuta en el servidor de aplicaciones. Solo necesitara el conector JCA apropiado. El mercado camina hacia la integración basada en Internet y los servidores de aplicaciones parecen estar mejor posicionados. J2EE se ha convertido en un estándar en el mercado de los servidores web, mientras que JCA ofrece conexión estándar con múltiples sistemas de back-office. La combinación de integración web con aplicaciones existentes en la empresa ofrece el entorno imprescindible para consolidar una estrategia de e-business a nivel global. Las empresas deben basar cada vez más su tecnología en estándares para obtener ventajas, como: disponibilidad de recursos, capacidad de reacción, protección de la inversión, escalabilidad, independencia del vendedor, etc. Bien es verdad que todavía queda por resolver problemas como el soporte JCA para la comunicación asincrónica o que la portabilidad de complejos desarrollos EJB no es completa. Para conformar una plataforma de integración, se necesita estándares y herramientas, los servicios web representan un conjunto de estándares y gracias a la amplia adopción de éstos por la industria casi todas las herramientas y plataformas los soportan. Hoy existen herramientas de desarrollo, como VisualStudio.NET o Borland Jbuilder, o plataformas que soportan servicios web, como WebSphere, BEA WebLogic o los servidores.NET. También se pueden ampliar las herramientas creadas en la empresa empleando tecnologías abiertas, como Microsoft SOAP Toolkit o Apache SOAP. Las opciones son ilimitadas. Aparte de plataformas y herramientas, los fabricantes de soluciones empaquetadas anuncian soporte para los servicios web, lo que significa que se integrarán directamente con la plataforma de integración desarrollada con los servicios web sin código en el cliente, algo imposible con las plataformas propietarias. Los servicios web permiten construir una plataforma de integración basada en estándares en cualquier tipo de empresa. Con las herramientas actuales puede ser desarrollada incrementalmente, proyecto a proyecto, sin la necesidad de realizar una inversión inicial grande, empezando por utilizarlos en integración punto a punto y escalar hacia una plataforma completa.

* Fuente: (Valcárcel, I. y Munilla, 2003, pp. 97-100)

107

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

AUTOEVALUACIÓN 3 1. Un ERP permite: a. Planificar recursos tecnológicos b. Gestionar solo los clientes y proveedores c. Gestionar usuarios y recursos de los proveedores d. Gestionar la contabilidad, proveedores, clientes y procesos de negocio e. Gestionar la demanda tecnológica 2. Uno de los módulos no es parte de un ERP: a. Módulo de Compras b. Módulo de Recursos Humanos c. Módulo de CRM d. Módulo de ETL e. Módulo de Contabilidad 3. Uno de los factores críticos de éxito en la implementación de un ERP, no corresponde a. Gerencia lidera la implementación b. Se elige un correcto ERP c. Evaluar requisitos correctamente d. La organización tiene definido su arquitectura de negocios e. Carencia de Comunicación 4. Un software de gestión es: a. Un sistema de información estándar b. Un sistema de información con documentación ya desarrollado c. Un sistema de información utilizable para determinados negocios d. Un sistema integrado que puede interoperar con otros sistemas e. Un sistema de información desarrollado a medida 5. Openbravo es un ERP desarrollado con las siguientes tecnologías: a. Java + Oracle b. Java + Mysql c. php + Oracle d. Mysql + .Net

108

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

e. PosgreSQL + php 6. Openbravo es una implementación ERP basada en: a. Compire b. Xendra c. OpenERP d. AbanQ e. Adempiere 7. Con BPM las organizaciones pueden: a. Solo modelar procesos de negocios b. Diseñar, controlar procesos con el proveedor y sus socios c. Visualizar los procesos de negocios d. Solo diagramar procesos de negocios e. Aumentar los costos de integración y mantenimiento 8. Las herramientas de BPMS permiten a. Solo modelar procesos de negocios b. Solo automatizar procesos de negocios c. Definir, Modelar, Implementar y Mejorar procesos de negocios d. Solo monitorear procesos de negocios e. Identificar procesos de negocios 9. El lenguaje XML que permite definir los procesos de negocio se denomina: a. XSD b. XMLSchema c. DTD d. XPDL e. XMLNS 10. Una de las afirmaciones es incorrecta acerca de SOA: a. Integrar web services y aplicaciones b. Integrar datos, aplicaciones y procesos. c. Recomendado para alinear las tecnologías y el negocio

109

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

d. Un sistema distribuido cliente/servidor e. Un enfoque para diseñar y desarrollar soluciones de negocio

RESPUESTAS DE CONTROL 1. d 2. d

3. e

4. a

5. a

6. a

110

7. c

8. c

9. d

10. d

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

EJERCICIOS PROPUESTOS Caso ERP para la empresa FarmaPerú La cadena de farmacias FarmaPerú, ha decidido implementar una solución ERP para integrar sus procesos más importantes que tiene con sus proveedores y clientes, además conocen que la plataforma funcional es la muestra en la figura siguiente:

Plataforma OpenBravo ERP Se pide: a. Configurar, instalar, personalizar y poner en marcha el ERP en una plataforma GNU/Linux y personalizar los módulos de Gestión de Datos Maestros y Gestión de Contabilidad. b. Describir la arquitectura tecnológica del ERP c. Describir 10 funcionalidades técnicas del ERP OpenBravo d. Mencionar los requisitos técnicos para poner en marchar OpenBravo e. Personalizar el módulo para la gestión de ventas y puntos de venta f. Ingresar información al módulo de logística y gestionar los productos por categoría y cantidad en stock. g. Presentar informes y reportes en PDF sobre las ventas mensuales.

111

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

EXPLORACIÓN ON LINE •

URL:http://sisbib.unmsm.edu.pe/bibvirtualdata/publicaciones/risi/n3_2005/a0 4.pdf En este artículo del Sistema de Bibliotecas de la UNMSM implementación de un sistema ERP en una organización



describe la

URL: http://www.openbravo.com/es/product Sitio oficial del ERP OpenBravo en español donde muestra las funcionalidades, experiencias incluso un centro de demostración de esta solución ágil.



URL: www.openbravo.com/es/product Sitio oficial del ERP OpenBravo en español donde muestra las funcionalidades, experiencias incluso un centro de demostración de esta solución ágil.



URL: http://www.bpmi.org Sitio oficial de la organización estándar que define a BPM denominada Business Process Management Initiative



URL: http://wiki.bizagi.com/es/index.php?title=BPMN En este sitio se muestra y describe cada uno de los símbolos de la notación BPMN, fundamental para diseñar y modelar procesos de negocio, adaptado para el BPMS bizagi.



URL: http://www.oracle.com/lad/products/middleware/soa/index.html Sitio oficial de Oracle, donde describe su solución y productos para adoptar SOA en los negocios.



URL: http://www.estebanf.com/bpm/2009-08-26/intaliobpm-mas-alla-de-soa/ En este artículo se demuestra la relación BPM y SOA. Además se describe como la solución Intalio BPM necesita una arquitectura distribuida como SOA

112

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

REFERENCIA BIBLIOGRÁFICA Brooks, M.

(2008) Service Oriented Architecture and Grid Computing, Victoria RMIT University Australia

Bieberstein, N.

(2003) SOA Project Planning Aspects. SOA & WOA Magazine.

Davenport, T.H. & Short, J.E.

(1990). The New Industrial Engineering: Information Technology and Business Process Redesign, Sloan Management Review.

Fischer, L.

(2010) BPM and Workflow Handbook. City of Lighthouse Point: Future Strategies Inc.

Forrester Research

(2006) The Forrester IntegrationCentric Business Management Suites.

Garimella, K., Lees, M., y Williams, B. (2008) Introducción a Dummies. Wiley Publishing, Inc

Wave™: Process

BPM

para

Giga IT Trendsm

(2003) Application architecture and design. Giga Taps 10 Key IT Trends for 2003.

Griffin, R. y Ronald, E.

(2005) Negocios. D.F. Edición de México, S.A.

Howard, S,. & Fingar, P.

(2003) Business Process Management: the third wave

Khan, R.

(2003) Evaluating BPM Software, Business Integration Journa

Mitchell, K.

(2002) A matter of style: Web Services architectural patterns. XML Conference & Exposition, Baltimore.

Microsoft

(2007) A high-level example of the connectivity provided the Enterprise Service Bus architecture, Microsoft ESB Guidance for BizTalk Server 2006 R2. Publicado Noviembre del 2007. Obtenido 14 de Marzo del 2011. http://msdn.microsoft.com/enus/library/bb931189.aspx

Munilla, E. y García, I.

(2003) E-Bussiness Colaborativo. Editorial Confemetal

Muñiz, L.

(2000) ERP, guía práctica para la selección e implantación. Madrid: Ediciones Gestión 2000

Pallos, M.

(2001) WebShere Application Database Performance tuning

Reza-Balay

(2010) Hacia la excelencia.Alicante: Editorial Club Universitario

113

México:

Pearson

Madrid:

Server

&

Sistema a Distancia

Sistemas Distribuidos II - Unidad III

Daniel Yucra Sotomayor

Schulte, R.

(2005) Application Gartner Group.

Integration

and

WS,

Sommerville, I.

(2006) Ingeniería del Software 7ma edición. Madrid: Addison-Wesley

Valcárcel, I. y Munilla, E.

(2003) E-Business Colaborativo. Madrid: FC Editorial

Vollmer, K. & Gilpin, M.

(2006) Forrester Reseach

W3C

(2004) W3C Workshop on Constraints and Capabilities for Web Services. Publicado 12 y 13 de Octubre 2004. Obtenido 16 de Marzo del 2011, desde http://www.w3.org/2004/06/ws-cc-cfp.html

BIBLIOGRAFÍA COMENTADA -

Coulouris, G., Dollimore, J., & Kindberg, Tim (2007) Sistemas Distribuidos Conceptos y Proyecto 4ta. Madrid: Addison Wesley. Puede revisar la unidad 19, sobre los Web services y SOA.

-

Muñiz, L. (2000) ERP, guía practica para la selección e implantación. Madrid: Ediciones Gestión 2000. Se recomienda revisar los capítulos 1, 2 y 3 sobre las características, tareas y análisis de los módulos de los Sistemas de Planificación de Recursos Empresariales (ERP).

-

Krafzig, D., Banke, K. & Slama, D. (2005) Enterprise SOA, ServiceOriented Architecture: Best Practices. Se recomienda revisar el capítulos 4 sobre la arquitectura de Software de SOA, además del capítulo 7 sobre la relación SOA y Business Process Management (BPM).

114

Sistema a Distancia

Related Documents