Doc_Arq

download Doc_Arq

of 23

Transcript of Doc_Arq

  • 5/20/2018 Doc_Arq

    1/23

    Afore Banamex

    Sitio Internet Afore Banamex ABN2441

    Documento de Arquitectura de Software

    Versin 1.1

  • 5/20/2018 Doc_Arq

    2/23

    Revisiones

    ec!a Versin Descri"cin Autor

    09/04/2008 0.1 Creacin del documento Rams Rodrguez Vargas

    30/04l/2008 1.0

    Correcciones ecas !or

    "#ore $aname% &

    retroalimentacin a raz de la

    'rue(a de Conce!to

    Rams Rodrguez Vargas

    )/0*/2008 1.2Correcciones con res!ecto a

    los !a+uetes del !ro&ectoRams Rodrguez Vargas

    14/0*/2008 1.3,e agregaron los (ac-ends a

    la ar+uitecturaRams Rodrguez Vargas

  • 5/20/2018 Doc_Arq

    3/23

    irmas de A"ro#acin

    Nombre Puesto Fecha Firma

    "#ore

    $aname%

    ng. Carlos mar ,urez

    Cruz

    der de 'ro&ecto

    "#ore

    $aname%

    "#ore

    $aname%

    , ctor edina uertasder de 'ro&ecto

    ,

    ,

    Con#idencial , Comercial5 200) 'gina 3 de 23

  • 5/20/2018 Doc_Arq

    4/23

    $ontenido

    1. Introduccin %

    1.1 &ro"sito %

    1.2 A'cance %

    1.( Definiciones) Acrnimos * A#reviaturas %

    1.4 Referencias +

    1., Visin -enera' +

    2. Re"resentacin Arquitectnica +

    (. etas * Restricciones Arquitectnicas /

    4. Vista de $asos de 0so /

    ,. Vista ica 13

    ,.1 Visin -enera' 115.1.1 Capa Cliente...................................................................................................................... 135.1.2 Capa de Presentacin....................................................................................................... 135.1.3 Capa de Negocio............................................................................................................... 135.1.4 Capa de Integracin...................................................................................................... ....155.1.5 Capa de Servicios Comunes............................................................................................. 15

    ,.2 &aquetes de Diseo Sinificativos "ara 'a Arquitectura 1,

    %. Vista de &rocesos 1,

    +. Vista de Des"'ieue 1%

    5. Vista de Im"'ementacin 1+

    5.1 Visin -enera' 1+8.1.1 Descriptores de Despliegue...............................................................................................18

    5.2 $a"as 238.2.1 m.com.a!ore"aname.portal.presentation........................................................................2#8.2.2 m.com.a!ore"aname.portal."usiness.............................................................................2#8.2.3 m.com.a!ore"aname.portal."usiness.$onaa"ierta..........................................................2#8.2.4 m.com.a!ore"aname.portal."usiness.$onacerrada................................................. .......2#8.2.5 m.com.a!ore"aname.portal."usiness."ac%end...............................................................2#8.2.& m.com.a!ore"aname.portal."usiness.impl......................................................................2#8.2.' m.com.a!ore"aname.portal.service."eans.................................................................. ...2#8.2.8 m.com.a!ore"aname.portal.service.utilerias...................................................................218.2.( m com.a!ore"aname.portal.service.ecepciones...........................................................218.2.1# m.com.a!ore"aname.portal.service.securit)...................................................................218.2.11 m.com.a!ore"aname.portal.service.datatier...................................................................21

    Con#idencial , Comercial5 200) 'gina 4 de 23

  • 5/20/2018 Doc_Arq

    5/23

    /. Vista de Datos 21

    13. $a'idad 21

    11. An6'isis de Re7uti'i8acin) $om"ra o $onstruccin 22

    12. 9ecno'o:a a uti'i8ar "ara 'a im"'ementacin 22

    Con#idencial , Comercial5 200) 'gina * de 23

  • 5/20/2018 Doc_Arq

    6/23

    Documento de Arquitectura de Software

    1. Introduccin

    1.1 &ro"sito

    6ste documento !ro7ee una 7isin general ar+uitectnica e%austi7a del sistema5 usandoun nmero de 7istas ar+uitectnicas di#erentes !ara re!resentar di#erentes as!ectos del sistema.,u intencin es ca!turar & transmitir las decisiones ar+uitectnicas signi#icati7as ecas so(re elsistema.,in em(argo5 ca(e de#inir lo +ue es una ar+uitectura de un so#tare. 6sta se !uede de#inir como:las !artes de ms alto ni7el dise;o de un so#tare5 el marco en +ue e sostenido las !artes msdetalladas de este ?oler 2002@. 6sta co(ra rele7ancia &a +ue una (uenaar+uitectura #acilita la construccin de un so#tare5 & esto ltimo es la #inalidad del !ro&ecto: llegara construir un so#tare.

    1.2 A'cance

    escri(ir los lineamientos +ue de(ern seguir el ise;o & Construccin del ,ito de nternet "#ore

    $aname%. "+u se detallan cada uno de los elementos & com!onentes de alto ni7el +ue integran a

    este so#tare5 !or lo +ue es un insumo !ara las eta!as anteriormente mencionadas.

    1.( Definiciones) Acrnimos * A#reviaturas

    A;A>>.Corres!onde a las siglas de De nstitute o# 6lectrical and 6lectronics 6ngineers5 el

    nstituto de ngenieros 6lctricos & 6lectrnicos5 una asociacin tcnicoE!ro#esionalmundial dedicada a la estandarizacin5 entre otras cosas.

    I0. nter#az de suario

    ;ava Server aces. 6s un #rameor- +ue introduce un modelo de com!onentes

    orientados a e7entos5 similar al es!ritu de los modelos usados en a!licaciones gra#icas deescritorio desde ace 7arios a;os.

    ;>>. Aa7a 6nter!rise 6dition ;S.Aa7a ,er7er ?aces.

    Open Source. Cualidad de algunos programas de incluir el cdigo fuente en la distribucin

    del mismo.

    Patrn de 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.

    Con#idencial , Comercial5 200) 'gina = de 23

  • 5/20/2018 Doc_Arq

    7/23

    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)

    RIA. Ric nternet "!!lications

  • 5/20/2018 Doc_Arq

    8/23

    2. Re"resentacin 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)

    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.

    Figura 1.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 ProcesosAudiencia: 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.

    Con#idencial , Comercial5 200) 'gina 8 de 23

  • 5/20/2018 Doc_Arq

    9/23

    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.

    Vista de Casos de 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 asociaciones empleadas por el

    Sistema.

    Artefactos: Modelo de Datos.

    (. etas * Restricciones Arquitectnicas

    Danto la "r+uitectura como el ise;o del !resente so#tare estarn (asados en la siguientedocumentacin !ro7ista !or "#ore $aname%:

    G, ?ront "!!lication ,o#tare "rcitecture

  • 5/20/2018 Doc_Arq

    10/23

    'ara el maneFo de (itcoras se utilizar log4F. 6sto en (ase a lo documentado en OG, ?ront"!!lication ,o#tare "rcitectureP5 en su !gina 14.

    4. Vista de $asos de 0so6n esta seccin se muestran los Casos de so rele7antes !ara la ar+uitectura5 as como tam(in a

    los !rinci!ales "ctores. 'or el atri(uto de rele7ante asociado a un Caso de so se re#iere a la

    ca!acidad +ue tiene este en incidir en la ar+uitectura. 6l eco de +ue sea incluido en el desarrollo

    del !resente so#tare im!licar +ue la ar+uitectura sea adecuada !ara !oder suministrar esa

    #uncionalidad. 6sta seccin no tiene !or o(Feto incluir la totalidad de los Casos de so sino solo

    a+uellos +ue !osean la caracterstica anteriormente descrita.

    Figura 2.Los Casos de Uso significativos a la Arquitectura.

    a razn !or la cual #ueron seleccionados estos Casos de so es desglosada a continuacin:

    C12 es !or+ue tiene interaccin a tra7s de "A"B. a inter#az de usuario ser actualizada

    a tra7s de in7ocaciones de este ti!o.

    C09 es !or+ue tiene acceso a la (ase de datos local & escri(e datos en ella.

    C13 es !or+ue e%!one un ser7icio de C en la zona a(ierta.

    Con#idencial , Comercial5 200)'gina 10 de23

  • 5/20/2018 Doc_Arq

    11/23

    C01 de(ido a +ue contem!la in7ocacin a ser7icios de ,eguridad. "dems de(e e7itar

    +ue un usuario +ue no a sido autenticado !ueda entrar a la Qona Cerrada. na 7ezautenticado5 considera +ue la comunicacin ser a tra7s de DD',.

    C0) es !or +ue e%!one un ser7icio de C en la zona Cerrada.

    C04 es !or+ue incrusta un arci7o de ti!o '? dentro de la !antalla del na7egador.

    ,. Vista ica

    a vista lgica descri(e el modelo de o(Fetos5 como son los !a+uetes5 los su(sistemas & las clases.

    ,.1 Visin -enera'

    a ar+uitectura es organizada en di#erentes agru!aciones lgicas5 cada una con un !ro!sitoes!ec#ico5 esto ltimo tam(in es conocido como la !ro!iedad de coesin. Cada agru!acincontiene los com!onentes necesarios !ara realizar su tra(aFo & adems a+uellos necesarios !aracomunicarse con las otras agru!aciones. 6sto es lo +ue de#ine a una ar+uitectura (asada en

    ca!as. Cada una de estas solo !uede comunicarse nicamente con la ca!a ad&acente a la misma.

    6l sistema +ue es descrito en este documento es di7ido en cuatro ca!as: Cliente5 'resentacin5Iegocio e ntegracin. " continuacin se descri(e cada una de estas ca!as.

    Imaen (. as ca!as en +ue se di7ide el !ortal

    $'iente. 6n esta ca!a se eFecuta la 5 desde a+u el usuario interacta con el ,istema

    &resentacin. "+u se agru!an los com!onentes +ue con#orman la inter#az gr#ica de la

    a!licacin as como los com!onentes +ue reci(en las rdenes del usuario !ara realizaracciones

    Neocio. os com!onentes de esta ca!a im!lementan la lgica de negocio

    Servicios $omunes. " tra7s de esta se o#recen los ser7icios +ue sean comunes a lasca!as de 'resentacin & Iegocio

    Interacin. " tra7s de esta se !odr acceder a #uncionalidad +ue no es im!lementada

    !or !arte de la ca!a de Iegocio. Como su nom(re lo indica5 !or este medio el sistema seintegrar a otros ser7icios de so#tare &/o a!licaciones5 !ara el caso !articular de este!ro&ecto5 estos son: Canal nteligente5 6n7o de Correos 6lectrnicos & $ase de datosocal.

    Con#idencial , Comercial5 200)'gina 11 de23

  • 5/20/2018 Doc_Arq

    12/23

    Imaen 4. 6l etalle de las Ca!as +ue com!one el 'ortal

    Con#idencial , Comercial5 200)'gina 12 de23

  • 5/20/2018 Doc_Arq

    13/23

    5.1.1 Capa Cliente6st con#ormado !or el Ge( $roser de la 'C del Cliente. "+u sern des!legadas las !ginasD +ue con#orman la Qona "(ierta5 Qona Cerrada & $ac-ends con la +ue interactuar el usuario.Ca(e mencionar +ue se em!lear una erramienta R" !ara meForar la e%!eriencia del usuario:

    Ric?aces. " tra7s de esta se !odr actualizar !orciones de la !antalla de #orma !eridica sin +ueesto im!li+ue acer un O,u(mitP de la misma.

    Imaen ,. a Ca!a Cliente.

    5.1.2 Capa de Presentacin6sta se encuentra di7ida en dos secciones: la !resentacin !rimaria +ue es la +ue des!liega lainter#az de usuario & la !resentacin secundaria5 +ue se encarga de reci(ir las !eticiones delusuario5 generadas desde la !resentacin !rimaria5 & generar las acciones corres!ondientes adica orden. a !rimera seccin se encuentra con#ormada !or las !ginas ti!o ?acelets & unarci7o OResource $undleP. 6n el caso de secundara5 esta es integrada !or los o(Fetos$ac-ing$eans. 6sta ltima acceder a la ca!a de Iegocio5 cum!liendo con el o(Feti7o de un'atrn de ise;o VC

  • 5/20/2018 Doc_Arq

    14/23

    ?acada@ & $usiness elegate. 6l !rimero o#rece una inter#az uni#icada5 coesi7a5 de alto ni7el5 a

    un conFunto de inter#aces en un su(sistema5 acindolo mas #cil 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.

    Con#idencial , Comercial5 200)'gina 14 de23

  • 5/20/2018 Doc_Arq

    15/23

    Imaen +. a ca!a de Iegocio.5.1.4 Capa de Integracin6l o(Feti7o de esta ca!a es im!lementar el acceso a los sistemas e%ternos5 !ara este caso5 accederal Canal nteligente. 6sto se realiza a tra7s del (inomio CLatea&6A$ & C'I. 6l !rimero se

    encuentra en la Ca!a de Iegocio5 mientras +ue el segundo en la de ntegracin.

    Imaen 5. a Ca!a de ntegracin5.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,

    Con#idencial , Comercial5 200)'gina 1* de23

  • 5/20/2018 Doc_Arq

    16/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.

    Imagen 9. La Capa de Servicios Comunes

    ,.2 &aquetes de Diseo Sinificativos "ara 'a Arquitectura

    6stos !a+uetes son detallados en la seccin 8.15 Visin Leneral de la 7ista de im!lementacin.

    %. Vista de &rocesos

    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

    Con#idencial , Comercial5 200)'gina 1= de23

  • 5/20/2018 Doc_Arq

    17/23

    +. Vista de Des"'ieue

    Imaen 13. as caFas +ue com!onen al !ortal

    " continuacin se muestra un diagrama de des!liegue +ue contiene cada elemento +ue#orma !arte del 6"R del 'ortal. a intencin es e%!oner +ue el tem de instalacin !ara el estea!licati7o ser a tra7s de un solo arci7o: 'ortal"#ore$aname%Ea!!lication.ear. ,in em(argo5 eldiagrama desglosa cada una de las !artes en +ue est di7idido este 6"R:

    os a!licaciones G6$

  • 5/20/2018 Doc_Arq

    18/23

    Imaen 11. os com!onentes +ue son des!legados.

    5. Vista de Im"'ementacin

    5.1 Visin -enera'

    6n esta 7ista se documentan la estructura +ue de(er !oseer el cdigo #uente5 de a el nom(re deim!lementacin. 6sta estructura es organizado a tra7s de un elemento denominado !a+uete

  • 5/20/2018 Doc_Arq

    19/23

    Imaen 12. os !a+uetes +ue com!onen a las ca!as del !ortal.

    6lementos +ue considerar en el diagrama> !rimero5 el eco de +ue las Clases +ue im!lementanlos Casos de so se encuentran dentro de un su(E!a+uete dentro de la Ca!a de Iegocio:mx.com.aforebanamex.portal.business.impl. ,egundo5 el !a+uete de ma&or ni7el es

    mx.com.aforebanamex.portal5 a !artir de a a comienza la di7isin en su(E!a+uetes ms

    es!ec#icos5 los cuales tratan de acer una corres!ondencia con las Ca!as de#inidas.

    8.1.1 Descriptores de Despliegue

    8.1.1.1 "!licaciones G6$: e(.%mlCada una de las tres a!licaciones e( +ue com!onen al 'ortal contiene el arci7o e(.%ml5 el cual#unge como administrador

  • 5/20/2018 Doc_Arq

    20/23

    6stos elementos son detallados en la siguiente ta(la:

  • 5/20/2018 Doc_Arq

    21/23

  • 5/20/2018 Doc_Arq

    22/23

    8.2.8 m.com.a!ore"aname.portal.service.utileriasClases de con7eniencia +ue enca!sulan mtodos cu&a #uncionalidad es utilitaria5 !or eFem!lo:maneFo de #ecas5 clculos5 etc.

    8.2.( m com.a!ore"aname.portal.service.ecepciones

    'a+uete +ue contiene las di7ersas e%ce!ciones del sistema.

    8.2.1# m.com.a!ore"aname.portal.service.securit)"+u se encontrar el 6A$ !ara la seguridad.

    8.2.11 m.com.a!ore"aname.portal.service.datatier6ste !a+uete enca!sula a las di7ersas clases acceden a la (ase de datos local.

    /. Vista de Datos

    6l 'ortal solo accede a tres nicas ta(las: !inin5 Contacto & Cita. Dodas estas consultadas desdela Qona "(ierta. ,olo la ta(la de !inin es actualizada desde la zona Cerrada.

    Imaen 1(. as tres nicas entidades de negocio5 ta(las de(ase datos5 +ue accede el 'ortal.

    13. $a'idad

    " continuacin se detallan los siguientes o(Feti7os5 relacionados a la calidad5 +ue se !ersiguen conel desarrollo de este so#tare:6scala(ilidad

    escri!cin: a reaccin del ,istema cuando la demanda se incrementa.

    ,olucin: $6" Ge(ogic ,er7er so!orta 7arias tcnicas !ara administrar las cargas. na

    de ellas relacionadas con el maneFo de ilos.is!oni(ilidad

    escri!cin: ecanismo !ara maneFo de #allas +ue sea trans!arente

    ,olucin: $6" Ge(ogic ,er7er so!orta la a(ilidad de des!legar en cluster la a!licacin

    del !ortal.

    i(re de e#ectos escri!cin: a cantidad de de#ectos +ue !uede llegar a tener el so#tare

    ,olucin: tilizar Anit & eF(3unit !ara !rue(as unitarias & Clo7er !ara !rue(as de

    co(ertura de eFecucin del cdigo,eguridad

    escri!cin: 67itar +ue intrusos ingresan o agan uso ilegal del sistema.

    ,olucin: acer una e7aluacin al 'ortal a tra7s de una tcnica denominada O6tical

    ac-ingP. Sin embargo existe la posibilidad vulnerabilidad debido a que el Caso deUso CU-13 expone un servicio de Canal Inteligente sin que exista una autenticacinde usuario de por medio ! los casos de uso CU-1" ! CU-#$ acceden a la %ase de

    Con#idencial , Comercial5 200)'gina 22 de23

  • 5/20/2018 Doc_Arq

    23/23

    &atos 'ocal sin que tampoco exista autenticacin del Usuario de por medio. 6snecesario solicitar recomendacin a las entidades de seguridad "#ore $aname%5 o en sude#ecto5 solicitar una ace!tacin del riesgo !or !arte del "#ore $aname%.

    11. An6'isis de Re7uti'i8acin) $om"ra o $onstruccinI/"

    12. 9ecno'o:a a uti'i8ar "ara 'a im"'ementacin

    a !lata#orma tecnolgica !ara im!lementar este sistema es a tra7s de A66