Vous êtes sur la page 1sur 15

FACULTAD DE INGENIERA

CARRERA DE INGENIERA DE SISTEMAS COMPUTACIONALES ARQUITECTURA DE SOFTWARE

PROYECTO DE IMPLEMENTACION DE LA TECNOLOGIA SOA (SERVICE-ORIENTED ARCHITECTURE)


Integrantes:
CODIGO APELLIDOS Y NOMBRES EMAIL TONY.1308@HOTMAIL.COM KALIP_KALIT_500@HOTMAIL.COM JPIERRE.ALME@GMAIL.COM MIGUEL_LOOL2@HOTMAIL.COM HAROLD.GUERRERO3@GMAIL.COM KAZENOKIZO_INGE@HOTMAIL.COM

52837 52876 52891 53235


53684
52831

ANTHONY JESUS GANOZA QUISPE JIMMY MORENO NUEZ JEANPIERRE ALVAREZ MENDOZA MIGUELANGEL IBAEZ VALDIVIEZO
HAROLD GUERRERO BELLO IGLESIAS MORALES JONATHAN

Docente: Ciclo:

Ing. Lan Crdenas 2013 2

Trujillo, 03/12/2013

RESUMEN
El uso de las tecnologas y aplicaciones en las empresas heterogneas es una realidad. En momentos en que los recursos son escasos, los departamentos de TI no pueden simplemente deshacerse de sus aplicaciones existentes, sino que deben aprovechar sus inversiones existentes. Arquitectura orientada a servicios (SOA) es popular porque permite reutilizar aplicaciones y promete la interoperabilidad entre las aplicaciones y tecnologas heterogneas. En una SOA, la funcionalidad aplicativa se brinda a travs de componentes denominados servicios, que presentan interfaces estndar bien definidas y que representan funciones de negocio.

ABSTRACT
The use of technologies and applications in heterogeneous enterprises is a reality. At a time when resources are scarce, IT departments can not simply get rid of your existing applications, but they must leverage their existing investments. Service-oriented architecture (SOA) is popular because it allows reuse applications and promises interoperability between heterogeneous applications and technologies. In an SOA, the applicative functionality is provided by components called services, which have well-defined standard interfaces that represent business functions.

INTRODUCCIN
Los sistemas informticos tradicionales se han organizado en grandes bloques que conforman una sola pieza ya que contienen tanto los procesos de negocio como sus funciones automatizadas. As por ejemplo, el proceso de contratacin de una pliza de seguro, y las funciones del clculo de la prima y la emisin de los recibos, forman parte del mismo bloque. Estos sistemas han conseguido una gran mejora de productividad en las empresas, automatizando procesos de negocio, pero su concepcin de estar formado de una sola pieza hace que el aplicar actualizaciones y cambies sea ms tediosos y complejo ya que al intentar cambiar un componente, podramos perjudicar a uno que dependa de este. Para conseguir un mayor nivel de agilidad es necesario poder combinar rpidamente los distintos componentes del sistema, algo a lo que la concepcin monoltica tradicional plantea muchas restricciones. La arquitectura SOA separa los procesos de negocio de las funciones automatizadas y organiza estas ltimas en mdulos individuales catalogados en un diccionario de servicios que permiten su utilizacin por parte de toda la organizacin. Sin embargo, SOA no es solamente una tecnologa, sino una arquitectura que trata de estructurar las aplicaciones de negocio y la tecnologa para responder de forma gil y flexible a las demandas del mercado. La arquitectura SOA constituye la base que garantiza la agilidad del negocio, un prerrequisito fundamental para alcanzar el xito en el actual mercado mundial, siempre tan competitivo. Esta agilidad es la capacidad de aadir, modificar y optimizar fcilmente los procesos de negocio mediante el aprovechamiento de las sinergias de servicios o procesos. Este aprovechamiento tiene el fin de crear una nueva gama de capacidades o productos, mediante la combinacin de algunos elementos de los procesos de negocio actuales, y dando soporte as a nuevos segmentos de clientes, canales o mercados. Teniendo en cuenta lo expuesto anteriormente, nos enfocamos en un entorno real en el cual existe un sistema de cobranzas y un sistema acadmico, habiendo como regla de negocio en la cual un alumno podr matricularse en cualquier materia siempre y cuando haya realizado los pagos correspondientes o no presentes deudas en el sistema de cobranzas. El sistema de cobranzas se encuentra desarrollado en un entorno de JAVA y el sistema acadmico de matrculas en un entorno ASP.NET, por lo tanto se requiere que estos dos sistemas se comuniquen eficazmente el uno al otro sin importar su entorno de desarrollo. Para lo cual aplicamos la Arquitectura Orientada a Servicios por lo ya anteriormente expuesto.

