SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Let's Rock Java
Fundamentos de Java Enterprise Edition
con JDeveloper
Eudris Cabrera Rodriguez
Ingeniero Telemático
Senior Software Developer
Skype:eudriscabrera
LinkedIn:http://www.linkedin.com/in/eudriscabrera
Enero 2012, Santiago de los Caballeros, R. D.
Objetivos
Crear y consumir servicios Web : Aprender a utilizar
JDeveloper para construir y probar los servicios web, así
como la forma de acceso a los servicios web desde su
aplicación.
Agenda
● Introducción a los servicios web.
● Crear y consumir servicios Web:
○ Construír un servicio a partir de un POJO con anotaciones.
● Crear un servicio Web desde una clase Java:
○ crear un servicio Web para una clase de Java existentes y
poner a prueba con el analizador de HTTP.
● Crear una aplicación Java Web Service desde un WSDL :
○ Crear el código de Java para implementar un servicio Web
desde un WSDL.
● Crear un servicio web desde un EJB.
● Creación de un servicio Web proxy.
● Consumir un servicio Web desde una página Web :
○ cómo crear un control de datos de un servicio Web y
probarlo en servidor integrado de JDeveloper.
Introducción a los servicios web
Qué es un servicio web ?.
Wikipedia:
Un servicio web (en inglés, Web service) es una pieza de software
que utiliza un conjunto de protocolos y estándares que sirven para
intercambiar datos entre aplicaciones.
Distintas aplicaciones de software desarrolladas en lenguajes de
programación diferentes, y ejecutadas sobre cualquier plataforma,
pueden utilizar los servicios web para intercambiar datos en redes
de ordenadores como Internet.
Introducción a los servicios web
La interoperabilidad se consigue mediante la adopción de
estándares abiertos. Las organizaciones OASIS y W3C son los
comités responsables de la arquitectura y reglamentación de los
servicios Web.
Para mejorar la interoperabilidad entre distintas
implementaciones de servicios Web se ha creado el organismo
WS-I, encargado de desarrollar diversos perfiles para definir de
manera más exhaustiva estos estándares.
Introducción a los servicios web
OASIS, acrónimo de Organization for the Advancement of Structured
Information Standards, es un consorcio internacional sin fines de lucro que
orienta el desarrollo, la convergencia y la adopción de los estándares de
comercio electrónico y servicios web.
http://es.wikipedia.org/wiki/OASIS_%28organizaci%C3%B3n%29
El World Wide Web Consortium, abreviado W3C, es un consorcio
internacional que produce recomendaciones para la World Wide Web.
Está dirigida por Tim Berners-Lee, el creador original de URL (Uniform
Resource Locator, Localizador Uniforme de Recursos), HTTP (HyperText
Transfer Protocol, Protocolo de Transferencia de HiperTexto) y HTML
(Lenguaje de Marcado de HiperTexto) que son las principales tecnologías
sobre las que se basa la Web.
http://es.wikipedia.org/wiki/World_Wide_Web_Consortium
Introducción a los servicios web
Estándares empleados
Web Services Protocol Stack: Así se denomina al conjunto de
servicios y protocolos de los servicios Web.
XML (Extensible Markup Language): Es el formato estándar para
los datos que se vayan a intercambiar.
SOAP (Simple Object Access Protocol) o XML-RPC (XML
Remote Procedure Call): Protocolos sobre los que se establece el
intercambio.
Otros protocolos: los datos en XML también pueden enviarse de
una aplicación a otra mediante protocolos normales como HTTP
(Hypertext Transfer Protocol), FTP (File Transfer Protocol), o
SMTP (Simple Mail Transfer Protocol).
Introducción a los servicios web
WSDL (Web Services Description Language): Es el lenguaje de
la interfaz pública para los servicios Web. Es una descripción
basada en XML de los requisitos funcionales necesarios para
establecer una comunicación con los servicios Web.
UDDI (Universal Description, Discovery and Integration):
Protocolo para publicar la información de los servicios Web.
Permite comprobar qué servicios web están disponibles.
WS-Security (Web Service Security): Protocolo de seguridad
aceptado como estándar por OASIS (Organization for the
Advancement of Structured Information Standards). Garantiza la
autenticación de los actores y la confidencialidad de los mensajes
enviados.
Ventajas de los servicios web
● Aportan interoperabilidad entre aplicaciones de software
independientemente de sus propiedades o de las plataformas
sobre las que se instalen.
● Los servicios Web fomentan los estándares y protocolos basados
en texto, que hacen más fácil acceder a su contenido y entender
su funcionamiento.
● Permiten que servicios y software de diferentes compañías
ubicadas en diferentes lugares geográficos puedan ser
combinados fácilmente para proveer servicios integrados.
Inconvenientes de los servicios Web
● Para realizar transacciones no pueden compararse en su grado de
desarrollo con los estándares abiertos de computación
distribuida como CORBA (Common Object Request Broker
Architecture).
● Su rendimiento es bajo si se compara con otros modelos de
computación distribuida, tales como RMI (Remote Method
Invocation), CORBA o DCOM (Distributed Component Object
Model). Es uno de los inconvenientes derivados de adoptar un
formato basado en texto. Y es que entre los objetivos de XML
no se encuentra la concisión ni la eficacia de procesamiento.
● Al apoyarse en HTTP, pueden esquivar medidas de seguridad
basadas en firewall cuyas reglas tratan de bloquear o auditar la
comunicación entre programas a ambos lados de la barrera.
Razones para crear servicios Web
● La principal razón para usar servicios Web es que se pueden
utilizar con HTTP sobre TCP (Transmission Control Protocol)
en el puerto 80.
● Otra razón es que, antes de que existiera SOAP, no había buenas
interfaces para acceder a las funcionalidades de otros
ordenadores en red. Las que había eran ad hoc y poco conocidas,
tales como EDI (Electronic Data Interchange), RPC (Remote
Procedure Call), u otras APIs.
● Una tercera razón por la que los servicios Web son muy
prácticos es que pueden aportar gran independencia entre la
aplicación que usa el servicio Web y el propio servicio. De esta
forma, los cambios a lo largo del tiempo en uno no deben afectar
al otro.
Plataformas
Servidores de aplicaciones para servicios Web:
○ JBoss servidor de aplicaciones J2EE Open Source de Red
Hat inc.
○ Oracle Fusion Middleware
○ IBM Lotus Domino a partir de la versión 7.0
○ Axis y el servidor Jakarta Tomcat (de Apache)
○ ColdFusion MX de [[Macromedia]httpd ]
○ Java Web Services Development Pack (JWSDP) de Sun
Microsystems (basado en Jakarta Tomcat)
○ JOnAS (parte de ObjectWeb una iniciativa de código
abierto)
○ Microsoft .NET
○ Novell exteNd (basado en la plataforma J2EE)
Plataformas
○ WebLogic
○ WebSphere
○ JAX-WS con GlassFish
○ Zope es un servidor de aplicaciones Web orientado a objetos
desarrollado en el lenguaje de programación Python
○ VERASTREAM de AttachmateWRQ para modernizar o
integrar aplicaciones host IBM y VT
○ PHP
Crear y consumir servicios Web
Los servicios web proporcionan a los clientes acceso neutral a los
datos y otros servicios. JDeveloper le permite crear diferentes tipos
de Servicios Web de forma rápida y sencilla.
En el siguiente ejemplo vamos a crear un proyecto que contenga un
POJO y añadir una anotación a un método para que se publique
como un servicio web.
Crear y consumir servicios Web
Demo I
Crear un servicio Web desde una clase Java
Cualquier método de Java pueden ser publicados como un
servicio Web. JDeveloper proporciona asistentes que tomar
una clase de Java y sus métodos y crea un servicio web de
esa clase.
En lugar de agregar manualmente las anotaciones del
servicio web a la clase de Java, puede utilizar un asistente de
JDeveloper para manejar eso para usted.
El asistente agrega las anotaciones de servicio web y te
permite elegir los métodos que desea publicar como métodos
web. Esta es una manera fácil de tomar una clase de Java
existente y convertirlo en un servicio web.
Crear un servicio Web desde una clase Java
En este escenario, en lugar de agregar manualmente las anotaciones
para crear el servicio web, se utiliza un asistente.
El asistente crea todas las anotaciones necesarias para publicar la
clase como un servicio web.
Una vez que los pasos del asistente se completa, probar el servicio
web usando el analizador de HTTP con el servidor de integración,
tal como lo hizo antes.
Crear un servicio Web desde una clase Java
Demo II
Crear una aplicación Java Web Service desde un WSDL
Un archivo WSDL contiene información que define expuesto los
métodos de servicio web. Puede utilizar un asistente de JDeveloper
para interrogar a un archivo WSDL y crear todas las clases
necesarias para la aplicación de esa definición.
Debido a que el WSDL no es más que una definición esqueleto de
un servicio Web, no conseguiremos ninguna aplicación de los
métodos, sólo las definiciones de método. Tendremos que agregar el
código de la aplicación de los métodos.
Crear una aplicación Java Web Service desde un WSDL
Demo III
Crear un servicio web desde un EJB
Se puede utilizar cualquier clase de Java como un servicio
Web, incluso un bean de sesión EJB.
Un bean de sesión normalmente implementa algún tipo de
tarea o actividad empresarial. Por lo general, instancia o
creado por una petición específica del cliente y por lo general,
y existe sólo por la duración de una sola sesión.
Se pueden utilizar para cualquier cosa, pero son
comúnmente utilizados para los cálculos de una sola vez,
información de búsqueda, etc, especialmente cuando los
datos no va a ser persistente.
Crear un servicio web desde un EJB
Demo IV
Creación de un servicio Web proxy
Si necesita acceder a un servicio web desde un cliente Java, se
necesita un servicio web java proxy. JDeveloper proporciona un
asistente que va a crear una para usted.
El propósito de un cliente proxy es facilitar el acceso a la API de
servicios web como si se trata de un servicio local. Todas las
necesidades de servicios web es el generador de proxy de servicios
web WSDL. Aparte de eso, determina el API y genera las clases
necesarias.
Creación de un servicio Web proxy
Demo V
Consumir un servicio Web desde una página Web
Los servicios Web permiten a las empresas exponer la funcionalidad
de negocio, independientemente de la plataforma o el lenguaje de la
aplicación de origen.
La funcionalidad de negocio se expone de tal manera que se extrae
de un mensaje redactado de la norma XML que puede ser
reconocida y utilizada por otras aplicaciones. Oracle ADF
proporciona una capa de acceso que se pueden utilizar para acceder
a muchos tipos de servicios a las empresas o los datos, incluyendo
Servicios Web.
Finalmente vamos a crear un control de datos de un servicio Web y
probarlo en servidor integrado de JDeveloper.
Consumir un servicio Web desde una página Web
Demo VI
PREGUNTAS ?
WE ROCK JAVA !!!

