Google Cloud EndPoints (Parte II)

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

Download "Google Cloud EndPoints (Parte II)"

Transcripción

1 1 Google Cloud EndPoints (Parte II) 1. Aplicaciones android con Google EndPoints Resumen en la creación de un cliente y un backend con Google endpoints Añadiendo autentificación a nuestra aplicación. 1.3 Modificaciones en el cliente Android para soportar solicitudes REST con autentificación. 1.4 Seleccionando la cuenta. 1.5 Excepciones. 1.6 Testeando. 1.7 Añadiendo Google Cloud Messaging. 1.8 Código fuente

2 2 Aplicaciones android con Google EndPoints. En la primera parte vimos cómo podíamos crear nuestra API REST y la gestión de la persistencia utilizando anotaciones de los EndPoints y de JDO o JPA. Mediante el plugin de eclipse para GAE desde una clase POJO se creaba su clase con los principales verbos http. Ahora, a través de un ejemplo sencillo, volveremos analizar la parte backend y nos centraremos en cómo crear una aplicación android que haga uso de la librería cliente. En este apartado, vamos a ver ver como crear toda una aplicación (backend y librería cliente) a través de Google EndPoints y GAE y cómo prácticamente no tenemos necesidad de escribir código. Creamos un nuevo proyecto Android. Seleccionamos en Compile With alguna versión de Google APIs superior a la 15. Creamos el proyecto backend. Va a generarnos automáticamente el proyecto CloudLibreria AppEngine y también va a añadir código en nuestro proyecto Android.

3 3

4 4 Ahora tenemos dos proyectos, nuestro proyecto Android y el proyecto GAE: nombre_proyecto_android AppEngine. En el proyecto AppEngine creamos nuestras clases Entity. Para este ejemplo utilizamos anotación JPA.

5 5 package com.jtristan.librosendpoint.entidades; import javax.jdo.annotations.idgeneratorstrategy; import javax.jdo.annotations.persistencecapable; import javax.jdo.annotations.persistent; import public class private Long private String private String private int puntuacion; // getters and setters // Las dos anotaciones que usamos son muy simples, indicamos que la clase es una entidad que debe persistirse. indicamos que se trata del campo clave.

6 En este paso se crea la clase LibroEndPoint.java que es la responsable de gestionar el datastore de nuestra entidad mediante los métodos HTTP. 6

7 7 Si modificamos nuestra clase POJO, porque añadimos, modificamos o eliminamos alguna de los atributos tendríamos que volver a realizar el mismo paso para actualizar nuestra clase EndPoint. Una vez que tenemos creada nuestra API REST generamos la estructura de comunicación con la misma en nuestro proyecto cliente. En nuestro proyecto Android se ha creado entre otras clases, Libroendpoint.java. Esta clase se encarga de hacer de forma transparente para nosotros todas las solicitudes a los métodos del Endpoint, getlibro(long id); listlibro(); insertlibro(libro libro), updatelibro(libro libro), removelibro(long id), etc Tenemos también la clase Entity Libro que es la que vamos a utilizar para mandar y recuperar los datos a través de los EndPoints. También se crean clases Message para poder gestionar el Google Cloud Messaging. En el proyecto se ha creado también un fichero index.html con la lógica para mostrar todos los dispositivos que se han registrado para recibir mensajes push y un campo para introducir el texto que deseamos mandar.

