ACIS Desarrollar proyectos de software y “evitar” el fracaso ? Arquitectura Por Bernardo Díaz Arias berdiaz@yahoo.com
Arquitectura Antecedentes: Demanda : Globalización Basado en una analogía a la arquitectura de edificaciones. Resultado de la experiencia de expertos en proyectos reales GoF.
Arquitectura Realidad Sistema Solar Atomos Cuerpo Humano Células Organigrama
Arquitectura Sistemas Adaptativos Entradas Proceso Salidas Monitoreo Control Influencias del Entorno Ciclico Recursivo
Arquitectura Sistemas Adaptativos
Arquitectura Sistemas Adaptativos
Arquitectura Sistemas Adaptativos
Arquitectura Arquitecturas de Información Cliente Vista = Asesor/Vendedor Controlador = Coordinador de Area Modelo = Operarios
Arquitectura Arquitecturas de Información Recursividad Según Complejidad
Arquitectura Arquitecturas de Información Organigrama – Estructura Organizacional Procesos de La Organización Roles – Actividades / Área Entidades de Negocio = Objetos de interés para una organización (pe. Formulario Predial para la SHD).
Arquitectura Metapatrones de Diseño Sistemas Adaptativos Árboles de Información Puntos de Coordinación Centralizada Distribución de Responsabilidades Especialización Flujo de Información circular por nivel(eficiente) Recursividad
Arquitectura Antecedentes:
Arquitectura Antecedentes:
Arquitectura Características Principales: Rol: Robustez Escalabilidad. Performance. Rol: Arquitecto Diseñador Implementador
Arquitectura Elementos Principales: UML Vistas UML (RUP) Patrones de Diseño Arquitecturas Por Tecnología (MDA: Implementation Model)
Arquitectura Grupos de Modelos UML: Static Dynamic. Implementation. Use Case Package Class Dynamic. Activity Sequence State Object Collaboration Implementation. Component Deployment
Arquitectura UML Diagramas Principales
Arquitectura UML Diagramas de Apoyo (Opcionales):
Arquitectura Vistas UML:
Arquitectura Vistas UML 1: Component View Deployment View Domain Model Subsystem/Module Deployment View Server/Subsystem/Module Domain Model High Level (Business) Entities Design View Package Classes Use Cases View Use Cases / Module Process View Activity / Use Case
Arquitectura Vistas UML 2: Use Cases View Logical View Process View Use Cases / Module Logical View Packages Classess Process View Activities / Use Case Deployment View Server/Subsystem/Module Implementation View Layers/Components Data View MER - Physical Model
Arquitectura Conceptos: Arquitectura del Sistema: D. Deployment (Subsistemas, módulos) D. Deployment (módulos, componentes) D. Packages (Por capas o subsistemas) D. de Clases Control Entidad Datos interfaces entre componentes D. Secuencias (Valida relaciones entre clases) APIs y Frameworks según Plataforma de Implementación Implementación de Referencia
Arquitectura
Arquitectura Capas y Subcapas: Elementos Data Tier Business Tier DBMS Business Tier Persistence (Bidirectional-integration) Product Domain (Business Logic)*** Services (XML) Presentation Tier FormManager (Bidirectional-integration) Form (JSP + JavaScript) Template (HTML) FrontController Client Tier http data (Bidirectional-integration) Browser (HTML+JavaScript)
Arquitectura
Arquitectura
Arquitectura Frameworks = 1 Spec + n-Impl Son librerías de software (APIs) con un propósito definido en una especificación (Spec). Los clientes del framework (desarrolladores y arquitectos) interactúan con el framework a través de la Spec. Esta se basa en roles (interfaces) con actividades y responsabilidades bien definidas (de forma similar a 1cargo – n-empleados en un área de la organización). Entre más estándar/popular sea el framework existirán posibles implementaciones desde proveedores comerciales hasta open source. Un framework se puede configurar para que la lógica la pueda realizar una implementación cualquiera de la Spec. Lo anterior, sin realizar cambios en código para el cliente del framework.
Arquitectura Frameworks: Especificaciones del Java Community Process JVM JSE 1.5.i J2EE 1.4.i Administrativas (JNDI, JMX, JTA, Security Sandbox) Servlets (Presentación) JSP (Presentación) EJB (Negocio) Session Entidad (Nunca recomendados por un arquitecto, sí por desarrolladores) Mensajería JDO (persistencia) JSF (Presentación) Portal (Presentación) WSDP (XML y Web Services) J2ME (Plataforma Móvil)
Arquitectura Evaluación de Frameworks Opensource Técnico Tiene Release de Producción / Estable ? Evaluar Documentación Técnica, de usuario y de instalación Lea el FAQ Verifique instalación y Ejemplos Verifíquelo con sus demás herramientas en caso de que se relacionen. Administrativo Se basa en un estándar del JCP ? Cuantos de sus requerimientos cumple? Tiene soporte comercial ?
Arquitectura Capas y Subcapas: Frameworks y Herramientas (Maduras!!!) Data Tier DBMS Business Tier Persistence (IBATIS) Product Domain = Business Logic Services (Spring ***) Presentation Tier FormBeans – Forms (JSF)
Muchas Gracias por su tiempo !!! Finalmente… Muchas Gracias por su tiempo !!!