Está en la página 1de 23

Afore Banamex

Sitio Internet Afore Banamex ABN2441

Documento de Arquitectura de Software Versin 1.1

Revisiones
Fecha 09/04/2008 30/04l/2008 Versin 0.1 1.0 Descripcin Creacin del documento Correcciones hechas por Afore Banamex y retroalimentacin a raz de la Prueba de Concepto Correcciones con respecto a los paquetes del proyecto Se agregaron los backends a la arquitectura Autor Rams Rodrguez Vargas Rams Rodrguez Vargas

7/05/2008 14/05/2008

1.2 1.3

Rams Rodrguez Vargas Rams Rodrguez Vargas

Firmas de Aprobacin

Nombre Afore Banamex Afore Banamex Afore Banamex IDS IDS IDS Hctor Medina Huertas Ing. Carlos Omar Surez Cruz

Puesto Lder de Proyecto

Fecha

Firma

Lder de Proyecto

Confidencial

IDS Comercial, 2007

Pgina 3 de 23

Contenido
1. Introduccin
1.1 Propsito 1.2 Alcance 1.3 Definiciones, Acrnimos y Abreviaturas 1.4 Referencias 1.5 Visin General

6
6 6 6 7 7

2. Representacin Arquitectnica 3. Metas y Restricciones Arquitectnicas 4. Vista de Casos de Uso 5. Vista Lgica

7 9 9 10

5.1 Visin General 11 5.1.1 Capa Cliente........................................................................................................................... 13 5.1.2 Capa de Presentacin............................................................................................................. 13 5.1.3 Capa de Negocio..................................................................................................................... 13 5.1.4 Capa de Integracin................................................................................................................ 15 5.1.5 Capa de Servicios Comunes................................................................................................... 15 5.2 Paquetes de Diseo Significativos para la Arquitectura 16

6. Vista de Procesos 7. Vista de Despliegue 8. Vista de Implementacin

16 17 18

8.1 Visin General 18 8.1.1 Descriptores de Despliegue.................................................................................................... 19 8.2 Capas 21 8.2.1 mx.com.aforebanamex.portal.presentation.............................................................................21 8.2.2 mx.com.aforebanamex.portal.business...................................................................................21 8.2.3 mx.com.aforebanamex.portal.business.zonaabierta...............................................................21 8.2.4 mx.com.aforebanamex.portal.business.zonacerrada..............................................................21 8.2.5 mx.com.aforebanamex.portal.business.backend....................................................................21 8.2.6 mx.com.aforebanamex.portal.business.impl...........................................................................21 8.2.7 mx.com.aforebanamex.portal.service.beans...........................................................................21 8.2.8 mx.com.aforebanamex.portal.service.utilerias........................................................................22 8.2.9 mx com.aforebanamex.portal.service.excepciones.................................................................22 8.2.10 mx.com.aforebanamex.portal.service.security......................................................................22 8.2.11 mx.com.aforebanamex.portal.service.datatier.......................................................................22

Confidencial

IDS Comercial, 2007

Pgina 4 de 23

9. Vista de Datos 10. Calidad 11. Anlisis de Re-utilizacin, Compra o Construccin 12. Tecnologa a utilizar para la implementacin

22 22 23 23

Confidencial

IDS Comercial, 2007

Pgina 5 de 23

Documento de Arquitectura de Software


1.
1.1

Introduccin

Propsito Este documento provee una visin general arquitectnica exhaustiva del sistema, usando un nmero de vistas arquitectnicas diferentes para representar diferentes aspectos del sistema. Su intencin es capturar y transmitir las decisiones arquitectnicas significativas hechas sobre el sistema. Sin embargo, cabe definir lo que es una arquitectura de un software. Esta se puede definir como: las partes de ms alto nivel diseo de un software, el marco en que he sostenido las partes ms detalladas de este (Buschman et al. 1996; Fowler 2002). Esta cobra relevancia ya que una buena arquitectura facilita la construccin de un software, y esto ltimo es la finalidad del proyecto: llegar a construir un software.

