Arquitectura de Software Propuesta SIGEP

Slides:



Advertisements
Presentaciones similares
JEE Introducción a Java Enterprise Edition (JEE) y el modelo Enterprise Java Beans (EJB)
Advertisements

Mónica Acosta Yeison Ceballos Carlos Rodallega
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Red Social: “Un millón de Amigos”.
Servidores Web Capítulo 2.
J2EE – Java 2 Enterprise Edition
Universidad Nacional Autónoma de Honduras
Servicios Web.
"java del lado del servidor" Servlet y JSP Java Server Pages.
“SISTEMA DE PASANTÍAS PARA LA FACULTAD DE INGENIERÍA
INFOPATH.
Arquitectura de la Aplicación
Framework Hexápodo PHP fácil, rápido y sin dolor
Spring Framework v2.5.
Model View Controller (MVC)
Índice 1. Introducción, objetivos y justificación del proyecto.
STRUTS, IBATIS Y AJAX PARA LA GESTIÓN INTEGRAL DE UN TALLER MECÁNICO
ACIS Desarrollar proyectos de software y “evitar” el fracaso ?
Java 2 Platform Enterprise Edition
Características Técnicas
Ingeniería del Software
SISTEMA DE GENERACIÓN Y SEGUIMIENTO DE REPARACIÓN DE CONTENEDORES
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
1er. Comité de Usuarios. Historia ¿Qué hay de nuevo? No más cygwin. Exportación granular: trabajo distribuído. Compilación de metadatos. Manejo.
Contexto: Aplicación gráfica.  Siempre que se piensa en separar la funcionalidad de una aplicación de su interacción con el usuario, bien sea una aplicación.
Tecnologías para el desarrollo de aplicaciones Web
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
Propósito: * Mostrar indicativos porcentuales de los diversos microorganismos con los que se alimentan el camarón en un manejo semi-intensivo aplicado.
InfoPath Ventajas y Uso.
DISEÑO DE SOFTWARE 1ª. Parte
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
SPRING MVC.
Tutor: Ing. Juan E. Talavera Horn 2010 GWT – EJB Patrones de diseño e integración.
J2EE – Java 2 Enterprise Edition
Un sistema de gestión de bases de datos: Es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por tanto, el SGBD.
CURSO STRUTS 2 RESUMEN Resumen de lo visto en este primer módulo de INTRODUCCIÓN al framework Struts 2 Debes tener los conceptos muy claros sobre: Framework.
INTRODUCCIÓN A AJAX. ¿Qué es AJAX? Acrónimo de Asynchronous JavaScript And XML No es ninguna tecnología, ni lenguaje de programación. Es una técnica de.
Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -
Proyecto HelpDesk sobre plataforma Link-All
Eguana Reports Servidor de Reportes basado en Tecnología Java y XML Presentado por: Roy Cox S. Fernando Pérez M. José Pérez S.
MÓDULO 1: Introducción al framework Struts 2
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales “WEB SERVICES” Integrantes: Ene Adriana Guevara Vanina Martínez Cintia.
Aplicaciones Web de Servidor
IS2Objetos Distribuidos - J2EE,RMI1 Ingeniería del software II Ingeniería Web.
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
MVC con Spring Temas Selectos de Cómputo Cibernética 912 Agosto-Diciembre 2005.
Manual Desarrollo Flex – J2EE. Contenidos Análisis y Diseño 1 Implementación 2 J2EE 3 Pruebas 4.
DIEGO ARMANDO GÓMEZ CUERVO Desarrollo de aplicaciones WEB con herramientas de software libre.
FACULTAD: CIENCIAS ECONÓMICAS Y EMPRESARIALES ASIGNATURA: GESTIÓN DE CONTENIDO ELECTRÓNICO TÍTULO: TINFOPATH - VENTAJAS Y USO. AUTORA: MARIA DANIELA TOMALÁ.
CONTRATOS DE CLIENTES Orlando Sedamano Cornejo Marco Bustinza
© Softtek Internal. Introducción a Spring Sesión 1: Introducción y teoría Juan Irungaray
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
Unidad 3 MODELO DE ANALISIS.
GeneXus 9.0: Creando el ERP del Futuro basado en una Arquitectura Orientada a Servicios
Luis Ponce Cabello.  Primera Parte : JSF  Segunda Parte : Facelets  Tercera Parte : Icefaces.
Guadalupe Andrade Mociño.  Significa Modelo Vista Controlador  Es un patrón de diseño  Esta compuesto por tres grandes capas: modelo, vista y controlador.
Gestión de proyectos fin de carrera
Manejá tus tiempos Facultad de Ingeniería de la Universidad de Buenos Aires – Marzo 2012.
Manejá tus tiempos Facultad de Ingeniería de la Universidad de Buenos Aires – Marzo 2012.
Manejá tus tiempos Facultad de Ingeniería de la Universidad de Buenos Aires – Marzo 2012.
Your Logo ING. FREDY ALEXANDER MARTINEZ. Here comes your footer  Page 2 Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación.
Manejá tus tiempos Facultad de Ingeniería de la Universidad de Buenos Aires – Marzo 2012.
Aclaraciones al modelo MVC del Framework de Justicia
Arquitecturas de Integración Mensajería
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Conociendo el modelo Cliente-Servidor
Notario electrónico Consejería de Justicia y Administración Pública Dirección General de Organización, Inspección y Calidad de los Servicios Antonio Pedro.
SIGEP Presentación de Resultados SIGEP. SIGEP Ambiente de Desarrollo  Plataforma Java ( J2EE,JRE,JDK,JVM ).  Contenedor Web ( Tomcat 5 )  Control de.
SYMFONY Información del Framework. Síntesis de Symfony  Es un framework diseñado para optimizar el desarrollo de aplicaciones web creado con PHP5. 
Transcripción de la presentación:

