Sunteți pe pagina 1din 9

AO DEL BUEN SERVICIO AL CIUDADANO

TRABAJO

ASIGNATURA: Gestion de Proyectos de


Tecnologias de Informacin

DOCENTE: Prof. Isaac D. Castillo Chalco

ALUMNO:JOSE IDELSO CRUZ BUENO

AULA:202

CICLO:VIII

Tarapoto_peru
2017

ARQUITECTURA ORIENTADA A SERVICIOS


Arquitectura orientada a servicios (SOA, siglas del ingls Service Oriented Architecture)
es un paradigma de arquitectura para disear y desarrollar sistemas distribuidos. Las
soluciones SOA han sido creadas para satisfacer los objetivos de negocio las cuales
incluyen facilidad y flexibilidad de integracin con sistemas legados, alineacin directa a
los procesos de negocio reduciendo costos de implementacin, innovacin de servicios a
clientes y una adaptacin gil ante cambios incluyendo reaccin temprana ante la
competitividad.

Permite la creacin de sistemas de informacin altamente escalables que reflejan el


negocio de la organizacin, a su vez brinda una forma bien definida de exposicin e
invocacin de servicios (comnmente pero no exclusivamente servicios web), lo cual
facilita la interaccin entre diferentes sistemas propios o de terceros.

SOA proporciona una metodologa y un marco de trabajo para documentar las


capacidades de negocio y puede dar soporte a las actividades de integracin y
consolidacin.

Los modelos de desarrollo han ido evolucionando con el paso de los aos. En los aos 80
aparecieron los modelos orientados a objetos, en los 90 aparecieron los modelos basados
en componentes y en la actualidad han aparecido los modelos orientados a servicios.
Aunque la arquitectura orientada a servicios no es un concepto nuevo (si bien fue descrita
por primera vez por Gartner hasta en 1996), s se ha visto incrementada su presencia en
la actualidad, en gran medida debido al aumento de uso de servicios web. Con la llegada
de stos, la arquitectura SOA ha hecho que el desarrollo de software orientado a servicios
sea factible. Aunque los servicios web usan con frecuencia SOA, SOA es neutral e
independiente de la tecnologa utilizada y por tanto no depende de los servicios web,
aunque estos no popularizan.

Terminologa

Trmino Definicin / Comentario

Servicio Una funcin sin estado, auto-contenida, que acepta una(s) llamada(s) y
devuelve una(s) respuesta(s) mediante una interfaz bien definida. Los
servicios pueden tambin ejecutar unidades discretas de trabajo como
seran editar y procesar una transaccin. Los servicios no dependen del
estado de otras funciones o procesos. La tecnologa concreta utilizada
para prestar el servicio no es parte de esta definicin. Existen servicios
asncronos en los que una solicitud a un servicio crea, por ejemplo, un
archivo, y en una segunda solicitud se obtiene ese archivo.

Orquestacin Secuenciar los servicios y proveer la lgica adicional para procesar


datos. No incluye la presentacin de los datos. Coordinacin.

Sin estado No mantiene ni depende de condicin pre-existente alguna. En una SOA


los servicios no son dependientes de la condicin de ningn otro
servicio. Reciben en la llamada toda la informacin que necesitan para
dar una respuesta. Debido a que los servicios son "sin estado", pueden
ser secuenciados (orquestados) en numerosas secuencias (algunas
veces llamadas tuberas o pipelines) para realizar la lgica del negocio.

Proveedor La funcin que brinda un servicio en respuesta a una llamada o peticin


desde un consumidor.

Consumidor La funcin que consume el resultado del servicio provisto por un


proveedor

PRINCIPIOS

No hay estndares en relacin a la composicin exacta de una arquitectura orientada a


servicios, aunque muchas fuentes de la industria han publicado sus propios principios.

Algunos de los principios publicados son los siguientes:

Contrato de servicios estandarizados: los servicios adhieren a un acuerdo de


comunicacin, segn se define en conjunto con uno o ms documentos de
descripcin de servicios.

Acoplamiento dbil de sistemas: los servicios mantienen una relacin que


minimiza las dependencias y slo requiere que mantengan un conocimiento de uno al
otro.

Abstraccin de servicios: ms all de las descripciones del contrato de servicios,


los servicios ocultan la lgica a los dems.

Reutilizacin de servicios: la lgica se divide en servicios con la intencin de


promover la reutilizacin.

Autonoma de servicios: los servicios tienen control sobre la lgica que


encapsulan, desde una perspectiva de diseo y ejecucin.
Servicios sin-estado: los servicios minimizan el consumo de recursos aplazando
la gestin de la informacin de estado cuando sea necesario.

Descubrimiento de servicios: los servicios se complementan con los metadatos


mediante los cuales se pueden descubrir e interpretar la eficacia.

Composicin de servicios: servicios estn compuestos por partes eficazmente,


independientemente del tamao y la complejidad de la composicin.

Granularidad de servicios: una consideracin de diseo para proporcionar un


mbito ptimo y un correcto nivel granular de la funcionalidad del negocio en una
operacin de servicio.