1.2 Alcance Describir los lineamientos que debern seguir el Diseo y Construccin del Sito de Internet Afore Banamex. Aqu se detallan cada uno de los elementos y componentes de alto nivel que integran a este software, por lo que es un insumo para las etapas anteriormente mencionadas . 1.3 Definiciones, Acrnimos y Abreviaturas AJAX. Asynchronous JavaScript and XML. RichFaces. Es un framework Open Source que permite agregar caractersticas de AJAX a aplicaciones basadas en JSF. CPN. Un componente de infraestructura de Banamex para acceder al Canal Inteligente. EJB. Enterprise Java Bean. Es una arquitectura para construir aplicaciones empresariales, la cual se basa en componentes administrados por un servidor. Framework. Es una estructura de soporte definida en la cual un proyecto de software puede ser organizado y desarrollado. El objeto es reutilizar una arquitectura. IEEE. Corresponde a las siglas de The Institute of Electrical and Electronics Engineers, el Instituto de Ingenieros Elctricos y Electrnicos, una asociacin tcnico-profesional mundial dedicada a la estandarizacin, entre otras cosas. IU. Interfaz de Usuario Java Server Faces. Es un framework que introduce un modelo de componentes orientados a eventos, similar al espritu de los modelos usados en aplicaciones graficas de escritorio desde hace varios aos. JEE. Java Enterprise Edition JSF. Java Server Faces. Open Source . Cualidad de algunos programas de incluir el cdigo fuente en la distribucin del mismo. Patrnde Diseo . Es la solucin de un problema en un contexto (Gamma, et al., 1995). Esto representa una solucin de alto nivel a un problema concurrente en el Diseo de Software. Resource Bundle . Es un archivo de texto plano del tipo llave-valor en donde cada par representa un mensaje en un idioma determinado (tambin conocido como mensaje localizado)
IDS Comercial, 2007 Pgina 6 de 23

Confidencial

RIA. Rich Internet Applications (Aplicaciones Ricas de Internet) es un nuevo tipo de aplicacin con ms ventajas que las tradicionales aplicaciones Web. Esta surge como una combinacin de las ventajas que ofrecen las aplicaciones Web y las aplicaciones tradicionales de escritorio. Su implementacin mas empleada es a travs de AJAX. RUP . Rational Unified Process. Spring Framework . Es un Framework Open Source para la creacin de aplicaciones multicapa en la plataforma Java, basado en la solucin propuesta por Rod Johnson (2002) Stakeholder . Persona o grupo de personas que tienen un inters en el resultado de un proyecto. Submit . Cuando una aplicacin basada en WEB hace un solicitud HTTP a un servidor. UML . Unified Modeling Language WAR . Web Application Archive. Es un archivo compreso con extensin .WAR usado para distribuir una coleccin de JSPs XMLs, Clases Java y Servlets y archivos WEB estticos que en conjunto forman una aplicacin WEB. XML . eXtensible Markup Language

1.4 Referencias Buschman, Frank, et al. 1996. Pattern-Oriented Software Architecture, Volume 1 : A System of Patterns. New York, NY: John Wyley & Sons. Fowler, Martin. 2002. Patterns of Enterprise Application Architecture. Boston, MA: Addison-Wesley. Gamma, E., Helm, R., Johnson, R. & Vlissides, J. (1995). Desing patterns: elements of reusable object-oriented software. USA: Addison-Wesley Johnson, R. 2002. Expert One-on-One J2EE Design and Development. USA: Wrox Press. Kruchten, P. 1995. Architectural Blueprints - The 4+1 View Model of Software Architecture IEEE Software, 12(6), 42-50. McConnell, Steve. 2004. Code Complete, 2nd ed. Redmond, WA: Microsoft Press. 1.5 Visin General Este documento presenta una vista general de la Arquitectura de Software del Portal Sitio de Internet Afore Banamex, el cual es propiedad de Afore Banamex. Las secciones de este documento estn organizadas, principalmente, a partir del empleo del Modelo 4+1 expuesto por Kruchten (1995) en la IEEE. Para cada vista, detallada en forma de diagrama UML, est reservada una seccin del presente documento. Adicionalmente incluye unas secciones dedicadas a definir aspectos relegados por parte del Modelo 4+1. Estos aspectos son: Vista de Datos, Desempeo, Reutilizacin y tecnologa para empleada para la implementacin de la arquitectura. A lo largo de todas las secciones que componen al presente documento se pretende satisfacer la inquietud o expectativas, con respecto al software, que puedan tener diferentes audiencias, entre ellos algunos stakeholders. Es por esto que algunas secciones no sean del inters para determinadas audiencias, y el examen completo de este documento no sea llevado a cabo por estas.

