SlideShare una empresa de Scribd logo
Servicios Web
SOAP
Diego	
  Armando	
  Gómez	
  M.	
  
dgomez@vortexbird.com	
  
Sun	
  Cer5fied	
  Java	
  Associated.	
  
Sun	
  Cer5fied	
  Java	
  Programmer.	
  
Sun	
  Cer5fied	
  Web	
  Component	
  Developer.	
  
Sun	
  Cer5fied	
  Business	
  Component	
  Developer	
  5	
  

Derechos	
  reservados	
  2014	
  
Introducción	
  
S  Computación	
  distribuida.	
  
S  Sistemas	
  integrados.	
  
S  Aplicaciones	
  en	
  diferentes	
  lenguaje	
  de	
  programación	
  y	
  

plataformas.	
  
S  Nuevos	
  términos	
  XML,	
  WSDL,	
  SOAP,	
  XML-­‐RPC,	
  ebXML,	
  JAXB,	
  JAX-­‐
WS,	
  JAX-­‐RPC,	
  JAX-­‐RS	
  
S  Para	
  que	
  todo	
  esto?	
  
Que	
  es	
  un	
  WebService?	
  
S  Un	
  WebService	
  es	
  una	
  pieza	
  de	
  soYware	
  iden5ficada	
  por	
  un	
  URI	
  

(Uniform	
  Resource	
  Iden5fier).	
  

S  Su	
  medio	
  de	
  comunicación	
  se	
  fundamenta	
  en	
  el	
  uso	
  de	
  XML.	
  
S  XML	
  
S  XML	
  Namespace,	
  XML	
  Schema,	
  Xpath,	
  XSLT.	
  
S  SOAP,	
  WSDL,	
  eb-­‐XML.	
  
Computación	
  distribuida	
  
Servers

PDA

Servers

Cell
Phone

Internet
Workstation

Clients

Client-Server(C/S)
silos

Clients

Web-based computing

SOA
computing

Kiosk

Server

Laptop

Web Services/Peer-to-Peer
Tradicional	
  C/S	
  vs.	
  Servicios	
  Web	
  
Traditional C/S
"
"

Within enterprise
Tied to a set of
programming languages
" Procedural
" Usually bound to a
particular transport
" Tightly-coupled
" Efficient processing
(space/time)

Web Service
" Between enterprises
 
"  Program language

independent
"  Message-driven
"  Easily bound to different
transports
"  Loosely-coupled
"  Relatively not efficient
processing
Web	
  Applica5on	
  vs.	
  Web	
  Services	
  
Web Application
" User-to-program
interaction
" Static integration of
components
" Monolithic service

Web Service
"  Program-to-program

interaction
"  Possibility of dynamic
integration of
components (in the
future)
"  Possibility of service
aggregation (in the
future)
Caracterís5cas	
  de	
  un	
  Servicio	
  Web.	
  
S  Basado	
  en	
  XML.	
  
S  Orientado	
  a	
  los	
  mensajes.	
  
S  Independiente	
  del	
  lenguaje	
  de	
  programación.	
  
S  Localización	
  puede	
  ser	
  dinámica.	
  
S  Ensamble	
  dinámico	
  y	
  agregación	
  de	
  servicios	
  dinámica.	
  
S  Accedidos	
  por	
  Internet.	
  
S  Bajo	
  acoplamiento.	
  
S  Basado	
  en	
  estándares	
  de	
  la	
  industria.	
  
Ejemplo	
  de	
  uso	
  de	
  los	
  Servicios	
  Web	
  
Distribucion

XML

CRM

XML

Internet

Manofactura
XML

XML

Logistica

“Crece la necesidad de un estándar liviano para
intercambio de datos entre aplicaciones de negocio”
Estándares	
  de	
  los	
  servicios	
  
Web	
  
Arquitectura	
  de	
  Servicios	
  Web	
  simple	
  

Registry
2. Client Request
Service Location

1. Service Registers
PUBLISH

Web
Service

FIND
3. Client calls
Service
BIND

Service
Client
SOAP	
  	
  

(Simple	
  Object	
  Access	
  Protocol)	
  
SOAP	
  
