Unidad III

download Unidad III

of 30

description

Unidad III

Transcript of Unidad III

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    85 Sistema a Distancia

    Tercera Unidad: Arquitecturas Distribuidas Empresariales

    Sumario La siguiente unidad presenta las arquitecturas distribuidas que las organizaciones estn seleccionando para la integracin de sus procesos y aplicaciones, adems se describen y caracterizan los ERP, se realiza una comparacin con el software de gestin y se describe brevemente sobre las principales soluciones de ERP Libres basadas en Software Libre. Luego se define y explica la Gestin de Procesos de Negocios (BPM), sus componentes, tecnologas, estndares que utiliza, su lenguaje XPDL para la definicin de procesos, su notacin BPMN y se describe la herramienta Intalio Designer y Server como solucin BPMS para alinear la tecnologas 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 informticos en las organizaciones, adems se hace una descripcin del Enterprise Service Bus (ESB) y la relacin de SOA y BPM.

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    86 Sistema a Distancia

    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 adems de describir sus

    componentes que lo integran. Conocer y experimentar con una solucin ERP de Software Libre para la

    integracin de procesos empresariales. Conocer una herramienta BPMS que permita modelar, diagramar,

    ejecutar, monitorear y mejorar procesos de negocios.

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    87 Sistema a Distancia

    Leccin 7: ERP

    7.1 Qu es un ERP?

    "Definimos el ERP (Enterprise Resource Planning o Sistema de Planificacin de Recursos Empresariales) como un sistema de planificacin de los recursos y de gestin de la informacin que, de una forma estructurada, satisface la demanda de necesidades de la gestin empresarial." (Muiz, 2000, p.27),

    Este tipo de sistemas empresariales son arquitecturas de software distribuido que integra la informacin de distintas funciones de la empresa, tienen gran capacidad de adaptacin, modularidad, universalidad con otro tipo de software.

    "..., un gran sistema de informacin utilizado para integrar las actividades de todas las unidades de una compaa. Esta apoyando por una gran base de datos a travs de la cual todos comparten la misma informacin cuando ocurre una transaccin". (Griffin y Ronald, 2005, p.160).

    Figura 7.1: Integracin de procesos con un ERP Fuente: Adaptacin propia

    7.2 Objetivos de un ERP

    Con este tipo de herramientas los negocios esperan: - Mejorar su productividad

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    88 Sistema a Distancia

    - 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 integracin

    Adems permiten:

    - Optimizar e integrar los procesos - Ayudar a gestionar y toma de decisiones - Acceder a informacin de forma precisa en la fuente de datos - Compartir informacin 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 Caractersticas

    Son muchas las razones por las cuales se debe elegir una solucin para integrar procesos, aqu se muestra las caractersticas tcnicas ms importantes:

    - Simulacin de la realidad - Bases de datos centralizadas - Los datos se aaden una sola vez - Da soporte a las funciones bsicas del sistema - Interaccionabilidad - Integrabilidad - Flexibilidad - Modularidad - Adaptabilidad - Comprensivo

    7.4 Mdulos bsicos de un ERP

    Algunos ERPs poseen una gran cantidad de mdulos y paquetes pero en la mayora coincide estos mdulos bsicos:

    - SCM (Mdulo para la gestin de cadena de suministros) - MPR (Mdulo para la gestin del proceso de produccin) - CRM (Mdulo para la fidelizacin de los clientes) - Ventas (Mdulo para la gestin de puntos de venta del negocio- CRM (Procesos de Negocio)

    7.5 Implantacin de un ERP en un Negocio

    Existen diferentes esquemas para implementar y poner en marcha este tipo de sistemas, a continuacin presentamos este modelo desarrollado en fases:

    Fase I: Anlisis y diseo: - Define el proyecto - Definicin de requisitos

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    89 Sistema a Distancia

    - Identificar diferentes soluciones ERP - Elegir la solucin eficiente de acuerdo con las caractersticas tcnicas, operativas y econmicas

    Fase II: De desarrollo de la solucin - Desarrollo de adaptaciones de los mdulos o componentes - Instalacin y Configuracin del ERP en el negocio - Conversin de datos e integracin con los mdulos del ERP

    Fase III: De implementacin - Capacitacin y formacin de los mdulos para los usuarios - Puesta en explotacin de mdulos del ERP

    7.6 Factores crticos de xito

    Para que este tipo de software distribuido tenga un gran xito es necesario que:

    - La gerencia general tiene que liderar la implantacin - Los usuarios deben estar adecuadamente capacitados - La organizacin debe tener definido su arquitectura de negocios integrada con su arquitectura tecnolgica - La organizacin debe definir claramente los objetivos frente a este tipo de sistemas de informacin - Definir e identifiquen los recursos tcnicos - Elegir el correcto ERP en funcin de las necesidades y adaptacin al negocio - Evaluar y analizar los requisitos, requerimientos y necesidades de la organizacin.

    7.7 Factores crticos para el fracaso

    Aqu algunos factores que determinan el fracaso en la puesta en marcha e implementacin 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 comunicacin y cooperacin - Relacin poco fluida con los responsables de su implementacin - Usuarios mal capacitados - Proyecto de implementacin 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 organizacin de manera efectiva - Reducir los costes de integracin - Mejorar el servicio al cliente y los proveedores - Mejorar la comunicacin entre las diferentes reas o unidades de negocio

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    90 Sistema a Distancia

    - Integra los procesos de negocios de una organizacin - Capacidad para racionalizar procesos y flujos de trabajo. - Capacidad para compartir datos a travs de las reas de los departamentos. - Mejoran la eficiencia continua.

    7.9 Comparativa ERP versus Software de gestin

    Existes muchas diferencias entre un ERP y un Software de Gestin el cual describimos a continuacin:

    ERP Software de Gestin

    Aplicacin desarrolladas, estandarizadas, existentes y con costes fijos de implantacin.

    Costes de implantacin elevados.

    Documentacin para los usuarios ya desarrollados.

    Manuales y documentacin personalizada.

    Mantenimiento y desarrollo de los mdulos lo ofrecen diferentes empresas.

    Mantenimiento y desarrollo depende solo de la empresa desarrolladora del software de gestin.

    Un modelo estndar respecto a su diseo y programacin.

    El anlisis y diseo depende de los requerimientos de los negocios, hecho a medida.

    Modelo adaptado para las necesidades de los usuarios

    Su desarrollo depende de las necesidades del negocio y sus usuarios.

    Integrado y puede interoperar con otros sistemas externos

    Hay que preparar su integracin con otros sistemas y desarrollar un mdulo para interoperar con otros software

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    91 Sistema a Distancia

    7.10 ERP basados en tecnologa de Software Libre Existen una gran cantidad de productos ERP en el mercado entre software libre, software ERP por suscripcin 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 mdulos para la gestin de relacin con los clientes (CRM) y administracin de la cadena de suministro (SCM). Basado originalmente en Compiere, es un ERP desarrollado con tecnologa 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 estn disponible para plataformas GNU/Linux, Windows y MAC OS. Posee mdulos integrados para facturacin, gestin de almacenes, gestin de tesorera, contabilidad financiera, control de produccin (MRP) y adems tiene soporte completo para cdigos de barras. Esta trabajando bajo licencia GPL y orientado a pequeas empresas. (http://www.infosial.com/)

    Compiere: Es un ERP de software libre destinada para las empresas de pequeo y mediano tamao. Compiere est desarrollado bajo la licencia pblica Compiere (CPL). Es una solucin desarrollada en el lenguaje de programacin 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 pblica GPL. Desarrollado con los lenguajes de programacin 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 versin antigua de Compiere. Dispone de soporte para bases de datos PostgreSQL y Oracle. Se encuentra disponible en espaol 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 mdulos para CRM, contabilidad, gestin de compras, gestin de almacenes, inventario, gestin de ventas y mdulos para configurar puntos de venta. Actualmente esta bajo la licencia pblica General GPL y es libre su descarga. OpenERP est orientado al uso de las pequeas 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 solucin ERP liberada con Licencia Pblica de openXpertya, esta integrado con mdulos CRM, servicios B2B o B2C, adems incluye mdulos para la gestin de proyectos, marketing y puntos de venta. El sistema ha sido desarrollado ntegramente en la plataforma J2EE y el

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    92 Sistema a Distancia

    cdigo fuente de openXpertya se puede descargar libremente. (http://www.openxpertya.org)

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

    Leccin 8: BPM 8.1 Procesos de Negocio

    Es un conjunto de actividades relacionadas dentro de una organizacin que tienen como objetivo conseguir un determinado resultado.

    "...son los procesos utilizados en los negocios para lograr algn objetivo del negocio. Un ejemplo de un proceso de negocios es una compaa de seguros sera emitir una poltica de seguros; en una fabrica, un proceso de negocios sera aceptar un pedido para los productos y estipular el proceso de fabricacin asociado. Los procesos de negocio pueden ser diseados 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, adems generan valor para un cliente.

    Ordenacin lgicamente 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 coleccin organizada de comportamientos de negocio satisfacen los propsitos del negocio, actuando conforme a las reglas de negocio de la organizacin.

    8.2 Qu es BPM?

    La gestin de procesos de negocio ha dado origen a una nueva etapa en la gestin de procesos denominada Business Process Management (BPM).

    BPM (Business Process Management) Gestin de Procesos de Negocios es un conjunto de mtodos, herramientas y tecnologas utilizados para disear, representar, analizar y controlar los procesos de negocio de una organizacin (Garimella, Lees y Williams, 2008, p. 5).

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    93 Sistema a Distancia

    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 tecnologa que soporta todo el proceso de gestin y desarrollo de negocio de una organizacin. 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 representacin explcita de la lgica de los procesos de negocio de forma orientada al proceso, y se utiliza cada vez ms como una solucin que integra los procesos de fabricacin e ingeniera" (Reza-Balay, 2010, p. 62).

    Combina la gestin de procesos conjuntamente con tecnologas de informacin para modelar, disear, automatizar, ejecutar y monitorear procesos de negocio.

    "El corazn de una plataforma BPM es el motor de ejecucin 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 Garca, 2003, p. 114)

    Permite integrar con otras tecnologas como SOA, ERP, Web Services, sistemas heredados y aplicaciones de Comercio Electrnico.

    Es la disciplina de modelar, automatizar, manejar y optimizar procesos para incrementar la rentabilidad de un negocio. En esta ptica, el objetivo de la gestin de procesos esta concentrada en el aumento de la rentabilidad (Khan 2003).

    Podemos entender BPM como el mejoramiento continuo de la gestin de los procesos de negocio de una organizacin, de una manera integral, colaborativa con el uso de la tecnologa en este sentido BPM permite la alineacin de los procesos, tecnologas con los objetivos y visin del negocio.

    8.3 BPM en las Organizaciones

    Los siguientes son beneficios identificados en la aplicacin de soluciones BPM:

    Mejor y mayor flexibilidad para la adaptacin y cambio de procesos. Integracin de la informacin del negocio dispersa en diferentes

    aplicaciones y sistemas. Permite adquirir habilidad para disear, simular, implementar, poner en

    marcha y supervisar procesos de manera automtica. Permite organizar la organizacin de una manera planeada y alineada a

    la visin y objetivos del negocio. Visibilidad de los procesos de negocios en las organizaciones Reducir posible costos de integracin y mantenimiento al adoptar

    tecnologa preparadas para abordar el cambio.

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    94 Sistema a Distancia

    8.4 Tecnologas de Informacin para BPM

    En la actualidad existen empresas de la industria del software que estn proporcionando las tecnologas que permiten la implementacin y adopcin de los procesos de negocios utilizando BPM, que constituye una nueva categora de sistemas de informacin 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 operacin. 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 tecnologa 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 Tpicos de un BPMS

    Los componentes mnimos que trabajan este tipo de tecnologas son:

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    95 Sistema a Distancia

    Modelado de Procesos - Diseo grfico de los procesos de negocio - Sin necesidad de conocimientos tcnicos

    Motor de Orquestacin - 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 recuperacin y reanudacin de procesos ya automatizados

    Monitorizacin y Anlisis - Analiza en tiempo real los datos de la ejecucin de los procesos ya automatizados - Ofrece indicadores de gestin y cuadros de mando - Identifica problemas con cuellos de botella y fallos del proceso

    Simulacin y Optimizacin - Ejecucin de los procesos en ambientes no reales y con datos reales - Soporte para metodologas de optimizacin

    Motor de Reglas - Define las reglas de negocio asociadas a condiciones basadas en parmetros - Integrado en el motor BPM

    Servidor de Integracin - Implementa la interfaz del proceso de negocio. - Ofrece conectores, mensajera, reglas de transformacin y enrutamiento.

    8.6 Estndar BMPN para Modelar Procesos de Negocio

    The Business Process Management Initiative (BPMI), desarroll una notacin para modelos de los procesos de negocios denominado Business Process Modeling Notation (BPMN) cuyo objetivo es proveer una notacin que sea entendida por todos los usuarios tcnicos o no tcnicos y pueda ser visualmente expresado por una notacin comn.

    Figura 8.2: Notacin BPMN Fuente: Layna Fischer (2010) BPMN 2.0 Handbook

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    96 Sistema a Distancia

    8.7 Lenguaje para la definicin de procesos

    Existe el formato XPDL (XML Process Definition Language), un lenguaje para la definicin de un Flujo de trabajo (WorkFlow), creado por la organizacin WfMC, actualmente en una versin 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 automatizacin de los procesos.

    Figura 8.3: Representacin del proceso con BPMN

    Figura 8.4: Cdigo generado en XPDL

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    97 Sistema a Distancia

    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 (utilizacin gratuita).

    Contiene las componentes tpicos de una suite BPMS, actualmente se cuenta con una versin Intalio|Works Community y una solucin de Intalio |Works Enterprise Edition, el cual incluye mdulos empresariales que le dan un valor aadido al producto.

    8.8.1 Intalio Designer

    La herramienta Intalio Designer, permite modelar y parametrizar los procesos con notacin BPMN adems de la notacin extendida

    Ofrece un conjunto de conectores a diversos sistemas, como bases de datos, Servicios web y funcionalidades SOA.

    Permite integracin y despliegue de los procesos con Intalio Server a travs de su entorno de desarrollo.

    Adems es una herramienta que permite la transformacin automtica de la notacin BPMN a BPEL ms el Workflow.

    Figura 8.5: Intalio diseador de procesos

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    98 Sistema a Distancia

    8.8.2 Intalio Server

    Permite la ejecucin 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

    Leccin 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.

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    99 Sistema a Distancia

    "Los servicios son funcionalidades especficas 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 promocin comercial.

    9.2 Qu es SOA?

    "Una aplicacin SOA es una coleccin de servicios, un servicio es la unidad atmica 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 ms 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 lgica de negocio de sus sistemas separados.

    "Permite la creacin de sistemas altamente escalables que reflejan el negocio de la organizacin, brinda una forma estndar de exposicin e invocacin de servicios (comnmente pero no exclusivamente con web services), lo cual facilita la interaccin 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 solucin prometedora para los problemas de integracin de sistemas de informacin y aplicaciones.

    Esta propuesta SOA implica, descomponer la lgica de negocio de una organizacin en partes ms pequeas. Donde cada una de ellas contiene su propia unidad lgica.

    SOA es un enfoque para disear y desarrollar soluciones de negocio, a partir de componentes independientes que exponen funciones como servicios accesibles por otros componentes a travs de interfaces estndares.

    SOA permite alinear las capacidades de TI con los objetivos de negocio y visin del negocio, donde provee una infraestructura tcnica para responder a los cambios de requerimientos del negocio.

    A continuacin la tabla 9.1, donde describe las diferencias sobre las diferentes tecnologas distribuidas y su comparacin con SOA.

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    100 Sistema a Distancia

    Tabla 9.1 Tabla comparativa de las caractersticas de las soluciones distribuidas

    Caractersticas

    SOA

    DCOM

    CORBA

    RMI

    Protocolo

    SOAP

    RPC

    IIOP

    IIOP o JRMP

    Formato de mensaje

    XML

    NDR

    CDR

    Java Serialization Format

    Descubrimiento

    UDDI

    Registry

    Naming Service

    RMI Registry o JNDI

    Descripcin

    WSDL

    IDL

    OMG IDL

    Java

    Enfocado

    Integracin de Procesos de Negocio

    Componentes distribuidos

    Objetos Distribuidos

    Invocacin de Mtodos Remotos

    9.2.1 SOA en las empresas y organizaciones

    Para la industria del software SOA es considerada la solucin para la integracin de datos, aplicaciones y procesos, donde interoperan sistemas de manera independiente a la tecnologa y plataforma.

    SOA es la prxima ola de desarrollo de aplicaciones. Es ms rpida, mejor y ms barata (Pallos, 2001, p.350)

    Algunos gobiernos para la implementacin de aplicaciones de gobierno electrnico 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 integracin de sus sistemas utilizando un SOA gubernamental.

    Recomiendan a los arquitectos de tecnologas de informacin considerar SOA como la prioridad nmero uno en sus esfuerzos de planeamiento arquitectnico (Giga IT Trendsm, 2003: Application architecture and design).

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    101 Sistema a Distancia

    9.3 Comparacin 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

    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 travs 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 intermediacin a travs 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 comunicacin de valor aadido entre programas, y mediacin para componentes de negocio orientados a servicios y guiados por eventos (Schulte, 2005).

    Relacion entre Proveedor y Consumidor

    Programacin Estructurada

    Programacin Orientada a

    Objetos Programacin

    por Componentes

    Desarrollo Orientado a

    Servicios Granularidad

    Muy fina

    Fina

    Intermedia

    Gruesa

    Contrato

    Definido

    Privado/Publico

    Publico

    Publicado

    Reusabilidad

    Baja

    Baja

    Intermedia

    Alta

    Acoplamiento

    Fuerte

    Fuerte

    Dbil

    Muy dbil

    Dependencias

    Tiempo de Compilacin

    Tiempo de Compilacin

    Tiempo de Compilacin

    Tiempo de Ejecucin

    mbito de Comunicacin

    Intra-Aplicacin

    Intra- Aplicacin

    Inter- Aplicaciones

    Inter-Empresas

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    102 Sistema a Distancia

    Figura 9.1 Integracin 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 adopcin de SOA y BPM estn muy relacionadas. Un reciente estudio de Forrester (2009) mostr que el 92% de los encuestados que estaban implantando SOA tambin consideraban BPM importante para el futuro de su organizacin.

    La generacin actual de los productos de gestin de BPM estn centrados en funcionalidades SOA. Los ltimos aos los lderes de BPM han transformado el mercado en soluciones basado en SOA y tecnologa de integracin basada en estndares.

    La prxima generacin de soluciones de integracin de sistemas y ejecucin de procesos de negocio estar basada en arquitecturas orientadas a servicios. SOA permitiendo de esta manera maximizar el rendimiento de las inversiones en TI.

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    103 Sistema a Distancia

    BPM y SOA van juntos, adems ambos permiten optimizar los procesos de negocio con ms flexibilidad y rapidez. Ambos convergen y permiten el alineamiento del rea de negocio con rea de Tecnologas de Informacin.

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    104 Sistema a Distancia

    RESUMEN

    La unidad desarrollada nos proporciona las principales arquitectura distribuidas empresariales como son los ERPs, soluciones basadas en la gestin de procesos (BPM) y la Arquitectura Orientada a Servicios.

    Se describen y detallan los objetivos, caractersticas y mdulos que ofrecen los sistemas de planificacin de recursos empresariales (ERP), adems se especifica su implementacin, factores crticos para el xito y fracaso, adems de una comparacin de las principales ERP basadas en software libre.

    Luego se definen y se describe la Gestin de Procesos de Negocios (BPM), desde un enfoque de gestin y tecnolgico adems de describir sus componentes, la notacin BPMN y el lenguaje para la definicin de procesos (XPDL). Se finaliza esta leccin describiendo Intalio Designer e Intalio Server como solucin BPMS para modelar, automatizar, ejecutar y mejorar procesos de negocio.

    Luego se describe y define la Arquitectura Orientada a Servicios (SOA) como una solucin 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.

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    105 Sistema a Distancia

    L E CTURA

    SOI (Service Oriented Integration) *

    SOI o Servicio Orientado a la Integracin es la forma de integrar servicios de una arquitectura SOA, ensamblndolos en pequeas partes hasta alcanzar el mximo nivel de granularidad. Hace que la integracin sea una tarea ms 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 tecnologa SOI es complementaria a la tecnologa MOM (Message Oriented Middleware) que utilizan las soluciones EAI, pero no la necesita para realizar la integracin, lo que reduce los costes y la complejidad del proyecto. Cuando en un proyecto es necesario implantar tecnologas MOM (normalmente en grandes empresas) SOI puede reducir los costes de configuracin en el punto donde los mensajes se convierten en lgica de aplicacin o datos, con la tecnologa EAI se puede alcanzar una infraestructura de mensajera escalable y multitud de conexiones con las aplicaciones, pero es en la ltima milla donde se hacen necesarios los adaptadores de aplicacin y donde la precisin en su desarrollo eleva los costes. No slo es ms sencillo construir adaptadores con SOI sino que los es toda la metodologa de integracin en s misma ya que separa el desarrollo de la lgica de integracin del adaptador, donde sera necesario desarrollar cdigo cliente, y lo lleva a un repositorio central donde resulta ms 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

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    106 Sistema a Distancia

    Los servicios de aplicaciones estn evolucionando. BEA, por ejemplo, ofrece nuevos servicios de integracin, 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 integracin desde MQ Series a WebSphere y sigue una estrategia similar. Al mismo tiempo, la tecnologa de los brokers de integracin tambin evoluciona, y estn adaptando los servicios web, incluso soportan programacin Java, ms adaptadores de aplicaciones, soluciones verticales para reducir tiempos de implantacin.

    Mientras que los brokers de integracin fueron utilizados para las aplicaciones crticas, los servidores de aplicaciones permitieron a las empresas desarrollar sus aplicaciones para la web. Un mercado como el de los brokers de integracin, 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 integracin que conecte todas las aplicaciones que formen parte del sistema de informacin.

    Estructura con brokers de integracin

    Si una empresa ya ha invertido en un broker de integracin capaz de gestionar sus procesos globales. lo lgico ser conectarlo con un servidor de aplicaciones J2EE para la gestin de la seguridad y la capa de presentacin.

    Si no ha realizado esta inversin, puede utilizar un estndar comoJCA (desarrollado por Sun, IBM y BEA), que permiten al servidor acceder a

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    107 Sistema a Distancia

    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 aplicacin especfica que se ejecuta en el servidor de aplicaciones. Solo necesitara el conector JCA apropiado. El mercado camina hacia la integracin basada en Internet y los servidores de aplicaciones parecen estar mejor posicionados. J2EE se ha convertido en un estndar en el mercado de los servidores web, mientras que JCA ofrece conexin estndar con mltiples sistemas de back-office. La combinacin de integracin 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 ms su tecnologa en estndares para obtener ventajas, como: disponibilidad de recursos, capacidad de reaccin, proteccin de la inversin, escalabilidad, independencia del vendedor, etc. Bien es verdad que todava queda por resolver problemas como el soporte JCA para la comunicacin asincrnica o que la portabilidad de complejos desarrollos EJB no es completa.

    Para conformar una plataforma de integracin, se necesita estndares y herramientas, los servicios web representan un conjunto de estndares y gracias a la amplia adopcin 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. Tambin se pueden ampliar las herramientas creadas en la empresa empleando tecnologas 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 integrarn directamente con la plataforma de integracin desarrollada con los servicios web sin cdigo en el cliente, algo imposible con las plataformas propietarias.

    Los servicios web permiten construir una plataforma de integracin basada en estndares en cualquier tipo de empresa. Con las herramientas actuales puede ser desarrollada incrementalmente, proyecto a proyecto, sin la necesidad de realizar una inversin inicial grande, empezando por utilizarlos en integracin punto a punto y escalar hacia una plataforma completa.

    * Fuente: (Valcrcel, I. y Munilla, 2003, pp. 97-100)

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    108 Sistema a Distancia

    AUTOEVALUACIN 3

    1. Un ERP permite: a. Planificar recursos tecnolgicos 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 tecnolgica

    2. Uno de los mdulos no es parte de un ERP: a. Mdulo de Compras b. Mdulo de Recursos Humanos c. Mdulo de CRM d. Mdulo de ETL e. Mdulo de Contabilidad

    3. Uno de los factores crticos de xito en la implementacin de un ERP, no corresponde a. Gerencia lidera la implementacin b. Se elige un correcto ERP c. Evaluar requisitos correctamente d. La organizacin tiene definido su arquitectura de negocios e. Carencia de Comunicacin

    4. Un software de gestin es: a. Un sistema de informacin estndar b. Un sistema de informacin con documentacin ya desarrollado c. Un sistema de informacin utilizable para determinados negocios d. Un sistema integrado que puede interoperar con otros sistemas e. Un sistema de informacin desarrollado a medida

    5. Openbravo es un ERP desarrollado con las siguientes tecnologas: a. Java + Oracle b. Java + Mysql c. php + Oracle d. Mysql + .Net

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    109 Sistema a Distancia

    e. PosgreSQL + php

    6. Openbravo es una implementacin 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. Disear, 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 integracin 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 tecnologas y el negocio

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    110 Sistema a Distancia

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

    RESPUESTAS DE CONTROL 1. d 2. d 3. e 4. a 5. a 6. a 7. c 8. c 9. d 10. d

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    111 Sistema a Distancia

    EJERCICIOS PROPUESTOS

    Caso ERP para la empresa FarmaPer La cadena de farmacias FarmaPer, ha decidido implementar una solucin ERP para integrar sus procesos ms importantes que tiene con sus proveedores y clientes, adems 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 mdulos de Gestin de Datos Maestros y Gestin de Contabilidad.

    b. Describir la arquitectura tecnolgica del ERP c. Describir 10 funcionalidades tcnicas del ERP OpenBravo d. Mencionar los requisitos tcnicos para poner en marchar OpenBravo e. Personalizar el mdulo para la gestin de ventas y puntos de venta f. Ingresar informacin al mdulo de logstica y gestionar los productos por

    categora y cantidad en stock. g. Presentar informes y reportes en PDF sobre las ventas mensuales.

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    112 Sistema a Distancia

    EXPLORACIN ON LINE

    URL:http://sisbib.unmsm.edu.pe/bibvirtualdata/publicaciones/risi/n3_2005/a04.pdf En este artculo del Sistema de Bibliotecas de la UNMSM describe la implementacin de un sistema ERP en una organizacin

    URL: http://www.openbravo.com/es/product Sitio oficial del ERP OpenBravo en espaol donde muestra las funcionalidades, experiencias incluso un centro de demostracin de esta solucin gil.

    URL: www.openbravo.com/es/product Sitio oficial del ERP OpenBravo en espaol donde muestra las funcionalidades, experiencias incluso un centro de demostracin de esta solucin gil.

    URL: http://www.bpmi.org Sitio oficial de la organizacin estndar 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 smbolos de la notacin BPMN, fundamental para disear 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 solucin y productos para adoptar SOA en los negocios.

    URL: http://www.estebanf.com/bpm/2009-08-26/intaliobpm-mas-alla-de-soa/ En este artculo se demuestra la relacin BPM y SOA. Adems se describe como la solucin Intalio BPM necesita una arquitectura distribuida como SOA

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    113 Sistema a Distancia

    REFERENCIA BIBLIOGRFICA

    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 Wave: Integration- Centric Business Process Management Suites.

    Garimella, K., Lees, M., y Williams, B. (2008) Introduccin a BPM para Dummies. Wiley Publishing, Inc

    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. Mxico: Pearson Edicin de Mxico, 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/en-us/library/bb931189.aspx

    Munilla, E. y Garca, I. (2003) E-Bussiness Colaborativo. Madrid: Editorial Confemetal

    Muiz, L. (2000) ERP, gua prctica para la seleccin e implantacin. Madrid: Ediciones Gestin 2000

    Pallos, M. (2001) WebShere Application Server & Database Performance tuning

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

  • Sistemas Distribuidos II - Unidad III Daniel Yucra Sotomayor

    114 Sistema a Distancia

    Schulte, R. (2005) Application Integration and WS, Gartner Group.

    Sommerville, I. (2006) Ingeniera del Software 7ma edicin. Madrid: Addison-Wesley

    Valcrcel, 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

    BIBLIOGRAFA 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.

    - Muiz, L. (2000) ERP, gua practica para la seleccin e implantacin. Madrid: Ediciones Gestin 2000. Se recomienda revisar los captulos 1, 2 y 3 sobre las caractersticas, tareas y anlisis de los mdulos de los Sistemas de Planificacin de Recursos Empresariales (ERP).

    - Krafzig, D., Banke, K. & Slama, D. (2005) Enterprise SOA, Service-Oriented Architecture: Best Practices. Se recomienda revisar el captulos 4 sobre la arquitectura de Software de SOA, adems del captulo 7 sobre la relacin SOA y Business Process Management (BPM).