http://www.tec.url.edu.gt/boletin/URL_19_SIS07_REDES.pdf
http://blogs.vass.es/?p=535
Para dar una idea de los posibles usos de este framework, podemos hablar de las aerolíneas, estas pueden registrar sus servicios de reserva de vuelos en un directorio de UDDI, las agencias de viajes pueden buscar las interfaces o los contratos de los servicios web de las aerolíneas, y una vez encuentren el que necesitan, puede empezar a usarlo inmediatamente.
Los principales conceptos de UDDI son:
UDDI Data Model: Incluye tipos de datos que incluyen descripción de los servicios, por ejemplo, cual es su función (businessService) o quien es el publicador del servicio (businessEntity).
UDDI Nodes and Registers: incluye una específica definición de las relaciones de jerarquía que hay entre los servidores que tienen implementaciones de UDDI.
Essential Programmatic Interfaces: provee funcionalidades claves como publicar o buscar información sobre un servicio en el registro UDDI.
UDDI es patrocinado por OASIS (Organization for the Advancement of Structured Information Standards), un consorcio que impulsa el desarrollo, convergencia y adopción de estándares abiertos y la organización que más desarrolla estándares de servicios web.
Referencias:
http://www.w3schools.com/WSDL/wsdl_uddi.asp
http://www.oasis-open.org/who/
http://www.ibm.com/developerworks/webservices/library/ws-featuddi/
Hola, esta semana les hablaremos sobre los principios. Para empezar, un principio no es más que una buena práctica para lograr un objetivo, está basado en la experiencia y es ampliamente aceptado por la industria. A continuación les describimos los principios de diseño de SOA:
Contratos de Servicio Estandarizados
Cada servicio debe establecer un contrato con el cliente donde se especifique: nombre del servicio, forma de acceso, funcionalidades, parámetros de entrada y salida. En caso de ser necesaria una modificación a la implementación del servicio, se debe respetar el contrato, por lo tanto se logra una independencia entre el cliente y la implementación del servicio.
Servicios Débilmente Acoplados
Debe haber un bajo acoplamiento entre un servicio y los clientes que lo usan, esto se logra con los contratos, ya que estos esconden la lógica del servicio y garantizan una forma estándar de invocación, de modo que si se llega a cambiar la implementación del servicio, éste será el único punto de actualización, no será necesario modificar la forma en que los clientes hacen el llamado.
Reusabilidad de Servicios
La reutilización es el pilar de SOA, cada servicio debe ser pensado de modo que se pueda explotar al máximo su uso, es decir, que sea de algún modo genérico con el fin de que pueda ser usado en diferentes contextos y satisfacer distintos objetivos, este es el caso de los procesos de negocio donde cada uno de estos puede tener un propósito totalmente distinto del otro y aún así estar usando un mismo servicio.
Autonomía de Servicios
Cada servicio SOA es mantenido, desarrollado, instalado y versionado de forma independiente. De esta forma el servicio es autónomo y podemos asegurar que podrá ser reutilizable desde el punto de vista de la plataforma de ejecución.
Servicios sin Estado
Los servicios no deben depender del estado de otros servicios, esta independencia garantiza la posibilidad de reutilización de estos en variados contextos. Para lograr esta independencia, un servicio no debe conservar información del cliente que lo usa, tan solo debe recibir en el mensaje de invocación los argumentos necesarios para llevar a cabo su tarea y dar una respuesta, sin dejar algún rastro de la información dentro del servicio.
Descubrimiento de Servicios
Para garantizar la reutilización de los servicios y evitar realizar implementaciones de servicios ya existentes pero desconocidos, se debe proveer de algún método o herramienta que permita descubrirlos; UDDI (Universal Description Discovery and Integration) es un mecanismo y repositorio basado en XML que permite registrar web services, publicarlos y realizar consultas sobre sus contratos para poder interactuar con estos.
Composición de Servicios
En la medida en que las soluciones orientadas a servicios crecen, así crece la complejidad de las mismas, Por esta razón Los servicios deben ser construidos para ser parte de servicios más complejos, a si mismo se necesita de conceptos como orquestación y coreografía para cumplir con el propósito del servicio compuesto.
Referencias
http://www.soapatterns.org/patterns_principles.php
http://info-soa.blogspot.com/2010/09/principios-de-una-arquitectura.html
http://www.ibm.com/developerworks/library/ws-soaintro.html
http://en.wikipedia.org/wiki/Universal_Description_Discovery_and_Integration
Application Integration Architecture AIA
La Arquitectura de Integración de Aplicaciones de Oracle está compuesta por un conjunto de herramientas, metodologías y buenas prácticas que recogen los más de 30 años de desarrollo y experiencia en integración de aplicaciones por parte de esta compañía.
Una de las razones para implementar esta arquitectura es el tamaño de la organización, pues a medida que crece, el número de aplicaciones que necesita también aumenta, y si no se tiene una estrategia de integración, la gestión de los procesos de negocio soportados por estas aplicaciones se volverá cada vez más compleja.
Para resolver estos problemas Oracle ha hecho de la integración un producto, con el cual los proyectos de integración se vuelven más rápidos, menos complejos y de menor costo. Entre sus principales características están:
Mejor compatibilidad entre aplicaciones.
Procesos de negocio integrados.
Integraciones que son fáciles de mantener y que tienen habilidad de evolución.
Menores costos de mantenimiento y soporte.
Los principales componentes de AIA son:
Foundation packs: contiene las piezas de construcción y plantillas (modelos de procesos, objetos de negocio, servicios de negocio) necesarias para integrar cualquier tipo de aplicación y construir procesos de negocio basados en SOA.
Process integration packs: contiene procesos de negocio preconstruidos que conectan aplicaciones específicas de Oracle con terceros como SAP.
Oracle Fusion Middleware SOA
Es un conjunto de soluciones que brinda a las organizaciones la posibilidad de aprovechar de manera inteligente sus capacidades en la gestión de la información. Dentro de este conjunto de aplicaciones encontramos un componente en especifico que hace referencia a SOA, este es ORACLE SOA SUITE, el cual permite la creación, implementación y administración de los servicios; lo interesante de esta aplicación es que su implementación se puede realizar de manera gradual de tal forma que no afecta el funcionamiento de la organización.
Las características de ORACLE SOA SUITE son:
Un administrador de procesos basado en BPEL para componer servicios en los procesos de negocio.
Un monitor de la actividad de los negocio a fin de obtener visibilidad en tiempo real de las operaciones y el desempeño de los servicios y procesos de negocio.
Motor de reglas de negocio para capturar y automatizar las políticas de negocios.
Conectividad con diferentes fuentes de datos.
Seguridad y administración de servicios Web para hacer cumplir las políticas de autenticación y autorización en torno a los servicios.
Detección y administración del ciclo de vida de los servicios.
Referencias:
www.prensariotila.com/pdf/Especial%20ERP&SOA_0510.pdf
http://www.oracle.com/us/products/applications/057281.pdf
http://www.oracle.com/technology/global/lad-es/documentation/collaterals/Oracle-SOA-Suite-Datasheet-Espanol.pdf
Como podemos ver esta solución brinda un gran apoyo a las labores de gestión en una empresa, pero uno de sus puntos débiles es lo costoso que resulta su implementación en términos de tiempo y monetarios, y si a esto le sumamos las futuras y seguras tareas de actualización para satisfacer nuevos requerimientos de negocio, nos damos cuenta que las ERP convencionales no son la panacea, pues a la hora de customizar tendríamos dos opciones, la primera, dedicarle gran cantidad de esfuerzo, tiempo y recursos a esta labor, o como segunda opción, forzar el negocio a adaptarse al ERP.
Es aquí donde donde el paradigma SOA entra a tomar parte del juego, pues sacando a relucir uno de sus principios: “escribir código tan poco como sea posible”, nos damos cuenta que el beneficio que puede aportar SOA a las ERP es importante, ayudando a mitigar los problemas de implementación y de respuesta al cambio.
Esta nueva filosofía de desarrollo de ERP's facilitara la labor de integración entre soluciones y servicios de distintos proveedores, dotando a las ERP's de flexibilidad, facilidades de extensión y todo esto con un reducido coste de gestión.
En nuestra siguiente entrada les hablaremos sobre soluciones software en el mercado que han adoptado el modelo SOA, no dejen de visitarnos.
Referencias:
http://www.ehow.com/facts_6106695_difference-between-erp-_amp_-soa_.html
http://www.baquia.com/posts/soa-aplicada-a-las-soluciones-de-gestion-erp