La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Arquitectura de Software Propuesta SIGEP

Presentaciones similares


Presentación del tema: "Arquitectura de Software Propuesta SIGEP"— Transcripción de la presentación:

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.

10

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 ?


Descargar ppt "Arquitectura de Software Propuesta SIGEP"

Presentaciones similares


Anuncios Google