Taller de Sistemas de Información 2

Save this PDF as:
 WORD  PNG  TXT  JPG

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Taller de Sistemas de Información 2"

Transcripción

1 Taller de Sistemas de Información 2 Web Services 11 de Setiembre de 2012 Instituto de Computación Facultad de Ingeniería Universidad de la República de Uruguay

2 Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 2

3 Que es un web service? Es un servicio o funcionalidad Se encuentra disponible a través de Internet o una Intranet Usando una forma estandarizada de mensajería (generalmente XML) No se encuentra atado a ningún sistema operativo ni ningún lenguaje de programación Se puede auto describir (generalmente vía XML) Puede ser descubierto a través de un mecanismo de búsqueda Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 3

4 Tendencias Hoy día tenemos dos grandes tendencias en el desarrollo de web services Web services que estandarizan su información a través de mensajes XML, en formato SOAP. Estos se denominan servicios SOAP Web services que no estandarizan su información, denominados servicios REST Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 4

5 Web Services SOAP Este tipo de servicios, implica el intercambio de mensajes XML, codificados según el protocolo SOAP Estos mensajes tienen la forma: Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 5

6 Web Services SOAP Estos mensajes en formato SOAP son movidos de un sistema a otro, utilizando HTTP El sistema recibe el mensaje, hace lo que tiene que hacer, y devuelve una respuesta también en formato SOAP Es un sistema simple, que no tiene en cuenta aspectos importantes del desarrollo de soluciones empresariales, pero que son tenidas en cuenta a través de extensiones a los estándares Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 6

7 Especificaciones Los servicios web utilizan diferentes especificaciones para estandarizar su funcionamiento Estas se dividen en dos tipos Especificaciones básicas Especificaciones avanzadas, de las cuales algunas se destacan por su utilidad para la construcción de soluciones de integración Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 7

8 Especificaciones basicas Universal Description, Discovery and Integration (UDDI) Web Services Description Language (WSDL) Find Publish WSDL FTP, SMTP, etc. HTTP SOAP Simple Object Access Protocol (SOAP) Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 8

9 Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 9

10 Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 10

11 Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 11

12 Mensajes SOAP La estructura básica de un mensaje SOAP consiste de un elemento Envelope el cual contiene un elemento opcional Header un elemento requerido Body que puede incluir un elemento Fault El Envelope es el elemento raíz de todo mensaje SOAP e identifica un documento XML como un mensaje SOAP Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 12

13 Mensaje SOAP <?xml version="1.0"?> <soap:envelope xmlns:soap=" soap:encodingstyle=" <soap:header>... </soap:header> <soap:body>... </soap:body> </soap:envelope> <soap:fault>... </soap:fault> Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 13

14 Mensaje SOAP Body <soap:body> <t:translate xmlns:t=" <t:word>red</t:word> </t:translate> </soap:body> <soap:body> <t:translateresponse xmlns:t=" <t:translation>rojo</t:translation> </t:translateresponse> </soap:body> solicitud resultado Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 14

15 Transporte de mensajes SOAP no impone el uso de un determinado protocolo para el intercambio de mensajes A través del concepto de binding SOAP permite especificar: cómo los mensajes SOAP se encapsulan en un protocolo de transporte cómo los mensajes SOAP deben ser tratados con las primitivas del protocolo Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 15

16 Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 16

17 WSDL Web Services Description Language Lenguaje basado en XML que permite describir la interfaz y otras características de un Web Service Un documento WSDL puede dividirse en dos partes: descripción abstracta descripción concreta Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 17

18 Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 18

19 Estandares avanzados Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 19

20 Profiles Basic Profile (BP) Guías para el desarrollo de WS interoperables utilizando las especificaciones centrales Basic Security Profile (BSP) Extiende el BP definiendo guías para el desarrollo de WS seguros Algunos ejemplos: Prohíbe el uso de SSL 2.0 Restringe cantidad de timestamps en header a 1 Prohíbe encriptar los elementos body, header y envelope Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 20

21 Plataformas para web services Las plataformas de Web Services son un conjunto de herramientas para un lenguaje de programación específico Permiten: invocar web services realizar el deploy de Web Services Las plataformas tienen en general componentes en el servidor y en el cliente Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 21

22 Plataformas para web services Los componentes en el servidor se alojan usualmente en algún tipo de contenedor servidor Java EE contenedor de servlets Los componentes en el cliente se empaquetan en general como herramientas para acceder a interfaces asociadas a WS Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 22

23 Plataformas para web services Las plataformas de Web Services proveen en general tres subsistemas: Invocación Serialización Deployment Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 23

24 Subsistema de invocación (servidor) Recibir SOAPs desde el transporte (HTTP, etc) Invocar manejadores para QoS (seguridad, etc) Determinar la operación que se quiere invocar Determinar la clase/método que se quiere invocar Enviar el SOAP al sistema de serialización Invocar la clase-método Enviar el resultado al sistema de serialización Crear y enviar el mensaje SOAP al transporte para el envío de la respuesta Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 24

25 Subsistema de invocación (cliente) Instanciar la clase que implementa la interfaz para acceder a WS y manejar su invocación Enviar parámetros al sistema de serialización Adjuntar los mismos en un mensaje SOAP Invocar manejadores para QoS Enviar el SOAP a través del trasporte (ej. HTTP) Recibir los SOAPs respuesta desde el transporte Enviar los SOAP al sistema de serialización y completar la invocación Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 25

26 Subsistema de invocación Subsistema de Invocación (cliente) Subsistema de Invocación (servidor) Param Request Request Param Param SOAP SOAP Param Objeto Param Param Función Return Respons e SOAP Respons e SOAP Return Invocación de Métodos Intercambio de Mensajes SOAP Invocación de Métodos Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 26

27 Subsistema de serialización Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 27

28 Subsistema de deployment Provee herramientas para configurar un componente de software para que pueda ser invocado como un WS vía mensajes SOAP Desplegar el componente de SW Mapeo operaciones WSDL componente SW Configuración serialización (esquema params) Publicación del WSDL Configurar aspectos avanzados (seguridad, etc.) Configurar el listener en una dirección de red Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 28

29 Algunas plataformas de WS Windows Communication Foundation Apache AXIS 2 Apache CXF Proyecto Metro JBoss Web Services Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 29

30 Implementacion de WS Implementación Bottom-up Se comienza por el código (por ejemplo, una clase Java) Code-First / Contract-Last Implementación Top-down Se comienza por el WSDL Code-Last / Contract-First Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 30

31 Bottom-Up Ventajas Forma rápida de exponer funcionalidades vía WS No requiere conocimiento de XMLSchema, WSDL Desventajas El esquema es embebido en el WSDL Los cambios en la interfaz son más difíciles de manejar En el WSDL hay dependencias con la implementación (paquetes y namespaces) Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 31

32 Top-Down Ventajas Permite el desarrollo independiente y paralelo entre cliente y servicio Cuando se crean nuevos tipos, éstos pueden ser reutilizados por otros servicios No se generan dependencias con la implementación Desventajas Requiere conocimiento de XMLSchema y WSDL Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 32

33 Web Services en JavaEE 6 La plataforma JavaEE 6, incluye soporte para web services, utilizando el protocolo SOAP, a traves del API JAX-WS Java API for XML Web Services La implementacion de referencia se denomina Metro, es desarrollada por Oracle y viene incluida dentro del servidor de aplicaciones GlassFish Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 33

