Taller de Sistemas de Información 2

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 helloworld(@pathparam("name") 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto Introducción: Sobre casi cualquier tema del quehacer humano que se aborde, existen

Más detalles

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO Introducción:...1 Service Oriented Architecture...2 Elementos de una Service Oriented Architecture...2 Application frontends...2 Servicios...2 Contrato:...3

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

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

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

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

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

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

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

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

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

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

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

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

Especificación WebService para:

Especificación WebService para: Especificación WebService para: Bandeja de salida Carga masiva Consulta de reportes Bogotá, Diciembre 2010 Modelo Unico de Ingresos, Servicio y Control Automatizado Contenido Procedimiento y Especificación

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

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

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

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

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

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

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

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos

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

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

Workflows? Sí, cuántos quiere?

Workflows? Sí, cuántos quiere? Workflows? Sí, cuántos quiere? 12.11.2006 Servicios Profesionales Danysoft Son notables los beneficios que una organización puede obtener gracias al soporte de procesos de negocios que requieran la intervención

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

MICROSITIOS. Perfiles

MICROSITIOS. Perfiles MICROSITIOS Perfiles API para el consumo de servicios encargados de la creación, visualización, edición, eliminación y demás operaciones sobre los perfiles de usuarios de Metaportal. METAPORTAL 18/07/2014

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

Curso de Spring Framework

Curso de Spring Framework Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Spring es un proyecto de código abierto (open source), originalmente creado por Rod Johnson y descrito en su

Más detalles

Plataforma de Contratación del Sector Público

Plataforma de Contratación del Sector Público del Sector Público Dirección General del Patrimonio del Estado Subdirección General de Coordinación de la Contratación Electrónica Versión: 1. Fecha: 10/12/2015 DEL PATRIMONIO DEL DEL ESTADO CONTROL DE

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

CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa vjsosa@tamps.cinvestav.mx

CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa vjsosa@tamps.cinvestav.mx CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa vjsosa@tamps.cinvestav.mx En este documento explicaré brevemente cómo construir un servicio web con Java Axis2 y cómo invocarlo desde un cliente

Más detalles

Inside. Gestión de Expedientes y Documentos Electrónicos

Inside. Gestión de Expedientes y Documentos Electrónicos Inside Gestión de Expedientes y Documentos Electrónicos Documento de Integración Sistemas Desarrollo Versión 1.0 Fecha de revisión 25/02/2013 Realizado por Sistemas Desarrollo Inside v_1.0 / 1 ÍNDICE 1

Más detalles

Service Oriented Architecture: Con Biztalk?

Service Oriented Architecture: Con Biztalk? Service Oriented Architecture: Con Biztalk? Pablo Abbate Servicios Profesionales Danysoft SOA supone una nueva forma de pensar acerca de la arquitectura IT para las empresas. De hecho, es una asociación

Más detalles

E-Government con Web Services

E-Government con Web Services E-Government con Web Services Fernando Leibowich Beker * Uno de los grandes avances que produjeron las Nuevas Tecnologías de la Información y la Comunicación es la posibilidad de generar redes de computadoras

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

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio). 1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada

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

Práctica 1: Instalación de un servidor de aplicaciones web y diseño de la vista de una aplicación

Práctica 1: Instalación de un servidor de aplicaciones web y diseño de la vista de una aplicación Práctica 1: Instalación de un servidor de aplicaciones web y diseño de la vista de una aplicación Sistemas de Información Grado de Informática Dpto. de Informática e Ingeniería de Sistemas, Universidad

Más detalles

Tutorial: Primeros Pasos con Subversion

Tutorial: Primeros Pasos con Subversion Tutorial: Primeros Pasos con Subversion Introducción Subversion es un sistema de control de versiones open source. Corre en distintos sistemas operativos y su principal interfaz con el usuario es a través

Más detalles

Manual de referencia para la invocación de WebServices con Aduanas (SMS v3.0)

Manual de referencia para la invocación de WebServices con Aduanas (SMS v3.0) Valparaíso, 24 de abril de 2006 Manual de referencia para la invocación de WebServices con Aduanas (SMS v3.0) Introducción El sistema SMS (Sistema de Mensajería por SOAP) fue diseñado con el fin de servir

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

1. Definición. Open Source. Escalable. Alto desempeño. Arquitectura Modular. Producto de licencia de código abierto sin coste adicional.

1. Definición. Open Source. Escalable. Alto desempeño. Arquitectura Modular. Producto de licencia de código abierto sin coste adicional. 1. Definición JBoss es un proyecto de código abierto, con el que se consigue un servidor de aplicaciones basado en J2EE, e implementado al 100% en Java. Por lo tanto al estar basado en Java, JBoss puede

Más detalles

Seguridad de la aplicación para servlets y JSP (página activas java)

Seguridad de la aplicación para servlets y JSP (página activas java) Seguridad de la aplicación para servlets y JSP (página activas java) Autenticación de Servlets (java) Usuarios y roles. Autenticación declarativa. Portabilidad Tipos de autenticación Básica. Digest. Basada

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