MARCO TERICO
QU ES SOA? El concepto de un servicio no es nada nuevo, pero la idea de una arquitectura SOA se ha convertido en el ltimo par de aos. Es un estilo de arquitectura de aplicaciones de software de construccin que promueva la articulacin flexible entre los componentes para que pueda volver a utilizarlos. Por lo tanto, es una nueva forma de crear aplicaciones con las siguientes caractersticas: Los servicios son componentes de software que han publicado contratos / interfaces, estos contratos son de plataforma, lenguaje, e independiente de sistema operativo. XML y Simple Object Access Protocol (SOAP) son las tecnologas de capacitacin para SOA, ya que son normas independientes de la plataforma. Los consumidores pueden descubrir dinmicamente servicios. Los servicios son interoperables. La figura 1 muestra un diagrama general de la arquitectura orientada a servicios.

POR QU SOA? Las organizaciones de TI de hoy en da, invariablemente emplean sistemas y tecnologas dispares. La mayora de los analistas predicen que J2EE y. NET seguir coexistiendo en la mayora de las organizaciones y la tendencia de contar con tecnologas heterogneas en los departamentos de TI continuar. Por otra parte, la creacin de aplicaciones que aprovechan estas diferentes tecnologas ha sido histricamente una tarea desalentadora. SOA proporciona una solucin clara a estas cuestiones de integracin de aplicaciones, permitiendo a los sistemas exponen su funcionalidad a travs de interfaces interoperables normalizadas. Utilizando SOA ofrece varias ventajas clave. Usted puede: Adaptar aplicaciones a los cambios tecnolgicos. Integre fcilmente aplicaciones con otros sistemas. Aproveche las inversiones existentes en aplicaciones heredadas. Rpida y fcilmente crear un proceso de negocio de los servicios existentes.

DIFERENTES CAPAS PARA APLICACIONES ORIENTADAS A SERVICIOS Al igual que cualquier aplicacin distribuida, aplicaciones orientadas a servicios son aplicaciones de varios niveles y tienen presentacin, lgica de negocio y persistencia capas. La Figura 2 proporciona una arquitectura tpica de una aplicacin orientada a servicios. Los dos niveles clave de SOA son la capa de servicios y el nivel de proceso de negocio.

LA CAPA DE SERVICIOS Como hemos comentado anteriormente, los servicios son los bloques de construccin de aplicaciones orientadas a servicios. Por lo tanto, los servicios son algo anloga a los objetos y componentes tales como EJB Java. A diferencia de los objetos, sin embargo, los servicios son independientes, mantienen su propio estado, y proporcionan una interfaz de acoplamiento flexible. El mayor desafo de la construccin de una aplicacin orientada a servicios es la creacin de una interfaz con el nivel adecuado de abstraccin. Mientras que el anlisis de sus necesidades de negocio, considere cuidadosamente lo que los componentes de software que desea construir como un servicio. En general, los servicios deben proporcionar funcionalidad de grano grueso. Por ejemplo, el componente de software que procesa una orden de compra es un buen candidato para su publicacin como un servicio, en lugar de un componente que simplemente actualiza un atributo de una orden de compra. Usted tiene dos opciones cuando la construccin de un servicio: el enfoque de arriba hacia abajo o el enfoque de abajo hacia arriba. El enfoque de arriba hacia abajo requiere que usted identifique y describa los mensajes y las operaciones de su servicio ofrecen y luego implementar el servicio. Este mtodo se recomienda cuando se est construyendo un servicio totalmente nuevo, ya que le permite elegir su tecnologa de aplicacin preferente. Este enfoque tambin promueve los servicios ms interoperables, ya que se puede evitar artefactos de implementacin que pueden impedir la interoperabilidad (por ejemplo, tipos de datos que pueden no tener una representacin interoperable) .