S  Simple	
  Object	
  Access	
  Protocol	
  
S  Protocolo	
  similar	
  
S  IIOP	
  para	
  CORBA	
  
S  JRMP	
  para	
  RMI	
  

S  XML	
  es	
  usado	
  para	
  codificación	
  de	
  datos.	
  
S  Protocolos	
  basados	
  en	
  “texto”	
  vs.	
  Protocolos	
  “binarios”	
  

S  Soporta	
  XML-­‐based	
  RPC	
  
QUE	
  NO	
  ES	
  SOAP	
  
S  No	
  es	
  un	
  modelo	
  de	
  componentes	
  
S  Este	
  no	
  remplaza	
  objetos	
  y	
  componentes,	
  ejemplo	
  EJB,	
  JavaBeans.	
  

S  No	
  es	
  un	
  lenguaje	
  de	
  programación	
  
S  Este	
  no	
  remplaza	
  a	
  Java,	
  Groovy	
  

S  No	
  es	
  una	
  solución	
  para	
  todo.	
  
S  Este	
  no	
  remplaza	
  otras	
  tecnologías	
  usadas	
  en	
  computación	
  distribuida	
  

como	
  RMI.	
  
QUE	
  DEFINE	
  SOAP?	
  
S  Message	
  Envelope	
  
S  Encoding	
  Rules	
  
S  RPC	
  Conven5on	
  
S  Binding	
  with	
  underlying	
  protocols	
  
Formato	
  de	
  mensaje	
  SOAP	
  

SOAP Message

SOAP Envelope
SOAP Header

Primary MIME part
(text/xml)

Header Entry
Header Entry

Attachment
Attachment

Attachment

SOAP Body
Body Entry
Body Entry
SOAP	
  Message	
  Envelope	
  
S  Encoding	
  informa5on	
  
S 

Header	
  

S 

Op5onal	
  

S 

Could	
  contain	
  context	
  knowledge	
  

S 

Security	
  

S  Transac5on	
  
S  Body	
  
S 

RPC	
  methods	
  and	
  parameters	
  

S 

Document	
  types	
  

S 

Contains	
  applica5on	
  data	
  
SOAP	
  Message	
  Envelope	
  
S  Reglas	
  y	
  expresiones	
  de	
  5pos	
  de	
  datos	
  definidos	
  en	
  XML	
  
S  Basado	
  W3C	
  XML	
  Schema	
  
S  Valores	
  simples	
  
S  int,	
  string,	
  char,	
  double,	
  float	
  .	
  
S  enumera5ons,	
  arrays	
  de	
  bites	
  

S  Valores	
  complejos	
  
S  Structs,	
  arrays,	
  complex	
  types	
  
SOAP	
  MESSAGES	
  
WSDL	
  
(Web	
  Services	
  Descrip5on	
  
Language)	
  
QUE	
  ES	
  WSDL?	
  
S  Lenguaje	
  de	
  Descripción	
  de	
  Servicios	
  Web	
  
S  Es	
  un	
  mecanismo	
  para	
  no5ficar	
  los	
  servicios	
  (funcionalidades)	
  

que	
  un	
  sistema	
  esta	
  publicando	
  y	
  que	
  son	
  accesibles	
  a	
  terceros.	
  
QUE	
  ES	
  WSDL?	
  
S  Endpoint	
  se	
  compone	
  de	
  dos	
  partes	
  
S  Definición	
  de	
  operaciones	
  y	
  mensajes	
  
S  Protocolo	
  de	
  red,	
  conectores	
  y	
  formato	
  de	
  mensajes.	
  

S  Porque	
  esta	
  separación?	
  
S  Mejora	
  la	
  reusabilidad.	
  
PORQUE	
  WSDL?	
  
S  Permite	
  la	
  comunicación	
  automá5ca	
  
S  Maquinas	
  pueden	
  leer	
  el	
  WSDL	
  
S  Maquinas	
  pueden	
  invocar	
  un	
  servicio	
  definido	
  en	
  el	
  WSDL	
  

S  	
  Descubrible	
  por	
  un	
  registry.	
  
S  Arbitraje	
  

S  Herramientas	
  de	
  terceros	
  pueden	
  verificar	
  la	
  

