Está en la página 1de 37

Arquitectura de Referencia SOA

Temario
Arquitectura de software, SOA y Web Services Por que SOA? Arquitectura de Referencia SOA Roadmap de implementacin de SOA Lucasian Labs Plataforma de Servicios LEAF - Lucasian Enterprise Application Framework Componentes LEAF SOA y LEAF Casos de xito LEAF

Arquitectura de Software
Proyectos sin Arquitectura, ni Frameworks

Arquitectura de Software
IEEE 1471 Arquitectura es la organizacin fundamental de un sistema descrita en: Sus componentes. Relacin entre ellos y con el ambiente. Principios que guan su diseo y evolucin.
La arquitectura debe satisfacer los requerimientos de calidad de servicio.

El nivel conceptual ms alto de un sistema en su ambiente.

Arquitectura Orientada a Servicios (SOA)

SOA es una arquitectura conceptual. Organiza funciones de negocio como servicios interoperables. Permite reutilizacin de servicios para dar cumplimiento a las necesidades del negocio. SOA es basado en estndares. Independencia de fabricantes.
SOA es una estrategia de IT, a nivel empresarial.

Que es un Servicio?
Un servicio es un componente que provee un conjunto de funciones de negocios. Los servicios son conceptualmente: Autnomos Opacos Bajamente acoplados.

SOA y Web Services


Los Servicios Web juegan un papel importante en una arquitectura SOA, ya que brindan mecanismos independientes de la plataforma para exponer, descubrir e invocar servicios. SOA requiere que un servicio:

Sea descubrible e invocable dinmicamente. UDDI, WSDL, SOAP. Tenga una definicin del contrato independiente de plataforma. XML. Pueda interoperar con otros servicios. HTTP.

Por que SOA?


Permite que el rea de IT satisfaga ms gilmente las necesidades del negocio, cerrando cada vez ms la brecha entre la evolucin del negocio y el soporte tecnolgico.
Crea servicios basados en estndares, interoperables e independientes de un proveedor especfico. Reutilizacin de servicios para la creacin de nuevas aplicaciones o funcionalidades que apoyan los procesos de negocio.

Arquitectura de Referencia SOA


Conceptual: Neutral en Tecnologa
Modelo de Referencia SOA

Dependiente de Tecnologa. Reutilizable entre Proyectos. Instancia Arquitectura de Referencia. Especfica de cada Proyecto.

Arquitectura de Referencia SOA

Frameworks Patrones de Diseo

Arquitectura Concreta

OASIS - Modelo de Referencia SOA

Arquitectura Concreta: Servicios de Negocio


Presentation Business
Resources

Session Facade

Front Controller

Session Facade

EIS

Session Facade

LDAP

Servicios de Negocio: Web Services, EJBs.

Arquitectura Concreta: Servicios de Negocio y Persistencia


Presentation Business Integration
Resources

Session Facade

Composite Entity

Front Controller

Session Facade

Composite Entity

Session Facade

LDAP

Servicios de Negocio y Persistencia: Web Services, EJBs.

Arquitectura Concreta: Orquestacin y Procesos de Negocio


Presentation Business

Session Facade

Front Controller

Session Facade

Process Orchestration

Session Facade

Servicios de Negocio: Web Services, EJBs.

Arquitectura Concreta: Servicios de Negocio y Persistencia


Business Process Business Logic Integration
Resources

Session Facade

Composite Entity

Session Facade

Composite Entity

Process Orchestration

Session Facade

LDAP

Servicios de Negocio y Persistencia: Web Services, EJBs.

Ruta de Implementacin a SOA


Evaluar grado de madurez SOA y definir grados de madurez que la organizacin quiere alcanzar en el tiempo. Implementar un proyecto piloto utilizando SOA con servicios simples que impacten mas de un rea de negocio. Para el caso de sistemas legados habilitar funciones de negocio requeridas por el proyecto piloto como servicios.

Nivel 5 Nivel 4 Nivel 3 Nivel 2


Nivel 1

Adopcin empresarial de SOA SOA repetible Enfoque SOA definido Adopcin Ad Hoc de SOA
Ninguna adopcin de SOA

Explotacin

Expansin

Exploracin

Evolucin SOA

Nivel 6

SOA optimizado

Plataforma de Servicios Lucasian


Estrategia Empresarial
Definir estrategia de IT alineada con objetivos y metas organizacionales

Arquitectura Empresarial

Gerencia IT

Arquitectura de Referencia SOA

Definir arquitectura general para los proyectos de la organizacin

Proyectos IT

Mentoring de Arquitectura y Diseo

Workshop de Arquitectura

Valoracin de Arquitectura

Definir arquitectura para un proyecto especfico

