Aplicación de Los Temas 5-8 en Nuestro Proyecto _ Grupako's Blog
-
Upload
ben-avraham -
Category
Documents
-
view
218 -
download
0
description
Transcript of Aplicación de Los Temas 5-8 en Nuestro Proyecto _ Grupako's Blog
-
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