La normalizacin de servicios: los servicios se descomponen a un nivel de


forma normal para minimizar la redundancia. En algunos casos, los servicios se
desnormalizan para fines especficos, como la optimizacin del rendimiento, el acceso
y agregacin.

Optimizacin de servicios: los servicios de alta calidad son preferibles a los de


baja calidad.

Relevancia de servicios: la funcionalidad se presenta en un nivel de granularidad


reconocido por el usuario como un servicio significativo.

Encapsulacin de servicios: muchos servicios estn consolidados para el uso de


SOA. A menudo, estos servicios no fueron planificados para estar en un SOA.

Transparencia de ubicacin de servicios: se refiere a la capacidad de un


consumidor de servicios para invocar a un servicio independientemente de su
ubicacin en la red. Esto tambin reconoce la propiedad de descubrimiento (uno de
los principios fundamentales de SOA) y el derecho de un consumidor para acceder al
servicio. A menudo, la idea de la virtualizacin de servicios tambin se refiere a la
transparencia de ubicacin. Aqu es donde el consumidor simplemente llama a un
servicio lgico, mientras que un SOA habilita la ejecucin del componente de la
infraestructura, normalmente un bus de servicios, que mapea este servicio lgico y
llama al servicio fsico.

SOA y los Servicios Web

Hay que tener cuidado cuando se manejan estos trminos y no confundirlos. Web
Services (WS) engloba varias tecnologas, incluyendo XML, SOAP, WSDL, UDDIlos
cuales permiten construir soluciones de programacin para mensajes especficos y para
problemas de integracin de aplicaciones.

En cambio SOA es una arquitectura de aplicacin en la cual todas las funciones estn
definidas como servicios independientes con interfaces invocables que pueden ser
llamados en secuencias bien definidas para formar los procesos de negocio.
En SOA la clave est en la interfaz puesto que define los parmetros requeridos y la
naturaleza del resultado. Esto significa que define la naturaleza del servicio y no la
tecnologa utilizada. Esta funcin permite realizar dos de los puntos crticos: los servicios
son realmente independientes y pueden ser manejados.

WS es el estndar apoyado por la industria (Microsoft, IBM, BEA, Oracle, Sun y otros), por
empresas de distintos rubros, no tecnolgicas (Ford, United Airlines, KPMG, Daimler-
Chrysler), agrupadas en un comit conocido como Web Services Interoperability (WS-I).
Este organismo tiene por principal objetivo asegurar que los grupos de trabajo que definen
las especificaciones sobre WS utilizan estndares adecuados, a la vez que monitoriza el
avance de sus trabajos; no define ni desarrolla estndares.

SOA y los micros servicios

Los microservicios son una interpretacin moderna de la arquitectura orientada a servicios


usada para construir sistemas distribuidos. Lo servicios en una arquitectura de
microservicios6 son procesos que se comunican con otros a travs de una red para
conseguir el objetivo final. Estos servicios pueden usan protocolos simples (tpicamente
HTTP con REST o mensajera liviana como RabbitMQ o ZeroMQ).

Capas de software

SOA define las siguientes capas de software:

Aplicaciones bsicas: sistemas desarrollados bajo cualquier arquitectura o


tecnologa, geogrficamente dispersos y bajo cualquier figura de propiedad;

De exposicin de funcionalidades: donde las funcionalidades de la capa


aplicativa son expuestas en forma de servicios (generalmente como servicios web);

De integracin de servicios: facilitan el intercambio de datos entre elementos de


la capa aplicativa orientada a procesos empresariales internos o en colaboracin;

De composicin de procesos: que define el proceso en trminos del negocio y


sus necesidades, y que vara en funcin del negocio;

De entrega: donde los servicios son desplegados a los usuarios finales.


Diseo y desarrollo de SOA

La metodologa de modelado y diseo para aplicaciones SOA se conoce como anlisis y


diseo orientado a servicios. La arquitectura orientada a servicios es tanto un marco de
trabajo para el desarrollo de software como un marco de trabajo de implementacin. Para
que un proyecto SOA tenga xito los desarrolladores de software deben orientarse ellos
mismos a esta mentalidad de crear servicios comunes que son orquestados por clientes o
middleware para implementar los procesos de negocio. El desarrollo de sistemas usando
SOA requiere un compromiso con este modelo en trminos de planificacin, herramientas
e infraestructura.

Elementos de una arquitectura SOA, por Dirk Krafzig, Karl Banke, y Dirk Slama.8

Cuando la mayora de la gente habla de una arquitectura orientada a servicios estn


hablando de un juego de servicios residentes en Internet o en una intranet, usando
servicios web. Existen diversos estndares relacionados a los servicios web; incluyendo
los siguientes:

XML

HTTP

SOAP

REST

WSDL

UDDI
Hay que considerar, sin embargo, que un sistema SOA no necesariamente utiliza estos
estndares para ser "Orientado a Servicios" pero es altamente recomendable su uso.