El enfoque de abajo hacia arriba es muy popular, ya que permite reutilizar su inversin existente en componentes de negocio. Por ejemplo, los vendedores proporcionan las herramientas que le permiten exponer a / procedimiento PL SQL almacenado que comprueba si un cliente tiene derecho a un descuento como un servicio. El aspecto ms importante de un servicio es la descripcin del servicio. Al utilizar los servicios web como la tecnologa de implementacin de SOA, Web Services Description Language (WSDL) se describen los mensajes, los tipos y las operaciones del servicio web, y es el contrato en el que el servicio web garantiza que cumplir.

SOA La Arquitectura SOA establece un marco de diseo para la integracin de aplicaciones independientes de manera que desde la red pueda accederse a sus funcionalidades, las cuales se ofrecen como servicios. La forma ms habitual de implementarla es mediante Servicios Web, una tecnologa basada en estndares e independiente de la plataforma, con la que SOA puede descomponer aplicaciones monolticas en un conjunto de servicios e implementar esta funcionalidad en forma modular. Un servicio es una funcionalidad concreta que puede ser descubierta en la red y que describe tanto lo que puede hacer como el modo de interactuar con ella. Desde la perspectiva de la empresa, un servicio realiza una tarea concreta: puede corresponder a un proceso de negocio tan sencillo como introducir o extraer un dato como Cdigo del Cliente. Pero tambin los servicios pueden acoplarse dentro de una aplicacin completa que proporcione servicios de alto nivel, con un grado de complejidad muy superior por ejemplo, introducir datos de un pedido-, un proceso que, desde que comienza hasta que termina, puede involucrar varias aplicaciones de negocio. La estrategia de orientacin a servicios permite la creacin de servicios y aplicaciones compuestas que pueden existir con independencia de las tecnologas subyacentes. En lugar de exigir que todos los datos y lgica de negocio residan en un mismo ordenador, el modelo de servicios facilita el acceso y consumo de los recursos de TI a travs de la red. Puesto que los servicios estn diseados para ser independientes, autnomos y para interconectarse adecuadamente, pueden combinarse y recombinarse con suma facilidad en aplicaciones complejas que respondan a las necesidades de cada momento en el seno de una organizacin. Las aplicaciones compuestas (tambin llamadas dinmicas) son lo que permite a las empresas mejorar y automatizar sus procesos manuales, disponer de una visin consistente de sus clientes y socios comerciales y orquestar sus procesos de negocio para que cumplan con las regulaciones legales y polticas internas. El resultado final es que las organizaciones que adoptan la orientacin a servicios pueden crear y reutilizar servicios y aplicaciones y adaptarlos ante los cambios evolutivos que se producen dentro y fuera de ellas, y con ello adquirir la agilidad necesaria para ganar ventaja competitiva.

SERVICIOS WEB La adopcin de una solucin de diseo basada en SOA no exige implantar servicios Web. No obstante, como ya comentamos anteriormente, los servicios Web son la forma ms habitual de implementar SOA. Los servicios Web son aplicaciones que utilizan estndares para el transporte, codificacin y protocolo de intercambio de informacin. Los servicios Web permiten la intercomunicacin entre sistemas de cualquier plataforma y se utilizan en una gran variedad de escenarios de integracin, tanto dentro de las organizaciones como con partners de negocios. Los servicios Web se basan en un conjunto de estndares de comunicacin, como son XML para la representacin de datos, SOAP (Simple Object Access Protocol) para el intercambio de datos y el lenguaje WSDL (Web Services Description Language) para describir las funcionalidades de un servicio Web.