Que es un Framework?
Definicin
Es un subsistema de software parcialmente construido, de propsito general para resolver un tipo especfico de problema. Los framework deben ser instanciados Define la arquitectura para una familia de subsistemas Provee bloques bsicos de construccin y adaptadores. Tpicamente un framework se construye a partir de patrones de diseo. Los frameworks imponen patrones de diseo para su uso

Que es un Framework?
Ventajas Son probados. Algunos reutilizan mejores prcticas de diseo. Organizan ciertos aspectos del desarrollo de un proyecto. Minimizacin de riesgos.
Frameworks Caja-Negra Alto nivel de abstraccin. Problemas para identificacin y correccin de errores en desarrollo y produccin. Mecanismos limitados de extensibilidad. No permiten optimizaciones. Riesgos de compatibilidad entre versiones. Dependencias potenciales con un fabricante.

Lucasian Enterprise Application Framework


Framework Caja-Blanca. Arquitectura de Referencia SOA para Java Enterprise Edition, soportada con: patrones de diseo, componentes y servicios probados. Aumenta la productividad para Java, hasta en un 80% en servicios de negocio. Disminuye costos en tareas repetitivas de programacin. Aumenta la calidad de los componentes Java desarrollados en un proyecto. Disminuye riesgos a travs de la adherencia a estndares y mejores prcticas de arquitectura, diseo y programacin.

Arquitectura de Referencia SOA y LEAF


Conceptual: Neutral en Tecnologa Modelo de Referencia SOA

LEAF Implementa Arquitectura De referencia Para Java Enterprise Edition

Arquitectura de Referencia SOA Para Java Enterprise Edition

Frameworks Para Java Patrones de Diseo Java Enterprise Edition

Arquitecturas Concretas para Proyectos creadas Con LEAF

Arquitectura Concreta Proyectos Java

Componentes de LEAF 3i
Presentation Business Integration
Resources

Front Controller

Session Facade

Composite Entity

LEAF JSF Components

Servicios Horizontales y Frameworks

<<Runtime>> Security Framework

<<Runtime>> Auditory Framework

<<Runtime>> Exceptions Framework

<<Runtime>> Qos Framework

LEAF Mindware
Guas y Mejores Prcticas para Proyectos Java EE
Lineamientos de Arquitectura de Software para Proyectos J2EE
Framework de Patrones de Diseo J2EE Gua de Manejo de Excepciones con J2EE Gua de Afinamiento de Contenedores J2EE (BEA WebLogic Server, Oracle Internet Application Server) Gua de Pruebas de Stress de aplicaciones J2EE

Arquitectura de Desarrollo de Proyectos J2EE


Gua de Codificacin y Estilo con Java. Gua de Documentacin Tcnica con JavaDoc. Mejores Prcticas de programacin con Java.

Quin utiliza LEAF?


LEAF se ha utilizado en proyectos de compaas prestigiosas del sector financiero en Colombia: Sistemas Corporativos Grupo AVAL Porvenir S.A. Banco AV Villas Opencard S.A. Delima Marsh Lucasian Labs

Matriz de Compatibilidad
Matriz de compatibilidad de Contenedores y bases de datos soportados por LEAF:
Sistemas Operativos

Middleware

Bases de Datos

* Los productos anteriores, son marcas y logos registrados de sus correspondientes empresas

Generacin de Servicios Service Facades

Generacin de Servicios de Negocios. Generacin de clases cliente de integracin con servicios de negocios, con framework de validaciones de datos. Ejecucin de alto rendimiento. Framework de Calidad de Servicio para visibilidad operacional. Portabilidad entre contenedores: BEA Web Logic 8.x, 9.x, Oracle Internet Application Server 10g, Jboss 3.x, 4.x.

Generacin de Data Access Objects y Value Objects

Generacin de clases para integracin con bases de datos relacionales. Mltiples servicios para administracin de datos. Cdigo optimizado para Oracle DB. Acceso a datos de alto rendimiento. Mejores prcticas de Java y SQLs. Generacin de Value Objects, para transporte de informacin. Framework de Calidad de Servicio. Framework de Validaciones de Datos, locales y remotos. Forward-caching de validaciones.

Generacin de Composite Entities y Data Transfer Objects

Generacin de clases Java para mapeo de objetos con bases de datos relacionales. Mltiples servicios para administracin de datos. Reutilizacin de DAOs. Inserciones y actualizaciones masivas Consultas consolidadas en paralelo de alto desempeo. Acceso a datos de alto rendimiento. Mejores prcticas de Java y SQLs. Generacin de Data Transfer Objects. Framework de Calidad de Servicio.

Generacin de Read-Only Entities y Data Transfer Objects