Mais conteúdo relacionado

Mais procurados

Implementación de Servicios Web Semánticos para Arquitecturas SOA
Implementación de Servicios Web Semánticos para Arquitecturas SOAImplementación de Servicios Web Semánticos para Arquitecturas SOA
Implementación de Servicios Web Semánticos para Arquitecturas SOA
Lucio Marcelo Quispe Ortega
 
Liferay Portal
Liferay PortalLiferay Portal
Liferay Portal
iSOCO
 
Actividad de recurecuperacion (2)
Actividad de recurecuperacion (2)Actividad de recurecuperacion (2)
Actividad de recurecuperacion (2)
BBRYANN
 

Mais procurados (17)

Yuscarlis.
Yuscarlis.Yuscarlis.
Yuscarlis.
 
Portales y portlets web
Portales y portlets webPortales y portlets web
Portales y portlets web
 
Arquitectura y Funcionalidades Liferay Portal
Arquitectura y Funcionalidades Liferay PortalArquitectura y Funcionalidades Liferay Portal
Arquitectura y Funcionalidades Liferay Portal
 
Web
WebWeb
Web
 
9-Unidad 3: Diseños de Vista-3.1 Creación Web Services
9-Unidad 3: Diseños de Vista-3.1 Creación Web Services9-Unidad 3: Diseños de Vista-3.1 Creación Web Services
9-Unidad 3: Diseños de Vista-3.1 Creación Web Services
 