BENEFICIOS DE SOA SOA desde el punto de vista del negocio: La arquitectura SOA, desde el punto de vista del negocio, ayuda a resolver los siguientes requerimientos, largamente reclamados por el rea de negocio: - Mejorar la flexibilidad y agilidad de los sistemas. - Proporcionar una visin integrada de los distintos silos de la organizacin. - Mejorar la cobertura de las necesidades de negocio. - Reducir el impacto de la evolucin de la tecnologa en las aplicaciones de negocio. La arquitectura SOA permite a las organizaciones satisfacer las cambiantes necesidades de la empresa mediante la implantacin de procesos de negocio que utilizan los servicios proporcionados por los sistemas actuales. La arquitectura garantiza la interoperabilidad de los sistemas a pesar de que, en gran parte, hayan sido construidos en distintos momentos, con diferentes intenciones, plataformas y niveles de servicio, y a pesar del hecho de que ahora se encuentren en distintos ciclos de mantenimiento, mejora y presupuesto. Anteriores estrategias de integracin entraban en conflicto con estas realidades, pero ahora la arquitectura SOA ofrece un modo de enfrentarse mejor a ellas y de aumentar los niveles de agilidad y flexibilidad. La arquitectura SOA posibilita la ruptura de los silos internos de una organizacin (a menudo causados por sistemas que pertenecen a departamentos individuales y que no pueden conectarse fcilmente), y prepara el terreno para dar soporte a procesos de negocio automatizado e integrado que eliminan dichos silos. Descubrir las capacidades de negocio en forma de servicios y despus conectar y consumir esos servicios (por ejemplo, a travs de aplicaciones compuestas, procesos automatizados o empresas virtuales) son factores que pueden simplificar enormemente los procesos de una organizacin, al facilitar la ubicacin y reutilizacin de una misma funcionalidad en diferentes partes del negocio. La sencillez interna proporciona a la organizacin la agilidad necesaria para crear nuevos productos y servicios de una forma ms fcil y rpida, y le permite as diferenciarse en el mercado. La diferenciacin competitiva resulta esencial para la mayora de los sectores, y la arquitectura SOA proporciona los elementos necesarios para que las organizaciones alcancen con xito el alto rendimiento.

SOA DESDE EL PUNTO DE VISTA DE LA TECNOLOGA La arquitectura orientada a servicios, desde el punto de vista tecnolgico, es el resultado de la constante evolucin hacia un mayor desacoplamiento de las capas de una aplicacin (presentacin, orquestacin de procesos y servicios de negocio) y a un mayor nivel de estandarizacin/interoperabilidad de cada una de estas capas. Con un total desacoplamiento de las capas de las aplicaciones y un muy alto nivel de interoperabilidad, los beneficios desde el punto de vista tecnolgico son claros: Favorece la reutilizacin y la reduccin del time to market: Aumenta el grado de reutilizacin al desacoplar las capas de una aplicacin. Permite reutilizar las aplicaciones existentes mediante la encapsulacin en servicios. Permite la utilizacin de servicios de terceros. Permite reaprovechar las plataformas existentes. Aumenta la flexibilidad: Simplifica la adaptacin de los sistemas existentes. Evita el desarrollo de interfaces punto a punto entre los sistemas. Aumenta la interoperabilidad entre sistemas, permitiendo tanto la externalizacin como la prestacin de servicios. Mejora la productividad de los procesos: Aumenta el nivel de automatizacin de los procesos, reduciendo el nmero de actividades manuales. Permite monitorizar la actividad del negocio (cuadros de mando). Permite realizar un anlisis estadstico de los flujos de negocio reales en base a indicadores clave de negocio, permitiendo la identificacin de puntos de mejora a optimizar.