Generacin de clases Java para lectura ptima de datos con bases de datos relacionales. Mltiples servicios para consulta de datos. Paginacin, ordenamiento, filtros. Acceso a datos de alto rendimiento. Mejores prcticas de Java y SQLs. Generacin de Data Transfer Objects. Framework de Calidad de Servicio.

Caso de Estudio Grupo AVAL


Sistema de Comercio Internacional (SISCOI) Sistemas Corporativos - Grupo AVAL.
Grupo Aval es una sociedad "holding" propietaria - directa o indirectamente - de la mayora de las acciones de empresas lderes del sector financiero, bsicamente bancos comerciales y sus compaas filiales (compaas fiduciarias, de leasing, almacenadoras, corporaciones financieras) y la mayor administradora de fondos de pensiones en el pas. A junio de 2003, estas entidades representaban el 19.1% de los activos del sector bancario en Colombia. SISCOI es el Sistema de Comercio Internacional utilizado por los Bancos de Bogot, de Occidente y Popular. Actualmente SISCOI opera en plataforma Forte y se est realizando su migracin a J2EE a travs de un esfuerzo comn de los tres Bancos, liderado por Grupo AVAL.

Caso de Estudio Grupo AVAL


Dominio de Negocio
En SISCOI se administran las operaciones de comercio internacional de estos bancos: giros internacionales, remesas, ordenes de pago, compra y venta de divisas, declaraciones de cambio, operaciones de deuda externa, etc.

Plataforma Tecnolgica Oracle Jdeveloper 10g, Oracle Internet Application Server 10g, Oracle 8i DB. LEAF 2.0 Arquitectura de Referencia J2EE con Patrones de Diseo. Integracin con Base de Datos con Data Access Objects. Servicios de Negocios: Stateless Session EJBs Interface de Usuario Web con Java Server Faces (JSF). Usuarios: 160 en los tres bancos Volumen de Transacciones por mes: 32.000 en los tres bancos

Caso de Estudio Grupo AVAL

1666 clases Java de presentacin y negocio. 434 JSPs. 35% clases Java de Presentacin. 65% clases Java de negocio. 630 clases Java de negocio generadas con asistentes de LEAF. 46% de clases Java han sido codificadas manualmente. 4 developers de presentacin. 1.5 developers de negocio.

Caso de Estudio OPENCARD S.A.


OPENCARD 7 OPENCARD S.A.
OPENCARD S.A. es una compaa de desarrollo de software, la cual provee un sistema para administracin de tarjetas de crditos para entidades financieras y tiendas de cadena. Instalaciones en 13 de los ms importantes Bancos Colombianos, 2 instalaciones en otros pases latinoamericanos y 1 en USA.

Plataforma Tecnolgica: Oracle Jdeveloper 10g, OC4J 10g, Oracle 10g DB. RUP, IBM Rational Modeler, IBM Rational Requisite Pro. LEAF 2.0 Arquitectura de Referencia J2EE con Patrones de Diseo. Integracin con Base de Datos con Data Access Objects. Servicios de Negocios: Stateless Session EJBs Interface de Usuario Web con Java Server Faces (JSP). Altos requerimientos de seguridad, concurrencia y procesos batch.

Caso de Estudio OPENCARD S.A.

960 clases Java de presentacin y negocio. 315 JSPs. 21% clases Java de Presentacin. 79% clases Java de negocio. 530 clases Java de negocio generadas con asistentes de LEAF. (76%) 147 clases Java codificadas manualmente. (24%) 4 developers de presentacin. 1.5 developers de negocio.

Caso de Estudio PORVENIR S.A.


SISTEMA MULTIFONDOS PORVENIR S.A.
PORVENIR S.A. compaa lder en el mercado Colombiano de fondos de pensiones. Proyecto para remplazar el core de la operacin del fondo de pensiones y cesantias. 900 usuarios del sistema, 2000.000 de clientes y un portafolio de aproximado 9 billones de pesos.

Plataforma Tecnolgica:
Oracle Jdeveloper 10g, OC4J 10g, Oracle 10g DB. LEAF 2.0 Arquitectura de J2EE basada en Patrones de Diseo. Integracin con Base de Datos con Data Access Objects. Servicios de Negocios: Stateless Session EJBs Interface de Usuario Web con Java Server Faces (JSP). Altos requerimientos de seguridad, concurrencia y procesos batch.

Caso de Estudio PORVENIR S.A.

1602 clases Java de presentacin y negocios. 220 JSPs. 15% clases Java de Presentacin. 85% clases Java de negocio. 1059 clases Java de negocio generadas con asistentes de LEAF. (77%) 265 clases Java codificadas manualmente. (23%) 5 developers de presentacin. 5 developers de negocio.

LEAF Roadmap

Arquitectura de Referencia SOA

También podría gustarte