Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Arquitectura Orientar Servicios (SOA)

No description
by

Nathaly Andrea Gutierrez

on 26 April 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Arquitectura Orientar Servicios (SOA)

Introducción

Arquitectura SOA es un paradigma de arquitectura para diseñar y desarrollar sistemas distribuidos. Las soluciones SOA han sido creadas para satisfacer los objetivos de negocio las cuales incluyen facilidad y flexibilidad de integración con sistemas legados, alineación directa a los procesos de negocio reduciendo costos de implementación, innovación de servicios a clientes .
Capas de software que define SOA

• Aplicaciones básicas - Sistemas desarrollados bajo cualquier arquitectura o tecnología, geográficamente dispersos y bajo cualquier figura de propiedad.

• De exposición de funcionalidades - Donde las funcionalidades de la capa aplicativa son expuestas en forma de servicios (generalmente como servicios web).




• De entrega - donde los servicios son desplegados a los usuarios finales.


Servicios Web
Los servicios Web son aplicaciones que utilizan estándares para el transporte, codificación y protocolo de intercambio de información.

Los servicios Web permiten la intercomunicación entre sistemas de cualquier plataforma y se utilizan en una gran variedad de escenarios de integración, tanto dentro de las organizaciones como con partners de negocios
Arquitectura Orientada Servicios (SOA)

Nathaly Andrea Gutierrez Arias
Jennifer Alejandra Cabiativa Sandoval
Caracteristicas
Interoperables
Superan las barreras geográficas
Son flexibles
Se basan en protocolo HTTP
ARQUITECTURA REST vs SOAP
para el desarrollo de servicios Web es importante definir la arquitectura mas apropiada a usar en el sistema, de acuerdo al uso que se le vaya a dar.

Existen dos técnicas de arquitectura software orientadas a Webservices SOAP y REST.

SOAP
Es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambios de datos XML, el punto identificativo de SOAP es que las operaciones son definidas como puertos WSDL (Web Services Description Language). Este protocolo es util en entornos donde se establezca un contrato formal y donde se describirán todas las funciones de la interfaz así como el tipo de datos utilizados tanto de entrada como de salida.
REST
Es un estilo de arquitectura de software para sistemas distribuidos tales como la web, a diferencia de SOAP, se centra en el uso de los estándares HTTP y XML para la transmisión de datos sin la necesidad de contar con una capa adicional. Las operaciones( o funciones) se solicitarán mediante GET, POST, PUT y DELETE, por lo que no requiere de implementaciones especiales para consumir estos servicios.


Desarrollo de servicios bajo
SOAP

WSDL (Web Services Description language)

Desarrollo de servicios bajo REST

WSDL (Web Services Description language)

