aplicación de los temas 5-8 en nuestro proyecto _ grupako's blog

5
Grupako’s Blog Just another WordPress.com weblog Aplicación de los temas 58 en nuestro proyecto Tema 5: Las preguntas que tenemos que responder referidas a este tema tratan de la inclusión de un servidor de ficheros (tipo de servidor (http://es.wikipedia.org/wiki/Servidor) cuya función es permitir el acceso remoto a ficheros (http://es.wikipedia.org/wiki/Archivo_inform%C3%A1tico) almacenados en él o directamente accesibles por este ) a nuestro proyecto, lo cual podría considerarse una buena idea y lo incluiríamos de la siguiente manera: 1‑ Esta funcionalidad nos habría sido de gran utilidad para el tratamiento de los ficheros en los que almacenamos el código de las páginas buscadas por el robot. De esta forma el indexador podría abrir el fichero de forma remota y tratarlo sin necesidad de que se le envíe el contenido. 2‑ Las características de esta clase de servidores son: transparencia, tolerancia a fallos, consistencia y alto rendimiento. Todas ellas características que ayudan a la funcionalidad explicada en el apartado 1. 3‑ Por último, en caso de implementar un servidor de ficheros nos decantaríamos por la utilizaríamos de la cache en el cliente, ya que disminuye las llamadas al servidor y mejora el rendimiento de la red. Para una visión más general de este tema, observar las respuestas que hemos realizado a las preguntas del tema 5. Tema 6: Este tema trata de la organización en capas, necesaria para una ordenación correcta y una separación de funcionalidades necesaria para evitar que los errores en una aplicación afecten al resto de las capas. De estas organizaciones destaco tres que hemos utilizado: 1‑ arquitectura software en capas: distribuimos el proyecto en tres capas separando claramente las funcionalidades:

Upload: ben-avraham

Post on 27-Sep-2015

213 views

Category:

Documents


0 download

DESCRIPTION

tip

TRANSCRIPT

  • 6/4/2015 Aplicacindelostemas58ennuestroproyecto|Grupako'sBlog

    https://grupako.wordpress.com/aplicaciondelostemas58ennuestroproyecto/ 1/5

    GrupakosBlog

    JustanotherWordPress.comweblog

    Aplicacindelostemas58ennuestroproyecto

    Tema5:

    Las preguntas que tenemos que responder referidas a este tema tratan de la inclusin de unservidor de ficheros (tipo de servidor (http://es.wikipedia.org/wiki/Servidor) cuya funcin espermitir el acceso remoto a ficheros (http://es.wikipedia.org/wiki/Archivo_inform%C3%A1tico)almacenadosenlodirectamenteaccesiblesporeste

    )anuestroproyecto,locualpodraconsiderarseunabuenaideayloincluiramosdelasiguientemanera:

    1Estafuncionalidadnoshabrasidodegranutilidadparaeltratamientodelosficherosenlosque almacenamos el cdigo de las pginas buscadas por el robot. De esta forma el indexadorpodraabrirelficherodeformaremotaytratarlosinnecesidaddequeseleenveelcontenido.

    2 Las caractersticas de esta clase de servidores son: transparencia, tolerancia a fallos,consistencia y alto rendimiento. Todas ellas caractersticas que ayudan a la funcionalidadexplicadaenelapartado1.

    3 Por ltimo, en caso de implementar un servidor de ficheros nos decantaramos por lautilizaramos de la cache en el cliente, ya que disminuye las llamadas al servidor ymejora elrendimientodelared.

    Para una visin ms general de este tema, observar las respuestas que hemos realizado a laspreguntasdeltema5.

    Tema6:

    Este tema trata de la organizacin en capas, necesaria para una ordenacin correcta y unaseparacinde funcionalidadesnecesariaparaevitarque loserroresenunaaplicacinafectenalrestodelascapas.Deestasorganizacionesdestacotresquehemosutilizado:

    1arquitecturasoftwareencapas:distribuimoselproyectoentrescapasseparandoclaramentelasfuncionalidades:

  • 6/4/2015 Aplicacindelostemas58ennuestroproyecto|Grupako'sBlog

    https://grupako.wordpress.com/aplicaciondelostemas58ennuestroproyecto/ 2/5

    1.1Presentacin:

    oServletprincipal,debsqueda.

    oServletderesultados

    1.2Lgicaodenegocio

    Todoelcdigoreferentea lasaplicacionesnecesariaspararealizar lasbusquedas:nuestrorobotquerealizalasbsquedasdelinksyvideosporlaspginas,elindexadorquefiltralaspginasenlasqueencontramoseltrminoindicadoporelusuario,etc.

    1.3Datos

    Noutilizamosunabasededatos,sinoquetendremosenestacapalosficherosquecontienentantolascarpetasquerepresentanlaspginasdescargadasporelrobot,comolasbsquedasquerealizaelindexadorsobreesascarpetas.

    2 arquitecturadesistemaencapas: separando las funcionalidadesdel sistemaen trescapasdistintasybiendefinidas:

    2.1CapaCliente:

    Usamosestacapaenlainterfazgrficaquemuestralosresultadosobtenidosporlosmecanismosimplementadosenlacapainferior.

    2.2CapaAplicacin

    En esta capa encontramos ennuestroproyecto el robot, el indexadory los servidoresRMIquefacilitan mtodos remotos que ayudan a la interfaz a obtener resultados y que a su vezintercomunicanalasotrasdosaplicacionesmentadas.Enestacapaendondeserealizantodaslasaplicacionesymtodosbsicosparalamuestraderesultadosalusuario,enlacapasuperior.

    2.3CapaDatos

    Enestacapaencontramosnuestroalmacndedatos,lugardonderecogemostantolosresultadosobtenidos por el indexador y el robot, as como el cdigo para implementar los hasmaps quealmacenanelperfildecadausuario(datospersonalesydatosnecesariosparaelrobot).

    3arquitecturaWebconapache+tomcat:enloreferentealservidorWebtambinseobservaunaseparacinencapasmotivadaporsusdiferentesfuncionalidades:

    3.1 Capadeaplicacin(Tomcat):eselencargadodeinteractuarconlasaplicacionesdelproyecto(indexador,robot)atravesdesucontenedordeServlets,paraservirlosresultadosalacapaWeb.

    3.2 CapaWeb(Apache):capaqueseencargadeservir laspeticionesdelusuarioconlosresultadosobtenidosdelacapadeaplicacin.

  • 6/4/2015 Aplicacindelostemas58ennuestroproyecto|Grupako'sBlog

    https://grupako.wordpress.com/aplicaciondelostemas58ennuestroproyecto/ 3/5

    Tema7:

    Respecto a lo aprendido en el tema 7, existen diversos aspectos que no has sido incluidos ennuestraaplicacin,peroquesera interesante implementarlasenel casodequenuestrosistemaseraamayorescala.

    Servidorproxycacheweb

    Entre ellas se encuentra el servidor proxy cache web actuaria de la forma especificada acontinuacin:

    El cliente realiza una peticin (p. ej. mediante un navegador web(http://es.wikipedia.org/wiki/Navegador_web)) de un recurso de Internet(http://es.wikipedia.org/wiki/Internet)(unapginawebocualquierotroarchivo)especificadoporunaURL (http://es.wikipedia.org/wiki/URL).Cuando elproxy cach recibe la peticin, busca laURL resultante en su cach local. Si la encuentra, contrasta la fecha y horade la versinde lapginademandaconelservidorremoto.Silapginanohacambiadodesdequesecargoencachladevuelveinmediatamente,ahorrndosedeestamaneramuchotrficopuesslointercambiaunpaqueteparacomprobarlaversin.Silaversinesantiguaosimplementenoseencuentraenlacach,locapturadelservidorremoto,lodevuelvealquelopidiyguardaoactualizaunacopiaensucachparafuturaspeticiones.

    (https://grupako.files.wordpress.com/2009/06/imagencita1.jpg)

    Resumiendo,Lainclusindeesteservidorlarealizaramosenviandolaspeticionesdeclientesalservidorproxycacheweb,ysiestenoencontraselapaginaensucachesereenviaralapeticinalservidorweb,estedaralarespuestaalservidorproxycachewebquelaguardaraensucacheydeesteultimopasaraalcliente.Podemosverelfuncionamientomasclaroenelsiguientedibujo:

    Lautilizacindeun servidor proxy cachewebnos habra proporcionadovarias ventajas comodisminuir el traficoWAN, Las peticiones de pginasWeb se hacen al servidor Proxy y no aInternetdirectamente.Porlotanto,aligeraeltrficoenlaredydescargalosservidoresdestino,alosquelleganmenospeticiones.Lavelocidadentiempoderespuestaesmasrpidoaveces.ElservidorProxycreauncachqueevitatransferenciasidnticasdelainformacinentreservidoresduranteuntiempo(configuradoporeladministrador)asqueelusuariorecibeunarespuestamsrpida.Puedecubriraungrannmerodeusuarios,parasolicitar,atravsdel, loscontenidosWeb.

    Peroasuveztieneunasclarasdesventajascomoquelatasadeaciertosdequeelservidorproxytenga la pagina es menor que el 50% con un disco duro de 10Gbytes . Adems Las pginasmostradaspuedennoestaractualizadassistashansidomodificadasdesdelaltimacargaquerealizelproxycach.Adems,paraqueelfuncionamientodelservidorproxycachewebfueselomseficienteposibledeberamosincorporarciertosmecanismosquemantuviesensuconsistencia,comountimeoutenelquesieltiempoesmenorqueestelabsquedaserealizaraprimeramenteenlacachedelproxy,ysitiempotranscurridoesmayorqueeltimeoutespecificadolapeticinsereenviara al servidor. Adems como hemos mencionado siempre tendr que preguntar alservidorsilapginahasidomodificada.

  • 6/4/2015 Aplicacindelostemas58ennuestroproyecto|Grupako'sBlog

    https://grupako.wordpress.com/aplicaciondelostemas58ennuestroproyecto/ 4/5

    Servidoresvirtuales

    Porotro ladoenel casodequehubisemosnecesitado implementarmsdeunservicio,habrasido muy til el uso de servidores virtuales que permitiran tener esos servicios en una solomaquinafsica.LuegoamsdeunserviciolecorresponderauanmismaIP.

    En nuestra aplicacin no hemos utilizado servidores virtuales, ya que nicamente hemosimplementadounservicio.Perosihubisemosrealizadosmaselusodeservidoresvirtualesseriauna opcin muy rentable, ya que compartiramos un servidor web entre distintos sitios webcompartiendoalgunosaspectoscomoelanchodebanda.Losservidoresvirtualessonunaopcinde alojamiento ms barato, porque no tendr que pagar por un servidor dedicado slo a laacogidadesusitioweb.

    ParalaimplementacintambinsepodrainsertarunservidorDNS,elcualtendralosnombresdelosdominiosylaIPcorrespondientealosservidoresenlosqueseencuentran.Estoenelcasode que nuestras aplicaciones web tuviesen un dominio asignado. De esta manera, cuando elcliente realizase una peticin el DNS obtendra a que IP correspondera ese dominio, y serealizaralapeticinalservidorwebcorrespondienteaesedominio.Elusodedominiosseratilsi nuestra aplicacin ser abierta a cualquier persona, ya que resulta ms fcil recordar undominio(alfanumrico)queunaIP.

    TEMA8

    Apesardequeennuestroproyectonohemosutilizadonadaalrespecto,hayquetenerencuentaqueencasodequehubisemosqueridorealizarunaaplicacinanivelglobal(paramuchisimosclientes),laimplementacindeestapartehabrasidovital.

    Estoesasporqueunsoloservidornopuedehacerfrenteaunaltonmerodeclientes,nienloquearendimientoserefiere,nienloqueaseguridadserefiere(posiblescadasdelsistema).

    As pues, habramos optado por la replicacin de servidores, de forma que tendramos unservidorprincipal,yluegounaseriedeservidoresqueseranrplicasdelprincipal,ymedianteelredireccionamientodelainformacinconseguiramosmayorrendimientoyeficiencia.

    Hayqueespecificarqueutilizaramosrplicadeconsistenciadbil(frentealafuerte),porqueestaesmsfcildeconseguiryhayquerecordarquenoestamosanteunaaplicacincuyoserroresocadas tengan consecuencias catastrficas, por lo que no sera necesaria la replicacin deconsistencia fuerte. Sin irms lejos, cabedestacarque Internet tiene replicacinde consistenciadbil.

    De esta forma, cambiara un poco nuestro diagrama de despliegue, apareciendo conectadosmltiplesservidoresqueseranresultadodelareplicacin.

    UnarespuestatoAplicacindelostemas58ennuestroproyecto

  • 6/4/2015 Aplicacindelostemas58ennuestroproyecto|Grupako'sBlog

    https://grupako.wordpress.com/aplicaciondelostemas58ennuestroproyecto/ 5/5

    Modelov2GrupakosBlogSays:junio25,2009en3:38pm|Responder[]https://grupako.wordpress.com/Aplicacindelostemas58ennuestroproyecto/[]

    EltemaKubrick.BlogdeWordPress.com.Artculos(RSS)yComentarios(RSS).

    Seguir

    SeguirGrupako'sBlog

    ConstruyeunsitiowebconWordPress.com