2.

Representacin Arquitectnica

A travs del empleo del Modelo 4+1 (Kruchten, 1995) se expone la arquitectura de este Sistema. Este modelo consiste en una seria de vistas (Casos de Uso, Lgica, Procesos, Fsica y Desarrollo)

Confidencial

IDS Comercial, 2007

Pgina 7 de 23

las cuales permiten a cualquier Stakeholder encontrar lo que necesita en la Arquitectura. Estas vistas son plasmadas a travs de diversos tipos de diagramas de UML.

Figura1. Las vista del Modelo 4+1 definida en IEEE. A continuacin se detalla cada una de las vistas, as como los artefactos que la conforman. Vista Lgica Audiencia : Diseadores rea : Requerimientos Funcionales: Describe el Modelo de Diseo. Adicionalmente, detalla la realizacin de los Casos de Uso significativamente relevantes. Artefactos : Modelo de Diseo: Diagramas de Clases y de Objetos. Vista de Procesos Audiencia : Integradores. rea : Requerimientos No Funcionales: Describe los aspectos de concurrencia y sincronizacin (Manejo de Hilos/Procesos). Artefactos : Diagramas de estado, actividad y secuencia. Vista de Implementacin Audiencia : Programadores. rea : Componentes de Software: Describe las capas y subsistemas de la aplicacin. Artefactos : Modelo de Implementacin: Diagrama de Componentes y diagramas de clases. Vista de Despliegue Audiencia : Deployers o Administradores de Sistemas. rea : Topologa: describe el mapeo o ubicacin de los componentes Software (archivos JARs, EARs y WARs) en el Hardware, y detalla los aspectos de distribucin del Sistema. Artefactos : Modelo de Despliegue: Diagrama de Despliegue.
Confidencial IDS Comercial, 2007 Pgina 8 de 23

Vista de Casosde Uso Audiencia : Los Stakeholders del Sistema y Usuarios Finales. rea : Describe el conjunto de Casos de Uso ms significativos y de funcionalidad crtica. Artefactos : Modelo de Casos de Uso. Vista de Datos Audiencia : DBAs (Administradores de Bases de Datos) rea : Persistencia: describe el conjunto de tablas y Sistema. Artefactos : Modelo de Datos.

asociaciones empleadas por el

3.

Metas y Restricciones Arquitectnicas