comunicación	
  basado	
  en	
  el	
  WSDL.	
  
DEMO	
  WSDL	
  
S  Operaciones	
  mat	
  
UDDI	
  
(Universal	
  Descrip5on,	
  
Discovery	
  and	
  Integra5on)	
  
ARQUITECTURA	
  SERVICIOS	
  WEB	
  
UDDI
Registry
2. Client Request
Service Location
FIND

1. Service Registers
PUBLISH

Web
Service

3. Client calls
Service
BIND

Service
Client

UDDI define una forma de publicar and encontrar
información de servicios.
UDDI	
  (Universal	
  Descrip5on,	
  Discovery	
  
and	
  Integra5on)	
  
S  “Paginas	
  blancas”	
  
S  Direcciones,	
  contactos	
  e	
  iden5ficadores	
  conocidos.	
  
S  “Paginas	
  amarillas”	
  
S  Categorizacion	
  industrial.	
  
S  Industry:	
  	
  NAICS	
  (Industry	
  codes	
  -­‐	
  US	
  Govt.)	
  
S  Product/Services:	
  	
  UN/SPSC	
  (ECMA)	
  
S  Loca5on:	
  Geographical	
  taxonomy	
  

S  “Paginas	
  verdes”	
  
S  Información	
  técnica	
  de	
  los	
  servicios.	
  
COMUNICACIÓN	
  ENTRES	
  
SERVICIOS	
  WEB	
  
COMUNICACIÓN	
  ENTRES	
  SERVICIOS	
  WEB	
  
El WS es publicado
para que desarrolle una
única tarea.
Sistema que publica
El WS
COMUNICACIÓN	
  ENTRES	
  SERVICIOS	
  WEB	
  
Sistema que publica
El WS

Las otras aplicaciones
“consumen” esos
Servicios.
COMUNICACIÓN	
  ENTRES	
  SERVICIOS	
  WEB	
  
HTTP
JMS
XMPP

<XML>

Clientes

<XML>

Sistema que publica
El WS
FUNCIONAMIENTO	
  
“Sistemas de Empresa”
El sistema puede
“mostrarle” a otros,
cuales funciones esta
“publicando” usando
WSDL

“Sistemas
Clientes”

<WSDL>
FUNCIONAMIENTO	
  
Es posible
“preguntar” que sistema
esta publicando un
Servicio determinado a
Un sistema de directorio
UDDI

Otro Sistema

“Mi Sistema”
WEB	
  SERVICES	
  FRAMEWORK	
  
PARA	
  JAVAEE	
  
JavaEE	
  y	
  los	
  Web	
  Services	
  
B2B
Applications
Existing
Applications

B2C
Applications

Web
Services

Application Server
Wireless
Applications

Enterprise
Information
Systems
JavaEE	
  y	
  los	
  Web	
  Services	
  
S  JavaEE	
  
S  Es	
  una	
  arquitectura	
  basada	
  en	
  diferentes	
  estándares	
  
(IIOP,	
  RMI).	
  
S  Lleva	
  más	
  de	
  13	
  años	
  en	
  el	
  mercado,	
  en	
  un	
  
momento	
  en	
  donde	
  XML	
  no	
  era	
  tan	
  popular.	
  
S  Los	
  contenedores	
  de	
  aplicaciones	
  Web	
  proveen	
  
mecanismos	
  y	
  librerías	
  para	
  soportar	
  XML	
  y	
  SOAP	
  
(JAXP	
  y	
  JAX-­‐RPC,	
  JAX-­‐WS,	
  JAX-­‐RS)	
  
S  POJO	
  annota5on	
  (JSR	
  181)	
  
JavaEE5	
  Web	
  Services	
  Metadata.	
  
S  JavaEE	
  
S  El	
  contenedor	
  provee	
  la	
  funcionalidad	
  de	
  WebServices	
  
S  @WebServices.	
  
S  Solo	
  basta	
  con	
  poner	
  las	
  anotaciones	
  en	
  las	
  clases	
  y	
  se	
  
convierten	
  en	
  WebServices.	
  
S  @WebMethod	
  
S  Especificación	
  JSR181	
  
FRAMEWORKS	
  