Universidad Nacional Autónoma de México Dirección de Sistemas Dirección General de Personal

Universidad Nacional Autónoma de México Dirección de Sistemas Dirección General de Personal Universidad Nacional Autónoma de México Dirección de Sistemas Dirección General de Personal Presenta: Mtro. Israel Ortega Cuevas para la Red Universitaria de Colaboración en Ingeniería de Software y Base

Más detalles

Capitulo 5. Implementación del sistema MDM

Capitulo 5. Implementación del sistema MDM Capitulo 5. Implementación del sistema MDM Una vez que se concluyeron las actividades de análisis y diseño se comenzó la implementación del sistema MDM (Manejador de Documentos de MoProSoft). En este capitulo

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

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

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas... .NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS Definiciones...2 C# y Java.....3 Similitudes...4 Ventajas...4 Definiciones Sobre J2EE J2EE (Java 2 Platform Enterprise Edition)

Más detalles

Manual de referencia de sistema para la invocación de Web Services con Aduanas (SMS v3.1.12)

Manual de referencia de sistema para la invocación de Web Services con Aduanas (SMS v3.1.12) Subdirección de Informática Manual de referencia de sistema para la invocación de Web Services con Aduanas (SMS v3.1.12) VERSION 3.1.12 MAYO 2008 1 Introducción El sistema SMS (Sistema de Mensajería por

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

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

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable 1. Introducción. El Sistema de Administración de Información de un Negocio Franquiciable (SAINF)

Más detalles

Ingeniería de Software en SOA

Ingeniería de Software en SOA Ingeniería de Software en SOA ECSDI LSI-FIB-UPC cbea Curso 2014/2015 ECSDI (LSI-FIB-UPC cbea) Ingeniería de Software en SOA Curso 2014/2015 1 / 51 Índice 1 Directrices para la IS en SOA 2 Modelo de referencia

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

Una puerta abierta al futuro

Una puerta abierta al futuro Una puerta abierta al futuro SOA E ITIL EN LA LEY DE ACCESO ELECTRÓNICO DE LOS CIUDADANOS A LOS SERVICIOS PÚBLICOS (LAECSP) por francisco javier antón Vique La publicación de la Ley de Acceso electrónico

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

ANEXO 1. ANEXO TÉCNICO

ANEXO 1. ANEXO TÉCNICO ANEXO 1. ANEXO TÉCNICO DESCRIPCIÓN DEL CANAL DE COMUNICACIÓN PUNTOS DE ATENCIÓN DIGITAL, TRÁMITES Y SERVICIO- KIOSKOS El sistema de la aplicación móvil cuenta con una serie de funciones que deberán ser

Más detalles

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS 4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia

Más detalles

PROTOCOLOS DE APLICACIÓN PRÁCTICA EN INFOMED INTEROPERABILIDAD

PROTOCOLOS DE APLICACIÓN PRÁCTICA EN INFOMED INTEROPERABILIDAD PROTOCOLOS DE INTEROPERABILIDAD APLICACIÓN PRÁCTICA EN INFOMED PRESENTA: ING. VICTOR RICARDO DÍAZ COORDINADOR DEL GRUPO DE DESARROLLO CNICM - INFOMED GRUPO DE DESARROLLO: DESARROLLO@INFOMED.SLD.CU OBJETIVO

Más detalles

Manual de Integrador.NET

Manual de Integrador.NET Manual de Integrador.NET viafirma platform v3.5 ÍNDICE 1. INTRODUCCIÓN... 5 1.1. Objetivos... 5 1.2. Referencia... 5 2. GUÍA RÁPIDA... 5 2.1. Añadir las dependencias necesarias... 5 2.2. Página de acceso

Más detalles

Sistema de gestión de tareas y proyectos

Sistema de gestión de tareas y proyectos Sistema de gestión de tareas y proyectos Propuesta de proyecto Seminario de Informática I Luis Muñoz Enrique Viard Contenido Introducción... 3 Descripción general... 3 Arquitectura propuesta... 5 Requisitos...

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

PRUEBAS FUNCIONALES Y DE ACEPTACIÓN

PRUEBAS FUNCIONALES Y DE ACEPTACIÓN PRUEBAS FUNCIONALES Y DE ACEPTACIÓN Por: Julián Camilo Ortega Muñoz Pontificia Universidad Javeriana 2013 INTRODUCCIÓN Este documento tiene como propósito demostrar que las funcionalidades de la aplicación

Más detalles

DIPLOMADO EN SEGURIDAD INFORMATICA

DIPLOMADO EN SEGURIDAD INFORMATICA DIPLOMADO EN SEGURIDAD INFORMATICA Modulo 9: Soporte Computacional Clase 9_3:Protocolos de comunicación y conectividad de arquitecturas multiplataforma. Director Programa: César Torres A Profesor : Claudio

Más detalles

LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO

LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO PRÁCTICA 4: Implementación de un Cliente de Correo

Más detalles

envía al browser. El browser despliega el archivo.

envía al browser. El browser despliega el archivo. SERVLETS Dr. Raúl Perez Páginas web estáticas Como se despliega una página web en un browser Normalmente la página se crea usando HTML y se almacena como un archivo en el servidor de web. El usuario escribe

Más detalles

Capitulo III. Diseño del Sistema.

Capitulo III. Diseño del Sistema. Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje

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

SEGURIDAD OCTUBRE 2015. Versión 1

SEGURIDAD OCTUBRE 2015. Versión 1 SEGURIDAD OCTUBRE 2015 Versión 1 1 INDICE 1 INDICE... 2 2 INTRODUCCIÓN... 3 2.1 REQUISITOS... 3 2.2 OBJETIVOS Y ALCANCE DEL PRESENTE DOCUMENTO... 3 3 SEGURIDAD EN LAS COMUNICACIONES... 4 4 LOS CLIENTES...

Más detalles

Libertya Web Service r46gc Índice de contenido

Libertya Web Service r46gc Índice de contenido Libertya Web Service r46gc Índice de contenido Objetivos de este documento...2 Prerequisitos...3 Instalación del servicio...3 Acceso al Servicio...3 Mecanismo de Interacción...3 ParameterBean y Result

Más detalles

ARC 108 Component Model

ARC 108 Component Model ARC 108 Component Model Evolución Tecnológica de RNOM Banco de Previsión Social Tabla de Contenidos ARC 108 Component Model 1. INTRODUCCIÓN 3 2. OBJETIVO 4 3. NOTACIÓN 5 4. ARQUITECTURA GLOBAL 6 4.1. DIAGRAMA

Más detalles

Ejercicios de AJAX y REST

Ejercicios de AJAX y REST Índice 1 AJAX (1 punto)... 2 2 Servicios REST (1.5 puntos)... 3 3 Gestión de errores en servicios REST (0.5 puntos)...5 1. AJAX (1 punto) Vamos a cambiar la búsqueda de usuarios para que funcione mediante

Más detalles

VE-Ventanilla Electrónica Especificación Caso de Uso VE-CU-WS-Consumir-Comunicaciones

VE-Ventanilla Electrónica Especificación Caso de Uso VE-CU-WS-Consumir-Comunicaciones VE Versión: 1.0.0 ve.cu.ws.consumir.comunicaciones.doc Fecha: 09/04/2014 VE-Ventanilla Electrónica Especificación Caso de Uso VE-CU-WS-Consumir-Comunicaciones Archivo: VE_ve.cu.ws.consumir.comunicaciones.doc

Más detalles

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN Los protocolos de capa de aplicación de TCP/IP más conocidos son aquellos que proporcionan intercambio de la información

Más detalles

CFDi Client Manual de Usuario

CFDi Client Manual de Usuario CFDi Client Manual de Usuario Título del documento: CFDi client Nombre del fichero: ES CFDiClient Manual de Usuario.odt Versión: Estado: VIGENTE Fecha: 28/02/2011 Autor: Oscar Albert Arcas Revisión, Aprobación

Más detalles

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN Los protocolos de capa de aplicación de TCP/IP más conocidos son aquellos que proporcionan intercambio de la información

Más detalles

Recomendaciones para procesos de integración con Web-Services

Recomendaciones para procesos de integración con Web-Services Recomendaciones para procesos de integración con Web-Services Este documento es producto de la experiencia en integración vía Web Services. La información recopila una serie de lecciones aprendidas a partir

Más detalles

WEB SERVICES CREACIÓN DEL SERVICIO

WEB SERVICES CREACIÓN DEL SERVICIO WEB SERVICES CREACIÓN DEL SERVICIO 1. Definición proyecto En el presente tutorial se va a realizar dos proyectos: el primero contendrá los servicios web para gestionar una lista de personas, y el segundo

Más detalles

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUIA DISPONIBLE EN: http://preparadorivan.blogspot.com/ - http://preparadormssi.50webs.com/inicio.html La World Wide Web o la Web, es una de las múltiples

Más detalles

Figura 7-1 Enlace para instalar el servidor web Apache Jakarta Tomcat 4.1.12.

Figura 7-1 Enlace para instalar el servidor web Apache Jakarta Tomcat 4.1.12. Unidad 7 Servlets 7.1 Marco teórico Lo que permite que ordenadores remotos con procesadores y sistemas operativos diferentes se entiendan y en definitiva que Internet funcione como lo hace en la actualidad,

Más detalles

Elastix Web Services (WSDL) Manual de Usuario

Elastix Web Services (WSDL) Manual de Usuario Elastix Web Services (WSDL) Manual de Usuario Elaborado por: Departamento de Desarrollo de Elastix Versión: Elastix 2.0.4-Beta 2 Versión Versión de Elastix VERSIONAMIENTO Fecha Editado por Aprobado Por

Más detalles