8 8 Para probarlo nos creamos en el proyecto Android una clase que extiende de AsyncTask ya que no podemos bloquear la UI y desconocemos cuál va a ser el tiempo de respuesta de los Endpoints. public class EndpointsTask extends AsyncTask<Context, Integer, Long> { protected Long doinbackground(context... contexts) { Libroendpoint.Builder endpointbuilder = new Libroendpoint.Builder( AndroidHttp.newCompatibleTransport(), new JacksonFactory(), new HttpRequestInitializer() { public void initialize(httprequest httprequest) { ); Libroendpoint endpoint = CloudEndpointUtils.updateBuilder( endpointbuilder).build(); try { Libro libro = new Libro(); libro.settitulo("el juego de Ripper"); libro.setautor("isabel Allende"); libro.setpuntuacion(8); Libro result = endpoint.insertlibro(libro).execute(); catch (IOException e) { e.printstacktrace(); return (long) 0; Idénticamente si quisiesemos buscar todos los libros: CollectionResponseLibro collectionlibro = endpoint.listlibro().execute(); List<Libro> libros = collectionlibro.getitems(); Utilizamos el Builder para crear la conexión con nuestro EndPoint. Le pasamos una nueva instancia de transporte HTTP, una factoría para la creación de documentos JSON y un inicializador de la solicitud HTTP (httprequestinitializer()).

9 9 A continuación instanciamos la clase endpoint pasando el builder. Asignamos los valores a nuestra Entidad y mandamos una solicitud POST para grabar los datos mediante el método insertlibro(libro).execute();. En el método oncreate del Activity llamamos al AsyncTask: new EndpointsTask().execute(getApplicationContext()); Si queremos ejecutar el proyecto AppEngine en local debemos cambiar la variable LOCAL_ANDROID_RUN a true en la clase CloudEndPointUtils. Ejecutamos el proyecto CloudLibreria AppEngine mediante Run >Web Application y también la app Android con el emulador o en un dispositivo. Una vez ejecutado la aplicación Android podemos ir a al explorado de APIs para ver si se guardado bien el registro:

10 10

11 11 Resumen en la creación de un cliente y un backend con Google endpoints. 1. Crear el proyecto en el Google cloud 2. Crear el proyecto Android. Compilación: Google APIs versión mayor o igual a Crear con el GEP el proyecto backend (Generate App Engine Backend). 4. En el proyecto GAE crear las clases Entity. 5. Generar en el proyecto GAE los endpoints con el GEP (Generate Cloud Endpoint Class) 6. Generar la estructura de comunicación del cliente REST con GEP (Generate Cloud Endpoint Client Library) 7. Ejemplo de código para comunicarnos en el cliente Android public class EndpointsTask extends AsyncTask<Context, Integer, Long> { protected Long doinbackground(context... contexts) { Libroendpoint.Builder endpointbuilder = new Libroendpoint.Builder( AndroidHttp.newCompatibleTransport(), new JacksonFactory(), new HttpRequestInitializer() { public void initialize(httprequest httprequest) { ); Libroendpoint endpoint = CloudEndpointUtils.updateBuilder( endpointbuilder).build(); try { Libro libro = new Libro(); libro.settitulo("el juego de Ripper"); libro.setautor("isabel Allende"); libro.setpuntuacion(8); Libro result = endpoint.insertlibro(libro).execute(); catch (IOException e) { e.printstacktrace(); return (long) 0;

12 12 Añadiendo autentificación a nuestra aplicación. Cloud Endpoints nos permite trabajar con autenticación OAuth 2.0 de forma que podamos conocer la identidad de los usuarios que van a usar la API Rest. Requisitos: Necesitamos añadir la librería google play services.jar. Para ello, primero tenemos que importar la librería a eclipse y después, desde las propiedades del proyecto Android añadimos la librería. En el proyecto android tenemos que incluir dentro del atributo <application> del AndroidManifest.xml el atritubo <meta data android:name="com.google.android.gms.version" />. En la consola de Google cloud registramos un cliente Android. Para ello vamos a Apis y autenticación > Credenciales > Crear Id Nuevo de Cliente > Aplicación instalada >Android. La

13 13 clave se genera mediante una huella digital de certificado SHA1 y el nombre del paquete de la aplicación, separados por un punto y coma. La huella digital de certificado la podemos encontrar en eclipse en Preferencias > Android > Build Vamos a necesitar el web ID de aplicación. Para ello, siguiendo los mismos pasos seleccionamos Aplicación instalada e introducimos la ruta de nuestra aplicación. Si la estamos probando en local: y si está subida al App Engine NOTA: Cada aplicación que desplegamos en el App Engine es identificada por un único Id de aplicación y versión. Mediante la versión podemos distinguir entre las distintas releases de una aplicación, ya que podemos tener varias versiones de la misma aplicación en el App Engine. Con esto vamos a la clase LibroEndPoint del proyecto AppEngine y en la o la si queremos especificar la seguridad a nivel de ciertos métodos,

14 14 añadimos el atributo clientids y el atributo audience. El primero lo usamos para registrar el id de Cliente Android y el segundo para el Id de aplicación App Engine. clientids: se utiliza cuando nuestra API usa autentificación. Se indican una lista con todos los Ids de clientes permitidos para solicitar tokens (pueden ser clientes web, Android o ios). Por ejemplo: clientids = {"1 web apps.apps.googleusercontent.com", "2 android apps.apps.googleusercontent.com" Si usamos autentificación y queremos probar la API a través del Google API explorer (http://localhost:8888/_ah/api/explorer) tenemos que añadir el id de cliente: com.google.api.server.spi.constant.api_explorer_client_id. audiences: es un atributo obligatorio cuando usamos clienteids para Android (Corresponde con el WEB Id que podemos generar desde la consola de Google). A cada uno de los métodos tenemos que añadir el parámetro com.google.appengine.api.users.user que va a contener información sobre la cuenta del usuario autenticado. App Engine se encarga de llenar este parámetro = "libroendpoint", namespace = "jtristan.com", ownername = "jtristan.com", packagepath = "cloudlibreria.entities"), clientids={" vn*************************g0q.apps.googleusercontent.com", com.google.api.server.spi.constant.api_explorer_client_id, audiences={"128****************************3hl61q60qu.apps.googleusercontent.com") public class LibroEndpoint = "listlibro") public Integer limit, User user) { Si queremos desplegar la aplicación en GAE para poder probar la autenticación con usuarios reales tenemos que añadir en el xml appengine web.xml el Id de la aplicación en el atributo <application>. Después desde el plugin de Eclipse hacemos la importación.

15 15 NOTA: Recuerda que aunque podemos probar la autenticación en local, siempre recibiremos como cuenta Si queremos utilizar nuestras propias cuentas tendremos que desplegar la aplicación en GAE. Modificaciones en el cliente Android para soportar solicitudes REST con autentificación. En nuestro cliente android una vez hayamos solicitado o recuperado las credenciales vamos a pasárselas al builder del endpoint. Para ello, usamos la clase GoogleAccountCredential. GoogleAccountCredential credenciales = GoogleAccountCredential.usingAudience(this, "server:client_id:"+web_client_id); credenciales.setselectedaccountname(preferencias.getstring(pref_nombre_cuenta, "")); Siendo this el contexto de Android y el segundo parámetro la audiencia. La audiencia se compone del literal server:client_id: más id de cliente WEB que hemos obtenido en la consola del google cloud. En la credencial indicamos el nombre de cuenta qué va a autentificarse. En este caso, tenemos almacenado el nombre de cuenta en las preferencias. Ver el apartado siguiente para ver cómo podemos gestionar nuestras cuentas online.

16 16 Con las credenciales completas, ya podemos pasarlas al builder del Endpoint. Libroendpoint.Builder endpointbuilder = new Libroendpoint.Builder( AndroidHttp.newCompatibleTransport(), new JacksonFactory(), credenciales); Ahora, la cuenta de usuario es recibida como parámetro de tipo User en nuestro appengine endpoint. Seleccionando la cuenta. Si trabajamos con autenticación tendremos que implementar el mecanismo para solicitar la cuenta con la que vamos a autentificarnos. En Android esto es muy sencillo gracias a la clase AccountManager. Mediante esta clase tenemos acceso al registro centralizado de cuentas de usuario online. Para que el usuario seleccione la cuenta que quiere usar podemos usar el método newchooseaccountintent() del AccountManager. Este método muestra una actividad con todas las cuentas activas del usuario. Una vez que el usuario selecciona la cuenta devuelve a nuestra actividad el resultado.

17 17

18 18 private void seleccionarcuenta() { startactivityforresult(credenciales.newchooseaccountintent(), RECOGER_SOLICITUD_CUENTA); Recuperamos en el método onactivityresult la cuenta seleccionada. Si se ha seleccionado una cuenta la guardamos en preferencias para usarla en posteriores uso de la aplicación. Esto lo hacemos en el método setnombrecuenta.

19 protected void onactivityresult(int requestcode, int resultcode, Intent data) { super.onactivityresult(requestcode, resultcode, data); switch (requestcode) { case RECOGER_SOLICITUD_CUENTA: if (data!= null && data.getextras()!= null) { Bundle bundle = data.getextras(); String nombrecuenta = bundle.getstring(accountmanager.key_account_name); if (nombrecuenta!= null) { setnombrecuenta(nombrecuenta); break; private void setnombrecuenta(string nombrecuenta) { SharedPreferences.Editor editor = preferencias.edit(); editor.putstring(pref_nombre_cuenta, nombrecuenta); editor.commit(); credenciales.setselectedaccountname(nombrecuenta); this.nombrecuenta = nombrecuenta; Este método almacena en preferencias la cuenta seleccionada y a su vez la almacena en la variable credenciales. Credenciales es una instancia de la clase GoogleAccountCredential que es la que necesitamos pasar al Builder de nuestro EndPoint con la información del usuario que va a solicitar el acceso al endpoint. En nuestra clase oncreate de la activity podemos recuperar el nombre de cuenta con el que deseamos logueado. Si nunca lo hemos hecho llamaríamos al picker del AccountManager. credenciales = GoogleAccountCredential.usingAudience(this, "server:cliente_id"+cliente_id); preferencias = this.getpreferences(context.mode_private); if (preferencias.getstring(pref_nombre_cuenta, "")==""){ seleccionarcuenta();

20 20 Naturalmente, deberíamos desarrollar en la configuración de la aplicación o como una acción del actionbar la capacidad de poder cambiar de cuenta. Excepciones. Puede ser adecuado, utilizar los códigos de estatus HTTP para indicar la causa por la que una solicitud REST falle o tenga éxito. Estos códigos son estandar con lo cuál son fácilmente entendibles por cualquier aplicación. Google endpoints nos da acceso a una serie de excepciones relacionadas directamente con códigos de estatus HTTP específicos: com.google.api.server.spi.response.badrequestexception HTTP 400 com.google.api.server.spi.response.unauthorizedexception HTTP 401 com.google.api.server.spi.response.forbiddenexception HTTP 403 com.google.api.server.spi.response.notfoundexception HTTP 404 com.google.api.server.spi.response.conflictexception HTTP 409 com.google.api.server.spi.response.internalservererrorexception HTTP 500 com.google.api.server.spi.response.serviceunavailableexception HTTP 503 Cuando se esté realizando una búsqueda de una entidad, si esta no es encontrada podremos lanzar la excepción NotFoundException, la cual nos devuelve un código HTTP 404. El error 404 nos indica que se ha podido establecer la conexión con el servidor pero que la entidad solicitada no existe. Si estamos solicitando un método HTTP que necesita de autentificación y no la hemos provisto podemos utilizar el código HTTP 401 que se lanzaría con la excepción = "getusuario") public Usuario Long id) throws NotFoundException{ PersistenceManager mgr = getpersistencemanager(); Usuario usuario = null; try { usuario = mgr.getobjectbyid(usuario.class, id); catch(exception e){ if (usuario==null){ String mensaje = String.format("No existe la entidad con el id %s", id); throw new NotFoundException(mensaje);

21 21 finally { mgr.close(); return usuario; En el ejemplo podemos ver como si se ha solicitado un id de Usuario que no existe, se devuelve una excepción NotFoundException con el siguiente mensaje: 404 Not Found { "code" : 404, "errors" : [ { "domain" : "global", "message" : "No existe la entidad con el id 25", "reason" : "notfound" ], "message" : "No existe la entidad con el id 25" En este caso, comprobamos en un método que necesita autentificación que se esta se haya realizado, de lo contrario, devolvemos un código HTTP = "listreserva") public Integer limit, User usuario) throws ServiceException{ PersistenceManager mgr = null; Cursor cursor = null; List<Reserva> execute = null; if (usuario==null){ String mensaje = "Se trata de un método autentificado"; throw new UnauthorizedException(mensaje);

22 Unauthorized { "error": { "message": "Se trata de un método autentificado", "code": 401, "errors": [ { "domain": "global", "reason": "required", "message": "Se trata de un método autentificado" ] Podremos crear nuestras propias excepciones extendiendo de la clase com.google.api.server.spi.serviceexception Testeando. La autentificación con OAuth2 todavía no funciona desde el emulador de Android. Si queremos testear la autenticación desde el explorador de APIs Google nos provee un usuario dump para las pruebas que es: Añadiendo Google Cloud Messaging. Mediante GCM podemos enviar notificaciones a todos los dispositivos registrados. Para añadir esta funcionalidad es necesario activar en el la consola Google APIs la mensajería. El siguiente paso es crear un server key Mediante esta clave nos aseguramos una comunicación segura.

23 23 Para ello, dentro de la consola, vamos a Credenciales, Acceso a API pública y Crear clave nueva, Clave de servidor. No introducimos ningún valor, simplemente la generamos. En nuestro proyecto AppEngine tenemos que establecer la clave de servidor. La constante es API_KEY y está en la clase MessageEndPoint.java. private static final String API_KEY = "AIzaS***********************G0d0w"; Vamos a actualizar el proyecto Android para poder trabajar con GCM. En la clase GCMIntentService establecemos el número de proyecto. protected static final String PROJECT_NUMBER = ""; En esta clase tenemos el método onmessage() donde debemos indicar qué acciones vamos a realizar cuando se reciba una notificación. Por defecto manda un intent que abre la actividad RegisterActivity y muestra el mensaje. Ahora ya sólo nos queda pendiente registrar el dispositivo para que pueda recibir notificaciones. El registro se hace en el método register(context context). Deberíamos llamar a este método desde nuestro oncreate de la actividad principal para asegurarnos que el dispositivo sea siempre registrado. GCMIntentService.register(this); Una vez que se ha registrado el dispositivo podemos ver que el registro ha sido correcto desde la url de la aplicación: https://id_aplicación.appspot.com/.

24 24 Código fuente. Puedes encontrar en Github y en el zip que se acompaña el documento el código de dos proyectos básicos con la parte backend y una app android que hace uso del API generada. App android : https://github.com/josetristan/librosendpoint Proyecto backend: https://github.com/josetristan/librosendpoint AppEngine

25 25

Google Cloud EndPoints (Parte I)

Google Cloud EndPoints (Parte I) 1 Google Cloud EndPoints (Parte I) 1. Google cloud platform: Google Cloud EndPoints 1. 1. Qué es Google Cloud Platform? 2. Google Cloud EndPoints. 2.1 Precios. 2.2. Instalación. 2.3. Crear la aplicación

Más detalles

Java, JavaME y el entorno Eclipse - Ejercicios

Java, JavaME y el entorno Eclipse - Ejercicios Java, JavaME y el entorno Eclipse - Ejercicios Índice 1 Hola ME!...2 2 Clases...2 3 Métodos y campos de la clase... 3 4 Métodos estáticos... 4 5 Librerías opcionales (*)...4 6 Temporizadores (*)... 5 1.

Más detalles

Ejercicios - Persistencia en Android: ficheros y SQLite

Ejercicios - Persistencia en Android: ficheros y SQLite Ejercicios - Persistencia en Android: ficheros y SQLite Índice 1 Uso de ficheros (0.5 puntos)...2 2 Persistencia con ficheros (0.5 puntos)...3 3 Base de datos: SQLiteOpenHelper (0.5 puntos)... 3 4 Base

Más detalles

Crear una Activity en Android. Paso por paso

Crear una Activity en Android. Paso por paso 19-03-2014 Crear una Activity en Android. Paso por paso Una breve descripción de qué hacer cuando las herramientas de desarrollo de Android se convierten en nuestros enemigos. A veces, puede pasar que

Más detalles

Tutorial 1: Desarrollo de un plugin

Tutorial 1: Desarrollo de un plugin Tutorial 1: Desarrollo de un plugin En este tutorial introductorio se creará un plugin siguiendo una de las plantillas que ofrece Eclipse. Concretamente se extenderá una vista para mostrar cierta información

Más detalles

PRACTICAS DE ANDROID 12 - Lanzar un segundo "Activity" y pasar parámetros Problema:

PRACTICAS DE ANDROID 12 - Lanzar un segundo Activity y pasar parámetros Problema: PRACTICAS DE ANDROID 12 - Lanzar un segundo "Activity" y pasar parámetros Hemos visto en el concepto anterior que un programa puede tener más de una ventana representando cada ventana con una clase que

Más detalles

ALMACENAMIENTOS DE DATOS EN ANDROID CON SQLITE

ALMACENAMIENTOS DE DATOS EN ANDROID CON SQLITE SQLite M.Sc. Reynaldo Zeballos ALMACENAMIENTOS DE DATOS EN ANDROID CON SQLITE En este ejercicio vamos a crear una tabla TELEFONOS para la base de datos GUIATEL. Para lo cual utilizaremos SQLite que viene

Más detalles

Repaso de las características más importantes de la programación Java y su adaptación a Android

Repaso de las características más importantes de la programación Java y su adaptación a Android Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y

Más detalles

Desarrollo de Servicios Web con JBuilder

Desarrollo de Servicios Web con JBuilder Artículos técnicos Grupo Danysoft: Desarrollo de Servicios Web con JBuilder Segunda parte Oscar Cristobal Ruiz Departamento Java Equipo Grupo Danysoft Enero 2003 - (902) 123146 www.danysoft.com Desarrollo

Más detalles

ATLAS MANUAL DE USUARIO SERVICIO DE AUDITORIA

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

Más detalles

INTRODUCCIÓN. paco@portadaalta.es

INTRODUCCIÓN. paco@portadaalta.es INTRODUCCIÓN paco@portadaalta.es Índice Entorno de desarrollo Estructura de un proyecto Android Componentes de una aplicación Android Ejemplos: Mi primera aplicación Divisas 2 actividades Contador de cafés

Más detalles

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

Desarrollo de Aplicaciones para Android

Desarrollo de Aplicaciones para Android Desarrollo de Aplicaciones para Android Sesión 7: Servicios de red Desarrollo de Aplicaciones para Android Depto. Ciencia de la Computación e IA Servicios de red-1 Puntos a tratar Conexiones HTTP Parsing

Más detalles

Elementos léxicos del lenguaje de programación Java

Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores

Más detalles

Ejercicios - Persistencia en Android: proveedores de contenidos y SharedPreferences

Ejercicios - Persistencia en Android: proveedores de contenidos y SharedPreferences Ejercicios - Persistencia en Android: proveedores de contenidos y SharedPreferences Índice 1 Compartir datos entre actividades con Shared Preferences (0.75 puntos)... 2 2 Actividad de preferencias (0.75

Más detalles

Parsear HTML con htmlparser para Android Guillem Pérez

Parsear HTML con htmlparser para Android Guillem Pérez Parsear HTML con htmlparser para Android Guillem Pérez He escogido esta librería(http://htmlparser.sourceforge.net/) aunque no había muchos ejemplos porque la he visto realmente ligera y esta en java hay

Más detalles

Aplicación Android de Asistencia al Caminante

Aplicación Android de Asistencia al Caminante Aplicación Android de Asistencia al Caminante Enrique R. Delgado Garrido Almacenamiento de datos en Android. Documento: Índice de contenido.1 A2.- Almacenamiento de datos en Android.2 A.2.1 - Preferences2

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

DESARROLLO DE UN CLIENTE SOFIA2 (KP) SIGUIENDO ARQUITECTURA KP-MODELO

DESARROLLO DE UN CLIENTE SOFIA2 (KP) SIGUIENDO ARQUITECTURA KP-MODELO DESARROLLO DE UN CLIENTE SOFIA2 (KP) SIGUIENDO ARQUITECTURA KP-MODELO JUNIO 2014 Versión 1 INDICE INDICE... 2 PASO 1 - FAMILIARIZARSE CON LOS CONCEPTOS BÁSICOS DE SOFIA2... 3 PASO 2 - OBTENER CREDENCIALES

Más detalles

ATLAS MANUAL DE USUARIO Pruebas con Selenium

ATLAS MANUAL DE USUARIO Pruebas con Selenium ATLAS MANUAL DE USUARIO Versión 1.2 Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de NORMATIVA ATLAS Área de Aplicaciones Especiales y Arquitectura de Software

Más detalles

Dossier de prácticas

Dossier de prácticas Dossier de prácticas Intranet / Extranet Màster d Enginyeria del Software Desenvolupament d aplicacions sobre Internet Fundació Politècnica de Catalunya Jaume Moral Ros Albert Obiols Vives 1 Dossier de

Más detalles

Tutorial Envio de correos con Java Mail

Tutorial Envio de correos con Java Mail Tutorial Envio de correos con Java Mail Esta vez vamos a ver un ejemplo sencillo de como enviar un correo con java, por medio de java mail. Lo primero que es descargar la libreria de java mail, lo podemos

Más detalles

RUEDA TORRES DULCE CAROLINA 3CM2 HIBERNATE EN UNA APLICACIÓN WEB

RUEDA TORRES DULCE CAROLINA 3CM2 HIBERNATE EN UNA APLICACIÓN WEB 3CM2 HIBERNATE EN UNA APLICACIÓN WEB 8 DE MAYO DE 2012 1. CREACION DE LA BASE DE DATOS Para llevar a cabo esta práctica se utiliza una base de datos MySQL llamada Sakila, una muestra gratis de base 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

SESIÓN 5 MANEJO DE BASES DE DATOS SQLITE

SESIÓN 5 MANEJO DE BASES DE DATOS SQLITE SESIÓN 5 MANEJO DE BASES DE DATOS SQLITE Contenidos Resumen...1 Práctica guiada 7: ListaCompra...1 Implementación de la base de datos...2 Actividad principal: ListaCompraActivity...6 Actividad secundaria:

Más detalles

Escuela Superior de Ingeniería

Escuela Superior de Ingeniería Escuela Superior de Ingeniería Programación en Internet Grado en Ingeniería Informática Invocación de un servicio web REST desde una aplicación Android Autores: Javier Montes Cumbrera y Salvador Carmona

Más detalles

+ Descarga AndEngine. AndEngine 17/08/15. Ing. Roberto Mar4nez Román - 1. rmroman@itesm.mx. n Página de AndEngine.

+ Descarga AndEngine. AndEngine 17/08/15. Ing. Roberto Mar4nez Román - 1. rmroman@itesm.mx. n Página de AndEngine. + AndEngine Instalación Ing. Roberto Martínez Román - + Descarga AndEngine n Página de AndEngine. n http://www.andengine.org/ n En GitHub selecciona GLES2-AnchorCenter. n Descarga el.zip y descomprímelo.

Más detalles

MODELO DE IMPLEMENTACIÓN

MODELO DE IMPLEMENTACIÓN Capítulo 4 MODELO DE IMPLEMENTACIÓN 4.1 Introducción El Modelo de implementación utiliza el resultado del Modelo de diseño para generar el código final en el lenguaje de programación elegido [10]. Aunque

Más detalles

CURSO INTERMEDIO DE PROGRAMACIÓN EN ANDROID

CURSO INTERMEDIO DE PROGRAMACIÓN EN ANDROID CURSO INTERMEDIO DE PROGRAMACIÓN EN ANDROID 1. Entorno de desarrollo y primera aplicación 1. El mundo Android 1.1 Android y las versiones 1.2 Personalizaciones del sistema operativo. 1.3 Dispositivos Android

Más detalles

Curso PUDE. Desarrollo de Aplicaciones Móviles en Android

Curso PUDE. Desarrollo de Aplicaciones Móviles en Android Curso PUDE Ejercicio Avanzado A: Bases de Datos y conexión con un ListView utilizando vistas A. Descripción Con este ejercicio, veremos cómo funcionan las bases de datos SQLite en Android, crearemos una,

Más detalles

ALTAS MANUAL DE USUARIO DEL SERVICIO DE CERTIFICADOS

ALTAS MANUAL DE USUARIO DEL SERVICIO DE CERTIFICADOS ALTAS MANUAL DE USUARIO DEL SERVICIO DE CERTIFICADOS Versión 1.0 Área de Integración y Arquitectura de Aplicaciones Hoja de Control Título Documento de Referencia Responsable Manual de Usuario del NORMATIVA

Más detalles

Curso 12/13. Desarrollo de Aplicaciones Android. Persistencia

Curso 12/13. Desarrollo de Aplicaciones Android. Persistencia Curso 12/13 Desarrollo de Aplicaciones Persistencia Mecanismos de persistencia Preferencias Sistema de ficheros (privado) Bases de datos SQLite Almacenamiento externo (público) Conexiones de red 2 Preferencias

Más detalles

https://developers.facebook.com/docs/unity/downloads/? campaign_id=282184128580929&placement=sdk_list

https://developers.facebook.com/docs/unity/downloads/? campaign_id=282184128580929&placement=sdk_list Facebook SDK para Unity El SDK de Facebook para Unity se emplea para publicar proyectos creados en Unity en apps de Facebook. Desde abril de 2014, las aplicaciones creadas para Facebook utilizan el API

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

Movilizando la intranet de la Facultad de Informática

Movilizando la intranet de la Facultad de Informática Movilizando la intranet de la Facultad de Informática 1 de noviembre de 2011 Jaume Moral, Hugo Hernández Marcel Arbó y Roger Sala http://www.fib.upc.edu/ La intranet: El Racó Es la Intranet de la Facultad

Más detalles

1. El entorno de desarrollo Eclipse

1. El entorno de desarrollo Eclipse Índice 1. El entorno de desarrollo Eclipse 1 1.1. Qué es Eclipse?........................................................ 1 1.2. Trabajando con Eclipse....................................................

Más detalles

Pruebas de unidad con JUnit

Pruebas de unidad con JUnit Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro

Más detalles

Java Inicial (20 horas)

Java Inicial (20 horas) Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción

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

CURSOS DE VERANO 2014

CURSOS DE VERANO 2014 CURSOS DE VERANO 2014 CLOUD COMPUTING: LA INFORMÁTICA COMO SERVICIO EN INTERNET LA PLATAFORMA GOOGLE CLOUD PLATFORM. GOOGLE APP ENGINE Pedro A. Castillo Valdivieso Universidad de Granada http://bit.ly/unia2014

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

Servicios Avanzados. Índice. 1 Servicios en segundo plano... 2 2 Notificaciones...3 3 AppWidgets...5 4 Publicación de software...8

Servicios Avanzados. Índice. 1 Servicios en segundo plano... 2 2 Notificaciones...3 3 AppWidgets...5 4 Publicación de software...8 Índice 1 Servicios en segundo plano... 2 2 Notificaciones...3 3 AppWidgets...5 4 Publicación de software...8 1. Servicios en segundo plano Los servicios en segundo plano, Services son similares a los demonios

Más detalles

MANUAL DE USUARIO Guía de Gestión de la Configuración con Subversion

MANUAL DE USUARIO Guía de Gestión de la Configuración con Subversion MANUAL DE USUARIO Guía de Gestión de la Configuración con Subversion Versión 1.8 Área de Integración y Arquitectura de Aplicaciones Hoja de Control Título Documento de Referencia Responsable Guía de Gestión

Más detalles

Ejercicios de validación e internacionalización

Ejercicios de validación e internacionalización Ejercicios de validación e internacionalización Índice 1 Conversión y formateo de datos (0.5 puntos)...2 2 Validación (1.5 puntos)... 2 3 Internacionalización (1 punto)...3 En las plantillas de la sesión

Más detalles

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente

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

Desarrollo de. aplicaciones para. Black Berry

Desarrollo de. aplicaciones para. Black Berry Desarrollo de aplicaciones para Black Berry Índice Herramientas de Trabajo 3 Preparación del Ambiente 5 Primer Aplicación 9 Base de Datos: Perst 11 Web Services 16 2 Herramientas de Trabajo 1.1 - Las herramientas

Más detalles

Microsoft Intune Manual de Usuario

Microsoft Intune Manual de Usuario Microsoft Intune Manual de Usuario 1. Introducción... 2 2. Acceso al panel de control de cliente Movistar... 3 3. Configure Microsoft Intune... 4 3.1. Agregar usuarios... 5 3.2. Crear Grupos... 7 3.2.1.

Más detalles

Hands-On Lab. Windows Azure: Java, Eclipse y Azure. Última Actualización: 16/12/2011

Hands-On Lab. Windows Azure: Java, Eclipse y Azure. Última Actualización: 16/12/2011 Hands-On Lab Windows Azure: Java, Eclipse y Azure Última Actualización: 16/12/2011 1 Contenido INTRODUCCIÓN... 3 Objetivos 3 Prerequisitos 4 PREPARANDO EL ENTORNO... 5 Instalar Windows Azure Toolkit para

Más detalles

Introducción al desarrollo para plataformas móviles con Phonegap

Introducción al desarrollo para plataformas móviles con Phonegap Introducción al desarrollo para plataformas móviles con Phonegap Si queremos desarrollar aplicaciones para móviles, qué herramienta conviene utilizar y para qué plataforma móvil? Las aplicaciones Android

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

Android avanzado. Sesión 6: Depuración y pruebas. Experto en Desarrollo de Aplicaciones para Dispositivos Móviles

Android avanzado. Sesión 6: Depuración y pruebas. Experto en Desarrollo de Aplicaciones para Dispositivos Móviles Android avanzado Sesión 6: Depuración y pruebas 2012-2013 Depto. Ciencia de la Computación e IA Puntos a tratar Conectar un dispositivo Hardware Depuración con Eclipse Log y LogCat Dalvik Debug Monitor

Más detalles

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA. Daniel Díaz Sánchez

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA. Daniel Díaz Sánchez UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA Sockets para servidor Daniel Díaz Sánchez Florina Almenárez Andrés Marín Departamento de Ingeniería Telemática Universidad Carlos

Más detalles

Persistencia. Mecanismos de persistencia. Preferencias. Curso 12/13

Persistencia. Mecanismos de persistencia. Preferencias. Curso 12/13 Curso 12/13 Aplicaciones Persistencia Mecanismos de persistencia Sistema de ficheros (privado) Bases de datos SQLite Almacenamiento externo (público) Conexiones de red 2 Las preferencias son una forma

Más detalles

1. El entorno de desarrollo Eclipse

1. El entorno de desarrollo Eclipse Índice 1. El entorno de desarrollo Eclipse 1 1.1. Qué es Eclipse?........................................................ 1 1.2. Trabajando con Eclipse....................................................

Más detalles

Ejercicios - Servicios

Ejercicios - Servicios Índice 1 Contador: Servicio con proceso en background (0.6 puntos)... 2 2 Broadcast Receiver: Captura de llamadas (0.6 puntos)...2 3 Broadcast Receiver: Reenvío de datos (0.6 puntos)...3 4 Arranque: Iniciar

Más detalles

1. Aplicaciones del J2SE SDK1.4.2 de Sun.

1. Aplicaciones del J2SE SDK1.4.2 de Sun. Dept Informatica Índice 1 Aplicaciones del J2SE SDK142 de Sun 1 11 javac 1 12 java 1 13 javadoc 2 14 Las que no se explican 3 2 Guía de estilo de Java 3 21 Clases 3 211 Nombres para las clases 3 212 Estructura

Más detalles

Desarrollo de apps para móviles Android. Entorno de desarrollo

Desarrollo de apps para móviles Android. Entorno de desarrollo Desarrollo de apps para móviles Android Entorno de desarrollo Entorno de desarrollo Las aplicaciones Android van a ser implementadas en Java usando Android SDK. El software necesario para realizarlas es

Más detalles

Utilización Crystal Reports 2008

Utilización Crystal Reports 2008 Utilización Versión 1.7 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Manual de Usuario de Utilización de Informes de Documento de Referencia Responsable NORMATIVA ATLAS

Más detalles

Creación de plugins para Apache Cordova. Parte JavaScript. Javier de Silóniz Sandino

Creación de plugins para Apache Cordova. Parte JavaScript. Javier de Silóniz Sandino Diciembre 2013 Javier de Silóniz Sandino Especialista ios en atsistemas Un plugin es especialmente útil cuando necesitamos acceder a características internas del hardware del dispositivo móvil. Creación

Más detalles

Práctica 5: Servidor web concurrente en Java

Práctica 5: Servidor web concurrente en Java Práctica 5: Servidor web concurrente en Java Esta práctica pretende familiarizar al alumno con la programación de servidores que emplean sockets TCP. Para ello partiremos del servidor web básico visto

Más detalles

Utilización Crystal Reports 2008 Usando Bussiness Object V4.0

Utilización Crystal Reports 2008 Usando Bussiness Object V4.0 Utilización Usando Bussiness Object V4.0 Versión 1.0 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de Usuario de Utilización

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

online Programación para dispositivos Android 4.x

online Programación para dispositivos Android 4.x online Programación para dispositivos Android 4.x Objetivos Conocer los distintos componentes que permiten interactuar con el dispositivo con la voz. Saber cómo reproducir sonido en base a un contenido

Más detalles

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet 2005-2006. DLSI - Universidad de Alicante 1

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet 2005-2006. DLSI - Universidad de Alicante 1 Departamento de Lenguajes y Sistemas Informáticos JavaScript Programación en Internet Curso 2005-2006 Contenidos Introducción El lenguaje Validación de formularios DLSI - Universidad de Alicante 1 Introducción

Más detalles

SISTEMAS OPERATIVOS EN RED. UT. 05 Utilidades de administración. ÍNDICE

SISTEMAS OPERATIVOS EN RED. UT. 05 Utilidades de administración. ÍNDICE ÍNDICE 1. Perfiles de usuarios. 2.1. Perfiles móviles variables. 2.2. Perfiles obligatorios. 2. Administración de discos. 2.1. Configuraciones de disco. 2.1.1. Discos Básicos. 2.1.2. Discos Dinámicos 2.2.

Más detalles

Creación de materiales didácticos Aplicaciones para dispositivos móviles Lección 4

Creación de materiales didácticos Aplicaciones para dispositivos móviles Lección 4 Creación de materiales didácticos Aplicaciones para dispositivos móviles Lección 4 Bases de datos Índice de contenido Introducción...3 Bases de datos locales: TinyDB... 4 Compartir datos: TinyWebDB...

Más detalles

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programació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

Objetivo de aprendizaje del tema

Objetivo de aprendizaje del tema Computación II Tema 3. Identificadores, palabras clave y tipos de datos Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Distinguir i entre modificadores d válidos y no válidos. Enumerar

Más detalles

Taller: Introducción a Windows Communication Foundation

Taller: Introducción a Windows Communication Foundation Taller: Introducción a Windows Communication Foundation Autor: Carlos Milán Figueredo Nivel: 100 (Principiante) Pre-requisitos: Visual Studio 2008 Email: cmilanf@dotnetclubs.com Web: http://www.dotnetclubs.com

Más detalles

Ejemplo de como hacer una Web inmobiliaria realizada en WordPress integrada con MultiLinkCRM

Ejemplo de como hacer una Web inmobiliaria realizada en WordPress integrada con MultiLinkCRM Ejemplo de como hacer una Web inmobiliaria realizada en WordPress integrada con MultiLinkCRM En este ejemplo veremos como hacer una Web para su inmobiliaria de una forma rápida y muy económica basada en

Más detalles

5. Composer: Publicar sus páginas en la web

5. Composer: Publicar sus páginas en la web 5. Composer: Publicar sus páginas en la web Si nuestras páginas existen únicamente en el disco duro local, sólo nosotros podremos navegar por ellas, pero nadie más podrá hacerlo. Composer nos permite publicarlas

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 Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

www.android-spa.com Android Creación de una aplicación sencilla: Forwarding - Página 1 -

www.android-spa.com Android Creación de una aplicación sencilla: Forwarding - Página 1 - Android Creación de una aplicación sencilla: Forwarding - Página 1 - Realización de la aplicación Forwarding en Android Este es un pequeño tutorial con el que se realizará un pequeño programa para Android

Más detalles

Contenido INTRODUCCION... 4. 1. Acceso Web... 5. 2. Navegadores... 9. 3. Instalación y configuración para MacOS... 10

Contenido INTRODUCCION... 4. 1. Acceso Web... 5. 2. Navegadores... 9. 3. Instalación y configuración para MacOS... 10 1 2 Contenido INTRODUCCION... 4 1. Acceso Web.... 5 2. Navegadores.... 9 3. Instalación y configuración para MacOS.... 10 4. Instalación y configuración para Windows 8/RT.... 20 5. Instalación y configuración

Más detalles

Aplicateca Certificados SMS

Aplicateca Certificados SMS Aplicateca Certificados SMS Manual de usuario Versión v-2 By DIDIMO Servicios Móviles INDICE INDICE...2 1 QUÉ ES CERTIFICADOS SMS?...3 2 MENÚ PRINCIPAL...5 2.1 GRUPOS...5 2.1.1 Crear Grupo...5 2.1.2 Gestión

Más detalles

Tutorial básico del entorno de desarrollo Eclipse.

Tutorial básico del entorno de desarrollo Eclipse. Tutorial básico del entorno de desarrollo Eclipse. Arrancar Eclipse. Después de descomprimir la aplicación, dar doble clic sobre el ícono ejecutable para arrancar la aplicación. En caso de que se presente

Más detalles

Almacenamiento de datos. JOSE LUIS BERENGUEL GÓMEZ jlberenguel@gmail.com Febrero 2012

Almacenamiento de datos. JOSE LUIS BERENGUEL GÓMEZ jlberenguel@gmail.com Febrero 2012 Almacenamiento de datos JOSE LUIS BERENGUEL GÓMEZ jlberenguel@gmail.com Febrero 2012 Contenidos Almacenamiento de preferencias. Almacenamiento en la memoria interna. Almacenamiento en la memoria externa.

Más detalles

Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4

Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 by S. Muñoz-Gutiérrez stalinmunoz@yahoo.com, informes@grupolinda.org Grupo LINDA Facultad de Ingeniería UNAM México Octubre-Diciembre 2009 Identificando

Más detalles

Documentación: Gestor de una Biblioteca (Eclipse, MySQL, JDK 1.6+) Jose Alberto Benítez Andrades

Documentación: Gestor de una Biblioteca (Eclipse, MySQL, JDK 1.6+) Jose Alberto Benítez Andrades Documentación: Gestor de una Biblioteca (Eclipse, MySQL, JDK 1.6+) Jose Alberto Benítez Andrades 2º Ingeniería Informática, NIF:71454586A PRÓLOGO. ÍNDICE 1. ESPECIFICACIÓN DE LA PRÁCTICA. 1.1.CLASES DE

Más detalles

Federico Peinado www.federicopeinado.es

Federico Peinado www.federicopeinado.es Federico Peinado www.federicopeinado.es Depto. de Ingeniería del Software e Inteligencia Artificial disia.fdi.ucm.es Facultad de Informática www.fdi.ucm.es Universidad Complutense de Madrid www.ucm.es

Más detalles

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 2. El lenguaje de programación Java (Parte 1) Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de

Más detalles

Introducción - por qué usarlas?(1)

Introducción - por qué usarlas?(1) Excepciones en Java Introducción - por qué usarlas?(1) En el mundo de la programación hay algo que siempre ocurre: los errores en los programas. Pero qué sucede realmente después de que ha ocurrido el

Más detalles

Introducción al lenguaje Java

Introducción al lenguaje Java Tipo de entrega: Fecha límite: Lugar: Introducción al lenguaje Java por grupos de prácticas sesión de laboratorio Atenea Objetivos de la práctica: Escribir aplicaciones simples en Java Utilizar el entorno

Más detalles

RUEDA TORRES DULCE CAROLINA 3CM2 JAX-WS WEB SERVICES WEB APPLICATION DEVELOPMENT

RUEDA TORRES DULCE CAROLINA 3CM2 JAX-WS WEB SERVICES WEB APPLICATION DEVELOPMENT 3CM2 JAX-WS WEB SERVICES WEB APPLICATION DEVELOPMENT 1. INTRODUCCIÓN En esta práctica se mostraran los fundamentos del uso de la IDE para desarrollar un servicio web JAX-WS. Después de crear el servicio

Más detalles

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

Solución al Examen de Prácticas de Programación (Ingeniería Informática) Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa

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

Instrucciones para configurar la Plataforma FACe para la aplicación de Gestión Municipal, tanto Simplificada como Básica.

Instrucciones para configurar la Plataforma FACe para la aplicación de Gestión Municipal, tanto Simplificada como Básica. Instrucciones para configurar la Plataforma FACe para la aplicación de Gestión Municipal, tanto Simplificada como Básica. Con el fin de hacer más ordenado el proceso de configuración, hemos dividido este

Más detalles

Servicios web con SOAP y Eclipse

Servicios web con SOAP y Eclipse PRÁCTICA 8 Servicios web con SOAP y Eclipse E l objetivo de esta práctica es invocar e implementar servicios web en Java desde el entorno Eclipse. La práctica está estructurada en tres partes según se

Más detalles

PRÁCTICA 1 MANUAL BÁSICO DE ECLIPSE

PRÁCTICA 1 MANUAL BÁSICO DE ECLIPSE PRÁCTICA 1 MANUAL BÁSICO DE ECLIPSE Facilidades de eclipse para el uso de ant y JUnit Tabla de contenidos 1. Qué es Eclipse?... 2 2. Crear un proyecto en Eclipse... 2 3. Utilizar Ant en nuestro proyecto

Más detalles

El lenguaje de programación Java

El lenguaje de programación Java Departament d Arquitectura de Computadors El lenguaje de programación Java Java (I) Orientado a objetos Ejecutado por una maquina virtual Independiente de la plataforma Multithreaded Orientado a la red

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

Programación Android. Rafael Morón Abad rafaelmoron@gmail.com

Programación Android. Rafael Morón Abad rafaelmoron@gmail.com Programación Android Rafael Morón Abad rafaelmoron@gmail.com 3. Android 3.4 Recursos y Ficheros 5. Recursos y ficheros Nombre del Proyecto Código fuente Código generado Librerías Activos (recursos especiales)

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

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

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

TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS

TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS 1 Introducción... 3 2 Despliegue de la aplicación de ejemplo... 3 2.1 Requisitos previos... 3 2.2 Despliegue de la aplicación... 3 3 Prueba

Más detalles

Dinámica El framework RADical J2EE sin complicaciones. Biblioteca Técnica: audit logs Control declarativo de trazas de auditoria con Dinámica

Dinámica El framework RADical J2EE sin complicaciones. Biblioteca Técnica: audit logs Control declarativo de trazas de auditoria con Dinámica Biblioteca Técnica: audit logs Control declarativo de trazas de auditoria con Dinámica Última actualización: 2008-09-30 Requiere framework v2.1.4 release 2008/09 en adelante Contenido Sumario...2 Requerimientos...2

Más detalles

Programación en Android LSUB, GSYC, URJC

Programación en Android LSUB, GSYC, URJC Programación en Android LSUB, GSYC, URJC Introducción Teléfono o Emulador Android Studio Introducción Activity Mgr App! Dialer Dalvik JVM SQLite WebKit... OpenGL Linux kernel Dispositivo móvil Aplicaciones

Más detalles