Arquitectura del Software

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

Download "Arquitectura del Software"

Transcripción

1 Tema 7 El Entorno de Programación Restlet sergio.saugar@urjc.es 5 o Ingeniería Informática Univ. Rey Juan Carlos Curso

2 El Entorno de Programación Restlet 1 Introducción Características Arquitectura del Entorno Restlet 2 3 4

3 El Entorno de Programación Restlet 1 Introducción Características Arquitectura del Entorno Restlet 2 3 4

4 El Entorno de Programación Restlet 1 Introducción Características Arquitectura del Entorno Restlet 2 3 4

5 El Entorno de Programación Restlet 1 Introducción Características Arquitectura del Entorno Restlet 2 3 4

6 Características Arquitectura del Entorno Restlet Outline 1 Introducción Características Arquitectura del Entorno Restlet 2 3 4

7 Características Arquitectura del Entorno Restlet Introducción Descripción Creado por Jerome Louvel (Noelios Technologies) Restlet es un framework Desarrollado en Java Software libre Provee un buen mapeo de los principios de REST

8 Características Arquitectura del Entorno Restlet Introducción Desarrollado como respuesta a: Necesidad de un framework simple para construir aplicaciones web RESTful Limitaciones de los Servlets (Greg Wilkins) No existe una clara separación entre aspectos del protocolo y de la aplicación No aprovechan características propias de HTTP, a no ser que lo contemplen los diseñadores de aplicaciones

9 Características Arquitectura del Entorno Restlet Introducción Nota: Estas transparencias han sido desarrolladas en base a: Restlet First Steps y Restlet Tutorial (1.1) [Noelios Technologies(2011)] Charla S.Landis de Overstock.com [Landis(2007)] Ejemplo: Correo Interno Facebook (Tema 6)

10 Características Arquitectura del Entorno Restlet Outline 1 Introducción Características Arquitectura del Entorno Restlet 2 3 4

11 Características Arquitectura del Entorno Restlet Introducción Características[Noelios Technologies(2011)] Los conceptos principales de la arquitectura REST tienen sus correspondientes clases Java (UniformInterface, Resource, Representation, Connector...) Se pueden implementar clientes y servidores de una aplicación utilizando la misma API

12 Características Arquitectura del Entorno Restlet Introducción Características Ofrece un mecanismo de Templates para realizar un enrutamiento sencillo entre los distintos elementos de nuestra aplicación. Los parámetros de las plantillas son codificados en la solicitud como atributos Ofrece un servicio de Tunneling que permite, entre otras cosas, que los browsers puedan emitir cualquier método HTTP encapsulándolo dentro de un método POST. Transparente de cara a la aplicación

13 Características Arquitectura del Entorno Restlet Introducción Características Ofrece la funcionalidad completa de un servidor web Provee varios conectores (Apache HTTP, HTTPS, JDBC...) Soporta distintas representaciones (XML, HTML,...) Maneja distintos esquemas de seguridad (Basic, Digest, Amazon S3, OAuth...)

14 Características Arquitectura del Entorno Restlet Outline 1 Introducción Características Arquitectura del Entorno Restlet 2 3 4

15 Características Arquitectura del Entorno Restlet Arquitectura del Entorno Restlet Arquitectura del Framework - API Genérica (Restlet API) - Plugin de soporte para implentaciones alternativas (SPI) - Implementación de Referencia (Noelios Engine) - Integración con tecnologías externas (JDBC, JSON, gestores plantillas...) - Aplicaciones

16 Outline 1 Introducción Características Arquitectura del Entorno Restlet 2 3 4

17 Programación de Objetos del Dominio Diseño Diseñaremos/Programaremos los objetos propios del dominio de nuestra aplicación (a gusto del consumidor) Seguiremos el ejemplo del Correo Interno de Facebook En nuestro ejemplo, el diseño es trivial y no será comentado Programaremos los objetos del dominio en Java

18 Programación de Objetos del Dominio Ejemplo: Correo Interno Facebook Usuarios Mailbox Folders Ofrecidas por el sistema: Recibidos, Enviados, Borradores s Almacenamiento externo Además, necesitaremos almacenamiento: Storage

19 Programación de los Objetos del Dominio Ejemplo: Correo Interno Facebook

20 Outline Introducción 1 Introducción Características Arquitectura del Entorno Restlet 2 3 4

21 Clase Restlet Provee el interfaz uniforme para todas las subclases Get, Put, Post, Delete Ofrece el contexto software (atributos, logger, parámetros,...) Implementa el ciclo de vida Sus subclases implementan cómo se deben procesar concretamente las peticiones

22 Jerarquía de Clases

23 Clase Resource Es el último manejador dentro del pipeline Es el lugar dónde se integran los objetos del dominio de la aplicación Web Bases de datos, beans, agentes, interacciones, otros servicios, etc. Típicamente es creado por un Finder Selecciona/Negocia las posibles variantes de una representación Puede ser compartido entre diversas llamadas; por lo tanto, habrá que tener cuidado si tenemos multithread

24 Clase Resource Permitir los métodos que se vayan a utilizar: allow*() Sólo GET está activo por defecto Programar tratamiento a los métodos: Reutilizando negociación de contenido: represent(variant) (GET) acceptrepresentation(representation) (POST), storerepresentation(representation) (PUT), removerepresentation() (DELETE), Implementando una negociación de contenido propia handle*()

25 Clase Resource Las llamadas se despachan dinámicamente a los métodos handle*() mediante introspección Dar soporte a un nuevo método (MOVE): Permitir allowmove() Añadir handlemove()

26 Correo Interno Facebook Ejemplo: Diagrama de Clases