Nticas deber 4
Nticas deber 4Nticas deber 4
Nticas deber 4
 
Los gestores de contenido
Los gestores de contenidoLos gestores de contenido
Los gestores de contenido
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Implementación de Servicios Web Semánticos para Arquitecturas SOA
Implementación de Servicios Web Semánticos para Arquitecturas SOAImplementación de Servicios Web Semánticos para Arquitecturas SOA
Implementación de Servicios Web Semánticos para Arquitecturas SOA
 
Carel
CarelCarel
Carel
 
Liferay Portal
Liferay PortalLiferay Portal
Liferay Portal
 
Actividad de recurecuperacion (2)
Actividad de recurecuperacion (2)Actividad de recurecuperacion (2)
Actividad de recurecuperacion (2)
 
Web 2
Web 2Web 2
Web 2
 
Estandares Web W3C
Estandares Web W3CEstandares Web W3C
Estandares Web W3C
 
juan carlos sanchez ntic's
juan carlos sanchez ntic'sjuan carlos sanchez ntic's
juan carlos sanchez ntic's
 
D:\Web 2
D:\Web 2D:\Web 2
D:\Web 2
 

Destaque

Assolto dall'accusa di diffamazione pino ciampolillo
Assolto dall'accusa di diffamazione pino ciampolillo  Assolto dall'accusa di diffamazione pino ciampolillo
Assolto dall'accusa di diffamazione pino ciampolillo
Pino Ciampolillo
 
