Arquitectura de Referencia SOA

Document Sample
Arquitectura de Referencia SOA Powered By Docstoc
					Arquitectura de Referencia SOA
                               Temario
•   Arquitectura de software, SOA y Web Services
•   Por que SOA?
•   Arquitectura de Referencia SOA
•   Roadmap de implementación 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
  organización fundamental de
  un sistema descrita en:
   – Sus componentes.
   – Relación entre ellos y con
     el ambiente.
   – Principios que guían su
                                  El nivel conceptual más
     diseño y evolución.
                                  alto de un sistema en su
                                          ambiente.
• La arquitectura debe
  satisfacer los requerimientos
  de calidad de servicio.
             Arquitectura Orientada a Servicios
                           (SOA)




• SOA es una arquitectura conceptual.
• Organiza funciones de negocio como servicios interoperables.
• Permite reutilización de servicios para dar cumplimiento a las
  necesidades del negocio.
• SOA es basado en estándares.
• 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:
   – Autónomos
   – 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 dinámicamente. UDDI, WSDL, SOAP.
•Tenga una definición del contrato independiente de plataforma.
XML.
•Pueda interoperar con otros servicios. HTTP.
Por que SOA?
     • Permite que el área de IT
       satisfaga más ágilmente las
       necesidades del negocio,
       cerrando cada vez más la
       brecha entre la evolución del
       negocio y el soporte
       tecnológico.

     • Crea servicios basados en
       estándares, interoperables e
       independientes de un
       proveedor específico.

     • Reutilización de servicios para
       la creación de nuevas
       aplicaciones o funcionalidades
       que apoyan los procesos de
       negocio.
                   Arquitectura de Referencia SOA

  Conceptual:                        Modelo de Referencia
  Neutral en                                 SOA
  Tecnología


                          Arquitectura de            Frameworks
Dependiente de            Referencia SOA
  Tecnología.
  Reutilizable                                    Patrones de Diseño
entre Proyectos.


    Instancia
  Arquitectura
 de Referencia.                      Arquitectura Concreta
  Específica de
 cada Proyecto.



• OASIS - Modelo de Referencia SOA
                           Arquitectura Concreta:
                            Servicios de Negocio
       Presentation                Business         Resources




                         Session
                         Facade




  Front
Controller               Session                        EIS
                         Facade




                         Session                                LDAP
                         Facade

                 Servicios de Negocio: Web Services, EJBs.
                            Arquitectura Concreta:
                      Servicios de Negocio y Persistencia
       Presentation                 Business         Integration   Resources




                                               Composite
                          Session                Entity
                          Facade




  Front                                        Composite
Controller                Session
                                                 Entity
                          Facade




                          Session                                     LDAP
                          Facade

     Servicios de Negocio y Persistencia: Web Services, EJBs.
                   Arquitectura Concreta:
             Orquestación 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




                                              Composite
                        Session                 Entity
                        Facade




                                              Composite
                        Session
                                                Entity
                        Facade


Process Orchestration



                        Session                                      LDAP
                        Facade

  Servicios de Negocio y Persistencia: Web Services, EJBs.
               Ruta de Implementación a SOA

• Evaluar grado de madurez SOA y definir grados de madurez que la
  organización 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 6   SOA optimizado




                                                                   Evolución SOA
  Nivel 5   Adopción empresarial de SOA            Explotación

  Nivel 4   SOA repetible
  Nivel 3   Enfoque SOA definido                   Expansión

  Nivel 2   Adopción Ad Hoc de SOA
  Nivel 1   Ninguna adopción de SOA                Exploración
Empresarial   Plataforma de Servicios Lucasian
 Estrategia




                                                    Definir estrategia de IT
                                                    alineada con objetivos y
                         Arquitectura               metas organizacionales
                         Empresarial
Gerencia




                                                 Definir arquitectura general
                        Arquitectura de           para los proyectos de la
   IT




                        Referencia SOA                   organización




              Mentoring de        Workshop de
Proyectos




              Arquitectura y      Arquitectura         Definir arquitectura
                 Diseño
                                                        para un proyecto
   IT




                                                            específico
                         Valoración de
                         Arquitectura
                  Que es un Framework?

Definición

• Es un subsistema de software
  parcialmente construido, de
  propósito general para resolver un
  tipo específico de problema.
• Los framework deben ser
  instanciados
• Define la arquitectura para una
  familia de subsistemas
• Provee bloques básicos de
  construcción y adaptadores.
  Típicamente un framework se construye a partir de
patrones de diseño. Los frameworks imponen patrones
                de diseño para su uso
                        Que es un Framework?
•   Ventajas
     – Son probados.
     – Algunos reutilizan mejores prácticas de
       diseño.
     – Organizan ciertos aspectos del desarrollo
       de un proyecto.
     – Minimización de riesgos.

•   Frameworks Caja-Negra
     – Alto nivel de abstracción.
     – Problemas para identificación y
       corrección de errores en desarrollo y
       producción.
     – 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
diseño, componentes y servicios probados.

Aumenta la productividad para Java, hasta
en un 80% en servicios de negocio.

Disminuye costos en tareas repetitivas de
programación.

Aumenta la calidad de los componentes Java
desarrollados en un proyecto.

Disminuye riesgos a través de la adherencia
a estándares y mejores prácticas de
arquitectura, diseño y programación.
                 Arquitectura de Referencia SOA y
                               LEAF

   Conceptual:
                                          Modelo de Referencia
   Neutral en
                                                  SOA
   Tecnología



                            Arquitectura de                      Frameworks
   LEAF Implementa                                                Para Java
                            Referencia SOA
     Arquitectura
                          Para Java Enterprise
     De referencia                                          Patrones de Diseño
                                 Edition
         Para                                             Java Enterprise Edition