Arquitectura de Software Propuesta SIGEP

Ambiente de Desarrollo Plataforma Java (J2EE,JRE,JDK,JVM). Contenedor Web (Tomcat 5) Control de Versiones. (SubVersion) Base de Datos.(Oracle 10g) Herramientas de Modelado. (Erwin, Visual Paradigm)

Ambiente de Desarrollo Entorno Integrado de Desarrollo (Eclipse) WTP SpringIDE HibernateTools SubEclipse AJDT (AspectJ Development Tools)

Ambiente de Desarrollo Frameworks Spring Acegi Security System AspectJ Hibernate JUnit EHCache JCaptcha JasperReport JFreeChart

Ambiente de Desarrollo

Spring Framework Framework de código abierto. Provee servicios empresariales en POJOs. Es el más popular y el más ambicioso de todos los framework de peso ligero. Interviene en todas las capas arquitectónicas de una aplicación J2EE. Ofrece un rango de servicios.

Módulos de Spring Spring AOP Spring ORM Spring WEB Spring WEB MVC AOP infrastructure Spring ORM Hibernate support iBatis support JDO support Spring WEB WebApplicationContext MultipartResolver Web utilities Spring WEB MVC Web MVC Framework Web Views JSP / Velocity PDF / Excel Spring DAO Transaction infrastructure JDBC support DAO support Spring Context Application context UI support Validation JNDI, EJB support && Remoting Mail Spring Core Supporting utilities Bean container

Aspectos de Seguridad – Acegi Security System Aspecto de administración de Transacciones Aspecto de auditoría Aspecto de Cache

Persistencia de POJOS(Java beans) Capa de Acceso a Datos Persistencia de POJOS(Java beans) Ficheros de Mapeo flexibles e intuitivos. Modelos de objetos bien granulados. Lenguaje de consultas de alto rendimiento. Arquitectura de caché. (Objetos y Consultas) Soporte para objetos desmarcados. (OpenSessionInView) Herramientas para desarrollo. Soporte para diferentes tipos de pruebas. Abstracción a través del uso de DAOs y Genericidad. Configuración de un Pool de Conexiones.