En un ambiente SOA, los nodos de la red hacen disponibles sus recursos a otros
participantes en la red como servicios independientes a los que tienen acceso de un modo
estandarizado. La mayora de las definiciones de SOA identifican la utilizacin de servicios
web (empleando SOAP y WSDL) en su implementacin, no obstante se puede
implementar SOA utilizando cualquier tecnologa basada en servicios.

Lenguajes de alto nivel

Los lenguajes de alto nivel como BPEL o WS-Coordination llevan el concepto de servicio
un paso adelante al proporcionar mtodos de definicin y soporte para flujos de trabajo y
procesos de negocio.

Beneficios

El gran beneficio de SOA es la agilidad que proporciona a las organizaciones que la usan.
Las caractersticas propias de SOA permiten a las organizaciones la capacidad de
controlar un problema de forma general, permitiendo una respuesta ms rpida y eficaz y
por tanto adaptarse de la mejor forma a los cambios.

Otra de sus ventajas es la independencia de las plataformas e infraestructuras


tecnolgicas, lo que le permite integrarse con sistemas y aplicaciones diferentes de forma
sencilla. Gracias a esta independencia SOA es su arquitectura flexible que permite la
reutilizacin de las tecnologas existentes. As que, una empresa no necesita realizar un
cambio integral para adoptar SOA.

Los beneficios que puede obtener una organizacin que adopte SOA son:

Mejora en los tiempos de realizacin de cambios en procesos

Facilidad para evolucionar a modelos de negocios basados en tercerizacin

Facilidad para abordar modelos de negocios basados en colaboracin con


otros entes (socios, proveedores): facilita la integracin de sistemas y aplicaciones
diferentes, lo cual mejora la comunicacin y la capacidad de respuesta con sistemas
externos

Poder para reemplazar elementos de la capa aplicativa SOA sin disrupcin


en el proceso de negocio

Facilidad para la integracin de tecnologas dismiles


Mejora en la toma de decisiones: la organizacin dispone de mayor informacin
y ms actualizada, lo que le permite una respuesta rpida y eficaz cuando surgen
problemas o cambios

Aplicaciones flexibles: la orientacin a servicios permite desarrollar aplicaciones


con independencia de las plataformas y lenguajes de programacin que realizan los
procesos

Aplicaciones reutilizables y adaptables: permite que las aplicaciones existentes


para ser reutilizadas y adaptadas a nuevos entornos con facilidad. As conseguimos
optimizar los recursos empleados en su desarrollo

Reduccin de costes: el coste de ampliar o crear nuevos servicios se reduce


considerablemente tanto en aplicaciones nuevas como ya existentes

Riesgo de migracin: al adaptar SOA a partir de una tecnologa existente se


siguen utilizando los componentes existentes, por lo que se reduce el riesgo de
introducir fallos

Diferencias con otras arquitecturas

Al contrario de las arquitecturas orientado a objetos, las SOA estn formadas por servicios
de aplicacin dbilmente acoplados y altamente interoperables. Para comunicarse entre
s, estos servicios se basan en una definicin formal independiente de la plataforma
subyacente y del lenguaje de programacin (p.ej., WSDL). La definicin de la interfaz
encapsula (oculta) las particularidades de una implementacin, lo que la hace
independiente del fabricante, del lenguaje de programacin o de la tecnologa de
desarrollo (como Plataforma Java o Microsoft .NET). Con esta arquitectura, se pretende
que los componentes de software desarrollados sean muy reutilizables, ya que la interfaz
se define siguiendo un estndar; as, un servicio C# podra ser usado por una
aplicacin Java. En este sentido, ciertos autores definen SOA como una Sper-
Abstraccin.

Mitos y realidades

Hay varios mitos asociados a SOA que son importantes entender antes de profundizar en
el tema. La siguiente tabla describe algunos de los principales mitos que rodean a SOA y
los hechos que ayudan a desacreditarlos.

Mito Realidad
SOA es una tecnologa SOA es una filosofa de diseo independiente de cualquier
proveedor, producto, tecnologa o industria. Las necesidades
de SOA varan de una compaa a otra, por tanto la
adquisicin de una arquitectura SOA de otra compaa no
ser la solucin apropiada para su propia compaa

Las SOA requieren de SOA se puede realizar a travs de servicios web pero los
servicios web servicios web no son un requisito necesario para implementar
SOA

SOA es nuevo y EDI, CORBA y DCOM son ejemplos conceptuales de


revolucionario orientacin de servicios

SOA garantiza la SOA no es una metodologa


alineacin de TI y el
negocio

Una arquitectura de No hay dos SOA iguales. Una arquitectura de referencia SOA
referencia SOA reduce puede no ofrecer la mejor solucin para su organizacin
riesgo de
implementacin

SOA requiere una SOA debe ser gradual y construirse sobre sus inversiones
revisin completa de la actuales
tecnologa y procesos
de negocios

Necesitamos construir SOA es un medio, no un fin


una SOA

Centrarse en la entrega de una solucin, no en crear una arquitectura SOA. SOA es un


medio para la entrega de su solucin y no debe ser su objetivo final.

S-ar putea să vă placă și