Práctica de Análisis y Diseño Orientado a Objetos: Mashup

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

Download "Práctica de Análisis y Diseño Orientado a Objetos: Mashup"

Transcripción

1 Práctica de Análisis y Diseño Orientado a Objetos: Mashup 2º Ciclo Ingeniería Informática / Master en Informática Curso académico Introducción La práctica consistirá en la aplicación de tecnologías de Servicios Web (REST y SOAP) y técnicas de diseño por capas para el desarrollo de una aplicación Web de tipo Mashup y un pequeño conjunto de servicios. Mashup es un término que hace referencia a una aplicación que se apoya en un conjunto de servicios remotos (no necesariamente Servicios Web) para proporcionar su funcionalidad. Las aplicaciones Web de tipo Mashup son características de la denominada Web 2.0 [WEB2.0], que hace referencia a una serie de elementos que caracterizan a las nuevas aplicaciones Web. El uso de servicios REST también es característico de la Web 2.0. Para facilitar el desarrollo de la práctica, se ha implementado una versión inicial que incluye la interfaz gráfica completamente implementada. Esta versión inicial está disponible en la página web de la asignatura. La distribución incluye un fichero README.txt con instrucciones de instalación y configuración. 2 Integración de Aplicaciones Heterogéneas con Servicios Web 2.1 Visión global Para fijar el contexto de la práctica, se supondrá que trabajamos en una empresa que por razones históricas mantiene la información de sus clientes en dos CRMs. Hace años la empresa decidió comprar un CRM para gestionar la información de sus clientes. Este CRM es una aplicación Web instalada en una de las máquinas de la empresa, y utiliza una base de datos (quizás instalada en otra máquina) para almacenar la información de los clientes. Como para cualquier otra aplicación Web, los empleados de la empresa acceden a este CRM desde un navegador. El personal del departamento TIC de la empresa se encarga de administrar el CRM, lo que conlleva mantenimiento software (e.g. nuevas versiones y parches para el CRM y la base de datos, backups, etc.) y mantenimiento hardware (sobre las máquinas en las que corre el CRM y su base de datos). Sin embargo, los tiempos han cambiado. Ahora existen compañías que ofrecen servicios de CRM vía Internet, como por ejemplo, Salesforce o SugarCRM. Con este tipo de CRMs, el CRM no corre en la empresa, sino en la compañía que ofrece este servicio. Normalmente ofrecen una interfaz Web para que los empleados de la empresa puedan acceder a la funcionalidad del CRM (equivalente a la de un CRM clásico ) desde un navegador, y un conjunto de Servicios Web para poder construir aplicaciones que accedan a los datos de los clientes. Este tipo CRMs liberan a las empresas de los costes de mantenimiento software y hardware asociados a un CRM clásico, dado que el CRM está fuera de la empresa. 1

2 En particular, nuestra empresa acaba de adquirir otra empresa de un área de negocio afín. Esta empresa había contratado un servicio de CRM con Salesforce, de manera que los datos sobre los clientes de esta nueva empresa los gestiona Salesforce. En este momento la empresa se encuentra con que tiene datos sobre clientes en dos CRMs: en el interno y en Salesforce. Para determinadas funcionalidades (seguramente para muchas), sería deseable disponer de una aplicación que ofrezca una vista unificada de los datos de los clientes, evitando así que los empleados tengan que utilizar explícitamente los dos CRMs, lo que sería muy tedioso. En particular, nuestra empresa decide construir una aplicación Web (Figura 1) que permite recuperar la información de los clientes de tipo Lead (clientes potenciales). La información de los clientes incluirá además la latitud y longitud correspondientes a la ubicación geográfica de los clientes, de manera que la aplicación pueda posicionar a los clientes sobre un mapa, para facilitar su localización. Esta información no está disponible en ninguno de los CRMs, por lo que la aplicación utilizará el servicio de geolocalización ( geocoding ) de Google Maps, que permite obtener la latitud y longitud a partir de una dirección (e.g. Facultad de Informática, Elviña, 15071, A Coruña, A Coruña, España ). Este tipo de clientes son muy interesantes para los comerciales de la empresa, que sin duda querrán visitar para intentar convertirlos en clientes reales. Figura 1. Interfaz gráfica de la aplicación Web Mashup. La aplicación Web permite que los comerciales localicen los clientes potenciales mediante un formulario en el que especifican el tipo de ganancia anual ( High, Medium o Low ) que esperan de los clientes y el nombre de la provincia en el que están ubicados. La Figura 1 muestra los primeros 10 clientes con tipo de ganancia ( revenue ) High que están ubicados en A Coruña. Si el usuario selecciona uno de los clientes, sus datos se muestran en un mapa (Google Maps), justo sobre su ubicación geográfica. El mapa dispone de controles de navegación y zoom, así como la posibilidad de usar el ratón para arrastrarlo a otra posición. 2

3 La Figura 2 muestra una visión global de la arquitectura de la mashup a implementar. El código de partida de la práctica está estructurado en dos módulos: ui y virtualcrm. El módulo ui implementa la interfaz Web que muestra la Figura 1. Se trata de una interfaz Web rica, con un nivel de interactividad similar al de una aplicación de escritorio. Para ello, la interfaz se ha implementado con enfoque AJAX [AJAX] (AJAX = Asynchronous JavaScript + XML). Bajo este enfoque, la interfaz consta de dos partes: parte cliente y parte servidora. La parte cliente implementa la interfaz gráfica en sí y es en su mayor parte JavaScript, y en consecuencia corre en el navegador. Cada vez que la interfaz gráfica tiene que realizar una comunicación con la parte servidora, realiza una invocación asíncrona por HTTP. Cuando se recibe la respuesta, el código JavaScript modifica el árbol DOM de la página HTML que muestra el navegador para presentar la nueva información. La parte servidora recibe las peticiones HTTP, y si es necesario, devuelve datos en algún formato (no necesariamente en XML como sugiere el acrónimo AJAX). En consecuencia, a diferencia de una aplicación Web convencional, las interacciones que causan una comunicación con el servidor, no devuelven una nueva página HTML completa, sino sólo los nuevos datos (en algún formato) que se deben mostrar. El enfoque AJAX es otro de los elementos que suele estar presente en las aplicaciones Web 2.0. uestra empresa Navegador (Interacciones sobre el mapa) (1) Aplicación Web Mashup UI (2) VirtualCRMService (5) Internet Google Maps Salesforce VirtualCRM (4) (3) InternalCRM Figura 2. Arquitectura de la Mashup. En la interfaz que muestra la Figura 1, cuando el usuario hace clic en el botón Search, se comprueba que se ha especificado un valor en el campo State, y en caso afirmativo, el código JavaScript invoca por HTTP, de manera asíncrona, un servicio proporcionado por la aplicación Web que devuelve los datos de los clientes (los datos se devuelven en JSON, que es un formato específico de JavaScript). Cuando llega la respuesta, el código JavaScript muestra los datos de los clientes en un componente gráfico que permite visualizarlos en bloques de 10, con botones para avanzar y retroceder. Cuando el usuario hace clic sobre un cliente, los datos de éste se muestran sobre el mapa de Google Maps, en la ubicación geográfica del cliente. 3

