Web services SOAP con JAX-WS
Upcoming SlideShare
Loading in...5
×
 

Web services SOAP con JAX-WS

on

  • 559 views

Computación distribuida. ...

Computación distribuida.
Sistemas integrados.
Aplicaciones en diferentes lenguaje de programación y plataformas.
Nuevos términos XML, WSDL, SOAP, XML-RPC, ebXML, JAXB, JAX-WS, JAX-RPC, JAX-RS
Para que todo esto?

Statistics

Views

Total Views
559
Views on SlideShare
541
Embed Views
18

Actions

Likes
0
Downloads
18
Comments
0

1 Embed 18

http://www.slideee.com 18

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Web services SOAP con JAX-WS Web services SOAP con JAX-WS Presentation Transcript

  • 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