34 Web Services en JavaEE6 y JDK6 En el caso de Jboss, la implementacion de referencia viene incluida en el componente JBossWS, dentro del servidor de aplicaciones JBoss 6 A partir de la version 6 (update 4), la plataforma Java estandar (JDK), incluye las APIs para trabajar con JAX-WS y JAXB, fundamentales para el consumo de web services Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 34

35 Definiendo un web service Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 35

36 Definiendo un web service En el ejemplo anterior se intercambia un objeto CreditCard entre el consumidor y el proveedor del servicio Los datos intercambiados, deben ser un documento XML, por lo que se necesita un método para transformar el objeto Java en un documento XML y viceversa Para esto utilizamos JAXB, anotándolo Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 36

37 Definiendo un web service Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 37

38 Invocando un web service Un ejemplo de posible cliente... Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 38

39 JAXB Si bien el intercambio de información entre el consumidor y proveedor se hace en base a XML, el codigo Java no tiene porque interactuar con esto directamente JAXB provee un estándar para trabajar con representaciones Java de documentos XML y viceversa Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 39

40 La clase CreditCard Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 40

41 El documento XML Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 41

42 El schema XML Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 42

43 Binding Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 43

44 Marshalling/Unmarshalling Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 44

45 Anotaciones JAXB es similar a JPA, salvo que la persistencia se realiza contra un documento XML, en vez de una tabla de la base de datos El mapping al documento puede ser customizado utilizando las anotaciones en el paquete javax.xml.bind.annotation El equivalente en JAXB, se Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 45

46 Anotaciones Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 46

47 El esquema asociado... Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 47

48 El documento obtenido Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 48

49 Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 49

50 Web Services / Funcionamiento Si bien el programador Java no debe preocuparse del manejo de los protocolos de bajo nivel en web services, es conveniente conocer que esta sucediendo por detras... Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 50

51 JAX-WS Como la mayoría de los componentes Java EE, los web services utilizan el esquema de configuración por excepción Solo necesitamos una anotación para transformar un POJO en un web Como en el caso de los EJBs, hay una serie de requerimientos a la hora de escribir un servicio... Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 51

52 JAX-WS La clase debe estar anotada Si el web service es implementado con un EJB, entonces este solo puede ser stateless La clase debe ser publica, y no puede ser final ni abstract La clase debe tener un constructor por defecto La clase no debe definir el método finalize El servicio debe ser stateless Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 52

53 JAX-WS Basta con que un POJO cumpla con los requisitos anteriores, para que pueda ser desplegado en un servlet container Esto se conoce como servlet endpoint Análogamente, un Stateless EJB puede ser utilizado como clase de implementación del servicio Esto se conoce como EJB endpoint Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 53

54 @WebService Esta anotación marca una clase o interfaz como un web service Si se aplica directamente sobre la clase y no la interfaz, entonces el container generara la interfaz a partir de los métodos públicos Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 54

55 @WebMethod Por defecto, todos los métodos públicos del web service (o de su interfaz) son incluidos dentro de lo que se expone al exterior Para customizar la forma en como se hace esto (por ejemplo para cambiar el nombre del método), usamos la aplicada sobre el método a modificar Por ejemplo... Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 55

56 @WebMethod Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 56

57 @WebResult Opera en conjunto con la anotación anterior Permite customizar el nombre del mensaje devuelto como resultado de la operación Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 57

58 @WebParam Permite customizar los parámetros que son enviados al servicio Podemos cambiar el nombre y el tipo de parámetro (IN, OUT, INOUT) Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 58

59 @OneWay Es una anotación que permite indicar que un método, no retorna valores Por ejemplo, los métodos que retornan void Esto permite que el container realice optimizaciones con los métodos de este tipo, por ejemplo, usando Asynchronous (solo en EJB) Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 59

60 Ciclo de vida El ciclo de vida de los web services es similar al de los stateless session beans No mantienen ningún estado, simplemente existen o no existen Como en el caso de los stateless, podemos usar las En el caso de un web service implementado como EJB, se pueden utilizar interceptors Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 60

61 Ciclo de vida Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 61

62 Web Service Context Como en el caso de los EJBs, el web service tiene un contexto que permite obtener información útil del ambiente de ejecución del servicio Se inyecta como en el caso de los EJB, Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 62

63 Web Service Context GetMessageContext Permite acceder al mensaje SOAP, por ejemplo para obtener los headers GetUserPrincipal Identifica a traves del Principal al emisor del mensaje IsUserInRole Determina si un usuario autenticado esta presente en un rol determinado Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 63

64 Invocando un web service Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 64

65 Invocando un web service Usando herramientas que generen stubs y clases Java a partir del WSDL, podemos invocar un servicio web El JDK provee una herramienta, denominada wsimport que genera las clases necesarias para poder realizar la invocación a un determinado web service del que conocemos su wsdl Las interfaces generadas se denominan SEI (Service Endpoint Interfaces) Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 65

66 Invocando un web service Las interfaces y artefactos generados, deben ser colocados en el proyecto que realizara el consumo del servicio web Una vez colocados los artefactos (.java) generados, podemos hacer la invocacion de esta forma: Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 66

67 Generando los artefactos Usamos la herramienta wsimport Por ejemplo, en el practico tenemos este ejemplo: wsimport -keep -d../src viceimpl/calculadoraserviceimpl?wsdl keep permite mantener el codigo fuente generado -d../src es la ruta donde se almacena dicho codigo Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 67

68 @WebServiceRef Permite inyectar una referencia a un servicio web, indicando la localizacion del WSDL del servicio Por 080/app/CalculatorService?WSDL") private CalculatorService service; Solo puede ser utilizado en componentes managed (managed beans, ejbs, etc) Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 68

69 REST La motivación para desarrollar REST fue la de crear un modelo arquitectónico de como tiene que funcionar la web, de forma que sirva de guía para los protocolos de la web REST ha sido usado para describir la arquitectura de la web, identificar problemas existentes, comparar soluciones alternativas, y asegurarse que las extensiones a los protocolos no violan las restricciones centrales que hace a la web exitosa Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 69

70 REST Representational State Transfer Es un estilo arquitectónico para la construcción de software REST fue desarrollado junto con el protocolo HTTP/1.1, el cual se adhiere a REST Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 70

71 Conceptos La arquitectura esta compuesta por clientes y servidores Requests y Responses Los Requests y Responses son construidos en base a la idea de transferir representaciones de recursos Los clientes contienen representaciones Los servidores contienen los recursos en si Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 71

72 Conceptos Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 72

73 Conceptos Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 73

74 ROA REST es un estilo arquitectónico Una arquitectura que se adhiere a este estilo, es ROA: Resource Oriented Architecture Existen otras que pueden (en parte) también adherirse a este estilo de trabajo Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 74

75 Ejemplos de ROA Las URLs apuntan a recursos (sustantivos) Métodos universales para manejar los recursos GET, POST, PUT, DELETE No se maneja estado en el servidor Se hace uso de cache Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 75

76 Definimos REST en base a... Recursos y URIs Representaciones Interfaces uniformes HATEOAS Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 76

77 ... pero NO en base a... Schemas (XSD) Lenguajes de descripción Generación de código Registros Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 77

78 REST/HTTP: Recursos Algo, una cosa con identidad Una persona, un perfil de Facebook, un usuario en Twitter, una direccion, una imagen, un video en Youtube Los recursos se nombran con URIs Las URIs son estables (no cambian tan seguido) Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 78

79 REST/HTTP: Recursos Podemos pensar que la URI es la PK del recurso Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 79