1291 fa13 assign1_subtractive-cube
1291 fa13 assign1_subtractive-cube1291 fa13 assign1_subtractive-cube
1291 fa13 assign1_subtractive-cube
NYCCTfab
 
Michow: Der Steuerabzug bei beschränkt steuerpflichtigen Künstlern und Produk...
Michow: Der Steuerabzug bei beschränkt steuerpflichtigen Künstlern und Produk...Michow: Der Steuerabzug bei beschränkt steuerpflichtigen Künstlern und Produk...
Michow: Der Steuerabzug bei beschränkt steuerpflichtigen Künstlern und Produk...
Raabe Verlag
 
Magazine Design with Indesign 002
Magazine Design with Indesign 002Magazine Design with Indesign 002
Magazine Design with Indesign 002
Zoe Lorenz
 
Innovaciones pedagógicas plex
Innovaciones pedagógicas plexInnovaciones pedagógicas plex
Innovaciones pedagógicas plex
MIRIAM CR
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
daymora
 

Destaque (20)

Assolto dall'accusa di diffamazione pino ciampolillo
Assolto dall'accusa di diffamazione pino ciampolillo  Assolto dall'accusa di diffamazione pino ciampolillo
Assolto dall'accusa di diffamazione pino ciampolillo
 
Olimpo Exclusive Living - (21) 3021-0040 - http://www.imobiliariadorio.com.br...
Olimpo Exclusive Living - (21) 3021-0040 - http://www.imobiliariadorio.com.br...Olimpo Exclusive Living - (21) 3021-0040 - http://www.imobiliariadorio.com.br...
Olimpo Exclusive Living - (21) 3021-0040 - http://www.imobiliariadorio.com.br...
 
1291 fa13 assign1_subtractive-cube
1291 fa13 assign1_subtractive-cube1291 fa13 assign1_subtractive-cube
1291 fa13 assign1_subtractive-cube
 
Ictangels@nghs
Ictangels@nghsIctangels@nghs
Ictangels@nghs
 