Permite evaluar el impacto y beneficio de variantes en los procesos mediante simulacin.

Mejora el proceso de construccin de software: Favorece la industrializacin. Mejora la especificacin de los requerimientos de negocio. Proporciona una filosofa de desarrollo comn a todos los negocios y canales. Mejora la calidad. Desacopla el desarrollo de servicios y de procesos. Mejora el mantenimiento (procesos autodocumentados). Mejora la usabilidad de las aplicaciones: Permite presentar al usuario la informacin dispersa en distintos sistemas y de forma integrada. Permite alcanzar un mayor nivel de automatismo en las aplicaciones en procesos complejos de workflow. Permite utilizar tecnologas de presentacin avanzadas como Web 2.0.

Aplicaciones ms seguras y manejables Las soluciones orientadas a servicios proporcionan una infraestructura comn (y una documentacin comn tambin) para desarrollar servicios seguros, predecibles y gestionables. Conforme van evolucionando las necesidades de negocio, SOA facilita la posibilidad de aadir nuevos servicios y funcionalidades para gestionar los procesos de negocio crticos. Se accede a los servicios y no a las aplicaciones, y gracias a ello la arquitectura orientada a servicios optimiza las inversiones realizadas en TI potenciando la capacidad de introducir nuevas capacidades y mejoras. Y adems, puesto que se utilizan mecanismos de autenticacin y autorizacin robustos en todos los servicios y puesto que los servicios existen de forma independiente unos de otros y no se interfieren entre ellos- la estrategia de SOA permite dotarse de un nivel de seguridad superior.

DESARROLLO
SOLUCIN Implementar la capa de Servicios Distribuidos en el sistema de cobranzas para que pueda ser consumido o ingresado remotamente por el servidor de Matrcula y de esta forma cumplir con las reglas de negocio. IMPLEMENTACIN: Distribucin del Sistema de Matricula en N capas orientada al dominio (ASP .NET) Distribucin del Sistema de Cobranzas en N capas orientada al dominio (JAVA)

Para poder crear el Servicio web, agregamos un nuevo proyecto web como nueva capa para nuestros servicios distribuidos.

Se agrega un Web Services a la nueva capa:

Una vez creado el Web Services a nivel de diseo podemos agregar la operacin consultarDeuda que por configuracin recibir un parmetro int y retornar otro int.

Se elige la opcin Test Web Service para obtener la direccin de referencia:

Se obtiene la direccin de referencia concatenndola con: o http://localhost:8080/ServiciosDistribuidos/WebServiceSisCobranza? + swdl

En el Sistema de Matricula se agregar un uno proyecto que contendr el acceso a Web Service con la siguiente clase que servir de cliente: ClienteServicioWebSisCobranza.cs

Agregamos la referencia al servicio:

Aadimos la direccin de referencia y agregamos el espacio de nombre:

Implementaremos la clase cliente que consumir el servicio:

REFERENCIAS
- Centro de Alto Rendimiento de Accenture. Arquitectura Orientada a Servicios SOA. (2007) - Norbert Bieberstein. Service-Oriented Architecture Compass (2009), 1st Edition, O'reilly - Eben Hewitt. Java SOA Cookbook (2009), 1st Edition, O'reilly - Mario Bolo. Arquitectura de Integracin Orientada a Servicios (2010) - Articulo Arquitectura Orientada a Servicios [en lnea] <http://www.revistadintel.es/Revista1/DocsNum09/HoyHablamosDe/HoyHablamos09.pdf> -Articulo SOA, Arquitectura Orientada a Servicios [en lnea] <http://www.amis.org.mx/InformaWeb/Documentos/Archivos/4_Gabriel%20Lopez%20_Sof tware%20AG.pdf>

Vous aimerez peut-être aussi