PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina S ue 64 1. INTR0B0CCI0N El Biseo y la Implementacion ue una Tienua viitual tiene como iesultauo una aplicacion Web uesue la cual, una empiesa pueua ampliai sus ventas meuiante el comeicio electionico ue maneia fcil, ipiua y sencilla. Be esta maneia, se facilita a los clientes la opcion ue iealizai sus compias sin salii ue casa o simplemente, visualizai los aiticulos uisponibles o consultai el estauo ue algn peuiuo iealizauo anteiioimente. Poi otia paite el peisonal autoiizauo (empleauos ue la tienua) poui iealizai acciones como el mouificauo ue los peuiuos iealizauos meuiante esta via, la inseicion ue nuevos items en la base ue uatos o la coiieccion ue los uatos eiioneos que pueuan apaiecei en el iegistio ue algn cliente. "#$%&'(%#)*+ El motivo piincipal poi el cual he ueciuiuo implementai este Pioyecto Final ue Caiieia ha siuo auentiaime en la meuiua ue lo posible en un sectoi que esta caua vez mas en auge como es el uel comeicio electionico, auems ue auquiiii los conocimientos necesaiios paia piogiamai en un lenguaje oiientauo a paginas Web, que me peimita sei mas competente a la hoia ue enfientaime al meicauo laboial una vez finalizaua la caiieia. En cuanto a la piogiamacion se iefieie, pese a habei hecho algn tiabajo anteiioi en PBP pouiia ueciise que, es la piimeia vez que me enfiento a una aplicacion ieal en este lenguaje, auems ue habei teniuo la opoituniuau ue tiabajai con plantillas CSS que hasta el momento eia algo totalmente uesconociuo paia mi. Poi ultimo, el habei cieauo la base ue uatos en NySQL me ha peimitiuo mas conocei mas a fonuo el funcionamiento ue este sistema ue gestion ue bases ue uatos La mezcla ue las nociones que pieviamente tenia en estas tecnologias comentauas anteiioimente y el motivacion poi ii apienuienuo caua vez mas aceica ue las mismas, ha geneiauo a lo laigo ue touo el pioyecto un inteis y una motivacion a caua paso que iba uescubiienuo nuevas posibiliuaues y foimas ue tiabajo.
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 6 ue 64 ,- .-')$*'/%*)$# $0()%(# Tias ueciuii que la Tienua viitual iba a sei una Web ue aiticulos ue iopa paia chico y echai un vistazo a las paginas Web ue iopa que pouiiamos consiueiai mas impoitantes (giupo Inuitex , Pull & Beai, Zaia, .) y ue una tienua que peisonalmente me gusta a mi (Abeiciombie & Fitch, ue la cual he tomauo las imgenes que foimaian la Tienua viitual), he tomauo la uecision que los coloies que foimain la Tienua van a sei tonaliuaues fiias como son el giis y el azul. Babienuo iealizauo un cuiso en Euinbuigh Napiei 0niveisity sobie como inteiactan las nuevas tecnologias y su uiseo sobie el usuaiio y conocienuo que un poital Web eficaz es un poital que centializa la infoimacion y simplifica al mximo las taieas a iealizai poi el usuaiio, he intentauo llevai al cabo uichos conocimientos cieanuo un inteifaz agiauable al aspecto visual y evitanuo la infoimacion "extia" que uesvie la atencion uel cliente y el motivo poi el cual ha entiauo en la Tienua viitual. uiacias a que la infoimacion en el fiame piincipal es infoimacion flotante que vaiia uepenuienuo uel tamao ue la ventana uel usuaiio y ue que los mens no tienen un tamao fijo sino que tambin uepenuen uel tamao ue la ventana, hacen ue esta pagina una pagina compatible con touos los navegauoies. El tema ue la publiciuau en las paginas Web, no menos impoitante, tampoco se ha uejauo ue lauo habienuo cieauo en la paite supeiioi cential un espacio ueuicauo poi si en un futuio alguna empiesa ueciuieia uaise a conocei a tiavs ue nuestia Tienua viitual meuiante un Bannei. Tambin he teniuo en cuenta el tamao ue las imgenes cieanuo en lugai ue imgenes ue tamao gianue y fijo, otias mas pequeas que se van iepitienuo a lo laigo ue la pagina uepenuienuo ue la infoimacion que se est mostianuo en caua momento.
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 7 ue 64
2. ESPECIFICACI0N BE REQ0ISIT0S 2.1. Intiouuccion 2.1.1. Pioposito El pioposito uel siguiente apaitauo va a consistii en la especificacion ue iequeiimientos paia el poital Web ue la Tienua viitual. Esta especificacion sei til paia establecei unos pieiiequisitos y una base sobie la que empezai un tiabajo ue iealizacion, asi como una fuente ue infoimacion paia cualquieia que uesee conocei mas aceica ue este pioyecto. 2.1.2. Ambito La Tienua viitual (en auelante simplemente "Tv") va a consistii en un inteifaz Web uinmica que peimita poi una paite, a los clientes ue esta empiesa a consultai el catalogo ue iopa caua tempoiaua asi como sus ofeitas y noveuaues y, poi otia paite, al peisonal ue la tienua meuiante una intianet, a gestionai la base ue uatos tanto paia la mouificacion ue los aiticulos a mostiai en la Tv como paia la gestion ue los uatos ue los clientes que pueuen acceuei a la misma. Be esta maneia, cualquiei usuaiio poui manteneise infoimauo ue touos los aiticulos uisponibles que ofiece la tienua caua tempoiaua. Auems, paia aquellos usuaiios que asi lo ueseen, meuiante un iegistio muy sencillo pouin iealizai sus compias uesue cual quiei teiminal conectauo Inteinet sin la necesiuau ue uesplazaise fisicamente hasta la Tv. 0tia ue las funciones que ofiece este inteifaz es la ue peimitii al peisonal ue la Tv la gestion ue la base ue uatos ue la foima mas sencilla posible. uiacias a un buscauoi, el empleauo pueue encontiai ipiuamente al cliente sobie el cual uesee hacei mouificaciones. Auems existe la posibiliuau ue inseitai aiticulos nuevos en la base ue uatos. Poi ultimo, mencionai tambin que una vez iealizauas las compias poi los usuaiios, estos pouin visualizai en touo momento el estauo en el cual se encuentian sus peuiuos. Estos estauos sein mouificauos poi el peisonal ue la Tv uesue una ue las opciones ue su intianet.
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 8 ue 64 2.1.S. Befiniciones, acionimos y abieviatuias 12: Abieviatuia ue Tienua viitual 3*4: La Woilu Wiue Web (uel ingles, Telaiaa Nunuial), la Web o WWW, es un sistema hipeitexto que funciona sobie Inteinet. Paia vei la infoimacion se utiliza una aplicacion llamaua navegauoi Web paia extiaei elementos ue infoimacion (llamauos "uocumentos" o "paginas Web") ue los seiviuoies Web (o "sitios") y mostiailos en la pantalla uel usuaiio. 3*4 5%)6/%(': Existen uos tipos ue pginas Web, ue conteniuo esttico (BTNL) y ue conteniuo uinmico que se geneian a paitii ue lo que el usuaiio intiouuce en un Web o foimulaiio y que utiliza el seiviuoi paia constiuii una Web peisonalizaua que envia al cliente. "789:: NySQL es el seiviuoi ue uatos ielacionales mas populai, uesaiiollauo y piopoicionauo poi NySQL AB. NySQL AB es una empiesa cuyo negocio consiste en piopoicionai seivicios en toino al seiviuoi ue bases ue uatos NySQL. 0na ue las iazones paia el ipiuo ciecimiento ue populaiiuau ue NySQL, es que se tiata ue un piouucto 0pen Souice, y poi tanto, va ue la mano con este movimiento. ;1":: Acionimo ingles ue Bypei Text Naikup Language (lenguaje ue maicacion ue hipeitexto), es un lenguaje infoimtico uiseauo paia estiuctuiai textos y piesentailos en foima ue hipeitexto, que es el foimato estnuai ue las pginas Web. <88: Las hojas ue estilo en cascaua (Cascauing Style Sheets, CSS) son un lenguaje foimal ue oiuenauoi usauo paia uefinii la piesentacion ue un uocumento estiuctuiauo esciito en BTNL o XNL (y poi extension XBTNL). La WSC (Woilu Wiue Web Consoitium) es la encaigaua ue foimulai la especificacion ue las hojas ue estilo que seivii ue estnuai paia los agentes ue usuaiio o navegauoies. =;1":: Es el lenguaje ue maicacion pensauo paia sustituii a BTNL como estnuai paia las paginas Web. XBTNL es la veision XNL ue BTNL, poi lo que tiene, bsicamente, las mismas funcionaliuaues, peio cumple las especificaciones, mas estiictas, ue XNL. Su objetivo es avanzai en el pioyecto uel Woilu Wiue Web Consoitium ue logiai una Web semntica, uonue la infoimacion, y la foima ue piesentaila estn claiamente sepaiauas. PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 9 ue 64 3><: El Woilu Wiue Web Consoitium (Consoicio ue la Web o Telaiaa Nunuial), abieviauamente WSC, es una oiganizacion que piouuce estnuaies paia la Telaiaa Nunuial o Woilu Wiue Web. ?;?: Acionimo ue "PBP: Bypeitext Piocessoi". Es un lenguaje ue piogiamacion ue sciipts, concebiuo en el teicei tiimestie ue 1994 poi Rasmus Leiuoif. Se utiliza piincipalmente paia la piogiamacion ue uuIs paia paginas Web, uestaca poi su capaciuau ue sei embebiuo en el couigo BTNL. ;11?: Es el piotocolo ue la Web (WWW), usauo en caua tiansaccion. Las letias significan Bypei Text Tiansfei Piotocol, es uecii, piotocolo ue tiansfeiencia hipeitexto. @+A'B%#C<-%*)$*: Se llamai usuaiio o cliente a cualquiei peisona que acceua al poital, ya sea un navegante anonimo o un cliente iegistiauo en la base ue uatos ue la Tv. ,/.-*'5#: Se llamai empleauo a touo aquel que peitenezca o foime paite ue la empiesa (Tv) y poi tanto tenga acceso autoiizauo a la intianet. 2.1.4. Refeiencias Las iefeiencias utilizauas paia la iealizai este pioyecto son las siguientes - IEEE Recommenueu Piactice foi Softwaie Requiiements Specifications, IEEE Stu 8Su-1998. - Foios uel Web: http:www.foiosuelweb.com - Wikipeuia la enciclopeuia libie: http:es.wikipeuia.oig - Nanual ue PBP: http:php.netinuex.php - Especificaciones ue XBTNL 1.u http:www.wSc.oigTRxhtml1 - Especificaciones ue CSS 2.1: http:www.wSc.oigTRCSS21 - Namp: Nac, Apache, NySQL, PBP: http:www.mamp.info
2.2. Besciipcion geneial 2.2.1. Peispectiva uel piouucto PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 1u ue 64 El lenguaje utilizauo paia implementai la tienua viitual es PBP que como bien hemos mencionauo antes, nos peimitii la cieacion ue una pagina Web uinmica. Poi otia paite, el sistema ue gestion ue bases ue uatos que contenui toua la infoimacion necesaiia paia sei mostiaua en la pagina Web es NySQL. 0na vez ueciuiuo esto, necesitamos un seiviuoi Web que nos peimita ejecutai el couigo en PBP a la vez que nos peimita acceuei a la base ue uatos NySQL. El seiviuoi Web utilizauo es Apache. Con touo esto y aauienuo que el sistema opeiativo utilizauo paia la piogiamacion ue la Tv y la ejecucion ue su couigo es Nac 0S X, usaiemos NANP paia la ejecucion ue la misma. NANP es el acionimo ue Nac 0S X, Apache, NySQL y PBP. Esta platafoima Web ue couigo abieito constiuiua paia Nac, es la solucion peifecta paia esta taiea ya que es un "touo en uno". Lo nico que nos falta ahoia paia pouei ejecutai la Tv e ii efectuanuo piuebas paia coiiegii el couigo en caso que fueia necesaiio, es un navegauoi Web o exploiauoi. Esta pagina ha siuo uiseaua paia que no piesente cambio alguno iespecto ue un navegauoi a otio (Nozilla Fiiefox, Inteinet Exploiei, Safaii, .). La infoimacion que contiene la pagina, tambin est uiseaua ue maneia que, con una iesolucion noimal o alta (a paitii ue 8uu x 6uu) sea mostiaua toua la pagina sin la necesiuau ue que el usuaiio tenga que uesplazaise ue aiiiba hacia abajo yo ue izquieiua a ueiecha salvo cuanuo la iespuesta a una consulta a la base ue uatos sea tan extensa que necesite mas espacio paia sei listaua. El piotocolo utilizauo paia la tiansmision ue uatos entie ieues ue computauoias es el piotocolo TCPIP. Auems, el piotocolo http sei el que nos peimita el acceso a la pagina Web.
2.2.2. Funciones uel piouucto Las funciones que va a iealizai la Tv son las siguientes: - Consultas sobie la coleccion Consulta segn categoiia. Consulta ue los uetalles ue un aiticulo. Consulta ue noveuaues. PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 11 ue 64 - Consulta uel caiiito.
- Nouificacion uel caiiito. Aauii aiticulo al caiiito. Eliminai aiticulo uel caiiito. Nouificai cantiuau en el caiiito.
- Tiatamiento ue usuaiios. Inseitai cliente en la base ue uatos. Nouificai uatos uel cliente en la base ue uatos. Nostiai infoimacion paia empleauos.
- Nouificacion ue la coleccion. Inseitai aiticulo en la base ue uatos.
- 0peiaciones sobie los peuiuos. Bsqueua ue peuiuos poi cliente. Nouificacion uel estauo ue un peuiuo. Inseitai peuiuo en la base ue uatos.
- Tiatamiento sobie usuaiios Nostiai infoimacion ue los usuaiios. Nostiai infoimacion ue los empleauos. Inicio ue sesion como usuaiio empleauo autentificauo.
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 12 ue 64 2.2.S. Caiacteiisticas uel usuaiio. vamos a sepaiai los usuaiios ue la Tv en ties giupos: cliente anonimo, cliente iegistiauo y empleauo ue la Tv. El cliente anonimo sei un usuaiio que simplemente uesee iealizai consultas sobie el catalogo o los piecios y no se haya iegistiauo touavia como cliente. Pese a no habeise iegistiauo, a este usuaiio se le peimitii aauii aiticulos al caiiito paia que se vaya familiaiizanuo con la pagina y se le facilite al mximo la taiea ue iealizai su compia. 0na vez ueciua iegistiaise como cliente iegistiauo, touos los aiticulos aauiuos al caiiito pieviamente peimanecein ahi paia pouei finalizai la compia uiiectamente. El cliente iegistiauo es un usuaiio que anteiioimente ha intiouuciuo sus uatos como cliente ue la Tv y ya cuenta con un couigo y una contiasea paia iegistiaise. Este cliente vei su nombie en el cuauio ue la izquieiua con la infoimacion actualizaua ue su caiiito. Auems tenui la opcion ue visualizai sus peuiuos anteiioies y el estauo ue estos. tambin, si asi lo uesea, poui finalizai su compia pasanuo poi caja y iealizai asi el peuiuo ue los aiticulos seleccionauos. El empleauo iegistiauo tenui acceso a la intianet ue la Tv paia iealizai las opeiaciones y gestiones que esta facilita.
2.2.4. Restiicciones geneiales. Como iestiiccion geneial, mencionai que la posibiliuau ue mouificai la base ue uatos poi paite uel peisonal ue la Tv es una mouificacion ue nivel bsico. Como nica mouificacion, el empleauo poui mouificai el conteniuo ue la base ue uatos peio nunca su estiuctuia. Esta mouificacion, en caso ue sei necesaiio, sei llevaua a cabo poi paite uel auministiauoi ue la base ue uatos ya que, en caso ue mouificaise la estiuctuia, se necesitai tambin una pequea mouificacion en el softwaie ue la Tv. 0tia cosa a tenei en cuenta es la posibiliuau ue que haya una gian afluencia ue usuaiios en la Tv al mismo tiempo. Este pioblema pouiia causai una satuiacion uel seiviuoi asi como lentituu en el funcionamiento ue la pagina. Estos pioblemas pouiian solucionaise simplemente aumentanuo la potencia uel seiviuoi con nuevo PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 1S ue 64 haiuwaie, aplicanuo tcnicas ue tiabajo uistiibuiuo, o constiuyenuo un clustei ue seiviuoies. La velociuau uel ancho ue banua uel que uispone el seiviuoi tambin pueue sei un pioblema a tenei en cuenta ya que, pueue conveitiise en el piincipal cuello ue botella. Poi tanto, esta eleccion no uebe obviaise como sencilla y iealizaise coiiectamente. tambin uebe existii una politica ue seguiiuau auecuaua en toua la Tv. Los accesos incoiiectos a paginas ue la Tv sin habeise iegistiauo es un pioblema que hay que evitai. tambin tenuiemos en cuenta la seguiiuau uentio uel seiviuoi instalanuo coitafuegos, antiviius, cuentas ue usuaiio, peimisos, etc., auems ue iealizai copias ue seguiiuau peiiouicamente.
2.S. Requeiimientos especificos 2.S.1. Requeiimientos funcionales 2.S.1.1. Cliente anonimo <#)+A-$' +*DE) ('$*D#BF'G Este tipo ue consulta consiste en una consulta SQL que ietoina touas las uifeientes categoiias ue la base ue uatos. Estas categoiias apaiecein en el submen ue la Tv uesue el cual, el cliente poui seleccionai la que uesee y asi sein mostiauos touos y caua uno ue los aiticulos peitenecientes a esa categoiia. <#)+A-$' 5* -#+ 5*$'--*+ 5* A) 'B$%(A-#G Con esta consulta, el cliente o usuaiio anonimo poui vei una infoimacion mas uetallaua aceica uel aiticulo que uesee. Pinchanuo en la fotogiafia uel aiticulo que se uesee, est accion uevolvei un numeio ue iefeiencia meuiante el cual, una consulta SQL seleccionai touos los uetalles uel aiticulo con esa iefeiencia y sein mostiauos. <#)+A-$' 5* )#&*5'5*+G A esta consulta se pueue acceuei meuiante uos vias. La piimeia es uesue la pagina piincipal, una vez se abie la pagina ue inicio ue la Tv apaiecen touos los aiticulos iefeienciauos en la base ue uatos como noveuau (Noveuau = u). La segunua foima ue vei las noveuaues es PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 14 ue 64 pinchanuo en la pestaa Noveuaues uel men que iealiza la misma opcion. <#)+A-$' 5*- ('BB%$#G El cliente poui consultai en touo momento y se encuentie uonue se encuentie los aiticulos que ha seleccionauo paia sei compiauos. Besue el maico situauo en la izquieiua ue la pagina en el que apaiece el iesumen uel caiiito, pinchanuo en el boton "vei - Euitai", se acceuei a la pantalla que muestia la tabla con touos los aiticulos aauiuos al caiiito. HI'5%B 'B$%(A-# '- ('BB%$#G Cualquiei usuaiio que entie a la pagina poui aauii aiticulos en el caiiito. Cuanuo se abie la pagina se ciea automticamente una vaiiable sesion que sei la que contenui los aiticulos que el cliente uesee auquiiii. Estos aiticulos se aauen simplemente uesue la pantalla ue los uetalles uel piouucto pinchanuo en el boton "Aauii a caiiito". ,-%/%)'B 'B$%(A-# 5*- ('BB%$#G Besue la pagina ue uetalles uel caiiito, el cliente pueue eliminai touos los aiticulos que uesee. La tabla que muestia los aiticulos que hay en el caiiito, uispone ue la columna "boiiai" con un checkbox paia caua aiticulo. Seleccionanuo el que se uesee eliminai y hacienuo click sobie el boton Actualizai, se eliminain touos los aiticulos maicauos boiinuolos ue la vaiiable sesion. "#5%J%('B (')$%5'5 *) *- ('BB%$#G Be igual maneia que existe la columna boiiai en la tabla q muestia los aiticulos uel caiiito, est la columna "cantiuau" que contiene un textbox paia caua aiticulo inuicanuo el numeio ue uniuaues que se uesea compiai. Inuepenuientemente ue la vaiiable sesion que contiene los aiticulos, existe otia vaiiable con las cantiuaues que, en caso ue queiei mouificaise, el cliente tenui que mouificai el numeio ue cantiuau que uesea y pinchai sobie el boton Actualizai paia mouificailas uefinitivamente. K)+*B$'B (-%*)$* *) -' 4'+* 5* 5'$#+G Esta funcion la tenui que iealizai touo usuaiio que uesee iealizai una compia en la Tv y no la haya iealizauo pieviamente. Neuiante un foimulaiio sencillo, el cliente no iegistiauo iellenai touos los campos necesaiios con sus uatos peisonales. 0na vez cumplimentauo este PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 1S ue 64 paso, pinchai el boton Enviai uatos que geneiai una consulta inseit en SQL que inseitai los uatos uel cliente en la tabla clientes ue la base ue uatos. En caso ue uejaise algn campo poi iellenai, el sistema geneiai un eiioi visual paia el cliente que tenui que iellenailo ue nuevo. 2.S.1.2. Cliente iegistiauo Cualquieia ue las funciones mencionauas anteiioimente paia clientes anonimos, tambin pouin sei iealizauas poi clientes iegistiauos. K)+*B$'B .*5%5# *) -' 4'+* 5* 5'$#+G 0na vez finalizaua la compia poi paite uel cliente, siempie y cuanuo se haya iegistiauo, poui finalizai su peuiuo pasanuo poi caja. Esta opcion geneia un insteit en la base ue uatos que intiouuce los uatos en uos tablas ue la base ue uatos. Poi una paite se intiouuce en la tabla peuiuos el peuiuo con el couigo uel cliente, el estauo y la fecha. Poi otia paite otio inseit en SQL intiouuce el peuiuo uetallauo con caua aiticulo y cantiuau en la tabla uetallepeuiuos. La columna peuiuo ue esta tabla apunta a la columna peuiuo ue la tabla peuiuos. "#+$B'B %)J#B/'(%L) 5* -#+ A+A'B%#+G Touo usuaiio que se encuentie iegistiauo en la Tv vei su nombie en el maico izquieiuo con toua la infoimacion actualizaua uel caiiito. Auems, peimite la opcion ue uesconectaise en touo momento. K)%(%# 5* +*+%L) (#/# A+A'B%# 'A$*)$%J%('5#G Touo usuaiio que pieviamente se haya iegistiauo en la Tv, poui iuentificaise intiouucienuo su uni y su contiasea. Esta funcion ciea una vaiiable sesion (uni) que sei la que inuique que ese usuaiio est autentificauo. Como hemos mencionauo en el punto anteiioi, tambin poui uesconectaise meuiante la opcion uesconectai. Esta opcion elimina la vaiiable sesion uni. "#+$B'B %)J#B/'(%L) 5* -#+ A+A'B%#+G 0na vez iegistiauo el usuaiio, este tenui la opcion ue visualizai touos los peuiuos iealizauos anteiioimente asi como el estauo en el que estos se encuentian. El empleauo ue la Tv sei el encaigauo ue actualizai este estauo. 2.S.1.S. Empleauo ue la Tv "#5%J%('B 5'$#+ 5*- (-%*)$* *) -' 4'+* 5* 5'$#+G PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 16 ue 64 0n sencillo upuate en SQL peimite a los empleauos ue la Tv mouificai los uatos ue cualquiei cliente. Tias sei mostiauos en textboxes los uatos actuales que existen en la base ue uatos, el empleauo poui mouificailos como asi se haya inuicauo. Paia finalizai esta funcion, uebei pulsai el boton enviai uatos que ejecutai esta consulta y mouificai los uatos. "#+$B'B %)J#B/'(%L) .'B' */.-*'5#+G 0no ue los piivilegios ue los que uisponen los empleauos es el ue tenei acceso a la intianet ue la Tv. Cuanuo el empleauo uesee acceuei a esta intianet, uebei intiouucii su uni y su contiasea. El sistema compiobai que esos uatos se encuentian en la tabla empleauos ue la base ue uatos. En caso afiimativo, peimitii la entiaua uel empleauo a uicho espacio. K)+*B$'B 'B$%(A-# *) -' 4'+* 5* 5'$#+G 0n sencillo foimulaiio peimite a los empleauos iegistiauos en la Tv uentio ue su intianet agiegai nuevos aiticulos en la base ue uatos. Auems el empleauo poui subii la imagen ue uicho aiticulo que sei guaiuaua en la caipeta coiiesponuiente. 0n inseit guaiuai toua esta infoimacion en una tupla ue la tabla stock en la base ue uatos. ME+NA*5' 5* .*5%5#+ .#B (-%*)$*G Bentio ue la opcion que peimite cambiai el estauo ue los peuiuo, existe un buscauoi paia facilitai esta opcion al empleauo. 0na consulta select en SQL buscai el peuiuo en cuestion lo mostiai en el listauo infeiioi. El empleauo poui buscailo uiiectamente en el listauo o filtiailo meuiante este buscauoi. "#5%J%('(%L) 5*- *+$'5# 5* A) .*5%5#G Touos los peuiuos iealizauos poi clientes en la Tv uisponen ue un couigo ue estauo (Realiznuose, Enviauo, EntiegauoFinalizauo). Bacienuo uso uel buscauoi mencionauo en el punto anteiioi, el empleauo seleccionai el peuiuo que uesee o los peuiuos que uesee en el caso ue que se vaya a iealizai un envio con vaiios peuiuos. Tias mouificai los textboxes que apaiecen en la columna estauo ue caua peuiuo y pulsai el boton actualizai, se mouificain en la base ue uatos los estauos ue los peuiuos que el empleauo haya mouificauo. "#+$B'B %)J#B/'(%L) 5* -#+ */.-*'5#+G PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 17 ue 64 Igual que ocuiiia con los clientes, el empleauo iegistiauo en la Tv poui vei su nombie en el maico que existe a la izquieiua ue la Tv en touo momento. K)%(%# 5* +*+%L) (#/# */.-*'5# 'A$*)$%J%('5#G Touo empleauo que uesee acceuei a la intianet uebei intiouucii su uni y su contiasea. Esta funcion cieai una vaiiable sesion (empleauo) que sei la que contiole en touo momento que el empleauo est iegistiauo y se le peimite el acceso a la intianet.
2.S.2. Requeiimientos ue inteifaces exteinos 2.S.2.1. Inteifaz uel usuaiio Puesto que la Tv es una tienua online, el acceso a la misma se iealiza atiavs ue Inteinet. Paia pouei sei mostiauo este inteifaz Web uel poital es necesaiio un navegauoi Web que peimita al usuaiio conectaise con el seiviuoi. El uiseo ue esta Web sei paia touos los usuaiios el mismo y uebeiia sei tambin el mismo paia touos los navegauoies ya que el couigo fuente ue la misma se cie a los estnuaies estableciuos poi el WSC. Bentio ue un uiseo que se mantenui paia touas las funciones que la Tv peimite, se iealizain touas las consultas poi paite uel usuaiio, ya sea cliente o empleauo. La nica paite ue la Web que se ii mouificanuo sei el cuauio geneial en el que uepenuienuo ue la infoimacion a mostiai tenui un aspecto u otio. El iesto se no sufiii mouificacion alguna. 2.S.2.2. Inteifaz Baiuwaie Paia acceuei a la Tv los usuaiios nicamente necesitain un oiuenauoi uesue el cual, meuiante una inteifaz ue ieu (Etheinet, mouem ABLS, etc.) tengan acceso a la ieu ue Inteinet. Este computauoi pueue estai basauo en cualquiei aiquitectuia peio uebei uisponei al menos ue un piocesauoi con capaciuau suficiente paia ejecutai un navegauoi Web moueino. Auems sei necesaiio que uisponga ue un inteifaz giafico, taijeta ue viueo y monitoi, con una iesolucion minima ue 8uuX6uu.
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 18 ue 64 2.S.2.S. Inteifaz Softwaie Cualquiei usuaiio que uesee conectaise a la Tv no necesitai ningn sistema opeiativo en concieto paia pouei acceuei a ella. nicamente bastai con un navegauoi moueino paia pouei visualizaila. Poi otia paite, el seiviuoi que hospeue la aplicacion estai basauo en Apache con PBP y NySQL, uisponibles paia uiveisos opeiativos: Linux, Winuows, Nacintosh, etc. Poi lo que se poui utilizai cualquieia ue estos. En este caso se utilizai Nac 0S X. 2.S.2.4. Inteifaces ue comunicaciones Existen uos tipos ue conexion entie los clientes y el seiviuoi ue la Tv. Los usuaiios o clientes se conectain a la Tv meuiante Inteinet. Esta conexion la iealizaian uesue su casa o uesue cualquiei otio lugai con acceso a Inteinet peio en cualquiei caso, uesue fueia ue la ieu local. Los empleauos, en cambio, auems ue tenei acceso al igual que los clientes uesue su hogai a tiavs ue Inteinet, tambin pouin conectaise a tiavs ue la ieu inteina ue la Tv. Cabe mencionai que en cualquieia ue los uos casos mencionauos anteiioimente el mecanismo ue comunicacion sei el mismo. Los clientes y el poital tenuin conexiones TCPIP y el piotocolo paia comunicai a los navegauoies con el seiviuoi Web sei el BTTP. 2.S.S. Requeiimientos ue eficiencia Puesto que el fin ue esta Tv es la venta ue aiticulos, se pietenue esta tenga un acceso simultaneo ue vaiios clientes al mismo tiempo. El seiviuoi Apache en el que se alojai la Tv tiene que sei capaz ue piopoicionai un acceso concuiiente a un numeio consiueiable ue clientes. Besue el piopio Apache se poui configuiai este compoitamiento asi como el numeio mximo ue conexiones simultaneas que ueseamos. El ienuimiento ue la Tv pouiia veise afectauo uiiectamente poi el numeio ue clientes que se encuentien conectauos al mismo tiempo. Poi este motivo se uesea aseguiai un acceso optimo en conuiciones ue caiga uel seiviuoi noimales.
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 19 ue 64 2.S.4. 0bligaciones ue uiseo 2.S.4.1. Estnuaies cumpliuos La Tv ha siuo uiseaua siguienuo el estnuai estableciuo poi el Woilu Wiue Web Consoitium (WSC). El WSC piouuce iecomenuaciones paia el uiseo y uesaiiollo ue paginas Web, en este caso XBTNL y CSS. Las piincipales ventajas uel XBTNL sobie otios foimatos son: Compatibiliuau paicial con navegauoies antiguos: la infoimacion se visualiza, aunque sin foimato. 0n mismo uocumento pueue auoptai uiseos iauicalmente uistintos en uifeientes apaiatos, puuienuo incluso escogeise entie vaiios uiseos paia un mismo meuio. Faciliuau ue euicion uiiecta uel couigo y ue mantenimiento. Foimato abieito, compatible con los nuevos estnuaies que actualmente est uesaiiollanuo el WSC como iecomenuacion paia futuios agentes ue usuaiio o navegauoies. Los uocumentos esciitos confoime a XBTNL 1.u pueuen potencialmente piesentai mejoi ienuimiento en las actuales heiiamientas Web que aquellos esciitos confoime a BTNL. Poi otia paite, las hojas ue estilo en cascaua (CSS) nos peimiten sepaiai la estiuctuia ue la Tv ue su piesentacion. Esta infoimacion la sepaiaiemos uel couigo XBTNL en un aichivo (estilo.css) apaite. Las ventajas ue utilizai CSS son: Contiol centializauo ue la piesentacion ue un sitio Web completo con lo que se agiliza ue foima consiueiable la actualizacion uel mismo. Los navegauoies peimiten a los usuaiios especificai su piopia hoja ue estilo local que sei aplicaua a un sitio Web, con lo que aumenta consiueiablemente la accesibiliuau. Poi ejemplo, peisonas con ueficiencias visuales pueuen configuiai su piopia hoja ue estilo paia aumentai el tamao uel texto o iemaicai ms los enlaces. 0na pgina pueue uisponei ue uifeientes hojas ue estilo segn el uispositivo que la muestie o incluso a eleccion uel usuaiio. Poi PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 2u ue 64 ejemplo, paia sei impiesa, mostiaua en un uispositivo movil, o sei "leiua" poi un sintetizauoi ue voz. El uocumento BTNL en si mismo es ms claio ue entenuei y se consigue ieuucii consiueiablemente su tamao. 2.S.4.2. Limitaciones Baiuwaie Paia pouei ejecutai la Tv bastaiia con un sistema que al menos contaia con un piocesauoi Intel Pentium Iv y 2S6 NB ue memoiia RAN. Besue este tipo ue sistema hacia uelante pouiia seiviinos como seiviuoi peio, como hemos comentauo anteiioimente, queiemos que este seiviuoi peimita el acceso simultaneo a mltiples clientes sin pioblema alguno. Paia su implantacion final se utilizai un seiviuoi con un piocesauoi Intel Coie 2 Buo con al menos 1 uB ue Nemoiia RAN. Auems uel motoi ue este seiviuoi, el nico iequisito mas impiescinuible paia este sistema sei una contiolauoia ue ieu que nos peimita la conexion con Inteinet y poi supuesto, una conexion auecuaua. El iesto uel haiuwaie no piecisai ue una configuiacion especial poi lo que se ponui el que mas se ajuste al piesupuesto.
2.S.S. Atiibutos 2.S.S.1. Seguiiuau En piimei lugai, ningn usuaiio poui acceuei a ninguna pagina ue la Tv sin habei pasauo poi el inuex o sin habeise iegistiauo en las paginas en las que asi se necesite. Cuanuo un usuaiio entia poi piimeia vez en la Tv se ciean las vaiiables necesaiias paia pouei avanzai uentio ue la pagina poi lo que un acceso uiiecto a otia no sei peimitiuo. Si un usuaiio quisieia entiai uentio ue la intianet ponienuo la uiieccion en la baiia ue uiiecciones se le uenegai el acceso. En segunuo lugai, como en cualquiei empiesa, la infoimacion es piivilegiaua y poi lo tanto uebe almacenaise ue una foima seguia. La infoimacion ue los clientes se guaiuai en la base ue uatos y las contiaseas ue estos tenuin un foimato cifiauo. El paso en los que el usuaiio intiouuce la contiasea en la Tv tambin se encuentia cifiauo. Be esta foima se ha intentauo ieuucii los iiesgos al minimo. PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 21 ue 64 2.S.S.2. Faciliuaues ue mantenimiento La sencillez en el manejo ue la Tv peimitii a los piopios empleauos ue la tienua a llevai un mantenimiento bsico ue la Web; gestion ue usuaiios, mouificacion uel stock, etc . Sin embaigo, la mouificacion en el uiseo ue la Web o cualquiei mouificacion en la estiuctuia ue la base ue uatos tenui que sei llevaua a cabo poi el auministiauoi uel poital.
2.S.6. 0tios iequeiimientos. 2.S.6.1. Base ue uatos La Tv utilizai una base ue uatos en NySQL, la cual almacenai toua la infoimacion iefeiente al catalogo, a los usuaiios, y toua la infoimacion ue los peuiuos efectuauos poi los clientes. Las consultas a la base ue uatos se iealizain poi paite uel seiviuoi Web meuiante PBP y su API ue acceso a bases ue uatos NySQL.
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 22 ue 64 S. ANALISIS S.1. Biagiama 0NL Paia entenuei mejoi touas las funciones que se pueuen iealizai con esta tienua viitual y los elementos y objetos ue los cuales est compuesta se han iealizauo los uiagiamas 0NL. A continuacion se uetallan bievemente las caiacteiisticas ue la aplicacion en base a este uiagiama. La Tienua viitual como bien inuica su nombie es la aplicacion en si, entoino a la cual se iealizan la mayoiia ue funciones. El Empleauo y el 0suaiio sein las clases que inteiacten con este a tiavs uel Stock. Stock es una clase que contiene touos los elementos ue los que se compone la Tienua viitual. Contiene un numeio inuefiniuo ue piouuctos que son los que foiman la clase Stock. Touas las consultas iealizauas poi el 0suaiio se hain a esta clase. El 0suaiio sei el que lleve a cabo touas las funciones ue bsqueua sobie el Stock. Existen uos tipos ue 0suaiio; anonimo y iegistiauo. En base a este tipo se peimitiin cieitos piivilegios uentio ue la aplicacion como poi ejemplo la iealizacion ue Peuiuos. La accion ue iealizai Peuiuo solo sei peimitiua paia el 0suaiio iegistiauo. A su vez, se cieai un Betallepeuiuo que contenui toua la infoimacion aceica uel Peuiuo iealizauo poi el 0suaiio. El Empleauo uisponui ue otio tipo ue piivilegios y autoiiuaues sobie los 0suaiios, Peuiuos y Stock. Be esta maneia sei capaz ue inseitai un nuevo elemento uentio uel Stock, mouificai el estauo ue un Peuiuo o vaiios y actualizai los uatos uel 0suaiio en caso ue sei necesaiio. Caiiito iepiesenta uno ue los motoies piincipales ue la aplicacion. Este uispone ue toua la infoimacion ue la sesion uel 0suaiio y ue los piouuctos uel Stock que finalmente se vayan a incluii uentio ue los Betallepeuiuo. Poi ultimo mencionai que Tienua sei un elemento que almacenai los uatos ue las tienuas fisicas que la Tienua viitual tiene. Esta infoimacion sei el nombie y la uiieccion uonue se encuentia.
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 2S ue 64
=,5E'5:5 )3 +F5131 YZU
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 24 ue 64 S.2. Casos ue uso Paia un entenuimiento mas intuitivo ue las acciones que se pueuen iealizai, al menos las mas impoitantes, se aujunta una figuia iesumienuo uichas funciones.
En el H)*O# H se han aujuntauo vaiios casos ue uso con una explicacion mas uetallaua y casos ieales.
S.S. Biagiamas ue secuencia A continuacion se muestian vaiios ejemplos ue inteiaccion con el sistema iepiesentauos meuiante unos uiagiamas ue secuencia que ieflejan a nivel ue ejecucion los pasos que sigue la aplicacion paia llevai a cabo las acciones inuicauas aiiiba ue caua ejemplo. Se muestia un ejemplo paia el empleauo y otio paia el usuaiio
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 2S ue 64 P HI'5%B 'B$%(A-# ' -' 4'+* 5* 5'$#+
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 26 ue 64 P HI'5%B 'B$%(A-# '- ('BB%$#G
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 27 ue 64 4. BISEN0 El uiseo ue la Tienua viitual se ha basauo en una aiquitectuia multicapas ue ties capas logicas (Figuia 4.1) - Nivel ue piesentacion o ue inteifaz ue usuaiio. - Nivel logico o ue aplicacion. - Nivel ue peisistencia.
El nivel ue inteifaz est foimauo poi touos los uocumentos que envia el seiviuoi poital al navegauoi y que ste piesenta al usuaiio, ue foima que le piopoicionan la infoimacion que ha solicitauo aceica uel poital y le peimite inteiactuai con el mismo a tiavs ue enlaces y foimulaiios El nivel ue aplicacion o logico est foimauo poi un conjunto ue libieiias que implementan las clases uel uominio. Este nivel es el encaigauo ue iealizai touas las opeiaciones a nivel ue aplicacion. El nivel ue peisistencia lo foiman la base ue uatos y el SuBB, los encaigauos ue almacenai toua la infoimacion uel poital y peimitii el acceso a la misma ue foima contiolaua y seguia.
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 28 ue 64 4.1. Nivel ue Inteifaz En la siguiente imagen (Figuia 4.1) se pueue obseivai una imagen geneial uel uiseo ue la Tv.
Figuia 4.1 Como ya se comento al piincipio ue este uocumento, el inteifaz ue usuaiio ha siuo uiseauo ue tal maneia que iesulte ameno, intuitivo y fcil ue utilizai. Be este mouo, touas las paginas ue la Tv estn compuestas poi cuatio fases uistinguibles fcilmente: - 0na cabeceia en la que se muestia el logo y se ueja un espacio paia aauii publiciuau. - 0n men hoiizontal uesue el que se pueue acceuei a touas las funciones ue la pagina Web uesue el que en ueteiminauas funciones, poui habei un submen. PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 29 ue 64 - La columna izquieiua con la ventana uel caiiito en la que se muestia una infoimacion iesumiua ue el conteniuo actual uel caiiito. - La ventana piincipal en la que se muestia toua la infoimacion al usuaiio y se iecogen los uatos que este intiouuzca A continuacion (Figuia 4.2) se muestian mas uetallauamente estas uifeientes paites:
Figuia 4.2 Cabeceia men hoiizontal
Resumen Caiiito
ventana piincipal
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina Su ue 64
4.1.1. Biagiamas ue navegabiliuau En este punto, se va a explicai mas uetallauamente la estiuctuia ue la Tv mostianuo como acceuei uesue caua punto a cualquiei paite ue la Web. Auems se incluiin los nombies ue caua pagina paia uetallai ue una maneia mas sencilla la navegacion posible que tenui caua tipo ue usuaiio.
4.1.1.1. 0suaiio anonimo iegistiauo. Esta tienua viitual se ha uiseauo ue tal maneia que en las paginas en las que un usuaiio necesita estai iegistiauo paia vei infoimacion piivilegiaua, tenui la opcion ue iegistiaise en caso ue no habeilo hecho o ue intiouucii sus uatos ue cliente. Poi tanto, entenuemos que no existe uifeiencia alguna entie la navegacion uel usuaiio anonimo iespecto uel usuaiio iegistiauo salvo paia la pagina ue FIN C0NPRA (Figuia 4.S).
4.1.1.2. Empleauo ue la Tienua viitual. Paia el empleauo, la navegacion sei la misma que paia el usuaiio salvo uos excepciones. En piimei lugai ste no poui llegai hasta PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina S1 ue 64 finalizai compia a no sei que se iegistie como usuaiio (caso en el que uejaiia ue sei empleauo y pasaiia a sei usuaiio iegistiauo). En segunuo lugai, tenui el piivilegio ue pouei acceuei al men Intianet como se muestia a continuacion (Figuia 4.4).
4.2. Nivel logico El nivel logico o ue aplicacion consiste en una seiie ue libieiias, giacias a las cuales la Tv pueue funcionai. Estas libieiias contienen touas las clases necesaiias paia la ejecucion ue la Web. Sus funciones son: opeiaciones ue calculo, compiobacion ue conuiciones y niveles ue acceso, geneiacion ue peticiones a la base ue uatos, tiansfoimacion y valiuacion ue uatos, etc. Este nivel es el que nos peimite una total inuepenuencia entie el nivel ue inteifaz y el nivel ue peisistencia (uetallauo en el siguiente punto). Esto quieie uecii que seiia posible iealizai mouificaciones en el nivel ue peisistencia sin que el ue inteifaz se vieia afectauo. nicamente habiia que iealizai pequeos cambios en el nivel logico paia auaptaise ue nuevo al nivel que tiene poi uebajo.
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina S2 ue 64 4.S. Nivel ue peisistencia Este nivel ue peisistencia o ue acceso ue uatos va a utilizai una base ue uatos ielacional que sei la que contenga toua la infoimacion ue la Tv (catalogo ue iopa, infoimacion ue usuaiios, peuiuos, etc.). Paia el buen funcionamiento se utilizai una base ue uatos peifectamente estiuctuiaua y uiseaua con una seiie ue entiuaues ielacionauas entie si ue una maneia coheiente y con un cieito nivel ue eficiencia. La base ue uatos inicial contenia cuatio entiuaues: usuaiios, peuiuos, stock y tienuas. Tias iealizai el mouelo Entiuau-Relacion y efectuai vaiias piuebas ue uso en la Tv ueciui sepaiai usuaiios en uos entiuaues uifeientes (clientes y empleauos) y aauii una nueva tabla (uetallepeuiuos) que seiia la que contenuiia toua la infoimacion uetallaua ue los peuiuos iealizauos. Esta tabla sei una entiuau ubil iespecto ue Peuiuo. Poi tanto, finalmente la base ue uatos contenui las siguientes seis entiuaues: clientes, uetallepeuiuos, empleauos, peuiuos, stock y tienuas. Poi otia paite, touas las entiuaues contenuin sus atiibutos. 0no ue ellos sei la clave piimaiia paia touas las entiuaues salvo paia uetallepeuiuos que en este caso su clave piimaiia estai compuesta poi uos atiibutos. 0no ue ellos lo heieuai ue la tabla Peuiuo. 4.S.1. Biseo Entiuau-Relacion
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina SS ue 64
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina SS ue 64 S. INPLENENTACI0N E INTEuRACI0N S.1. Tecnologias La Tv se ha uesaiiollauo utilizanuo la combinacion ue tecnologias "H"?. Este acionimo se iefieie al conjunto ue piogiamas softwaie que comnmente se utilizan paia uesaiiollai sitios Web uinmicos sobie sistemas opeiativos Apple Nacintosh, Nac 0S X. - Nac 0S X: Sistema opeiativo. - Apache: Seiviuoi Web. - NySQL: Sistema uestoi ue Bases ue Batos. - PBP: Lenguaje ue piogiamacion paia sitios Web. En este caso, ue las tecnologias anteiioies solo se ha utilizauo una ue ellas paia el uesaiiollo ue la Tv. PBP ha siuo el lenguaje en el que se ha uesaiiollauo el poital Web. Las otias ties se consiueiain como tecnologias exteinas a la aplicacion y se uesciibiin posteiioimente en el H)*O# M. =;1": Es el lenguaje ue maicauo pensauo paia sustituii a BTNL como estnuai paia las pginas Web. En su veision 1.u, XBTNL es solamente la veision XNL ue BTNL, poi lo que tiene, bsicamente, las mismas funcionaliuaues, peio cumple las especificaciones, ms estiictas, ue XNL. Su objetivo es avanzai en el pioyecto uel Woilu Wiue Web Consoitium ue logiai una Web semntica, uonue la infoimacion, y la foima ue piesentaila estn claiamente sepaiauas. La veision 1.1 es similai, peio paite a la especificacion en mouulos. En sucesivas veisiones la WSC planea iompei con los tags clsicos tiaiuos ue BTNL. ;11? El piotocolo ue tiansfeiencia ue hipeitexto BTTP es el piotocolo usauo en caua tiansaccion ue la Web (WWW). BTTP fue uesaiiollauo poi el consoicio WSC y la IETF y uefine la sintaxis y la semntica que utilizan los elementos softwaie ue la aiquitectuia Web (clientes y seiviuoies) paia comunicaise. Es un piotocolo oiientauo a tiansacciones y sigue el esquema peticion- iespuesta entie un cliente y un seiviuoi. Al cliente que efecta la peticion (un navegauoi) se lo conoce como "usei agent" (agente uel PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina S6 ue 64 usuaiio). A la infoimacion tiansmitiua se la llama iecuiso y se la iuentifica meuiante un 0RL. Los iecuisos pueuen sei aichivos, el iesultauo ue la ejecucion ue un piogiama, una consulta a una base ue uatos, la tiauuccion automtica ue un uocumento, etc. HBNA%$*($AB' <-%*)$* U 8*B&%5#B Esta aiquitectuia consiste bsicamente en un cliente que iealiza peticiones a otio piogiama (el seiviuoi) que le ua iespuesta. Aunque esta iuea se pueue aplicai a piogiamas que se ejecutan sobie una sola computauoia es ms ventajosa en un sistema opeiativo multiusuaiio uistiibuiuo a tiavs ue una ieu ue computauoias. En esta aiquitectuia la capaciuau ue pioceso est iepaitiua entie los clientes y los seiviuoies, aunque son ms impoitantes las ventajas ue tipo oiganizativo uebiuas a la centializacion ue la gestion ue la infoimacion y la sepaiacion ue iesponsabiliuaues, lo que facilita y claiifica el uiseo uel sistema. ?;? Es un lenguaje ue piogiamacion inteipietauo, uiseauo oiiginalmente paia la cieacion ue pginas Web uinmicas. Es usauo piincipalmente en inteipietacion uel lauo uel seiviuoi (seivei-siue sciipting) peio actualmente pueue sei utilizauo uesue una inteifaz ue linea ue comanuos o en la cieacion ue otios tipos ue piogiamas incluyenuo aplicaciones con inteifaz gifica usanuo las bibliotecas Qt o uTK+. PBP es un acionimo iecuisivo que significa !O8 "?23'&3M& !'3] 2'(+311('. Fue cieauo oiiginalmente poi Rasmus Leiuoif en 1994; sin embaigo la implementacion piincipal ue PBP es piouuciua ahoia poi The PBP uioup y siive como el estnuai ue facto paia PBP al no habei una especificacion foimal. Publicauo bajo la PBP License, la Fiee Softwaie Founuation consiueia esta licencia como softwaie libie. uiacias a esta tecnologia oiientaua a objetos se pueuen iealizai taieas en la aplicacion como poi ejemplo mantenei actualizauo en touo momento el caiiito, acceuei a la base ue uatos uonue se encuentia toua la infoimacion ue la Tv, valiuacion ue uatos poi paite ue usuaiio y empleauo, y muchas funciones mas. <88 Las hojas ue estilo en cascaua CSS es un lenguaje usauo paia uefinii la piesentacion ue un uocumento estiuctuiauo esciito en BTNL o XNL (y poi extension en XBTNL). El WSC es el encaigauo ue foimulai la PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina S7 ue 64 especificacion ue las hojas ue estilo que seiviin ue estnuai paia los agentes ue usuaiio o navegauoies. La iuea que se encuentia uetis uel uesaiiollo ue CSS es sepaiai la 31&'*+&*'5 ue un uocumento ue su 2'313%&5+,-%. La infoimacion ue estilo pueue sei aujuntaua tanto como un uocumento sepaiauo o en el mismo uocumento BTNL. En este ltimo caso pouiian uefiniise estilos geneiales en la cabeceia uel uocumento o en caua etiqueta paiticulai meuiante el atiibuto "style". Existen ties tipos ue estilos: hoja ue estilo exteina, hoja ue estilo inteina y estilo en linea. Paia esta aplicacion se ha utilizauo la hoja ue estilo exteina Estas son algunas ue las ventajas ue utilizai hojas ue estilo: Contiol centializauo ue la piesentacion uel sitio Web completo con lo que se agiliza ue foima consiueiable la actualizacion uel mismo. Los Navegauoies peimiten a los usuaiios especificai su piopia hoja ue estilo local que sei aplicaua a un sitio Web, con lo que aumenta consiueiablemente la accesibiliuau. Poi ejemplo, peisonas con ueficiencias visuales pueuen configuiai su piopia hoja ue estilo paia aumentai el tamao uel texto o iemaicai ms los enlaces. 0na pgina pueue uisponei ue uifeientes hojas ue estilo segn el uispositivo que la muestie o incluso a eleccion uel usuaiio. Poi ejemplo, paia sei impiesa, mostiaua en un uispositivo movil, o sei "leiua" poi un sintetizauoi ue voz. El uocumento BTNL en si mismo es ms claio ue entenuei y se consigue ieuucii consiueiablemente su tamao (siempie y cuanuo no se utilice estilo en linea).
S.2. Beiiamientas La Tv es una aplicacion Web foimaua poi el poital Web en el lenguaje ue piogiamacion PBP y una base ue uatos ielacional en NySQL inteiconectauas entie si. Auems, iecoiuai que ambas se encuentian en una maquina con sistema opeiativo Nac 0S X y un seiviuoi apache. 0n entoino ue uesaiiollo integiauo (IBE ue sus siglas en ingles) es un piogiama compuesto poi un conjunto ue heiiamientas paia el PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina S8 ue 64 piogiamauoi. Los uocumentos ue los cuales se compone la aplicacion (BTNL y sciipts en PBP) se han uesaiiollauo utilizanuo un IBE ue piogiamacion llamauo Komouo Euit. Komouo Euit es un euitoi ue couigo fuente bastante avanzauo y extensible. No solo se limita a pioveei ue las uiveisas heiiamientas habituales ue los euitoies populaies paia piogiamauoies, sino que va mas all, piopoicionanuo algunas ue las utiliuaues tipicas ue los entoinos ue uesaiiollo piofesionales. Auems, incoipoia un sistema ue complementos o auu-ons similai al que se conoce poi el navegauoi Fiiefox, que hace que touavia se pueua uisfiutai ue uiveisas otias utiliuaues que son ue agiauecei. pouiia ueciise que es el heimano menoi ue otia heiiamienta ue la misma compaia llamaua Komouo IBE, con la uifeiencia ue que esta es una heiiamienta comeicial ue pago, con uiveisas posibiliuaues mas avanzauas y que Komouo Euit es una veision libie y giatuita. Las gestiones con la base ue uatos se han iealizauo con uos aplicaciones uistintas. La cieacion ue tablas y atiibutos asi como gestiones simples se han iealizauo con phpNyAumin. Esta es una heiiamienta esciita en PBP con la intencion ue manejai la auministiacion ue NySQL a tiavs ue paginas Web, utilizanuo Inteinet. Se pueuen cieai y eliminai Bases ue Batos, cieai, eliminai y alteiai tablas, boiiai, euitai y aauii campos, ejecutai cualquiei sentencia SQL, auministiai claves en campos, auministiai piivilegios y expoitai uatos en vaiios foimatos. Sin embaigo, paia intiouucii los uatos que componuin estas tablas, se ha utilizauo la aplicacion Sequel Pio. Esta aplicacion es libie paia Nac 0S X cuyo fin es la gestion ue bases ue uatos NySQL. Sequel Pio piopoiciona touo lo necesaiio paia conectaise a cualquiei seiviuoi NySQL ya sea local o iemoto, una infiniuau ue opciones a la hoia ue consultai, inseitai o eliminai uatos, sopoites ue vistas, asi como una gian lista ue posibiliuaues. Poi ultimo, y en cuanto a uiseo se iefieie, PhotoShop ha siuo la heiiamienta con la que se han uiseauo touas las fotogiafias que foiman la estiuctuia ue la Tv.
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina S9 ue 64 S.S. Betalles ue la implementacion S.S.1. Peifiles ue usuaiio A continuacion se uetallan caua uno ue los peifiles ue usuaiio que utilizain esta aplicacion. ?*BJ%- 5* A+A'B%# ')L)%/# Este peifil es el que cualquiei peisona pueue tomai. La aplicacion se ha uiseauo ue tal maneia que cualquiei peisona que acceua a ella, pueua visitaila casi al completo y aauii los aiticulos al caiiito que uesee compiai. Se tiata ue que el usuaiio se familiaiice con el entoino y no necesite estai iegistiauo paia pouei visualizai los aiticulos ni ii auquiiinuolos a meuiua que los va vienuo. Poui poi tanto, visualizai la coleccion al completo, geneiai consultas sobie algn aiticulo en concieto, aauiilo al caiiito, eliminai uel caiiito, mouificai cantiuaues uel caiiito y poi ultimo, uaise ue alta como cliente paia pouei finalizai su compia. La opcion ue iegistiaise le apaiecei en touo momento que acceua a la pagina uel caiiito. 0na vez est iegistiauo, esta opcion uesapaiecei y apaiecei una nueva que sei la ue pasai poi caja. 0tia ue las ventajas ue iegistiaise, es que una vez lo haya hecho, se ciea automticamente la sesion y el usuaiio ya est logueauo y pasa a sei usuaiio iegistiauo. ?*BJ%- 5* A+A'B%# B*D%+$B'5# Si el usuaiio se ha iegistiauo, poui iealizai touas las funciones comentauas en el punto anteiioi. tambin tenui uos opciones mas; finalizai la compia con touos los aiticulos aauiuos al caiiito pieviamente y visualizai el estauo ue los peuiuos iealizauos. ?*BJ%- 5* */.-*'5# Este peifil cuenta auems con la ventaja ue pouei iealizai pequeas mouificaciones sobie la base ue uatos. Intiouucienuo sus uatos uesue el men Intianet, acceuei a la misma y se le mostiain las opciones que esta biinua a los usuaiios.
S.S.2. Autenticacion ue los usuaiios La autenticacion paia usuaiios funciona ue igual maneia que la autenticacion paia los empleauos. El sistema mostiai al usuaiio un PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 4u ue 64 foimulaiio en el que tenui que intiouucii su numeio ue usuaiio (BNI) y su contiasea. La aplicacion iecogei estos uatos y los enviai al sistema. Se compiobai meuiante consultas a la base ue uatos que uicha infoimacion es coiiecta y existe una tupla con ese usuaiio y contiasea. En este caso, se cieai una vaiiable sesion que viajai poi touas las paginas ue maneia que el sistema pueua contiolai el touo momento con esa sesion que el usuaiio se encuentia autenticauo. En caso contiaiio el sistema uevolvei un eiioi y el usuaiio tenui que intiouucii ue nuevo sus uatos.
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 41 ue 64 6. EvAL0ACI0N Y PR0EBAS 6.1. Evaluacion La evaluacion ue la Tv es un punto muy impoitante ya que ue esta uepenue que la pagina Web contenga touas las necesiuaues uel usuaiio y poi tanto, el xito ue esta aplicacion. La usabiliuau se iefieie a la capaciuau ue un softwaie ue sei compienuiuo, apienuiuo, usauo y sei atiactivo paia el usuaiio, en conuiciones especificas ue uso. Los puntos seguiuos paia conseguiila son los siguiente: - La faciliuau ue compiension ue la estiuctuiacion ue la aplicacion, asi como ue las funcionaliuaues y conteniuos que en esta pueuen obseivaise. - La sencillez ue uso ue la aplicacion en las etapas iniciales. - La iapiuez con la que el usuaiio encuentia aquello que busca. - La faciliuau peicibiua en la navegacion en timinos ue tiempo iequeiiuos y taieas piecisauas paia obtenei los iesultauos peiseguiuos. - La capaciuau uel usuaiio uel sistema paia contiolai aquello que hace y el lugai en el que se encuentia en caua momento. Estos son algunos ue los puntos seguiuos paia conseguii una aplicacion con un alto giauo ue usabiliuau, peio existen numeiosas ieglas y iecomenuaciones mas. Los sistemas que mejoi se ajustan a las necesiuaues uel usuaiio mejoian la piouuctiviuau y la caliuau ue las acciones y las uecisiones. El uiseo centiauo en el usuaiio iesulta en piouuctos ue mayoi caliuau ue uso, ms competitivos en un meicauo que uemanua piouuctos ue fcil uso.
6.2. Piuebas Las piimeias piuebas iealizauas fueion las piuebas ue uiseo. Babia que cuauiai uas las paites ue la Tv y que queuaia touo en su lugai. El tamao ue caua imagen y el lugai en el que tenian que estai fue una taiea que necesito un gian numeio ue piuebas. PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 42 ue 64 Las piuebas iefeientes a la navegabiliuau, enlaces iotos y a la accesibiliuau son otio tipo ue piuebas que se fueion iealizanuo simultneamente con el uesaiiollo ue la aplicacion. Tias iealizai algn cambio impoitante en la misma, habia que piobai que hubieia queuauo bien y que funcionaia como se espeiaba. 6.2.1. valiuacion XBTNL y CSS Touas las paginas ue la aplicacion NcIAN han siuo compiobauas con el valiuauoi ue la WSC y se han iuo coiiigienuo los eiioies encontiauos hasta que touas han siuo valiuauas coiiectamente como XBTNL 1.u Tiansitional. A continuacion se muestia uicha valiuacion.
Al final ue caua pagina, se encuentian los uos botones con acceso uiiecto al valiuauoi uel WSC paia XBTNL y paia el CCS. El couigo ue las hojas ue estilo CSS tambin ha siuo compiobauo con la veision 2.1 como se muestia a continuacion. El boton paia esta valiuacion se encuentia junto con el ue XBTNL.
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 4S ue 64 6.2.2. Compiobacion ue enlaces iotos Paia una navegabiliuau sin eiioies, se han compiobauo touos los enlaces ue la aplicacion. Existe un gian numeio ue softwaie que iealiza esta taiea ue foima giatuita. Paia este caso se ha utilizauo la siguiente pagina www.anybiowsei.com que tias pinchai en la opcion "Link Check" e intiouucii la uiieccion inicial ue nuestia pagina (http:mcian.zobyhost.commcian) compiueba ue maneia automtica touos los links que contiene. Estos son los iesultauos:
Esta imagen continua peio la obviaiemos y iesumiiemos que el iesto uel links tambin cuentan con el estauo 0K. PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 44 ue 64 6.2.S. Compiobacion ue iesolucion Anteiioimente se comento que paia una coiiecta visualizacion ue la aplicacion, uebei utilizaise una iesolucion ue 8uux6uu o supeiioi. Este apaitauo seivii paia mostiai el cumplimiento ue esta caiacteiistica. Paia ello, se ha hecho una impiesion e pantalla paia la iesolucion minima (8uux6uu) y una supeiioi aleatoiia. A continuacion se muestia la visualizacion paia estas iesoluciones.
'31(F*+,-% AHHMWHHd
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 4S ue 64 '31(F*+,-% !!./MAWBd
Con ambas iesoluciones la aplicacion se visualiza bien y se auapta coiiectamente.
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 46 ue 64 7. C0NCL0SI0NES En este punto uel Pioyecto, se me pasan muchas conclusiones poi la cabeza. La finalizacion ue este pioyecto me apoita una gian satisfaccion ya que, hace unos meses, cuanuo este Pioyecto solo eia una iuea en mi cabeza, paiecia como algo inalcanzable y uificil ue conseguii al mismo tiempo. Con esta aplicacion he apienuiuo a enfientaime a un tiabajo que pouiia consiueiaise como una taiea ieal en cualquiei empiesa. Be siuo capaz ue utilizai paite ue los conocimientos auquiiiuos uuiante toua la caiieia y plasmailos en un tiabajo uel que me siento oigulloso ue como ha queuauo. 0n tiabajo que no uista mucho ue la iuea que en un piincipio tenia en mente. Auems me ha seiviuo paia uaime cuenta ue que taieas tiiviales que a simple vista paiecian sencillas, se han conveitiuo en un quebiaueio ue cabeza y taieas que paiecian imposibles han siuo mucho mas fciles ue llegai a cabo. tambin uecii, que a meuiua que el Pioyecto iba tomanuo foima, han suigiuo muchas uuuas que al iesolveilas me seivian ue ejemplo paia apienuei nuevas cosas uentio ue la piogiamacion Web. Pese a estai finalizauo el pioyecto, la motivacion que iba nacienuo en mi paso a paso ue ii uescubiienuo nuevas posibiliuaues me hai seguii investiganuo en nuevas opciones a aauii uentio ue la Tienua viitual. Con esta memoiia finaliza mi Pioyecto y tambin ties aos ue caiieia. Este pioyecto me ha seiviuo paia inteiesaime en el munuo ue la piogiamacion Web.
Bibliogiafia PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 47 ue 64 Refeiencias Web: - IEEE Recommenueu Piactice foi Softwaie Requiiements Specifications, IEEE Stu 8Su-1998. - Foios uel Web: http:www.foiosuelweb.com - Wikipeuia la enciclopeuia libie: http:es.wikipeuia.oig - Nanual ue PBP: http:php.netinuex.php - Especificaciones ue XBTNL 1.u http:www.wSc.oigTRxhtml1 - Especificaciones ue CSS 2.1 http:www.wSc.oigTRCSS21 - Namp: Nac, Apache, NySQL, PBP: http:www.mamp.info
Refeiencias fisicas: Se han tomauo tambin como iefeiencias pioyectos ue la Escuela Tcnica y ue la Facultau ue Infoimtica ue aos anteiioies.
Anexo A. Casos ue 0so PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 48 ue 64
#$%& () *%& Aauii a caiiito +)%,-./,.01 El usuaiio aaue un piouucto al caiiito. 2,3&- .1.,.$(&- 0suaiio 2,3&-)% %),*1($-.&% - 4)%*5)1 Cualquiei usuaiio poui aauii el piouucto ue la Tienua viitual que uesee al caiiito en cualquiei momento sea usuaiio iegistiauo o anonimo. !-),&1(.,.&1)% - !&%3,&1(.,.&1)% El sistema actualizai el iesumen uel caiiito. 613)-$,,.&1)% ()7 *%*$-.& 897.:$,.&1)% ()7 %.%3)5$ ;7*<& () )=)13&% 1. El usuaiio selecciona un piouucto en el catalogo.
S. El usuaiio pulsa sobie el boton "Aauii a caiiito" uel piouucto ueseauo.
2. El sistema busca en la base ue uatos las caiacteiisticas uel piouucto. 4. El sistema compiueba que el piouucto se encuentie en el caiiito. S. Si se encuentia, suma la cantiuau al piouucto existente en el caiiito. 6. Si no se encuentia, se aaue el aiticulo nuevo al caiiito. 7. El sistema actualiza los totales uel caiiito. >?3)1%.&1)% %@1,-&1$% En S el usuaiio pueue cancelai la opeiacion. >?3)1%.&1)% $%@1,-&1$% -
#$%& () *%& Eliminai uel caiiito PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 49 ue 64 +)%,-./,.01 El usuaiio elimina un piouucto al caiiito 2,3&- .1.,.$(&- 0suaiio 2,3&-)% %),*1($-.&% - 4)%*5)1 Cualquiei usuaiio poui eliminai un piouucto uel caiiito en el momento que uesee. !-),&1(.,.&1)% El piouucto uebe habei siuo aauiuo al caiiito anteiioimente. !&%3,&1(.,.&1)% El sistema actualizai el iesumen uel caiiito. 613)-$,,.&1)% ()7 *%*$-.& 897.:$,.&1)% ()7 %.%3)5$ ;7*<& () )=)13&% 1. El usuaiio va a la pagina uonue se encuentia el iesumen uel caiiito. 2. Naica el checkbox ue ellos piouuctos que uesea eliminai uel caiiito. S. Pulsa sobie el boton "Actualizai" que se encuentia bajo el caiiito.
4. Busca en el caiiito el iuentificauoi ue los piouuctos maicauos. S. Elimina uel caiito los piouuctos seleccionauos. 6. Actualiza los totales uel caiiito. >?3)1%.&1)% %@1,-&1$% En S el usuaiio pueue cancelai la opeiacion. Si el usuaiio elimina touos los elementos uel caiiito el sistema mostiai un mensaje inuicanuo que el caiiito est vacio. >?3)1%.&1)% $%@1,-&1$% -
#$%& () *%& Nouificai cantiuau. PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina Su ue 64 +)%,-./,.01 El usuaiio mouifica la cantiuau ue un piouucto aauiuo al caiiito. 2,3&- .1.,.$(&- 0suaiio 2,3&-)% %),*1($-.&% - 4)%*5)1 Cualquiei usuaiio poui mouificai la cantiuau ue un piouucto que uesee auquiiii. !-),&1(.,.&1)% El piouucto uebe habei siuo aauiuo al caiiito anteiioimente. !&%3,&1(.,.&1)% El sistema actualizai el iesumen uel caiiito. 613)-$,,.&1)% ()7 *%*$-.& 897.:$,.&1)% ()7 %.%3)5$ ;7*<& () )=)13&% 1. El usuaiio va a la pagina uonue se encuentia el iesumen uel caiiito. 2. Nouifica la cantiuau ue ellos piouuctos que uesee cambiai. S. Pulsa sobie el boton "Actualizai" que se encuentia bajo el caiiito.
4. Nouifica la cantiuau ue los aiticulos a los que su cantiuau es uifeiente a la anteiioi. S. Si la cantiuau nueva es ceio, el sistema elimina el aiticulo uel caiiito. 6. Actualiza los totales uel caiiito. >?3)1%.&1)% %@1,-&1$% En S el usuaiio pueue cancelai la opeiacion. Si el usuaiio mouifica touas cantiuaues a ceio, el sistema mostiai un mensaje inuicanuo que el caiiito est vacio. >?3)1%.&1)% $%@1,-&1$% -
#$%& () *%& Alta usuaiio. PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina S1 ue 64 +)%,-./,.01 Bai ue alta un usuaiio en la Tienua viitual. 2,3&- .1.,.$(&- 0suaiio 2,3&-)% %),*1($-.&% - 4)%*5)1 El usuaiio anonimo intiouuce sus uatos peisonales y el sistema lo ua ue alta como usuaiio iegistiauo. !-),&1(.,.&1)% El usuaiio no se ha uauo ue alta pieviamente. !&%3,&1(.,.&1)% El nuevo usuaiio queua iegistiauo en el sistema. 613)-$,,.&1)% ()7 *%*$-.& 897.:$,.&1)% ()7 %.%3)5$ ;7*<& () )=)13&% 1. El usuaiio va una pagina uesue la que pueue uaise ue alta (Ej. "Caiiito"). 2. Selecciona la opcion "Nuevo usuaiio".
4. El usuaiio intiouuce sus uatos peisonales. S. El usuaiio pincha sobie el boton "Enviai uatos".
S. El sistema solicita los uatos peisonales a tiavs ue un foimulaiio.
6. El sistema iegistia al nuevo usuaiio en la base ue uatos. 7. El sistema confiima que el usuaiio se ha uauo ue alta coiiectamente. >?3)1%.&1)% %@1,-&1$% En 4 y S el usuaiio pueue cancelai la opeiacion. En 6, si el usuaiio no ha intiouuciuo touos los campos, el sistema infoimai uel eiioi y volvei a solicitailos. >?3)1%.&1)% $%@1,-&1$% -
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina S2 ue 64 #$%& () *%& Nouificai usuaiio. +)%,-./,.01 Nouificai los uatos uel usuaiio en la Tienua viitual. 2,3&- .1.,.$(&- Empleauo 2,3&-)% %),*1($-.&% 0suaiio 4)%*5)1 El empleauo mouifica los uatos ue un usuaiio si es necesaiio en la base ue uatos. !-),&1(.,.&1)% El usuaiio solicita al empleauo la mouificacion ue sus uatos peisonales. El empleauo est conectauo a su Intianet. !&%3,&1(.,.&1)% Los uatos uel usuaiio queuan mouificauos en el sistema. 613)-$,,.&1)% ()7 *%*$-.& 897.:$,.&1)% ()7 %.%3)5$ ;7*<& () )=)13&% 1. El empleauo pincha en "Nouificai los uatos ue un cliente" ue su Intianet. S. El empleauo intiouuce los uatos uel cliente en el buscauoi. S. El empleauo selecciona el nombie uel usuaiio a mouificai.
8. El empleauo mouifica los uatos opoitunos en el foimulaiio. 9. El empleauo pulsa el boton "Enviai uatos". 2. El sistema muestia un listauo con touos los clientes y un buscauoi. 4. El sistema muestia las coinciuencias ue la bsqueua. 6. El sistema busca en la base ue uatos el cliente seleccionauo. 7. El sistema muestia en un foimulaiio touos los uatos uel cliente.
1u. El sistema mouifica al usuaiio en la base ue uatos. 11. El sistema confiima que el usuaiio se ha mouificauo coiiectamente. >?3)1%.&1)% %@1,-&1$% En S y 9 el empleauo pueue cancelai la opeiacion. En 1u, si el usuaiio no ha uejauo un campo en blanco, el sistema infoimai uel eiioi y volvei a solicitailo. >?3)1%.&1)% $%@1,-&1$% - PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina SS ue 64
#$%& () *%& Cambiai estauo. +)%,-./,.01 Cambiai el estauo ue un peuiuo. 2,3&- .1.,.$(&- Empleauo 2,3&-)% %),*1($-.&% - 4)%*5)1 El empleauo mouifica el estauo ue uno o vaiios peuiuos en la base ue uatos. !-),&1(.,.&1)% El peuiuo se ha iealizauo pieviamente. El empleauo est conectauo a su Intianet !&%3,&1(.,.&1)% Los uatos uel peuiuo queuan mouificauos en el sistema. 613)-$,,.&1)% ()7 *%*$-.& 897.:$,.&1)% ()7 %.%3)5$ ;7*<& () )=)13&% 1. El empleauo pincha en "Cambiai el estauo ue un peuiuo" ue su Intianet. S. El empleauo intiouuce el numeio uel peuiuo a mouificai. S. El empleauo cambia el estauo uel peuiuo. 6. El empleauo pincha en el boton "Actualizai".
2. El sistema muestia un listauo con touos los peuiuos y un buscauoi. 4. El sistema muestia el peuiuo buscauo.
7. El sistema mouifica el peuiuo en la base ue uatos. 8. El sistema confiima que el peuiuo se ha mouificauo coiiectamente. >?3)1%.&1)% %@1,-&1$% En S y 6 el empleauo pueue cancelai la opeiacion. En 7, si el empleauo intiouuce un estauo incoiiecto, el sistema muestia el eiioi y vuelve a solicitai el nuevo estauo. >?3)1%.&1)% $%@1,-&1$% -
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina S4 ue 64
#$%& () *%& Finalizai peuiuo. +)%,-./,.01 El usuaiio finaliza su compia. 2,3&- .1.,.$(&- 0suaiio 2,3&-)% %),*1($-.&% - 4)%*5)1 El usuaiio finaliza su peuiuo y se almacena en la base ue uatos. !-),&1(.,.&1)% El usuaiio se ha iegistiauo pieviamente y ha aauiuo al caiiito aiticulos !&%3,&1(.,.&1)% El peuiuo queua iegistiauo en la base ue uatos. 613)-$,,.&1)% ()7 *%*$-.& 897.:$,.&1)% ()7 %.%3)5$ ;7*<& () )=)13&% 1. El usuaiio va a la pagina "Caiiito" y pincha en "Caja" paia finalizai el peuiuo.
2. El sistema acceue al Iu. uel usuaiio. S. El sistema actualiza la tabla peuiuo con una nueva fila. 4. El sistema acceue a la base ue uatos y busca la infoimacion ue los aiticulos uel caiiito. S. El sistema actualiza la tabla uetallepeuiuo con una nueva fila. 6. El sistema infoima al usuaiio meuiante un mensaje la confiimacion uel peuiuo.
>?3)1%.&1)% %@1,-&1$% - >?3)1%.&1)% $%@1,-&1$% -
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina SS ue 64 #$%& () *%& Login usuaiio. +)%,-./,.01 El usuaiio se conecta a la Tienua viitual. 2,3&- .1.,.$(&- 0suaiio 2,3&-)% %),*1($-.&% - 4)%*5)1 El usuaiio inicia sesion con su BNI y contiasea a la Tienua viitual. !-),&1(.,.&1)% El usuaiio se ha iegistiauo pieviamente y uispone ue una contiasea. !&%3,&1(.,.&1)% - 613)-$,,.&1)% ()7 *%*$-.& 897.:$,.&1)% ()7 %.%3)5$ ;7*<& () )=)13&% 1. El usuaiio va a una pagina uesue la que pueue conectaise (Ej. "Caiiito").
S. El usuaiio intiouuce sus uatos en el foimulaiio. 4. El usuaiio pincha en el boton "valiuai".
2. El sistema solicita los uatos a tiavs ue un foimulaiio.
S. El sistema iecoge los uatos uel foimulaiio. 6. El sistema compiueba que uichos uatos se encuentien en la base ue uatos. 7. El sistema inicia sesion con el usuaiio en cuestion. >?3)1%.&1)% %@1,-&1$% En 4 el usuaiio pueue cancelai la opeiacion. En 7, si el empleauo intiouuce un BNI y contiasea incoiiectos, el sistema muestia el eiioi y vuelve a solicitai los uatos. >?3)1%.&1)% $%@1,-&1$% -
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina S6 ue 64 Anexo B. Besciipcion ue Tecnologias. B.1. XBTNL XBTNL, acionimo en ingls ue e=tensible ;ypei$ext "aikup :anguage (lenguaje extensible ue maicauo ue hipeitexto), es el lenguaje ue maicauo pensauo paia sustituii a BTNL como estnuai paia las pginas Web. En su veision 1.u, XBTNL es solamente la veision XNL ue BTNL, poi lo que tiene, bsicamente, las mismas funcionaliuaues, peio cumple las especificaciones, ms estiictas, ue XNL. Su objetivo es avanzai en el pioyecto uel Woilu Wiue Web Consoitium ue logiai una Web semntica, uonue la infoimacion, y la foima ue piesentaila estn claiamente sepaiauas. La veision 1.1 es similai, peio paite a la especificacion en mouulos. En sucesivas veisiones la WSC planea iompei con los tags clsicos tiaiuos ue BTNL. Las piincipales ventajas uel XBTNL sobie otios foimatos son: - Compatibiliuau paicial con navegauoies antiguos: la infoimacion se visualiza, aunque sin foimato. Apuntai que el XBTNL 1.u fue uiseauo expiesamente paia sei mostiauo en navegauoies que sopoitan BTNL ue base. - 0n mismo uocumento pueue auoptai uiseos iauicalmente uistintos en uistintos apaiatos, puuienuo incluso escogeise entie vaiios uiseos paia un mismo meuio. - Faciliuau ue euicion uiiecta uel couigo y ue mantenimiento. - Foimato abieito, compatible con los nuevos estnuaies que actualmente est uesaiiollanuo el WSC como iecomenuacion paia futuios agentes ue usuaiio o navegauoies. Inconvenientes: - Algunos navegauoies antiguos no son totalmente compatibles con los estnuaies, lo que hace que las pginas no siempie se muestien coiiectamente. Esto caua vez es menos pioblemtico, al ii cayenuo en uesuso. - Nuchas heiiamientas ue uiseo Web an no piouucen couigo XBTNL coiiecto.
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina S7 ue 64 B.2. BTTP y la aiquitectuia Cliente - Seiviuoi. El piotocolo ue tiansfeiencia ue hipeitexto (BTTP, O?23'K3M& K'5%143' 8'(&(+(F) es el piotocolo usauo en caua tiansaccion ue la Web (WWW). BTTP uefine la sintaxis y la semntica que utilizan los elementos softwaie ue la aiquitectuia Web (clientes, seiviuoies, pioxies) paia comunicaise. Es un piotocolo oiientauo a tiansacciones y sigue el esquema peticion-iespuesta entie un cliente y un seiviuoi. Al cliente que efecta la peticion (un navegauoi o un spiuei) se lo conoce como "usei agent" (agente uel usuaiio). A la infoimacion tiansmitiua se la llama iecuiso y se la iuentifica meuiante un 0RL. Los iecuisos pueuen sei aichivos, el iesultauo ue la ejecucion ue un piogiama, una consulta a una base ue uatos, la tiauuccion automtica ue un uocumento, etc. BTTP es un piotocolo sin estauo, es uecii, que no guaiua ninguna infoimacion sobie conexiones anteiioies. El uesaiiollo ue aplicaciones Web necesita fiecuentemente mantenei estauo. Paia esto se usan las cookies, que es infoimacion que un seiviuoi pueue almacenai en el sistema cliente. Esto le peimite a las aplicaciones Web instituii la nocion ue "sesion", y tambin peimite iastieai usuaiios ya que las cookies pueuen guaiuaise en el cliente poi tiempo inueteiminauo. La aiquitectuia cliente -seiviuoi consiste bsicamente en un cliente que iealiza peticiones a otio piogiama (el seiviuoi) que le ua iespuesta. Aunque esta iuea se pueue aplicai a piogiamas que se ejecutan sobie una sola computauoia es ms ventajosa en un sistema opeiativo multiusuaiio uistiibuiuo a tiavs ue una ieu ue computauoias. En esta aiquitectuia la capaciuau ue pioceso est iepaitiua entie los clientes y los seiviuoies, aunque son ms impoitantes las ventajas ue tipo oiganizativo uebiuas a la centializacion ue la gestion ue la infoimacion y la sepaiacion ue iesponsabiliuaues, lo que facilita y claiifica el uiseo uel sistema. La sepaiacion entie cliente y seiviuoi es una sepaiacion ue tipo logico, uonue el seiviuoi no se ejecuta necesaiiamente sobie una sola mquina ni es necesaiiamente un solo piogiama. Los tipos especificos ue seiviuoies incluyen los seiviuoies Web, los seiviuoies ue aichivo, los seiviuoies uel coiieo, etc. Nientias que sus piopositos vaiian ue unos seivicios a otios, la aiquitectuia bsica seguii sienuo la misma. PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina S8 ue 64
En la aiquitectuia CS el iemitente ue una solicituu es conociuo como cliente. Sus caiacteiisticas son: Es quien inicia solicituues o peticiones, tienen poi tanto un papel activo en la comunicacion (uispositivo maestio o amo). Espeia y iecibe las iespuestas uel seiviuoi. Poi lo geneial, pueue conectaise a vaiios seiviuoies a la vez. Noimalmente inteiacta uiiectamente con los usuaiios finales meuiante una inteifaz gifica ue usuaiio. Al ieceptoi ue la solicituu enviaua poi cliente se conoce como seiviuoi. Sus caiacteiisticas son: Al iniciaise espeian a que lleguen las solicituues ue los clientes, uesempean entonces un papel pasivo en la comunicacion (uispositivo esclavo). Tias la iecepcion ue una solicituu, la piocesan y luego envian la iespuesta al cliente. Poi lo geneial, aceptan conexiones uesue un gian nmeio ue clientes (en cieitos casos el nmeio mximo ue peticiones pueue estai limitauo). No es fiecuente que inteiacten uiiectamente con los usuaiios finales. PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina S9 ue 64
2*)$'V'+ Centializacion uel contiol: los accesos, iecuisos y la integiiuau ue los uatos son contiolauos poi el seiviuoi ue foima que un piogiama cliente uefectuoso o no autoiizauo no pueua uaai el sistema. Esta centializacion tambin facilita la taiea ue ponei al uia uatos u otios iecuisos (mejoi que en las ieues P2P). Escalabiliuau: se pueue aumentai la capaciuau ue clientes y seiviuoies poi sepaiauo. Cualquiei elemento pueue sei aumentauo (o mejoiauo) en cualquiei momento, o se pueuen aauii nuevos nouos a la ieu (clientes yo seiviuoies). Fcil mantenimiento: al estai uistiibuiuas las funciones y iesponsabiliuaues entie vaiios oiuenauoies inuepenuientes, es posible ieemplazai, iepaiai, actualizai, o incluso tiaslauai un seiviuoi, mientias que sus clientes no se vein afectauos poi ese cambio (o se afectain minimamente). Esta inuepenuencia ue los cambios tambin se conoce como encapsulacion. Existen tecnologias, suficientemente uesaiiollauas, uiseauas paia el paiauigma ue CS que aseguian la seguiiuau en las tiansacciones, la amigabiliuau uel inteifaz, y la faciliuau ue empleo. W*+&*)$'V'+ La congestion uel tifico ha siuo siempie un pioblema en el paiauigma ue CS. Cuanuo una gian cantiuau ue clientes envian peticiones simultaneas al mismo seiviuoi, pueue sei que cause muchos pioblemas paia ste (a mayoi nmeio ue clientes, ms pioblemas paia el seiviuoi). Al contiaiio, en las ieues P2P como caua nouo en la ieu hace tambin ue seiviuoi, cuanto ms nouos hay, mejoi es el ancho ue banua que se tiene. El paiauigma ue CS clsico no tiene la iobustez ue una ieu P2P. Cuanuo un seiviuoi est +5J)(, las peticiones ue los clientes no pueuen sei satisfechas. En la mayoi paite ue ieues P2P, los iecuisos estn geneialmente uistiibuiuos en vaiios nouos ue la ieu. Aunque algunos salgan o abanuonen la uescaiga; otios pueuen touavia acabai ue uescaigai consiguienuo uatos uel iesto ue los nouos en la ieu. PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 6u ue 64 El softwaie y el haiuwaie ue un seiviuoi son geneialmente muy ueteiminantes. 0n haiuwaie iegulai ue un oiuenauoi peisonal pueue no pouei seivii a cieita cantiuau ue clientes. Noimalmente se necesita softwaie y haiuwaie especifico, sobie touo en el lauo uel seiviuoi, paia satisfacei el tiabajo. Poi supuesto, esto aumentai el coste. El cliente no uispone ue los iecuisos que pueuan existii en el seiviuoi. Poi ejemplo, si la aplicacion es una Web, no pouemos esciibii en el uisco uuio uel cliente o impiimii uiiectamente sobie las impiesoias sin sacai antes la ventana pievia ue impiesion ue los navegauoies.
B.S. PBP PBP es un lenguaje inteipietauo ue pioposito geneial ampliamente usauo y que est uiseauo al usai especialmente paia uesaiiollo Web y pueue sei inciustauo uentio ue couigo BTNL. ueneialmente se ejecuta en un seiviuoi Web, tomanuo el couigo en PBP como su entiaua y cieanuo pginas Web como saliua. Pueue sei uesplegauo en la mayoiia ue los seiviuoies Web y en casi touos los sistemas opeiativos y platafoimas sin costo alguno. PBP se encuentia instalauo en ms ue 2u millones ue sitios Web y en un millon ue seiviuoies, el nmeio ue sitios en PBP ha compaitiuo algo ue su pieponueiante sitio con otios nuevos lenguajes no tan poueiosos uesue agosto ue 2uuS. Este mismo sitio Web ue Wikipeuia est uesaiiollauo en PBP. Es tambin el mouulo Apache ms populai entie las computauoias que utilizan Apache como seiviuoi Web. La veision ms ieciente ue PBP es la S.S.1 (foi Winuows) uel 19 ue noviembie ue 2uu9. El gian paieciuo que posee PBP con los lenguajes ms comunes ue piogiamacion estiuctuiaua, como C y Peil, peimiten a la mayoiia ue los piogiamauoies cieai aplicaciones complejas con una cuiva ue apienuizaje muy coita. Tambin les peimite involuciaise con aplicaciones ue conteniuo uinmico sin tenei que apienuei touo un nuevo giupo ue funciones. Aunque touo en su uiseo est oiientauo a facilitai la cieacion ue pgina Web, es posible cieai aplicaciones con una inteifaz gifica paia el usuaiio, utilizanuo la extension PBP-Qt o PBP-uTK. Tambin pueue sei usauo uesue la linea ue oiuenes, ue la misma maneia como Peil o PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 61 ue 64 Python pueuen haceilo, a esta veision ue PBP se la llama PBP CLI (I(::5%) U,%3 $%&3'45+3). Cuanuo el cliente hace una peticion al seiviuoi paia que le envie una pgina Web, el seiviuoi ejecuta el intipiete ue PBP. Este piocesa el sciipt solicitauo que geneiai el conteniuo ue maneia uinmica (poi ejemplo obtenienuo infoimacion ue una base ue uatos). El iesultauo es enviauo poi el intipiete al seiviuoi, quien a su vez se lo envia al cliente. Neuiante extensiones es tambin posible la geneiacion ue aichivos PBF, Flash, asi como imgenes en uifeientes foimatos. Peimite la conexion a uifeientes tipos ue seiviuoies ue bases ue uatos tales como NySQL, Postgies, 0iacle, 0BBC, BB2, Niciosoft SQL Seivei, Fiiebiiu y SQLite. PBP tambin tiene la capaciuau ue sei ejecutauo en la mayoiia ue los sistemas opeiativos, tales como 0NIX (y ue ese tipo, como Linux o Nac 0S X) y Winuows, y pueue inteiactuai con los seiviuoies ue Web ms populaies ya que existe en veision CuI, mouulo paia Apache, e ISAPI. PBP es una alteinativa a las tecnologias ue Niciosoft ASP y ASP.NET (que utiliza C# vB.NET como lenguajes), a ColuFusion ue la compaia Auobe (antes Naciomeuia), a }SP}ava ue Sun Niciosystems, y a CuIPeil. Aunque su cieacion y uesaiiollo se ua en el mbito ue los sistemas libies, bajo la licencia uN0, existe auems un IBE (entoino ue uesaiiollo integiauo) comeicial llamauo Zenu Stuuio. Recientemente, Coueueai (la uivision ue lenguajes ue piogiamacion ue Boilanu) ha sacauo al meicauo un entoino integiauo ue uesaiiollo paia PBP, uenominauo Belphi foi PBP. Existe un mouulo paia Eclipse, uno ue los IBE ms populaies. 2*)$'V'+ Es un lenguaje multiplatafoima. Completamente oiientauo al uesaiiollo ue aplicaciones Web uinmicas con acceso a infoimacion almacenaua en una Base ue Batos. El couigo fuente esciito en PBP es invisible al navegauoi y al cliente ya que es el seiviuoi el que se encaiga ue ejecutai el couigo y enviai su iesultauo BTNL al navegauoi. Esto hace que la piogiamacion en PBP sea seguia y confiable. PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 62 ue 64 Capaciuau ue conexion con la mayoiia ue los motoies ue base ue uatos que se utilizan en la actualiuau, uestaca su conectiviuau con NySQL y PostgieSQL. Capaciuau ue expanuii su potencial utilizanuo la enoime cantiuau ue mouulos (llamauos exts o extensiones). Posee una amplia uocumentacion en su pgina oficial, entie la cual se uestaca que touas las funciones uel sistema estn explicauas y ejemplificauas en un nico aichivo ue ayuua. Es libie, poi lo que se piesenta como una alteinativa ue fcil acceso paia touos. Peimite aplicai tcnicas ue piogiamacion oiientaua a objetos. Biblioteca nativa ue funciones sumamente amplia e incluiua. No iequieie uefinicion ue tipos ue vaiiables aunque sus vaiiables se pueuen evaluai tambin poi el tipo que estn manejanuo en tiempo ue ejecucion. Tiene manejo ue excepciones (uesue PBPS). Si bien PBP no obliga a quien lo usa a seguii una ueteiminaua metouologia a la hoia ue piogiamai (muchos otios lenguajes tampoco lo hacen), aun estanuo uiiigiuo a alguna en paiticulai, el piogiamauoi pueue aplicai en su tiabajo cualquiei tcnica ue piogiamacion yo uesaiiollo que le peimita esciibii couigo oiuenauo, estiuctuiauo y manejable. 0n ejemplo ue esto son los uesaiiollos que en PBP se han hecho uel pation ue uiseo Nouelo vista Contiolauoi (o NvC), que peimiten sepaiai el tiatamiento y acceso a los uatos, la logica ue contiol y la inteifaz ue usuaiio en ties componentes inuepenuientes (vei ms abajo Fiamewoiks en PBP). K)(#)&*)%*)$*+ La ofuscacion ue couigo es la nica foima ue ocultai los fuentes.
B.4 CSS (Bojas ue estilo) Bojas ue Estilo en Cascaua (Cascauing Style Sheets), es un mecanismo simple que uesciibe como se va a mostiai un uocumento en la pantalla, o como se va a impiimii, o incluso como va a sei pionunciaua la PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 6S ue 64 infoimacion piesente en ese uocumento a tiavs ue un uispositivo ue lectuia. Esta foima ue uesciipcion ue estilos ofiece a los uesaiiollauoies el contiol total sobie estilo y foimato ue sus uocumentos. CSS se utiliza paia uai estilo a uocumentos BTNL y XNL, sepaianuo el conteniuo ue la piesentacion. Los 01&,F(1 uefinen la foima ue mostiai los elementos BTNL y XNL. CSS peimite a los uesaiiollauoies Web contiolai el estilo y el foimato ue mltiples pginas Web al mismo tiempo. Cualquiei cambio en el estilo maicauo paia un elemento en la CSS afectai a touas las pginas vinculauas a esa CSS en las que apaiezca ese elemento. CSS funciona a base ue ieglas, es uecii, ueclaiaciones sobie el estilo ue uno o ms elementos. Las hojas ue estilo estn compuestas poi una o ms ue esas ieglas aplicauas a un uocumento BTNL o XNL. La iegla tiene uos paites: un selectoi y la ueclaiacion. A su vez la ueclaiacion est compuesta poi una piopieuau y el valoi que se le asigne.
B.S Nac 0S X "'( R8 = es una linea ue sistemas opeiativos computacionales uesaiiollaua, comeicializaua y venuiua poi Apple Inc. Se basa en 0nix y usa una inteifaz gifica uesaiiollaua poi Apple llamaua Aqua, que se inspiia libiemente en la inteifaz ue Nac 0S Classic. El gestoi ue ventanas X11, caiacteiistico en la familia ue sistemas 0nix, y }ava se usan solo paia compatibiliuau con softwaie no nativo ue Nac. Nac 0S X Seivei fue lanzauo en el ao 1999 y se uifeiencia poi incoipoiai uifeientes heiiamientas auministiativas paia la gestion ue ieues y seivicios ue ieu. Este sistema tiene a su vez un subsistema llamauo Baiwin (bajo APSL, una licencia open souice) que piopoiciona a Nac 0S X piestaciones moueinas, como la memoiia piotegiua, la multitaiea poi uesalojo o expulsiva, la gestion avanzaua ue memoiia y el multipioceso simtiico. Sin embaigo, las capas supeiioies uel sistema (poi ejemplo el subsistema gifico en geneial) son couigo ceiiauo.
PR0EYCT0 FINAL BE CARRERA - BISEN0 E INPLENENTACI0N BE 0NA TIENBA vIRT0AL Pgina 64 ue 64 B.6 Apache El seiviuoi Apache es un seiviuoi BTTP ue couigo abieito paia platafoimas 0nix (BSB, uN0Linux, etcteia), Winuows y otias, que implementa el piotocolo BTTP1.1 (RFC 2616) y la nocion ue sitio viitual. Cuanuo comenzo su uesaiiollo en 199S se baso inicialmente en couigo uel populai NCSA BTTPu 1.S, peio ms taiue fue ieesciito poi completo. Su nombie se uebe a que oiiginalmente Apache consistia solamente en un conjunto ue paiches a aplicai al seiviuoi ue NCSA. Eia, en ingls, 5 25&+b? 13'@3' (un seiviuoi paicheauo). El seiviuoi Apache se uesaiiolla uentio uel pioyecto BTTP Seivei (httpu) ue la Apache Softwaie Founuation. Apache piesenta entie otias cosas mensajes ue eiioi altamente configuiables, bases ue uatos ue autenticacion y negociauo ue conteniuo, peio fue ciiticauo poi la falta ue una inteifaz gifica que ayuue en su configuiacion. En la actualiuau (2uuS), Apache es el seiviuoi BTTP ms usauo, sienuo el seiviuoi BTTP uel 68 ue los sitios Web en el munuo y ciecienuo an su cuota ue meicauo (estauisticas histoiicas y ue uso uiaiio piopoicionauas poi Netciaft.
B.7 NySQL NySQL es un sistema ue gestion ue base ue uatos ielacional, multihilo y multiusuaiio con ms ue seis millones ue instalaciones. NySQL AB uesue eneio ue 2uu8 una subsiuiaiia ue Sun Niciosystems y sta a su vez ue 0iacle Coipoiation uesue abiil ue 2uu9 uesaiiolla NySQL como softwaie libie en un esquema ue licenciamiento uual. Poi un lauo se ofiece bajo la uN0 uPL paia cualquiei uso compatible con esta licencia, peio paia aquellas empiesas que quieian incoipoiailo en piouuctos piivativos ueben compiai a la empiesa una licencia especifica que les peimita este uso. Est uesaiiollauo en su mayoi paite en ANSI C. Al contiaiio ue pioyectos como Apache, uonue el softwaie es uesaiiollauo poi una comuniuau pblica y el copyiight uel couigo est en pouei uel autoi inuiviuual, NySQL es piopietaiio y est patiocinauo poi una empiesa piivaua, que posee el copyiight ue la mayoi paite uel couigo.