S  Java	
  provee	
  un	
  conjunto	
  de	
  u5lidades	
  y	
  librerías	
  

(Motores	
  de	
  Web	
  Services)	
  
S  AXIS	
  
S  AXIS2	
  
S  Cel5x	
  
S  Xfire	
  
S  Apache	
  CXF	
  
S  Metro	
  (glassfish	
  project)	
  
S  Spring	
  Web	
  Services	
  
S  JBossWS	
  
AXIS2	
  
S  Proyecto	
  WS	
  apache	
  
S  Framework	
  para	
  construcción	
  de	
  aplicaciones	
  

cliente	
  servidor	
  SOAP	
  
S  Conjunto	
  de	
  Herramientas	
  
S  Monitor	
  de	
  paquetes	
  TCP/IP	
  	
  
S  WSDL2Java	
  
S  Java2WSDL	
  
S  hpp://ws.apache.org/axis2/	
  
XFire	
  
S  Proyecto	
  de	
  codehaus.	
  
S  Es	
  un	
  contenedor	
  de	
  Servicios	
  Web	
  
S  Usa	
  un	
  modelo	
  de	
  procesamiento	
  SOAP	
  messages	
  

via	
  STAX.	
  
S  MyEclipse	
  provee	
  un	
  conjunto	
  de	
  u5lidades	
  para	
  
desarrollo	
  con	
  Xfire.	
  
S  hpp://xfire.codehaus.org/	
  
METRO	
  
S  Proyecto	
  de	
  dev.java.net.	
  
S  Soporta	
  el	
  estándar	
  de	
  JAX-­‐WS.	
  
S  Provee	
  un	
  alto	
  rendimiento,	
  extensible,	
  fácil	
  de	
  

usar.	
  
S  hpps://metro.dev.java.net/	
  
CONCLUSIÓN	
  
S  Los	
  servicios	
  Web	
  provee	
  un	
  nuevo	
  paradigma	
  de	
  

programación	
  para	
  comunicación	
  de	
  programa	
  a	
  
programa.	
  
S  Los	
  servicios	
  web	
  son	
  basados	
  en	
  estándares	
  
abiertos.	
  
S  La	
  plataforma	
  JEE	
  provee	
  un	
  gran	
  soporte	
  para	
  el	
  
desarrollo	
  de	
  servicios	
  Web.	
  
CONCLUSIÓN	
  
S  Es	
  posible	
  que	
  aplicaciones	
  en	
  diferentes	
  

lenguajes	
  de	
  programación	
  ínter	
  operen.	
  
Java JEE

Sistemas
legados

.Net

PL/SQL
ENLACES	
  
S  hpp://java.sun.com/webservices/index.jsp	
  
S  hpp://java.sun.com/blueprints/guidelines/

designing_webservices/html/	
  
S  hpp://ws.apache.org/axis/	
  
S  hpp://xfire.codehaus.org/	
  
S  hpps://jax-­‐ws.dev.java.net/	
  
ENLACES	
  
S  hpp://webservices.xml.com/	
  
S  hpps://blueprints.dev.java.net/books.html	
  
S  hpps://blueprints.dev.java.net/servlets/

ProjectDocumentList?
folderID=3401&expandFolder=3401&folderID=0	
  
Información	
  de	
  contacto	
  
S  Si5o	
  Web:	
  www.vortexbird.com	
  
S  Blog:	
  hpp://blog.vortexbird.com	
  
S  Contacto	
  vía	
  mail:	
  dgomez@vortexbird.com	
  
S  Teléfonos:	
  +57	
  	
  -­‐	
  (316	
  482	
  4629)	
  
S  Cali,	
  Colombia	
  

Más contenido relacionado

PDF
JavaScript Interview Questions with Answers
PDF
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
PDF
Aula 02 - Introdução ao PHP
PDF
Especificación de requisitos portal web ok
PPTX
RESUMEN DE JAVASCRIPT
DOCX
Instalacion de un (SGBD)sistema gestor de base de datos.
PPTX
Unit - 1: ASP.NET Basic
PDF
Exercicios java básico
JavaScript Interview Questions with Answers
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
Aula 02 - Introdução ao PHP
Especificación de requisitos portal web ok
RESUMEN DE JAVASCRIPT
Instalacion de un (SGBD)sistema gestor de base de datos.
Unit - 1: ASP.NET Basic
Exercicios java básico