Bilan 2013 et Projets 2014 de la Marque Ardenne
Bilan 2013 et Projets 2014 de la Marque ArdenneBilan 2013 et Projets 2014 de la Marque Ardenne
Bilan 2013 et Projets 2014 de la Marque Ardenne
 
Xmas in Foggia
Xmas in FoggiaXmas in Foggia
Xmas in Foggia
 
Michow: Der Steuerabzug bei beschränkt steuerpflichtigen Künstlern und Produk...
Michow: Der Steuerabzug bei beschränkt steuerpflichtigen Künstlern und Produk...Michow: Der Steuerabzug bei beschränkt steuerpflichtigen Künstlern und Produk...
Michow: Der Steuerabzug bei beschränkt steuerpflichtigen Künstlern und Produk...
 
Lesson plan N° 5
Lesson plan N° 5Lesson plan N° 5
Lesson plan N° 5
 
Demo aplikasi sappawd 2013
Demo aplikasi sappawd 2013Demo aplikasi sappawd 2013
Demo aplikasi sappawd 2013
 
Introduccción a Pacto
Introduccción a PactoIntroduccción a Pacto
Introduccción a Pacto
 
Ec4024 Lecture 4
Ec4024 Lecture 4Ec4024 Lecture 4
Ec4024 Lecture 4
 
Magazine Design with Indesign 002
Magazine Design with Indesign 002Magazine Design with Indesign 002
Magazine Design with Indesign 002
 
Innovaciones pedagógicas plex
Innovaciones pedagógicas plexInnovaciones pedagógicas plex
Innovaciones pedagógicas plex
 
Ernie Svenson - Practice Law, Not Paper Pushing: The Paperless Firm
Ernie Svenson - Practice Law, Not Paper Pushing: The Paperless FirmErnie Svenson - Practice Law, Not Paper Pushing: The Paperless Firm
Ernie Svenson - Practice Law, Not Paper Pushing: The Paperless Firm
 
The International Journal of Engineering and Science (The IJES)
 The International Journal of Engineering and Science (The IJES) The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)
 
Reclaiming VAT on pension scheme costs – what should you be thinking about?
Reclaiming VAT on pension scheme costs – what should you be thinking about?Reclaiming VAT on pension scheme costs – what should you be thinking about?
Reclaiming VAT on pension scheme costs – what should you be thinking about?
 
Cmmaao pert-analysis-pmi-pmp (1)
Cmmaao pert-analysis-pmi-pmp (1)Cmmaao pert-analysis-pmi-pmp (1)
Cmmaao pert-analysis-pmi-pmp (1)
 
Favor
FavorFavor
Favor
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Csbag weekly budget news
Csbag weekly budget newsCsbag weekly budget news
Csbag weekly budget news
 

Semelhante a [ES] Construyendo Servicios Web con JDeveloper

G:\martin\servidores web
G:\martin\servidores webG:\martin\servidores web
G:\martin\servidores web
fernandez2010
 
C:\Documents And Settings\Pc 09\Mis Documentos\Servidores Web
C:\Documents And Settings\Pc 09\Mis Documentos\Servidores WebC:\Documents And Settings\Pc 09\Mis Documentos\Servidores Web
C:\Documents And Settings\Pc 09\Mis Documentos\Servidores Web
losmassueltos
 

Semelhante a [ES] Construyendo Servicios Web con JDeveloper (20)

S7-DS2.pptx
S7-DS2.pptxS7-DS2.pptx
S7-DS2.pptx
 
Web services
Web servicesWeb services
Web services
 
Web services1
Web services1Web services1
Web services1
 
Java2 servicios web
Java2 servicios webJava2 servicios web
Java2 servicios web
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
Servicios web ITT
Servicios web ITTServicios web ITT
Servicios web ITT
 
Servicios web itt
Servicios web ittServicios web itt
Servicios web itt
 
Servicios web itt
Servicios web ittServicios web itt
Servicios web itt
 
Servicios w eb
Servicios w ebServicios w eb
Servicios w eb
 