4 La interfaz se ha implementado con GWT (Google Web Toolkit) [GWT] y las APIs de Google Maps [GMAPSAPI]. GWT es un framework Java Open Source liberado por Google para la implementación de aplicaciones Web AJAX. GWT permite implementar toda la interfaz gráfica en Java. Para ello, GWT dispone de un compilador (traductor) que genera el código JavaScript automáticamente a partir del código Java correspondiente a la interfaz gráfica, y un pequeño framework para recibir las peticiones asíncronas procedentes del código JavaScript. Google Maps ofrece un API JavaScript para visualizar el mapa terrestre, posicionar objetos sobre él y gestionar eventos sobre ellos. El código de la práctica no usa directamente el API JavaScript de Google Maps, sino que lo hace mediante Google Maps GWT [GMAPSGWT], una librería de componentes GWT que encapsulan el API JavaScript de Google Maps. Las interacciones con los controles del mapa pueden causar peticiones a Google Maps para recuperar la información geográfica que muestra el mapa. Estas peticiones las realiza automáticamente el API JavaScript de Google Maps. <<interface>> VirtualCRMService + findleads(lowannualrevenue : double, highannualrevenue : double, state : String) : List<LeadTO> LeadTO - firstname : String - lastname : String - company : String - annualrevenue : double - phone : String - street : String - postalcode : String - city : String - state : String - country : String - creationdate : Calendar - geographicpointto : GeographicPointTO + constructor y métodos get 0..1 GeographicPointTO - latitude : double - longitude : double + constructor y métodos get Figura 3. Interfaz VirtualCRMService. La única interacción del usuario que causa una petición a la aplicación Web es la correspondiente al clic sobre el botón Search. El resto de eventos se resuelven localmente en el navegador o causan peticiones a Google Maps para recuperar nuevas zonas del mapa. Cuando el usuario hace clic en Search, el código JavaScript invoca el servicio de búsqueda (1), que a su vez invoca (2) la operación findleads del interfaz VirtualCRMService (Figura 3), proporcionado por módulo virtuacrm. La operación findleads recibe tres parámetros. Los dos primeros representan el intervalo de ganancia anual que deben tener los clientes (lowannualrevenue <= ganancia < lowhighrevenue), y 4

5 el tercero el nombre de la provincia en la que están ubicados. La operación devuelve la información sobre los clientes que concuerdan con esos criterios de búsqueda. Por cada cliente (LeadTO), se devuelve su nombre, apellidos, empresa en la que trabaja, ganancia anual esperada, teléfono, calle, código postal, ciudad, provincia, país, la fecha de alta en el CRM y su posición geográfica (GeographicPointTO). Si el servicio de geolocalización no es capaz de devolver la posición de un cliente, el atributo geographicpointto debe ser null. La aplicación Web mantiene una única instancia (Singleton) de la clase que implementa el interfaz VirtualCRMService, que se puede obtener mediante VirtualCRMServiceFactory.getVirtualCRMService(). La implementación de VirtualCRMService puede mantener estado global. En ese caso, la implementación de este interfaz debe inicializar el estado en el constructor y no debe modificarlo nunca durante la ejecución de las operaciones del interfaz. La implementación del interfaz VirtualCRMService debe invocar los servicios de búsqueda del CRM interno (3) y Salesforce (4) para obtener los datos de los clientes potenciales, y al servicio de geolocalización de Google Maps (5) para obtener su posición geográfica. Finalmente la implementación del interfaz debe devolver la información de los clientes, ordenados por la ganancia potencial (de mayor a menor). En la práctica se deberá implementar: Una implementación ficticia del servicio de búsqueda del CRM interno (se añadirá el módulo internalcrm a la distribución fuente). El interfaz VirtualCRMService (módulo virtualcrm ), usando una arquitectura por capas que oculte las APIs reales de los servicios que se invocan (los servicios de búsqueda del CRM interno y Salesforce, y el servicio de geolocalización de Google Maps). Esta arquitectura por capas facilita la implementación del interfaz VirtualCRMService (la clase de implementación puede trabajar con APIs más sencillas que las de los servicios) y minimiza el impacto en el software cuando se decide reemplazar un servicio por otro alternativo (e.g. en el futuro quizás se desee usar el servicio de geolocalización de Yahoo! Maps en vez del de Google Maps). Un servicio que devuelve información de clientes recientes en RSS 2.0 (se añadirá el módulo leadnews a la distribución fuente). Este servicio será de utilidad para poder estar al tanto de clientes recientes desde un lector de RSS (e.g. Firefox, Internet Explorer, Thunderbird, Outlook, etc.). Los siguientes apartados especifican de manera detallada la funcionalidad a implementar en cada uno de los componentes de la práctica. 2.2 Servicio de búsqueda del CRM interno Se implementará un servicio SOAP que ofrece una operación de búsqueda que devuelve información sobre los clientes gestionados por el CRM interno. Por sencillez, la operación será del estilo de la operación findleads del interfaz VirtualCRMService, es decir, a partir del intervalo de ganancia anual (mediante dos parámetros) y el nombre de la 5

