Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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.
Sea descubrible e invocable dinmicamente. UDDI, WSDL, SOAP. Tenga una definicin del contrato independiente de plataforma. XML. Pueda interoperar con otros servicios. HTTP.
Dependiente de Tecnologa. Reutilizable entre Proyectos. Instancia Arquitectura de Referencia. Especfica de cada Proyecto.
Arquitectura Concreta
Session Facade
Front Controller
Session Facade
EIS
Session Facade
LDAP
Session Facade
Composite Entity
Front Controller
Session Facade
Composite Entity
Session Facade
LDAP
Session Facade
Front Controller
Session Facade
Process Orchestration
Session Facade
Session Facade
Composite Entity
Session Facade
Composite Entity
Process Orchestration
Session Facade
LDAP
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
Arquitectura Empresarial
Gerencia IT
Proyectos IT
Workshop de Arquitectura
Valoracin de Arquitectura
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.
Componentes de LEAF 3i
Presentation Business Integration
Resources
Front Controller
Session Facade
Composite Entity
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
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 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 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 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 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.
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
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.
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.
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.
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.
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