80 URI Generalmente son opacas Lo importante es que los clientes no tengan que parsearla y entenderla Sin embargo, son opacas para las aplicaciones cliente, pero no para los desarrolladores de clientes Una buena forma de organizar los recursos, es usar un enfoque jerárquico Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 80

81 Representaciones Son los elementos que se envían dentro de un request, y que se reciben en un response Por ejemplo: Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 81

82 Media Types (MIME Types) Son el equivalente a la clase de un objeto, o el schema de un documento XML Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 82

83 Negociacion Las representaciones son negociables Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 83

84 Negociacion La idea es no sobrecargar las URIs Le decimos a los intermediarios y clientes como vamos a aceptar una representación Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 84

85 Interfaz uniforme Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 85

86 Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 86

87 Como se describen las APIs Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 87

88 Un ejemplo: Una aplicación quiere transferir U$S1000 de una cuenta bancaria a la otra Que Recursos y URIs tendriamos? Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 88

89 Un ejemplo Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 89

90 Una transferencia... Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 90

91 ... respuesta Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 91

92 Status Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 92

93 Es esto RESTful? En realidad, son nombres de recursos Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 93

94 Es esto RESTful? A través de GET, queremos hacer una operación de modificación Debemos usar PUT Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 94

95 Es esto RESTful? Estamos usando GET y POST como sinónimos, cuando no lo son Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 95

96 Es esto RESTful? Estamos usando IDs internos de aplicación, cuando deberían utilizarse LINKS Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 96

97 Es esto RESTful? Estamos escondiendo errores del intermediario o del cliente Debemos usar los códigos de error de HTTP 4xx o 5xx Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 97

98 Web Service + REST Son web services desarrollados según la filosofía de REST El énfasis esta en el uso de una comunicación simple usando HTTP entre cliente y servidor, intercambiando POX (Plain Old Xml) También pueden intercambiarse otros formatos equivalente sencillos (JSON) Un ejemplo sencillo Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 98

99 Web Service + REST Tenemos un servicio REST para obtener el valor de un stock en el mercado Este seria el REQUEST Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 99

100 Web Service + REST Y esta seria la respuesta Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 100

101 Comparación Sitios web, por el año 1992 Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 101

102 Comparación Servicios web WS-*, desde el año 2000 Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 102

103 Comparación Servicios web REST, desde el año 2006 Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 103

104 Estandares Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 104

105 Servicio Web SOAP Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 105

106 Servicio web RESTful Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 106

107 Protocolos en SOAP Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 107

108 Protocolos en REST Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 108

109 JAX-RS Para escribir un servicio web que utilice REST, solo se necesita un cliente y un servidor que soporte HTTP Como en el caso de SOAP, a fin de eliminar el trabajo con protocolos de bajo nivel, aparece el API JAX-RS La implementación de referencia de esta API, se denomina Jersey (es un proyecto open source) Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 109

110 JAX-RS Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 110

111 JAX-RS En el ejemplo anterior, el recurso BookResource esta publicado en la URI /book El método getbooktitle() queda asociado al método GET HTTP, produciendo un contenido de tipo text/plain Para acceder al recurso, solo debemos usar un browser con la dirección Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 111

112 JAX-RS El servicio REST no implementa ninguna interfaz ni extiende ninguna clase Debemos usar la Si queremos usar un EJB, entonces solo podemos La clase debe ser public, y no abstract ni final Debe contener un constructor por defecto La clase no debe incluir el método finalize() Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 112

113 Default Providers Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 113

114 Interfaz de acceso al recurso JAX-RS define una serie de anotaciones, para indicar que método HTTP se utilizara para acceder a un recurso Estas anotaciones corresponden a los métodos Solo los métodos públicos de una clase pueden exponerse como métodos de recurso Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 114

115 Interfaz CRUD Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 115

116 Interfaz de acceso al recurso Cuando un método de recurso es invocado Los parámetros para los cuales hay un extractor, son cargados con dicho valor Los valores de parámetros no anotados, llamados entity parameters, es mapeado del cuerpo del request, a través de un entity provider Los métodos pueden devolver void, un tipo Java o un Response Response es usado cuando es necesario devolver mas información (metadatos) en la respuesta Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 116

117 Información contextual Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 117

118 Manejo de excepciones Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 118

119 Ciclo de vida Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 119

120 HelloWorld Creamos una web application Para exponer recursos REST, necesitamos una implementacion de REST Puede ser JAX-RS En el caso de JBoss, podemos usar RESTEasy Esta es una implementacion que ya viene incorporada en el servidor 6.0 Necesitamos que el web.xml sea version 3.0 Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 120

121 HelloWorld <web-app version="3.0" xmlns=" xmlns:xsi=" xsi:schemalocation=" </web-app> Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 121

122 HelloWorld Creamos una clase HelloWorldResource package ejemplos; import public class public String helloworld() { return "Hello World!"; } } Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 122

123 HelloWorld Luego de creado el recurso, deployeamos y ejecutamos la aplicación web Accedemos al recurso, a través de la URL ello Deberíamos obtener Hello World!! Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 123

124 PathParam Permite extraer pedazos de la URL package ejemplos; import public class public String final String name) { return "Hi!, how are you " + name; } } Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 124

125 PathParam Como antes, se deployea y ejecuta la aplicacion Debemos entrar a la URL: Deberíamos obtener: Hi!, how are you Pablo Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 125

126 Intercambio de XML Podemos intercambiar objetos XML, tanto para el resultado como para los parametros Para esto debemos usar providers JAXB (idem SOAP), que se encarguen de mapear instancias en documentos XML Por ejemplo, vamos a intercambiar objetos Java, Items Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 126

127 package public class Item { private String codigo; private int precio; public Item() { } public Item(String codigo, int precio) { this.codigo = codigo; this.precio = precio; } public String getcodigo() { return codigo; } public void setcodigo(string codigo) { this.codigo = codigo; } public int getprecio() { return precio; } public void setprecio(int precio) { this.precio = precio; } } Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 127

128 ItemResource package ejemplo; import public class ItemResource @Produces({ "application/xml" }) public Item getitem() { Item item = new Item("IPhone5", 1500); return item; } Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 128

129 ItemResource Si ejecutamos la aplicacion, al especificar application/xml, se utilizara el provider adecuado para obtener este XML <item> <description>iphone5</description> <price>1500</price> </item> Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 129

130 @FormParam Esta anotacion sirve para extraer informacion de un formulario <html> <body> <form method="post" action="login"> Address: <input type="text" name=" "><br> Password: <input type="text" name="password"><br> <br> <input type="submit"> </form> </body> </html> Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 130

131 @FormParam package ejemplos; import javax.ws.rs.formparam; import javax.ws.rs.post; import public class LoginResource public String String String password) { return "Ingreso con el " + + " y el password " + password; } Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 131

132 @QueryParam Es muy similar al anterior, solo que al usarlo, se trata de extraer el valor el query parameter con el nombre public String String idvalue) { return "Id es " + idvalue; } de proyecto>/login?id=12345 Instituto de Computación Facultad de Ingeniería UdelaR Montevideo, Uruguay 132

4.5 APIs Java y Java EE para Servicios Web

4.5 APIs Java y Java EE para Servicios Web 4.5 APIs Java y Java EE para Servicios Web 4.5.1 JAXB (Java Architecture for XML Binding) APIs clásicas para procesamiento de documentos XML SAX (Simple API for XML): procesamiento de XML basado en eventos

Más detalles

Taller de Sistemas de Información 2. Web Services en Java y Java EE