6 provincia, devuelve la información de los clientes que concuerdan con esos criterios de búsqueda. Una peculiaridad a mencionar es que el servicio CRM interno devolverá el nombre y el apellido de cada contacto en un único campo siguiendo el formato Apellidos, ombre (e.g. Pérez López, Juan). Nótese que la clase LeadTO del módulo virtualcrm asume dos campos diferentes para el apellido y para el nombre. Además, para dar soporte al servicio RSS, el servicio SOAP también proporcionará otra operación que devuelve los clientes añadidos entre dos fechas. En un caso real (e.g. Salesforce), la operación de búsqueda seguramente sería más general, y en consecuencia, más complicada de usar. También por sencillez, la implementación del servicio podrá tener cableada una lista de clientes con información ficticia, que en un caso real, provendrían de un repositorio de información (e.g. una base de datos). 2.3 Servicio de búsqueda de Salesforce Salesforce (http://www.salesforce.com) ofrece a sus clientes un Servicio Web SOAP para que sus aplicaciones puedan obtener fácilmente la información contenida en su CRM online. Para poder desarrollar y probar fácilmente aplicaciones que accedan a sus datos, Salesforce permite a los desarrolladores crear cuentas de prueba que son idénticas a las reales pero que contienen datos ficticios. En la práctica, accederemos a la información de una empresa ficticia creada de esta manera. Para ello cada grupo creará su propia cuenta de prueba en Salesforce. El modelo de datos lógico de Salesforce se compone de una serie de entidades de datos, cada una de las cuáles contiene diversos tipos de información. En nuestro caso, utilizaremos la entidad Lead (en español, Candidato ) que contiene diversos datos sobre clientes potenciales. Entre estos datos, se encuentran los diversos elementos que componen su dirección como: Street (calle y número), State (provincia), PostalCode (código postal) o Country (pais), y la facturación anual de la empresa a la que pertenece el contacto (AnnualRevenue). Para consultar los datos de una entidad, es necesario utilizar el método query del API del servicio Web. Este método recibe entre sus parámetros una expresión de consulta escrita en un lenguaje llamado SOQL, que es una versión muy simplificada de SQL. Previamente a la invocación de la consulta, es necesario autenticarse en el servicio mediante el método login de la API. La documentación detallada del API de Salesforce se encuentra en Además, en https://wiki.apexdevnet.com/index.php/api y desde pueden encontrarse diversos ejemplos y recursos de interés. En clase de prácticas, comentaremos también de forma detallada un ejemplo de acceso a la información de Salesforce. 6

7 2.4 Servicio de geolocalización de Google Maps Google Maps además de ofrecer un API JavaScript para visualizar el mapa terrestre, posicionar objetos sobre él y gestionar eventos sobre ellos, proporciona también un servicio REST, invocable por GET, de geolocalización. El servicio devuelve una lista priorizada (de más a menos precisión) de puntos geográficos en los hay una dirección que coincide con la pasada por parámetro. El servicio permite devolver la información en varios formatos. En la práctica se invocará al servicio de manera que devuelva la información en formato CSV (Comma Separated Value), y se considerará sólo la información que aparece en la primera línea (la más precisa). La documentación de este servicio puede encontrarse en (sección Geocoder Examples ). 2.5 Servicio RSS Se utilizará JDOM para la generación del XML necesario partiendo de los datos de los clientes. Se creará un feed llamado Last potential clients con link y una descripción adecuada. Por cada cliente reciente (añadido hace menos de 24 horas) se generará un item RSS con los siguientes elementos: title. Nombre y apellidos del contacto, concatenado con el nombre de la empresa, separados por el carácter - (e.g. José Pérez López Acme consulting). description. Concatenación de todos los campos del contacto (formato ombrecampo: ValorCampo) separados por el carácter -. pubdate. Fecha de alta del cliente. 3 Diseño de flujos inter-aplicación: Servicio de Atención de Incidencias La empresa objeto de esta práctica tiene también la necesidad de atender las incidencias de sus clientes. En este apartado se utilizará el lenguaje BPEL para modelar (de forma muy simplificada) una parte de este proceso de negocio. El proceso consiste en lo siguiente: A la entrada el proceso recibe una incidencia, que consta de los siguientes datos: cif del cliente que ha abierto la incidencia, un código numérico que identifica el tipo de incidencia y una descripción de la misma. A continuación, se comprueba si el cliente es de tipo VIP o no. Los clientes VIP son aquellos que facturan más de euros anuales. Esta información puede obtenerse a través del servicio web del CRM interno (en esta parte de la práctica, por simplicidad, no nos ocuparemos de los clientes de Salesforce). Si el cliente que ha abierto la incidencia es de tipo VIP, entonces hay que generar una alerta al departamento comercial. Estas alertas son manejadas por una 7

8 herramienta de comunicación corporativa, que ofrece un API de Servicio Web. Para crear la alerta, debe invocarse una operación llamada sendalert del servicio web. Esta operación recibe como parámetros el cif del cliente y un texto obtenido concatenando el tipo de incidencia y la descripción de la misma. Devuelve un código textual con el resultado de la operación. A continuación es necesario dar la incidencia de alta en la aplicación de asignación de recursos para incidencias. Esto se realiza invocando una operación llamada manageincidence del servicio web ofrecido por dicha aplicación. Recibe como parámetros los datos de la incidencia y, además, la indicación de si el cliente es VIP o no. Devuelve un mensaje en formato texto con la fecha estimada en la que la incidencia será atendida. Como resultado de su ejecución, el flujo devuelve la fecha estimada en que la incidencia será atendida. 3.1 Parte obligatoria: Objetivo La parte obligatoria de la práctica de flujos inter-aplicación consiste en definir (NO en implementar): La especificación de los formatos de mensaje intercambiados entre los diferentes Servicios Web, así como los tipos de enlace a socios necesarios. La especificación WSDL (sólo definición de tipos de datos y operaciones) de los diversos Servicios Web involucrados. La especificación BPEL que implementa el flujo definido. Cualquier otra especificación que sea necesaria para el funcionamiento del proceso. OTAS: No hay una única solución correcta para traducir este problema en BPEL. Se entregarán en formato electrónico los ficheros con las especificaciones precisas. Debido a que esta parte de la práctica no será probada en un entorno de ejecución real con el que se pueda depurar convenientemente, no se será estricto con los posibles errores menores de sintaxis, siempre que estos no sugieran algún fallo de concepto. Para facilitar la creación del flujo BPEL puede utilizarse, si se desea, el editor gráfico Eclipse BPEL Designer. 8

9 3.2 Parte Opcional: Objetivo Utilizando el motor BPEL ActiveBPEL, implementar realmente la aplicación BPEL especificada al comienzo de la sección 3. Más concretamente será necesario: Implementar servicios web auxiliares ( mock ) necesarios: o Aplicación de comunicación corporativa. No tiene que ser capaz de enviar realmente las alertas. Basta con que escriba por la salida estándar los datos de las alertas recibidas. o Aplicación de asignación de recursos para incidencias. No tiene que realizar ningún procesamiento real de las incidencias. Basta con que escriba por la salida estándar los datos de las incidencias recibidas y devuelva un plazo diferente para las incidencias VIP que para las no VIP. o CRM interno. Se añadirá una operación al servicio existente que permita comprobar si un cliente es de tipo VIP a partir de su cif. Implementar todas las especificaciones WSDL y BPEL necesarias para implementar el flujo especificado utilizando el motor ActiveBPEL. Para facilitar la creación del flujo BPEL, se utilizará el editor gráfico Eclipse BPEL Designer. 4 Normativa y evaluación 4.1 Composición de los grupos La práctica se realizará en grupos de 2 personas (preferentemente) o de manera individual. 4.2 Estándar de codificación Con objeto de escribir código de calidad y fácilmente legible, se seguirá un sistema de codificación común, que define reglas para nombrar clases, atributos y métodos, normas de identación, etc. Esto permite que en un equipo de desarrollo el aspecto del código sea el mismo, independientemente de qué programador lo haya escrito, lo que facilita el mantenimiento. Para la práctica se utilizará el estándar de codificación [JAVACON. Los ejemplos de la asignatura siguen estas sencillas convenciones de nombrado. Para no alargar la práctica, no será necesario realizar documentación de las clases (e.g. JavaDoc). 4.3 Formato de entrega de la versión final Se entregará una distribución.tar.gz o.zip con los fuentes de la aplicación y una memoria impresa. 9

10 El formato de la distribución fuente será similar al del código de partida, es decir, constará sólo de los ficheros fuente (e.g..java, pom.xml, ficheros de configuración, etc.), y no de los ficheros objeto (e.g..class,.war, etc.). A continuación se detalla el formato de la memoria. Como normal general, los diagramas emplearán la notación UML. Los diagramas deben ser de calidad (y no hechos por reingeniería inversa; el diseño precede a la implementación!) y estar explicados de manera breve, pero clara. Es importante destacar que no se pretende que se haga un documento grande, sino un documento que explique breve, pero claramente, cada uno de los apartados que a continuación se describen. La calidad de la memoria será vital para la corrección de la práctica. 1. Introducción 2. Diseño Cita las partes opcionales que se han implementado. 2.1 Arquitectura global Explica brevemente los módulos que se han diseñado e implementado. Para apoyar la explicación se usarán dos diagramas UML de alto nivel : Un diagrama de clases que ilustre las principales abstracciones (interfaces, factorías, clases de implementación de interfaces, etc.) de los distintos módulos que intervienen en la implementación del interfaz VirtualCRMService. Este diagrama no tendrá que mostrar los nombres de operaciones y atributos en las interfaces y clases. Se trata de ilustrar las dependencias entre las principales abstracciones. Un diagrama de secuencia que ilustre el procesamiento de una invocación a la operación findleads del interfaz VirtualCRMService, en términos de las abstracciones mostradas en el anterior diagrama de clases. 2.2 Módulo i-ésimo Por cada módulo (excepto para las partes que ya venían implementadas en el módulo ui ) se incluirá un apartado que explique su diseño. Para apoyar la explicación se incluirá: La estructura global de paquetes del módulo. o es necesario emplear la notación UML. Tampoco es necesario mostrar todos los paquetes, sino sólo los paquetes de más alto nivel que reflejen la arquitectura del módulo y sus principales subpaquetes. Por cada paquete se explicará brevemente qué contiene. Uno o varios diagramas que ilustren la arquitectura del módulo. En particular, los diagramas deberán especificar detalladamente las 10

11 operaciones de los interfaces y las clases Transfer Object. Para el resto de abstracciones (clases concretas) sólo será necesario especificar las operaciones y atributos que se consideren relevantes para poder entender la explicación del módulo (e.g. algún atributo importante para comprender la implementación de algún interfaz). Es decir, los diagramas UML no tienen que recoger todas las abstracciones implementadas, sino sólo las relevantes, y para cada una de ellas mostrar sólo lo necesario para poder comprender el diseño del módulo. 3. Compilación e instalación de la aplicación Se explicará claramente cómo compilar e instalar la práctica, asumiendo un entorno correctamente configurado (e.g. servidor de aplicaciones instalado y configurado, paquetes software instalados en los mismos directorios que en el laboratorio, etc.), y que en consecuencia, no es preciso documentar. La instrucciones de instalación deberían ser lo más sencillas posibles. En particular, deberán especificar: Cómo desempaquetar la distribución de los fuentes. Algún aspecto particular de configuración que sea preciso resaltar. La práctica debe poder ser compilada y ejecutada usando maven. En la corrección de la versión final de cada aplicación se seguirán estas instrucciones de instalación. 4. Problemas conocidos Lista los errores que se conoce que tiene el código. 4.4 Iteraciones y entregas Para la realización de cada aplicación se seguirá un enfoque basado en iteraciones, de manera que cada iteración incorpora más funcionalidad sobre la anterior, hasta que en la última iteración se termina con un software que implementa toda la funcionalidad. En particular, cada aplicación se hará en dos iteraciones. La corrección de la primera iteración no llevará una nota asociada ni será necesario entregar una memoria. Bastará con mostrar los diagramas relativos a esta iteración mediante la herramienta MagicDraw instalada en el laboratorio. El objetivo de la corrección de esta primera iteración es intentar detectar errores importantes, y en ese caso, orientar al alumno hacia su resolución. En la segunda iteración se completará la práctica. En la corrección de la segunda iteración se pondrá una nota y se deberá entregar el código y la memoria impresa. En particular, para los alumnos de Ingeniería Informática, se realizarán las siguientes iteraciones: 11

12 Primera iteración. Se implementará el Servicio Web ficticio del CRM interno, el interfaz VirtualCRMService sin hacer uso de Salesforce (pero con una arquitectura que prevea su uso) y el servicio RSS. Plazo de entrega: finales de Mayo y principios de Junio (a mediados de Mayo se publicará día y hora para cada grupo). Segunda iteración. Se implementará el resto de la práctica. Los alumnos que lo deseen pueden implementar la parte opcional descrita en la sección 3.2. Plazo de entrega: principios de Julio (a finales de Junio se publicará día y hora para cada grupo). Para los alumnos del Master, se realizarán las siguientes iteraciones: Primera iteración. Se implementará el Servicio Web ficticio del CRM interno, el interfaz VirtualCRMService sin hacer uso de Salesforce (pero con una arquitectura que prevea su uso) y el servicio RSS. Plazo de entrega: finales de Mayo y principios de Junio (a mediados de Mayo se publicará día y hora para cada grupo). Segunda iteración. Se corregirán los errores de la iteración anterior, y los alumnos que lo deseen, implementarán el acceso a Salesforce y realizarán la especificación descrita en el apartado 3.1. Plazo de entrega: principios de Julio (a finales de Junio se publicará día y hora para cada grupo). A efectos de planificación debe tenerse en cuenta que cada iteración debe estar lista para el primer día posible de su plazo de entrega. La entrega de cada iteración es obligatoria y deben estar presentes todos los miembros del grupo. En la entrega se realizará una demo y se harán preguntas individualizadas sobre el diseño y la implementación. 4.5 Evaluación La puntuación máxima de cada parte será como sigue: Parte obligatoria: 8 puntos. Parte opcional: 2 puntos. Para la puntuación de cada parte, se tendrá en cuenta: Su correcto funcionamiento. La calidad del diseño. La calidad del código. La calidad de la memoria. 12

13 Una práctica copiada significará un suspenso para el grupo que ha dejado copiar y el que ha copiado; a todos los efectos, no se hará ninguna distinción. Los suspensos por práctica copiada tendrán que realizar una práctica distinta, que además deberán proponer (y ser aceptada). Para aprobar la asignatura en la convocatoria de Junio será preciso entregar cada iteración en el plazo fijado y superar el examen tipo test. Para las convocatorias de Septiembre y Diciembre se hará la misma práctica (excepto los suspensos por práctica copiada), sin posibilidad de entregar o revisar la primera iteración. 5 Referencias [AJAX] J. J. Garret, Ajax: A New Approach to Web Applications, [GMAPSAPI] Google Maps API, [GMAPSGWT] Google Maps GWT, [YAHOOMAPSAPI] Yahoo! Geocoding API [GWT] Google Web Tookit: [JAVACON] Sun Microsystems, Java Code Conventions, [WEB2.0] T. O Reilly, What Is Web 2.0: Design Patterns and Business Models for the Next Generation of Software, 13

Práctica Java POJO de Integración de Sistemas Sitio Web de Apuestas Deportivas

Práctica Java POJO de Integración de Sistemas Sitio Web de Apuestas Deportivas Práctica Java POJO de Integración de Sistemas Sitio Web de Apuestas Deportivas Curso académico 2009-2010 1 Introducción La práctica de Integración de Sistemas consistirá en el diseño e implementación de

Más detalles

Práctica Java POJO de Integración de Sistemas Tienda de Comercio Electrónico

Práctica Java POJO de Integración de Sistemas Tienda de Comercio Electrónico Práctica Java POJO de Integración de Sistemas Tienda de Comercio Electrónico Curso académico 2008-2009 1 Introducción La práctica de Integración de Sistemas consistirá en el diseño e implementación de

Más detalles

Práctica de Integración de Sistemas Aplicación Web.NET: Sitio de Comentarios de Eventos Deportivos

Práctica de Integración de Sistemas Aplicación Web.NET: Sitio de Comentarios de Eventos Deportivos Práctica de Integración de Sistemas Aplicación Web.NET: Sitio de Comentarios de Eventos Deportivos 1. Introducción Curso académico 2009-2010 La práctica de Integración de Sistemas consiste en el diseño

Más detalles

Introducción a AJAX y visión global de la práctica

Introducción a AJAX y visión global de la práctica Introducción a AJAX y visión global de la práctica Modelo de aplicaciones Web clásico (1) La mayor parte de las interacciones del usuario causan una petición HTTP al servidor Web El servidor Web procesa

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

DESARROLLO WEB EN ENTORNO SERVIDOR

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

Más detalles

Guías para la práctica (2): Acceso a Salesforce

Guías para la práctica (2): Acceso a Salesforce Guías para la práctica (2): Acceso a Salesforce Pasos Previos 1. Darse de alta en Salesforce como desarrollador: http://www.salesforce.com/form/trial/freetrial-developer.jsp 2. Crear nuevos leads (Candidatos),

Más detalles

Christian Busquiel Sanz Diego Morillo Arroyo Alicia Rodríguez Carrión José Romero Huertas

Christian Busquiel Sanz Diego Morillo Arroyo Alicia Rodríguez Carrión José Romero Huertas Ajax Christian Busquiel Sanz Diego Morillo Arroyo Alicia Rodríguez Carrión José Romero Huertas Departamento de Ingeniería Telemática Universidad Carlos III de Madrid Contenido Introducción Descripción

Más detalles

CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 16 CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC304_3 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Página 1 de 23 Índice del Documento 1.- Introducción... Página 4 2.- Propuesta

Más detalles

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 18 CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 2 Código IFC297_2 Versión 5 Situación RD 1201/2007 Actualización

Más detalles

http://www.cem.itesm.mx/extension/ms

http://www.cem.itesm.mx/extension/ms Diplomado Programación orientada a objetos con Java y UML Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos

Más detalles

Guías para la práctica (2): Acceso a Salesforce

Guías para la práctica (2): Acceso a Salesforce Guías para la práctica (2): Acceso a Salesforce Pasos Previos Darse de alta en Salesforce como desarrollador: http://www.salesforce.com/form/trial/freetrial-developer.jsp Crear nuevos leads (Candidatos),

Más detalles

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

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

Más detalles

Capítulo III. Análisis y diseño.

Capítulo III. Análisis y diseño. Capítulo III. Análisis y diseño. 3.1 Análisis. El análisis es el intermediario entre los requisitos del sistema y el diseño, esta sección definiremos el análisis con una serie de modelos técnicos del sistema,

Más detalles

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA PROGRAMACIÓN DIDACTICA ANUAL Parte específica del módulo: 0485. Programación Departamento de Familia Profesional de Informática Curso: 2014-15

Más detalles

Confección y publicación de páginas Web

Confección y publicación de páginas Web 2014 Confección y publicación de páginas Web Docente: Manuel Fernández Catalán 0 ÍNDICE 1 Presentación... 2 2 Objetivos... 2 3 Tecnología... 2 4 Metodología y evaluación... 3 5 Material didáctico... 3

Más detalles

DESCRIPCIÓN FUNCIONAL API XBRL-PGC2007

DESCRIPCIÓN FUNCIONAL API XBRL-PGC2007 DESCRIPCIÓN FUNCIONAL API XBRL-PGC2007 ADAPTACIÓN DEL MÓDULO DE SOFTWARE DE TRATAMIENTO DE INFORMES XBRL A LA NUEVA VERSIÓN DE LA TAXONOMÍA PGC2007 (V1.4.1) Noviembre 2011 ÍNDICE 1. INTRODUCCIÓN 2. DESCRIPCIÓN

Más detalles

TFC. Ingeniería de Software MEMORIA. Consultor: Juan José Cuadrado Gallego

TFC. Ingeniería de Software MEMORIA. Consultor: Juan José Cuadrado Gallego TFC Ingeniería de Software Alumno: Halyna Klachko Consultor: Juan José Cuadrado Gallego Índice 1. Identificación del proyecto..5 1.1 Introducción...5 1.2 Objetivos del proyecto..5 1.3 Descripción general..5

Más detalles

DESARROLLO WEB EN ENTORNO SERVIDOR

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

Más detalles

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

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

Más detalles

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

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

Más detalles

UNIT4 CRM. Información de usuario. Release notes. v. 9.0.1.0 a v. 9.0.4.0 UNIT4 2011. Ref. acv9010u.docx

UNIT4 CRM. Información de usuario. Release notes. v. 9.0.1.0 a v. 9.0.4.0 UNIT4 2011. Ref. acv9010u.docx UNIT4 CRM Información de usuario Release notes a v. 9.0.4.0 UNIT4 2011 Ref. acv9010u.docx CRM Tabla de contenido Tabla de contenido 1. Introducción... 1 2. Requerimientos... 1 2.1. Requerimientos de hardware...1

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

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado 1. Introducción Unified Modeling Languaje Fuente: Booch- Jacobson-Rumbauch y diversos sitios Internet, entre otros:

Más detalles

SCR6150c Versión 2.0(12/01/05)

SCR6150c Versión 2.0(12/01/05) SCR6150c Versión 2.0(12/01/05) Pliego de Bases Técnicas: Anexo NORA Fecha: 30/09/2009 Referencia: EJIE S.A. Mediterráneo, 14 Tel. 945 01 73 00* Fax. 945 01 73 01 01010 Vitoria-Gasteiz Posta-kutxatila /

Más detalles

BÁSICOS APP INVENTOR. Manual de Introducción a AppInventor

BÁSICOS APP INVENTOR. Manual de Introducción a AppInventor BÁSICOS APP INVENTOR Manual de Introducción a AppInventor Contenido 1. Qué es AppInventor?... 2 2. Qué tipo de aplicaciones pueden crearse con AppInventor?... 3 3. Cómo se construye una aplicación en

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software MSDN Ingeniería de Software...1 Ingeniería del Software_/_ Ingeniería y Programación...1 Análisis de Requerimientos...2 Especificación...3 Diseño...4 Desarrollo en Equipo...5 Mantenimiento...6

Más detalles

Soluciones de Cartografía, GIS y Teledetección www.tycgis.com CURSO DE CREACIÓN DE APLICACIONES API DE JAVASCRIPT Y ARCGIS SERVER

Soluciones de Cartografía, GIS y Teledetección www.tycgis.com CURSO DE CREACIÓN DE APLICACIONES API DE JAVASCRIPT Y ARCGIS SERVER CURSO DE CREACIÓN DE APLICACIONES API DE JAVASCRIPT Y ARCGIS SERVER MODALIDAD PRESENCIAL Profesionales formando a Profesionales 2015 formacion@tycgis.com Calle Rodríguez San Pedro 13, 3ª Planta, Oficina

Más detalles

IVista: es la interfaz con la que el Presentador se comunica con la vista.

IVista: es la interfaz con la que el Presentador se comunica con la vista. Capítulo 3 MODELO DE DISEÑO 3.1 Arquitectura Modelo-Vista-Presentador La arquitectura Modelo-Vista-Presentador (MVP) [11] separa el modelo, la presentación y las acciones basadas en la interacción con

Más detalles

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

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

Más detalles

PROGRAMA DE CURSO DE FORMACIÓN PROFESIONAL OCUPACIONAL

PROGRAMA DE CURSO DE FORMACIÓN PROFESIONAL OCUPACIONAL MINISTERIO DE TRABAJO Y ASUNTOS SOCIALES PROGRAMA DE CURSO DE FORMACIÓN PROFESIONAL OCUPACIONAL Programador de lenguajes orientados a objetos DATOS GENERALES DEL CURSO 1. Familia Profesional: INFORMÁTICA

Más detalles

Manual de integración con el TPV Virtual para comercios con conexión por Redirección

Manual de integración con el TPV Virtual para comercios con conexión por Redirección Manual de integración con el TPV Virtual para comercios con conexión por Redirección Versión: 1.6 Versión: 1.6 i Autorizaciones y control de versión Versión Fecha Afecta Breve descripción del cambio 1.0

Más detalles

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R índice Módulo A Unidad didáctica 1: Introducción a las Bases de Datos Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos 3 19 Módulo B Unidad didáctica 1: Fase de análisis de requisitos Modelo

Más detalles

Tema 5. Plataforma Java EE

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

Más detalles

TFM Comunicación, Redes y Gestión de Contenidos

TFM Comunicación, Redes y Gestión de Contenidos TFM Comunicación, Redes y Gestión de Contenidos Aplicación móvil hibrida para control de asistencia y servicio técnico a domicilio y gestión de partes de trabajo Autor: Patricia Paguay Lara Tutorizado

Más detalles

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador). CAPÍTULO 4 Requerimientos de software Este capítulo presenta las herramientas necesarias para la construcción y ejecución de programas en el lenguaje de programación JAVA, los requerimientos mínimos de

Más detalles

ACCIÓN FORMATIVA FINANCIADA POR EL SERVICIO PÚBLICO DE EMPLEO ESTATAL

ACCIÓN FORMATIVA FINANCIADA POR EL SERVICIO PÚBLICO DE EMPLEO ESTATAL MF0491_3: PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE. (IFCD0210: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB) 180 HORAS PRESENCIALES Nº DE EXPEDIENTE: FC/2013/0064 ACCION 141 GRUPO 1 ACCIÓN FORMATIVA FINANCIADA

Más detalles

DWR: Easy Ajax for Java

DWR: Easy Ajax for Java DWR: Easy Ajax for Java Juan Fernández Rodríguez uo67775@uniovi.es Resumen. En este artículo describiremos brevemente que es Ajax de que tecnologías se compone y como funciona, haremos un breve resumen

Más detalles

Tema 18. Servicios Web.

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

Más detalles

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

LENGUAJES DE PROGRAMACIÓN 4 MÓDULOS. 56 Horas

LENGUAJES DE PROGRAMACIÓN 4 MÓDULOS. 56 Horas LENGUAJES DE PROGRAMACIÓN 4 MÓDULOS. 56 Horas HTML, XHTML Y CSS K008 10 horas Obtener un conocimiento base sobre las tecnologías usadas en la creación de páginas web. Conocer la estructura y comandos básicos

Más detalles

THEATER LOCATION. iphone Application

THEATER LOCATION. iphone Application THEATER LOCATION iphone Application INDICE Diseño... 1 ios... 4 Gestor de Contenidos... 9 Presupuesto... 11 DISEÑO» MAPA DE LOCALIZACIONES Indicador de localización. 12:30 Botón de intercambio de vista

Más detalles

TPV Práctica de la Asignatura de Programación Orientada a Objetos Escenario para el Curso 2014/2015 Febrero de 2014 Versión 1.00

TPV Práctica de la Asignatura de Programación Orientada a Objetos Escenario para el Curso 2014/2015 Febrero de 2014 Versión 1.00 TPV Práctica de la Asignatura de Programación Orientada a Objetos Escenario para el Curso 2014/2015 Febrero de 2014 Versión 1.00 Departamento de Lenguajes y Sistemas Informáticos Escuela Técnica Superior

Más detalles

Anexo IV Configuración del Entorno de Desarrollo. Guía de puntos de interés de la Ciudad de Madrid

Anexo IV Configuración del Entorno de Desarrollo. Guía de puntos de interés de la Ciudad de Madrid Anexo IV Configuración del Entorno de Desarrollo Guía de puntos de interés de la Ciudad de Madrid 1. Índice Anexo IV Configuración del Entorno de Desarrollo... 1 1. Índice... 2 2. Entorno de Desarrollo...

Más detalles

TEMA 5. Otras arquitecturas distribuidas IV. Web Services

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

Más detalles

Informe Final Desarrollo del Proyecto Áreas Naturales Protegidas del Ecuador. Desarrollado por: Jessica Nathaly Correa María Isabel Granda.

Informe Final Desarrollo del Proyecto Áreas Naturales Protegidas del Ecuador. Desarrollado por: Jessica Nathaly Correa María Isabel Granda. Informe Final Desarrollo del Proyecto Áreas Naturales Protegidas del Ecuador Desarrollado por: Jessica Nathaly Correa María Isabel Granda. 12 de febrero de 2015 Loja-Ecuador Contenido Presentación... 3

Más detalles

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 6. Actualización

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 6. Actualización Página 1 de 19 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 6 Situación Contraste externo Actualización

Más detalles

Características de OpenCms

Características de OpenCms Características de OpenCms Se basa en Java y Xml OpenCms está totalmente desarrollado en java bajo el estándar servlet. Por lo tanto, se puede integrar fácilmente en entornos hardware y software existentes,

Más detalles

ATLAS MANUAL DE USUARIO DEL ARQUETIPO WEBSERVICE

ATLAS MANUAL DE USUARIO DEL ARQUETIPO WEBSERVICE ATLAS MANUAL DE USUARIO DEL ARQUETIPO WEBSERVICE Versión 1.8 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de usuario del

Más detalles

BOLETÍN DE NOVEDADES Barcelona, junio de 2006

BOLETÍN DE NOVEDADES Barcelona, junio de 2006 BOLETÍN DE NOVEDADES Barcelona, junio de 2006 Introducción El objeto de este documento es presentar y describir brevemente las principales actuaciones en los últimos meses de Carver en algunos de sus clientes,

Más detalles

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 17 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles

ANEXO 1. ANEXO TÉCNICO

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

Más detalles

Sage CRM. Sage CRM 7.3 Guía de Mobile

Sage CRM. Sage CRM 7.3 Guía de Mobile Sage CRM Sage CRM 7.3 Guía de Mobile Copyright 2014 Sage Technologies Limited, editor de este trabajo. Todos los derechos reservados. Quedan prohibidos la copia, el fotocopiado, la reproducción, la traducción,

Más detalles

INTRODUCCIÓN AL WEB. Pag. 1 de 10

INTRODUCCIÓN AL WEB. Pag. 1 de 10 INTRODUCCIÓN AL WEB La World Wide Web o simplemente WWW o Web es uno de los métodos más importantes de comunicación que existe en Internet. Consiste en un sistema de información basado en Hipertexto (texto

Más detalles

Práctica 2: Instalación de un gestor de bases de datos relacionales y desarrollo de una aplicación Web con persistencia de datos

Práctica 2: Instalación de un gestor de bases de datos relacionales y desarrollo de una aplicación Web con persistencia de datos Práctica 2: Instalación de un gestor de bases de datos relacionales y desarrollo de una aplicación Web con persistencia de datos Sistemas de Información Grado de Informática Dpto. de Informática e Ingeniería

Más detalles

Verificación de usuario integrada Guía de implementación del Cliente 2015-05-04 Confidencial Versión 2.9

Verificación de usuario integrada Guía de implementación del Cliente 2015-05-04 Confidencial Versión 2.9 Verificación de usuario integrada Guía de implementación del Cliente 2015-05-04 Confidencial Versión 2.9 TABLA DE CONTENIDOS Introducción... 2 Propósito y destinatarios... 2 Sobre Este Documento... 2 Términos

Más detalles

Ciclo Formativo de Grado Superior Desarrollo de Aplicaciones Web

Ciclo Formativo de Grado Superior Desarrollo de Aplicaciones Web Ciclo Formativo de Grado Superior Desarrollo de Aplicaciones Web Proyecto Propio de Ampliación con Programación de Dispositivos Móviles e Inteligentes Paseo de la Puerta del Ángel, s/n 28011 Madrid www.iesellago.net

Más detalles

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 6. Actualización

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 6. Actualización Página 1 de 19 CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 2 Código IFC297_2 Versión 6 Situación Contraste externo Actualización

Más detalles

Taller de Sistemas de Información 1

Taller de Sistemas de Información 1 Taller de Sistemas de Información 1 Trabajo de Laboratorio Primer Semestre Año 2007 1. Introducción En los tiempos que corren los clásicos juegos de mesa han sido llevados a Internet al igual que muchas

Más detalles

Historia de revisiones

Historia de revisiones Binary-Rain Glosario Versión 1.2 Historia de revisiones Fecha Versión Descripción Autor 18/08/2012 1.0 Versión inicial Paul Green 18/08/2012 1.1 Revisión de calidad Camilo Servetti 25/08/2012 1.2 Se agregaron

Más detalles

Arquitectura Java para el Cuarto Ejercicio. José Antonio Ruano Ampudia Técnico Superior de Proyecto Informático

Arquitectura Java para el Cuarto Ejercicio. José Antonio Ruano Ampudia Técnico Superior de Proyecto Informático Arquitectura Java para el Cuarto Ejercicio José Antonio Ruano Ampudia Técnico Superior de Proyecto Informático Sumario Introducción Arquitectura en n-capas Arquitectura y el Cuarto Examen Java y su modelo

Más detalles

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA AREA DEL TEMA: INGENIERÍA DE SOFTWARE OBJETIVO GENERAL Desarrollar aplicaciones web utilizando

Más detalles

Novedades ebd versión 3.2

Novedades ebd versión 3.2 Novedades ebd versión 3.2 En este documento se detallan los cambios más importantes realizados en la versión 3.2 de ebd. Además de estas modificaciones, se han implementado mejoras de rendimiento y corregido

Más detalles

Creación de una página web corporativa con datos de geolocalización

Creación de una página web corporativa con datos de geolocalización Grado en Ingeniería Informática Trabajo Final de Grado Creación de una página web corporativa con datos de geolocalización Autor: Pau Manuel Martínez Supervisor: Raúl Ballester González Tutor académico:

Más detalles

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Página 1 de 21 CUALIFICACIÓN DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC154_3 Versión 5 Situación RD 1087/2005 Actualización

Más detalles

Uso de Comet (Reverse AJAX) en los SIG. Prototipo de SIG colaborativo.

Uso de Comet (Reverse AJAX) en los SIG. Prototipo de SIG colaborativo. II JORNADAS DE SIG LIBRE Uso de Comet (Reverse AJAX) en los SIG. Prototipo de SIG colaborativo. Diego Gómez Deck (1), Manuel de la Calle Alonso (2),Vidal Toboso 2) y Raquel Martínez (1) (1) Consultar.

Más detalles

BackflipSD Modelo de Diseño

BackflipSD Modelo de Diseño BackflipSD Modelo de Diseño Historia de revisiones: Fecha Versión Descripción Autor 04/09/2012 1.0 Rodrigo Stecanella 16/09/2012 1.1 Rodrigo Stecanella 1 Contenido Historia de revisiones:...1 Introducción...3

Más detalles

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el Capitulo II. Análisis de herramientas y tecnologías de desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el lenguaje de Modelo de Objetos llamado UML (Unified

Más detalles

MS_20488 Developing Microsoft SharePoint Server 2013 Core Solutions

MS_20488 Developing Microsoft SharePoint Server 2013 Core Solutions S MS_20488 Developing Microsoft SharePoint Server 2013 Core Solutions www.ked.com.mx Av. Revolución No. 374 Col. San Pedro de los Pinos, C.P. 03800, México, D.F. Tel/Fax: 52785560 Introducción En este

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

RUEDA TORRES DULCE CAROLINA 3CM2 JSF JAVA SERVER FACES WEB APPLICATION DEVELOPMENT

RUEDA TORRES DULCE CAROLINA 3CM2 JSF JAVA SERVER FACES WEB APPLICATION DEVELOPMENT 3CM2 JSF JAVA SERVER FACES WEB APPLICATION DEVELOPMENT JavaServer Faces (JSF) es una interfaz de usuario (UI) para las aplicaciones web Java. Está diseñado para aliviar considerablemente la carga de la

Más detalles

DISEÑO WEB (I y II) CONTENIDO TEMÁTICO

DISEÑO WEB (I y II) CONTENIDO TEMÁTICO DISEÑO WEB (I y II) CONTENIDO TEMÁTICO 1. Historia de internet 2. Introducción a las aplicaciones web 3. Estructura de un sitio web 4. Accesibilidad web a. Normas de accesibilidad del World Wide Web Consortium

Más detalles

Conceptos de Orquestador O2 EMPRESAS TUXPAN www.tuxpan.com

Conceptos de Orquestador O2 EMPRESAS TUXPAN www.tuxpan.com EMPRESAS TUXPAN www.tuxpan.com AÑO 2007 INDICE DE CONTENIDO 1 Software de Servicios y Orquestación de Procesos 2 1.1.1 Introducción 2 1.1.2 Software de Orquestación como Integrador 3 1.1.3 Automatización

Más detalles

Bienvenidos a la presentación: Introducción a conceptos básicos de programación.

Bienvenidos a la presentación: Introducción a conceptos básicos de programación. Bienvenidos a la presentación: Introducción a conceptos básicos de programación. 1 Los programas de computadora son una serie de instrucciones que le dicen a una computadora qué hacer exactamente. Los

Más detalles

Grow Shop Web Grow Shop Web Especificación de Requisitos de Software (ERS) Versión 1.1.0

Grow Shop Web Grow Shop Web Especificación de Requisitos de Software (ERS) Versión 1.1.0 Grow Shop Web Grow Shop Web Especificación de Requisitos de Software (ERS) Versión 1.1.0 Francisco Pérez Pavón id 103319 Asignaturas: Comercio Electrónico y Proyectos Informáticos. Título Proyecto Especificaciones

Más detalles

Plataforma desarrollo Java Formación elearning tutorizada en castellano. Fabricante: Java Grupo: Desarrollo Subgrupo: Master Java

Plataforma desarrollo Java Formación elearning tutorizada en castellano. Fabricante: Java Grupo: Desarrollo Subgrupo: Master Java C/Comandante Zorita 4 28020 Madrid/ info@ceticsa.es 902 425 524 / 91 700 01 17 Plataforma desarrollo Java Formación elearning tutorizada en castellano JAVA00d Ciclo de formación en plataforma Java Curso

Más detalles

Módulo Profesional 01: Bases de datos (código: 0484).

Módulo Profesional 01: Bases de datos (código: 0484). Módulo Profesional 01: Bases de datos (código: 0484). Actividades de enseñanza-aprendizaje que permiten alcanzar los objetivos del módulo. Interpretar diseños lógicos de bases de datos. Realizar el diseño

Más detalles

Asignatura: Laboratorio de Computadores. Curso 2007-08. 5º Semestre, 3er. Curso. Ingeniería Informática. Práctica de SOCKETS

Asignatura: Laboratorio de Computadores. Curso 2007-08. 5º Semestre, 3er. Curso. Ingeniería Informática. Práctica de SOCKETS Asignatura: Laboratorio de Computadores. Curso 2007-08. 5º Semestre, 3er. Curso. Ingeniería Informática. Práctica de SOCKETS Especificación de la práctica: Un protocolo sencillo para transferencia de ficheros

Más detalles

Plataforma Tecnológica Qué es Marino Imagine? La integración de los requerimientos de sistemas informáticos en la determinados sectores. infraestructura de la empresa ha sucedido de forma Sus carencias

Más detalles

IBM Rational Statemate ayuda a los ingenieros de sistemas a enfrentarse a los retos del mercado de sistemas integrados complejos

IBM Rational Statemate ayuda a los ingenieros de sistemas a enfrentarse a los retos del mercado de sistemas integrados complejos ZP09-0207, con fecha 2 de junio de 2009 IBM Rational Statemate ayuda a los ingenieros de sistemas a enfrentarse a los retos del mercado de sistemas integrados complejos Índice 1 Resumen de características

Más detalles

Gestión de Proyectos con herramientas basadas en Software Libre. (Open Source)

Gestión de Proyectos con herramientas basadas en Software Libre. (Open Source) Gestión de Proyectos con herramientas basadas en Software Libre (Open Source) Herramientas para Gestión Proyectos Según Murtagh (2004), la nueva generación de herramientas para la administración de proyectos

Más detalles

Guía para proveedores de contenido. LiLa Portal Guía para proveedores de contenido. Crear Experimentos

Guía para proveedores de contenido. LiLa Portal Guía para proveedores de contenido. Crear Experimentos Library of Labs Content Provider s Guide Guía para proveedores de contenido LiLa Portal Guía para proveedores de contenido En el entorno de LiLa, los proveedores de contenido son los responsables de crear

Más detalles

Curso de Android con Java

Curso de Android con Java Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 1 Este es un tiempo único para el mundo de los celulares, en particular de los Smartphones. Este tipo de dispositivos

Más detalles

Muestra de solicitud para una propuesta de un conjunto de aplicaciones de Gestión de Procesos de Negocio KIT DE HERRAMIENTAS DEL COMPRADOR DE BPMS

Muestra de solicitud para una propuesta de un conjunto de aplicaciones de Gestión de Procesos de Negocio KIT DE HERRAMIENTAS DEL COMPRADOR DE BPMS KIT DE HERRAMIENTAS DEL COMPRADOR DE BPMS Muestra de solicitud para una propuesta de un conjunto de aplicaciones de Gestión de Procesos de Negocio Parte 1 del kit completo de herramientas del comprador

Más detalles

SOLUCIONES DE DESARROLLO JAVA PARA LAS APLICACIONES DE LA COMUNIDAD DE MADRID

SOLUCIONES DE DESARROLLO JAVA PARA LAS APLICACIONES DE LA COMUNIDAD DE MADRID SOLUCIONES DE DESARROLLO JAVA PARA LAS APLICACIONES DE LA COMUNIDAD DE MADRID Versión 1.2 Julio 2010 Página: 1 CONTROL DE CAMBIOS Fecha Versión Cambios 01/01/2006 1.0 Primera versión 11/09/2008 1.1 Se

Más detalles

Tema 4: Diseño de flujos interaplicación

Tema 4: Diseño de flujos interaplicación Tema 4: Diseño de flujos interaplicación 4.1 Introducción a los Sistemas EAI Modelo de referencia (1) INTEGRACIÓN B2B INTEGRACIÓN DE APLICACIONES Y PROCESOS INTEGRACIÓN DE DATOS INTEGRACIÓN DE PLATAFORMA

Más detalles

ADMINISTRACIÓN Y PROGRAMACIÓN EN SISTEMAS DE PLANIFICACIÓN DE RECURSOS EMPRESARIALES Y DE GESTIÓN DE RELACIONES CON CLIENTES CUALIFICACIÓN PROFESIONAL

ADMINISTRACIÓN Y PROGRAMACIÓN EN SISTEMAS DE PLANIFICACIÓN DE RECURSOS EMPRESARIALES Y DE GESTIÓN DE RELACIONES CON CLIENTES CUALIFICACIÓN PROFESIONAL Página 1 de 23 CUALIFICACIÓN PROFESIONAL Familia Profesional Nivel 3 Código IFC363_3 Versión 5 Situación RD 1701/2007 Actualización ADMINISTRACIÓN Y PROGRAMACIÓN EN SISTEMAS DE PLANIFICACIÓN DE RECURSOS

Más detalles

Módulo 2. Arquitectura

Módulo 2. Arquitectura Módulo 2. Arquitectura Introducción Objetivos o Analizar la arquitectura física y lógica de la plataforma Agrega. o Identificar los componentes más importantes de la arquitectura física. o Exponer las

Más detalles

DESARROLLO DE COMPONENTES PARA LA INTEGRACIÓN DEL PORTAL CORPORATIVO DEL CITI CON LA BPMS BIZAGI

DESARROLLO DE COMPONENTES PARA LA INTEGRACIÓN DEL PORTAL CORPORATIVO DEL CITI CON LA BPMS BIZAGI DESARROLLO DE COMPONENTES PARA LA INTEGRACIÓN DEL PORTAL CORPORATIVO DEL CITI CON LA BPMS BIZAGI Informe de Práctica Profesional de 4to Año, Ingeniería Informática Autor: Manuel Alejandro Aguilar Díaz

Más detalles

Mapea: inserta un servicio de mapas en tu web.

Mapea: inserta un servicio de mapas en tu web. Mapea: inserta un servicio de mapas en tu web. Sánchez Díaz, F., Villar Iglesias, A., Pardo Pérez, E. Instituto de Estadística y Cartografia de Andalucía cartografia@juntadeandalucia.es Resumen La generalización

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas

Más detalles

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25.

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25. INDICE Programación Introducción 706 Capitulo 21 BASIC 711 Introducción 711 Sintaxis 713 Procedimientos y control de flujo 713 Tipos de datos 714 Disponibilidad y variantes del dialecto 714 Capitulo 22.

Más detalles

DEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma

DEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma DEPARTAMENTO: Informática MATERIA: Programación NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma 1. Objetivos. Competencias Profesionales, Personales y Sociales 1.1 Objetivos del ciclo formativo La

Más detalles

Introducción a ataques de tipo inyección: Inyección SQL

Introducción a ataques de tipo inyección: Inyección SQL Introducción a ataques de tipo inyección: Inyección SQL Jorge Peris Cortés - jorpecor@alumni.uv.es Asignatura: Redes Ingeniería Informática - Curso 2011/2012 Universidad de Valencia 1 Índice INTRODUCCIÓN...

Más detalles

Trabajo Final de Grado

Trabajo Final de Grado Grado en Ingeniería Informática Trabajo Final de Grado Desarrollo de una aplicación para mostrar gráficamente datos de uso del producto de realidad aumentada DOING3D Autor: Xavier Cano Ebrí Supervisor:

Más detalles

Curso UMA / Samsung DESARROLLO DE APPS PARA ANDROID

Curso UMA / Samsung DESARROLLO DE APPS PARA ANDROID Samsung TECH INSTITUTE Curso UMA / Samsung DESARROLLO DE APPS PARA ANDROID www.uma.es/techinstitute uro! t u f u t olla Desarr UNIVERSIDAD DE MÁLAGA GUÍA DEL CURSO DESARROLLO DE APPS PARA ANDROID Índice

Más detalles

Parte III: AJAX y REST

Parte III: AJAX y REST Tema 3: Javascript Parte III: AJAX y REST Texto http://www.flickr.com/photos/kosmar/62381076 Cómo hacer peticiones al servidor desde Javascript, usando el estilo REST AJAX 2 Asynchronous Javascript And

Más detalles