Blogia
Groupinfoempresarial - Organizacion del Capital Humano

SOA

Conceptos o Componentes

Conceptos o Componentes

SOA

 

Existen multitud de definiciones del término.

El concepto de SOA (Service Oriented Architecture) ofrece un marco de trabajo para alinear los procesos de negocio con los sistemas de IT.

Plataforma de servicios que representan procesos de negocio y que se combinan entre sí (flexibilidad) para ofrecer soluciones adecuadas a las diferentes necesidades de negocio (agilidad).

"SOA es un modelo de componentes que interrelaciona las diferentes unidades funcionales de las aplicaciones, denominadas servicios, a través de interfaces y contratos bien definidos entre esos servicios. La interfaz se define de forma neutral, y debería ser independiente de la plataforma hardware, del sistema operativo y del lenguaje de programación utilizado.
Esto permite a los servicios, construidos sobre sistemas heterogéneos, interactuar entre ellos de una manera uniforme y universal."

Retos

Actualmente las empresas dependen completamente de sus IT, de las que esperan flexibilidad, agilidad y eficiencia en los costes.
Las IT de las empresas están compuestas por un gran número de sistemas interdependientes, heterogéneos y muchas veces redundantes.
La rapidez con que las IT pueden adaptarse a los cambios en las necesidades del negocio no siempre es suficiente (falta de agilidad y flexibilidad).La estructura actual de las IT puede hacer que los cambios introducidos cuesten más que los beneficios que aportan (baja eficiencia de costes).

Soluciones

Ahorro de dinero, tiempo y esfuerzo mediante la reutilización de "componentes" y gracias a la flexibilidad de SOA.
Elimina "frustraciones" con IT gracias a las soluciones flexibles y los tiempos más cortos de despliegue.
Permite justificar más claramente las inversiones en IT, ya que éstas están más alineadas con el negocio.
Proporciona a los ejecutivos del negocio una visión clara de lo que hace IT y su valor asociado.
Permite la creación y cambio de servicios de forma incremental, evitando proyectos de larga duración y alto coste.

Los principales componentes de una arquitectura orientada a servicios son:

  • Consumidores
  • Servidores
  • Bus de servicios
  • Repositorio de servicios
  • Consumidores de servicios

Metamodelo de SOA

Definimos consumidores de servicios como aquellos elementos de una arquitectura SOA que pueden descubrir servicios a través de un repositorio.
Realizan llamadas a los mismos de acuerdo al contrato y a través del interfaz definido a tal efecto.

Servidores
Un servicio de negocio es un componente reutilizable de software, con significado funcional completo, y que está compuesto por:
Contrato: especificación de la finalidad, funcionalidad, forma de uso y restricciones del servicio.
Interfaz: mecanismo de exposición del servicio a los usuarios.
Implementación: debe contener la lógica o el acceso a datos.

Bus de servicios
El bus de servicios es el elemento de las arquitecturas SOA que conecta los servicios con sus consumidores y que proporciona:
Conectividad: el propósito principal de un bus de servicios es interconectar a los participantes de una arquitectura SOA.
Soporte a la heterogeneidad de tecnologías: debe ser capaz de conectar a participantes basados en distintos lenguajes de programación, sistemas operativos, entornos de ejecución y protocolos de comunicación.
Soporte a la heterogeneidad de paradigmas de comunicación: debe ser capaz de mantener distintos modos de comunicación (por ejemplo comunicaciones síncronas y asíncronas).

Repositorio de servicios
Un repositorio de servicios proporciona facilidades para descubrir servicios y adquirir la información necesaria para su uso, en particular fuera del alcance temporal y funcional del proyecto en el que se crearon. Además de la propia información de contrato, los repositorios pueden proporcionar información acerca de:
Localización.
Personas de contacto.
Restricciones técnicas.
Service Level Agreements (SLAs).

 

IMPORTANCIA DE LA UTILIZACIÓN DEL SOA

