270 likes | 578 Views
SOA - GeneXus. Paola Saavedra Martínez psaavedra@accionpoint.com. Universo SOA. Servicio. Aplicación independiente Interfaz bien definida - Mensajes Contexto de clientes Instalación/despliegue Políticas propias de escalabilidad, tolerancia a fallos, manejo de excepciones. Arquitectura.
E N D
SOA - GeneXus Paola Saavedra Martínez psaavedra@accionpoint.com
Servicio • Aplicación independiente • Interfaz bien definida - Mensajes • Contexto de clientes • Instalación/despliegue • Políticas propias de escalabilidad, tolerancia a fallos, manejo de excepciones
Arquitectura • Colección de servicios expuestos en la red • Desarrollo - Ensamble • Protocolos estándar
Distintas visiones • Ejecutivo Conjunto de servicios de negocio • Arquitecto Principios de diseño • Desarrollador Modelo de programación
Ventajas de SOA • Reduce nivel de acoplamiento • Mejora la definición de roles de desarrollo • Mejora la mantenibilidad • Favorece el reuso • Permite interoperabilidad
Motivaciones de Negocio Procesos de Negocio BRECHA - SOA Implementaciones de IT
Es un concepto nuevo SOA? • Reuso • Programación orientada a objetos • Componentes de software • Patrones de diseño / Frameworks • Automatización y Monitoreo de procesos • BPM (Business Process Modeling) • Integración de aplicaciones e interoperabilidad • Corba/DCom/EJB/Web Services
Se adoptará? • Implementación – Web Services • Estandarización de protocolos • Estándares definidos Estándares adoptados • Dinámica del mercado • Estandarización de Plataformas • EAI (Enterprise Application Integration) propietarias COSTO
Arquitectura Publicación del Servicio 1 Proveedor del Servicio Directorio de Servicios 3 Asociación e invocación Consumidor el Servicio Descubrimiento del Servicio 2
Aplicaciones compuestas Servicios de administración Servicios de presentación Servicios de negocio compartidos Servicios de infraestructura Servicios comunes Infraestructura de comunicación Servicios de acceso de información Arquitectura ERP Mainframe DB
ESB (Enterprise Service Bus) Registrar Buscar Servicios Vincular • Implementaciones • Propietarias • Dependientes de plataforma y lenguaje • Generan alto nivel de acoplamiento
ESB (Enterprise Service Bus) • Independencia de lenguaje-plataforma • Soporte para múltiples tipos de mensajería • Motor de orquestación de servicios • Establecimiento y monitoreo de niveles de servicio • Políticas de autenticación y autorización. Auditoria
ESB (Enterprise Service Bus) Seguridad Auditoria Log ESB Administración de servicios Cliente Facade Facade Facade API Aplicación personalizada Aplicación personalizada Aplicación empaquetada Seguridad Auditoria Log
ESB (Enterprise Service Bus) Ruteo Transacción Orquestación Seguridad Auditoria Otros ESB Administración de servicios Cliente Servicios de Negocio Servicios de Negocio Servicios de Negocio Servicios de Negocio Servicios de Negocio Servicios de Negocio Servicios de Negocio Servicios de Negocio Servicios de Negocio
Web Services • Estándares de la industria: XML y HTTP • Independiente del lenguaje y de la plataforma • Es auto descriptivo – WSDL • Protocolos • WSDL • UDDI • SOAP
Arquitectura Publicación del Servicio 1 Proveedor del Servicio WSDL Directorio de Servicios 4 3 Definición del Servicio Invocación y respuesta UDDI SOAP Consumidor el Servicio Descubrimiento del Servicio 2
GeneXus • Implementación • Web Services • EJB • Protocolo Corba • Monitoreo de Procesos • Componente de BPM • Motor de Workflow
Implementación – Web Service • Publicación Fácil Propiedad del Proceso GeneXus
Implementación – Web Service • Consumo • WSDL Inspector • Referencia de tipos de datos • Utilización en cada objeto
Business Component Publicación SOA/EJB Acceso a la Trn desde distintas Interfases INTEGRACIÓN
Business Component Propiedad de la TRN SIMPLE Tipo de datos con propiedades y métodos
Implementación - EJB Procedimientos • Session Beans y Message Driven Beans • Pueden ser llamados por aplicaciones GeneXus y/o aplicaciones externas Business Components • Session Beans
Session Bean Message Driven Bean Un EJB con GeneXus CALL SUBMIT
MessageDrivenBeans <ejb-jar> <enterprise-beans> <message-driven> <ejb-name>MyMDB</ejb-name> <ejb-class>com.jeffhanson.ejb.MyMDB</ejb-class> <transaction-type>Container</transaction-type> <message-driven-destination> <destination-type>javax.jms.Topic</destination-type> </message-driven-destination> <security-identity> <run-as-specified-identity> <role-name>system</role-name> </run-as-specified-identity> </security-identity> </message-driven> </enterprise-beans></ejb-jar >
Muchas gracias ! Paola Saavedra Martinez psaavedra@accionpoint.com