Web Services en .NET Compact Framework
Web Services en .NET Compact FrameworkWeb Services en .NET Compact Framework
Web Services en .NET Compact Framework
 
Presentac[2]..
Presentac[2]..Presentac[2]..
Presentac[2]..
 
sesion01-traspas.pdf
sesion01-traspas.pdfsesion01-traspas.pdf
sesion01-traspas.pdf
 
G:\martin\servidores web
G:\martin\servidores webG:\martin\servidores web
G:\martin\servidores web
 
Servicios web soap java
Servicios web soap javaServicios web soap java
Servicios web soap java
 
3/9 soa y web services
3/9 soa y web services3/9 soa y web services
3/9 soa y web services
 
SOA en la Práctica: WCF & WSSF
SOA en la Práctica: WCF & WSSFSOA en la Práctica: WCF & WSSF
SOA en la Práctica: WCF & WSSF
 
Servicios web
Servicios webServicios web
Servicios web
 
Pruebas soap
Pruebas soapPruebas soap
Pruebas soap
 
S7 ds2
S7 ds2S7 ds2
S7 ds2
 
C:\Documents And Settings\Pc 09\Mis Documentos\Servidores Web
C:\Documents And Settings\Pc 09\Mis Documentos\Servidores WebC:\Documents And Settings\Pc 09\Mis Documentos\Servidores Web
C:\Documents And Settings\Pc 09\Mis Documentos\Servidores Web
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (12)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