Definición de las Transacciones Comportamiento de la propagación. (PROPAGATION_REQUIRED, PROPAGATION_SUPPORTS …) Aislamiento ( READ_COMMITTED, SERIALIZABLE , … ) Timeout Read-Only

Arquitectura de servicios Capa de servicio Arquitectura de servicios Desarrollo modular y encapsulado de funciones de negocio que colaboren entre sí como servicios. Diseño desacoplado. La interfaz del servicio es independiente de su implementación.

Ventajas Capa de servicio Sencillez en el proceso de desarrollo, mantenimiento, integración de aplicaciones. Incorporación de diversas tecnologías de interfaz de usuario.

Java No Java Interacción con otros sistemas Jax-RPC SOAP Capa de servicio Interacción con otros sistemas Jax-RPC Java No Java SOAP Jax-RPC. API de Java para invocación remota de procedimientos basados en xml.

Java Java Capa de servicio RMI. Infraestructura clásica de comunicación remota en Java. Hessian. Protocolo binario sobre HTTP. Burlap. Protocolo basado en xml sobre HTTP. HTTP Invoker. Solución de Spring para comunicación remota Java-Java sobre HTTP. Lingo. Framework de comunicación remota para Spring. Comunicación asíncrona.

Sistemas de mensajería Proporcionan servicios adicionales que los sistemas tradicionales síncronos no pueden ofrecer. Algunas de las características más interesantes de estos sistemas son: Funcionamiento síncrono o asíncrono Fiabilidad Escaso acoplamiento Múltiples destinos

Arquitectura JMS •Proveedor JMS: sistema de mensajería que implementa interfaces JMS y brinda facilidades administrativas y de control Ej: Active MQ, OpenJMS , Jonam. •Cliente JMS: son los programas escritos en Java que producen y consumen mensajes •Mensajes:objetos que comunican información entre los clientes

Point to Point Se usará el sistema de mensajes punto a punto cuando todos los mensajes enviados deben ser procesados correctamente por el consumidor.

Publish/subscriber

Apache ActiveMQ Es un canal de mensajería ,open-source y desarrollado bajo la Licencia 2.0 de Apache con soporte completo para JMS 1.1 y J2EE 1.4.

Aspectos de Seguridad – Acegi Security System Aspecto de administración de Transacciones Aspecto de auditoría Aspecto de Cache

Diagrama de clases del negocio

Estructura de paquetes Subsistema de Control Penal Módulo de Traslados Estructura de paquetes para soportar los CUs

Colaboración entre Subsistemas

Colaboración entre Módulos

Patrón MVC para Presentación Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos.

Spring MVC Handler Mapping Dispatcher Servlet Controller ModelAndView Request ModelAndView ViewResolver View

Controllers Manipuladores de peticiones simples sin un determinado flujo de trabajo. Manipuladores de Formularios que controlan el ciclo completo de vida de un formulario. Manipuladores de wizards que proveen un flujo de trabajo para múltiples páginas. Manipuladores flexibles para realizar acciones múltiples.

Validators Respaldan las acciones de los controladores. Verifican la integridad de los datos manejados en la petición. Devuelven reportes de errores existentes en caso de fallidas las validaciones.

Views JSP and JSTL. Tiles Documentos en formato PDF, Excel. Reportes en formatos multiples (PDF, EXCEL, DOC, XML, HTML). Imágenes dinámicas.

JasperReport

JFreeChart

IReport

HandlerExceptionResolvers Spring brinda implementaciones para mostrar vistas determinadas si desde controlador se lanza una excepción que no puede ser tratada por este. Se pueden crear mecanismos propios para determinar qué y cómo se mostrará ante una excepción.

Presentación en el Cliente 1 La alternativa AJAX. 2 Librerías y Frameworks Javascript.