La actualidad más candente (20)

PDF
Fundamentos de banco de dados 03 arquitetura 3 esquemas e indep de dados
PPTX
Introdução a programação para a Internet
DOCX
Cadastro de clientes em java no netbeans
DOCX
SISTEMAS DE MONITOREO LINUX
PPT
PDF
PPT
Windows Server
PDF
Apresentação HTML e CSS
ODP
Aula01-JavaScript
PDF
Estrutura de Dados - Aula 04 - Listas Estáticas
DOC
configuracion de entorno de pruebas
PPTX
Herramientas de seguridad
PPTX
Lo que tienes que saber de Dart para Backend, frontend y Mobile..pptx
PPTX
Introducción a NoSQL
PPTX
Full stack development
PPT
Web Service Presentation
PDF
Manual de portugol
PPT
Ajax Ppt 1
PPTX
Php intro
Fundamentos de banco de dados 03 arquitetura 3 esquemas e indep de dados
Introdução a programação para a Internet
Cadastro de clientes em java no netbeans
SISTEMAS DE MONITOREO LINUX
Windows Server
Apresentação HTML e CSS
Aula01-JavaScript
Estrutura de Dados - Aula 04 - Listas Estáticas
configuracion de entorno de pruebas
Herramientas de seguridad
Lo que tienes que saber de Dart para Backend, frontend y Mobile..pptx
Introducción a NoSQL
Full stack development
Web Service Presentation
Manual de portugol
Ajax Ppt 1
Php intro
Publicidad

Similar a Web services SOAP con JAX-WS (20)

PPT
Java2 servicios web
PPTX
Servicios web
PPT
Charla Web Services
PDF
Servicios web
PPT
Servicios Web II.ppt
PDF
3/9 soa y web services
PPTX
02 - Servicios SOAP.pptx
PPT
Semana 15 -servicios_web
PDF
Web services en sistemas distribuidos
PPTX
SOA y Web Services
PDF
Componentes de los servicos web
PPTX
S3-PD2-2.1. SOAP
PPTX
6-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Conceptos Básicos
PDF
[ES] Construyendo Servicios Web con JDeveloper
PPT
Servicios web service api rest en netbeans
PPTX
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
PPT
Webservices
Java2 servicios web
Servicios web
Charla Web Services
Servicios web
Servicios Web II.ppt
3/9 soa y web services
02 - Servicios SOAP.pptx
Semana 15 -servicios_web
Web services en sistemas distribuidos
SOA y Web Services
Componentes de los servicos web
S3-PD2-2.1. SOAP
6-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Conceptos Básicos
[ES] Construyendo Servicios Web con JDeveloper
Servicios web service api rest en netbeans
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
Webservices
Publicidad

Más de Vortexbird (15)

PDF
Spring security 2017
PDF
Spring ORM JPA
PDF
Spring framework core 2017
PDF
Bean validation 2017
PDF
Introduccion a JPA
PDF
Log en Aplicaciones Java y JavaEE
PDF
Servicios Rest con Jersey
PDF
Servicios Web Rest con Spring MVC
PDF
Primefaces
PDF
Facelets
PPT
Vb.pd.zathuracode.v5.0.1
PPT
Zathuracode Version 5.0.0
PDF
Web services restful con JAX-RS
PPTX
Orm hibernate springframework
PPTX
Introducccion springframework
Spring security 2017
Spring ORM JPA
Spring framework core 2017
Bean validation 2017
Introduccion a JPA
Log en Aplicaciones Java y JavaEE
Servicios Rest con Jersey
Servicios Web Rest con Spring MVC
Primefaces
Facelets
Vb.pd.zathuracode.v5.0.1
Zathuracode Version 5.0.0
Web services restful con JAX-RS
Orm hibernate springframework
Introducccion springframework

Último (20)

PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
DOCX
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
PDF
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
PDF
Tomo 1 de biologia gratis ultra plusenmas
DOCX
Tarea De El Colegio Coding For Kids 1 y 2
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
PDF
Punto Critico - Brian Tracy Ccesa007.pdf
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PDF
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PDF
ciencias-1.pdf libro cuarto basico niños
PDF
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
DOCX
2 GRADO UNIDAD 5 - 2025.docx para primaria
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PDF
Híper Mega Repaso Histológico Bloque 3.pdf
PDF
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
PDF
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
Tomo 1 de biologia gratis ultra plusenmas
Tarea De El Colegio Coding For Kids 1 y 2
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
Punto Critico - Brian Tracy Ccesa007.pdf
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
ciencias-1.pdf libro cuarto basico niños
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
2 GRADO UNIDAD 5 - 2025.docx para primaria
Escuelas Desarmando una mirada subjetiva a la educación
Híper Mega Repaso Histológico Bloque 3.pdf
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf

Web services SOAP con JAX-WS

  • 1. Servicios Web SOAP Diego  Armando  Gómez  M.   dgomez@vortexbird.com   Sun  Cer5fied  Java  Associated.   Sun  Cer5fied  Java  Programmer.   Sun  Cer5fied  Web  Component  Developer.   Sun  Cer5fied  Business  Component  Developer  5   Derechos  reservados  2014  
  • 2. Introducción   S  Computación  distribuida.   S  Sistemas  integrados.   S  Aplicaciones  en  diferentes  lenguaje  de  programación  y   plataformas.   S  Nuevos  términos  XML,  WSDL,  SOAP,  XML-­‐RPC,  ebXML,  JAXB,  JAX-­‐ WS,  JAX-­‐RPC,  JAX-­‐RS   S  Para  que  todo  esto?  
  • 3. Que  es  un  WebService?   S  Un  WebService  es  una  pieza  de  soYware  iden5ficada  por  un  URI   (Uniform  Resource  Iden5fier).   S  Su  medio  de  comunicación  se  fundamenta  en  el  uso  de  XML.   S  XML   S  XML  Namespace,  XML  Schema,  Xpath,  XSLT.   S  SOAP,  WSDL,  eb-­‐XML.  
  • 5. Tradicional  C/S  vs.  Servicios  Web   Traditional C/S " " Within enterprise Tied to a set of programming languages " Procedural " Usually bound to a particular transport " Tightly-coupled " Efficient processing (space/time) Web Service " Between enterprises   "  Program language independent "  Message-driven "  Easily bound to different transports "  Loosely-coupled "  Relatively not efficient processing
  • 6. Web  Applica5on  vs.  Web  Services   Web Application " User-to-program interaction " Static integration of components " Monolithic service Web Service "  Program-to-program interaction "  Possibility of dynamic integration of components (in the future) "  Possibility of service aggregation (in the future)
  • 7. Caracterís5cas  de  un  Servicio  Web.   S  Basado  en  XML.   S  Orientado  a  los  mensajes.   S  Independiente  del  lenguaje  de  programación.   S  Localización  puede  ser  dinámica.   S  Ensamble  dinámico  y  agregación  de  servicios  dinámica.   S  Accedidos  por  Internet.   S  Bajo  acoplamiento.   S  Basado  en  estándares  de  la  industria.  
  • 8. Ejemplo  de  uso  de  los  Servicios  Web   Distribucion XML CRM XML Internet Manofactura XML XML Logistica “Crece la necesidad de un estándar liviano para intercambio de datos entre aplicaciones de negocio”
  • 9. Estándares  de  los  servicios   Web  
  • 10. Arquitectura  de  Servicios  Web  simple   Registry 2. Client Request Service Location 1. Service Registers PUBLISH Web Service FIND 3. Client calls Service BIND Service Client
  • 11. SOAP     (Simple  Object  Access  Protocol)  
  • 12. SOAP   S  Simple  Object  Access  Protocol   S  Protocolo  similar   S  IIOP  para  CORBA   S  JRMP  para  RMI   S  XML  es  usado  para  codificación  de  datos.   S  Protocolos  basados  en  “texto”  vs.  Protocolos  “binarios”   S  Soporta  XML-­‐based  RPC  
  • 13. QUE  NO  ES  SOAP   S  No  es  un  modelo  de  componentes   S  Este  no  remplaza  objetos  y  componentes,  ejemplo  EJB,  JavaBeans.   S  No  es  un  lenguaje  de  programación   S  Este  no  remplaza  a  Java,  Groovy   S  No  es  una  solución  para  todo.   S  Este  no  remplaza  otras  tecnologías  usadas  en  computación  distribuida   como  RMI.  
  • 14. QUE  DEFINE  SOAP?   S  Message  Envelope   S  Encoding  Rules   S  RPC  Conven5on   S  Binding  with  underlying  protocols  
  • 15. Formato  de  mensaje  SOAP   SOAP Message SOAP Envelope SOAP Header Primary MIME part (text/xml) Header Entry Header Entry Attachment Attachment Attachment SOAP Body Body Entry Body Entry
  • 16. SOAP  Message  Envelope   S  Encoding  informa5on   S  Header   S  Op5onal   S  Could  contain  context  knowledge   S  Security   S  Transac5on   S  Body   S  RPC  methods  and  parameters   S  Document  types   S  Contains  applica5on  data  
  • 17. SOAP  Message  Envelope   S  Reglas  y  expresiones  de  5pos  de  datos  definidos  en  XML   S  Basado  W3C  XML  Schema   S  Valores  simples   S  int,  string,  char,  double,  float  .   S  enumera5ons,  arrays  de  bites   S  Valores  complejos   S  Structs,  arrays,  complex  types  
  • 19. WSDL   (Web  Services  Descrip5on   Language)  
  • 20. QUE  ES  WSDL?   S  Lenguaje  de  Descripción  de  Servicios  Web   S  Es  un  mecanismo  para  no5ficar  los  servicios  (funcionalidades)   que  un  sistema  esta  publicando  y  que  son  accesibles  a  terceros.  
  • 21. QUE  ES  WSDL?   S  Endpoint  se  compone  de  dos  partes   S  Definición  de  operaciones  y  mensajes   S  Protocolo  de  red,  conectores  y  formato  de  mensajes.   S  Porque  esta  separación?   S  Mejora  la  reusabilidad.  
  • 22. PORQUE  WSDL?   S  Permite  la  comunicación  automá5ca   S  Maquinas  pueden  leer  el  WSDL   S  Maquinas  pueden  invocar  un  servicio  definido  en  el  WSDL   S   Descubrible  por  un  registry.   S  Arbitraje   S  Herramientas  de  terceros  pueden  verificar  la   comunicación  basado  en  el  WSDL.  
  • 23. DEMO  WSDL   S  Operaciones  mat  
  • 24. UDDI   (Universal  Descrip5on,   Discovery  and  Integra5on)  
  • 25. ARQUITECTURA  SERVICIOS  WEB   UDDI Registry 2. Client Request Service Location FIND 1. Service Registers PUBLISH Web Service 3. Client calls Service BIND Service Client UDDI define una forma de publicar and encontrar información de servicios.
  • 26. UDDI  (Universal  Descrip5on,  Discovery   and  Integra5on)   S  “Paginas  blancas”   S  Direcciones,  contactos  e  iden5ficadores  conocidos.   S  “Paginas  amarillas”   S  Categorizacion  industrial.   S  Industry:    NAICS  (Industry  codes  -­‐  US  Govt.)   S  Product/Services:    UN/SPSC  (ECMA)   S  Loca5on:  Geographical  taxonomy   S  “Paginas  verdes”   S  Información  técnica  de  los  servicios.  
  • 28. COMUNICACIÓN  ENTRES  SERVICIOS  WEB   El WS es publicado para que desarrolle una única tarea. Sistema que publica El WS
  • 29. COMUNICACIÓN  ENTRES  SERVICIOS  WEB   Sistema que publica El WS Las otras aplicaciones “consumen” esos Servicios.
  • 30. COMUNICACIÓN  ENTRES  SERVICIOS  WEB   HTTP JMS XMPP <XML> Clientes <XML> Sistema que publica El WS
  • 31. FUNCIONAMIENTO   “Sistemas de Empresa” El sistema puede “mostrarle” a otros, cuales funciones esta “publicando” usando WSDL “Sistemas Clientes” <WSDL>
  • 32. FUNCIONAMIENTO   Es posible “preguntar” que sistema esta publicando un Servicio determinado a Un sistema de directorio UDDI Otro Sistema “Mi Sistema”
  • 33. WEB  SERVICES  FRAMEWORK   PARA  JAVAEE  
  • 34. JavaEE  y  los  Web  Services   B2B Applications Existing Applications B2C Applications Web Services Application Server Wireless Applications Enterprise Information Systems
  • 35. JavaEE  y  los  Web  Services   S  JavaEE   S  Es  una  arquitectura  basada  en  diferentes  estándares   (IIOP,  RMI).   S  Lleva  más  de  13  años  en  el  mercado,  en  un   momento  en  donde  XML  no  era  tan  popular.   S  Los  contenedores  de  aplicaciones  Web  proveen   mecanismos  y  librerías  para  soportar  XML  y  SOAP   (JAXP  y  JAX-­‐RPC,  JAX-­‐WS,  JAX-­‐RS)   S  POJO  annota5on  (JSR  181)  
  • 36. JavaEE5  Web  Services  Metadata.   S  JavaEE   S  El  contenedor  provee  la  funcionalidad  de  WebServices   S  @WebServices.   S  Solo  basta  con  poner  las  anotaciones  en  las  clases  y  se   convierten  en  WebServices.   S  @WebMethod   S  Especificación  JSR181  
  • 37. FRAMEWORKS   S  Java  provee  un  conjunto  de  u5lidades  y  librerías   (Motores  de  Web  Services)   S  AXIS   S  AXIS2   S  Cel5x   S  Xfire   S  Apache  CXF   S  Metro  (glassfish  project)   S  Spring  Web  Services   S  JBossWS  
  • 38. AXIS2   S  Proyecto  WS  apache   S  Framework  para  construcción  de  aplicaciones   cliente  servidor  SOAP   S  Conjunto  de  Herramientas   S  Monitor  de  paquetes  TCP/IP     S  WSDL2Java   S  Java2WSDL   S  hpp://ws.apache.org/axis2/  
  • 39. XFire   S  Proyecto  de  codehaus.   S  Es  un  contenedor  de  Servicios  Web   S  Usa  un  modelo  de  procesamiento  SOAP  messages   via  STAX.   S  MyEclipse  provee  un  conjunto  de  u5lidades  para   desarrollo  con  Xfire.   S  hpp://xfire.codehaus.org/  
  • 40. METRO   S  Proyecto  de  dev.java.net.   S  Soporta  el  estándar  de  JAX-­‐WS.   S  Provee  un  alto  rendimiento,  extensible,  fácil  de   usar.   S  hpps://metro.dev.java.net/  
  • 41. CONCLUSIÓN   S  Los  servicios  Web  provee  un  nuevo  paradigma  de   programación  para  comunicación  de  programa  a   programa.   S  Los  servicios  web  son  basados  en  estándares   abiertos.   S  La  plataforma  JEE  provee  un  gran  soporte  para  el   desarrollo  de  servicios  Web.  
  • 42. CONCLUSIÓN   S  Es  posible  que  aplicaciones  en  diferentes   lenguajes  de  programación  ínter  operen.   Java JEE Sistemas legados .Net PL/SQL
  • 43. ENLACES   S  hpp://java.sun.com/webservices/index.jsp   S  hpp://java.sun.com/blueprints/guidelines/ designing_webservices/html/   S  hpp://ws.apache.org/axis/   S  hpp://xfire.codehaus.org/   S  hpps://jax-­‐ws.dev.java.net/  
  • 44. ENLACES   S  hpp://webservices.xml.com/   S  hpps://blueprints.dev.java.net/books.html   S  hpps://blueprints.dev.java.net/servlets/ ProjectDocumentList? folderID=3401&expandFolder=3401&folderID=0  
  • 45. Información  de  contacto   S  Si5o  Web:  www.vortexbird.com   S  Blog:  hpp://blog.vortexbird.com   S  Contacto  vía  mail:  dgomez@vortexbird.com   S  Teléfonos:  +57    -­‐  (316  482  4629)   S  Cali,  Colombia