27 Correo Interno Facebook Ejemplo: BaseResource public Representation represent (Variant variant ) throws ResourceException { Representation rep = null ; BaseEntity resource = getstorage(). getentity (getrequest().getresourceref(). tostring ()); if ( resource!= null ) { // Obtiene la representación XML de la entidad String stringrep = resource. serializar (); // Genera una representación adecuada a la variante // seleccionada. if ( variant.getmediatype().equals(mediatype.text_xml)) { // Envia la representación XML directamente rep = new StringRepresentation(stringRep, MediaType.TEXT_XML);

28 Correo Interno Facebook Ejemplo: BaseResource else if ( variant.getmediatype().equals(mediatype.text_html)) { // Aplicar la transformación XML > XHTML // StringWriter output = new StringWriter(); // TransformerFactory tfactory = // TransformerFactory.newInstance(); //... // rep = new StringRepresentation(output. tostring (), // MediaType.APPLICATION_XHTML_XML); else { // No es una de las representaciones que puedo ofrecer, // debió existir un error en la negociación de contenido. throw new ResourceException(Status.CLIENT_ERROR_UNSUPPORTED_MEDIA_TYPE);

29 Correo Interno Facebook Ejemplo: BaseResource else { // El objeto no está en el almacenamiento throw new ResourceException(Status.CLIENT_ERROR_NOT_FOUND); return rep ;

30 Correo Interno Facebook Ejemplo: UsersResource public boolean allowpost() { return true ; public void acceptrepresentation(representation entity ) throws ResourceException { // Capturar la información. Viene formateada como un formulario, // pares atributo valor try { Form form = new Form(entity); String nombreusuario = form.getfirstvalue("name"); Users users = (Users) getstorage (). getentity (getrequest().getresourceref(). tostring ()); Mailbox mailbox = users.adduser(nombreusuario);

31 Correo Interno Facebook Ejemplo: UsersResource // Si todo va bien, envía : (201 Created) getresponse(). setstatus (Status.SUCCESS_CREATED); // Location header: getresponse().setlocationref(mailbox. geturi ()); catch (Exception e) { getresponse(). setstatus (Status.CLIENT_ERROR_BAD_REQUEST);

32 Correo Interno Facebook Ejemplo: MailboxResource Metodo Contenido Repres. Acción Codigo GET Lista de folders XML, HTML Devuelve una lista de los folders OK, Not Acceptable definidos por el usuario {userid POST Representación del Folder XML, HTML Crea un folder de correo con nombre determinado Created + Location, Forbidden PUT n/a Method Not Allowed DELETE n/a Method Not Allowed

33 Correo Interno Facebook Ejemplo: MailboxResource public void acceptrepresentation(representation entity ) throws ResourceException { try { // Creamos una nueva carpeta, con el nombre que viene especificado // en el POST Form form = new Form(entity); String nombr box = form.getfirstvalue("name"); Mailbox mailbox = (Mailbox) getstorage(). getentity (getrequest().getresourceref(). tostring (). tostring ()); Folder folder = mailbox.addfolder(nombr box); // Si todo va bien, envía : (201 Created) getresponse(). setstatus (Status.SUCCESS_CREATED); // Location header: getresponse().setlocationref( folder. geturi ()); (...)

34 Correo Interno Facebook Ejemplo: FolderResource Metodo Contenido Repres. Acción Codigo GET Lista mensajes XML, HTML Devuelve una lista de OK, Not los mensajes contenidos Acceptable en el folder {folde- rid POST Mensaje XML, HTML Si {folderid es Enviados se envía el mensaje al usuario indicado en el campo destinatario. Se crea mensaje en enviados Created + Location, Forbidden PUT n/a Method Not Allowed DELETE Elimina el folder {folderid del usuario {userid sólo si fue creado por el usuario y no tiene mensajes OK, Forbidden

35 Correo Interno Facebook Ejemplo: FolderResource public void acceptrepresentation(representation entity ) throws ResourceException { Folder folder = (Folder) getstorage (). getentity (getrequest().getresourceref().getbaseref(). tostring ()); try { // Se obtiene de las " plantillas " del router String remitente = (String) getrequest(). getattributes (). get("userid"); // Hay que leer el correo que nos envía, viene como pares atributo valor. Form form = new Form(entity); String destinatario = form.getfirstvalue (" destinatario "); String asunto = form.getfirstvalue ("asunto"); String cuerpo = form.getfirstvalue ("cuerpo");

36 Correo Interno Facebook Ejemplo: FolderResource = new (folder, remitente, folder.add ( ); destinatario, asunto, cuerpo); if ( folder.getname().equals(users.enviados)) { Folder destinatariofolder = (Folder) Storage. getinstance (). getentity (getrequest().getresourceref().getbaseref(). tostring (). replace (remitente, destinatario ). replace (Users.ENVIADOS, Users.RECIBIDOS)); destinatariofolder.add (new ( destinatariofolder, remitente, destinatario, asunto, cuerpo));

37 Correo Interno Facebook Ejemplo: FolderResource // Si todo va bien, envía : (201 Created) getresponse(). setstatus (Status.SUCCESS_CREATED); // Location header: getresponse().setlocationref( . geturi ()); catch (Exception e) { // Si saltan excepciones porque el destinatario no existe, // entonces: getresponse(). setstatus (Status.CLIENT_ERROR_BAD_REQUEST); public boolean allowdelete () { return true ;

38 Correo Interno Facebook Ejemplo: FolderResource public void removerepresentations() throws ResourceException { Folder folder = (Folder) getstorage (). getentity (getrequest().getresourceref().getbaseref(). tostring ()); if (!( folder.getname().equals(users.borradores) folder.getname().equals(users.enviados) folder.getname(). equals(users.recibidos))) { if ( folder.isempty()) { Mailbox mailbox = (Mailbox) getstorage(). getentity ( folder.getmailbox ()); mailbox. delfolder ( folder ); getstorage (). delentity ( folder. geturi ()); getresponse(). setstatus (Status.SUCCESS_NO_CONTENT); else { getresponse(). setstatus (Status.CLIENT_ERROR_BAD_REQUEST); (...)

39 Correo Interno Facebook Ejemplo: Resource Metodo Contenido Repres. Acción Codigo GET Representacion del correo XML, HTML Devuelve una representación OK, del Not Acceptable correo {mailid POST n/a Method Not Allowed PUT Representacion del correo XML,HTML Actualiza el correo, OK, sólo si es bo- Bad Request rrador DELETE Elimina el correo OK, {mailid de la Forbidden carpeta {folderid del usuario {userid

40 Correo Interno Facebook Ejemplo: Resource public boolean allowput() { return true ; public void storerepresentation (Representation entity ) throws ResourceException { = ( ) getstorage (). getentity (getrequest().getresourceref().getbaseref(). tostring ()); if ( . getfolder (). endswith(users.borradores)) { // Sólo dejamos modificar los correos que están almacenados como borrador // Hay que leer el correo que nos envía, viene como pares atributo valor. Form form = new Form(entity); String destinatario = form.getfirstvalue (" destinatario "); String asunto = form.getfirstvalue ("asunto"); String cuerpo = form.getfirstvalue ("cuerpo");

41 Correo Interno Facebook Ejemplo: Resource . setdestinatario ( destinatario ); .setasunto(asunto); .setcuerpo(cuerpo); // Notifica que la solicitud ha sido realizada. No necesita enviarse // ningún contenido. getresponse(). setstatus (Status.SUCCESS_OK); else { getresponse(). setstatus (Status.CLIENT_ERROR_BAD_REQUEST);

42 Correo Interno Facebook Ejemplo: Resource public void removerepresentations() throws ResourceException { = ( ) getstorage (). getentity (getrequest().getresourceref().getbaseref(). tostring ()); Folder folder = (Folder) getstorage (). getentity ( . getfolder ()); folder. del ( ); getstorage (). delentity ( . geturi ()); // Notifica que la solicitud ha sido realizada. No necesita enviarse // ningún contenido. getresponse(). setstatus (Status.SUCCESS_NO_CONTENT);

43 Clase Representation

44 Correo Interno Facebook Ejemplo: Representaciones XML Una manera cómoda de trabajar con Representaciones XML en JAVA es utilizando JAXB Permite anotar las clases Genera esquemas a partir de anotaciones / clases anotadas a partir de esquemas Serializa/Deserializa objetos JAVA a XML

45 Correo Interno Facebook Ejemplo: Representaciones XML

46 Correo Interno Facebook Ejemplo: Representaciones = " ") public class extends BaseEntity { private String folder ; private String remitente ; private String destinatario ; private String asunto; private String public String getremitente() public String getdestinatario () public String getasunto() {... (...)

47 Correo Interno Facebook Ejemplo: Representaciones XML public String serializar () { try { JAXBContext jc = JAXBContext.newInstance("urjc.arqsoftware.examples.webmail.data"); Marshaller m = jc. createmarshaller (); m.setproperty( Marshaller.JAXB_FORMATTED_OUTPUT, true); ByteArrayOutputStream output = new ByteArrayOutputStream(); m.marshal(this, output); return output. tostring (); catch (JAXBException e) { (...)

48 Clases más relevantes Correo Interno Facebook Ejemplo: Representaciones XML public static Object deserializar ( String s) { Object obj = null ; try { JAXBContext jc = JAXBContext.newInstance("urjc.arqsoftware.examples.webmail.data"); Unmarshaller u = jc. createunmarshaller (); obj = u.unmarshal(new ByteArrayInputStream(s.getBytes())); catch (JAXBException e) { (...) return obj ;

49 Clase Router Restlet para enrutamiento de llamadas hacia alguno de los recursos enlazados (normalmente otro Restlet) attach(pattern, Restlet) Crea una ruta basándose en el patrón de una URI. Se busca la concordancia desde el principio de la referencia al recurso

50 Clase Router: Patrones de URI Especificación de una template (plantilla)sobre la URI Ejemplos de patrones: /users /users/{user_id/mail /users/{user_id/mail/{folder_id /users/{user_id/mail/{folder_id/{ _d

51 Correo Interno Facebook Ejemplo de Router

52 Clase Router Se asigna una puntuación a cada ruta por cada llamada, dependiendo de varios factores. Varios modos de enrutado soportados: Best match (default) Round Robin Random match First, Last and Custom match

53 Ejemplo de enrutado Custom... protected Route getcustom(request request,response response) { // A new router is created Router router = new Router(this.getContext ()); Source source = null ; if (! this.getroutes().isempty()) { // Local Routes ( if any) are served first RouteList list = this.getroutes(); for (Route r : list ) { // Select the first route that matches if (r.gettemplate().match(request.getresourceref(). getrelativeref (). tostring ())!= 1) { return r ;

54 Ejemplo de enrutado Custom (cont.) switch (source) { case INTERACTION: router. attachdefault( RestInteraction. class ); break; case AGENT: router. attachdefault(restagent.class ); break; case RESOURCE: router. attachdefault(restresource. class ); break; case ACTION: router. attachdefault(restaction. class ); break; case EVENTCH: router. attachdefault(resteventchannel.class ); break; default : break; // Return the router with the default route filled. return new Route(router);

55 Clase Application Contiene la lógica de cada aplicación Tiene un Restlet raiz que gestiona las peticiones (Root) Ofrece diversos servicios, que pueden ser redefinidos: connectorservice: para gestionar los conectores cliente-servidor converterservice: para convertir las entidades de los mensajes en objetos de más alto nivel decoderservice: para decodificar o descomprimir las entidades de las peticiones automáticamente

56 Clase Application metadataservice: acceso al servicio de metadatos statusservice: provee representaciones comunes para los códigos de estado tunnelservice: permite encapsular preferencias de representaciones, o métodos HTTP en los parámetros de una solicitud

57 Correo Interno Facebook Ejemplo: Application detalle createroot() public synchronized Restlet createroot() { // En nuestro caso, devolveremos un router que redirigirá las peticiones // a los otros restlets. Router router = new Router(getContext().createChildContext ()); // Define una ruta para el recurso users router.attach("/users", UsersResource. class ); // Define una ruta para el recurso mailbox router. attach("/users/{userid/mail", MailboxResource. class ); // Define una ruta para el recurso folder router.attach("/users/{userid/mail/{ folderid ", FolderResource. class ); // Define una ruta para el recurso router.attach("/users/{userid/mail/{ folderid /{ id", Resource. class ); return router ;

58 Correo Interno Facebook Ejemplo: Detalle aplicación

59 Clase Directory Finder para recursos del sistema de ficheros Negociación automática de contenido similar al servidor Apache Selecciona la mejor representación dependiendo de: variantes disponibles capacidades y preferencias del cliente

60 Ejemplo de Aplicación: Servidor Web Estático (...) component.getclients (). add(protocol.file); Application application = new Application(component.getContext()) public Restlet createroot() { Directory directory = new Directory(getContext(), " file ://" + ROOT); directory. setlistingallowed (true ); directory. setdeeplyaccessible (true ); return directory ; (...)

61 Correo Interno Facebook Ejemplo: Añadiendo directorio para imágenes

62 Clase Filter Impone semántica Antes/Después Permite tratar/modificar la solicitud y reenviarla a otro Restlet Usos: Enrutamiento (Router) Seguridad (Guard) Tratamiento previo de los datos, conversión entre formatos del cuerpo de la petición,...

63 Correo Interno Facebook Ejemplo: Restringiendo el acceso

64 Despliegue Una vez Encapsulada la aplicación como un contenedor (jar o war), se puede ejecutar: Como aplicación de cualquier contenedor estándar de Servlets Tomcat, Jetty Como una aplicación stand-alone Como un servicio nativo utilizando Java Service Wrapper

65 Clase VirtualHost Enruta llamadas desde los conectores Servidor a distintos Restlets (aplicaciones) Se definen en base a: hostref de la solicitud resourceref de la solicitud Mantiene varias aplicaciones sobre el mismo servidor: Misma dirección IP compartida por distintos nombres de dominio Mismo nombre de dominio con balanceo de carga entre distintas direcciones IP

66 Clase Component Permite lanzar nuestra aplicación como stand-alone Gestiona VirtualHosts y Aplicaciones Contiene un default host Permite construir un sistema por capas

67 Correo Interno Facebook Ejemplo: Componente

68 Correo Interno Facebook Ejemplo: Configuración del Componente // Creamos un nuevo componente (servidor web) Component component = new Component(); component.getclients (). add(protocol.http); component.getservers().add(protocol.http, "localhost", 9090); this.setcontext(component.getcontext().createchildcontext ()); // Añadimos esta aplicación al componente dentro del Host por defecto component.getdefaulthost().attach( this ); // Intentamos lanzar el servidor web de esta aplicación try { Storage. getinstance (). addentity(new Users(" localhost :9090" )); component.start (); catch (Exception e) { System.err. println ("ERROR!!! El servidor no ha podido ser lanzado."); e. printstacktrace (System.err ); System.exit( 1);

69 Outline 1 Introducción Características Arquitectura del Entorno Restlet 2 3 4

70 Extensiones Algunas extensiones: Varios conectores: HTTPS, Apache HTTP Client, SMTP, JDBC, FILE... Múltiples representaciones: DOM, SAX, XPath, XSLT Template Engine: Velocity, FreeMarker NIO, Apache Upload Facilidad de integración con: Struts, Spring, JSON, Hibernate, DB4O, GWT...

71

72 S. Landis. Restlet: Lightweight rest framework for java /15/2007, (link revised on March 2011). Noelios Technologies. Restlet - lightweight rest framework for java

73 Tema 7 El Entorno de Programación Restlet sergio.saugar@urjc.es 5 o Ingeniería Informática Univ. Rey Juan Carlos Curso

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

MANEJO DE FICHEROS XML Versión 1.0

MANEJO DE FICHEROS XML Versión 1.0 MANEJO DE FICHEROS XML Versión 1.0 NOVIEMBRE 2006 Página: 1 1 TABLA DE CONTENIDO 1 TABLA DE CONTENIDO... 2 2 INTRODUCCIÓN... 3 3 ELEMENTOS NECESARIOS PARA EL DESARROLLO... 3 4 GENERAR ESQUEMA... 3 5 LECTURA

Más detalles

FRAMEWORK 2 Creación de Servicios Web

FRAMEWORK 2 Creación de Servicios Web Creación de Versión 1.1 Área de Aplicaciones Especiales y Arquitectura de Software Página 1 de 21 Hoja de Control Título Documento Referencia Responsable de Creación de Área de Aplicaciones Especiales

Más detalles

Ingeniería del Software Arquitectura Física en 3 niveles

Ingeniería del Software Arquitectura Física en 3 niveles Introducción En este laboratorio desplegaremos en 3 niveles físicos una aplicación que verifica si una cuenta y un password son correctos, basada en la que fue presentada en el laboratorio Separación entre

Más detalles

ATLAS MANUAL DE USUARIO ARBOL ACCESIBLE

ATLAS MANUAL DE USUARIO ARBOL ACCESIBLE ATLAS MANUAL DE USUARIO ARBOL ACCESIBLE Versión 1.3 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de Usuario del NORMATIVA

Más detalles

Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts

Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts Temario Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts Abril 2007 1. Introducción Se describe a continuación de forma detallada el programa del curso Desarrollo de Aplicaciones Web con Java: J2EE

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

Integración Capa Web de pojo-miniportal (1)

Integración Capa Web de pojo-miniportal (1) Integración Capa Web de pojo-miniportal (1) 1. Cambiar tipo de proyecto maven de "JAR" a "WAR" y actualizar la versión de Tapestry (5.0.18) en las dependencias 2. Añadir configuración del plugin de Jetty

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

ATLAS MANUAL DE USUARIO DEL ARQUETIPO WEB CON DOCUMENTUM

ATLAS MANUAL DE USUARIO DEL ARQUETIPO WEB CON DOCUMENTUM ATLAS MANUAL DE USUARIO DEL ARQUETIPO WEB CON DOCUMENTUM Versión 1.4 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de usuario

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

Servicio de publicación de información web (HTTP)

Servicio de publicación de información web (HTTP) Servicio de publicación de información web (HTTP) La Web es uno de los servicios más comunes en Internet, tanto que se ha convertido en su cara visible para la mayoría de los usuarios. Una página Web empezó

Más detalles

USANDO SERVLETS EN UN SERVIDOR WEB RESIN

USANDO SERVLETS EN UN SERVIDOR WEB RESIN USANDO SERVLETS EN UN SERVIDOR WEB RESIN Servidor Web Resin Resin es un servidor web que permite no solo despachar un página web, sino aplicaciones web construidos bajo la arquitectura J2EE, así como el

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

Administración Local Soluciones

Administración Local Soluciones SISTEMA INTEGRADO DE GESTIÓN DE EXPEDIENTES MODULAR (SIGM) FUNCIONALIDAD ANTIVIRUS (MÓDULO TRAMITACIÓN ELECTRÓNICA) SIGM v3 Administración Local Soluciones Control de versiones Versión Fecha aprobación

Más detalles

Gestión Documental con Microsoft Office SharePoint Server 2007 (MOSS) Ignacio López - Ingeniero en Informática Software Architect en Alhambra-Eidos

Gestión Documental con Microsoft Office SharePoint Server 2007 (MOSS) Ignacio López - Ingeniero en Informática Software Architect en Alhambra-Eidos Gestión Documental con Microsoft Office SharePoint Server 2007 (MOSS) Ignacio López - Ingeniero en Informática Software Architect en Alhambra-Eidos Indice de Contenido Características Generales de MOSS

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

Práctica sobre compartición de instancias remotas.

Práctica sobre compartición de instancias remotas. Práctica sobre compartición de instancias remotas. Para esta práctica se ha construido un pequeño sistema cliente-servidor que permite la resolución de Sudokus entre varios jugadores. El servidor consta

Más detalles

2. Estructura de un programa en Java

2. Estructura de un programa en Java 24 A. García-Beltrán y J.M. Arranz 2. Estructura de un programa en Java Objetivos: a) Describir la estructura del código fuente de una aplicación Java b) Presentar los conceptos de comentario y de identificador

Más detalles

Introducción Descripción del servicio

Introducción Descripción del servicio 507953 1 Contenido Contenido Cambios Introducción Descripción del servicio Introducción Arquitectura Paso a paso Capa de negocio Adapter Interface Service Proxy Fichero de propiedades Despliegue del servicio

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

Análisis y diseño del sistema CAPÍTULO 3

Análisis y diseño del sistema CAPÍTULO 3 Análisis y diseño del sistema CAPÍTULO 3 36 CAPÍTULO 3 Análisis y diseño del sistema En este capítulo se pretende realizar un análisis detallado de los requerimientos del software a desarrollar para la

Más detalles

CAPÍTULO 3 Servidor de Modelo de Usuario

CAPÍTULO 3 Servidor de Modelo de Usuario CAPÍTULO 3 Servidor de Modelo de Usuario Para el desarrollo del modelado del estudiante se utilizó el servidor de modelo de usuario desarrollado en la Universidad de las Américas Puebla por Rosa G. Paredes

Más detalles

Sockets en Java. La Creatividad proviene de un conflicto de ideas. Uso de Sockets

Sockets en Java. La Creatividad proviene de un conflicto de ideas. Uso de Sockets Uso de Sockets Este pequeño manual, le muestra cómo funciona el Socket Server para crear un pequeño servidor web que envía una página HTML a cualquier Navegador Web como Firefox, Internet Explorer, etc..

Más detalles

- MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD. Rev. 01- FEBRERO 2013

- MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD. Rev. 01- FEBRERO 2013 - MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD Rev. 01- FEBRERO 2013 Software de diagnóstico de la seguridad de la información y autoimplantació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

ALTAS MANUAL DE USUARIO PARA EL PROTOTIPADO DE APLICACIONES

ALTAS MANUAL DE USUARIO PARA EL PROTOTIPADO DE APLICACIONES ALTAS MANUAL DE USUARIO PARA EL PROTOTIPADO DE APLICACIONES Versión 1.0 Unidad de Arquitectura del Software Hoja de Control Título Documento de Referencia Responsable Manual de usuario para el prototipado

Más detalles

Manual del Protocolo XML-RPC de Mensajería Negocios

Manual del Protocolo XML-RPC de Mensajería Negocios Manual del Protocolo XML-RPC de Mensajería Negocios Índice de contenidos 1 INTRODUCCIÓN... 3 2 FUNCIONALIDADES DEL API DE COMUNICACIÓN XML-RPC... 4 2.1 Envío Libre... 4 2.2 Envío a Grupo de Contactos...

Más detalles

ATLAS MANUAL DE INTEGRACIÓN Cliente del Servicio de SMS

ATLAS MANUAL DE INTEGRACIÓN Cliente del Servicio de SMS ATLAS MANUAL DE INTEGRACIÓN Cliente del Servicio de SMS Versión 1.0 Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Servicio de SMS Cliente NORMATIVA ATLAS Arquitectura

Más detalles

Lección 1 Introducción a Struts. www.globalmentoring.com.mx uacosta@globalmentoring.com.mx

Lección 1 Introducción a Struts. www.globalmentoring.com.mx uacosta@globalmentoring.com.mx Lección 1 Introducción a Struts www.globalmentoring.com.mx uacosta@globalmentoring.com.mx Lección 1. Introducción a Struts Lección 1. Introducción a Struts Un framework es un conjunto de clases que nos

Más detalles

Versión 1 Fecha Vigencia: Junio de 2011

Versión 1 Fecha Vigencia: Junio de 2011 de. TITULO Uso básico del servicio de correo electrónico institucional webmail 2. OBJETIVO: Brindar las pautas a los usuarios para el uso de las funciones básicas del servicio de correo electrónico usando

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas

Más detalles

Implementación CAPÍTULO 4

Implementación CAPÍTULO 4 Implementación CAPÍTULO 4 55 CAPÍTULO 4 Implementación En este capítulo se especifican los detalles del desarrollo, las herramientas utilizadas y los diagramas de paquetes. Todas las clases fueron programadas

Más detalles

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversió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

Arquitectura y Diseño de Sistemas Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Primer Cuatrimestre de 2015

Arquitectura y Diseño de Sistemas Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Primer Cuatrimestre de 2015 Trabajo Práctico N 3 DOO Principios SOLID 1. Mencione cuáles son los principios denominados SOLID y describa brevemente sus características. 2. Supongamos que en una organización, cuando se realizan transferencias

Más detalles

Java RMI. las RPC de Java. Parte I. Luis Fernando Llana Díaz. Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Java RMI. las RPC de Java. Parte I. Luis Fernando Llana Díaz. Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid las RPC de Java. Parte I Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid de marzo de 006 RMI y RPC RPC: Remote Procedure Call. RMI y RPC RPC: Remote Procedure Call.

Más detalles

- MANUAL TÉCNICO - Implantación de software de Marketing Online

- MANUAL TÉCNICO - Implantación de software de Marketing Online - MANUAL TÉCNICO - Implantación de software de Marketing Online Rev. 01- MAYO 2013 Implantación de software de Marketing Online Teléfono Adeada: 945 253 388 Email Adeada: adeada@adeada.com REALIZADO POR:

Más detalles

GUÍA TÉCNICA. Desarrollo de Proyectos en Plataforma Liferay en el Gobierno de Extremadura

GUÍA TÉCNICA. Desarrollo de Proyectos en Plataforma Liferay en el Gobierno de Extremadura Desarrollo de Proyectos en en el Gobierno de Extremadura Página 1 de 10 Control de versiones Núm Fecha Descripción Autores 1.0 01/09/2012 Estandar para el desarrollo de portales con el gestor de contenidos

Más detalles

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

2.2.- Paradigmas de la POO

2.2.- Paradigmas de la POO 2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier

Más detalles

ATLAS MANUAL DE INTEGRACIÓN

ATLAS MANUAL DE INTEGRACIÓN ATLAS MANUAL DE INTEGRACIÓN Servicios de Firma AFC Certificado Versión 1.1 Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Servicios de Firma AFC Certificado NORMATIVA

Más detalles

Rafael Doña Gil. Enginyeria Tècnica en Informàtica de Sistemes. Consultor: Jose Juan Rodríguez

Rafael Doña Gil. Enginyeria Tècnica en Informàtica de Sistemes. Consultor: Jose Juan Rodríguez Rafael Doña Gil Enginyeria Tècnica en Informàtica de Sistemes Consultor: Jose Juan Rodríguez 14 de Enero de 2013 Contenido 1. Introducción 2. Análisis funcional 3. Diseño Técnico 4. Implementación 5. Conclusiones

Más detalles

EUROPIO ENGINE LAB: FORMULARIOS WEB Y TABLAS HTML EN SOLO

EUROPIO ENGINE LAB: FORMULARIOS WEB Y TABLAS HTML EN SOLO 20 EUROPIO ENGINE LAB: FORMULARIOS WEB Y TABLAS HTML EN SOLO UNOS POCOS PASOS HACE APENAS MENOS DE UN MES, LANCÉ UNA NUEVA VERSIÓN ESTABLE DE EUROPIO ENGINE: LA 3.2.5. ESTO ME MOTIVÓ A TERMINAR DOS COMPLEMENTOS

Más detalles

EXTENSIÓN DE UML PARA APLICACIONES WEB

EXTENSIÓN DE UML PARA APLICACIONES WEB EXTENSIÓN DE UML PARA APLICACIONES WEB 1. Descripción Esta extensión de UML define un conjunto de estereotipos, valores etiquetados y restricciones que nos permiten modelar aplicaciones web. Los estereotipos

Más detalles

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman 11/06/2011 Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman Introducción Gestión de tareas Unificar la vía por la que se requieren las tareas Solución única y global Seguimiento de las tareas

Más detalles

Webmail de Inter. Para poder aprovechar al máximo este servicio, es fundamental comprender algunos simples conceptos.

Webmail de Inter. Para poder aprovechar al máximo este servicio, es fundamental comprender algunos simples conceptos. Webmail de Inter El siguiente instructivo te ayudará a utilizar correctamente su servicio de correo electrónico web. Si con lo expuesto aquí no aclaras tus dudas, puedes comunicarse con nuestro soporte

Más detalles

Tema 3: Especificación de portlets Java Anexo: JSR 286

Tema 3: Especificación de portlets Java Anexo: JSR 286 Tema 3: Especificación de portlets Java Anexo: JSR 286 JSR 286 (1) JSR 286 es la versión 2.0 de la especificación de portlets Java La versión final de la especificación saldrá a lo largo del 2008 Principales

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

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

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

SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler

SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler Task Scheduler Se necesita modelar una aplicación que permita definir tareas y ejecutarlas en forma programada. Las tareas pueden ser: La ejecución de programa cualquiera o comando del sistema operativo,

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

A continuación en la figura D.1 se verá el código de una implementación del archivo struts-config.xml:

A continuación en la figura D.1 se verá el código de una implementación del archivo struts-config.xml: Apéndice D Configuración de Struts [McClanahan, 2002] Configuración de Struts Antes de poder construir una aplicación en Struts es necesario realizar varias configuraciones. Estas configuraciones incluyen

Más detalles

Guía de migración a firma HMAC SHA256 Conexión por Redirección

Guía de migración a firma HMAC SHA256 Conexión por Redirección Guía de migración a firma HMAC SHA256 Conexión por Versión: 1.7 Versión: 1.7 i Autorizaciones y control de versión Versión Fecha Afecta Breve descripción del cambio 1.0 06/10/2015 Versión inicial del documento

Más detalles

Modelo de Objetos Distribuidos

Modelo de Objetos Distribuidos Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo

Más detalles

Java RMI. Sistemas Distribuidos Rodrigo Santamaría

Java RMI. Sistemas Distribuidos Rodrigo Santamaría + Java RMI Sistemas Distribuidos Rodrigo Santamaría RMI Java RMI 2 + RMI 3 Remote Method Invocation: middleware para que un objeto que se ejecuta en una JVM use métodos de otro objeto que se ejecuta en

Más detalles

PEDRO REVERTE GÓMEZ SERVICIOS DE RED E INTERNET / IMPLANTACIÓN DE APLICACIONES WEB 2º ASIR

PEDRO REVERTE GÓMEZ SERVICIOS DE RED E INTERNET / IMPLANTACIÓN DE APLICACIONES WEB 2º ASIR PEDRO REVERTE GÓMEZ SERVICIOS DE RED E INTERNET / IMPLANTACIÓN DE APLICACIONES WEB 2º ASIR Actividades con los navegadores (clientes): 1. Visita una Web que utilice HTTPS y comprueba los siguientes datos:

Más detalles

Patrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)

Patrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Patrones de diseño Patrón básico Handler Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Patrones de diseño Introducción Objetivos: Diseño específico para el problema, pero general para

Más detalles

Curso Internet Básico - Aularagon

Curso Internet Básico - Aularagon Antes de empezar es necesario que tengas claro algunas cosas: para configurar esta cuenta de correo, debes saber que el POP y el SMTP en este caso son mail.aragon.es; esta cuenta de correo hay que solicitarla

Más detalles

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Introducción a Java LSUB. 15 de enero de 2015 GSYC Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada

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

Web Tier en JAVA. Nicolás Troncoso Carrère. Valparaíso, 2006. ILI 258 Departamento de Informática Universidad Técnica Federico Santa María

Web Tier en JAVA. Nicolás Troncoso Carrère. Valparaíso, 2006. ILI 258 Departamento de Informática Universidad Técnica Federico Santa María Nicolás Troncoso Carrère ILI 258 Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, 2006 1 2 3 Porqué paginas dinamicas? Confirmacion de suscripciones. Contenido generado

Más detalles

WEBSERVICES CON FIRMA DIGITAL Versión 1.2

WEBSERVICES CON FIRMA DIGITAL Versión 1.2 WEBSERVICES CON FIRMA DIGITAL Versión 1.2 FEBRERO 2007 Página: 1 1 TABLA DE CONTENIDO 1 TABLA DE CONTENIDO... 2 2 INTRODUCCIÓN... 3 3 HERRAMIENTA DE DESARROLLO ANT... 3 4 CREACION SERVICIO WEB... 3 5 CREACIÓN

Más detalles

JOOMLA MANUAL USUARIO Creación del portal

JOOMLA MANUAL USUARIO Creación del portal JOOMLA MANUAL USUARIO Creación del portal Versión 1.0.3 Área de Arquitecturas Unidad de Arquitectura Software de Aplicaciones Hoja de Control Título Documento de Referencia Responsable Creación del portal

Más detalles

ATLAS MANUAL DE USUARIO SERVICIO DE TRAZAS

ATLAS MANUAL DE USUARIO SERVICIO DE TRAZAS ATLAS MANUAL DE USUARIO SERVICIO DE TRAZAS Versión 1.4 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de Usuario NORMATIVA

Más detalles

Sistema de Mensajería Empresarial para generación Masiva de DTE

Sistema de Mensajería Empresarial para generación Masiva de DTE Sistema de Mensajería Empresarial para generación Masiva de DTE TIPO DE DOCUMENTO: OFERTA TÉCNICA Y COMERCIAL VERSIÓN 1.0, 7 de Mayo de 2008 CONTENIDO 1 INTRODUCCIÓN 4 2 DESCRIPCIÓN DE ARQUITECTURA DE

Más detalles

ALTAS MANUAL DE USUARIO ENVÍO DE CORREOS ELECTRÓNICOS

ALTAS MANUAL DE USUARIO ENVÍO DE CORREOS ELECTRÓNICOS ALTAS MANUAL DE USUARIO ENVÍO DE CORREOS ELECTRÓNICOS Versión 1.0 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de Usuario

Más detalles

Descripción de Arquitectura Repositorio de metadatos de componentes de software

Descripción de Arquitectura Repositorio de metadatos de componentes de software Descripción de Arquitectura Repositorio de metadatos de componentes de software 1. Introducción. 1.1. Propósito. 1.2. Alcance. 1.3. Definiciones. 1.4 Contexto. 1.5. Referencia. 2. Objetivos y restricciones

Más detalles

Requisitos técnicos para la instalación. Arquitectura Hardware Arquitectura Software. Instrucciones de instalación GONG-R

Requisitos técnicos para la instalación. Arquitectura Hardware Arquitectura Software. Instrucciones de instalación GONG-R ÍNDICE Introducción Requisitos técnicos para la instalación Arquitectura Hardware Arquitectura Software Instrucciones de instalación GONG-R Instalación módulo GONG2 Instalación módulo GONG-Reporte Instrucciones

Más detalles

DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA

DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA José Luis Pastrana Brincones (pastrana@lcc.uma.es) Dpto. Lenguajes y Ciencias de la Computación. Universidad de Málaga

Más detalles

3.9 Patrón Distributed callback

3.9 Patrón Distributed callback 3.9 Patrón Distributed callback Motivación (1) Queremos que la aplicación de administración de los termostatos Monitorize la temperatura de algunos termostatos, avisándonos si ésta baja o sube por encima

Más detalles

Especialista Universitario Java Enterprise. Struts. Sesión 4: Introducción a Struts 2. 2010-2011 Depto. Ciencia de la Computación e IA

Especialista Universitario Java Enterprise. Struts. Sesión 4: Introducción a Struts 2. 2010-2011 Depto. Ciencia de la Computación e IA Struts Sesión 4: Introducción a Struts 2 Indice Motivación De Struts 1.x a Struts 2 Acciones Actionforms Taglibs Internacionalización Validación Conceptos nuevos en Struts 2 2 Por qué era necesario Struts

Más detalles

1. Solicitando una cuenta de correo a nuestro proveedor de Internet. 2. Adquiriendo una cuenta de correo a través de la web (webmail).

1. Solicitando una cuenta de correo a nuestro proveedor de Internet. 2. Adquiriendo una cuenta de correo a través de la web (webmail). CORREO ELECTRÓNICO NIVEL BÁSICO DE CORREO ELECTRÓNICO INICIACIÓN A CORREO ELECTRÓNICO OBTENER UNA CUENTA DE CORREO ELECTRÓNICO GRATUITA Al correo electrónico también se lo conoce como e-mail, abreviatura

Más detalles

Diseño y Evaluación de Configuraciones. Componentes software para cargar el sistema

Diseño y Evaluación de Configuraciones. Componentes software para cargar el sistema Diseño y Evaluación de Configuraciones Componentes software para cargar el sistema J.M. Drake 1 Objetivo de las prácticas. Gestionar la ejecución de aplicaciones complejas para que satisfagan los requisitos

Más detalles

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando

Más detalles

Documento Técnico Gerardo Barcia Jonathan Trujillo María Alejandra Uribe

Documento Técnico Gerardo Barcia Jonathan Trujillo María Alejandra Uribe Documento Técnico Gerardo Barcia Jonathan Trujillo María Alejandra Uribe Índice de contenido 1. Introducción...3 2. El modelo de negocio...3 2.1 Antecedentes...3 2.2 Planteamiento del problema actual...3

Más detalles

Sistemas de Información 12/13 Ejercicios Tecnologías Web

Sistemas de Información 12/13 Ejercicios Tecnologías Web 12/13 Ejercicios Tecnologías Web Departamento Informática e Ingeniería de Sistemas Universidad de Zaragoza (raqueltl@unizar.es) " Guión Introducción sesiones y cookies con Servlets Ejercicio 1: Preguntas

Más detalles

COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE

COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE Creado en May/14 Objetivo: Contar con una guía de las actividades que se deben realizar en esta fase,

Más detalles

Integración Capa Web de pojo-miniportal (1)

Integración Capa Web de pojo-miniportal (1) Integración Capa Web de pojo-miniportal (1) 1. Cambiar tipo de proyecto maven de "JAR" a "WAR 2. Añadir dependencias del API de Tapestry 3. Añadir configuración del plugin de Jetty al pom.xml 4. Añadir

Más detalles

ATEL ASESORES C.A IP Multimedia Subsystem Prof. Diógenes Marcano

ATEL ASESORES C.A IP Multimedia Subsystem Prof. Diógenes Marcano SIP Capítulo 3 Pág. 1 SIP es un protocolo para señalización definido por el IETF según el RFC3261. SIP permite establecer, liberar y modificar sesiones multimedia y está basado en un modelo de transacciones

Más detalles

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Resumen Todo documento XBRL contiene cierta información semántica que se representa

Más detalles

Llamada a métodos remotos (RMI). Curso 04/05. Tema 9. Departament d Informàtica. Universitat de València. 1. Introducción 2

Llamada a métodos remotos (RMI). Curso 04/05. Tema 9. Departament d Informàtica. Universitat de València. 1. Introducción 2 Tema 9 Llamada a métodos remotos (RMI). Departament d Informàtica. Índice 1. Introducción 2 1.1. Cómo funciona RMI?.......................................... 2 2. Usando RMI 4 2.1. Fase de desarrollo:

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

MANUAL DE USUARIO PARTICIPACIÓN CIUDADANA V 2.0. Este manual forma parte del manual de usuarios de las apps municipales

MANUAL DE USUARIO PARTICIPACIÓN CIUDADANA V 2.0. Este manual forma parte del manual de usuarios de las apps municipales MANUAL DE USUARIO PARTICIPACIÓN CIUDADANA V 2.0 Este manual forma parte del manual de usuarios de las apps municipales Versión Fecha Autor Estado 1.1 28 11 2014 Helen Martínez Para revisión 1.2 29 11 2014

Más detalles

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) APRENDERAPROGRAMAR.COM GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I

Más detalles

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios Diplomado Java Descripción El lenguaje de programación Java es uno de los más utilizados hoy en día. Su potencia, simplicidad, funcionalidad y capacidad hacen que este lenguaje sea una de las herramientas

Más detalles

Práctica 4: Java Remote Method Invocation (RMI)

Práctica 4: Java Remote Method Invocation (RMI) Práctica 4: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción Hasta el momento hemos visto aplicaciones remotas donde un cliente utiliza un objeto remoto que ha sido publicado

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

Curso de HTML5 y CSS3

Curso de HTML5 y CSS3 Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 1 1 Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 2 2 Uno de los principales

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

Tema 4: Tecnologías Web Java

Tema 4: Tecnologías Web Java Tema 4: Tecnologías Web Java Introducción Aplicación web Aplicación que corre en al menos un servidor y a la que el usuario accede desde un cliente de propósito general (ej.: navegador en un PC, teléfono

Más detalles

Servicios REST Bases de la tecnología con Spring MVC

Servicios REST Bases de la tecnología con Spring MVC Servicios REST Bases de la tecnología con Spring MVC José Ramón Berenguer Ana María Gómez Qué es REST? Por qué REST? WSDL SOAP UDDI REST(CATE) Representational State Transfer Roy Fielding, 2000 Verbose

Más detalles

Programación Orientada a Objetos en Java

Programación Orientada a Objetos en Java Programación Orientada a Objetos en Java Curso 2006-2007 Tema 3 Clases y Objetos Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Clases y

Más detalles

DESARROLLO DE APLICACIONES PARA LA WEB II

DESARROLLO DE APLICACIONES PARA LA WEB II INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÓMPUTO DESARROLLO DE APLICACIONES PARA LA WEB II ENCABEZADOS Y MÉTODOS BELEN HURTADO ORTIZ 2008630140 8CV5 ENCABEZADOS Y MÉTODOS DE HTTP Comandos Comando

Más detalles

Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º

Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º 1. Ejercicio (1 punto) Dado el array A={8, 3, 7, 1, 4, 9, 5, 2, 6 Describir cual es el estado del array A después de cada paso principal del algoritmo: InsertionSort. {8, 3, 7, 1, 4, 9, 5, 2, 6 {3, 8,

Más detalles

1. Visión general de RMI

1. Visión general de RMI 1. Visión general de RMI Java RMI permite al programador ejecutar métodos de objetos remotos utilizando la misma semántica que si fueran invocaciones locales (Véase Figura 1). Máquina Local (Cliente) Máquina

Más detalles

Web Crawler en eva.fing.edu.uy

Web Crawler en eva.fing.edu.uy Recuperación de Información y Recomendaciones en la Web(2014) Grupo 4 Andrea Estefan CI 4303805-6 andyestefan@gmail.com Gerardo Fanjul CI 4542811-6 gerardo.fanjul@gmail.com Instituto de Computación - Facultad

Más detalles

5. CONOCIENDO EL GESTOR DE

5. CONOCIENDO EL GESTOR DE Centro del Profesorado Luisa Revuelta Creando una web con 5. CONOCIENDO EL GESTOR DE CONTENIDOS JOOMLA! TUTORA: María Urbano Olmo ÍNDICE DE CONTENIDOS 1 INTRODUCCIÓN......2 2 ORGANIZACIÓN DE CONTENIDOS

Más detalles

APLICACIONES WEB GOOGLE ANAYLITICS

APLICACIONES WEB GOOGLE ANAYLITICS APLICACIONES WEB GOOGLE ANAYLITICS Elena Berti Rebecca Thompson 2º DAW ÍNDICE Qué es una Aplicación Web Consideraciones técnicas Estructura de las Aplicaciones Web Ventajas Inconvenientes Diferencia entre

Más detalles