Java Enterprise Edition



  Arquitecturas
 Concretas para                            Arquitectura Concreta
Proyectos creadas                             Proyectos Java
    Con LEAF
                             Componentes de LEAF 3i
       Presentation                       Business                  Integration   Resources




  Front                                                       Composite
Controller                      Session
                                                                Entity
                                Facade


              LEAF JSF
             Components



                           Servicios Horizontales y Frameworks




             <<Runtime>>       <<Runtime>>           <<Runtime>>    <<Runtime>>
               Security          Auditory             Exceptions        Qos
              Framework         Framework             Framework      Framework
                           LEAF Mindware
     Guías y Mejores Prácticas para Proyectos Java EE

• Lineamientos de Arquitectura de     • Guía de Manejo de
  Software para Proyectos J2EE          Excepciones con J2EE

• Framework de Patrones de            • Guía de Afinamiento de
  Diseño J2EE                           Contenedores J2EE (BEA
                                        WebLogic Server, Oracle
• Arquitectura de Desarrollo de         Internet Application Server)
  Proyectos J2EE
                                      • Guía de Pruebas de Stress de
• Guía de Codificación y Estilo con     aplicaciones J2EE
  Java.

• Guía de Documentación Técnica
  con JavaDoc.

• Mejores Prácticas de
  programación con Java.
                   Quién utiliza LEAF?

LEAF se ha utilizado en
proyectos de compañías
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
                 Generación de Servicios –
                     Service Facades




• Generación de Servicios de Negocios.
• Generación de clases cliente de integración con servicios de
  negocios, con framework de validaciones de datos.
• Ejecución 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.
            Generación de Data Access Objects
                     y Value Objects




•   Generación de clases para integración con bases de datos relacionales.
•   Múltiples servicios para administración de datos.
•   Código optimizado para Oracle DB.
•   Acceso a datos de alto rendimiento.
•   Mejores prácticas de Java y SQLs.
•   Generación de Value Objects, para transporte de información.
•   Framework de Calidad de Servicio.
•   Framework de Validaciones de Datos, locales y remotos.
•   Forward-caching de validaciones.
             Generación de Composite Entities
                 y Data Transfer Objects




• Generación de clases Java para mapeo de objetos con bases de
  datos relacionales.
• Múltiples servicios para administración de datos.
• Reutilización de DAOs.
• Inserciones y actualizaciones masivas
• Consultas consolidadas en paralelo de alto desempeño.
• Acceso a datos de alto rendimiento.
• Mejores prácticas de Java y SQLs.
• Generación de Data Transfer Objects.
• Framework de Calidad de Servicio.
            Generación de Read-Only Entities
                y Data Transfer Objects




• Generación de clases Java para lectura óptima de datos con
  bases de datos relacionales.
• Múltiples servicios para consulta de datos.
• Paginación, ordenamiento, filtros.
• Acceso a datos de alto rendimiento.
• Mejores prácticas de Java y SQLs.
• Generación 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 mayoría de las acciones de empresas
    líderes del sector financiero, básicamente bancos comerciales y
    sus compañías filiales (compañías fiduciarias, de leasing,
    almacenadoras, corporaciones financieras) y la mayor
    administradora de fondos de pensiones en el país.

•   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 migración a J2EE a través de un esfuerzo común
    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 Tecnológica
• Oracle Jdeveloper 10g, Oracle Internet Application Server 10g,
   Oracle 8i DB.
• LEAF 2.0
• Arquitectura de Referencia J2EE con Patrones de Diseño.
• Integración 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 presentación y negocio. 434 JSPs.
•   35% clases Java de Presentación.
•   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 presentación.
•   1.5 developers de negocio.
                Caso de Estudio – OPENCARD S.A.

OPENCARD 7 – OPENCARD S.A.
•   OPENCARD S.A. es una compañía de desarrollo de
    software, la cual provee un sistema para administración
    de tarjetas de créditos para entidades financieras y
    tiendas de cadena.
•   Instalaciones en 13 de los más importantes Bancos
    Colombianos, 2 instalaciones en otros países
    latinoamericanos y 1 en USA.

Plataforma Tecnológica:
• 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 Diseño.
• Integración 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 presentación y negocio. 315 JSPs.
•   21% clases Java de Presentación.
•   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 presentación.
•   1.5 developers de negocio.
                 Caso de Estudio – PORVENIR S.A.

SISTEMA MULTIFONDOS – PORVENIR S.A.
•   PORVENIR S.A. compañía líder en el mercado Colombiano de
    fondos de pensiones.
•   Proyecto para remplazar el core de la operación del fondo de
    pensiones y cesantias.
•   900 usuarios del sistema, 2’000.000 de clientes y un portafolio de
    aproximado 9 billones de pesos.



Plataforma Tecnológica:
•   Oracle Jdeveloper 10g, OC4J 10g, Oracle 10g DB.
•   LEAF 2.0
•   Arquitectura de J2EE basada en Patrones de Diseño.
•   Integración 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 presentación y negocios. 220 JSPs.
•   15% clases Java de Presentación.
•   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 presentación.
•   5 developers de negocio.
LEAF Roadmap
Arquitectura de Referencia SOA

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:154
posted:11/23/2011
language:Galician
pages:37