Tanto la Arquitectura como el Diseo del presente software estarn basados en la siguiente documentacin provista por Afore Banamex: WLS Front Application Software Architecture (http://intranet.banamex.com/wls/Estandares/Arquitectura-FA/FA-Software%20Architecture %20Document.pdf) Estndares de Uso de la plataforma WebLogic Server v9.2 (http://intranet.banamex.com/wls/Estandares/Estandares%20de%20Uso%20para %20WLS92.pdf) Estndares de Codificacin Java (http://intranet.banamex.com/wls/Estandares/Desarrollo/Estandares%20de %20Codificacin.pdf) WLS Front Application Code review and Assessment (http://intranet.banamex.com/wls/Estandares/Code%20Review-Assessment/FA-Code %20review%20and%20assesment.pdf) Best Practices Desarrollo J2EE (http://intranet.banamex.com/wls/Estandares/Desarrollo/Best%20Practices%20Desarrollo %20J2EE.pdf) No est permitido el uso de frameworks tales como hibrnate o spring. Esto se encuentra dicho dentro del documento WLS Front Application Software Architecture, en su pgina 12. Todos los objetos que sean subidos a la sesin HTTP del usuario, una vez que este es autenticado, debern implementar la interfaz java.io.serializable para efectos de habilitar el portal para un cluster. Esto esta requerido dentro del documento Estndares de Uso de la plataforma WebLogic Server v9.2, en su pgina 5. Para el manejo de bitcoras se utilizar log4j. Esto en base a lo documentado en WLS Front Application Software Architecture, en su pgina 14.

4.

Vista de Casos de Uso

En esta seccin se muestran los Casos de Uso relevantes para la arquitectura, as como tambin a los principales Actores. Por el atributo de relevante asociado a un Caso de Uso se refiere a la capacidad que tiene este en incidir en la arquitectura. El hecho de que sea incluido en el desarrollo del presente software implicar que la arquitectura sea adecuada para poder suministrar esa funcionalidad. Esta seccin no tiene por objeto incluir la totalidad de los Casos de Uso sino solo aquellos que posean la caracterstica anteriormente descrita.

Confidencial

IDS Comercial, 2007

Pgina 9 de 23

Figura2. Los Casos de Uso significativos a la Arquitectura. La razn por la cual fueron seleccionados estos Casos de Uso es desglosada a continuacin: CU12 es porque tiene interaccin a travs de AJAX. La interfaz de usuario ser actualizada a travs de invocaciones de este tipo. CU09 es porque tiene acceso a la base de datos local y escribe datos en ella. CU13 es porque expone un servicio de CI en la zona abierta. CU01 debido a que contempla invocacin a servicios de Seguridad. Adems debe evitar que un usuario que no ha sido autenticado pueda entrar a la Zona Cerrada. Una vez autenticado, considera que la comunicacin ser a travs de HTTPS. CU07 es por que expone un servicio de CI en la zona Cerrada. CU04 es porque incrusta un archivo de tipo PDF dentro de la pantalla del navegador.

5.

Vista Lgica

La vista lgica describe el modelo de objetos, como son los paquetes, los subsistemas y las clases.

Confidencial

IDS Comercial, 2007

Pgina 10 de 23

5.1 Visin General La arquitectura es organizada en diferentes agrupaciones lgicas, cada una con un propsito especfico, esto ltimo tambin es conocido como la propiedad de cohesin. Cada agrupacin contiene los componentes necesarios para realizar su trabajo y adems aquellos necesarios para comunicarse con las otras agrupaciones. Esto es lo que define a una arquitectura basada en capas. Cada una de estas solo puede comunicarse nicamente con la capa adyacente a la misma. El sistema que es descrito en este documento es divido en cuatro capas: Cliente, Presentacin, Negocio e Integracin. A continuacin se describe cada una de estas capas.

Imagen 3. Las capas en que se divide el portal Cliente. En esta capa se ejecuta la UI, desde aqu el usuario interacta con el Sistema Presentacin. Aqu se agrupan los componentes que conforman la interfaz grfica de la aplicacin as como los componentes que reciben las rdenes del usuario para realizar acciones Negocio. Los componentes de esta capa implementan la lgica de negocio Servicios Comunes. A travs de esta se ofrecen los servicios que sean comunes a las capas de Presentacin y Negocio Integracin. A travs de esta se podr acceder a funcionalidad que no es implementada por parte de la capa de Negocio. Como su nombre lo indica, por este medio el sistema se integrar a otros servicios de software y/o aplicaciones, para el caso particular de este proyecto, estos son: Canal Inteligente, Envo de Correos Electrnicos y Base de datos Local.

Confidencial

IDS Comercial, 2007

Pgina 11 de 23

Imagen 4. El Detalle de las Capas que compone el Portal

Confidencial

IDS Comercial, 2007

Pgina 12 de 23

5.1.1 Capa Cliente Est conformado por el Web Browser de la PC del Cliente. Aqu sern desplegadas las pginas HTML que conforman la Zona Abierta, Zona Cerrada y Backends con la que interactuar el usuario. Cabe mencionar que se emplear una herramienta RIA para mejorar la experiencia del usuario: RichFaces. A travs de esta se podr actualizar porciones de la pantalla de forma peridica sin que esto implique hacer un Submit de la misma.

Imagen 5. La Capa Cliente. 5.1.2 Capa de Presentacin Esta se encuentra divida en dos secciones: la presentacin primaria que es la que despliega la interfaz de usuario y la presentacin secundaria, que se encarga de recibir las peticiones del usuario, generadas desde la presentacin primaria, y generar las acciones correspondientes a dicha orden. La primera seccin se encuentra conformada por las pginas tipo Facelets y un archivo Resource Bundle. En el caso de secundara, esta es integrada por los objetos BackingBeans. Esta ltima acceder a la capa de Negocio, cumpliendo con el objetivo de un Patrn de Diseo MVC (Modelo Vista Controlador).

Imagen 6. La capa de Presentacin 5.1.3 Capa de Negocio Esta capa tiene la finalidad de centralizar la lgica de negocios que consume la capa de presentacin. Est es gobernada por dos patrones de diseo: Facade (conocido en espaol por
Confidencial IDS Comercial, 2007 Pgina 13 de 23

Fachada) y Business Delegate. El primero ofrece una interfaz unificada, cohesiva, de alto nivel, a un conjunto de interfaces en un subsistema, hacindolo mas fcil de usar (Gamma, et al., 1995). El Portal estar conformado por tres Fachadas: ZonaAbiertaEJB, ZonaCerradaEJB y BackendEJB. Estos expondrn la lgica de negocio a la capa de presentacin, sin embargo esta no la implementa. Cada Caso de Uso tendr una Clase responsable de implementar su lgica, esta es expuesta a travs de uno de los dos EJBs, conformando as el patrn Fachada. Adicionalmente, estos EJBs tendrn una responsabilidad mas, el servir como Barricada (Programacin Defensiva), esto es, designar a ciertas interfaces como fronteras de la rea segura del sistema (McConnell, 2004). Esta tiene el objetivo de sanear los datos provenientes de las diversas partes del sistema (validar que no vengan nulos los parmetros, nmeros no negativos, etc.). Como ltimo punto del patrn fachada falta mencionar que la conexin con el Canal Inteligente se realizar a travs de un EJB, el cual no es expuesto directamente a la Capa de Presentacin, as se evitar hacer conciencia de los servicios que son expuestos por este. Este EJB, el que expone los servicios del Canal Inteligente, solo deber ser invocado por componentes de la arquitectura y clases de implementacin de lgica de negocios. Para el caso del segundo patrn de diseo, Business Delegate, este es empleado con el objeto de minimizar el acoplamiento entre la capa de presentacin y Negocio. Sin embargo, es totalmente justificado un acoplamiento entre estas dos capas, es algo natural que la presentacin invoque los servicios expuestos por el negocio, no obstante, lo que no es justificado es que la capa de presentacin este consciente de la tecnologa empleada para implementar la capa de negocio, y que tenga usarla para acceder a ella. Concretamente estamos hablando acerca del proceso de lookup para obtener la instancia del EJB. Normalmente este patrn abstrae dos elementos; el proceso de lookup a travs de JNDI y el ocultamiento de la interfaz Home del EJB. Debido a que estamos usando EJB 3, no es necesario que este patrn abstraiga el ltimo elemento, la interfaz Home, ya que esta versin no requiere la creacin de tal interfaz.

Confidencial

IDS Comercial, 2007

Pgina 14 de 23

Imagen 7. La capa de Negocio. 5.1.4 Capa de Integracin El objetivo de esta capa es implementar el acceso a los sistemas externos, para este caso, acceder al Canal Inteligente. Esto se realiza a travs del binomio CIGatewayEJB y CPN. El primero se encuentra en la Capa de Negocio, mientras que el segundo en la de Integracin.

Imagen 8. La Capa de Integracin 5.1.5 Capa de Servicios Comunes Esta Capa es compuesta por todos aquellos servicios comunes a la aplicacin. Esta capa proveer tres tipos de servicios: Seguridad, Acceso a Datos, Beans de Transferencia (Value Objects), Excepciones y Utileras. La seguridad es proveda por medio de una conexin a Canal Inteligente,

Confidencial

IDS Comercial, 2007

Pgina 15 de 23

mientras que el acceso a Datos se encargar de conectarse a la base de datos local, a travs de un pool de conexiones en WebLogic.

Imagen9. La Capa de Servicios Comunes 5.2 Paquetes de Diseo Significativos para la Arquitectura Estos paquetes son detallados en la seccin 8.1, Visin General de la vista de implementacin.

6.

Vista de Procesos

Los procesos (hilos) son administrados directamente por el contenedor JEE: BEA WebLogic Server. Esta es una caracterstica que provee la plataforma JEE, por lo que no es necesario detallar el manejo de procesos que utilizar el Sistema, ni tampoco es necesario agregar un diagrama para esta vista

Confidencial

IDS Comercial, 2007

Pgina 16 de 23

7.

Vista de Despliegue

Imagen 10. Las cajas que componen al portal A continuacin se muestra un diagrama de despliegue que contiene cada elemento que forma parte del EAR del Portal. La intencin es exponer que el tem de instalacin para el este aplicativo ser a travs de un solo archivo: PortalAforeBanamex-application.ear. Sin embargo, el diagrama desglosa cada una de las partes en que est dividido este EAR: Dos aplicaciones WEB (Archivos WAR): ZonaAbiertaWeb.war ZonaCerradaWeb.war BackendWeb.war

Mdulos EJB (Archivos JAR) Portal-BusinessEJB.jar Portal-DataEJB.jar Portal-SecurityEJB.jar


IDS Comercial, 2007 Pgina 17 de 23

Confidencial

Imagen 11. Los componentes que son desplegados.

8.

Vista de Implementacin

8.1 Visin General En esta vista se documentan la estructura que deber poseer el cdigo fuente, de ah el nombre de implementacin. Esta estructura es organizado a travs de un elemento denominado paquete (package en ingles) el cual ofrece el lenguaje en que ser construido este Sistema, Java. A continuacin se muestra un diagrama que contiene el detalle de las tres capas que sern responsabilidad de IDS el construir: Presentacin, Negocio y Servicios.

Confidencial

IDS Comercial, 2007

Pgina 18 de 23

Imagen 12. Los paquetes que componen a las capas del portal. Elementos que considerar en el diagrama; primero, el hecho de que las Clases que implementan los Casos de Uso se encuentran dentro de un sub-paquete dentro de la Capa de Negocio: mx.com.aforebanamex.portal.business.impl. Segundo, el paquete de mayor nivel es mx.com.aforebanamex.portal, a partir de a ah comienza la divisin en sub-paquetes ms especficos, los cuales tratan de hacer una correspondencia con las Capas definidas. 8.1.1 Descriptores de Despliegue

8.1.1.1 Aplicaciones WEB: web.xml Cada una de las tres aplicaciones web que componen al Portal contiene el archivo web.xml, el cual funge como administrador (deployment descriptor, DD, termino en ingles) a la hora de que estos son desplegados en el servidor. La versin a utilizar en el DD es la 2.5. Cada uno estos archivos comparten cuatro elementos en comn: 1. 2. 3. 4. La extensin para los archivos que sern administrados por JSF. La configuracin del RichFaces, el RIA utilizado por el portal para proveer habilidad de AJAX. La Carga del servlet de JSF versin 1.2 La especificacin de la lista de las pginas por defecto.
IDS Comercial, 2007 Pgina 19 de 23

Confidencial

Estos elementos son detallados en la siguiente tabla:


<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <!-- 1: La extensin de archivos para Faces: .xhtml--> <context-param> <param-name>javax.faces.DEFAULT_SUFFIX</param-name> <param-value>.xhtml</param-value> </context-param> <!-- 2:Configuracin del RIA RichFaces --> <filter> <display-name>RichFaces Filter</display-name> <filter-name>richfaces</filter-name> <filter-class>org.ajax4jsf.Filter</filter-class> </filter> <filter-mapping> <filter-name>richfaces</filter-name> <servlet-name>Faces Servlet</servlet-name> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>INCLUDE</dispatcher> </filter-mapping>

La versin descriptor

del

deployment

La extensin de los archivos para las vistas de interfaz de usuario

Configuracin del RIA

<!-- 3: Configurar el Servlet para Java Server Faces --> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> Configuracin de la implementacin <servlet-mapping> de Java Server Faces <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping> <!-- 4: Pginas por defecto --> <welcome-file-list> <welcome-file>index.jsp</welcome-file> <welcome-file>index.xhtml</welcome-file> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> </welcome-file-list> </web-app>

Las pginas por defecto.

Lo importante a destacar de lo anterior es que los archivos que sern utilizados por JSF, las vistas, debern tener extensin .xhtml. Por otro lado, en los descriptores se debern especificar informacin para acceder a los EJBs de la Capa de Negocio. Esto es debido a que la habilidad de inyectar dependencias, provista por EJB 3, no est permitida en los Backing Beans (http://edocs.bea.com/wls/docs100/webapp/annotateservlet.html#wp159396). Sin embargo, la forma correcta para acceder a estos componentes es por medio de especificar en los descriptores las rutas JNDI de cada EJB (http://dev2dev.bea.com/blog/mbutton/archive/2008/04/reminder_on_how_to_use_ejb3_wi.html). Esto detalla en la siguiente tabla, en donde se muestra la configuracin para acceder a las dos fachadas del Portal, el EJB de ZonaAbierta y el de ZonaCerrada.
Confidencial IDS Comercial, 2007 Pgina 20 de 23

<ejb-local-ref> <ejb-ref-name>ejb/ZonaAbierta</ejb-ref-name> <local>com.aforebanamex.portal.business.zonaabierta.ZonaAbierta</local> </ejb-local-ref> <ejb-local-ref> <ejb-ref-name>ejb/ZonaCerrada</ejb-ref-name> <local>com.aforebanamex.portal.business.zonacerrada.ZonaCerrada</local> </ejb-local-ref> <ejb-local-ref> <ejb-ref-name>ejb/Backend</ejb-ref-name> <local>com.aforebanamex.portal.business.backend.Backend</local> </ejb-local-ref>

8.2

Capas

8.2.1 mx.com.aforebanamex.portal.presentation En este paquete se encuentran las clases bases para el manejo de la presentacin de la interfaz de usuario. De la clase BaseBackingBean debern descender todos los Beans de la presentacin. 8.2.1.1 mx.com.aforebanamex.portal.presentation.view Aqu se almacenan las clases que implementan funcionalidad de componentes de interfaz de usuario, tales como componentes JSF o etiquetas de Java Custom Library 8.2.1.2 mx.com.aforebanamex.portal.presentation.zonaabierta Aqu se encuentran los BackingBeans que dan soporte a la Zona Abierta 8.2.1.3 mx.com.aforebanamex.portal.presentation.zonacerrada. Aqu se encuentran los BackingBeans que dan soporte a la Zona Cerrada. 8.2.1.4 mx.com.aforebanamex.portal.presentation.zonacerrada. Aqu se encuentran los BackingBeans que dan soporte a los backends. 8.2.2 mx.com.aforebanamex.portal.business El paquete de ms alto nivel para la capa de negocio. Aqu se encuentra la clase Base BusinessServerBean de la cual heredan los tres EJBs del portal: ZonaAbiertaEJB, ZonaCerradaEJB y BackendEJB. 8.2.3 mx.com.aforebanamex.portal.business.zonaabierta Aqu se encuentra el EJB para la Zona Abierta. 8.2.4 mx.com.aforebanamex.portal.business.zonacerrada Aqu se encuentra el EJB para la Zona Abierta. 8.2.5 mx.com.aforebanamex.portal.business.backend Aqu se encuentra el EJB para los backends 8.2.6 mx.com.aforebanamex.portal.business.impl En este paquete residirn las diferentes clases que implementan la funcionalidad de los Casos de Uso. 8.2.7 mx.com.aforebanamex.portal.service.beans Contendrn a las clases que representan entidades del negocio y a las clases para transferencias de datos, VOs. Algo importante a destacar es que cada una de estas clases debern implementar la interfaz java.io.serializable.

Confidencial

IDS Comercial, 2007

Pgina 21 de 23

8.2.8 mx.com.aforebanamex.portal.service.utilerias Clases de conveniencia que encapsulan mtodos cuya funcionalidad es utilitaria, por ejemplo: manejo de fechas, clculos, etc. 8.2.9 mx com.aforebanamex.portal.service.excepciones Paquete que contiene las diversas excepciones del sistema. 8.2.10 mx.com.aforebanamex.portal.service.security Aqu se encontrar el EJB para la seguridad. 8.2.11 mx.com.aforebanamex.portal.service.datatier Este paquete encapsula a las diversas clases acceden a la base de datos local.

9.

Vista de Datos

El Portal solo accede a tres nicas tablas: Opinin, Contacto y Cita. Todas estas consultadas desde la Zona Abierta. Solo la tabla de Opinin es actualizada desde la zona Cerrada.

Imagen 13. Las tres nicas entidades de negocio, tablas de base datos, que accede el Portal.

10.

Calidad

A continuacin se detallan los siguientes objetivos, relacionados a la calidad, que se persiguen con el desarrollo de este software: Escalabilidad Descripcin: La reaccin del Sistema cuando la demanda se incrementa. Solucin: BEA WebLogic Server soporta varias tcnicas para administrar las cargas. Una de ellas relacionadas con el manejo de hilos. Disponibilidad Descripcin: Mecanismo para manejo de fallas que sea transparente Solucin: BEA WebLogic Server soporta la habilidad de desplegar en cluster la aplicacin del portal. Libre de Defectos Descripcin: La cantidad de defectos que puede llegar a tener el software Solucin: Utilizar JUnit y ejb3unit para pruebas unitarias y Clover para pruebas de cobertura de ejecucin del cdigo Seguridad Descripcin: Evitar que intrusos ingresan o hagan uso ilegal del sistema. Solucin: Hacer una evaluacin al Portal a travs de una tcnica denominada Ethical Hacking. Sin embargo existe la posibilidad vulnerabilidad debido a que el Caso de Uso CU-13 expone un servicio de Canal Inteligente sin que exista una autenticacin de usuario de por medio y los casos de uso CU-12 y CU-09 acceden a la Base de
Confidencial IDS Comercial, 2007 Pgina 22 de 23

Datos Local sin que tampoco exista autenticacin del Usuario de por medio . Es necesario solicitar recomendacin a las entidades de seguridad Afore Banamex, o en su defecto, solicitar una aceptacin del riesgo por parte del Afore Banamex.

11.
N/A

Anlisis de Re-utilizacin, Compra o Construccin

12.

Tecnologa a utilizar para la implementacin

La plataforma tecnolgica para implementar este sistema es a travs de JEE (Java Enterprise Edition), cuya versin a usar es la 5. El proveedor para esta plataforma es BEA a travs del WebLogic Server 10.2

Confidencial

IDS Comercial, 2007

Pgina 23 de 23

También podría gustarte