tema 3 servlets - universidad de la laguna

27
1 -$9$6(59/(76 -$9$6(59/(76 MVGN MVGN Una forma eficiente para el desarrollo de aplicaciones Una forma eficiente para el desarrollo de aplicaciones cliente/servidor en Internet cliente/servidor en Internet 6(59/(76 6(59/(76 Los Los “ Ser vlet s Ser vlet s” son m son módulos escr it os en J AVA que ext ienden los dulos escr it os en J AVA que ext ienden los ser vidor es or ient ados al modelo pet ici ser vidor es or ient ados al modelo pet ición- r espuest a, t ales como los r espuest a, t ales como los ser vidor es web: ser vidor es web: Un client e (navegador ) r ealiza una pet ici Un client e (navegador ) r ealiza una pet ición a un ser vidor a t r av n a un ser vidor a t r avés del s del pr ot ocolo HTTP. pr ot ocolo HTTP. Un ser vidor r esponde devolviendo un mensaj e al navegador en c Un ser vidor r esponde devolviendo un mensaj e al navegador en código digo HTML HTML

Upload: others

Post on 27-Nov-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

1

-$9$�6(59/(76�����-$9$�6(59/(76�����MVGNMVGN

Una forma eficiente para el desarrollo de aplicaciones Una forma eficiente para el desarrollo de aplicaciones cliente/servidor en Internetcliente/servidor en Internet

6(59/(766(59/(76nn Los Los ““Ser vlet sSer vlet s”” son mson móódulos escr it os en J AVA que ext ienden los dulos escr it os en J AVA que ext ienden los

ser vidor es or ient ados al modelo pet iciser vidor es or ient ados al modelo pet icióónn-- r espuest a, t ales como los r espuest a, t ales como los ser vidor es web:ser vidor es web:

–– Un client e (navegador ) r ealiza una pet iciUn client e (navegador ) r ealiza una pet icióón a un ser vidor a t r avn a un ser vidor a t r avéés del s del pr ot ocolo HTTP.pr ot ocolo HTTP.

–– Un ser vidor r esponde devolviendo un mensaj e al navegador en cUn ser vidor r esponde devolviendo un mensaj e al navegador en cóódigo digo HTMLHTML

2

Pet iciones HTTPPet iciones HTTP

nn La sint axis de la La sint axis de la SHWLFLSHWLFLyyQ�+773Q�+773 estest áá dividida en t r es unidadesdividida en t r es unidades:

– � .- La línea de pet ición consist e en t r es campos de t ext o separ ados por espacios:nn ������� �� ����������������������� �������������������� �� ����������������������� ������������� �� � ������� ���������������� �!"�� ��� #� ��� $�%�� ����� !"����&�'� � ��� ������� ���������������� �!"�� ��� #� ��� $�%�� ����� !"����&�'� � ��!( ��*)� ����������� �����!( ��*)� ����������� ����� ++ �$�,�� ��'��"!(�.-/������$�,�� ��'��"!(�.-/����� �� � ���� �� ���� � ++ !0�����!0����� 11 �2 �!�34��56�7&�'� ���� �8�'�� � � ����2 �!�34��56�7&�'� ���� �8�'�� � � ��� !� )� �����!� )� �����������0&�'� 2 $�()������0&�'� 2 $�() 99 :'���0������ ���� ��;�� ��'��!������.��� �� � ;- :'���0������ ���� ��;�� ��'��!������.��� �� � ;-

nn ���6!� �8�'������<��������= �"�� ��< ��>�����%?��� @�� ��%�� ��'��"!(���$ �! � ��� � ���� ���$ =� ����6!� �8�'������<��������= �"�� ��< ��>�����%?��� @�� ��%�� ��'��"!(���$ �! � ��� � ���� ���$ =� � !(��� �� � '��;��&�'� =���!(��� �� � '��;��&�'� =��� �!A� �!A� ++ !B&�'� 2 $�DC%E�F0G: $�,�����%?��� 2�$ 2�����6 � ���$ $�D!� ��*)� ������-!B&�'� 2 $�DC%E�F0G: $�,�����%?��� 2�$ 2�����6 � ���$ $�D!� ��*)� ������-

nn ��� � ��(� ��H����������$ � ��� � ��� �0)� ��"!���� � ��(� ��H����������$ � ��� � ��� �0)� ��"!� II �A�� $�D��(� � ������ �:J4545,K0 $����� �����2�����H $�;��� $� � D-�A�� $�D��(� � ������ �:J4545,K0 $����� �����2�����H $�;��� $� � D-– L .- Los campos cabecer a de la pet ición: permit en el int er cambio de inf or mación

adicional sobr e la solicit ud y el client e. Est os campos act úan como par ámet r os RPC. Cada cabecer a consist e en un nombre seguido por ":" y el valor del campo. El or den en que apar ecen no es signif icat ivo.

– M .- El cuerpo: se usa opcionalment e por los client es par a el envío de inf or mación masiva a los servidor es.

– Ej emplo:F 9 �" ����$ :� � �� I � 34��5=N�� ��O N�#� � O ��(�;- O� �>�PJ4545,K�N�Q;- RS ��� �� �$TU� �V � N O�� �6�W ��������!H���?� ��� ���� S ��� �� �$T ��'"�� �N�V

C�!� �� X,�8 $� ��T6Y ����Z: �?

[

Respuest as HTTPRespuest as HTTP

nn La sint axis de la La sint axis de la UHVSXHVWD�+773UHVSXHVWD�+773 estest áá dividida en t r es unidadesdividida en t r es unidades::

– � .- La línea de cabecer a de r espuest a: consist e en t r es campos de t ext o separ ados por espacios en blanco.

nn ���;���� �� ��H��������2 �!0� �0)� ���!���;���� �� ��H��������2 �!0� �0)� ���! II �\�$ $�D���(� � ������ �:J4545,K0 ��%��� �����;-�\�$ $�D���(� � ������ �:J4545,K0 ��%��� �����;-nn ���D!� �8�'�"���0��������: ���. ��� ��; �! � �����0�$ �� ���� �!��'� �! � �.-���D!� �8�'�"���0��������: ���. ��� ��; �! � �����0�$ �� ���� �!��'� �! � �.-nn ������ 11 � � ������������� �!H������ ���"���;G:������!� ! � : $�A'��"�: �V$��� ����� � ������������� �!H������ ���"���;G:������!� ! � : $�A'��"�: �V$��� ���� II �A�$ $�D �! � ����2�$ �)�'" $� � �.-6K'� ��$ �A�$ $�D �! � ����2�$ �)�'" $� � �.-6K'� ��$ !( ����>�����H �]� $����� ���>^7_D-!( ����>�����H �]� $����� ���>^7_D-

– L .- Los campos cabecer a de la r espuest a: per mit en el int er cambio de inf ormación adicional sobr e el ser vidor y el document o HTML devuelt o al client e. Cada cabecer a consist e en un nombr e seguido por ":" y el valor del campo. El or den en que apar ecen no es signif icat ivo.

– M .- El cuer po: gener alment e cont iene el document o HTML que el client e solicit ó.– Ej emplo:

F 9 �" ����$ :� � �� I � J45D5,K�N�Q;- R � R$R`^>_a ��*)� �� Tcb W a�S N�Q.- �W ��������!H���?� ��� ���� Y �� �X;)� ��"!� ��� T Q.- RW ��� � $� � X � G�� Td� �V � N O� �6�W ��� � $� � X�� ���8 ��O;T � R�R$RW '" ������ e�J45 Y F;f�-*-g-*-g-*-he"N�J45 Y F;f

3

i

Car act erCar act er ííst icas de los st icas de los Ser vlet sSer vlet s

nn Per mit e independencia de la plat af or ma: Per mit e independencia de la plat af or ma: J avaJ avann API bien def inida: J ava API bien def inida: J ava Ser vletSer vlet DevelopmentDevelopment KitKit (J SDK).(J SDK).

nn La API estLa API est áá basada en int er f aces J ava incluidas en las ext ensiones basada en int er f aces J ava incluidas en las ext ensiones de de ““j avaxj avax ””..

nn La mayorLa mayor íía de las pet iciones de los client es se r ealizan a t r ava de las pet iciones de los client es se r ealizan a t r avéés de s de f or mular ios HTML. Las r espuest as de los ser vidor es son pf or mular ios HTML. Las r espuest as de los ser vidor es son pááginas ginas Web a los client es.Web a los client es.

nn (O�VHUYLGRU�V(O�VHUYLGRU�VyyOR�FDUJD�XQD�LQVWDQFLD�GH�FDGD�VHUYOHW�OR�FDUJD�XQD�LQVWDQFLD�GH�FDGD�VHUYOHW�nn 8QD�YH]�FDUJDGR��SHUPDQHFH�HQ�PHPRULD�GLVSRQLEOH�D�8QD�YH]�FDUJDGR��SHUPDQHFH�HQ�PHPRULD�GLVSRQLEOH�D�FXDOTXLHU�SHWLFLFXDOTXLHU�SHWLFLyyQ�GH�ORV�FOLHQWHV�Q�GH�ORV�FOLHQWHV�

nn 'LIHUHQWHV�'LIHUHQWHV�WKUHDGVWKUHDGV SXHGHQ�HMHFXWDU�FRQFXUUHQWHPHQWH�SXHGHQ�HMHFXWDU�FRQFXUUHQWHPHQWH�HO�PHO�PppWRGR�WRGR�VHUYLFHVHUYLFH������(O�VLQFURQLVPR�VH�SXHGH�UHDOL]DU���(O�VLQFURQLVPR�VH�SXHGH�UHDOL]DU�GHQWUR�GHO�PGHQWUR�GHO�PppWRGR�WRGR�VHUYLFHVHUYLFH������

j

Sust it uciSust it ucióón de los CGIn de los CGInn Los CGI (Los CGI (CommonCommon Gat ewayGat eway I nt er f aceI nt er f ace) se pueden ) se pueden

desar r ollar en muchos lenguaj es: C, C++, desar r ollar en muchos lenguaj es: C, C++, per lper l, j ava, et c.,, j ava, et c.,

nn La mayorLa mayor íía de los ser vidor es Web sopor t an CGI .a de los ser vidor es Web sopor t an CGI .

nn BBáásicament e hacen uso de los f or mular ios HTML:sicament e hacen uso de los f or mular ios HTML:–– FORM FORM ACTI ON=ACTI ON=““ht t p:/ / www.websit e.com/ cgiht t p:/ / www.websit e.com/ cgi--bin/ cgibin/ cgi--execexec-- f ilef ile””

nn Pr incipal pr oblema:Pr incipal pr oblema:–– No son ef icient es ya que el ser vidor ej ecut a una copia del CGI No son ef icient es ya que el ser vidor ej ecut a una copia del CGI

por cada pet icipor cada pet icióón del client e y por t ant o la sobr ecar ga que se n del client e y por t ant o la sobr ecar ga que se pr oduce es signif icat iva.pr oduce es signif icat iva.

nn Ser vlet sSer vlet s ssóólo ej ecut an una copia del mismo.lo ej ecut an una copia del mismo.

nn Los Los ““Ser vlet sSer vlet s”” son una f or ma ef icient e de r eemplazar los son una f or ma ef icient e de r eemplazar los scr ipt s CGIscr ipt s CGI

4

k

Ser vlet sSer vlet s vs. CGIvs. CGI

nn Ser vlet sSer vlet s se escr iben en J ava y por t ant o pueden hacer se escr iben en J ava y por t ant o pueden hacer uso de los paquet es J ava.uso de los paquet es J ava.

nn Los Los Ser vlet sSer vlet s son son ““por t ablespor t ables”” ent r e dif er ent es ent r e dif er ent es ser vidor es, cumpliendo la pr emisa j ava: escr ibir una vez, ser vidor es, cumpliendo la pr emisa j ava: escr ibir una vez, ej ecut ar en cualquier lugar .ej ecut ar en cualquier lugar .

nn Los Los Ser vlet sSer vlet s son segur os cumpliendo las car act erson segur os cumpliendo las car act er ííst icas st icas de segur idad de j ava, como el manej o de la memor ia y la de segur idad de j ava, como el manej o de la memor ia y la segur idad de la msegur idad de la mááquina vir t ual.quina vir t ual.

nn Los Los Ser vlet sSer vlet s son mson máás rs r áápidos que los CGI al est ar pidos que los CGI al est ar car gados en memor ia, y no degr adan el sist ema cuando car gados en memor ia, y no degr adan el sist ema cuando exist en muchas pet iciones de client es.exist en muchas pet iciones de client es.

l

Ar quit ect ur a de los Ar quit ect ur a de los Ser vlet sSer vlet s

nn El paquet e El paquet e MDYD[�VHUYOHWMDYD[�VHUYOHW estest áá f or mado por :f or mado por :

��&ODVHV��&ODVHV*HQHULF6HUYOHW*HQHULF6HUYOHW����6HUYOHW,QSXW6WUHDP6HUYOHW,QSXW6WUHDP����6HUYOHW2XWSXW6WUHDP6HUYOHW2XWSXW6WUHDP

–– ��,QWHUIDFHV��,QWHUIDFHV: :

––6HUYOHW6HUYOHW����6HUYOHW&RQILJ6HUYOHW&RQILJ����6HUYOHW5HTXHVW6HUYOHW5HTXHVW�� 6HUYOHW5HVSRQVH6HUYOHW5HVSRQVH����6HUYOHW&RQWH[W6HUYOHW&RQWH[W

5

m

Clase Clase Gener icSer vletGener icSer vlet

nn I mplement a las int er f aces I mplement a las int er f aces Ser vletSer vlet y y Ser vlet Conf igSer vlet Conf ig

nn Est a clase of r ece una implement aciEst a clase of r ece una implement acióón simple de los n simple de los mméét odos t odos initinit ()() y y dest r oydest r oy()() del ciclo de vida de los del ciclo de vida de los ser vlet s.ser vlet s.

nn TambiTambiéén la implement acin la implement acióón del mn del méét odo de gest it odo de gest ióón de n de ““logslogs”” def inida en la int er f az def inida en la int er f az Ser velt Cont extSer velt Cont ext ..

nn Los pr ogr amador es de ser vlet s deben Los pr ogr amador es de ser vlet s deben sobr eescr ibirsobr eescr ibir e e implement ar el mimplement ar el méét odo abst r act o t odo abst r act o ““ser vice()ser vice()””..

QR

I nt er f az I nt er f az Ser vletSer vletnn Def ine los mDef ine los méét odos estt odos est áándar que t odo ser vlet debe implement ar .ndar que t odo ser vlet debe implement ar .nn Par a cr ear un ser vlet , se suele ext ender la clase Par a cr ear un ser vlet , se suele ext ender la clase Gener icSer vletGener icSer vlet o la o la

mmáás especializada s especializada Ht t pSer vletHt t pSer vlet ..nn Un ser vidor inicializa un ser vlet llamando a su mUn ser vidor inicializa un ser vlet llamando a su méét odo t odo initinit ()(). Est e . Est e

mméét odo pasa al ser vlet un obj et o t ipo t odo pasa al ser vlet un obj et o t ipo Ser vlet Conf igSer vlet Conf ig, que cont iene la , que cont iene la conf igur aciconf igur acióón de ar r anque y los parn de ar r anque y los par áámet r os de inicializacimet r os de inicializacióón.n.

nn Un ser vidor invoca al mUn ser vidor invoca al méét odo t odo ser viceser vice()() par a pasar las pet iciones al par a pasar las pet iciones al ser vlet par a su pr ocesamient o. Est e mser vlet par a su pr ocesamient o. Est e méét odo t oma un obj et o t odo t oma un obj et o Ser vlet RequestSer vlet Request de ent r ada y devuelve un obj et o de ent r ada y devuelve un obj et o Ser vlet ResponseSer vlet Response..

nn Par a f inalizar , un ser vidor puede eliminar un ser vlet llamando aPar a f inalizar , un ser vidor puede eliminar un ser vlet llamando al l mméét odo t odo dest r oydest r oy()()..

nn El mEl méét odo t odo get Ser vlet Conf igget Ser vlet Conf ig()() devuelve el obj et o devuelve el obj et o Ser vlet Conf igSer vlet Conf ig..nn El mEl méét odo t odo get Ser vlet I nf oget Ser vlet I nf o()() devuelve una devuelve una st r ingst r ing con inf or macicon inf or macióón n

acer ca del ser vlet (por ej emplo, aut or del ser vlet , f echa, copyracer ca del ser vlet (por ej emplo, aut or del ser vlet , f echa, copyr ight ).ight ).

6

Q$Q

I nt er f az I nt er f az Ser vlet Conf igSer vlet Conf ignn Da acceso al ser vlet a sus dat os de conf igur aciDa acceso al ser vlet a sus dat os de conf igur acióón.n.

nn Un ser vidor pasa un obj et o de est e t ipo cuando se car ga por Un ser vidor pasa un obj et o de est e t ipo cuando se car ga por pr imer a vez.pr imer a vez.

nn El mEl méét odo t odo get I nit Par amet erget I nit Par amet er ()() devuelve una devuelve una st r ingst r ing con el valor con el valor de los parde los par áámet r os de inicializacimet r os de inicializacióón del ser vlet .n del ser vlet .

nn El mEl méét odo t odo get I nit Par amet er Namesget I nit Par amet er Names()() devuelve una devuelve una ““enumer at ion enumer at ion of st r ingsof st r ings”” con los nombr es de los parcon los nombr es de los par áámet r os de inicializacimet r os de inicializacióón.n.

nn El mEl méét odo t odo get Ser vlet Cont extget Ser vlet Cont ext ()() devuelve un obj et o t ipo devuelve un obj et o t ipo Ser vlet Cont extSer vlet Cont ext que cont iene el cont ext o del ser vlet que lo que cont iene el cont ext o del ser vlet que lo ej ecut a.ej ecut a.

Q �

MMéét odos de t odos de Gener icSer vletGener icSer vletnn destroydestroy()() Elimina el servlet, limpiando cualquier recurso que se estElimina el servlet, limpiando cualquier recurso que se estáá utilizando, utilizando,

ademademáás de escribir en el s de escribir en el ““loglog””, la destrucci, la destruccióón del servlet. n del servlet. nn getServletInfogetServletInfo()() Devuelve una cadena con informaciDevuelve una cadena con informacióón del servlet, como nombre n del servlet, como nombre

del autor, versidel autor, versióón, Copyright. n, Copyright. nn init(ServletConfiginit(ServletConfig)) Inicia el servlet y hace Inicia el servlet y hace ““loglog”” de la inicializacide la inicializacióón.n.nn log(Stringlog(String)) Escribe el nombre de la clase y un mensaje en el fichero Escribe el nombre de la clase y un mensaje en el fichero ““loglog””. . nn service(ServletRequestservice(ServletRequest, , ServletResponseServletResponse)) Realiza el procesamiento de las Realiza el procesamiento de las

peticiones del cliente. peticiones del cliente. nn getServletConfiggetServletConfig()() Devuelve un objeto Devuelve un objeto servletConfigservletConfig conteniendo informaciconteniendo informacióón de n de

inicio del servlet. inicio del servlet.

nn getInitParameter(StringgetInitParameter(String)) Devuelve una cadena con el valor del parDevuelve una cadena con el valor del paráámetro de metro de inicializaciinicializacióón solicitado, o n solicitado, o nullnull si no existe.si no existe.

nn getInitParameterNamesgetInitParameterNames()() Devuelve el nombre de los parDevuelve el nombre de los paráámetros de inicializacimetros de inicializacióón n del servlet como un tipo enumerado de del servlet como un tipo enumerado de stringstring, o vac, o vacíío si no existen paro si no existen paráámetros.metros.

nn getServletContextgetServletContext()() Devuelve un objeto Devuelve un objeto ServletContextServletContext que contiene informacique contiene informacióón n acerca del servicio de red en el que se ejecuta el servlet.acerca del servicio de red en el que se ejecuta el servlet.

7

Q �

I nt er f az I nt er f az Ser vlet Cont extSer vlet Cont extnn Pr opor ciona al ser vlet inf or maciPr opor ciona al ser vlet inf or macióón acer ca de su ent or no.n acer ca de su ent or no.nn TambiTambiéén per mit e hacer n per mit e hacer logslogs de oper aciones r elevant es. El de oper aciones r elevant es. El

pr ogr amador es r esponsable de decidir que quier e t ener en los pr ogr amador es r esponsable de decidir que quier e t ener en los logslogs..nn El mEl méét odo t odo get At t r ibut eget At t r ibut e()() devuelve el valor de un at r ibut o del devuelve el valor de un at r ibut o del

ser vicio de r ed especif icado.ser vicio de r ed especif icado.nn El mEl méét odo t odo get MimeTypeget MimeType()() devuelve el t ipo mime del f icher o devuelve el t ipo mime del f icher o

especif icado.especif icado.nn El mEl méét odo t odo get RealPat hget RealPat h()() devuelve el valor del devuelve el valor del pat hpat h r eal.r eal.nn El mEl méét odo t odo get Ser ver I nf oget Ser ver I nf o()() devuelve el nombr e y ver sidevuelve el nombr e y ver sióón del n del

ser vidor sobr e el que se ej ecut a el ser vlet .ser vidor sobr e el que se ej ecut a el ser vlet .nn El mEl méét odo t odo get Ser vletget Ser vlet ()() devuelve el ser vlet de un nombr e devuelve el ser vlet de un nombr e

especif icado. El mespecif icado. El méét odo t odo get Ser vlet sget Ser vlet s()() devuelve una enumer acidevuelve una enumer acióón de n de los obj et os ser vlet s del ser vidor .los obj et os ser vlet s del ser vidor .

nn El mEl méét odo t odo loglog()() per mit e escr ibir un mensaj e en el f icher o per mit e escr ibir un mensaj e en el f icher o loglog del del ser vlet .ser vlet .

Q [

I nt er f az I nt er f az Ser vlet RequestSer vlet Requestnn Se ut iliza par a acceder a los dat os pasados desde el client e al Se ut iliza par a acceder a los dat os pasados desde el client e al

ser vlet .ser vlet .nn Los dat os cont enidos en un obj et o Los dat os cont enidos en un obj et o Ser vlet RequestSer vlet Request incluye nombr es y incluye nombr es y

valor es de parvalor es de par áámet r os, at r ibut os y el met r os, at r ibut os y el Ser vlet I nput St r eamSer vlet I nput St r eam..nn Un obj et o Un obj et o Ser vlet RequestSer vlet Request es pasado al mes pasado al méét odo t odo ser viceser vice()()..nn MMéét odos:t odos:

––get At t r ibut e(st r ingget At t r ibut e(st r ing namename)).... At r ibut os especiales ( SSL, ....).... At r ibut os especiales ( SSL, ....)––get Cont ent Lengt hget Cont ent Lengt h()().... Tama.... Tamañño de los dat os de pet icio de los dat os de pet icióón.n.––get Cont ent Typeget Cont ent Type()()––get I nput St r eamget I nput St r eam()().... Devuelve un obj et o t ipo .... Devuelve un obj et o t ipo Ser vlet I nput St r eamSer vlet I nput St r eam––get Par amet er (st r ingget Par amet er (st r ing namename)).... Devuelve el valor del par.... Devuelve el valor del par áámet r o met r o namename––get Par amet er Namesget Par amet er Names()()..Devuelve el nombr e de par..Devuelve el nombr e de par áámet r os (met r os (enumer at ionenumer at ion))––get Par amet er Valuesget Par amet er Values()()..Devuelve el valor de par..Devuelve el valor de par áámet r os (met r os (ar r ayar r ay de de st r ingst r ing))––get Pr ot ocolget Pr ot ocol()(), , get Remot eAddr essget Remot eAddr ess()(), , get Remot eHostget Remot eHost ()(), , get Ser ver Nameget Ser ver Name()(), ,

get Ser ver Por tget Ser ver Por t ()()––get Schemeget Scheme()().... Devuelve el t ipo de URL ut ilizado: .... Devuelve el t ipo de URL ut ilizado: f t pf t p, , ht t pht t p. . ht t psht t ps

8

Q i

I nt er f az I nt er f az Ser vlet ResponseSer vlet Response

nn Se ut iliza par a pasar los dat os desde el ser vlet al client e.Se ut iliza par a pasar los dat os desde el ser vlet al client e.nn Un obj et o Un obj et o Ser vlet ResponseSer vlet Response es pasado al mes pasado al méét odo t odo ser viceser vice()()..

nn MMéét odos:t odos:

––get Out put St r eamget Out put St r eam()()....Devuelve un f luj o de salida que el ....Devuelve un f luj o de salida que el ser vletser vletut ilizarut ilizar áá par a enviar dat os al client e.par a enviar dat os al client e.

––set Cont ent Lengt hset Cont ent Lengt h()()....Def ine el t ama....Def ine el t amañño de los dat os a enviar al o de los dat os a enviar al client e.client e.

––set Cont ent Typeset Cont ent Type()()....Def ine el t ipo de cont enido a enviar al client e.....Def ine el t ipo de cont enido a enviar al client e.

Q j

Clase Clase Ser vlet I nput St r eamSer vlet I nput St r eam

nn Of r ece un f luj o de ent r ada (Of r ece un f luj o de ent r ada (inputinput st r eamst r eam) que el ) que el ser vletser vletut iliza par a leer las pet iciones y los dat os que vienen de ut iliza par a leer las pet iciones y los dat os que vienen de los client es.los client es.

nn Def ine un mDef ine un méét odo abst r act o t odo abst r act o r eadLiner eadLine()() que lee un que lee un ar r ayar r ayde de byt esbyt es con la posibilidad de indicar un con la posibilidad de indicar un of f setof f set . Est e . Est e mméét odo lee un nt odo lee un núúmer o de mer o de byt esbyt es det er minado o hast a el det er minado o hast a el siguient e f in de lsiguient e f in de l íínea.nea.

9

no

Clase Clase Ser vlet Out put St r eamSer vlet Out put St r eam

nn Of r ece un f luj o de salida (out put Of r ece un f luj o de salida (out put st r eamst r eam) que el ) que el ser vletser vletut iliza par a enviar las r espuest as a los client es.ut iliza par a enviar las r espuest as a los client es.

nn El mEl méét odo sobr ecar gado t odo sobr ecar gado pr intpr int ()() per mit e escr ibir en la per mit e escr ibir en la r espuest a al client e t ipos br espuest a al client e t ipos báásicos de j ava como sicos de j ava como booleanosbooleanos, , car act er es, car act er es, f loat sf loat s, , int sint s. .

nn El mEl méét odo sobr ecar gado t odo sobr ecar gado pr int lnpr int ln()() per mit e lo mismo que per mit e lo mismo que el ant er ior per o ael ant er ior per o aññade al f inal un CRLF.ade al f inal un CRLF.

n�p

j avax.ser vlet .ht t pj avax.ser vlet .ht t p

nn Es la ver siEs la ver sióón n Ser vletSer vlet de los CGI .de los CGI .

nn Consist e de 2 clases y dos int er f aces que ext ienden a Consist e de 2 clases y dos int er f aces que ext ienden a los ser vlet s par a su uso con el pr ot ocolo HTTP:los ser vlet s par a su uso con el pr ot ocolo HTTP:–– La clase abst r act a La clase abst r act a Ht t pSer vletHt t pSer vlet ..

nn Es la base de est e paquet e.Es la base de est e paquet e.

nn Ext iende la clase Ext iende la clase Gener icSer vletGener icSer vlet of r eciendo sopor t e de of r eciendo sopor t e de pet iciones pet iciones ht t pht t p..

nn Las int er f aces Las int er f aces Ht t pSer vlet RequestHt t pSer vlet Request y y Ht t pSer vlet ResponseHt t pSer vlet Response son son ext ensiones de ext ensiones de Ser vlet RequestSer vlet Request y y Ser vlet ResponseSer vlet Response, que per mit en , que per mit en la gest ila gest ióón de parn de par áámet r os en el pr ot ocolo HTTP.met r os en el pr ot ocolo HTTP.

–– La clase La clase Ht t pUt ilsHt t pUt ils pr opor ciona f unciones de apoyo de HTTP.pr opor ciona f unciones de apoyo de HTTP.

10

n�q

Clase Clase Ht t pSer vletHt t pSer vletnn Ext iende la clase Ext iende la clase Gener icSer vletGener icSer vlet con 6 nuevos mcon 6 nuevos méét odos par a su uso con t odos par a su uso con

el pr ot ocolo HTTP.el pr ot ocolo HTTP.nn Debemos Debemos sobr eescr ibirsobr eescr ibir al menos un mal menos un méét odo, nor malment e el mt odo, nor malment e el méét odo t odo

doPostdoPost ()() si hacemos pet iciones con el POST de HTTP o con el si hacemos pet iciones con el POST de HTTP o con el doGetdoGet ()()si las r ealizamos con el GET de HTTP.si las r ealizamos con el GET de HTTP.

nn Si hacemos gest iSi hacemos gest ióón de r ecur sos pr opia, se deben n de r ecur sos pr opia, se deben sobr eescr ibirsobr eescr ibir los los mméét odos t odos initinit ()() y y dest r oydest r oy()()..

nn Par a gest ionar comandos HTTP como OPTI ONS, PUT, DELETE, Par a gest ionar comandos HTTP como OPTI ONS, PUT, DELETE, TRACE, debemos TRACE, debemos sobr eescr ibirsobr eescr ibir el mel méét odo t odo ser viceser vice()()..

nn SSóólo el mlo el méét odo t odo ser viceser vice()() es pes púúblico, el cual hace llamadas a ot r os blico, el cual hace llamadas a ot r os mméét odos def inidos dent r o de est a clase.t odos def inidos dent r o de est a clase.

nn get Last Modif iedget Last Modif ied()() devuelve el t iempo en que la pdevuelve el t iempo en que la páágina f ue modif icada gina f ue modif icada por por úúlt ima vez.lt ima vez.

r�s

nn doPost (Ht t pSer vlet RequestdoPost (Ht t pSer vlet Request , , Ht t pSer vlet ResponseHt t pSer vlet Response))

nn doGet (Ht t pSer vlet RequestdoGet (Ht t pSer vlet Request , , Ht t pSer vlet ResponseHt t pSer vlet Response) )

nn ser vice(Ht t pSer vlet Requestser vice(Ht t pSer vlet Request , , Ht t pSer vlet ResponseHt t pSer vlet Response) )

nn get Last Modif ied(Ht t pSer vlet Requestget Last Modif ied(Ht t pSer vlet Request ))

MMéét odos de la Clase t odos de la Clase Ht t pSer vletHt t pSer vlet

11

r�n

nn Repr esent a una pet iciRepr esent a una pet icióón HTTP al ser vlet .n HTTP al ser vlet .nn La implement aciLa implement acióón de Ht t pSer vlet Request la hace el n de Ht t pSer vlet Request la hace el

pr ogr amador de ser vicios de r ed par a uso de ser vlet s.pr ogr amador de ser vicios de r ed par a uso de ser vlet s.nn Of r ece mOf r ece méét odos par a obt ener inf or macit odos par a obt ener inf or macióón de la n de la

cabecer a HTTP.cabecer a HTTP.nn MMéét odos:t odos:

–– get Aut hTypeget Aut hType()(), , get Dat eHeaderget Dat eHeader ()(), , get Headerget Header ()(), , get Header Namesget Header Names()(), , get I nt Headerget I nt Header ()()

–– get Met hodget Met hod()()–– get Pat hI nf oget Pat hI nf o()(), , get Pat hTr anslat edget Pat hTr anslat ed()()–– get Quer ySt r ingget Quer ySt r ing()()–– get Remot eUserget Remot eUser ()(), , get Request URIget Request URI ()(), , get Ser vlet Pat hget Ser vlet Pat h()()

I nt er f az Ht t pSer vlet RequestI nt er f az Ht t pSer vlet Request

r$r

nn MMéét odos gest it odos gest ióón de n de cookiescookies::–– get Cookiesget Cookies()()

nn MMéét odos gest it odos gest ióón de sesiones de usuar io:n de sesiones de usuar io:–– get Request edSessionI dget Request edSessionI d() () –– get Session(booleanget Session(boolean) ) –– isRequest edSessionI dFr omCookieisRequest edSessionI dFr omCookie()()–– isRequest edSessionI dFr omUr lisRequest edSessionI dFr omUr l() () –– isRequest edSessionI dValidisRequest edSessionI dValid() ()

I nt er f az I nt er f az Ht t pSer vlet RequestHt t pSer vlet Request (+)(+)

12

r�t

nn Repr esent a la r espuest a HTTP del ser vlet al client e.Repr esent a la r espuest a HTTP del ser vlet al client e.nn La implement aciLa implement acióón de n de Ht t pSer vlet ResponseHt t pSer vlet Response la hace el la hace el

pr ogr amador de ser vicios de r ed par a uso de ser vlet s.pr ogr amador de ser vicios de r ed par a uso de ser vlet s.nn Of r ece mOf r ece méét odos par a gener ar dint odos par a gener ar dináámicament e micament e

inf or maciinf or macióón par a el client e.n par a el client e.nn MMéét odos:t odos:

–– sendEr r orsendEr r or ()(): enviar un er r or al client e con mensaj e y c: enviar un er r or al client e con mensaj e y cóódigo de er r ordigo de er r or–– sendRedir ectsendRedir ect ()(): enviar al client e como r espuest a una nueva URL.: enviar al client e como r espuest a una nueva URL.–– set Dat eHeaderset Dat eHeader ()(): inser t ar campo f echa a la cabecer a r espuest a.: inser t ar campo f echa a la cabecer a r espuest a.–– set Headerset Header ()(): inser t ar una campo nuevo en la cabecer a r espuest a.: inser t ar una campo nuevo en la cabecer a r espuest a.–– set I nt Headerset I nt Header ()(): inser t ar una campo y un valor ent er o en la cabecer a.: inser t ar una campo y un valor ent er o en la cabecer a.–– set St at usset St at us()(): especif icar un c: especif icar un cóódigo de est ado y un mensaj e a ese cdigo de est ado y un mensaj e a ese cóódigo.digo.–– cont ainsHeadercont ainsHeader ()(): : ““t r uet r ue”” si exist e un campo en la cabecer a con un si exist e un campo en la cabecer a con un

nombr e det er minado.nombr e det er minado.–– addCookiesaddCookies()(): per mit e a: per mit e aññadir una adir una CookieCookie a la r espuest a.a la r espuest a.

I nt er f az I nt er f az Ht t pSer vlet ResponseHt t pSer vlet Response

r�u

Clase Clase Ht t pUt ilsHt t pUt ils

nn Of r ece un conj unt o de mOf r ece un conj unt o de méét odos t odos úút iles par a HTTP.t iles par a HTTP.nn MMéét odos:t odos:

–– get Request URLget Request URL()(): t oma como ent r ada : t oma como ent r ada Ht t pSer vlet RequestHt t pSer vlet Request y y devuelve el URL desde donde el client e se conectdevuelve el URL desde donde el client e se conect óó..

–– par sePost Dat apar sePost Dat a()(): t oma como ent r ada un : t oma como ent r ada un Ser vlet I nput St r eamSer vlet I nput St r eam, , lo pr ocesa y devuelve como t abla lo pr ocesa y devuelve como t abla hashhash los dat os del f or mular io los dat os del f or mular io POST como par es (nombr e/ valor ).POST como par es (nombr e/ valor ).

–– par seQuer ySt r ingpar seQuer ySt r ing()(): analiza una : analiza una quer yquer y st r ingst r ing y devuelve una y devuelve una t abla t abla hashhash con los par es (nombr e/ valor ).con los par es (nombr e/ valor ).

13

r�v

Resumen Ar quit ect ur a Resumen Ar quit ect ur a Ser vlet sSer vlet s

MDYD[�VHUYOHWMDYD[�VHUYOHWMDYD[�VHUYOHW�KWWSMDYD[�VHUYOHW�KWWS

Clase Clase Ht t pSer vletHt t pSer vlet Clase Clase Ht t pUt ilsHt t pUt ils

doPostdoPost ()()doGetdoGet ()()

ser viceser vice()()get Last Modif iedget Last Modif ied()()

r$w

Ciclo de VidaCiclo de VidaClient eClient e 6HUYLGRU�+7736HUYLGRU�+773

�newnew

Ser vletSer vletOut putOut putSt r eamSt r eam

Ht t pServletHt t pServlet

x4yDy,zx4yDy,z {�|}�~"|����{�|}�~"|����� �� �

�(|��*� � � |Ht t pServlet RequestHt t pServlet Request

Ht t pServlet ResponseHt t pServlet Response

��

� �(���g�g�"� �"�.�(���"��� ������(�g���"�g�����"�*��(�����D�*���*�*�g���g� ���"� �

�(�g� �g�*� �� � � � � �

��(|���~�� ���

x4yDy,zx4yDy,z{$|������ � ��|{$|������ � ��|

pr ocesopr oceso

14

r�o

MMéét odo t odo initinit ()()

nn Per mit e inicializar un Per mit e inicializar un ser vletser vlet ..

nn Acept a obj et os t ipo Acept a obj et os t ipo Ser vlet Conf igSer vlet Conf ig como parcomo par áámet r o.met r o.

nn El obj et o El obj et o Ser vlet Conf igSer vlet Conf ig cont iene la inf or macicont iene la inf or macióón de n de conf igur aciconf igur acióón del ser vidor .n del ser vidor .

nn En est e mEn est e méét odo se suelen ej ecut ar t odas aquellas t odo se suelen ej ecut ar t odas aquellas f unciones comunes y que sf unciones comunes y que sóólo deben r ealizar se una lo deben r ealizar se una ssóólalavez:vez:–– Car gar Car gar dr iver sdr iver s de J DBC.de J DBC.

–– Abr ir bases de dat os.Abr ir bases de dat os.

–– Obt enciObt encióón de parn de par áámet r os de inicializacimet r os de inicializacióón del n del ser vletser vlet ..

r�p

MMéét odo t odo get Ser vlet Conf igget Ser vlet Conf ig()()nn Devuelve el obj et o Devuelve el obj et o Ser vlet Conf igSer vlet Conf ig a pasar al a pasar al

mméét odo t odo initinit ()()..

MMéét odo t odo dest r oydest r oy()()nn Finaliza la ej ecuciFinaliza la ej ecucióón de un ser vlet .n de un ser vlet .

nn Sobr eSobr e--escr ibiescr ibiééndolo per mit e r ealizar oper aciones ndolo per mit e r ealizar oper aciones de cer r ar bases de dat os, et c.de cer r ar bases de dat os, et c.

MMéét odo t odo get Ser vlet I nf oget Ser vlet I nf o()()nn Devuelve una Devuelve una st r ingst r ing con inf or macicon inf or macióón del aut or , n del aut or ,

ver siones y copyr ight , por ej emplo.ver siones y copyr ight , por ej emplo.

15

r�q

MMéét odo t odo ser viceser vice()()

nn Es el nEs el núúcleo de los ser vlet s.cleo de los ser vlet s.

nn El ser vidor llama al mEl ser vidor llama al méét odo t odo ser viceser vice() par a ej ecut ar las () par a ej ecut ar las pet iciones. pet iciones.

nn Acept a obj et os t ipo Acept a obj et os t ipo Ser vlet RequestSer vlet Request y y Ser vlet ResponseSer vlet Responsecomo parcomo par áámet r os.met r os.

nn El obj et o El obj et o Ser vlet RequestSer vlet Request encapsula el f luj o de dat os del encapsula el f luj o de dat os del client e al ser vidorclient e al ser vidor

nn El obj et o El obj et o Ser vlet ResponseSer vlet Response encapsula el f luj o del encapsula el f luj o del ser vidor al client e.ser vidor al client e.

t�s

Ej emploEj emplo

nn Obj et ivo: Un simple Obj et ivo: Un simple HolaMundoHolaMundo !!!!

nn For mas de ej ecut ar lo:For mas de ej ecut ar lo:–– 1) Llamar dir ect ament e al 1) Llamar dir ect ament e al ser vletser vlet ::

nn ht t pht t p:/ /:/ / www.csi.ull.eswww.csi.ull.es:8080/:8080/ ser vletser vlet // HolaMundoHolaMundo

–– 2) P2) Páágina gina WEBWEB que hace las f unciones de client e:que hace las f unciones de client e:nn ht t pht t p:/ /:/ / www.csi.ull.eswww.csi.ull.es// Holamundo.ht mlHolamundo.ht ml

16

t.n

Ser vidor con sopor t e de Ser vidor con sopor t e de Ser vlet sSer vlet s

nn Muchos ser vidor es Web t ienen sopor t e de Muchos ser vidor es Web t ienen sopor t e de ser vlet s: I I S, Apache, ......ser vlet s: I I S, Apache, ......

www.csi.ull.eswww.csi.ull.es// ser vletser vlet //

nn SSóólo el administ r ador del sist ema t iene acceso a ese lo el administ r ador del sist ema t iene acceso a ese dir ect or io.dir ect or io.

nn Par a pr uebas de desar r ollo de ser vlet s se Par a pr uebas de desar r ollo de ser vlet s se dispone en el J SDK del dispone en el J SDK del ““ser vlet r unnerser vlet r unner ””

nn Per mit e ej ecuciPer mit e ej ecucióón en un or denador necesidad de un n en un or denador necesidad de un ser vidor Web.ser vidor Web.

t�r

Ej ecut ar con Ej ecut ar con ser vlet r unnerser vlet r unner(�!�(�!�VHUYOHWUXQQHUVHUYOHWUXQQHU ��G�F�G�F�??GLUHFWRULRBGHBORVBVHUYOHWVGLUHFWRULRBGHBORVBVHUYOHWV??�(���* �¡ ��¢��"£¤¤"����(���* �¡ ��¢��"£¤¤"��� ��¢�¥���¢�¦ ¤�§��¢�¥���¢�¦ ¤�§ ¨ ¦ ¢�©¨ ¦ ¢�© ����¢�¢�¦ ¤�§������¢�¢�¦ ¤�§�� ªª

«�¬ ��¢«�¬ ��¢ ­�®�¯�®$¯­�®�¯�®$¯° ¥±²�¡ ¬ §° ¥±²�¡ ¬ § ­�³�¯­�³�¯´ ¥µ´ ¥µ ©�¥�¤"¶�¡ ���"�©�¥�¤"¶�¡ ���"� ­�·�¯$¯­�·�¯$¯¢�¦ ´ � ¬ £"¢¢�¦ ´ � ¬ £"¢ ­�³$¯$¯�¯­�³$¯$¯�¯�����* �¡ ��¢�����* �¡ ��¢ ¶�¦ �¶�¦ � ­ ± ª­ ± ª ¸¸ ¶�¦ �(��±�¢ ¬ ��¦ ¬(¹ ¶$� ¹ ¡ ¬ � ¹ �����* �¡ ��¢��¶�¦ �(��±�¢ ¬ ��¦ ¬(¹ ¶$� ¹ ¡ ¬ � ¹ �����* �¡ ��¢�� ¸¸¶ ¬ ±�£ ´ ��¤"¢¶ ¬ ±�£ ´ ��¤"¢ ¶�¦ �¶�¦ � ­ ± ª­ ± ª ¸¸ ¶�¦ ����±¢ ¬ ��¦ ¬(¹ ¶�� ¹ ¡ ¬ � ¹ ©¢ ´ ¡¶�¦ ����±¢ ¬ ��¦ ¬(¹ ¶�� ¹ ¡ ¬ � ¹ ©¢ ´ ¡ ¸¸�����* �¡ ��¢�����* �¡ ��¢ « � ¬�«º ¦ ¡ �« � ¬�«º ¦ ¡ � ­ ± ª­ ± ª ¸¸ ¶�¦ ����±¢ ¬ ��¦ ¬(¹ ¶$� ¹ ¡ ¬ � ¹ �����* �¡ ��¢��¶�¦ ����±¢ ¬ ��¦ ¬(¹ ¶$� ¹ ¡ ¬ � ¹ �����* �¡ ��¢�� ¸¸ �����* �¡ ��¢�» « � ¬�« ���(¢�¦ ��������* �¡ ��¢�» « � ¬�« ���(¢�¦ ���

8VDJH8VDJH����VHUYOHWUXQQHUVHUYOHWUXQQHU >>RSWLRQVRSWLRQV@@¼ « ¢�¦ ¬ ¤"�¼ « ¢�¦ ¬ ¤"� ªª½½ «« «�¬ ��¢«�¬ ��¢ ¢�©��¢�©�� «�¬ �(¢«�¬ �(¢ ¤�£ ´ ° ���¤�£ ´ ° ��� ¢ ¬¢ ¬ ¡ ¦ ��¢(�$¤¡ ¦ ��¢(�$¤ ¬ ¤¬ ¤½½ °° ° ¥±²�¡ ¬ §° ¥±²�¡ ¬ § ¢�©�¢�©� ¡ ¦ �(¢��$¤¡ ¦ �(¢��$¤ ° ¥±�²�¡ ¬ §° ¥±�²�¡ ¬ §½½ ´´ ´ ¥µ´ ¥µ ´ ¥µ.¦ ´ £ ´´ ¥µ.¦ ´ £ ´ ¤"£ ´ ° ���¤"£ ´ ° ��� ¬º¬º ± ¬ ¤�¤"��±¢�¦ ¬ ¤± ¬ ¤�¤"��±¢�¦ ¬ ¤ ©�¥�¤�¶.¡ ���"�©�¥�¤�¶.¡ ���"�½½ ¢¢ ¢�¦ ´ � ¬ £�¢¢�¦ ´ � ¬ £�¢ ± ¬ ¤�¤"��±¢�¦ ¬ ¤± ¬ ¤�¤"��±¢�¦ ¬ ¤ ¢�¦ ´ � ¬ £�¢¢�¦ ´ � ¬ £�¢ ¦ ¤¦ ¤ ´ ¦ ¡ ¡ ¦ ����± ¬ ¤�¶��´ ¦ ¡ ¡ ¦ ����± ¬ ¤�¶��½½ ¶¶ ¶�¦ �¶�¦ � �����* �¡ ��¢�����* �¡ ��¢ ¶�¦ �(��±�¢ ¬ �*¾¶�¦ �(��±�¢ ¬ �*¾½½ �� º ¦ ¡ �$¤"¥ ´ �º ¦ ¡ �$¤"¥ ´ � �����* �¡ ��¢�����* �¡ ��¢ « � ¬�« ����¢*¾« � ¬�« ����¢*¾ º ¦ ¡ �º ¦ ¡ � ¤"¥ ´ �¤"¥ ´ �

17

¿$¿

J ava J ava Ser vletSer vletÀ ÁAÂ�Ã;Ä ÅÀ ÁAÂ�Ã;Ä Å Æ*Ç�È$Ç.É À ÃÆ*Ç�È$Ç.É À Ã É Ê$ËÉ Ê$ËÀ ÁAÂ�Ã;Ä ÅÀ ÁAÂ�Ã;Ä Å Æ*Ç�È$Ç�ÌDÉ Í�Î Ä È.Ï Î ÅÆ*Ç�È$Ç�ÌDÉ Í�Î Ä È.Ï Î Å É Ê�ËÉ Ê�ËÀ ÁAÂ�Ã;Ä ÅÀ ÁAÂ�Ã;Ä Å Æ*Ç�È$Ç�ÌDÉ Í�Î Ä È.Ï Î Å É Ð ÅgÅ�ÂÆ*Ç�È$Ç�ÌDÉ Í�Î Ä È.Ï Î Å É Ð ÅgÅ�Â É Ê$ËÉ Ê$ËÂ�Ñ�Ò Ï À ÓÂ�Ñ�Ò Ï À Ó Ó Ï Ç�Í�ÍÓ Ï Ç�Í�Í Ô Ã Ï Ç.Õ Ñ�Ö�×�ÃÔ Ã Ï Ç.Õ Ñ�Ö�×�à Î�Ì Å Î Ö�× ÍÎ�Ì Å Î Ö�× Í Ô Å�Å�Â$Ø Î Ä È.Ï Î ÅÔ Å�Å�Â$Ø Î Ä È.Ï Î Å ÙÙÂ�Ñ�Ò Ï À ÓÂ�Ñ�Ò Ï À Ó È Ã;À ×È Ã;À × ×�Ã�Ú Î Å×�Ã�Ú Î Å ÛÛ Ô ÅgÅ�Â$Ø Î Ä È.Ï Î Å�Ü Î�Ý Ñ Î$Í ÅÔ ÅgÅ�Â$Ø Î Ä È.Ï Î Å�Ü Î�Ý Ñ Î$Í Å Ä Î�Ý Ñ Î$Í ÅÄ Î�Ý Ñ Î$Í Å ÞÞ Ô ÅgÅ�Â$Ø Î Ä È.Ï Î Å�Ü Î$Í Â�Ã;Ö Í�ÎÔ ÅgÅ�Â$Ø Î Ä È.Ï Î Å�Ü Î$Í Â�Ã;Ö Í�Î Ä Î$Í Â�Ã;Ö Í"ÎÄ Î$Í Â�Ã;Ö Í"Î ßß

Å Ð Ä Ã$à ÍÅ Ð Ä Ã$à Í Ø Î Ä È.Ï Î Å�á Ì Ó Î Â�Å�À Ã;ÖØ Î Ä È.Ï Î Å�á Ì Ó Î Â�Å�À Ã;Ö ÞÞ â(ã á Ì Ó Î Â�Å�À Ã;Öâ(ã á Ì Ó Î Â�Å�À Ã;Ö ÙÙä ÄgÀ Ö�Ågå<ÄgÀ Å Î Ää ÄgÀ Ö�Ågå<ÄgÀ Å Î Ä Ã;Ñ�Å ËÃ;Ñ�Å ËØ$Å�ÄgÀ Ö�æØ$Å�ÄgÀ Ö�æ Å�À Å Ï ÎÅ�À Å Ï Î ç<è"é Î�Í × ÎBÎ�Ï Ø Î Ä È.Ï Î Å è Ëç<è"é Î�Í × ÎBÎ�Ï Ø Î Ä È.Ï Î Å è Ëê�êê�ê Í�Î ÅÍ�Î Å ÓÃ;Ö�Å Î Ö�ÅÓÃ;Ö�Å Î Ö�Å Å�ë� ÎÅ�ë�Â Î Ç Ö�×Ç Ö�× Ã$Å Ð$Î ÄÃ$Å Ð$Î Ä Ä Î$Í Â�Ã;Ö Í�ÎÄ Î$Í Â�Ã;Ö Í�Î Ð$Î�Ç × Î ÄÐ$Î�Ç × Î Ä ì À Î�Ï × Íì À Î�Ï × Í ì À Ä Í Åì À Ä Í ÅÄ Î�Í Â�Ã;Ö Í�Î�ÉÄ Î�Í Â�Ã;Ö Í�Î�É Í�Î Å(í.Ã;Ö�Å Î Ö�Ågî�ë� ÎÍ�Î Å(í.Ã;Ö�Å Î Ö�Ågî�ë�Â Î Û èÛ è Å Î�Ì ÅÅ Î�Ì Å êê Ð Å"Á ÏÐ Å"Á Ï è(ß Ëè(ß Ëê�êê�ê Å Ð$Î ÖÅ Ð$Î Ö à0ÄgÀ Å Îà0ÄgÀ Å Î Å Ð$ÎÅ Ð$Î × Ç Å Ç× Ç Å Ç Ã ìà ì Å Ð$ÎÅ Ð$Î Ä Î�Í Â�Ã;Ö Í�ÎÄ Î�Í Â�Ã;Ö Í�ÎÃ;Ñ�Å çÃ;Ñ�Å ç Ä Î$Í Â�Ã;Ö Í�Î�ÉÄ Î$Í Â�Ã;Ö Í�Î�É æ Î Ågå<ÄgÀ Å Î Äæ Î Ågå<ÄgÀ Å Î Ä Û ß ËÛ ß ËÃ;Ñ�Å ÉÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï ÖÂ�ÄgÀ Ö�Å Ï Ö Û è�ï>Ô î ÕBð�ñ ï>Ô á�ò é ñ ï î â î ð á ñÛ è�ï>Ô î ÕBð�ñ ï>Ô á�ò é ñ ï î â î ð á ñ è*ß Ëè*ß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û Å�À Å Ï ÎÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û Å�À Å Ï Î ß Ëß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï ÖÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û èÛ è ï ê î â î ð á ñ ï ê Ô á�ò é ñ ï>ó.ã>é;ô ñï ê î â î ð á ñ ï ê Ô á�ò é ñ ï>ó.ã>é;ô ñ è*ß Ëè*ß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï ÖÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û èÛ è ï>Ô%õ ñï>Ô%õ ñ è/öè/ö Å�À Å Ï ÎÅ�À Å Ï Î ö<èö<è ï ê Ô6õ ñï ê Ô6õ ñ è*ß Ëè*ß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï ÖÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û èÛ è ï ä ñ õ Þ ÷�Þ øAÉ É É Ô Ã Ï ÇAÕ Ñ.Ö$×�Ã0ù ù ùï ä ñ õ Þ ÷�Þ øAÉ É É Ô Ã Ï ÇAÕ Ñ.Ö$×�Ã0ù ù ù è*ß Ëè*ß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï ÖÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û èÛ è ï ê ó.ã>é;ô ñ ï ê Ô î ÕBð�ñï ê ó.ã>é;ô ñ ï ê Ô î ÕBð�ñ è*ß Ëè*ß ËÃ;Ñ�Å É Ó Ï Ã Í�ÎÃ;Ñ�Å É Ó Ï Ã Í�Î Û ß ËÛ ß Ë

úúúú

¿�û

Compilar el Compilar el ser vletser vlet

nn &RPSLODFL&RPSLODFLyyQ�GHO�VHUYOHW�FRQVLVWH�HQ�Q�GHO�VHUYOHW�FRQVLVWH�HQ�

MDYDFMDYDF ��F�F�FODVVSDWKFODVVSDWK ??GLUHFWRULRBMVGNGLUHFWRULRBMVGN??OLEOLE??MVGN�MDUMVGN�MDU PLBVHUYOHW�MDYDPLBVHUYOHW�MDYD

nn 2WUD�DOWHUQDWLYD�HV�FRORFDU�HO�ILFKHUR�2WUD�DOWHUQDWLYD�HV�FRORFDU�HO�ILFKHUR�MVGN�MDUMVGN�MDU TXH�TXH�YLHQH�FRQ�OD�GLVWULEXFLYLHQH�FRQ�OD�GLVWULEXFLyyQ�GH�-6'.�HQ�HO�GLUHFWRULR�Q�GH�-6'.�HQ�HO�GLUHFWRULR�??MGN���MGN���??MUHMUH??OLEOLE??H[WH[W \�FRPSLODU�\�FRPSLODU�

MDYDFMDYDF PLBVHUYOHW�MDYDPLBVHUYOHW�MDYD

18

¿ ³

Ficher o Ficher o ““ser vlet .pr oper t iesser vlet .pr oper t ies””

nn (V�QHFHVDULR�XQ�ILFKHUR�GRQGH�VH�GHVFULEHQ�ODV�(V�QHFHVDULR�XQ�ILFKHUR�GRQGH�VH�GHVFULEHQ�ODV�SURSLHGDGHV�GH�ORV�GLIHUHQWHV�VHUYOHWV�SURSLHGDGHV�GH�ORV�GLIHUHQWHV�VHUYOHWV�

üþý�ÿ�ü���������� ������ �������������� ���üþý�ÿ�ü���������� ������ �������������� ��� � ��������� ��� � ���� ��������� ��� � ���ü! "����� �����$#������������� ���ü! "����� �����$#������������� ���üüü%������� �&�� 'ü%������� �&�� ' (")�* �(")�* � + + , �"-���. , ) ���, �"-���. , ) ��� (")�* �(")�* � ÿÿ / �"�/ �"� ������ / �"�� , ) ���/ �"�� , ) ��� ��ü%������� �&�� 'ü%������� �&�� ' (")�* �(")�* � + + � ( � ��01��2��&. , � *3*4)� ( � ��01��2��&. , � *3*4) 55 -��� � * � �6��--��� � * � �6��- � �7� � �7� � /� / 88 (")"* �(")"* � 99 � ) :"�� ) :"� ;; � ) � ���� ) � ���üü ��< ) ���< ) � ,=)�(?> �,=)�(?> � )�,=, ��������-)�,=, ��������- >&@>&@ ��<����<�� �7����� �&��7����� �&� :"�A� ( 2:"�A� ( 2 ��<"���<"�üü ������� �&�B0C#�D������� �&�B0C#�D ,=) �,=) �üü E �� )�F : ( -��E �� )�F : ( -�� ������� ���������� ���������� �&�G E �� )�F : ( -��� , �"-���. E �� )�F : ( -��������� �&�G E �� )�F : ( -��� , �"-���. E �� )�F : ( -��üü / ��� *IH 2"�&�/ ��� *IH 2"�&� �����J�� �&������J�� �&�������� �&�G / ��� *IH 2����G , �"-���. / ��� *KH 2��&�������� �&�G / ��� *IH 2����G , �"-���. / ��� *KH 2��&�

L ¬�´ ° ���2¶���¡D�����* �¡ ��¢ L ¬�´ ° ���2¶���¡6» ±�¡ ¥��"�

¿AM

Salida Salida ser vletser vlet HolaMundoHolaMundo

19

¿�N

Client e HTML Client e HTML ((Holamundo.ht mlHolamundo.ht ml))

<< htmlhtml>><< headhead> <> < titletitle>Hola Mundo< />Hola Mundo< / titletitle> < /> < / headhead>><< bodybody>>Llama a un servlet que devuelve 1,2,3 ... Llama a un servlet que devuelve 1,2,3 ... HolaMundoHolaMundo::<p><p><< formform method= "GETmethod= "GET" "

action= "action= "httphttp:/ /:/ / localhostlocalhost:8080/servlet/:8080/servlet/ HolaMundoHolaMundo">"><< inputinput type=submittype=submit value= Enviarvalue= Enviar>><< inputinput type= resettype= reset value=Cancelarvalue=Cancelar>>

< /< / formform>>< /< / bodybody>>< /< / htmlhtml>>

¿ ®

Desde un navegador : Desde un navegador : HolaMundo.ht mlHolaMundo.ht ml

20

¿=O

Client e HTML Client e HTML ((f or m_get .ht mlf or m_get .ht ml))

<< htmlhtml>><< headhead> <> < titletitle>Ejemplo de Formulario con >Ejemplo de Formulario con method=POSTmethod=POST< /< / titletitle> < /> < / headhead>><< bodybody>><p>Llama a un servlet que devuelve 1,2,3 ... <p>Llama a un servlet que devuelve 1,2,3 ... HolaMundoHolaMundo: < /p>: < /p><< formform method= "method= "GETGET" " action= "action= "httphttp:/ /:/ / localhostlocalhost:8080/servlet/:8080/servlet/ form_getform_get">">

<p>Usuario: <<p>Usuario: < inputinput type= texttype= text name=nombrename=nombre> < /p>> < /p><p>Clave: <<p>Clave: < inputinput type=passwordtype=password name=clavename=clave> < /p>> < /p><< inputinput type= hiddentype= hidden name=varocultaname=varoculta value=128value=128>><< inputinput type=submittype=submit value= Enviarvalue= Enviar>><< inputinput type= resettype= reset value=Cancelarvalue=Cancelar>>

< /< / formform>>< /< / bodybody>>< /< / htmlhtml>>

û ¯

ser vletser vlet ((f or m_get .j avaf or m_get .j ava))À ÁAÂ�Ã;Ä ÅÀ ÁAÂ�Ã;Ä Å Æ*Ç�È$Ç.É À ÃÆ*Ç�È$Ç.É À Ã É Ê$ËÉ Ê$ËÀ ÁAÂ�Ã;Ä ÅÀ ÁAÂ�Ã;Ä Å Æ*Ç�È$Ç�ÌDÉ Í�Î Ä È.Ï Î ÅÆ*Ç�È$Ç�ÌDÉ Í�Î Ä È.Ï Î Å É Ê�ËÉ Ê�ËÀ ÁAÂ�Ã;Ä ÅÀ ÁAÂ�Ã;Ä Å Æ*Ç�È$Ç�ÌDÉ Í�Î Ä È.Ï Î Å É Ð ÅgÅ�ÂÆ*Ç�È$Ç�ÌDÉ Í�Î Ä È.Ï Î Å É Ð ÅgÅ�Â É Ê$ËÉ Ê$ËÂ�Ñ�Ò Ï À ÓÂ�Ñ�Ò Ï À Ó Ó Ï Ç�Í�ÍÓ Ï Ç�Í�Í ì Ã;ÄgÁQP.æ Î Åì Ã;ÄgÁQP.æ Î Å Î�Ì Å Î Ö�× ÍÎ�Ì Å Î Ö�× Í Ô ÅgÅ"Â$Ø Î Ä È.Ï Î ÅÔ ÅgÅ"Â$Ø Î Ä È.Ï Î Å ÙÙÂ�Ñ�Ò Ï À ÓÂ�Ñ�Ò Ï À Ó È Ã;À ×È Ã;À × ×�Ã�Ú Î Å×�Ã�Ú Î Å ÛÛ Ô Å�Å�Â$Ø Î Ä È.Ï Î Å�Ü Î�Ý Ñ Î�Í ÅÔ Å�Å�Â$Ø Î Ä È.Ï Î Å�Ü Î�Ý Ñ Î�Í Å Ä Î�Ý Ñ Î$Í ÅÄ Î�Ý Ñ Î$Í Å ÞÞ Ô Å�Å�Â$Ø Î Ä È.Ï Î Å�Ü Î$Í Â�Ã;Ö Í�ÎÔ Å�Å�Â$Ø Î Ä È.Ï Î Å�Ü Î$Í Â�Ã;Ö Í�Î

Ä Î�Í Â�Ã;Ö Í�ÎÄ Î�Í Â�Ã;Ö Í�Î ßß Å Ð Ä Ã$à ÍÅ Ð Ä Ã$à Í Ø Î Ä È.Ï Î Å�á Ì Ó Î Â�Å�À Ã;ÖØ Î Ä È.Ï Î Å�á Ì Ó Î Â�Å�À Ã;Ö ÞÞ â(ã á Ì Ó Î Â�Å�À Ã;Öâ(ã á Ì Ó Î Â�Å�À Ã;Ö ÙÙä ÄgÀ Ö�Ågå<ÄgÀ Å Î Ää ÄgÀ Ö�Ågå<ÄgÀ Å Î Ä Ã;Ñ�Å ËÃ;Ñ�Å Ë Ø�Å�ÄgÀ Ö�æØ�Å�ÄgÀ Ö�æ Å�À Å Ï ÎÅ�À Å Ï Î ç�è"é Î$Í × Î�Î�Ï Ø Î Ä È.Ï Î Å è Ëç�è"é Î$Í × Î�Î�Ï Ø Î Ä È.Ï Î Å è ËØ$Å�ÄgÀ Ö�æØ$Å�ÄgÀ Ö�æ Ö�ÃDÁAÒ.Ä Î çÖ�ÃDÁAÒ.Ä Î ç Ä Î�Ý Ñ Î$Í Å É æ Î Å ä Ç Ä Ç Á Î Å Î ÄÄ Î�Ý Ñ Î$Í Å É æ Î Å ä Ç Ä Ç Á Î Å Î Ä Û è Ö�ÃDÁAÒ�Ä Î è(ß ËÛ è Ö�ÃDÁAÒ�Ä Î è(ß ËØ$Å�ÄgÀ Ö�æØ$Å�ÄgÀ Ö�æ Ó Ï Ç�È$Î çÓ Ï Ç�È$Î ç Ä Î�Ý Ñ Î�Í Å É æ Î Å ä Ç Ä Ç Á Î Å Î ÄÄ Î�Ý Ñ Î�Í Å É æ Î Å ä Ç Ä Ç Á Î Å Î Ä Û è Ó Ï Ç�È$Î è(ß ËÛ è Ó Ï Ç�È$Î è(ß ËØ$Å�ÄgÀ Ö�æØ$Å�ÄgÀ Ö�æ È$Ç Ä Ã�Ó�Ñ Ï Å ÇÈ$Ç Ä Ã�Ó�Ñ Ï Å Ç çç Ä Î�Ý Ñ Î$Í Å É æ Î Å ä Ç Ä Ç Á Î Å Î ÄÄ Î�Ý Ñ Î$Í Å É æ Î Å ä Ç Ä Ç Á Î Å Î Ä Û èÛ è È$Ç Ä Ã�Ó�Ñ Ï Å ÇÈ$Ç Ä Ã�Ó�Ñ Ï Å Ç è*ß Ëè*ß Ëê�êê�ê Í�Î ÅÍ�Î Å ÓÃ;Ö�Å Î Ö�ÅÓÃ;Ö�Å Î Ö�Å Å�ë� ÎÅ�ë�Â Î Ç Ö�×Ç Ö�× Ã$Å Ð$Î ÄÃ$Å Ð$Î Ä Ä Î$Í Â�Ã;Ö Í�ÎÄ Î$Í Â�Ã;Ö Í�Î Ð$Î�Ç × Î ÄÐ$Î�Ç × Î Ä ì À Î�Ï × Íì À Î�Ï × Í ì À Ä Í Åì À Ä Í ÅÄ Î�Í Â�Ã;Ö Í�Î�É Í�Î Å(í.Ã;Ö�Å Î Ö�Ågî�ë� ÎÄ Î�Í Â�Ã;Ö Í�Î�É Í�Î Å(í.Ã;Ö�Å Î Ö�Ågî�ë�Â Î Û èÛ è Å Î�Ì ÅÅ Î�Ì Å êê Ð Å"Á ÏÐ Å"Á Ï è(ß Ëè(ß Ëê�êê�ê Å Ð$Î ÖÅ Ð$Î Ö à0ÄgÀ Å Îà0ÄgÀ Å Î Å Ð$ÎÅ Ð$Î × Ç Å Ç× Ç Å Ç Ã ìà ì Å Ð$ÎÅ Ð$Î Ä Î�Í Â�Ã;Ö Í�ÎÄ Î�Í Â�Ã;Ö Í�ÎÃ;Ñ�Å çÃ;Ñ�Å ç Ä Î$Í Â�Ã;Ö Í�Î�É æ Î Ågå<ÄgÀ Å Î ÄÄ Î$Í Â�Ã;Ö Í�Î�É æ Î Ågå<ÄgÀ Å Î Ä Û ß ËÛ ß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï ÖÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è�ï>Ô î ÕBð�ñ ï>Ô á�ò é ñ ï î â î ð á ñ è*ß ËÛ è�ï>Ô î ÕBð�ñ ï>Ô á�ò é ñ ï î â î ð á ñ è*ß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û Å�À Å Ï ÎÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û Å�À Å Ï Î ß Ëß Ë Ã;Ñ�Å É Â�ÄgÀ Ö�Å Ï ÖÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è�ï ê î â î ð á ñ ï ê Ô á�ò é ñ ï6ó.ã>é;ô ñ è*ß ËÛ è�ï ê î â î ð á ñ ï ê Ô á�ò é ñ ï6ó.ã>é;ô ñ è*ß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï ÖÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è�ï>Ô%õ ñ è/öÛ è�ï>Ô%õ ñ è/ö Å�À Å Ï ÎÅ�À Å Ï Î ö<è�ï ê Ô6õ ñ è*ß Ëö<è�ï ê Ô6õ ñ è*ß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï ÖÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è�ï ä ñ�R Ã;ÁAÒ.Ä ÎHÎ$Í ç7ç ñ èö Ö�ÃDÁAÒ�Ä Î ö6è ë Ï Ç Ó Ï Ç�È$ÎBÎ�Í ç7ç ñ èö Ó Ï Ç�È$Î ö6è ë Ï ÇÛ è�ï ä ñ�R Ã;ÁAÒ.Ä ÎHÎ$Í ç7ç ñ èö Ö�ÃDÁAÒ�Ä Î ö6è ë Ï Ç Ó Ï Ç�È$ÎBÎ�Í ç7ç ñ èö Ó Ï Ç�È$Î ö6è ë Ï ÇÈ$Ç ÄgÀ Ç Ò Ï Î Ã�Ó$Ñ Ï Å ÇHÎ$Í ç7ç ñ èÈ$Ç ÄgÀ Ç Ò Ï Î Ã�Ó$Ñ Ï Å ÇHÎ$Í ç7ç ñ è ö È$Ç Ä Ã�Ó$Ñ Ï Å Çö È$Ç Ä Ã�Ó$Ñ Ï Å Ç ß Ëß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï ÖÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è�ï ê ó.ã>é;ô ñ ï ê Ô î ÕBð�ñ è*ß ËÛ è�ï ê ó.ã>é;ô ñ ï ê Ô î ÕBð�ñ è*ß ËÃ;Ñ�Å É Ó Ï Ã Í�ÎÃ;Ñ�Å É Ó Ï Ã Í�Î Û ß ËÛ ß Ë

úúúú

21

û ·

Ej ecuciEj ecucióón n client e client e HTML HTML ((f or m_get .ht mlf or m_get .ht ml))

û�S

Client e HTML Client e HTML ((f or m_post .ht mlf or m_post .ht ml))

<< htmlhtml>><< headhead> <> < titletitle> Ejemplo de Formulario con > Ejemplo de Formulario con method=POSTmethod=POST < /< / titletitle> < /> < / headhead>><< bodybody>><p>Llama a un servlet que devuelve 1,2,3 ... <p>Llama a un servlet que devuelve 1,2,3 ... HolaMundoHolaMundo: < /p>: < /p><< formform method=method= ””POSTPOST" action= "" action= "http:/ / localhost:8080/servlet/ form_posthttp:/ / localhost:8080/servlet/ form_post">">

<p>Usuario: <<p>Usuario: < inputinput type= texttype= text name=nombrename=nombre> < /p>> < /p><p>Clave: <<p>Clave: < inputinput type=passwordtype=password name=clavename=clave> < /p>> < /p><< inputinput type= hiddentype= hidden name=varocultaname=varoculta value=128value=128>><< inputinput type=submittype=submit value= Enviarvalue= Enviar>><< inputinput type= resettype= reset value=Cancelarvalue=Cancelar>>

< /< / formform>>< /< / bodybody>>< /< / htmlhtml>>

22

û�¿

ser vletser vlet ((f or m_post .j avaf or m_post .j ava))À ÁAÂ�Ã;Ä ÅÀ ÁAÂ�Ã;Ä Å Æ*Ç�È$Ç.É À ÃÆ*Ç�È$Ç.É À Ã É Ê$ËÉ Ê$ËÀ ÁAÂ�Ã;Ä ÅÀ ÁAÂ�Ã;Ä Å Æ*Ç�È$Ç�ÌDÉ Í�Î Ä È.Ï Î ÅÆ*Ç�È$Ç�ÌDÉ Í�Î Ä È.Ï Î Å É Ê�ËÉ Ê�ËÀ ÁAÂ�Ã;Ä ÅÀ ÁAÂ�Ã;Ä Å Æ*Ç�È$Ç�ÌDÉ Í�Î Ä È.Ï Î Å É Ð ÅgÅ�ÂÆ*Ç�È$Ç�ÌDÉ Í�Î Ä È.Ï Î Å É Ð ÅgÅ�Â É Ê$ËÉ Ê$ËÂ�Ñ�Ò Ï À ÓÂ�Ñ�Ò Ï À Ó Ó Ï Ç�Í�ÍÓ Ï Ç�Í�Í ì Ã;ÄgÁQP4Â�Ã Í Åì Ã;ÄgÁQP4Â�Ã Í Å Î�Ì Å Î Ö�× ÍÎ�Ì Å Î Ö�× Í Ô ÅgÅ"Â$Ø Î Ä È.Ï Î ÅÔ ÅgÅ"Â$Ø Î Ä È.Ï Î Å ÙÙÂ�Ñ�Ò Ï À ÓÂ�Ñ�Ò Ï À Ó È Ã;À ×È Ã;À × ×�à ä Ã Í Å×�à ä Ã Í Å ÛÛ Ô ÅgÅ�Â$Ø Î Ä È.Ï Î Å"Ü Î$Ý Ñ Î$Í ÅÔ ÅgÅ�Â$Ø Î Ä È.Ï Î Å"Ü Î$Ý Ñ Î$Í Å Ä Î�Ý Ñ Î$Í ÅÄ Î�Ý Ñ Î$Í Å ÞÞ Ô ÅgÅ�Â$Ø Î Ä È.Ï Î Å�Ü Î$Í Â�Ã;Ö Í"ÎÔ ÅgÅ�Â$Ø Î Ä È.Ï Î Å�Ü Î$Í Â�Ã;Ö Í"Î

Ä Î�Í Â�Ã;Ö Í�ÎÄ Î�Í Â�Ã;Ö Í�Î ßß Å Ð Ä Ã$à ÍÅ Ð Ä Ã$à Í Ø Î Ä È.Ï Î Å�á Ì Ó Î Â�Å�À Ã;ÖØ Î Ä È.Ï Î Å�á Ì Ó Î Â�Å�À Ã;Ö ÞÞ â(ã á Ì Ó Î Â�Å�À Ã;Öâ(ã á Ì Ó Î Â�Å�À Ã;Ö ÙÙä ÄgÀ Ö�Ågå<ÄgÀ Å Î Ää ÄgÀ Ö�Ågå<ÄgÀ Å Î Ä Ã;Ñ�Å ËÃ;Ñ�Å Ë Ø�Å�ÄgÀ Ö�æØ�Å�ÄgÀ Ö�æ Å�À Å Ï ÎÅ�À Å Ï Î ç�è"é Î$Í × Î�Î�Ï Ø Î Ä È.Ï Î Å è Ëç�è"é Î$Í × Î�Î�Ï Ø Î Ä È.Ï Î Å è ËØ$Å�ÄgÀ Ö�æØ$Å�ÄgÀ Ö�æ Ö�ÃDÁAÒ.Ä Î çÖ�ÃDÁAÒ.Ä Î ç Ä Î�Ý Ñ Î$Í Å É æ Î Å ä Ç Ä Ç Á Î Å Î ÄÄ Î�Ý Ñ Î$Í Å É æ Î Å ä Ç Ä Ç Á Î Å Î Ä Û è Ö�ÃDÁAÒ�Ä Î è(ß ËÛ è Ö�ÃDÁAÒ�Ä Î è(ß ËØ$Å�ÄgÀ Ö�æØ$Å�ÄgÀ Ö�æ Ó Ï Ç�È$Î çÓ Ï Ç�È$Î ç Ä Î�Ý Ñ Î�Í Å É æ Î Å ä Ç Ä Ç Á Î Å Î ÄÄ Î�Ý Ñ Î�Í Å É æ Î Å ä Ç Ä Ç Á Î Å Î Ä Û è Ó Ï Ç�È$Î è(ß ËÛ è Ó Ï Ç�È$Î è(ß ËØ$Å�ÄgÀ Ö�æØ$Å�ÄgÀ Ö�æ È$Ç Ä Ã�Ó�Ñ Ï Å ÇÈ$Ç Ä Ã�Ó�Ñ Ï Å Ç çç Ä Î�Ý Ñ Î$Í Å É æ Î Å ä Ç Ä Ç Á Î Å Î ÄÄ Î�Ý Ñ Î$Í Å É æ Î Å ä Ç Ä Ç Á Î Å Î Ä Û èÛ è È$Ç Ä Ã�Ó�Ñ Ï Å ÇÈ$Ç Ä Ã�Ó�Ñ Ï Å Ç è*ß Ëè*ß Ëê�êê�ê Í�Î ÅÍ�Î Å ÓÃ;Ö�Å Î Ö�ÅÓÃ;Ö�Å Î Ö�Å Å�ë� ÎÅ�ë�Â Î Ç Ö�×Ç Ö�× Ã$Å Ð$Î ÄÃ$Å Ð$Î Ä Ä Î$Í Â�Ã;Ö Í�ÎÄ Î$Í Â�Ã;Ö Í�Î Ð$Î�Ç × Î ÄÐ$Î�Ç × Î Ä ì À Î�Ï × Íì À Î�Ï × Í ì À Ä Í Åì À Ä Í ÅÄ Î�Í Â�Ã;Ö Í�Î�É Í�Î Å(í.Ã;Ö�Å Î Ö�Ågî�ë� ÎÄ Î�Í Â�Ã;Ö Í�Î�É Í�Î Å(í.Ã;Ö�Å Î Ö�Ågî�ë�Â Î Û èÛ è Å Î�Ì ÅÅ Î�Ì Å êê Ð Å"Á ÏÐ Å"Á Ï è(ß Ëè(ß Ëê�êê�ê Å Ð$Î ÖÅ Ð$Î Ö à0ÄgÀ Å Îà0ÄgÀ Å Î Å Ð$ÎÅ Ð$Î × Ç Å Ç× Ç Å Ç Ã ìà ì Å Ð$ÎÅ Ð$Î Ä Î�Í Â�Ã;Ö Í�ÎÄ Î�Í Â�Ã;Ö Í�ÎÃ;Ñ�Å çÃ;Ñ�Å ç Ä Î$Í Â�Ã;Ö Í�Î�É æ Î Ågå<ÄgÀ Å Î ÄÄ Î$Í Â�Ã;Ö Í�Î�É æ Î Ågå<ÄgÀ Å Î Ä Û ß ËÛ ß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï ÖÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è�ï>Ô î ÕBð�ñ ï>Ô á�ò é ñ ï î â î ð á ñ è*ß ËÛ è�ï>Ô î ÕBð�ñ ï>Ô á�ò é ñ ï î â î ð á ñ è*ß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û Å�À Å Ï ÎÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û Å�À Å Ï Î ß Ëß Ë Ã;Ñ�Å É Â�ÄgÀ Ö�Å Ï ÖÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è�ï ê î â î ð á ñ ï ê Ô á�ò é ñ ï6ó.ã>é;ô ñ è*ß ËÛ è�ï ê î â î ð á ñ ï ê Ô á�ò é ñ ï6ó.ã>é;ô ñ è*ß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï ÖÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è�ï>Ô%õ ñ è/öÛ è�ï>Ô%õ ñ è/ö Å�À Å Ï ÎÅ�À Å Ï Î ö<è�ï ê Ô6õ ñ è*ß Ëö<è�ï ê Ô6õ ñ è*ß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï ÖÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è�ï ä ñ�R Ã;ÁAÒ.Ä ÎHÎ$Í ç7ç ñ èö Ö�ÃDÁAÒ�Ä Î ö6è ë Ï Ç Ó Ï Ç�È$ÎBÎ�Í ç7ç ñ èö Ó Ï Ç�È$Î ö6è ë Ï ÇÛ è�ï ä ñ�R Ã;ÁAÒ.Ä ÎHÎ$Í ç7ç ñ èö Ö�ÃDÁAÒ�Ä Î ö6è ë Ï Ç Ó Ï Ç�È$ÎBÎ�Í ç7ç ñ èö Ó Ï Ç�È$Î ö6è ë Ï ÇÈ$Ç ÄgÀ Ç Ò Ï Î Ã�Ó$Ñ Ï Å ÇHÎ$Í ç7ç ñ èÈ$Ç ÄgÀ Ç Ò Ï Î Ã�Ó$Ñ Ï Å ÇHÎ$Í ç7ç ñ è ö È$Ç Ä Ã�Ó$Ñ Ï Å Çö È$Ç Ä Ã�Ó$Ñ Ï Å Ç ß Ëß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï ÖÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è�ï ê ó.ã>é;ô ñ ï ê Ô î ÕBð�ñ è*ß ËÛ è�ï ê ó.ã>é;ô ñ ï ê Ô î ÕBð�ñ è*ß ËÃ;Ñ�Å É Ó Ï Ã Í�ÎÃ;Ñ�Å É Ó Ï Ã Í�Î Û ß ËÛ ß Ë

úúúú

û$û

Ej ecuciEj ecucióón n client e client e HTML HTML

((f or m_post .ht mlf or m_post .ht ml))

23

û ³

3DU3DUiiPHWURV�LQLFLDOL]DFLPHWURV�LQLFLDOL]DFLyyQ�HQ�Q�HQ�´́VHUYOHW�SURSHUWLHVVHUYOHW�SURSHUWLHVµµnn

üþý�ÿ�ü���������� ������ �������������� ���üþý�ÿ�ü���������� ������ �������������� ��� � ��������� ��� � ���� ��������� ��� � ���ü! "����� �����$#������������� ���ü! "����� �����$#������������� ���üüü%������� �&�� 'ü%������� �&�� ' (")�* �(")�* � + + , �"-���. , ) ���, �"-���. , ) ��� (")�* �(")�* � ÿÿ / �"�/ �"� ������ / �"�� , ) ���/ �"�� , ) ��� ��ü%������� �&�� 'ü%������� �&�� ' (")�* �(")�* � + + � ( � ��01��2��&. , � *3*4)� ( � ��01��2��&. , � *3*4) 55 -��� � * � �6��--��� � * � �6��- � �7� � �7� � /� / 88 (")"* �(")"* � 99 � ) :"�� ) :"� ;; � ) � ���� ) � ���üü ��< ) ���< ) � ,=)�(?> �,=)�(?> � )�,=, ��������-)�,=, ��������- >&@>&@ ��<����<�� �7����� �&��7����� �&� :"�A� ( 2:"�A� ( 2 ��<"���<"�üü ������� �&�B0C#�D������� �&�B0C#�D ,=) �,=) �üü E �� )�F : ( -��E �� )�F : ( -�� ������� ���������� ���������� �&�G E �� )�F : ( -��� , �"-���. E �� )�F : ( -��������� �&�G E �� )�F : ( -��� , �"-���. E �� )�F : ( -��üü / ��� *IH 2"�&�/ ��� *IH 2"�&� �����J�� �&������J�� �&�������� �&�G / ��� *IH 2����G , �"-���. / ��� *KH 2��&�������� �&�G / ��� *IH 2����G , �"-���. / ��� *KH 2��&�ü%� (", :����7� ) ������� �&�ü%� (", :����7� ) ������� �&�������� �&�G � (", :"���7� ) , �"-���.C� (", :"���G� )������� �&�G � (", :"���7� ) , �"-���.C� (", :"���G� )������� �&�G � (", :"���7� ) � ( � �601��2��&.������� �&�G � (", :"���7� ) � ( � �601��2��&. TT

( � *3> ��� H�/ � , <"�����U.( � *3> ��� H�/ � , <"�����U. � (", :"���7� ) ��V��� (", :"���7� ) ��V�� 99 TT-�� ��� , ������� �W.-�� ��� , ������� �W. -�� � H -�� H ��� )�>�)AX �-�� � H -�� H ��� )�>�)AX �

û�M

MMéét odo t odo initinit ()()

nn (Q�HO�P(Q�HO�PppWRGR�WRGR�LQLWLQLW���� VH�SXHGHQ�OHHU�ORV�VH�SXHGHQ�OHHU�ORV�SDUSDUiiPHWURV�GH�LQLFLDOL]DFLPHWURV�GH�LQLFLDOL]DFLyyQ�\�UHDOL]DU�RWURV�Q�\�UHDOL]DU�RWURV�SURFHVRV�FRPR�LQLFLDU�ODV�EDVHV�GH�GDWRV�SURFHVRV�FRPR�LQLFLDU�ODV�EDVHV�GH�GDWRV�SXEOLFSXEOLF YRLGYRLG LQLW�6HUYOHW&RQILJLQLW�6HUYOHW&RQILJ FRQILJFRQILJ�� WKURZVWKURZV 6HUYOHW([FHSWLRQ6HUYOHW([FHSWLRQ ^̂

VXSHU�LQLW�FRQILJVXSHU�LQLW�FRQILJ����ILFKHUR� �ILFKHUR� �JHW,QLW3DUDPHWHUJHW,QLW3DUDPHWHU��´́QRPEUHBILFKHURQRPEUHBILFKHURµµ����LILI �ILFKHUR� ��ILFKHUR� �QXOOQXOO��^��^

WKURZWKURZ QHZQHZ 8QDYDLODEOH([FHSWLRQ�WKLV8QDYDLODEOH([FHSWLRQ�WKLV����´́IDOWD�ILFKHUR�HQWUDGDIDOWD�ILFKHUR�HQWUDGDµµ����`̀

24

ûAN

Ej emplo con acceso a Ej emplo con acceso a DasesDases de Dat osde Dat os

nn (MHPSOR�GH�FOLHQWH�TXH�GHVGH�XQ�(MHPSOR�GH�FOLHQWH�TXH�GHVGH�XQ�IRUPXODULR�+70/�KDFH�XQD�FRQVXOWD�IRUPXODULR�+70/�KDFH�XQD�FRQVXOWD�D�XQD�EDVH�GH�GDWRV�D�WUDYD�XQD�EDVH�GH�GDWRV�D�WUDYppV�GH�XQ�V�GH�XQ�VHUYOHWVHUYOHW��nn LQLWLQLW����

–– FRQHFWD�FRQHFWD�GULYHUVGULYHUV–– FUHFUH FRQH[LFRQH[LyyQQ

nn GHVWUR\GHVWUR\����–– FLHUUD�OD�FRQH[LFLHUUD�OD�FRQH[LyyQ�D�EDVH�GH�GDWRVQ�D�EDVH�GH�GDWRV

nn GR3RVWGR3RVW����–– UHFRMHUHFRMH SDUSDUiiPHWURV�GHVGH�+70/�PHWURV�GHVGH�+70/�IRUPIRUP \�\�KDFH�FRQVXOWD�HQ�%'��KDFH�FRQVXOWD�HQ�%'��'HHXHOYH'HHXHOYH FFyyGLJR�GLJR�+70/�DO�FOLHQWH�+70/�DO�FOLHQWH�

û ®

Ej emplo con Bases de dat osEj emplo con Bases de dat osï>Ô î ÕBð�ñ ï>Ô á�ò é ñ ï î â î ð á ñï>Ô î ÕBð�ñ ï>Ô á�ò é ñ ï î â î ð á ñ Ø Î Ä È.Ï Î Å ÍØ Î Ä È.Ï Î Å Í ï ê î â î ð á ñ ï ê Ô á�ò é ñï ê î â î ð á ñ ï ê Ô á�ò é ñï6ó.ã>é;ô ñ ï>Ô%õ ñ á Æ(Î ÁAÂ Ï ÃH× Îï6ó.ã>é;ô ñ ï>Ô%õ ñ á Æ(Î ÁAÂ Ï ÃH× Î Í�Î Ä È.Ï Î Å ÍÍ�Î Ä È.Ï Î Å Í ï ê Ô%õ ñ ï6ó Ü ñï ê Ô%õ ñ ï6ó Ü ñïZY�ã Ü ÕïZY�ã Ü Õ R ò Õ á ç6è ì ÃDÄgÁ0Ñ Ï Ç ÄgÀ ÃR ò Õ á ç6è ì ÃDÄgÁ0Ñ Ï Ç ÄgÀ à èè Õ á�î Ô,ã>é>ç ä ã Ø�îÕ á�î Ô,ã>é>ç ä ã Ø�îò,í.î â(ã R ç%èò,í.î â(ã R ç%è Ð ÅgÅ�ÂÐ ÅgÅ� [ ê�ê[ ê�ê Ï Ã�Ó Ç.Ï Ð Ã Í ÅÏ Ã�Ó Ç.Ï Ð Ã Í Å [ \�]�\�] ê[ \�]�\�] ê Í�Î Ä È.Ï Î ÅÍ�Î Ä È.Ï Î Å ê�^ Í Ñ Ç ÄgÀ à Íê�^ Í Ñ Ç ÄgÀ Ã Í è ñè ñï%â R ä ^ îï%â R ä ^ î î ô ä á ç6è�Ô�â�é�é á Rî ô ä á ç6è�Ô�â�é�é á R èè R ò Õ á ç6è ì Ñ.Ö�Ó�À Ã;ÖR ò Õ á ç6è ì Ñ.Ö�Ó�À Ã;Ö è ñè ñR Ã;ÁAÒ.Ä Î&[ ï%â R ä ^ îR Ã;ÁAÒ.Ä Î&[ ï%â R ä ^ î î ô ä á ç6è î;áG_4îî ô ä á ç6è î;áG_4î èè R ò Õ á ç%è Ö�ÃDÁAÒ�Ä ÎR ò Õ á ç%è Ö�ÃDÁAÒ�Ä Î èè ` ò ð ^ á ç` ò ð ^ á ç è�è ñ ï6ó Ü ñè�è ñ ï6ó Ü ñò� Î�Ï Ï À ×�à Í�[ ï6â R ä ^ îò� Î�Ï Ï À ×�à Í�[ ï6â R ä ^ î î ô ä á ç%è î;áG_4îî ô ä á ç%è î;áG_4î èè R ò Õ á ç%è Ç Â Î�Ï Ï À ×�à ÍR ò Õ á ç%è Ç Â Î�Ï Ï À ×�Ã Í èè ` ò ð ^ á ç` ò ð ^ á ç è"è ñ ï>ó Ü ñè"è ñ ï>ó Ü ñï6â R ä ^ îï6â R ä ^ î î ô ä á ç%è�ó ^ î�î ã Rî ô ä á ç%è�ó ^ î�î ã R èè ` ò ð ^ á ç6è(â Ö Í�Î Ä Å Ç Ä` ò ð ^ á ç6è(â Ö Í�Î Ä Å Ç Ä èè R ò Õ á ç6è À Ö Í�Î Ä Å Ç ÄR ò Õ á ç6è À Ö Í�Î Ä Å Ç Ä èèÃ;Ö$í Ï À Ó�a ç%è ×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;Ä*Á0Ñ Ï Ç ÄgÀ Ã É ì Ñ.Ö�Ó�À Ã;Ö É È$Ç.Ï Ñ ÎÃ;Ö$í Ï À Ó�a ç%è ×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;Ä*Á0Ñ Ï Ç ÄgÀ Ã É ì Ñ.Ö�Ó�À Ã;Ö É È$Ç.Ï Ñ Î ç�b À Ö Í�Î Ä Å Ç Ä b Ëç�b À Ö Í�Î Ä Å Ç Ä b Ë×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;Ä*Á0Ñ Ï Ç ÄgÀ Ã É Í Ñ�Ò.ÁAÀ Å×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;Ä*Á0Ñ Ï Ç ÄgÀ Ã É Í Ñ�Ò.ÁAÀ Å Û ß Ë è ñÛ ß Ë è ñï%â R ä ^ îï%â R ä ^ î î ô ä á ç6è�ó ^ î�î ã Rî ô ä á ç6è�ó ^ î�î ã R è%é�â Ø$ò ó ð á éè%é�â Ø$ò ó ð á é ` ò ð ^ á ç6è�ó Ã;Ä*Ä Ç Ä` ò ð ^ á ç6è�ó Ã;Ä*Ä Ç Ä èè R ò Õ á ç%è Ò�ÃDÄ*Ä Ç ÄR ò Õ á ç%è Ò�ÃDÄ*Ä Ç Ä èèÃ;Ö$í Ï À Ó�a ç%è ×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;Ä*Á0Ñ Ï Ç ÄgÀ Ã É ì Ñ.Ö�Ó�À Ã;Ö É È$Ç.Ï Ñ ÎÃ;Ö$í Ï À Ó�a ç%è ×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;Ä*Á0Ñ Ï Ç ÄgÀ Ã É ì Ñ.Ö�Ó�À Ã;Ö É È$Ç.Ï Ñ Î ç�b Ò�Ã;Ä*Ä Ç Ä b Ëç�b Ò�Ã;Ä*Ä Ç Ä b Ë ×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;ÄgÁ0Ñ Ï Ç ÄgÀ Ã É Í Ñ�Ò.ÁAÀ Å×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;ÄgÁ0Ñ Ï Ç ÄgÀ Ã É Í Ñ�Ò.ÁAÀ Å Û ß Ë è ñÛ ß Ë è ñï%â R ä ^ îï%â R ä ^ î î ô ä á ç6è�ó ^ î�î ã Rî ô ä á ç6è�ó ^ î�î ã R è%é�â Ø$ò ó ð á éè%é�â Ø$ò ó ð á é ` ò ð ^ á ç6è Õ Ã�×DÀ ì À Ó Ç Ä` ò ð ^ á ç6è Õ Ã�×DÀ ì À Ó Ç Ä èè R ò Õ á ç%è ÁBÃ�×DÀ ì À Ó Ç ÄR ò Õ á ç%è ÁBÃ�×DÀ ì À Ó Ç Ä èèÃ;Ö$í Ï À Ó�a ç%è ×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;Ä*Á0Ñ Ï Ç ÄgÀ Ã É ì Ñ.Ö�Ó�À Ã;Ö É È$Ç.Ï Ñ ÎÃ;Ö$í Ï À Ó�a ç%è ×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;Ä*Á0Ñ Ï Ç ÄgÀ Ã É ì Ñ.Ö�Ó�À Ã;Ö É È$Ç.Ï Ñ Î ç�b ÁBÃ�×DÀ ì À Ó Ç Ä b Ëç�b ÁBÃ�×DÀ ì À Ó Ç Ä b Ë×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;Ä*Á0Ñ Ï Ç ÄgÀ Ã É Í Ñ�Ò.ÁAÀ Å×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;Ä*Á0Ñ Ï Ç ÄgÀ Ã É Í Ñ�Ò.ÁAÀ Å Û ß Ë è ñÛ ß Ë è ñï%â R ä ^ îï%â R ä ^ î î ô ä á ç6è�ó ^ î�î ã Rî ô ä á ç6è�ó ^ î�î ã R èè ` ò ð ^ á ç6è�ó Ñ Í Ó Ç Ä` ò ð ^ á ç6è�ó Ñ Í Ó Ç Ä èè R ò Õ á ç6è Ò�Ñ Í Ó Ç ÄR ò Õ á ç6è Ò�Ñ Í Ó Ç Ä èèÃ;Ö$í Ï À Ó�a ç%è ×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;Ä*Á0Ñ Ï Ç ÄgÀ Ã É ì Ñ.Ö�Ó�À Ã;Ö É È$Ç.Ï Ñ ÎÃ;Ö$í Ï À Ó�a ç%è ×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;Ä*Á0Ñ Ï Ç ÄgÀ Ã É ì Ñ.Ö�Ó�À Ã;Ö É È$Ç.Ï Ñ Î ç�b Ò�Ñ Í Ó Ç Ä b Ëç�b Ò�Ñ Í Ó Ç Ä b Ë ×�Ã�Ó�Ñ.Á Î Ö�Å É ì Ã;ÄgÁ0Ñ Ï Ç ÄgÀ Ã É Í Ñ�Ò.ÁAÀ Å×�Ã�Ó�Ñ.Á Î Ö�Å É ì Ã;ÄgÁ0Ñ Ï Ç ÄgÀ Ã É Í Ñ�Ò.ÁAÀ Å Û ß Ë è ñÛ ß Ë è ñ

ï ê Y�ã Ü ÕAñï ê Y�ã Ü ÕAñï ê ó.ã>é;ô ñï ê ó.ã>é;ô ñ

25

û�O

Ej emplo con Bases de Dat osEj emplo con Bases de Dat os� * ������� * ������ X6) � ) ��c�X6) � ) ��c� d�e d�e� * ������� * ������ X6) � ) � �X6) � ) � � d�e d�e� * ������� * ������ X6) � ) V� ������� �&�X6) � ) V� ������� �&� d�e d�e� * ������� * ������ X6) � ) V� ������� �&�� <������X6) � ) V� ������� �&�� <������ d�e d�e�&d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�&d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d

"����� �&� "����� �&� -��K� X � * �� � 9 c�:"�4�&��� * � ���4� ( ������ ) � 9�, � ( �A:� � ) � 9�> ����� ) � @�* �"-�� / � ,=) �-��K� X � * �� � 9 c�:"�4�&��� * � ���4� ( ������ ) � 9�, � ( �A:� � ) � 9�> ����� ) � @�* �"-�� / � ,=) � � ( )� ( )>�) ���I-��I- ) ���"�gfh�A: ) ��� �"�� >�) ���I-��I- ) ���"�gfh�A: ) ��� �"��

d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d��d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d����: > � ,��: > � , , ) �=�, ) �=� fh�A: ) ��� �"�fh�A: ) ��� �"� �&V"��� ( -���&V"��� ( -�� E �6���" "����� ���E �6���" "����� ��� 88�&d�dIi�� ( ��V���&d�dIi�� ( ��V�� jj (�) )4>�) ���I-��I- ) ���"�� �d��(�) )4>�) ���I-��I- ) ���"�� �d������� � ) �������� � ) ��� i�� (�( � , ��� � (i�� (�( � , ��� � ( , � (�(, � (�( ee�&d�d� "� ( ��� (", � )I) � X � , :�� ) �B� ( )?kZl �d���&d�d� "� ( ��� (", � )I) � X � , :�� ) �B� ( )?kZl �d������� � ) �������� � ) ��� �� ) ��� * � ( � �� ) ��� * � ( � �7� * ��7� * � ee�&d�d?m1� *3> ��� > :"� ,=) -�� )�( ������� ��� * � ( �6�� �d���&d�d?m1� *3> ��� > :"� ,=) -�� )�( ������� ��� * � ( �6�� �d������� � ) �������� � ) ��� ������ ( 2 ������ ( 2 )�( ��� 2�:"��m1� *3> ��)�( ��� 2�:"��m1� *3> �� .. ( :� ( :� ee

³�¯

Ej emplo con Bases de Dat osEj emplo con Bases de Dat osê Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Êê Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�ÊÊ í.Ã;Ö Î Ó�Å Ç ÓÃ;Ö Ï Ç Ò Ç�Í"Î × Î × Ç Ågà Í6Ç Å�Ä Ç�ÈÊ í.Ã;Ö Î Ó�Å Ç ÓÃ;Ö Ï Ç Ò Ç�Í"Î × Î × Ç Ågà Í6Ç Å�Ä Ç�È nn Í × Î�Ï ã>é�ó í ÉÍ × Î�Ï ã>é�ó í ÉÊ�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê êÊ�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê�Ê êÂ�Ñ�Ò Ï À ÓÂ�Ñ�Ò Ï À Ó È Ã;À ×È Ã;À × LQLWLQLW Û Ø Î Ä È.Ï Î Å*í.ÃDÖ ì À æÛ Ø Î Ä È.Ï Î Å*í.ÃDÖ ì À æ ÓÃ;Ö ì À æÓÃ;Ö ì À æ ßß Å Ð Ä Ã$à ÍÅ Ð Ä Ã$à Í Ø Î Ä È.Ï Î Å�á Ì Ó Î Â�Å�À Ã;ÖØ Î Ä È.Ï Î Å�á Ì Ó Î Â�Å�À Ã;Ö ÙÙÍ Ñ�Â Î Ä É À Ö�À Å Û ÓÃ;Ö ì À æÍ Ñ�Â Î Ä É À Ö�À Å Û ÓÃ;Ö ì À æ ß Ëß ËÅ"Ä ëÅ"Ä ë ÙÙê�ê Ø Î Ã;Ò�Å�À Î Ö ÎAÏ Ç Ä Î�ì Î Ä Î Ö�Ó�À ÇBÇ.Ïê�ê Ø Î Ã;Ò�Å�À Î Ö ÎAÏ Ç Ä Î�ì Î Ä Î Ö�Ó�À ÇBÇ.Ï ×DÄgÀ È$Î Ä×DÄgÀ È$Î Ä o ×DÒ�Ó ã ×DÒ�Óo ×DÒ�Ó ã ×DÒ�Óí Ï Ç�Í�Í�É ì Ã;Ä R,Ç Á Îí Ï Ç�Í�Í�É ì Ã;Ä R,Ç Á Î Û èÛ è Í Ñ.Ö É Æ ×DÒ�Ó É Ã�×DÒ�Ó É o ×DÒ�Ó ã ×DÒ�Ó é ÄgÀ È$Î ÄÍ Ñ.Ö É Æ ×DÒ�Ó É Ã�×DÒ�Ó É o ×DÒ�Ó ã ×DÒ�Ó é ÄgÀ È$Î Ä è(ß Ëè(ß Ëê�ê Ø Î�Ç Ò�Ä ÎAÏ Ç Ò Ç�Í"Î × Î × Ç Ågà Í�Éê�ê Ø Î�Ç Ò�Ä ÎAÏ Ç Ò Ç�Í"Î × Î × Ç Ågà Í�ÉÓÃ;Ö.ÖÓÃ;Ö.Ö çç é ÄgÀ È$Î Ä Õ/Ç Ö Ç æ Î Ä É æ Î Å*í.ÃDÖ.Ö Î ÓÅ�À Ã;Öé ÄgÀ È$Î Ä Õ/Ç Ö Ç æ Î Ä É æ Î Å*í.ÃDÖ.Ö Î ÓÅ�À Ã;Ö Û èÛ è Æ ×DÒ�Ó [ Ã�×DÒ�Ó [ ^ Ø ^ ò�Ü â(ã ØÆ ×DÒ�Ó [ Ã�×DÒ�Ó [ ^ Ø ^ ò�Ü â(ã Ø è*ß Ëè*ß Ëê�ê Ø Î Ó�Ä Î�ÇAÏ ÇHÍ�Î Ö�Å Î Ö�Ó�À Ç Â Ç Ä ÇBÇ Ó�Å�Ñ Ç Ä Í Ã;Ò�Ä Î\Ï Ç óDé Éê�ê Ø Î Ó�Ä Î�ÇAÏ ÇHÍ�Î Ö�Å Î Ö�Ó�À Ç Â Ç Ä ÇBÇ Ó�Å�Ñ Ç Ä Í Ã;Ò�Ä Î\Ï Ç óDé ÉÍ Å"Á�ÅÍ Å"Á�Å çç ÓÃ;Ö.Ö É Ó�Ä Î�Ç Å Î Ø$Å Ç Å Î Á Î Ö�ÅÓÃ;Ö.Ö É Ó�Ä Î�Ç Å Î Ø$Å Ç Å Î Á Î Ö�Å Û ß ËÛ ß ËúúÓ Ç ÅgÓ ÐÓ Ç ÅgÓ Ð ÛÛ Ø�p ð á Ì Ó Î Â�Å�À Ã;ÖØ�p ð á Ì Ó Î Â�Å�À Ã;Ö Î ß ÙÎ ß ÙØ$ë Í Å Î Á É Ã;Ñ�Å É Â�ÄgÀ Ö�Å Ï ÖØ$ë Í Å Î Á É Ã;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è á�ÄgÄ ÃDÄ Ç.Ï�Ç Ò�ÄgÀ Ä Ï Ç Ò Ç�Í�Î × Î × Ç Ågà Í�É è(ß ËÛ è á�ÄgÄ ÃDÄ Ç.Ï�Ç Ò�ÄgÀ Ä Ï Ç Ò Ç�Í�Î × Î × Ç Ågà Í�É è(ß ËúúÓ Ç ÅgÓ ÐÓ Ç ÅgÓ Ð ÛÛ í Ï Ç�Í�ÍGR Ã$Å Y Ã;Ñ.Ö�×Dá Ì Ó Î Â�Å�À Ã;Öí Ï Ç�Í�ÍGR Ã$Å Y Ã;Ñ.Ö�×Dá Ì Ó Î Â�Å�À Ã;Ö Î ß ÙÎ ß ÙØ$ë Í Å Î Á É Ã;Ñ�Å É Â�ÄgÀ Ö�Å Ï ÖØ$ë Í Å Î Á É Ã;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è R à Í"ÎAÐ�ÇHÎ Ö�ÓÃDÖ�Å"Ä Ç ×�Ã Ï Ç Ó Ï Ç�Í"ÎÛ è R à Í"ÎAÐ�ÇHÎ Ö�ÓÃDÖ�Å"Ä Ç ×�Ã Ï Ç Ó Ï Ç�Í"Î o ×DÒ�Ó ã ×DÒ�Ó é ÄgÀ È�Î Äo ×DÒ�Ó ã ×DÒ�Ó é ÄgÀ È�Î Ä É è(ß ËÉ è(ß Ëúú;;

26

³.·

Ej emplo con Bases de Dat osEj emplo con Bases de Dat os�&d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�&d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d ddl �&�6��� * � (") c�:��I��� , �l �&�6��� * � (") c�:��I��� , � jj ( < )4*4)"( - ) -������:"�A: ) ��� � @ � * � �6�4 ) �( < )4*4)"( - ) -������:"�A: ) ��� � @ � * � �6�4 ) � qq 2�� (")Kr � > -��4�����A��:"���7� ) 2�� (")Kr � > -��4�����A��:"���7� ) d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�dd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d��: > � ,��: > � , ����� -����� - GR3RVWGR3RVW ÿÿ E �6���" "����� �&�Gs���c�:"���7�E �6���" "����� �&�Gs���c�:"���7� tvu�w�x�u�y�ztvu�w�x�u�y�z 99 E �6���" "���J�� �&��sZ���A��� ( ���E �6���" "���J�� �&��sZ���A��� ( ��� tvu�yG{Z|�}�yAutvu�yG{Z|�}�yAu

�� ��<�����~����<�����~�� "����� ���G�AV , ���&��� � ( "����� ���G�AV , ���&��� � ( 99 D�����V , ���&��� � (D�����V , ���&��� � ( 88 �� ;;������ ���������� , � ( ��� ( �, � ( ��� ( � � @ ���� @ ��� )�( -)�( - ����<��������<���� �����A��� ( ��������A��� ( ��� <"� ) -����<"� ) -���� / � �� -��/ � �� -�� / � ���7�/ � ���7�

�����A��� ( ���� ���&��i�� ( ��� ( �6� @ ��������A��� ( ���� ���&��i�� ( ��� ( �6� @ ��� ÿv�ÿv� �6��V���6��V�� �� <&� * <&� * �G�6e�G�6e������ ��<"� (��<"� ( ~?��� �6�~?��� �6� �v<"��v<"� - ) � )- ) � ) � /� / �v<���v<�� �����A��� ( ��������A��� ( ���

#���� ( � r ��� �����#���� ( � r ��� ����� ��:&��.��:&��. ����A��� ( ���� 2���� r ��� ���������A��� ( ���� 2���� r ��� ����� ÿ��6eÿ��6e���giB��� ) ) ����giB��� ) ) � qq 2�� (")2�� (") ~I� >~I� > -��4����A��:"���7� ) -��4����A��:"���7� )

��:��G ����� ( �� (��:��G ����� ( �� ( ÿv�=' E � FI��+ ' E ��0 l�+ 'C��Dv� � � + �G�6eÿv�=' E � FI��+ ' E ��0 l�+ 'C��Dv� � � + �G�6e��:��G ����� ( �� (��:��G ����� ( �� ( ÿv�ÿv� "����� ����� "����� ����� �G�6e�G�6e��:��G ����� ( �� (��:��G ����� ( �� ( ÿv�='��=��Dv� � � + '�� E ��0 l�+ ' k � lB�C+ �G�6eÿv�='��=��Dv� � � + '�� E ��0 l�+ ' k � lB�C+ �G�6e��:��G ����� ( �� (��:��G ����� ( �� ( ÿv�=' E���+ � X � * �� ��-��ÿv�=' E���+ � X � * �� ��-�� ������� �&���������� �&��� '�� E���+ �G�6e'�� E���+ �G�6e��:��G ����� ( �� (��:��G ����� ( �� ( ÿv�=' k s + ' k s + �G�6eÿv�=' k s + ' k s + �G�6e��:��G ����� ( �� (��:��G ����� ( �� ( ÿv�='��=��s Fÿv�='��=��s F mh0 F ��.mh0 F ��. TT � / ��� * :� ) ��� �� / ��� * :� ) ��� � TT �� F �A� E � l .�#"�� &�F �A� E � l .�#"�� &�

0Zi���D���m�.0Zi���D���m�. TT �G<��6����G<��6��� � �&�� �&� � ,=) <"�"�7� � ,=) <"�"�7� � ���������� ��������� �����J�� �&������J�� �&� �� fh�A: ) ��� �"�fh�A: ) ��� �"� TT � + �G�6e� + �G�6e��:��G ����� ( �� (��:��G ����� ( �� ( ÿv�='�D�m�#�fB�ÿv�='�D�m�#�fB� � � #���.� � #���. TT � E D lQl �"m� E D lQl �"m TT �� mh0 F ��.mh0 F ��. TT � / : (", � � (� / : (", � � ( TT � + �G�6e� + �G�6e

³ S

���G�G�G�G���G�G�G���G�G�G���G�G�G�G���G�G�G���G�G�G���G�G�G�G���G�G�G�G�G���G�G�G���G�G�G�G���G�G�G���G�G�G�G���G�G�G���G�G�G����G�G�G�G���G�G�G���G�G�G���G�G�G�G���G�G�G���G�G�G���G�G�G�G���G�G�G�G�G���G�G�G���G�G�G�G���G�G�G���G�G�G�G���G�G�G���G�G�G� ���=�v� �G� �B� �v���7�����7���6��=�v� �G� �B� �v���7�����7���6� �� �B���h���G�v���v�����G�v�v��v�G� � �� ��7�B� � �B� �Z��B���h���G�v���v�����G�v�v��v�G� � �� ��7�B� � �B� �Z� ¡¡ ¢ � �v�¢ � �v� £ �G¤£ �G¤ ���Z� �v�����v���¥� �G¦���Z� �v�����v���¥� �G¦�G�G�G�G�G���G�G�G���G�G�G�G���G�G�G���G�G�G�G���G�G�G���G�G�G���G�G�G�G�G���G�G�G���G�G�G�G���G�G�G���G�G�G�G���G�G�G���G�G�G��G�G�G�G�G���G�G�G���G�G�G�G���G�G�G���G�G�G�G���G�G�G���G�G�G���G�G�G�G�G���G�G�G���G�G�G�G���G�G�G���G�G�G�G���G�G�G���G�G�G� ��Ø$Å�ÄgÀ Ö�æ ì Ñ�Ö�Ó�À Ã;Ö ç Ä Î�Ý Ñ Î$Í Å É æ Î Å ä Ç Ä Ç Á Î Å Î Ä Û è ì Ñ�Ö�Ó�À Ã;Ö è*ß ËÀ ì4Û�ì Ñ�Ö�Ó�À Ã;Ö É ÓÃDÁAÂ Ç Ä Î î�Ã Û è À Ö Í�Î Ä Å Ç Ä è(ß7ç7ç ] ß ÙÅ"Ä ë ÙÍ Å"Á�Å É Î�Ì�Î Ó�Ñ�Å Î ^ Â�× Ç Å Î\Û è(â Ö Í�Î Ä Å â Ö�Ågà ^ Ø ^ ò�Ü â(ã Ø Û�R ã Õ ó Ü,á Þ ò ä á ð�ð â�é,ã Ø ß ` Ç.Ï Ñ Î�Í Û b è7öÄ Î�Ý Ñ Î�Í Å É æ Î Å ä Ç Ä Ç Á Î Å Î Ä Û è Ö�ÃDÁ0Ò�Ä Î è(ß7ö è�b Þ b è7ö Ä Î�Ý Ñ Î$Í Å É æ Î Å ä Ç Ä Ç Á Î Å Î Ä Û è Ç Â Î�Ï Ï À ×�Ã Í è*ß7ö<è�b ß Ë è(ß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è R Ã;ÁAÒ.Ä Î&[ ï%â R ä ^ î\î ô ä á çB§�è î;áG_4î §�è R ò Õ á çB§�è Ö�Ã;ÁAÒ.Ä Î §�è ` ò ð ^ á çh§è�§�è ñ ï6ó Ü ñ è(ß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è ò� Î�Ï Ï À ×�à Í�[ ï%â R ä ^ îHî ô ä á çh§�è î;áG_4î §è R ò Õ á çh§�è Ç Â Î�Ï Ï À ×�Ã Í §¨ ` ò ð ^ á çh§�èv§�è ñ ï6ó Ü ñ è*ß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è�ï6ó Ü ñ Ü Î æDÀ Í Å�Ä Ã0À Ö Í"Î Ä Å Ç ×�à ï6ó Ü ñ ï6ó Ü ñ è(ß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è�ï%â R ä ^ îHî ô ä á çB§�è�ó ^ î�î ã R §è ` ò ð ^ á çh§�è(â Ö Í�Î Ä Å Ç Ä §è R ò Õ á çh§è À Ö Í�Î Ä Å Ç Ä §�è

ÃDÖ$í Ï À Ó�a çh§è ×�Ã�Ó�Ñ.Á Î Ö�Å É ì Ã;Ä*ÁAÑ Ï Ç ÄgÀ Ã É ì Ñ.Ö�Ó�À Ã;Ö É È$Ç.Ï Ñ Î ç�b À Ö Í�Î Ä Å Ç Ä b Ë×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;Ä*Á0Ñ Ï Ç ÄgÀ Ã É Í Ñ�Ò.ÁAÀ Å Û ß Ë §�è ñ è*ß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è�ï%â R ä ^ îHî ô ä á çh§è"ó ^ î�î ã R §è6é�â Ø$ò ó ð á é ` ò ð ^ á çh§è"ó Ã;ÄgÄ Ç Ä §�è R ò Õ á çh§è Ò�ÃDÄgÄ Ç Ä §è

ÃDÖ$í Ï À Ó�a çh§è ×�Ã�Ó�Ñ.Á Î Ö�Å É ì Ã;Ä*ÁAÑ Ï Ç ÄgÀ Ã É ì Ñ.Ö�Ó�À Ã;Ö É È$Ç.Ï Ñ Î ç�b Ò�ÃDÄgÄ Ç Ä b Ë×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;Ä*Á0Ñ Ï Ç ÄgÀ Ã É Í Ñ�Ò.ÁAÀ Å Û ß Ë §�è ñ è*ß ËÃ;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è�ï%â R ä ^ îHî ô ä á çh§è"ó ^ î�î ã R §è6é�â Ø$ò ó ð á é ` ò ð ^ á çh§è Õ Ã�×DÀ ì À Ó Ç Ä §è

R ò Õ á çh§è ÁBÃ�×DÀ ì À Ó Ç Ä §�èÃDÖ$í Ï À Ó�a çB§�è ×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;Ä*ÁAÑ Ï Ç ÄgÀ Ã É ì Ñ�Ö�Ó�À Ã;Ö É È$Ç.Ï Ñ Î ç�b ÁBÃ�×DÀ ì À Ó Ç Ä b Ë×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;Ä*Á0Ñ Ï Ç ÄgÀ Ã É Í Ñ�Ò.ÁAÀ Å Û ß Ë §�è ñ è*ß Ë

Ã;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è�ï%â R ä ^ îHî ô ä á çh§è�ó ^ î�î ã R §è ` ò ð ^ á çh§�è�ó Ñ Í Ó Ç Ä §è R ò Õ á çh§è Ò.Ñ Í Ó Ç Ä §�èÃDÖ$í Ï À Ó�a çB§�è ×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;Ä*ÁAÑ Ï Ç ÄgÀ Ã É ì Ñ�Ö�Ó�À Ã;Ö É È$Ç.Ï Ñ Î ç�b Ò�Ñ Í Ó Ç Ä b Ë×�Ã�Ó�Ñ�Á Î Ö�Å É ì Ã;Ä*Á0Ñ Ï Ç ÄgÀ Ã É Í Ñ�Ò.ÁAÀ Å Û ß Ë §�è ñ è*ß Ë

úÓ Ç ÅgÓ Ð\Û Ø�p ð á Ì Ó Î Â�Å�À Ã;Ö Î ß Ù Ã;Ñ�Å É Â�ÄgÀ Ö�Å Ï Ö Û è R à Í�Î Â�Ñ�×�Ã0À Ö Í�Î Ä Å Ç Ä Î�Ï Ä Î æDÀ Í Å�Ä Ã ï6ó Ü ñ ï6ó Ü ñ è(ß Ëú

27

³ ¿

Ej emplo con Bases de Dat osEj emplo con Bases de Dat os

� � GHVSXGHVSXppV�GH�UHDOL]DU�WRGDV�ODV�RSHUDFLRQHV��VDOLU�ELHQ�GHO�V�GH�UHDOL]DU�WRGDV�ODV�RSHUDFLRQHV��VDOLU�ELHQ�GHO�FFyyGLJR�+70/GLJR�+70/ � �

RXW�SULQWOQRXW�SULQWOQ����)250!�������)250!���RXW�SULQWOQRXW�SULQWOQ����%2'<!��+70/!�������%2'<!��+70/!���RXW�FORVHRXW�FORVH������`�� �ILQ�GHO�P`�� �ILQ�GHO�PppWRGR�WRGR�GR3RVWGR3RVW��� ���� �

`�� �ILQ�GHO�`�� �ILQ�GHO�VHUYOHWVHUYOHW � �