[ES] Construyendo Servicios Web con JDeveloper

  • 1. Let's Rock Java Fundamentos de Java Enterprise Edition con JDeveloper Eudris Cabrera Rodriguez Ingeniero Telemático Senior Software Developer Skype:eudriscabrera LinkedIn:http://www.linkedin.com/in/eudriscabrera Enero 2012, Santiago de los Caballeros, R. D.
  • 2. Objetivos Crear y consumir servicios Web : Aprender a utilizar JDeveloper para construir y probar los servicios web, así como la forma de acceso a los servicios web desde su aplicación.
  • 3. Agenda ● Introducción a los servicios web. ● Crear y consumir servicios Web: ○ Construír un servicio a partir de un POJO con anotaciones. ● Crear un servicio Web desde una clase Java: ○ crear un servicio Web para una clase de Java existentes y poner a prueba con el analizador de HTTP. ● Crear una aplicación Java Web Service desde un WSDL : ○ Crear el código de Java para implementar un servicio Web desde un WSDL. ● Crear un servicio web desde un EJB. ● Creación de un servicio Web proxy. ● Consumir un servicio Web desde una página Web : ○ cómo crear un control de datos de un servicio Web y probarlo en servidor integrado de JDeveloper.
  • 4. Introducción a los servicios web Qué es un servicio web ?. Wikipedia: Un servicio web (en inglés, Web service) es una pieza de software que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes de ordenadores como Internet.
  • 5. Introducción a los servicios web La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la arquitectura y reglamentación de los servicios Web. Para mejorar la interoperabilidad entre distintas implementaciones de servicios Web se ha creado el organismo WS-I, encargado de desarrollar diversos perfiles para definir de manera más exhaustiva estos estándares.
  • 6. Introducción a los servicios web OASIS, acrónimo de Organization for the Advancement of Structured Information Standards, es un consorcio internacional sin fines de lucro que orienta el desarrollo, la convergencia y la adopción de los estándares de comercio electrónico y servicios web. http://es.wikipedia.org/wiki/OASIS_%28organizaci%C3%B3n%29 El World Wide Web Consortium, abreviado W3C, es un consorcio internacional que produce recomendaciones para la World Wide Web. Está dirigida por Tim Berners-Lee, el creador original de URL (Uniform Resource Locator, Localizador Uniforme de Recursos), HTTP (HyperText Transfer Protocol, Protocolo de Transferencia de HiperTexto) y HTML (Lenguaje de Marcado de HiperTexto) que son las principales tecnologías sobre las que se basa la Web. http://es.wikipedia.org/wiki/World_Wide_Web_Consortium
  • 7. Introducción a los servicios web Estándares empleados Web Services Protocol Stack: Así se denomina al conjunto de servicios y protocolos de los servicios Web. XML (Extensible Markup Language): Es el formato estándar para los datos que se vayan a intercambiar. SOAP (Simple Object Access Protocol) o XML-RPC (XML Remote Procedure Call): Protocolos sobre los que se establece el intercambio. Otros protocolos: los datos en XML también pueden enviarse de una aplicación a otra mediante protocolos normales como HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), o SMTP (Simple Mail Transfer Protocol).
  • 8. Introducción a los servicios web WSDL (Web Services Description Language): Es el lenguaje de la interfaz pública para los servicios Web. Es una descripción basada en XML de los requisitos funcionales necesarios para establecer una comunicación con los servicios Web. UDDI (Universal Description, Discovery and Integration): Protocolo para publicar la información de los servicios Web. Permite comprobar qué servicios web están disponibles. WS-Security (Web Service Security): Protocolo de seguridad aceptado como estándar por OASIS (Organization for the Advancement of Structured Information Standards). Garantiza la autenticación de los actores y la confidencialidad de los mensajes enviados.
  • 9. Ventajas de los servicios web ● Aportan interoperabilidad entre aplicaciones de software independientemente de sus propiedades o de las plataformas sobre las que se instalen. ● Los servicios Web fomentan los estándares y protocolos basados en texto, que hacen más fácil acceder a su contenido y entender su funcionamiento. ● Permiten que servicios y software de diferentes compañías ubicadas en diferentes lugares geográficos puedan ser combinados fácilmente para proveer servicios integrados.
  • 10. Inconvenientes de los servicios Web ● Para realizar transacciones no pueden compararse en su grado de desarrollo con los estándares abiertos de computación distribuida como CORBA (Common Object Request Broker Architecture). ● Su rendimiento es bajo si se compara con otros modelos de computación distribuida, tales como RMI (Remote Method Invocation), CORBA o DCOM (Distributed Component Object Model). Es uno de los inconvenientes derivados de adoptar un formato basado en texto. Y es que entre los objetivos de XML no se encuentra la concisión ni la eficacia de procesamiento. ● Al apoyarse en HTTP, pueden esquivar medidas de seguridad basadas en firewall cuyas reglas tratan de bloquear o auditar la comunicación entre programas a ambos lados de la barrera.
  • 11. Razones para crear servicios Web ● La principal razón para usar servicios Web es que se pueden utilizar con HTTP sobre TCP (Transmission Control Protocol) en el puerto 80. ● Otra razón es que, antes de que existiera SOAP, no había buenas interfaces para acceder a las funcionalidades de otros ordenadores en red. Las que había eran ad hoc y poco conocidas, tales como EDI (Electronic Data Interchange), RPC (Remote Procedure Call), u otras APIs. ● Una tercera razón por la que los servicios Web son muy prácticos es que pueden aportar gran independencia entre la aplicación que usa el servicio Web y el propio servicio. De esta forma, los cambios a lo largo del tiempo en uno no deben afectar al otro.
  • 12. Plataformas Servidores de aplicaciones para servicios Web: ○ JBoss servidor de aplicaciones J2EE Open Source de Red Hat inc. ○ Oracle Fusion Middleware ○ IBM Lotus Domino a partir de la versión 7.0 ○ Axis y el servidor Jakarta Tomcat (de Apache) ○ ColdFusion MX de [[Macromedia]httpd ] ○ Java Web Services Development Pack (JWSDP) de Sun Microsystems (basado en Jakarta Tomcat) ○ JOnAS (parte de ObjectWeb una iniciativa de código abierto) ○ Microsoft .NET ○ Novell exteNd (basado en la plataforma J2EE)
  • 13. Plataformas ○ WebLogic ○ WebSphere ○ JAX-WS con GlassFish ○ Zope es un servidor de aplicaciones Web orientado a objetos desarrollado en el lenguaje de programación Python ○ VERASTREAM de AttachmateWRQ para modernizar o integrar aplicaciones host IBM y VT ○ PHP
  • 14. Crear y consumir servicios Web Los servicios web proporcionan a los clientes acceso neutral a los datos y otros servicios. JDeveloper le permite crear diferentes tipos de Servicios Web de forma rápida y sencilla. En el siguiente ejemplo vamos a crear un proyecto que contenga un POJO y añadir una anotación a un método para que se publique como un servicio web.
  • 15. Crear y consumir servicios Web Demo I
  • 16. Crear un servicio Web desde una clase Java Cualquier método de Java pueden ser publicados como un servicio Web. JDeveloper proporciona asistentes que tomar una clase de Java y sus métodos y crea un servicio web de esa clase. En lugar de agregar manualmente las anotaciones del servicio web a la clase de Java, puede utilizar un asistente de JDeveloper para manejar eso para usted. El asistente agrega las anotaciones de servicio web y te permite elegir los métodos que desea publicar como métodos web. Esta es una manera fácil de tomar una clase de Java existente y convertirlo en un servicio web.
  • 17. Crear un servicio Web desde una clase Java En este escenario, en lugar de agregar manualmente las anotaciones para crear el servicio web, se utiliza un asistente. El asistente crea todas las anotaciones necesarias para publicar la clase como un servicio web. Una vez que los pasos del asistente se completa, probar el servicio web usando el analizador de HTTP con el servidor de integración, tal como lo hizo antes.
  • 18. Crear un servicio Web desde una clase Java Demo II
  • 19. Crear una aplicación Java Web Service desde un WSDL Un archivo WSDL contiene información que define expuesto los métodos de servicio web. Puede utilizar un asistente de JDeveloper para interrogar a un archivo WSDL y crear todas las clases necesarias para la aplicación de esa definición. Debido a que el WSDL no es más que una definición esqueleto de un servicio Web, no conseguiremos ninguna aplicación de los métodos, sólo las definiciones de método. Tendremos que agregar el código de la aplicación de los métodos.
  • 20. Crear una aplicación Java Web Service desde un WSDL Demo III
  • 21. Crear un servicio web desde un EJB Se puede utilizar cualquier clase de Java como un servicio Web, incluso un bean de sesión EJB. Un bean de sesión normalmente implementa algún tipo de tarea o actividad empresarial. Por lo general, instancia o creado por una petición específica del cliente y por lo general, y existe sólo por la duración de una sola sesión. Se pueden utilizar para cualquier cosa, pero son comúnmente utilizados para los cálculos de una sola vez, información de búsqueda, etc, especialmente cuando los datos no va a ser persistente.
  • 22. Crear un servicio web desde un EJB Demo IV
  • 23. Creación de un servicio Web proxy Si necesita acceder a un servicio web desde un cliente Java, se necesita un servicio web java proxy. JDeveloper proporciona un asistente que va a crear una para usted. El propósito de un cliente proxy es facilitar el acceso a la API de servicios web como si se trata de un servicio local. Todas las necesidades de servicios web es el generador de proxy de servicios web WSDL. Aparte de eso, determina el API y genera las clases necesarias.
  • 24. Creación de un servicio Web proxy Demo V
  • 25. Consumir un servicio Web desde una página Web Los servicios Web permiten a las empresas exponer la funcionalidad de negocio, independientemente de la plataforma o el lenguaje de la aplicación de origen. La funcionalidad de negocio se expone de tal manera que se extrae de un mensaje redactado de la norma XML que puede ser reconocida y utilizada por otras aplicaciones. Oracle ADF proporciona una capa de acceso que se pueden utilizar para acceder a muchos tipos de servicios a las empresas o los datos, incluyendo Servicios Web. Finalmente vamos a crear un control de datos de un servicio Web y probarlo en servidor integrado de JDeveloper.
  • 26. Consumir un servicio Web desde una página Web Demo VI