Taller de Sistemas de Información 2. Web Services en Java y Java EE Taller de Sistemas de Información 2 Web Services en Java y Java EE Plataformas de Web Services Las plataformas de Web Services son un conjunto de herramientas para un lenguaje de programación específico

Más detalles

Servicios Web. Andrés Pastorini. TRIA Tecnólogo Informático

Servicios Web. Andrés Pastorini. TRIA Tecnólogo Informático Andrés Pastorini TRIA Tecnólogo Informático Un servicio web expone un conjunto de servicios para ser consumidos a través de la red. En otras palabras, un servicio web especifica un conjunto de operación(funciones

Más detalles

Curso SOA and Java Web Services with JAX-WS

Curso SOA and Java Web Services with JAX-WS Curso SOA and Java Web Services with JAX-WS Descripción: Los servicios Web están diseñados para permitir acceso basado en Web a software distribuido y servicios de negocio. Ofrecen un estándar y una arquitectura

Más detalles

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB Existen varios tipos de tecnologías para los Servidores Web, estas tecnologías se pueden dividir en 4 grupos principales que son: Tecnologías al lado del cliente

Más detalles

Servicios web. Jorge Iván Meza Martínez jimezam@gmail.com

Servicios web. Jorge Iván Meza Martínez jimezam@gmail.com Servicios web Jorge Iván Meza Martínez jimezam@gmail.com Especialización en Gestión de Redes de Datos Universidad Nacional de Colombia Sede Manizales 1/71 Contenidos Que es un servicio web. Tecnologías

Más detalles

Web Services. Richard Rossel rrossel@inf.utfsm.cl. 23 de noviembre de 2004. Web Services

Web Services. Richard Rossel rrossel@inf.utfsm.cl. 23 de noviembre de 2004. Web Services Richard Rossel rrossel@inf.utfsm.cl 23 de noviembre de 2004 JAVA2 TOC s JAVA2 JAVA2 Definición Aplicaciones Autocontenidas y Modulares Basado en estándares (XML,HTTP) Aplicaciones se anuncian por la red

Más detalles

TEMA 5. Otras arquitecturas distribuidas IV. Web Services

TEMA 5. Otras arquitecturas distribuidas IV. Web Services TEMA 5. Otras arquitecturas distribuidas IV. Web Services IV. Web Services 1. Qué son los Web Services? 2. Ejemplos de Web Services 3. Tecnologías y arquitectura 3.1. Arquitectura 3.2. Lenguaje de descripción:

Más detalles

Qué son los Web Services?

Qué son los Web Services? III. Web Services 1. Qué son los Web Services? 2. Ejemplos de Web Services 3. Tecnologías y arquitectura 3.1. Arquitectura 3.2. Lenguaje de descripción: WSDL 3.3. Protocolo: SOAP 3.4. Registro de servicios:

Más detalles

Web Services en Java. Taller de Programación. Instituto de Computación Facultad de Ingeniería Universidad de la República

Web Services en Java. Taller de Programación. Instituto de Computación Facultad de Ingeniería Universidad de la República Web Services en Java Taller de Programación Instituto de Computación Facultad de Ingeniería Universidad de la República Contenido Motivación y Conceptos Funcionamiento Annotations Desarrollando una aplicación

Más detalles

Desarrollo y servicios web

Desarrollo y servicios web Desarrollo y servicios web Luisa Fernanda Rincón Pérez 2014-2 Qué vimos la clase pasada? Introducción a Big Data Introducción a bases de datos NOSQL Características bases de datos NOSQL MongoDB como motor

Más detalles

Capacitación Efectiva SOA y Web Services con Java

Capacitación Efectiva SOA y Web Services con Java Descripción: SOA es un paradigma de arquitectura para diseñar y desarrollar sistemas distribuidos. Las soluciones SOA han sido creadas para satisfacer los objetivos de negocio las cuales incluyen facilidad

Más detalles

Introducción a WS-REST. Ing. Guillermo Roldós Agosto 2010

Introducción a WS-REST. Ing. Guillermo Roldós Agosto 2010 Introducción a WS-REST Ing. Guillermo Roldós Agosto 2010 Agenda Descripción general Arquitectura orientada a recursos (ROA) Soporte Java y.net Calidad de servicio Casos de estudio Dominios de aplicación

Más detalles

Requisitos. Universidad ORT Arquitectura de Software

Requisitos. Universidad ORT Arquitectura de Software Requisitos Java Development Kit (JDK) 1.5 o superior NetBeans IDE 6.5 o superior JBoss Application Server 4.2.x o 5.x.x Variable de entorno JAVA_HOME apuntando al directorio de instalación de la JDK 1

Más detalles

DESARROLLO WEB EN ENTORNO SERVIDOR

DESARROLLO WEB EN ENTORNO SERVIDOR DESARROLLO WEB EN ENTORNO SERVIDOR CAPÍTULO 7: Programación de servicios Web Marcos López Sanz Juan Manuel Vara Mesa Jenifer Verde Marín Diana Marcela Sánchez Fúquene Jesús Javier Jiménez Hernández Valeria

Más detalles

Tutorial Servicios Web

Tutorial Servicios Web Tutorial Servicios Web 1. Servicios Web con REST Como ya hemos usado SOAP para WebService, podemos afirmar que es bien fácil de diseñar, pero algo complicado de consumir: se necesita toda una API para

Más detalles

GALA. Servicios WEB. Curso ASP.NET Desarrollo de Sitios y Servicios Web con Visual Basic 2010, 24 h. L25. Servicios Web en Integración

GALA. Servicios WEB. Curso ASP.NET Desarrollo de Sitios y Servicios Web con Visual Basic 2010, 24 h. L25. Servicios Web en Integración L25. Servicios Web en Integración L25. en ASP.NET Tipo de proyecto Archivos.ASMX Igual que los.aspx, UN URL Imports System Imports System.Web.Services

Más detalles

Aplicaciones y Servicios Web (Web Services)

Aplicaciones y Servicios Web (Web Services) Aplicaciones y Servicios Web (Web Services) Joaquín Salvachúa DIT- jsalvachua@.upm.es -1- Internet NG Índice Problema a resolver Arquitectura SOAP WSDL UDDI Conclusiones -2- Internet NG Aplicaciones WEB

Más detalles

LICENCIA PROFESIONAL EN DESARROLLO DE SOFTWARE PARA APLICACIONES WEB

LICENCIA PROFESIONAL EN DESARROLLO DE SOFTWARE PARA APLICACIONES WEB LICENCIA EN DESARROLLO DE SOFTWARE PARA HOJA DE ASIGNATURA CON DESGLOSE DE UNIDADES TEMÁTICAS 1. Nombre de la asignatura Web Services 2. Competencias Desarrollar Aplicaciones web a través de metodologías

Más detalles

Sistemas Distribuidos Servicios web. Rodrigo Santamaría

Sistemas Distribuidos Servicios web. Rodrigo Santamaría + Sistemas Distribuidos Servicios web Rodrigo Santamaría + Servicios web Introducción IDL SOAP REST XML/JSON-RPC 2 + Introducción 3 n Java RMI o Sun RPC son middleware de nivel alto, aptos para realizar

Más detalles

JavaEE. www.javasoft.com

JavaEE. www.javasoft.com JavaEE Java Enterprise Edition www.javasoft.com Por qué Java en el servidor? Ventajas Independencia de la plataforma portabilidad Gran conjunto de APIs Reusabilidad y modularidad Seguro en la ejecución

Más detalles

Universidad ORT - Arquitecturas de Software sobre plataforma JEE Web Services (parte 1)

Universidad ORT - Arquitecturas de Software sobre plataforma JEE Web Services (parte 1) Requisitos Oracle Java Development Kit (JDK) 6 NetBeans 6.9.1 con GlassFish Application Server 3 integrado Variable de entorno JAVA_HOME apuntando al directorio de instalación de la JDK Introducción El

Más detalles

Service Oriented Architecture

Service Oriented Architecture Programación Concurrente y Distribuida Ingeniería en Informática Service Oriented Architecture José Carlos Cortizo Pérez josecarlos.cortizo@uem.es http://www.esp.uem.es/jccortizo D. Sistemas Informáticos

Más detalles

Cursos de Extensión Universitaria UNIVERSIDAD DE OVIEDO. Servicios Web (II)

Cursos de Extensión Universitaria UNIVERSIDAD DE OVIEDO. Servicios Web (II) Fernández Acebal acebal@ieee.org OOTLab PROGRAMACIÓN ORIENTADA A OBJETOS CON C# EN LA PLATAFORMA.NET (II) Dpto. de Informática Lab - Laboratorio de Tecnologías Orientadas a Objetos www.ootlab.uniovi.es

Más detalles

Tema 5. Plataforma Java EE

Tema 5. Plataforma Java EE Tema 5. Plataforma Java EE SCS Sistemas Cliente/Servidor 4 o informática http://ccia.ei.uvigo.es/docencia/scs septiembre 2011 FJRP, FMBR 2008-2011 ccia SCS 5.1 Introducción a Java EE Java EE (Java Enterprise

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

Si usted quiere desarrollar con Bluevia y Java, esto es lo primero que debe saber

Si usted quiere desarrollar con Bluevia y Java, esto es lo primero que debe saber LIMINAL Si usted quiere desarrollar con Bluevia y Java, esto es lo primero que debe saber Mario Linares Vásquez mario.linares@liminal-it.con Junio 30 de 2011 Network as a Service - NaaS Que información

Más detalles

Servicios REST con Eclipse y JAX-RS

Servicios REST con Eclipse y JAX-RS Servicios REST con Eclipse y JAX-RS Software como Servicio y Distribuido 2011/2012 Diego Sevilla Ruiz DITEC Facultad de Informática Murcia, noviembre de 2011 Diego Sevilla Ruiz (DITEC Facultad de Informática)Servicios

Más detalles

GUIA DE LABORATORIO N 8 A(Netbeans-java,Glassfish)

GUIA DE LABORATORIO N 8 A(Netbeans-java,Glassfish) UNIVERSIDAD DE EL SALVADOR FACULTAD DE INGENIERIA Y ARQUITECTURA ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS PROGRAMACION PARA DISPOSITIVOS MOVILES PDM115 Ciclo I-2014 GUIA DE LABORATORIO N 8 A(Netbeans-java,Glassfish)

Más detalles

Tema 5. Plataforma Java EE

Tema 5. Plataforma Java EE Tema 5. Plataforma Java EE SCS Sistemas Cliente/Servidor 4 o informática http://ccia.ei.uvigo.es/docencia/scs enero 2009 FJRP, FMBR 2008/09 ccia SCS 5.1 Introducción a Java EE Java EE (Java Enterprise

Más detalles

Práctica 6. Servicios WEB (Java JAX-WS) SCS, 2009/10

Práctica 6. Servicios WEB (Java JAX-WS) SCS, 2009/10 Práctica 6. Servicios WEB (Java JAX-WS) SCS, 2009/10 12 de enero de 2010 Índice 1. Introducción 1 2. Ejercicio 1: Uso de Servicios Web ya publicados 2 2.1. Repositorio de servicios web............................................

Más detalles

Desarrollo de Sistemas Software Basados en Servicios y Componentes

Desarrollo de Sistemas Software Basados en Servicios y Componentes Desarrollo de Sistemas Software Basados en Servicios y Componentes Bloque Docente SERVICIOS WEB Parte 2 Portada Escuela Superior de Ingeniería (ESI) Universidad de Almería Índice Visualización WSDL (servicios

Más detalles

Servicios web. Contenido. Programación en Internet Curso 2007-2008. Introducción Los pilares (SOAP, WSDL, UDDI) Desarrollo de un servicio web

Servicios web. Contenido. Programación en Internet Curso 2007-2008. Introducción Los pilares (SOAP, WSDL, UDDI) Desarrollo de un servicio web Departamento de Lenguajes y Sistemas Informáticos Servicios web Programación en Internet Curso 2007-2008 Contenido Introducción Los pilares (SOAP, WSDL, UDDI) Desarrollo de un servicio web DLSI - Universidad

Más detalles

Introducción a JAX-WS Web Services

Introducción a JAX-WS Web Services INSTITUTO POLITECNICO NACIONAL ESCUELA SUPERIOR DE CÓMPUTO ALUMNO: SANLUIS CASTILLO JOSE DAVID PROFESOR: CIFUENTES ALVAREZ ALEJANDRO SIGFRIDO MATERIA: WEB APPLICATION DEVEPLOMENT Introducción a JAX-WS

Más detalles

Objetivo de aprendizaje del tema

Objetivo de aprendizaje del tema Computación II Tema 13. Servlets Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Describir las características ti de las aplicaciones i Web y los protocolos que intervienen en la

Más detalles

Documentación Técnica Conector

Documentación Técnica Conector Documentación Técnica Conector Torre Ejecutiva Sur Liniers 1324, piso 4 Montevideo Uruguay Tel/Fax: (+598) 2901.2929* Email: contacto@agesic.gub.uy www.agesic.gub.uy Indice 1 Introducción...4 2 Casos

Más detalles

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la Servicios web Introducción Un servicio web es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes

Más detalles

5.1 Introducción a Servicios Web

5.1 Introducción a Servicios Web 5.1 Introducción a Servicios Web Introducción Continuando con el ejemplo de intercambio de información de películas... => Actualmente ya no es necesario implementar la solución sugerida a mano Se han estandarizado

Más detalles

Introducción a la herramienta para administración de información de especies y especímenes: Ara. María Mora, INBio. Costa Rica mmora@inbio.ac.

Introducción a la herramienta para administración de información de especies y especímenes: Ara. María Mora, INBio. Costa Rica mmora@inbio.ac. Introducción a la herramienta para administración de información de especies y especímenes: Ara María Mora, INBio. Costa Rica mmora@inbio.ac.cr Temario Objetivo del sistema Mecanismos de implementación

Más detalles

Curso de Java EE Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1

Curso de Java EE Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Vivimos en un mundo globalizado, donde la eficiencia y productividad de las empresas es un factor crucial para

Más detalles

Apéndice 1. SOAP 2 2. CORBA 4 3. JMS 6 4. RMI 8

Apéndice 1. SOAP 2 2. CORBA 4 3. JMS 6 4. RMI 8 Apéndice A Conectividad 1. OAP 2 2. CORBA 4 3. JM 6 4. RMI 8 OAP OAP (imple Object Access Protocol) es un protocolo basado en XML que permite comunicar componentes y aplicaciones mediante HTTP. Es como

Más detalles

Servicio Web. Estándares empleados. Ventajas de los servicios web. Inconvenientes de los servicios Web

Servicio Web. Estándares empleados. Ventajas de los servicios web. Inconvenientes de los servicios Web Servicio Web Un servicio web (en inglés, Web services) es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones

Más detalles

Taller de Sistemas de Información 1

Taller de Sistemas de Información 1 Taller de Sistemas de Información 1 Aplicaciones Empresariales, Arquitectura de Software y Web Services 12 de Marzo de 2012 Instituto de Computación Facultad de Ingeniería Universidad de la República de

Más detalles

Sistemas Operativos Distribuidos. Introducción a los Servicios Web (Web Services)

Sistemas Operativos Distribuidos. Introducción a los Servicios Web (Web Services) Introducción a los Servicios Web (Web Services) 2 Evolución de la Web Pasado: Web de documentos Páginas estáticas Web como un enorme repositorio de información Tecnologías: HTTP + HTML Presente: Web de

Más detalles

Servicios Web Ubicuos Activados por Voz

Servicios Web Ubicuos Activados por Voz Servicios Web Ubicuos Activados por Voz Parte II. Servicios Web Juan José Ramos Muñoz Dpto. de Teoría de la Señal, Telemática y Comunicaciones La Web de las cosas Servicios Web Ubicuos Activados por Voz

Más detalles

Sesión 17. Servicios web RESTful

Sesión 17. Servicios web RESTful Sesión 17. Servicios web RESTful Luisa Fernanda Rincón Pérez 2015-1 Qué vimos la sesión pasada? 1. Consumir servicio web SOAP desde JAVA 2. Consumir servicio web en PHP 3. Exponer servicio web en PHP Qué

Más detalles

Curso de Java EE Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 1

Curso de Java EE Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 1 1 Los Enterprise Java Beans (EJB) es código Java del lado del Servidor. Normalmente tienen la lógica de negocio de nuestra aplicación, y por lo tanto cubren el rol de la capa de servicio de nuestras aplicaciones

Más detalles

2. Se indica el nombre y las configuraciones necesarias para la creación del proyecto

2. Se indica el nombre y las configuraciones necesarias para la creación del proyecto Creación de un Web Service 1. Crear un proyecto Web de Java 2. Se indica el nombre y las configuraciones necesarias para la creación del proyecto 3. Se dejan por defecto los paquetes de archivos Java y

Más detalles

Programa de Actualización Profesional Curso: Java Avanzado JEE7 Programa del Curso

Programa de Actualización Profesional Curso: Java Avanzado JEE7 Programa del Curso Objetivo: Transmitir conocimientos y desarrollar habilidades y aptitudes que permitan al asistente incorporar, en su ejercicio profesional, la utilización de buenas técnicas y nuevos paradigmas de desarrollo

Más detalles

Curso: Programación con JAVA SE Estándar Edition.

Curso: Programación con JAVA SE Estándar Edition. Curso: Programación con JAVA SE Estándar Edition. Código: 1062 Familia Profesional: Programación. Acreditación: Formación reconocida a través de vías no formales Modalidad: Distancia Duración: 150 horas

Más detalles

Tema 3. Plataforma Java EE

Tema 3. Plataforma Java EE Tema 3. Plataforma Java EE DAGSS Diseño de Arquitecturas de Grandes Sistemas Software 4 o Grado Ing. Informática http://ccia.ei.uvigo.es/docencia/dagss noviembre 2014 FJRP 2014 DAGS 3.1 Introducción a

Más detalles

2524 Developing XML Web Services Using Microsoft ASP.NET

2524 Developing XML Web Services Using Microsoft ASP.NET 2524 Developing XML Web Services Using Microsoft ASP.NET Introducción La meta de este curso es de proveer a los estudiantes con el conocimiento y habilidades requeridas para desarrollar soluciones basadas

Más detalles

Servlets. Unidad: 4 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos

Servlets. Unidad: 4 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Servlets Unidad: 4 Laboratorio de Programación Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Indice Introducción CGI Servlets: concepto, caracteristicas Servlets Vs. CGI Ciclo

Más detalles

Servicios Web con Java EE

Servicios Web con Java EE Servicios Web con Java EE Daniel López Fuentes Laura Tolsada Bris Sergio Tejero López Irene Clemente Bueno Departamento de Ingeniería Telemática Universidad Carlos III de Madrid 2 Introducción Un servicio

Más detalles

Servicios Web con Java EE

Servicios Web con Java EE Introducción Servicios Web con Java EE Daniel López Fuentes Laura Tolsada Bris Sergio Tejero López Irene Clemente Bueno Un servicio web es un conjunto de protocolos y estándares que sirven para intercambiar

Más detalles

Universidad ORT - Arquitectura de Software. Requisitos

Universidad ORT - Arquitectura de Software. Requisitos Requisitos Versión 1.5 (o superior) de la JDK de Java NetBeans 6.5 como IDE de desarrollo JBoss 4.2.x como Application Server Variable de entorno de Windows JAVA_HOME apuntando al directorio de instalación

Más detalles

Notas técnicas de JAVA Nro. 7 Tip Breve

Notas técnicas de JAVA Nro. 7 Tip Breve Notas técnicas de JAVA Nro. 7 Tip Breve (Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado) Tema: JAVA Basics: Diferencias conceptuales entre JavaBeans y Enterprise JavaBeans (EJB)

Más detalles

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms Patrones Patrones Es una solución reusable de problemas comunes. Los patrones solucionan problemas que existen en muchos niveles de abstracción. desde el análisis hasta el diseño y desde la arquitectura

Más detalles

Tema 18. Servicios Web.

Tema 18. Servicios Web. Tema 18. Servicios Web. Los web services son componentes software que permiten a los usuarios usar aplicaciones de negocio que comparten datos con otros programas modulares, vía Internet. Son aplicaciones

Más detalles

SERVIDOR WEB MULTIPLATAFORMA CON IMPLEMENTACIÓN CGI

SERVIDOR WEB MULTIPLATAFORMA CON IMPLEMENTACIÓN CGI SERVIDOR WEB MULTIPLATAFORMA CON IMPLEMENTACIÓN CGI C.U. Loraine E. Gimson Saravia a, C.U. Julián J. Fernández b L.I.D.T.I. Universidad Nacional de Salta. Facultad de Ciencias Exactas a E-Mail: saraviag@unsa.edu.ar

Más detalles

Técnico Superior en Programación con Java SE Standard Edition

Técnico Superior en Programación con Java SE Standard Edition Código: M087_04 Técnico Superior en Programación con Java SE Standard Edition Modalidad: Distancia Duración: 120 horas Objetivos: Este pack de materiales formativos proporcionará al alumnado la base que

Más detalles

Sesión 5 Introducción a REST

Sesión 5 Introducción a REST Sesión 5 Introducción a REST Sistemas Distribuidos Diego Sevilla Ruiz DITEC Facultad de Informática Murcia, 2012 Diego Sevilla Ruiz (DITEC Facultad de Informática) Sesión 5 Introducción a REST Murcia,

Más detalles

MWEB 2007 Acceso Dinámico a Servicios de una Infraestructura Web desde Teléfonos Móviles

MWEB 2007 Acceso Dinámico a Servicios de una Infraestructura Web desde Teléfonos Móviles MWEB 2007 Acceso Dinámico a Servicios de una Infraestructura Web desde Teléfonos Móviles Elena Sánchez Nielsen Sandra Martín Ruiz Jorge Rodríguez Pedrianes UNIVERSIDAD DE LA LAGUNA CONTENIDO DE LA PRESENTACIÓN

Más detalles

Máster Universitario en Ingeniería Informá3ca. REST avanzado. Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA

Máster Universitario en Ingeniería Informá3ca. REST avanzado. Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA Máster Universitario en Ingeniería Informá3ca REST avanzado Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA 2 OAuth Flask REST avanzado Objetivo 3 En Sistemas Distribuidos vimos cómo:

Más detalles

Programación de red con Cisco Application Centric Infrastructure

Programación de red con Cisco Application Centric Infrastructure Informe técnico Programación de red con Cisco Application Centric Infrastructure Descripción general En este documento se examina la compatibilidad de la programación de Cisco Application Centric Infrastructure

Más detalles

Enterprise JavaBeans 3. Aplicaciones Distribuidas

Enterprise JavaBeans 3. Aplicaciones Distribuidas Enterprise JavaBeans 3 Aplicaciones Distribuidas Contenido Introducción Motivación Características básicas Servicios integrados en EJB 3 Ejemplo Hola Mundo Inyección de dependencia Tipos de EJB 3 Conclusiones

Más detalles

Construir RIA usando Flex. Eduardo Ostertag Jenkins, Ph.D. OBCOM INGENIERIA S.A. Eduardo.Ostertag@obcom.cl

Construir RIA usando Flex. Eduardo Ostertag Jenkins, Ph.D. OBCOM INGENIERIA S.A. Eduardo.Ostertag@obcom.cl Construir RIA usando Flex Eduardo Ostertag Jenkins, Ph.D. OBCOM INGENIERIA S.A. Eduardo.Ostertag@obcom.cl Temario Arquitectura de un aplicación RIA Flex Servicios Web en VB.NET, C# y Java Descriptor WSDL

Más detalles

Taller de Sistemas de Información 2

Taller de Sistemas de Información 2 Taller de Sistemas de Información 2 Mensajeria 6 de Setiembre de 2012 Instituto de Computación Facultad de Ingeniería Universidad de la República de Uruguay Messaging La comunicación que hemos visto hasta

Más detalles

Máster Universitario en Ingeniería Informá3ca. REST avanzado. Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA

Máster Universitario en Ingeniería Informá3ca. REST avanzado. Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA Máster Universitario en Ingeniería Informá3ca REST avanzado Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA 2 OAuth Flask REST avanzado Objetivo 3 En Sistemas Distribuidos vimos cómo:

Más detalles

Clase. geniería de la Computación. Departamento de Ciencias e Ing. Diego C. Martínez - DCIC-UNS

Clase. geniería de la Computación. Departamento de Ciencias e Ing. Diego C. Martínez - DCIC-UNS Ingeniería de Ap plicaciones Web Clase 2 Diego C. Martínez Departamento de Ciencias e Ing geniería de la Computación Universidad Nacional del Sur Internet y sus servicios Internet define una forma de conexión

Más detalles

Para el desarrollo de aplicaciones Web se han generado múltiples tecnologías entre ellas se encuentran:

Para el desarrollo de aplicaciones Web se han generado múltiples tecnologías entre ellas se encuentran: Desarrollo de aplicaciones y servicios web Cinxgler Mariaca Minda Cinxgler@udistrital.edu.co Presidente Capítulo de Computadores Rama IEEE Universidad Distrital Francisco José de Caldas Resumen: Este articulo

Más detalles

1 Índice... 1. 2 Introducción... 2. 2.1 Propósito... 2. 2.2 Alcance... 2. 3 Modelo Arquitectónico Inicial... 3

1 Índice... 1. 2 Introducción... 2. 2.1 Propósito... 2. 2.2 Alcance... 2. 3 Modelo Arquitectónico Inicial... 3 1 Índice 1 Índice... 1 2 Introducción... 2 2.1 Propósito... 2 2.2 Alcance... 2 3 Modelo Arquitectónico Inicial... 3 3.1 Diagrama de alto nivel de la arquitectura... 3 3.2 Vista de Casos de Uso... 5 3.2.1

Más detalles

HTTP Introducción. Redes de Datos Ing. Marcelo Utard / Ing. Pablo Ronco FACULTAD DE INGENIERIA UNIVERSIDAD DE BUENOS AIRES

HTTP Introducción. Redes de Datos Ing. Marcelo Utard / Ing. Pablo Ronco FACULTAD DE INGENIERIA UNIVERSIDAD DE BUENOS AIRES Introducción Protocolo de capa de aplicación utilizado para la transferencia de Recursos u objetos. Opera sobre TCP típicamente en el puerto 80 Simple Stateless Genérico Utiliza las extenciones MIME. Transporte

Más detalles

WebServices bajo SOA. SOAagenda team Chile

WebServices bajo SOA. SOAagenda team Chile WebServices bajo SOA SOAagenda team Chile 1 Conceptos Servicio SOA Una tarea de negocio repetitiva validar Crédito Cliente, que cumple estándares SOA WebService Funcionalidades disponibles vía Web, implementadas

Más detalles

Portal Inteligente Medellín Documentación de la Arquitectura de Software

Portal Inteligente Medellín Documentación de la Arquitectura de Software Guías para las API de servicios Portal Inteligente Medellín Documentación de la Arquitectura de Software Juan G. Lalinde-Pulido Claudia M. Zea Luis F. Londoño Nicolás Hock Sergio A. Monsalve Departamento

Más detalles

SISTEMAS DE INFORMACIÓN III TEORÍA

SISTEMAS DE INFORMACIÓN III TEORÍA CONTENIDO: Introducción a los Web services Las bases de los Web services La nueva generación de la Web Interactuando con los Web services La tecnología de Web services XML: Lo fundamental WSDL: Describiendo

Más detalles

WbS Web Services. Roberto Gómez Cárdenas rogomez@itesm.mx http://homepage.cem.itesm.mx/rogomez. Web Services

WbS Web Services. Roberto Gómez Cárdenas rogomez@itesm.mx http://homepage.cem.itesm.mx/rogomez. Web Services WbS Web Services Roberto Gómez Cárdenas rogomez@itesm.mx http://homepage.cem.itesm.mx/rogomez mx/rogomez Lámina 1 Web Services Servicios web. Interfaz red a una aplicación basada en tecnologías internet

Más detalles

5 Aplicaciones empresariales con tecnología java EE.

5 Aplicaciones empresariales con tecnología java EE. 5 Aplicaciones empresariales con tecnología java EE. Esta tesis aborda la creación de una aplicación empresarial, pero, a qué se refiere el término de aplicación empresarial? En esencia, las aplicaciones

Más detalles

PWSP Manual de Usuario

PWSP Manual de Usuario PWSP Manual de Usuario Plataforma de Servicios Web del Grupo PentaSoft Febrero 2007 http://ws.pentasoft.es http://ws.test.pentasoft.es PWSP PentaSoft Web Services Platform es un producto registrado de

Más detalles

TEMARIO. 4-Servlet Definición de servlet El Web Container y el ciclo de vida de los servlets El ciclo request- response.

TEMARIO. 4-Servlet Definición de servlet El Web Container y el ciclo de vida de los servlets El ciclo request- response. TEMARIO 1-Introducción Entorno de Desarrollo Integrado ( que es, para que nos sirve, distintos tipos) Presentación del Netbeans (descarga, instalación, aspectos fundamentales.) Principales Servidores de

Más detalles

UNIVERSIDAD DE PIURA

UNIVERSIDAD DE PIURA ESPECIALIZACIÓN EN DESARROLLO DE APLICACIONES EMPRESARIALES CON JAVA EE Ofrecer al alumno los conocimientos necesarios para la construcción de sistemas informáticos bajo una arquitectura cliente servidor

Más detalles

RESTful 4 all. Diego Sapriza diego@sapriza.net @AV4TAr

RESTful 4 all. Diego Sapriza diego@sapriza.net @AV4TAr RESTful 4 all Diego Sapriza diego@sapriza.net @AV4TAr Como diseñar una API RESTful sin morir en el intento. Hi! I M Diego Sapriza @AV4TAr ..uy PHP.meetup.uy DevOps.meetup.uy El mundo evoluciona constantemente

Más detalles

Taller de Sistemas de Información 2. Desarrollo Web

Taller de Sistemas de Información 2. Desarrollo Web Taller de Sistemas de Información 2 Desarrollo Web Como funciona la web? Cuando navegamos la web, queremos acceder a un documento en algún lugar (de la web), para el cual disponemos de una URL (su dirección)

Más detalles

Especificación Técnica de Protocolo Para el intercambio de información entre Telecom Personal y sus proveedores de servicios

Especificación Técnica de Protocolo Para el intercambio de información entre Telecom Personal y sus proveedores de servicios Especificación Técnica de Protocolo Para el intercambio de información entre Telecom Personal y sus proveedores de servicios Página 1 de 26 09/12/2009 Página 2 de 26 09/12/2009 Índice OBJETIVOS... 5 INTRODUCCIÓN...

Más detalles

Tema 4. Servicios WEB

Tema 4. Servicios WEB Tema 4. Servicios WEB SCS Sistemas Cliente/Servidor 4 o informática http://ccia.ei.uvigo.es/docencia/scs octubre 2008 FJRP, FMBR 2008/09 ccia SCS 4.1 Servicios WEB Un Servicio Web es un componente software

Más detalles

Escuela Superior de Ingeniería. Creación de un servicio Web REST y su despliegue en Tomcat

Escuela Superior de Ingeniería. Creación de un servicio Web REST y su despliegue en Tomcat Escuela Superior de Ingeniería Programación en Internet Grado en Ingeniería Informática Creación de un servicio Web REST y su despliegue en Tomcat Autores: Javier Montes Cumbrera y Salvador Carmona Román

Más detalles

Máster Universitario en Ingeniería Informá3ca. REST: introducción. Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA

Máster Universitario en Ingeniería Informá3ca. REST: introducción. Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA Máster Universitario en Ingeniería Informá3ca REST: introducción Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA 2 Invocación de un servicio web Autenticación Navegadores curl Java Creación

Más detalles

Sistemas Distribuidos Basados en la WEB

Sistemas Distribuidos Basados en la WEB Sistemas Distribuidos Basados en la WEB Andrew Tanembaum M. L. Liu Contenido Introducción Lenguajes: HTML, XML El Protocolo: HTTP Contenido Web Generado en Forma Dinámica: CGI Sesiones Web y datos de estado

Más detalles

Un servlet es una clase java que implementa la Servlet interface. Un servlet corre dentro de un contexto denominado Servlet engine.

Un servlet es una clase java que implementa la Servlet interface. Un servlet corre dentro de un contexto denominado Servlet engine. Capítulo 6 Servlets En esta sección se va a tratar el primer componente que corre del lado del servidor, y es uno de los puntos fundamentales para la comunicación entre el cliente (browser) y el servidor.

Más detalles

Universidad Tecnológica Nacional FRC DIPLOMATURA SUPERIOR en Desarrollo bajo Plataforma Java EE

Universidad Tecnológica Nacional FRC DIPLOMATURA SUPERIOR en Desarrollo bajo Plataforma Java EE 1. PROPUESTA CURRICULAR 1.a) OBJETIVOS Universidad Tecnológica Nacional FRC DIPLOMATURA SUPERIOR en Desarrollo bajo Plataforma Java EE El curso "Desarrollo bajo Plataforma Java EE" ofrece a los estudiantes

Más detalles

Proyecto Help Desk en plataforma SOA Glosario Versión 1.3. Historia de revisiones

Proyecto Help Desk en plataforma SOA Glosario Versión 1.3. Historia de revisiones Proyecto Help Desk en plataforma SOA Glosario Versión 1.3 Historia de revisiones Fecha Versión Descripción Autor 18/08/2005 1.0 Terminología a utilizar en este proyecto. 22/08/2005 1.1 Se agregaron los

Más detalles

Programación Orientada a Objetos Analista Programador Universitario Plan 2008 Año 2010

Programación Orientada a Objetos Analista Programador Universitario Plan 2008 Año 2010 INTRODUCCION Los objetos usados en aplicaciones JAVA mantienen su estado y comportamiento mientras la aplicación se halle en ejecución. Generalmente se necesita mantener el estado y comportamiento de los

Más detalles

Experto Universitario Java Enterprise Servicios Web

Experto Universitario Java Enterprise Servicios Web Servicios Web Sesión 1: Introducción. Invocación de Servicios Web SOAP Puntos a tratar Qué es un Servicio Web? Tipos de Servicios Web Arquitectura de los Servicios Web Tecnologías básicas para Servicios

Más detalles

Tema 6: Comparativa CORBA/Servicios Web

Tema 6: Comparativa CORBA/Servicios Web Tema 6: Comparativa CORBA/Servicios Web Introducción Para establecer una comparativa, es preciso tener en cuenta CORBA se introdujo en 1991 y Servicios Web en el 2000 CORBA es una solución más madura y

Más detalles

Introducción a XML (III) - Web Services Huibert Aalbers Senior Certified Software IT Architect

Introducción a XML (III) - Web Services Huibert Aalbers Senior Certified Software IT Architect Introducción a XML (III) - Web Services Huibert Aalbers Senior Certified Software IT Architect IT Insight podcast Este podcast pertenece a la serie IT Insight Pueden suscribirse al podcast a través de

Más detalles

Web Services. Introducción y Escenarios para su Uso. Moisés Daniel Díaz Toledano. www.moisesdaniel.com

Web Services. Introducción y Escenarios para su Uso. Moisés Daniel Díaz Toledano. www.moisesdaniel.com Web Services. Introducción y Escenarios para su Uso. Moisés Daniel Díaz Toledano. www.moisesdaniel.com 1.- Introducción a los WebServices. 1.1.- Definición de la W3C. 1.2.- Un poco de perspectiva. 1.3.-

Más detalles

Experto Universitario Java Enterprise Servicios Web

Experto Universitario Java Enterprise Servicios Web Servicios Web Sesión 2: Creación de servicios Web SOAP Puntos a tratar Introducción Servicios web desde la vista del servidor Implementación del servicio JAX-WS Pasos para crear un WS con JAX-WS Implementación

Más detalles

Curso de Jboss Administración

Curso de Jboss Administración Curso de Jboss Administración Este curso está dirigido a gente interesada en la administración de Jboss, el cual nos brindará un soporte robusto para el despliegue de aplicaciones Java, tanto Web como

Más detalles

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Introducción a los Servicios Web Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Servicios Web y Soa En un contexto SOA y los servicios web son una oportunidad de negocios en la actualidad.

Más detalles

Redes de Computadores II

Redes de Computadores II Redes de Computadores II Capa de Aplicación HTTP Las siguientes láminas son material de apoyo para el estudio de la materia de Redes II. No son un contenido exhaustivo del material. Se recomienda suplementar

Más detalles