Una Arquitectura Orientada a Servicios (SOA) representa un modelo en el cual la funcionalidad se encuentra descompuesta en distintas unidades (Servicios), que pueden estar distribuidas sobre una red de sistemas y tecnologías, pudiendo combinarse y ser reutilizadas para crear aplicaciones de negocio. Es decir, SOA permite componer procesos de negocio a partir de servicios modulares auto-descriptivos basados en unos estándares de mercado que independizan la tecnología subyacente a cada servicio, pudiendo haberse desarrollado en diversos sistemas basados en diferentes tecnologías

 

 

 

Software

Tecnologías de Servicios Web en J2EE 1.4

Las tecnologías Java para servicios web existentes en la plataforma 1.4 son:

 

Java API for XML Processing (JAXP) 1.2

 

Java API for XML-based RPC (JAX-RPC) 1.1

 

SOAP with Attachments API for Java (SAAJ) 1.2

 

Java API for XML Registries (JAXR) 1.0

Plataforma .NET

 

Plan de Implementación

¿Como se puede implementar en las organizaciones Salvadoreñas?

      SOA no puede comprarse o entregarse en un paquete al departamento de TI ni dar resultados mágicos de la noche a la mañana. Si se implementa de forma inteligente, SOA puede ser una fuerza transformadora para las compañías, pero esa transformación puede ser un proceso largo. Gradualmente se obtendrán beneficios valiosos de SOA, pero sólo si se implementan los procesos de gobernancia adecuados para apoyar el cambio cultural resultante. 

Anne Thomas Manes, vicepresidenta y directora de investigación de Burton Group, y una líder en SOA, es determinante: “SOA es algo que hace una organización… y se trata más de cultura que de tecnología. SOA requiere una mentalidad diferente, y exige disciplina”.

 

Se requerirán cambios organizacionales, especialmente a las estructuras administrativas, a las prácticas de contabilidad y sistemas de incentivos:


- Se requerirá educar totalmente al personal de TI y los socios de negocio para asegurar un conocimiento consistente de la arquitectura y el desarrollo.
- Se requerirá una nueva infraestructura y actualizaciones.
- La gente se resiste al cambio y puede regresar a los viejos hábitos, perdiendo así los beneficios de SOA y creando silos modenos en lugar de aplicaciones ágiles.
- Las organizaciones deben establecer un grupo que encabece el esfuerzo de implementación de SOA. Este grupo es el responsable de desarrollar un plan de adopción y servirá como el canal de comunicación principal entre el negocio e IT. Se requiere esta comunicación y manejo continuos para una iniciativa SOA exitosa.
- Para lograr una colaboración real y el éxito de SOA a escala empresarial, los equipos administrativos y de TI tendrán que salir de sus zonas de confort y comenzar a trabajar con partes menos conocidas de la organización. El equipo a cargo desarrollará nuevos procesos de gobernancia, políticas y mejores prácticas para facilitar este cambio cultural y asegurar el éxito de la iniciativa SOA.
- Si bien SOA es aceptado ampliamente como “la forma adecuada” de construir aplicaciones moderna, la adopción en grandes empresas a menudo es inhibida por la inercia cultural. A pesar de esto, muchas compañías están experimentando un éxito importante y ahorros sustanciales, incluso en las primeras etapas de la madurez de SOA. Las empresas que instituyen SOA con éxito han trabajado para cambiar su mentalidad.
- La disciplina necesaria para el éxito es puesta en práctica en nuevos programas de gobernancia dirigidos a desarrollar y administrar el mapa de SOA.

Objetivos

 

La decisión de investigar sobre el tema fue por el enfoque que se da al implementar este sistema en las empresas, que es la de interrelacionar  tecnología y procesos de negocios para bajar costos y  optimizar  los recursos de la empresa, ya que estos son reutilizables y así  lograr   que en las empresas haya un cambio de mentalidad en la forma de cómo llevan a cabo sus negocios.-


