Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Arquitectura de Software Propuesta SIGEP
2
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)
3
Ambiente de Desarrollo
Entorno Integrado de Desarrollo (Eclipse) WTP SpringIDE HibernateTools SubEclipse AJDT (AspectJ Development Tools)
4
Ambiente de Desarrollo
Frameworks Spring Acegi Security System AspectJ Hibernate JUnit EHCache JCaptcha JasperReport JFreeChart
5
Ambiente de Desarrollo
6
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.
7
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
8
Aspectos de Seguridad – Acegi Security System
Aspecto de administración de Transacciones Aspecto de auditoría Aspecto de Cache
9
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.
11
Definición de las Transacciones
Comportamiento de la propagación. (PROPAGATION_REQUIRED, PROPAGATION_SUPPORTS …) Aislamiento ( READ_COMMITTED, SERIALIZABLE , … ) Timeout Read-Only
12
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.
13
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.
14
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.
15
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.
16
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
17
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
18
Point to Point Se usará el sistema de mensajes punto a punto cuando todos los mensajes enviados deben ser procesados correctamente por el consumidor.
19
Publish/subscriber
20
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.
21
Aspectos de Seguridad – Acegi Security System
Aspecto de administración de Transacciones Aspecto de auditoría Aspecto de Cache
22
Diagrama de clases del negocio
23
Estructura de paquetes
Subsistema de Control Penal Módulo de Traslados Estructura de paquetes para soportar los CUs
24
Colaboración entre Subsistemas
25
Colaboración entre Módulos
26
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.
27
Spring MVC Handler Mapping Dispatcher Servlet Controller ModelAndView
Request ModelAndView ViewResolver View
28
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.
29
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.
30
Views JSP and JSTL. Tiles Documentos en formato PDF, Excel. Reportes en formatos multiples (PDF, EXCEL, DOC, XML, HTML). Imágenes dinámicas.
31
JasperReport
32
JFreeChart
33
IReport
34
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.
35
Presentación en el Cliente
1 La alternativa AJAX. 2 Librerías y Frameworks Javascript.
36
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.
37
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.
38
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.
39
Librerías Javascript Dojo Toolkit Prototype Library
40
Roles Seguridad ROL_USUARIO ROL_ADMIN ROL_INVITADO User1 User2 User3
41
Autenticación del usuario
Aplicación Acceder Usuario Contraseña Direccion IP Verificación Humana
42
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
43
Peticiones Web (URL): Seguridad Interceptar las peticiones web.
Aplicación
44
Https: Canal Seguro Filtro https Capa Presentación
Resto de la aplicación
45
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(); ….
46
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.
47
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 ……
48
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.
49
¿Qué se va a Auditar? Capa Web Capa Negocio Eventos de Sistema
50
Auditando Web Capa Web Filtros Interceptar Request y/o Response.
Cliente Log ( URL ).
51
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 ).
52
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.
53
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.
54
Estructura Fichero Log
Logs Capa Web (URLs) Fichero Log Logs Eventos Sistema (EVENTO) Logs Capa Servicio (Métodos)
55
Visor de Logs
56
Visor de Logs
57
Visor de Logs
58
Visor de Logs
59
Visor de Logs
60
Gestión de la Configuración
Release 1 Línea Base de Desarrollo Estable Línea Base de Desarrollo
61
Preguntas ?
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.