/0u1 e XML2
%&L, es el estándar de E(tensible &arBup Language. %&L no es más 5ue un conjunto de reglas para de7inir eti5uetas semánticas 5ue nos organizan un documento en di7erentes partes. %&L es un metalenguaje 5ue de7ine la sinta(is utilizada para de7inir otros lenguajes de eti5uetas estructurados. En primer lugar para entenderlo bien ha' 5ue olvidarse un poco, sólo un poco de HT&L. En teor8a HT&L es un subconjunto de %&L especializado en presentación de documentos para la Web, mientras 5ue %&L es un subconjunto de A!&L especializado en la gestión de in7ormación para la Web. En la práctica %&L contiene a HT&L aun5ue no en su totalidad. La de7inición de HT&L contenido totalmente dentro de %&L ' por lo tanto 5ue cumple a rajatabla la especi7icación A!&L es %HT&L CE(tensible, H'perte(t &arBup Language.
"esde su creación, %&L ha despertado encontradas pasiones, ' como para cual5uier tema en #nternet, ha' gente 5ue desde el principio se deja iluminar por sus e(pectativas, mientras otras muchas lo han ignorado.
ISTORIA DE XM L %&L 7ue creado al amparo del Word Wide Web
Re*ecto a u o()etivo on: %&L debe ser directamente utilizable sobre #nternet. %&L
debe
soportar
una
amplia
variedad
de
aplicaciones. %&L debe ser compatible con A!&L. "ebe ser 7ácil la escritura de programas 5ue procesen documentos %&L.
El nJmero de caracter8sticas opcionales en %&L debe ser absolutamente m8nimo, idealmente cero. Los documentos %&L deben ser legibles por humanos ' razonablemente claros.
El diseKo de %&L debe ser preparado rápidamente.
El diseKo de %&L debe ser 7ormal ' conciso. Los documentos %&L deben ser 7ácilmente creables. La concisión en las marcas %&L es de m8nima impo rtancia. Esta especi7icación, junto con los estándares asociados C6nicode e #A:#E< *212 para caracteres, #nternet ;G< 322 para identi7icación de lenguajes, #A: ersión .* de %&L ' construir programas de computador 5ue los procesen. Pri!ci(ale caracter-tica
Es una ar5uitectura más abierta ' e(tensible. No se necesita versiones para 5ue puedan 7uncionar en 7uturos navegadores. Los identi7icadores pueden crearse de manera simple ' ser adaptados en el acto en internetintranet por medio de un validador de documentos Cparser. &a'or consistencia, homogeneidad ' amplitud de los identi7icadores descriptivos del documento con %&L Clos ;"G ;esource "escription GrameWorBD, en comparación a los atributos de la eti5ueta del HT&L. #ntegración de los datos de las 7uentes más dispares. Ae podrá hacer el intercambio de documentos entre las aplicaciones tanto en el propio =< como en una red local o e(tensa. "atos compuestos de mJltiples aplicaciones. La e(tensibilidad ' 7le(ibilidad de este lenguaje nos permitirá agrupar una variedad amplia de aplicaciones, desde páginas eb hasta bases de datos. !estión ' manipulación de los datos desde el propio c liente eb. Los motores de bJs5ueda devolverán respuestas más adecuadas ' precisas, 'a 5ue la codi7icación del contenido eb en %&L consigue 5ue la estructura de la in7ormación resulte más accesible. Ae desarrollarán de manera e(tensible las bJs5uedas personalizables ' subjetivas para robots ' agentes inteligentes. Tambi>n conllevará 5ue los ejecutan en el servidor.
Ae permitirá un comportamiento más estable ' actualizable de las aplicaciones eb, inclu'endo enlaces bidireccionales ' almacenados de 7orma e(terna CEl 7amoso ep8gra7e X1*1 7ile not 7oundX desapareceráD. El
concepto
de
Xhiperte(toX
se
desarrollará
ampliamente
Cpermitirá
denominación independiente de la ubicación, enlaces bidireccionales, enlaces 5ue pueden especi7icarse ' gestionarse desde 7uera del documento, hiperenlaces mJltiples, enlaces agrupados, atributos para los enlaces, etc.
s del Lenguaje de enlaces e(tensible C%LLD. E(portabilidad a otros 7ormatos de publicación Cpapel, eb, cd-rom, etc.D. El documento maestro de la edición electrónica podr8a ser un documento %&L 5ue se integrar8a en el 7ormato deseado de manera directa. Etructura del
XML
El metalengua'e ML consta de cuatro especificaciones ,el propio ML sienta las bases sint#cticas y el alcance de su implementaci(n
•
DTD =D#cu'e!t Ty( e De,i!iti#!) "e7inición del tipo de documento. Es, en general, un archivos 5ue encierra una de7inición 7ormal de un tipo de documento ' , a la vez, especi7ica la estructura lógica de cada documento. "e7ine tanto los elementos de una página como sus atributos. El "T" del %&L es opcional. En tareas sencillas no es necesario construir una "T", entonces se tratar8a de un documento Xbien 7ormadoXCell-7ormedD ' si lleva "T" será un documento XvalidadoX CvalidD.
•
XSL =eXte!i&le Style
con
tamaKos.
amplia variedad en los
UNIVERSIDAD PRIVADA TELESUP
Este estándar está basado en el lenguaje de semántica ' especi7icación de estilo de documento C"AAAL, "ocument At'le Aemantics and Apeci7ication Language, #A:#E< *34D ', por otro lado, se considera más potente 5ue las hojas de estilo en cascada C
•
XLL =eXte!i&le Li!?i! La!uae) "e7ine el modo de enlace entre di7erentes enlaces. Ae considera 5ue es un subconjunto de H'Time CHipermediaTimed-based structuring Language o Lenguaje de estructuración hipermediabasado en el tiempo, #A: *311D ' sigue algunas especi7icaciones del TE# CTe(t Encoding #nitiative o #niciativa de codi7icación de te(toD. "esde marzo de 440 el W< trabajo en los enlaces ' direccionamientos del %&L. =rovisionalmente se le renombró como %linB ' a partir de junio se le denomina %LL. Este lenguaje de enlaces e(tensible tiene dos importantes componentes? %linB ' el %pointer. a más allá de los enlaces simples 5ue sólo soporta el HT&L. Ae podrá implementar con enlaces e(tendidos. Ion OosaB establece los siguientes mecanismos hiperte(tuales 5ue s oportará esta especi7icación?
"enominación independiente de la ubicación.
Enlaces 5ue pueden ser tambi>n bidirecccionales.
Enlaces 5ue pueden especi7icarse ' gestionarse desde 7uera del documento a los 5ue se apli5uen CEsto permitirá crear en un entorno intranete(tranet un banco de datos de enlaces en los 5ue se puede gestionar ' actualizar automáticamente. No habrá más errores del tipo X1*1 Not GoundXD.
Hiperenlaces mJltiples Canillos, mJltiples ventanas, etc.D.
Enlaces agrupados CmJltiples or8genesD.
Transclusión Cel documento destino al 5ue apunta el enlace aparece como
parte integrante del documento or8gen del enlaceD. Ae pueden aplicar atributos a los enlaces Ctipos de enlacesD.
%69 C%&L 6ser 9gentD? Estandarización de navegadores %&L. Todav8a está en proceso de creación de borradores de trabajo. Ae aplicará a los
UNIVERSIDAD PRIVADA TELESUP navegadores para 5ue compartan todas las especi7icaciones %&L.
1
XML y L# Ser4ici# We& Ginalmente ahora 5ue 'a conocemos algo más sobre %&L no 5ueda responde por5ue %&L es utilizado en los servicios Web Ai recapitulamos todo los cap8tulos anteriores seguro 'a tendremos alguna pista para esta pregunta, pero para hacerlo más práctico diremos 5ue se utiliza %&L por5ue?
Es un estándar abierto es decir 5ue es reconocido mundialmente 'a 5ue muchas compaK8as tecnológicas integran en sus so7tare compatibilidad con dicho lenguaje. Esto 5uiere decir 5ue la gran ma'or8a de so7tare de escritorio de sistema operativo, aplicaciones móviles permiten la compatibilidad con %&L esto lo hace mu' potente a la hora de permite la comunicación entre distintas plata7ormas de so7tare ' hardare C' si bien recordamos este es el sentido 7inal de los Aervicios WebD.
Aimplicidad de sinta(is esto 5uiere decir 5ue es mu' 7ácil de escribir código en %&L ' la representación de los datos es casi entendible por cual5uier ser humano. Esto lo hace mu' 7le(ible a la hora de 5uerer reprensar datos de cual5uier especie, bastara con contar con cual5uier editor de te(to ' aprende unas cuantas intrusiones básicas ' 'a esta en condiciones de escribir código %&L el cual será soportado o entendido por cual5uier aplicación 5ue pueda leer documentos %&L. El hecho de 5ue %&L sea tan 7ácil de codi7icar ' de entender lo hace el lenguaje ideal para utilizarlo en los servicios Web.
#ndependencia del protocolo de Transporte, el hecho de 5ue %&L es un lenguaje de &arcado de Te(to, no necesita de ningJn protocolo de trasporte especial, solo necesita de un protocolo 5ue pueda tras7erir te(to o documentos simples. Esto nos trae a la memoria 5ue en mercado e(isten muchos protocolos con estas caracter8stica como lo son los mas conocidos en HTT= ' A&T= por nombrar algunos. olviendo la tema de los servicios Web una de las caracter8stica de estos es la independencia del protocolo de trasporte.
130
/ecturas ecomendadas
UNIVERSIDAD PRIVADA TELESUP
CREAR CONS*MIR SERVICIOS WEB
XML
5tt*:///.lide5are.net%uet>c,@ ,,11ervicio/e (-&l
SERVICIOS WEB
XML
5tt*:///.docir.cl/e(ervice8 .5t&l
"cti1idades 2 E3ercicios
1. En un archivo de Word e(pli5ue las di7erentes 7ormas de utilizar los m>todos de los 7ormularios. Env8alo a trav>s de "Gormularios". <. s de "/cript’s".
UNIVERSIDAD PRIVADA TELESUP
" utoe1aluaciones 1. JuF e un 5ilo de e)ecuci'nM a. (. c. d. e.
Es una unidad de programación. Es una unidad de procesamiento. Es una multitarea. Es una aplicación para controlar. Es una multitarea elemental.
<. J3u;nto &Ftodo ,unda&entale e de(en conocer i e quiere tener un control a(oluto de lo 5ilo en .NETM a. 6no. (. "os. c. . JuF e un ervicio !e( #$LM a. (. c. d. e.
Lógica programable accesible por protocolos eb estándares. #nter7ace programable. El alcance de la serializacion. =rogramación controlada por la eb. #nter7ace para las ebs.
8. JPara quF irve un arc5ivo de con,i%uraci'nM a. Aolo para programar. (. =ara realizar 7ormularios ' tablas. c. para muchas cosas 5ue realmente le dan una 7uncionalidad mu' poderosa a un programa. d. =ara realizar aplicaciones en un determinado programa. e. =ara con7iguración de un sistema. ?. JuF e 3ocoonM a. Es un entorno en Iava. (. Es un entorno IA=. c. Es un entorno en <$$. d. Es un entorno en =H=. e. Es un entorno en 9I9%.
de publicación ' trans7ormación de documentos %&L basado de publicación ' trans7ormación de documentos %&L basado de publicación ' trans7ormación de documentos %&L basado de publicación ' trans7ormación de documentos %&L basado de publicación ' trans7ormación de documentos %&L basado
UNIVERSIDAD PRIVADA TELESUP
@. Son 5e(ra en ava7 que e e)ecutan en el &i&o conte-to que el ervidor. a.
440. 444. 442. 44/. e. 443.
UNIVERSIDAD PRIVADA TELESUP
0esumen
* $ID"D DE "P0 E $DI4"5E III:
La programación con hilos, tambi>n conocida como multiproceso, tiene la ventaja de poder trabajar de manera as8ncrona. Esto permite 5ue a5uellos procesos 5ue pueden re5uerir un tiempo más o menos largo en llevarse a cabo se pongan a trabajar paralelamente al proceso principal, de manera 5ue la aplicación pueda retomar el control ' as8 el usuario seguir trabajando con ella. La multitarea puede ser de dos tipos, uno de los cuales está bastante obsoleto ' además 5ueda 7uera de .NET de manera 5ue no podremos usar los hilos de la má5uina virtual en sistemas operativos 5ue usen este clase primitiva de multitarea conocida como pre7erente. El 5ue vamos a usar nosotros es el tipo cooperativo. La di7erencia 7undamental radica en 5ue en el caso de la multitarea pre7erente el programador tiene 5ue encargarse de liberar los hilos, etc, mientras 5ue en la multitarea pre7erente el procesador asigna 7racciones de tiempo de procesado a cada hilo ' salta de hilo en hilo cada tiempo. 6n archivo de con7iguración se puede realizar para muchas cosas 5ue realmente le dan una 7uncionalidad mu' poderosa a un programa, por ejemplo guardar el tipo de 7uente establecido, el tipo de color establecido, un campo de te(to en espec87ico.Los archivos de con7iguración comunes en el entorno de &icroso7t :77ice, es opciones, 5ue es donde se elige el tipo de letra predeterminada, tipo de página, tipo de bordes entre otros. Los servlets son hebras en Iava, 5ue se ejecutan en el mismo conte(to 5ue el servidorS por lo tanto, es más rápido de ejecutar 5ue otros m>todos tales como los s de ver dicha pel8cula decidió hacer un entorno de publicación basado en %&L, cuando casi nadie ten8a todav8a claro 5u> era eso del %&L. =or eso ha tenido tanto >(ito, ' ho' en d8a es uno de los más completos.La versión actual, en 7ebrero de +**, es la .0.+, con ligeras modi7icaciones con respecto a la .0 ' algunos bug7i(es respecto a la .0.. Ra ha' al7as de la siguiente versión, la +.*, 5ue permitirá trans7ormaciones más completas a partir de los 6;L, e incorporará los Jltimos estándares. La in7ormación 5ue manejan las empresas es uno de sus principales activos. =ero lo normal es 5ue esa in7ormación est> 7ragmentada, en di7erentes departamentos, ordenadores conectados o no, etc. El reto ahora está en interrelacionar toda esa in7ormación para rendir todo su potencial ' ponerlo a trabajar para aumentar los bene7icios o reducir los costes. =ara realizar esto se necesita un estándar de almacenamiento estructurado 5ue es lo 5ue nos o7rece %&L. 6na gran cantidad de gente ha o8do hablar Jltimamente de %&L ' mucha gente 5ue es una especie de HT&L pero más avanzado. =ero todo el mundo lo 5ue deber8a preguntarse es 5u> es e(actamente %&L ' 5u> aplicaciones tiene actualmente. "e estas dos cuestiones el ma'or error 5ue se suele cometer es considerar a %&L un HT&L e(tendido.
1>8
UNIVERSIDAD PRIVADA TELESUP
1>?
UNIVERSIDAD PRIVADA TELESUP
Intr oducción
a) Pree!taci"! y c#!te$tuali%aci"! En la presente unidad veremos cómo se resaltará el proceso de instalaciones de aplicacionesS aprendiendo a utilizar la realización de in7ormes. Teniendo presente los conceptos seKalados 'a anteriormente se espera 5ue el estudiante este satis7echo de obtener estos conocimientos le den una ventaja superior en al momento de ejercer su pro7esión, haciendo 5ue este curso mejore los conocimientos orientados a la carrera del estudiante c onvirti>ndolo en un pro7esional de calidad.
&) C#'(e te!cia 3o&*rende7 cuale on lo adecuado *rocedi&iento *ara reali+ar un ervicio /e( #$L.
c) Ca( acidad e 1. . ;econoce las aplicaciones de clientes inteligentes. 8. "i7erencia los ensamblados de las re7lectiones.
d) Actitude
&uestra disposición para las realizaciones de in7ormes.
;espeto a las normas de convivencia.
Tiene sentido de organización en la instalación de aplicaciones.
=erseverancia en las tareas de =sicolog8a colectiva.
e) Pree!taci"! de Idea &ica y c#!te!id# ee!ciale de la
*!idad +
La Unidad de A*rendi+a)e =8: Servicio !e( #$L, comprende el desarrollo de los siguientes temas? TE$A =1: Reali+aci'n de In,or&e. TE$A =<: Proceo de Intalaci'n de A*licacione. TE$A =>: A*licacione de 3liente Inteli%ente. TE$A =8: Ena&(lado y Re,lection.
1>@
UNIVERSIDAD PRIVADA TELESUP
eali
TEMA 1
Informes Competencia: C#!#cer la reali%aci"! de i!,#r'e de l# er4ici# >e& XML.
1>
Desarrollo de los Temas
UNIVERSIDAD PRIVADA TELESUP
Tema 01: eali
RE0*ISITOS DE *N WEB SER VICE •
I!t er#(e ra&
ilidad+ 6n servicio remoto debe
permitir su utilización por clientes de otras plata7ormas. •
A'ia&ilidad c#!
I!te r!et +
La solución
debe poder 7uncionar para soportar clientes 5ue accedan a los servicios remotos desde internet.
•
I !ter,ace 6uerte'e!te
Ti(a da+ No deber8a haber ambigedad acerca del
tipo de dato enviado ' recibido desde un servicio remoto. &ás aJn, los tipos de datos de7inidos en
el servicio remoto
deben
poderse
corresponder
razonablemente bien con los tipos de datos de la ma'or8a de los lenguaje de programación procedimentales. •
P#i&ilidad de A(r#4ec
E$ite!te+ La
implementación del servicio remoto deber8a aprovechar estándares de #nternet e(istentes tanto como sea posible ' evitar reinventar soluciones a problema 5ue 'a se han resuelto. 6na solución construida sobre un estándar de #nternet ampliamente adoptado puede aprovechar conjuntos de herramientas ' productos e(istentes creados para dicha tecnolog8a.
•
S#( #rte
Para Cualquier
Le!ua3e+ La solución no deber8a ligarse a un
lenguaje de programación particular Iava ;, por ejemplo, está ligada completamente a lenguaje Iava. Aer8a mu' di78cil invocar 7uncionalidad de un objeto Iava remoto desde isual Oasic o =E;L. 6n cliente deber8a ser capaz de implementar
un
nuevo
servicio
Web
e(istente
independientemente del lenguaje de programación en el 5ue
13;
UNIVERSIDAD PRIVADA TELESUP
•
S#( #rte Para
Cualquier I!, raetructura de C#'(#!e!te
Ditri&uida+
La solución no debe estar 7uertemente ligada a una in7raestructura de componentes en particular. "e hecho, no se beber8a re5uerir el comprar, instalar o mantener una in7raestructura de objetos distribuidos, solo construir un nuevo servicio remoto utilizar un servicio e(istente. Los protocolos sub'acentes deber8an proporcionar un nivel base de comunicación entre in7raestructura de objeto distribuidos e(istentes tales como "<:& ' <:;O9.
Bl#que C#!tructi4# de Ser4ici# We &
Ae muestran los blo5ues constructivos principales necesarios para 7acilitar las comunicaciones remotas entre a7licciones.
Decu&ri'ie!t# 6""#,"#A<: Decri(ci"!
WA"L, Es5uema %&L, "ocs
6#r'at# de
Me!a 3e
A:9=
C#di,icaci"! %&L
Tra!(#rte HTT=,A&T= ' otros
•
Decu&ri'ie!t #+ La aplicación cliente 5ue necesita acceder a la 7uncionalidad 5ue e(pone un Aervicio Web necesita una 7orma de resolver la ubicación de servicio remoto. Ae logra mediante un proceso llamado, normalmente descubrimiento Cdiscover'D. El descubrimiento se puede proporcionar mediante un directorio centralizado as8 como por otros m>todos ad hoc. En "<:&, el servicio de descubrimiento lo proporciona el 9dministrador de control de servicios CA<&, Aervices
•
Decri(ci"!+ 6na vez 5ue se ha resuelto el e(tremo de un servicio Web dado,
el cliente necesita su7iciente in7ormación para interactuar adecuadamente con el mismo.
La
descripción
de
un
servicio
Web
implica
meta
datos
estructurados sobre la inter7az 5ue intenta utilizar la aplicación cliente as8 como documentación escrita sobr> el servicio Web inclu'endo ejemplo de uso. 6n componente "<:& e(pone meta datos estructurados sobre sus inter7aces mediante una biblioteca de tipo Ct'pelibD. Los meta datos dentro de una t'pelib de componente se guardan en un 7ormato binario propietario a los 5ue se accede mediante una inter7az de programación de aplicación C9=#D propietaria.
•
6#r'at# del
Me!a 3e+ =ara el intercambio de datos, el cliente ' el servidor
tienen 5ue estar de acuerdo en un mecanismo comJn de codi7icación ' 7ormato de mensaje. El uso de un mecanismo estándar de codi7icar los datos asegura 5ue los datos 5ue codi7ica el cliente los interpretará correctamente el servidor. En "<:& los mensajes 5ue se env8an entre un cliente ' un servidor tienen un 7ormato de7inido por el protocolo "<:& :bject ;=< C:;=
•
C#di,icaci"!+ Los datos 5ue se trasmiten entre el cliente ' el servidor necesitan
codi7icarse en un cuerpo de mensaje. "com utiliza un es5uema de codi7icación binaria para serializar los datos de los parámetros 5ue se intercambian entre el cliente ' el servidor. •
Tra!(#rte + 6na vez se ha dado 7ormato al mensaje ' se han serializado los datos en el cuerpo del mensaje se debe trans7erir entre el cliente ' el serv idor utilizando algJn protocolo de transporte. "<:& dispone de varios protocolos propietarios como T<=, A=%, NetOE6# ' NetO#:A sobre #=%.
UNIVERSIDAD PRIVADA TELESUP
Proceso
de
TEMA 2
Instalación de
"plicaciones Competencia: C#'(re!der el (r#cedi'ie!t# e '(lead# (ara la i!talaci"! de a(licaci#!e de er4ici# >e& XML.
181
UNIVERSIDAD PRIVADA TELESUP
Tema 02: Proceso de Instalación de " plicaciones
CREAR *N SERVICIO WEB 1. A%re%ar un nuevo ele&ento ti*o 6Servicio !e( al *royecto !e(. No&(rar al *royecto: 3alculadora.a&-
1-2
CREAR *N SERVICIO WEB <. Ecri(ir el c'di%o que de,ine la ,uncionalidad del ervicio.
CREAR *N SERVICIO WEB >. 6E)ecutar arc5ivo 6.a&- en el e-*lorador.
@ @
9l hacer clic en el v8nculo )Aumar se puede ejecutar ' probar el Aervicio Web. Nota: o(ervar la o*cione *ara ver la decri*ci'n de ervicio 2Service Decri*tion4 y *ro(ar la ,unci'n del Servicio !e( 2Su&ar4.
@
@
9l hacer un clic en la opción )Aervice "escription se muestra el archivo %&L 5ue escribe el servicio Cprotocolos, pará metros, etc.D
UNIVERSIDAD PRIVADA TELESUP
"plicaciones de
TEMA 3
Cliente Inteligente Competencia: Rec#!#cer la i!telie!te.
a(licaci#!e
de
clie!t e
18?
UNIVERSIDAD PRIVADA TELESUP
Tema 03: "plicaciones de Cliente Inteligente
Nota: En primer lugar, perm8tanme comparar las caracter8sticas de un cliente ligero 7rente a un cliente pesado o ricos. El cliente ligero es generalmente administrado centralmente por la aplicación ' los datos se ejecutan en el servidor. n signi7ica 5ue se puede llegar a un gran nJmero de usuarios sin mucho es7uerzo.
1-.
=or otro lado la e(periencia del usuario no es tan grande debido a las limitaciones de un navegador. #nter7aces de usuario ricas son posibles, pero complejas de desarrollar. El ma'or inconveniente de este modelo es su dependencia de la red. En caso de 5ue perdió su cone(ión de red no se puede utilizar la aplicación más.
En contraste con los 5ue tenemos los clientes pesados, o ricos. =or lo general son aplicaciones nativas 5ue da al usuario una inter7az mu' rica ' sensible , 'a 5ue no tiene ningJn retraso de la red. El inconveniente de este en7o5ue es 5ue la huella de estos clientes pesados se suele dejar de 7umar grande ' una de las razones por las 5ue es di78cil de implementar. El otro es 5ue ha' una gran cantidad de dependencias de la plata7orma.
la
introducción
de
los
clientes
de
servidores
administrados, tambi>n llamada de cliente inteligente el en7o5ue consist8a en combinar los bene7icios de la e(periencia de cliente enri5uecido Crespuesta de usuario rica, la productividad del desarrolladorD ' Thin
gestión
PR INCIPALES
del
cambio
ATRIB*TOS
7ácil,
DE
amplio
LAS
APLICACIONES
INTELI ENTE+
6sa el poder de procesamiento local.
Aoporta escenarios en ' 7uera de l8nea.
9daptable al dispositivo hu>sped. "esarrollo centralizado ' modelo de actualización.
DE
CLIENTE
UNIVERSIDAD PRIVADA TELESUP
Ensam6lados 2
TEMA 4
eflection Competencia: Di,ere!ciar re, lecti#!e.
l#
e!a'&lad#
la
de
18
UNIVERSIDAD PRIVADA TELESUP
Tema 0-: Ensam6lados ef lection 6no de los pilares del GrameorB NET ' una de las ma'ores ventajas del
9un5ue siempre pensamos 5ue es un 7ichero, un ensamblado es realmente un contenedor lógico de las distintas partes de datos 5ue el
El &etadata o mani7est inclu'e in7ormación 5ue de7ine el ensamblado, como el nombre, versión, strongname e in7ormación de la cultura. Los metadatos de tipos es toda la in7ormación 5ue describe, inclu'endo el espacio de nombres, los nombres de El código es el código de lenguaje intermedio C#LD 5ue se compila a código má5uina cuando el ensamblado se ejecuta. Los recursos son objetos Ccadenas, imágenes o 7icherosD 5ue se utilizan desde el código.
La ma'or8a de veces, todas estas partes de un ensamblado se compilan en un Jnico 7ichero, aun5ue esto no debe ser siempre necesariamente as8. Los metadatos de ensamblado s8 5ue necesitan estar en el ensamblado principal, pero los metadatos de
18Q
Los módulos son contenedores de tipos en un ensamblado. En general, utilizaremos mJltiples módulos por ensamblado sólo en casos mu' especiales. isual Atudio no soporta
mJltiples
módulos
por
ensamblado, as8 5ue si 5ueremos crear ensamblados multi-módulo necesitaremos hacerlo mediante la l8nea de comandos o mediante otras herramientas, como por ejemplo &AOuild.
=ara e(aminar un ensamblado tenemos 5ue instanciar un objeto de la clase 9ssembl' mediante alguno de los nueve siguientes m>todos estáticos? !et9ssembl', !et
!etE(ecuting9ssembl',
;e7lection:nl'Load,
string 7ullName U XA'stem."raing, ersionU+.*.*.*,
6na
vez tenemos una instancia de clase 9ssembl', podemos interrogar las propiedades del ensamblado mediante los siguientes m>todos ' propiedades. =ropiedades?Entr'=oint, GullName, !lobal9ssembl'
&>todos?
!et&odule,!et&odules,
!etName,
!etAatellite9ssembl',
!etT'pes, #s"e7ined.
1?=
El siguiente código muestra el nombre todos los módulos del ensamblado 5ue está en ejecución.
Ae&(ly a Ae&(ly.0etE-ecutin%Ae&(ly24 3onole.!riteLine2ZNo&(re co&*leto: =WZ7 a.ullNa&e4 3onole.!riteLine2ZU(icaci'n: =WZ7 a.Location4 3onole.!riteLine2ZJS'lo re,le-i'nM: =WZ7 a.Re,lectionOnly4 $odule[\ &od a.0et$odule24 ,oreac5 2$odule & in &od4 3onole.!riteLine2Z$odule Na&e: =WZ7 &.Na&e4
ENSAMBLADO *SAN DO R E6LECTION En este código veremos cómo saber las clases 5ue contiene un ensamblado, esto puede ser Jtil para cargar dinámicamente Cen tiempo de ejecuciónD alguna de las clases 5ue contiene, es decir, crear nuevos objetos de alguna de esas clases, como por ejemplo un 7ormulario, 'a 5ue al 7in ' al cabo, un 7ormulario no es ni más ni menos 5ue una clase.
mucho
sentido,
salvo
algunas
ocasiones, saber cuáles son los 7ormularios 5ue la aplicación contiene... pero en .NET si 5ue puede tener más inter>s 'a 5ue podemos crear nuestros propios ensamblados de 7orma dinámica, es decir, Xal vueloX, todo ello mediante código.
1)1
/ecturas ecomendadas
UNIVERSIDAD PRIVADA TELESUP
APLICACIONES DE CLIENTE INTELIE NTE 5tt*:e./ii*edia.or%/iiS&artclient
WEB SERVICE 5tt*:&dn.&icroo,t.co&eeli(rary((Q<<8 .a*-
IN6ORMES DE LOS SERVICIOS WEB
XML
5tt*:&dn.&icroo,t.co&eeli(rary&1?< .a*-
"cti1idades 2 E3ercicios
1. En un documento en Word realice un in7orme acad>mico sobre las clases ' estructuras más importantes de namespace s'stem.draing. Env8alo a trav>s de "Dras de H-mageI.
UNIVERSIDAD PRIVADA TELESUP
"utoe1aluación
1. Para el interca&(io de dato7 el cliente y el ervidor tienen que etar de acuerdo en un &ecani&o co&Hn deXX.. a. . XXXXXX i&*lica &eta dato etructurado o(re la inter,a+ que intenta utili+ar la a*licaci'n cliente aC co&o docu&entaci'n ecrita o(re el ervicio. a. La descripción de un servicio de internet. (. La descripción de un servicio %&L. c. La descripción de un servicio HT&L. d. La descripción de un servicio instantáneo. e. La descripción de un servicio Web. 8. El *ao *ara crear un Servicio !e( e: a. Escribir el código 5ue de7ine la 7uncionalidad del servicio. (. Escribir el código 5ue de7ine la 7uncionalidad del mensaje. c. Escribir el código 5ue acelera la 7uncionalidad del servicio. d. Escribir el código 5ue recti7ica la 7uncionalidad del servicio. e. Escribir el código 5ue mejora la 7uncionalidad del servicio. ?. Al 5acer un clic en la o*ci'n 6Service Decri*tion e &uetra el arc5ivo XXXXXque ecri(e el ervicio 2*rotocolo7 *ar;&etro7 etc.4. a. %&L. (. HT&L. c. <"L. d. AL&. e.
UNIVERSIDAD PRIVADA TELESUP
@. XXX.. e %eneral&ente ad&initrado central&ente *or la a*licaci'n y lo dato e e)ecutan en el ervidor. a. El cliente intermedio. (. El cliente pesado. c. El cliente ligero. d. El cliente especial. e. El cliente proporcional. . No e uno de lo *rinci*ale atri(uto de la a*licacione de cliente inteli%ente: a. (. c. d. e.
6sa el poder de procesamiento local sped. 6tiliza Jnicamente los servicios HT&L.
. ] una de la &ayore venta)a delXX. e la %ran cantidad de in,or&aci'n que tene&o di*oni(le en tie&*o de e)ecuci'n. a. (. c. d. e.
Q. El &etadata o &ani,etXXXXXX..7 co&o el no&(re7 veri'n7 tron%na&e e in,or&aci'n de la cultura. a. (. c. d. e.
#nclu'e in7ormación 5ue de7ine la in7ormación. #nclu'e in7ormación 5ue de7ine el internet. #nclu'e in7ormación 5ue de7ine el ensamblado. #nclu'e in7ormación 5ue de7ine el uso de la eb. #nclu'e in7ormación 5ue de7ine el mensaje.
1=. Lo &'dulo onXXXXX. en un ena&(lado. a.
UNIVERSIDAD PRIVADA TELESUP
0esumen
* $ID"D DE "P0 E $DI4"5E IA:
;e5uisitos del eb service? #nteroperabilidad? 6n servicio remoto debe permitir su utilización por clientes de otras plata7ormas. 9migabilidad con #nternet? La solución debe poder 7uncionar para soportar clientes 5ue accedan a los servicios remotos desde internet. ] n signi7ica 5ue se puede llegar a un gran nJmero de usuarios sin mucho es7uerzo. En contraste con los 5ue tenemos los clientes pesados, o ricos. =or lo general son aplicaciones nativas 5ue da al usuario una inter7az mu' rica ' sensible, 'a 5ue no tiene ningJn retraso de la red. El inconveniente de este en7o5ue es 5ue la huella de estos clientes pesados se suele dejar de 7umar grande ' una de las razones por las 5ue es di78cil de implementar. El otro es 5ue ha' una gran cantidad de dependencias de la plata7orma. Los pilares del GrameorB NET ' una de las ma'ores ventajas del todos, propiedades ' constructoresD. Los metadatos de ensamblado s8 5ue necesitan estar en el ensamblado principal, pero los metadatos de tipos, código ' recursos se pueden re7erenciar desde otros 7icheros. Los módulos son contenedores de tipos en un 1))
0esumen ensamblado. En general, utilizaremos mJltiples módulos por ensamblado sólo en casos mu' especiales. isual Atudio no soporta mJltiples módulos por ensamblado.
1).
UNIVERSIDAD PRIVADA TELESUP
+lo sario
AOL+ Aiglas en ingl>s de 9merica :n-line, es uno de los proveedores de #nternet más antiguos de Estados 6nidos.
APACE+ 9pache es programa de servidor HTT= Web de código abierto Copen sourceD. Au desarrollo empezó en 44/ ' actualmente es uno de los servidores eb más utilizados en la red.
API+ "el ingl>s 9pplication =rogramming #nter7ace. #nter7az de =rogramación de 9plicaciones. 6na serie de rutinas usadas por una aplicación para gestionar generalmente servicios de bajo nivel, realizados por el sistem a operativo de la computadora.
APLICACI8N+
APPLET+ =e5ueKa aplicación escrita en Iava la cual se di7unde a trav>s de la red en orden de ejecutarse en el navegador cliente.
BACBONE+ la parte de la red 5ue transporta el trá7ico más denso? conecta L9Ns, 'a sea dentro de un edi7icio o a trav>s de una ciudad o región.
BAC*P+ n disponibles en caso de 5ue un 7allo produzca la perdida de los originales. Esta sencilla acción evita numerosos, ' a veces irremediables, problemas si se realiza de 7orma habitual ' periódica.
BAC*P REMOTO+ es hacer respaldo de la data de una computadora, servidor, etc. en otra ubicación 78sica, ' por medio de )la nube C#nternetD, la data se pueda accesar desde cual5uier parte del mundo. 6n ejemplo de bacBup remoto es AolubacBup.
CONTRASEQA+ <ódigo utilizado para accesar un sistema restringido. =ueden contener caracteres al7anum>ricos e incluso algunos otros s8mbolos. Ae destaca 5ue la contraseKa no es visible en la pantalla al momento de ser tecleada con el propósito de 5ue sólo pueda ser conocida por el usuario.
COOIE+ 6n cooBie es un pe5ueKo pedazo de data enviado desde un servidor eb al navegador del cliente Ci.e. #nternet E(plorer, Gire7o(,
UNIVERSIDAD PRIVADA TELESUP
&uentes de Inform ación BIBLIOR6ICAS+
OS^ LUIS EVIA ] _N0EL RA]O7 Cado.netD, 9cceso a "atos
ELECTR8 NICAS+
#ntroducción a la sinta(is =H= 5tt*:///.dearrollo/e(.co&articulo>=.*5*
Entorno de desarrollo integrado 5tt*:e./ii*edia.or%/iiEntorno de dearrollo inte%rado
Aervicios Web %&L 5tt*:e.cri(d.co&doc8>?8 >1 Servicio !e(#$L
9do.NET 5tt*:///.el%uille.in,onetadonet
#ntroducción a %&L 5 tt *: // /. de a rr oll o/ e( .c o& & anu ale 1
1?
olucionar io
1. A <. E >. " 8. 3 ?. " @. A . D . E Q. A 1=. 3
1. 3 <. A >. " 8. A ?. D @. E . " . A Q. 3 1=. D
1?