Asynchronous JavaScript and XML(Ajax) La alternativa AJAX. Asynchronous JavaScript and XML(Ajax) Ajax consiste en HTML, tecnología Javascript, DHTML y DOM. Es un excelente método para transformar las pesadas interfaces Web en interactivas aplicaciones Ajax. Todas estas tecnologías trabajan juntas para hacer extremadamente eficiente el desarrollo web.

Aplicaciones Desktop Aplicaciones Web La alternativa AJAX. Usualmente más rápidas. No necesita esperar por respuestas del servidor. Increiblemente dinámicas con grandiosas interfaces de usuario. Aplicaciones Web Provee servicios que nunca podras obtener con aplicaciones desktop. Pero también siempre está a la espera de la respuesta del servidor, que se refresque la página, que la petición regrese para crear una nueva página.

La alternativa AJAX. Ajax pretende unir estas diferencias de funcionalidad e interactividad de las aplicaciones desktop y la siempre actualizada aplicacion web. Ahora se pueden usar interfaces de usuario dinamicas y elegantes controles como los tiene las aplicaciones desktop en las aplicaciones web.

Librerías Javascript Dojo Toolkit Prototype Library

Roles Seguridad ROL_USUARIO ROL_ADMIN ROL_INVITADO User1 User2 User3

Autenticación del usuario Aplicación Acceder Usuario Contraseña Direccion IP Verificación Humana

Seguridad en la aplicación La seguridad se define y maneja independiente a la aplicación. Desarrollo de la aplicación Definición de la seguridad Implementación de casos de uso

Peticiones Web (URL): Seguridad Interceptar las peticiones web. Aplicación

Https: Canal Seguro Filtro https Capa Presentación Resto de la aplicación

Asegurando un Servicio: Seguridad Servicios Asegurando un Servicio: Utilización de aspectos Seguridad Resto de la aplicación Web Service Servicio registrarPago(int); tomarDecision(String); getEstadistica(); ….

Interacción 1 Solo se muestra al usuario lo que puede hacer 2 No puede acceder a un recurso a la fuerza. 3 Número determinado de peticiones al sistema. 4 Tiempo limitado de inactividad en el sistema.

Disponibilidad de módulos Administrar la disponibilidad de los módulos Progresividad Registro e Identificación Permisos y salidas transitorias Control Penal Expediente legal Traslados ……

Auditoría 1 Mecanismo utilizado para desarrollar la auditoría. 2 Estructura de los logs y del fichero .log. 3 Herramienta para visualizar los Logs.

¿Qué se va a Auditar? Capa Web Capa Negocio Eventos de Sistema

Auditando Web Capa Web Filtros Interceptar Request y/o Response. Cliente Log ( URL ).

Auditando Capa Servicios Capa Servicio interceptor(AOP) Interceptar llamadas a los métodos de interfaces de servicio que se quieran auditar (nombre método, parámetros, retorno). Interceptor Capa Servicio Capa Web getMétodo() Log ( METHOD ).

Auditando Evento del Sistema Evento del sistema Listener Se encargan de escuchar eventos que el sistema puede lanzar, y se encargará de procesarlo una vez lanzado.

Estructura de Logs Url: Métodos: Evento: Fecha | Hora | (URL) Tipo | Usuario | Url | Parámetros | Ip. Métodos: Fecha | Hora | (METHOD) Tipo | Usuario | Clase | Método | (Tipo parámetros | Valores) | Ip. Evento: Fecha | Hora |(EVENTO) Tipo | Usuario | Tipo de Evento | Descripción | Ip.

Estructura Fichero Log Logs Capa Web (URLs) Fichero Log Logs Eventos Sistema (EVENTO) Logs Capa Servicio (Métodos)

Visor de Logs

Visor de Logs

Visor de Logs

Visor de Logs

Visor de Logs

Gestión de la Configuración Release 1 Línea Base de Desarrollo Estable Línea Base de Desarrollo

Preguntas ?