OBJETIVOS DE LA INVESTIGACION
  • Permitir a los usuarios acceder y actualizar los datos de la empresa cuando estén desconectados.
  • Hacer funcionar múltiples versiones de una aplicación al tiempo que se comparten los datos.
  • Permitir el uso de diferentes aplicaciones para compartir datos comunes en diferentes formatos.
  • Crear y mantener un modelo de datos virtuales para integración de servicios.
  • Integrar servicios Web utilizando la transformación de servicios basada en un modelo de datos común.
  • El SOA es un medio, no un fin en sí misma.
  • Se debe de implementar SOA si y sólo si es realmente necesario y si supone una ventaja competitiva sobre nuestros sistemas actuales.
  • El SOA es un arquitectura única, no se debe de copiar de otros modelos ya establecidos porque podrían no dar los resultados esperados

 

 

Referencia

BIBLIOGRAFIA

http://www.iworld.com.mx/iw_news_read.asp?iwid=5544

http://www.w3c.org/TR/2004/NOTE-ws-arch-20040211/

 http://msdn.microsoft.com/architecture/solutions_architecture/service_orientation/default.aspx?pull=/library/en-us/dnbda/html/ServOrient.asp

http://msdn.microsoft.com/architecture/solutions_architecture/service_orientation/default.aspx?pull=/library/en-us/dnbda/html/ServOrient.asp

  http://es.wikipedia.org/wiki/Arquitectura_orientada_a_servicios

http://www.mastermagazine.info/articulo/3391.php

http://www.mkm-pi.com/mkmpi.php?article1600

       http://www.ibm.com/news/uy/es/2005/09/13-09-2005.html

Conclusiones

Conclusiones

SOA permite a las empresas obtener una gran ventaja competitiva, ya que le aporta flexibilidad ante un mercado en constante cambio, y agilidad, pudiendo implementar cambios en sus sistemas de una manera más rápida, escalable y eficiente comparado con los viejos modelos de arquitectura de sistemas.

Se ha asumido a SOA como un sinonimo de Web Services, es decir, se piensa comunmente en que la creación de un numero de WebServices (WS) ya implica la implementación de SOA. Un argumento errado ya que los WS son solo una forma de implementar software o componentes de software como servicios, esto ultimo es lo esencial de SOA.

La implementación exitosa de SOA en cualquier organización exige un total compromiso y participación de parte de todo el negocio. Proyecto que por estas razones, se considera de complejidad alta.

Para el área de IT se exige:

  • Mayor nivel de especialización en el desarrollo de nuevos procesos orientados a servicios.
  • Integración de sistemas actuales y de legado (legacy systems) hacia esta nueva arquitectura.
  • Plan de acción para implementar in IT Governance que haga sostenible la administración de este tipo de arquitectura y de los sistemas basados en ella.

Para el negocio se le exige:

  • Ordenamiento/Mejoramiento de los procesos actuales de negocio.
  • Generar presupuesto necesario para abarcar la ejecución e implementación de un proyecto de este tipo que pueden llegar a tomar hasta 5 años para implementarse.
  • Tener o llegar a tener una visión integradora que le permita a la empresa poder reutilizar servicios para crear nuevos servicios (BPM).

Otros Subtemas

Otrso-subtemas que consideren relevantes

Glosario sobre el Tema

TI : Tecnologia de informacion

SOA: Arquitectura orientada al servicio

SOAP: Protocolo de acceso simple a objetos

AJAX: Javascript asincrono y XML

Web Service: Servicio Web (Sistema de software diseñado para soportar la interoperabilidad maquina a maquina en una red)

XML: Extensible markup language

WSDL: Web Service description lenguaje

BPM: Business Process Management (Administracion de Procesos de Negocios)

BPEL: Business Process Execution Language

ESB: Enterprise Service Bus

W3C: World Wide Web Consortium, consorcio internacional para que crea los estandares para la Web.