Simplifica las implementaciones.
Incrementa la velocidad de implementación ante fusiones o adquisiciones.
Reduce los tiempos de implementación y posibilita responder.
inmediatamente ante un cambio en las reglas del negocio.
Incrementa la calidad de servicio a los clientes.
¿Cómo Funciona la arquitectura SOA?
Esquema de Arquitectura SOA
El Bus de Servicios Empresariales (ESB)
Beneficios SOA
Reduce el tiempo de desarrollo de aplicaciones
Aumenta el control de los procesos de negocios
Disminuye el riesgo del proyecto
Incrementa la calidad de servicio a los clientes
Disminuye la inversión
Reduce los costos de desarrollo de nuevos proyectos (codificación VS parametrización)
Reduce hardware y comunicaciones asociadas a la integración
Reduce los costos asociados al mantenimiento de HW y SW
Multi plataforma: Host, Unix, Windows
La adopción de una arquitectura basada en servicios
requiere de una infraestructura de comunicaciones escalable
y segura entre los componentes. Esto es lo que se conoce
como Enterprise Service Bus
El Bus de Servicios Empresariales es el concepto que se refiere a la infraestructura de transporte de mensajes entre el motor de procesos y los servicios de los que dispone la empresa
• El bus requiere una infraestructura sólida que ofrezca a los desarrolladores la seguridad de que los mensajes sean entregados siempre, independientemente de los problemas que puedan afectar a un servicio determinado en un momento dado.
• El bus debe ofrecer seguridad total y conectividad hacia todo
el software de infraestructura de la empresa
• El bus debe ser totalmente monitoreable porque se
convierte en la columna vertebral de todos los sistemas de la
empresa
Colas de mensajes
• Las colas de mensaje se utilizan para comunicar
distintas aplicaciones, garantizando la entrega e
integridad de los mensajes, reduciendo la complejidad
del desarrollo
• Se suelen utilizar para mejorar la disponibilidad y
escalabilidad de los sistemas
• Las colas pueden ser persistentes o no y se utilizan en
esquemas punto a punto o publish and subscribe
Modelos Point-to-Point y
Publish and Subscribe
Transformación y ruteo de mensajes
Para una mayor flexibilidad, es aconsejable que en
lugar de compartir una sola cola, cada sistema
disponga de su propia cola, la cual intercambia
mensajes con otras colas a través de un broker
La función de un broker es tomar mensajes de una
cola, transformarlos y rutearlos hacia uno u varios
sistemas dentro de una transacción de negocios
Integración de aplicaciones
El estándar para conectores en la plataforma J2EE es
conocido como Java Connector Architecture (J2C o JCA)
•Los conectores J2C son apropiados para que
aplicaciones J2EE puedan intercambiar información
con sistemas legados
• Esto permite que las aplicaciones legadas participen de
manera activa en los procesos
• Algunos proveedores de servidores de aplicaciones
venden conectores J2C, también existen empresas
especializadas en vender conectores
Orquestación de servicios
Utilizando la infraestructura del ESB (bus de servicios de empresa), es posible combinar servicios en un proceso automatizado ininterrumpido(micro-flujo) para crear un nuevo servicio
Existe un estándar, BPEL (Business Process Execution Language) para la definición de micro-flujos
Limitaciones de BPEL
• BPEL resulta muy útil para la orquestación de
servicios pero resulta insuficiente para la definición de
procesos de negocios complejos
• No soporta macro-flujos con intervención humana
• No incluye mecanismos para integrar a los flujos
componentes que no sean servicios
• Motores de reglas
• Máquinas de estado
SCA (Service Component Architecture)
• SCA es un nuevo estándar creado por BEA e IBM
para superar las limitaciones de BPEL
• Con SCA se pueden crear procesos complejos que
incluyen diversos componentes
• Procesos BPEL
• Interacción con humanos
• Motores de reglas, etc.
• SCA utiliza SDO (Service Data Objects JSR 235) para
representar los datos XML que fluyen por el proceso
Business Process Management
• Una de las principales ventajas de adoptar SCA y
BPEL es que la lógica de negocios queda separada de
la programación de los componentes
• Esto va a permitir que poco a poco sean los usuarios
finales quienes modelen la lógica de negocios
• Progresivamente irán apareciendo también nuevas
herramientas que permitan monitorear el desempeño
de los procesos y así se cerrará el círculo virtuoso del
BPM
Gracias
ESTRATEGIAS DE ADOPCION SOA
Facilitadores de SOA
Hay facilitadores tecnológicos principales que permiten, desde el punto de vista tecnológico, la implantación de SOA. No es imprescindible el uso de todos los facilitadores, pero cada de ellos es importante para alcanzar plenamente todos los beneficios esperados.

BPM o Business Process Management:


Permite la orquestación automática de servicios separados para crear una capa de procesos de negocio integrados a nivel corporativo

WEB SERVICES:

La tecnología de Web Services Standard-based HTTP, XML, SOAP, WS-*...Permite comunicaciones estandarizadas punto-apunto entre los sistemas mediante estándares ampliamente aceptados


ESB o Enterprise Service Bus:

Posibilita una red de sistemas dispares interactuando como un sistema unificado corporativo y resolviendo las diferencias en sistemas HW, SW, redes y localizaciones

BAM o Business Activity Monitoring:

Proporciona monitorización de ejecución de procesos, visión en tiempo real y control del negocio

El ESR o Enterprise Service:

Catálogo de servicios y procesos Proporciona un depósito para el almacenamiento, catalogación y consulta, tanto de servicios como de procesos, con las siguientes funciones:
Análisis de impacto, Multientorno, Versionado

El Gobierno de ejecución

Proporciona mecanismos para el monitoreo técnico no invasivo en tiempo de ejecución de la utilización de los web services:
Mapa de uso, Seguridad, Nivel de servicio y aplicación de políticas, Alarmas en caso de servicios no disponibles
Full transcript