1. ESPECIALIDAD:ESPECIALIDAD:
Ingeniería en Sistemas ComputacionalesIngeniería en Sistemas Computacionales..
MATERIAMATERIA::
Programacion WebProgramacion Web..
PROFESORPROFESOR::
FFrraanncciissccoo VVaazzqquueezz GGuuzzmmaann..
.:.: SSEGURIDAD :.EGURIDAD :.
AALUMNALUMNA::
LOPEZ MARTINEZ JENNIFERLOPEZ MARTINEZ JENNIFER
NUM CONTROLNUM CONTROL::
0936059009360590
2. SERVICIOS WEB
Un servicio webUn servicio web (en inglés, Web services) es una tecnología que utiliza un(en inglés, Web services) es una tecnología que utiliza un
conjunto de protocolos y estándares que sirven para intercambiar datos entreconjunto de protocolos y estándares que sirven para intercambiar datos entre
aplicaciones.aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes deDistintas aplicaciones de software desarrolladas en lenguajes de
programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizarprogramación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar
los servicios web para intercambiar datos en redes de ordenadores como Internet.los servicios web para intercambiar datos en redes de ordenadores como Internet.
La interoperabilidad se consLa interoperabilidad se consigue mediante la adopción de estándares abiertos.igue mediante la adopción de estándares abiertos.
Las organizaciones OASIS y W3C son los comités responsables de laLas organizaciones OASIS y W3C son los comités responsables de la
arquitectura y reglamentación de los servicios Web. Para mejorar laarquitectura y reglamentación de los servicios Web. Para mejorar la
interoperabilidad entre distintas implementaciones de servicios Web se hinteroperabilidad entre distintas implementaciones de servicios Web se ha creadoa creado
el organismo WSel organismo WS--I, encargado de desarrollar diversos perfiles para definir deI, encargado de desarrollar diversos perfiles para definir de
manera más exhaustiva estos estándares. Es una máquina que atiende lasmanera más exhaustiva estos estándares. Es una máquina que atiende las
peticiones de los clientes web y les envía los recursos solicitados.peticiones de los clientes web y les envía los recursos solicitados.
Un Servicio Web es un componUn Servicio Web es un componente software con las siguientes características:ente software con las siguientes características:
11)) Es accesible a través del interface SOAP (Simple Object Access Protocol).Es accesible a través del interface SOAP (Simple Object Access Protocol).
22))
33)) Su interface se describe en un documento WSDL (Web Service DescriptionSu interface se describe en un documento WSDL (Web Service Description
Language).Language).
Java:
JavaJava Web StartWeb Start es la implementación de referencia de la especificación Javaes la implementación de referencia de la especificación Java
Networking Launching Protocol (JNLP) y está desarrollada por Sun Microsystems,Networking Launching Protocol (JNLP) y está desarrollada por Sun Microsystems,
mediante la cual permite arrancar aplicaciones Java que están en un servidor webmediante la cual permite arrancar aplicaciones Java que están en un servidor web
de aplicaciones comprobande aplicaciones comprobando previamente si el cliente tiene la versióndo previamente si el cliente tiene la versión
actualizada de dicha aplicación. Si no es así descargará la última versión y seactualizada de dicha aplicación. Si no es así descargará la última versión y se
ejecutará en local. El arranque de dichas aplicaciones puede ser efectuadoejecutará en local. El arranque de dichas aplicaciones puede ser efectuado
mediante enlaces en una página web o bien a través de emediante enlaces en una página web o bien a través de enlaces en el escritorionlaces en el escritorio
cliente. Mediante está tecnología se asegura que una aplicación es distribuidacliente. Mediante está tecnología se asegura que una aplicación es distribuida
siempre en su última versión.siempre en su última versión.
Un ejemplo de esta tecnología es la de un servidor web donde se encuentra unaUn ejemplo de esta tecnología es la de un servidor web donde se encuentra una
página web con enlaces a aplicaciones Java.página web con enlaces a aplicaciones Java. Cada uno de estos enlacesCada uno de estos enlaces
apuntará a ficheros .jnlp que indicarán la ruta de la aplicación en este u otroapuntará a ficheros .jnlp que indicarán la ruta de la aplicación en este u otro
servidor. En ese momento arrancará automáticamente Java Web Start yservidor. En ese momento arrancará automáticamente Java Web Start y
comprobará la seguridad y si el usuario tiene la última versión instalada en sucomprobará la seguridad y si el usuario tiene la última versión instalada en su
eqequipo; si no es así, la descargará y ejecutará.uipo; si no es así, la descargará y ejecutará.
3. Actualmente Java Web Start viene incluido en el Java Runtime Environment (JRE)Actualmente Java Web Start viene incluido en el Java Runtime Environment (JRE)
Java Web Services Development PackJava Web Services Development Pack el paquete de desarrollo de servicios webel paquete de desarrollo de servicios web
de java (JWSDP) es un kit libre de desarrollo de sode java (JWSDP) es un kit libre de desarrollo de software (SDK) para desarrollarftware (SDK) para desarrollar
servicios web, aplicaciones web y aplicaciones Java con las nuevas tecnologíasservicios web, aplicaciones web y aplicaciones Java con las nuevas tecnologías
de Java.de Java.
JWSDP ha sido sustituido por GlassFish. Todos los componentes de JWSDPJWSDP ha sido sustituido por GlassFish. Todos los componentes de JWSDP
forman parte de Glassfish y WSIT, varios están en Java SE 6 ("Mustforman parte de Glassfish y WSIT, varios están en Java SE 6 ("Mustang"). Elang"). El
código fuente está disponible bajo la licencia CDDL, la cual está aprobada por lacódigo fuente está disponible bajo la licencia CDDL, la cual está aprobada por la
Open Source Initiative.Open Source Initiative.
Los componentes y APIs disponibles en el JWSDP 1.6 son:Los componentes y APIs disponibles en el JWSDP 1.6 son:
Java API for XML Processing (JAXP), v 1.3Java API for XML Processing (JAXP), v 1.3
Java Architecture for XML Binding (JAXB)Java Architecture for XML Binding (JAXB), v 1.0 and 2.0, v 1.0 and 2.0
JAXJAX--RPC v 1.1RPC v 1.1
JAXJAX--WS v 2.0WS v 2.0
SAAJ (SOAP with Attachments API for Java)SAAJ (SOAP with Attachments API for Java)
Java API for XML Registries (JAXR)Java API for XML Registries (JAXR)
Web Services RegistryWeb Services Registry
La primera especificación de servicios web (JAXLa primera especificación de servicios web (JAX--RPC 1.0), desarrollada dentro deRPC 1.0), desarrollada dentro de
la Java Community Process, fue JSRla Java Community Process, fue JSR--101 liberada en junio de 2002 e incluida en101 liberada en junio de 2002 e incluida en
J2EE 1.4. Una versión actualizada (JAXJ2EE 1.4. Una versión actualizada (JAX--RCP 1.1) se publicó en octubre de 2003RCP 1.1) se publicó en octubre de 2003
para proveer mejor integración con JAXB 1.0 y un mejor soporte para el modopara proveer mejor integración con JAXB 1.0 y un mejor soporte para el modo
doc/literal.doc/literal.
La evolLa evolución de JAXución de JAX--RPC en vez de ser JAXRPC en vez de ser JAX--RPC 2.0 pasó a denominarse JAXRPC 2.0 pasó a denominarse JAX--
WS 2.0 y se incluyó en Java EE 5 conviviendo con la versión JAXWS 2.0 y se incluyó en Java EE 5 conviviendo con la versión JAX--RPC 1.1. En elRPC 1.1. En el
post "JAXpost "JAX--RPC 2.0 renamed to JAXRPC 2.0 renamed to JAX--WS 2.0" de Doug Kohlert se comentan lasWS 2.0" de Doug Kohlert se comentan las
principales razones que motivaron el cprincipales razones que motivaron el cambio de nombre en la especificación.ambio de nombre en la especificación.
4. Perl :
SOAP::LiteSOAP::Lite es un conjunto de módulos de Perl que proveen una interfaz simple yes un conjunto de módulos de Perl que proveen una interfaz simple y
liviana para el protocolo SOAP, tanto en el lado cliente como en el del servidor.liviana para el protocolo SOAP, tanto en el lado cliente como en el del servidor.
SOAP::Lite es actualmente el kit de desarrolloSOAP::Lite es actualmente el kit de desarrollo de web services para Perl másde web services para Perl más
difundido y utilizado.difundido y utilizado.
SOAP::Lite provee clases para implementar funcionalidades de un cliente SOAP,SOAP::Lite provee clases para implementar funcionalidades de un cliente SOAP,
varios servidores, soporte a datos y muchas otras tareas. La siguiente es una listavarios servidores, soporte a datos y muchas otras tareas. La siguiente es una lista
de sus características:de sus características:
Soporta las esSoporta las especificaciones SOAP 1.1 y SOAP 1.2.pecificaciones SOAP 1.1 y SOAP 1.2.
Incluye XMLRPC::Lite, una implementación del protocolo XMLIncluye XMLRPC::Lite, una implementación del protocolo XML--RPC en elRPC en el
lado del cliente y del servidor. Entre los protocolos de trasporte disponibles,lado del cliente y del servidor. Entre los protocolos de trasporte disponibles,
están HTTP, SMTP, POP3 y TCP.están HTTP, SMTP, POP3 y TCP.
Soporta publicación y peticiones UDDI dSoporta publicación y peticiones UDDI del lado del cliente, a través de unel lado del cliente, a través de un
APIAPI
InteroperabilidadInteroperabilidad Se han realizado pruebas de interoperabilidad con diferentesSe han realizado pruebas de interoperabilidad con diferentes
implementaciones: Apache SOAP, Frontier, Microsoft SOAP, Microsoft .NET,implementaciones: Apache SOAP, Frontier, Microsoft SOAP, Microsoft .NET,
DevelopMentor, XMethods, 4s4c, Phalanx, Kafka,DevelopMentor, XMethods, 4s4c, Phalanx, Kafka, SQLData, Lucin (en Java, Perl,SQLData, Lucin (en Java, Perl,
C++, Python, VB, COM, XSLT).C++, Python, VB, COM, XSLT).
Protocolos de TransporteProtocolos de Transporte
Provee implementaciones de servidores TCP con multiservidor “noProvee implementaciones de servidores TCP con multiservidor “no--
bloqueante”bloqueante”
Soporta transporte sobre Jabber, MQSeries y SMTP.Soporta transporte sobre Jabber, MQSeries y SMTP.
Provee compresión transparente para HTTProvee compresión transparente para HTTP.P.
Soporta el protocolo HTTPS.Soporta el protocolo HTTPS.
Provee soporte para proxy.Provee soporte para proxy.
Provee implementaciones de servidor POP3.Provee implementaciones de servidor POP3.
Soporta MSoporta M--POST y redirección HTTPOST y redirección HTT
5. Soporte para WSDLSoporte para WSDL
Soporta el esquema WSDL con “stub” y acceso enSoporta el esquema WSDL con “stub” y acceso en tiempo de ejecución. Soportatiempo de ejecución. Soporta
descripciones de servicio por directivas y cortas (tModel).descripciones de servicio por directivas y cortas (tModel).
OtrasOtras
Provee implementaciones de servidores CGI, daemon, mod_perl,Provee implementaciones de servidores CGI, daemon, mod_perl,
Apache::Registry yFastCGI.Apache::Registry yFastCGI.
Incluye los módulos de Apache mod_soap y mod_xmlrpc, los cualesIncluye los módulos de Apache mod_soap y mod_xmlrpc, los cuales
perpermiten crear servidores SOAP o XMLmiten crear servidores SOAP o XML--RPC con algunas líneas en losRPC con algunas líneas en los
archivos .htaccess o httpd.conf.archivos .htaccess o httpd.conf.
Soporta el enlace dinámico y estático de clases y métodos.Soporta el enlace dinámico y estático de clases y métodos.
Provee un intérprete de comandos para sesiones SOAP interactivas.Provee un intérprete de comandos para sesiones SOAP interactivas.
Incluye una gran cantidad de ejIncluye una gran cantidad de ejemplos.emplos.
WSDL::GeneratorWSDL::Generator eess uunn mmóódduulloo ddee PPeerrll ppaarraa ccrreeaarr aarrcchhiivvooss ddee ddeessccrriippcciióónn ddee
sseerrvviicciiooss ((WWSSDDLL)) aauuttoommááttiiccaammeennttee aa ppaarrttiirr ddee mmóódduullooss ddee ppeerrll eexxppuueessttooss ccoommoo
sseerrvviicciiooss wweebb.. ÉÉssttee mmóódduulloo,, ddeessaarrrroollllaaddoo ppoorr PPiieerrrree DDeenniiss <<ppddeenniiss@@ffoottaannggoo..ccoomm>>,, eess
ttaall vveezz eell úúnniiccoo qquuee ssee hhaa ccrreeaaddoo hhaassttaa aahhoorraa ccoonn ééssttaa ffuunncciioonnaalliiddaadd eenn eell mmuunnddoo ddee
PPeerrll.. SSOOAAPP::::LLiittee yy WWSSDDLL::::GGeenneerraattoorr eenn llaa PPrrááccttiiccaa
PHP :
XXmmll eess uunn pprroottooccoolloo aabbiieerrttoo,, pprrooppuueessttoo ppoorr BBllaaiinnee CCooookk yy CChhrriiss MMeessssiinnaa,, qquuee ppeerrmmiittee
aauuttoorriizzaacciióónn sseegguurraa ddee uunn AAPPII ddee mmooddoo eessttáánnddaarr yy ssiimmppllee ppaarraa aapplliiccaacciioonneess ddee
eessccrriittoorriioo,, mmóóvviilleess,, yy wweebb..
PPaarraa ddeessaarrrroollllaaddoorreess ddee ccoonnssuummiiddoorreess,, OOAAuutthh eess uunn mmééttooddoo ddee iinntteerraaccttuuaarr ccoonn ddaattooss
pprrootteeggiiddooss yy ppuubblliiccaarrllooss.. PPaarraa ddeessaarrrroollllaaddoorreess ddee pprroovveeeeddoorreess ddee sseerrvviicciioo,, OOAAuutthh
pprrooppoorrcciioonnaa aa llooss uussuuaarriiooss uunn aacccceessoo aa ssuuss ddaattooss aall mmiissmmoo ttiieemmppoo qquuee pprrootteeggee llaass
ccrreeddeenncciiaalleess ddee ssuu ccuueennttaa.. EEnn oottrraass ppaallaabbrraass,, OOAAuutthh ppeerrmmiittee aa uunn uussuuaarriioo ddeell ssiittiioo AA
ccoommppaarrttiirr ssuu iinnffoorrmmaacciióónn eenn eell ssiittiioo AA ((pprroovveeeeddoorr ddee sseerrvviicciioo)) ccoonn eell ssiittiioo BB ((llllaammaaddoo
ccoonnssuummiiddoorr)) ssiinn ccoommppaarrttiirr ttooddaa ssuu iiddeennttiiddaa
PPaarraa ppooddeerr hhaabbllaarr ddee OOAAuutthh,, ssee nneecceessiittaann ttrreess ppaarrtteess,, uunn sseerrvviiddoorr oo pprroovveeeeddoorr ddee
sseerrvviicciiooss,, uussuuaarriiooss yy uunn ccoonnssuummiiddoorr::