Tutorial 1: Desarrollo de un plugin
|
|
- Gloria Ramírez Luna
- hace 8 años
- Vistas:
Transcripción
1 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 de la plataforma. Crear el proyecto Se creará un proyecto de plugin con nombre org.example.demo y la información del plugin se introducirá como aparece en la imagen. Tras esto, se nos indicará si deseamos crear el plugin siguiendo una plantilla, escojeremos Plugin with a view. A continuación se nos pedirán algunos datos para generar el código que creará el asistente. Examinar la descripción del plugin y la auyda de la extensión.
2 Descargar y completar el código de DemoView.java. Crear un fichero en text/info.txt en el proyecto. Este fichero deberá añadirse como parte de la exportación en la sección Build Configuration. Exportar como Deployable plugins and Fragments e indicar que se genere un fichero Ant con nombre build-demo.xml. Copiar el plugin en la carpeta plugins de eclipse y comprobar que funciona. 2
3 Tutorial 2: Puntos de Extensión En este tutorial se mostrará como definir puntos de extensión y cómo crear extensiones para éstos. Como ejemplo se creará un sistema extensible de funciones aritméticas. El usuario podrá aplicar distintas funciones matemáticas a un valor introducido (por simplicidad, solo se consideran funciones con un parámetro de entrada). El sistema estará formado por: Un plugin que proporcionará la interfaz gráfica que permita al usuario introducir los datos, visualizar los resultados y ejecutar las distintas funciones. Varios plugins que aportan las funciones aritméticas que se desea poder aplicar. Las funciones que se pueden añadir deberán tener un parámetro de entrada y podrán acceder a un parámetro opcional de configuración. 3
4 Este ejemplo ha sido tomado del artículo Notes on the Eclipse Plug-in Architecture 1 actualizándolo a la nueva versión de Eclipse. Plugin base Crear proyecto de plugin org.example.calculator.ui Crear Interfaz IFunction La interfaz actua a modo de contrato, todo plugin que quiera extender al actual exigiremos que aporte objetos que cumplan con dicha interfaz. package org.example.calculator.ui; public interface IFunction { public long compute(long x) throws ArithmeticException; Fragmento 1: IFunction.java La interfaz mostrada indica que los objetos que la implementen deberán poseer un método compute que reciba un entero de tipo long y devuelva otro. Copiar FunctionsGrid al proyecto Descargar FunctionsGrid.java de: FunctionsGrid es la definición de la interfaz gráfica de la aplicación. Hay algunos aspectos a destacar: El constructor de FunctionsGrid recibe como parámetro un objeto de tipo Composite sobre el que agrega los elementos de la interfaz. El método addfunction se usará para añadir nuevos botones que permitan invocar las nuevas funciones aritméticas. Recibe como parámetro el objeto IFunction a invocar así como datos de la función para presentarlos al usuario como un nombre, etiqueta y el valor de la constante de configuración usado. Crear una nueva vista A continuación se extenderá el mecanismo de vistas de eclipse para incluir una en la que se muestre la interfaz gráfica recién creada
5 En la información del plugin ir a la sección Extensions. Añadir una nueva extensión del tipo org.eclipse.ui.views El ID y el Nombre de la extensión no son relevantes. Sobre la extensión creada mediante un click del botón secundario del ratón aparecerán los elementos que pueden crearse como extensión (view, category y sticky view). Se creará una categoría (category) y una vista nueva (view). Estos son los datos: Category id: org.example.calculator.ui.category name: Example.org Category View id: org.example.calculator.ui.view name: Calculator View class: org.example.calculator.ui.calculatorviewpart category: org.example.calculator.ui.category Con esto creamos una nueva vista y una categoría que la contendrá. La vista indica mediante el atributo class, la clase que implementará la extensión. Mientras que category representa el identificador de la categoría a la que pertenece la vista. Únicamente falta para completar la vista crear la clase CalculatorViewPart. El código que se muestra a continuación extiende la clase ViewPart. El método createpartcontrol se define para que pueda crearse la interfaz gráfica. package org.example.calculator.ui; import org.eclipse.swt.widgets.composite; import org.eclipse.ui.part.viewpart; 5
6 public class CalculatorViewPart extends ViewPart { public void createpartcontrol(composite parent) { new FunctionsGrid(parent); public void dispose() { super.dispose(); public void setfocus() { Fragmento 2 CalculatorViewPart.java Extensiones Permtir el acceso al plugin base En la sección Runtime de las propiedades del plugin añadir a la lista de Exported Packages: org.example.calculator.ui Esto permitirá que otros plugins que lo extiendan puedan acceder a sus clases. Crear Punto de Extensión En la sección Extension Points del descriptor del plugin, crear un Extension Point con los siguientes datos: id: functions nombre: Functions schema: schema/functions.exsd El identificador del punto de extensión es functions, sin embargo cuando requiera ser extendido se deberá hacer referencia a su nombre completo (org.example.calculator.ui.functions). El schema definirá los elementos que pueden extender el punto de extensión creado. 6
7 El schema permite documentar la extensión. En la sección de definición. Se indicarán los elementos que podrán aparecer en una extensión. Se añadirá un nuevo elemento function y a este los siguientes atributos: name, class y constant. Al elemento extension se le añadirá un elemento compositor de tipo sequence y a este una referencia al elemento function. Con éste últmo elemento seleccionado se marcarála propiedad unbounded relativa al número máximo de elementos. Con esto hemos especificado que la extensión consistirá en una secuencia de una o más funciones y estas funciones estarán definidas por un nombre, una clase que las implementará y una constante que se podrá indicar en tiempo de extensión parametrizando esta. Procesar las exensiones desde el plugin base El plugin base necesita tener algún tipo de acceso a las extensiones ya que en función de estas deberá crear un número variable de botones, sin embargo estas solo se conocen en 7
8 tiempo de ejecución. Para ello se ha creado la clase ProcessServiceMembers que recibirá la interfaz gráfica, recuperará la información relativa a las extensiones y ejecutará el servicio addfunction, para añadir los botones y etiquetas necesarios para ejecutar cada función. package org.example.calculator.ui; import org.eclipse.core.runtime.coreexception; import org.eclipse.core.runtime.iconfigurationelement; import org.eclipse.core.runtime.iextension; import org.eclipse.core.runtime.iextensionpoint; import org.eclipse.core.runtime.platform; import org.eclipse.ui.workbenchexception; public class ProcessServiceMembers { private static final String EXTENSION_POINT = "org.example.calculator.ui.functions"; private static final String FUNCTION_NAME_ATTRIBUTE = "name"; private static final String CLASS_ATTRIBUTE = "class"; private static final String CONSTANT_ATTRIBUTE = "constant"; public static void process(functionsgrid grid) throws WorkbenchException { IExtensionPoint extensionpoint = Platform.getExtensionRegistry().getExtensionPoint(EXTENSION_POINT); IConfigurationElement[] members = extensionpoint.getconfigurationelements(); // For each service: for (IConfigurationElement member:members) { IExtension extension = member.getdeclaringextension(); String pluginlabel = extension.getlabel(); if (pluginlabel == null) { pluginlabel = "[unnamed plugin]"; String functionname = member.getattribute(function_name_attribute); if (functionname == null) { functionname = "[unnamed function]"; String label = pluginlabel + "/" + functionname; Integer constant = null; String s = member.getattribute(constant_attribute); if (s!= null) { constant = new Integer(s); // Add a row to support this operation to the UI grid. IFunction function; try { Object callback = member.createexecutableextension(class_attribute); function = (IFunction)callback; catch (CoreException ex) { System.err.println(ex.getMessage()); ex.printstacktrace(); break; grid.addfunction(function, functionname, label, constant); Fragmento 3 ProcessServiceMembers.java 8
9 El código presentado define un conjunto de constantes para almacenar el identificador del punto de extensión y los nombres de los atributos que aparecerán en los elementos que forman la extensión. Estos nombres ( name, class y constant ) fueron los que se dieron al definir el elemento function del esquema de la extensión. La clase CalculatorViewPart deberá incluir una llamada para procesar los servicios y permitir a la clase ProcessServiceMembers que modifique el grid. El nuevo código de CalculatorViewPart, se muestra a continuación (los cambios respecto a la versión anterior se muestran resaltados): package org.example.calculator.ui; import org.eclipse.swt.widgets.composite; import org.eclipse.ui.workbenchexception; import org.eclipse.ui.part.viewpart; public class CalculatorViewPart extends ViewPart { public void createpartcontrol(composite parent) { // Define the UI grid for invoking functions. FunctionsGrid grid = new FunctionsGrid(parent); // Do extension processing for the "functions" extension-point. try { ProcessServiceMembers.process(grid); catch (WorkbenchException e) { e.printstacktrace(); public void dispose() { super.dispose(); public void setfocus() { Fragmento 4 CalculatorViewPart.java Crear nuevos plugins El plugin creado anteriormente no aporta ninguna funcionalidad. Precisamente su función es definir un punto de extensión donde otros plugins puedan añadir nuevas funciones. A continuación se crearán dos plugins, el primero incorporará una extensión consistente en la función de copia (el valor de salida será el proporcionado como entrada). Un segundo plugin se definirá para incluir una función de multiplicación que servirá para realizar dos extensiones doble y triple que servirán para multiplicar el valor de entrada por 2 y 3 respectivamente. En vez de definir dos funciones distintas, la función multiplicar se parametrizará utilizando el valor constant de las extensiones. Plugin Simple Crear proyecto de plugin: org.example.calculator.copia En la sección Dependencias añadir org.example.calculator.ui como dependencia. Crear una clase Copia que implemente la interfaz IFunction. 9
10 package org.example.calculator.copia; import org.example.calculator.ui.ifunction; public class Copia implements IFunction public long compute(long x) throws ArithmeticException { return x; Crear una extensión de tipo org.example.calculator.ui.functions con ID: org.example.calculator.copia y nombre Copia Function. Añadir un elemento function con los siguientes datos: Name: Copia Class: org.example.calculator.copia.copia Y sin asignar valor a la constante. Plugin Avanzado Los plugins pueden aportar múltiples extensiones a otros plugins, en este ejemplo se creará un plugin que defina dos extensiones: doble y triple. El plugin contendrá una única función, multiplicar, que hará uso el parámetro constant definido para las extensiones. Crear un proyecto de plugin con nombre org.example.calculator.multiplicar En la sección Dependencias añadir org.example.calculator.ui como dependencia. La Función a añadir se definirá en una clase. Esta deberá implementar la interfaz IFunction y IExecutableExtension. 10
11 La interfaz IFunction exige definir el método que especificará la operación. En este caso el valor devuelto será el resultado de multiplicar el parámetro de entrada por la constante de configuración. La interfaz IExecutableExtension fuerza a implementar el método setinitializationdata, que servirá para obtener precisamente el valor de la constante introducida en la definición de la extensión. package org.example.calculator.multiplicar; import org.eclipse.core.runtime.coreexception; import org.eclipse.core.runtime.iconfigurationelement; import org.eclipse.core.runtime.iexecutableextension; import org.example.calculator.ui.ifunction; public class Multiplicar implements IFunction, IExecutableExtension { private int public long compute(long x) throws ArithmeticException { return public void setinitializationdata(iconfigurationelement config, String propertyname, Object data) throws CoreException { String s=config.getattribute("constant"); parametro=integer.parseint(s); 11
12 Fragmento 5 Multiplicar.java A continuación definiremos las dos funciones. En la sección Extensions añadir una extensión de tipo org.example.calculator.ui.functions con id org.example.calculator.multiplicar y nombre Multiplicar. Crear un elemento de tipo function con los siguientes datos: Name: Doble Class: org.example.calculator.multiplicar.multiplicar Constant: 2 Crear un nuevo elemento function con: Name: Triple Class: org.example.calculator.multiplicar.multiplicar Constant: 3 Ambos objetos comparten la misma clase. Consideraciones importantes La clase ProcessServiceMembers encargada de añadir para cada extensión la parte de interfaz gráfica correspondiente. En el código presentado, el objeto que implementa la función es recuperado. Sin embargo para evitar un derroche innecesario de recursos, la estratégia habitual es crear un Proxy. Los proxies son representantes locales (más ligeros) de un objeto. De este modo el Proxy se creará a partir de la información de la extensión y solo se instanciará el objeto correspondiente cuando sea necesario utilizar el objeto. Además por brevedad se habian eliminado algunas comprobaciones relativas a la gestión de excepciones. Éste código es especialmente importante ya que permite detectar errores en la especificación de extensiones y garantizar que solo se consideren las extensiones correctas. El código completo se recoge a continuación: package org.example.calculator.ui; import org.eclipse.core.runtime.coreexception; import org.eclipse.core.runtime.iconfigurationelement; import org.eclipse.core.runtime.iextension; import org.eclipse.core.runtime.iextensionpoint; import org.eclipse.core.runtime.platform; import org.eclipse.ui.workbenchexception; public class ProcessServiceMembers { private static final String EXTENSION_POINT = "org.example.calculator.ui.functions"; private static final String FUNCTION_NAME_ATTRIBUTE = "name"; private static final String CLASS_ATTRIBUTE = "class"; private static final String CONSTANT_ATTRIBUTE = "constant"; 12
13 public static void process(functionsgrid grid) throws WorkbenchException { IExtensionPoint extensionpoint = Platform.getExtensionRegistry().getExtensionPoint(EXTENSION_POINT); IConfigurationElement[] members = extensionpoint.getconfigurationelements(); // For each service: for (IConfigurationElement member:members) { IExtension extension = member.getdeclaringextension(); String pluginlabel = extension.getlabel(); if (pluginlabel == null) { pluginlabel = "[unnamed plugin]"; // Get the name of the operation implemented by the service. String functionname = member.getattribute(function_name_attribute); if (functionname == null) { functionname = "[unnamed function]"; String label = pluginlabel + "/" + functionname; Integer constant = null; String s = member.getattribute(constant_attribute); if (s!= null) { constant = new Integer(s); // Add a row to support this operation to the UI grid. IFunction function; try { Object callback = member.createexecutableextension(class_attribute); function = (IFunction)callback; catch (CoreException ex) { System.err.println(ex.getMessage()); ex.printstacktrace(); break; grid.addfunction(function, functionname, label, constant); Fragmento 6 ProcessServiceMembers 13
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 detallesIntroducció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 detallesProgramación orientada a objetos
Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Clase! Objeto! Atributo o variable de instancia! Método! Instanciar/crear un objeto!
Más detallesProgramación Orientada a Objetos en Java
Programación Orientada a Objetos en Java Curso 2006-2007 Tema 4 Herencia y Polimorfismo Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Herencia
Más detallesVisual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario
Empleo de módulos y Procedimientos Procedimientos definidos por el usuario Según lo que hemos visto hasta ahora, Visual Basic, almacena el código en módulos. Hay tres clases de módulos: formularios (.frm),
Más detallesEJEMPLO DE PRUEBAS UNITARIAS Y DE INTEGRACIÓN.
EJEMPLO DE PRUEBAS UNITARIAS Y DE INTEGRACIÓN. 1 Se desean realizar las pruebas unitarias y de integración de las 3 clases cuyo código se ofrece a continuación: Cliente.java: import java.util.vector; public
Más detallesTUTORIAL 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 detallesIntroducción Entorno de ejecución Referencias Descripción del servicio
507953 1 Contenido Contenido Cambios Introducción Entorno de ejecución Referencias Descripción del servicio Introducción Arquitectura Paso a paso Interface Service Proxy Fichero de propiedades Despliegue
Más detallesIntroducció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 detallesATLAS MANUAL DE USUARIO ARBOL ACCESIBLE
ATLAS MANUAL DE USUARIO ARBOL ACCESIBLE Versión 1.3 Área de Aplicaciones Especiales y Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Manual de Usuario del NORMATIVA
Más detallesFRAMEWORK 2 Recepción de SMS
FRAMEWORK 2 Versión 1.1 Área de Integración y Arquitectura de Aplicaciones Hoja de Control Título Documento de Referencia Responsable FW2_MUS_Recepcion_SMS Área de Integración y Arquitectura de Aplicaciones
Más detallesCurso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos
Más detallesIntroducció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 detallesJava RMI. Sistemas Distribuidos Rodrigo Santamaría
+ Java RMI Sistemas Distribuidos Rodrigo Santamaría RMI Java RMI 2 + RMI 3 Remote Method Invocation: middleware para que un objeto que se ejecuta en una JVM use métodos de otro objeto que se ejecuta en
Más detallesIngeniería del Software Arquitectura Física en 3 niveles
Introducción En este laboratorio desplegaremos en 3 niveles físicos una aplicación que verifica si una cuenta y un password son correctos, basada en la que fue presentada en el laboratorio Separación entre
Más detallesEXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011
EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando
Más detallesEUROPIO ENGINE LAB: FORMULARIOS WEB Y TABLAS HTML EN SOLO
20 EUROPIO ENGINE LAB: FORMULARIOS WEB Y TABLAS HTML EN SOLO UNOS POCOS PASOS HACE APENAS MENOS DE UN MES, LANCÉ UNA NUEVA VERSIÓN ESTABLE DE EUROPIO ENGINE: LA 3.2.5. ESTO ME MOTIVÓ A TERMINAR DOS COMPLEMENTOS
Más detallesManual del Profesor Campus Virtual UNIVO
Manual del Profesor Campus Virtual UNIVO Versión 2.0 Universidad de Oriente UNIVO Dirección de Educación a Distancia INDICE 1. Campus Virtual. 03 1.1 Accesos al Curso 04 1.2 Interfaz del Curso...06 1.3
Más detallesPHP y MySQL. Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases
PHP y MySQL Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases Herencia de Objetos La herencia permite crear muchas clases que son similares entre si, sin tener
Más detallesMANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO
MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO Fecha última revisión: Marzo 2016 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 2 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 2 HERRAMIENTA
Más detallesProgramació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 detallesMANUAL DE USUARIO DE OFICINA CONECTADA
MANUAL DE USUARIO DE OFICINA CONECTADA 1 OFICINA CONECTADA INDICE 1 INTRODUCCIÓN...3 2 USO DEL SERVICIO...4 2.1 CONFIGURACIÓN EQUIPO CLIENTE...4 2.2 ADMINISTRACIÓN AVANZADA...5 2.2.1 Gestión de usuarios...7
Más detallesPrá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 detallesJava en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría
Java en 3 horas Ampliación de Sistemas Operativos Rodrigo Santamaría Generalidades Desarrollado por Sun Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas
Más detallesPráctica 4: Java Remote Method Invocation (RMI)
Práctica 4: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción Hasta el momento hemos visto aplicaciones remotas donde un cliente utiliza un objeto remoto que ha sido publicado
Más detallesDesarrollo de Servicios Web con JBuilder
Artículos técnicos Grupo Danysoft: Desarrollo de Servicios Web con JBuilder Primera parte Oscar Cristobal Ruiz Departamento Java Equipo Grupo Danysoft Febrero 2003 - (902) 123146 www.danysoft.com Desarrollo
Más detallesDISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA
DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA José Luis Pastrana Brincones (pastrana@lcc.uma.es) Dpto. Lenguajes y Ciencias de la Computación. Universidad de Málaga
Más detallesSistema Clínico Módulo Activo Fijo MasterKey S.A SISTEMA ACTIVO FIJO
SISTEMA ACTIVO FIJO 1 MAESTROS Este menú nos permitirá poblar o gestionar los diferentes tipos de maestros existentes para el sistema Activo Fijo, por ejemplo podremos crear las familias de bines, ubicaciones,
Más detallesFUNDAMENTOS 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 detallesIntroducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual
Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los
Más detallesProgramación Orientada a Objetos con Java
Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la
Más detallesCapítulo 8 Ficheros de Configuración
Capítulo 8 Ficheros de Configuración Todos los ajustes de ZoomText pueden ser guardados y recuperados usando los ficheros de configuración. Los ficheros de configuración controlan todas las características
Más detallesMODELO 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 detallesCREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa vjsosa@tamps.cinvestav.mx
CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa vjsosa@tamps.cinvestav.mx En este documento explicaré brevemente cómo construir un servicio web con Java Axis2 y cómo invocarlo desde un cliente
Más detallesProgramación Orientada a Objetos en C#.NET CAPÍTULO 8 E V E N T O S. Ing. Bruno López Takeyas, M.C. http://www.itnuevolaredo.edu.
CAPÍTULO 8 E V E N T O S 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Quéesunevento? Paraquésirve? Qué temas se deben dominar para implementar aplicaciones con eventos? Qué se requiere
Más detallesMenús. Gestor de Menús
Menús Para dar acceso a las categorías, artículos y generar espacio para los módulos se deben crear menús, éstos son enlaces a determinado recurso en el portal Web, sin ellos no es posible visualizar ninguno
Más detallesATLAS 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 detallesEtapa de Diseño: Gestión de Hotel Diseño de Sistemas Software
Etapa de Diseño: Gestión de Hotel Diseño de Sistemas Software Antonio Falcón Aragón José Luis Falcón Ramírez Carlos Villegas Nuñez 15 de marzo de 2010 1 Índice 1. Diseño de la Aplicación 3 1.1. Diagrama
Más detallesWEB SERVICES CON AXIS
WEB SERVICES CON AXIS Introducción Esta guía muestra cómo generar servicios web con AXIS. Se ha tomado como referencia básica el manual que aparece en http://www.eclipse.org/webtools/community/tutorials/bottomupaxis2webservice/bu_tutorial.html
Más detallesInfoPath forma parte del paquete ofimático de Microsoft desde la versión XP (2003).
Formularios Los Sistemas Informacionales utilizan los datos derivados de los OAS y Transaccionales (nóminas, facturaciones, etc.) para, en su aspecto más básico, generar informes que ayuden a los directivos
Más detallesCIMA. MANUAL DE USUARIO
MANUAL DE USUARIO Proyecto: Consultoría para la Implementación de una base de datos y un sistema web para almacenar y manejar la información de proyectos y/o actividades en el Parque nacional Cordillera
Más detallesManual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL
Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL Índice 1 Introducción... 5 1.1 Perfil de la aplicación... 5 1.2 Requisitos técnicos... 5 2 Manual de usuario... 7 2.1 Instalación del certificado...
Más detallesManual del Protocolo XML-RPC de Mensajería Negocios
Manual del Protocolo XML-RPC de Mensajería Negocios Índice de contenidos 1 INTRODUCCIÓN... 3 2 FUNCIONALIDADES DEL API DE COMUNICACIÓN XML-RPC... 4 2.1 Envío Libre... 4 2.2 Envío a Grupo de Contactos...
Más detallesRegión de Murcia Consejería de Educación, Ciencia e Investigación. Manual Usuario FCT
. Manual Usuario FCT Murcia, 9 de Julio de 2007 Manual de Usuario FCT v1.0 pág. 2 de 73 ÍNDICE Manual Usuario FCT...1 1. Tipos de usuarios... 4 2. Modelo de navegación... 5 3. Servicios... 6 3.1. Convenios...
Más detallesListados y Etiquetas personalizados de PrefGest WhitePaper Julio 2008
Listados y Etiquetas personalizados de PrefGest WhitePaper Julio 2008 Contenidos 1. Propósito 3 2. Introducción 4 3. Listados personalizados 5 3.1. Ejemplos prácticos 7 3.2. Consideraciones adicionales
Más detallesclass Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }
REUTILIZACIÓN DE CLASES:MODELO DE HERENCIA EN JAVA Java soporta herencia simple pero no múltiple. Lo hace mediante el mecanismo de extensión de clase. A partir de él, una subclase se extiende (hereda)
Más detallesPrograma de Fabricación para Android
Programa de Fabricación para Android Presentación: Este es un programa dirigido a la dirección, planificación, gestión, guardado y presentación de la fabricación, en este caso de una imprenta de generación
Más detallesVersión 4 - Tutoriales
Antes de empezar a utilizar el programa es necesario configurarlo para adaptarlo a nuestras necesidades o preferencias. Lo primero que vamos a hacer es introducir los datos básicos de la farmacia, de modo
Más detallesGESTION DE REQUISICIONES VIA WEB MANUAL DEL USUARIO
GESTION DE REQUISICIONES VIA WEB MANUAL DEL USUARIO UNIDAD DE SISTEMAS DE INFORMACION Y COMPUTO DEPARTAMENTO DE ADQUISICIONES INDICE Tema Página Objetivo 2 Portal del Departamento de Adquisiciones 3 Sección
Más detallesMini-guía: Gestión de Permisos
Mini-guía: Gestión de Permisos Gestión de Permisos 1.- INTRODUCCIÓN En esta mini-guía, vamos a desglosar los pasos a seguir para configurar y conocer los aspectos fundamentales en la gestión de permisos.
Más detallesEjercicio 4. EJB Sesión - Sistema SGA. Java EE. Ejercicio 4. EJB Sesión Sistema SGA. Curso de Java EE
Java EE Ejercicio 4 EJB Sesión Sistema SGA Objetivo del Ejercicio El objetivo del ejercicio es agregar un EJB de Sesión a nuestro proyecto SGA (Sistema de Gestión de Alumnos), el cual desarrollaremos a
Más detallesFramework 2 Manual de usuario del Servicio de envío de SMS
Manual de usuario del Servicio de envío de SMS Versión 1.0 Área de Aplicaciones Especiales y Arquitectura de Software 1 Hoja de Control Título Documento de Referencia Framework 2: Servicio de envío de
Más detallesCorrespondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech
Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Resumen Todo documento XBRL contiene cierta información semántica que se representa
Más detallesArtefactos de diseño en UML usando StarUML
Introducción Este es un segundo laboratorio de introducción a StarUML en el crearemos algunos artefactos de diseño. Objetivos El objetivo de este laboratorio es el siguiente: Utilizar la herramienta StarUML
Más detallesJava en 2 horas. Rodrigo Santamaría
+ Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión
Más detallesAdministració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 detallesRMI [Remote Method Invocation]
RMI [Remote Method Invocation] Cuando utilizamos sockets, hemos de preocuparnos de cómo se transmiten físicamente los datos entre los extremos de una conexión (a nivel de bytes, ya que usamos los streams
Más detallesPráctica 2: Simón dice
Práctica 2: Simón dice Fecha de entrega: 31 de enero de 2016 0.- Descripción del juego (Wikipedia.org) Simon dice es un juego electrónico, creado por Ralph Baer, que consiste en reproducir una secuencia
Más detallesEjercicio Artículo 4.5. Bancos de imágenes y sonido en la Web
Maximiliano Díaz Molinaro Ejercicio Artículo 4.5. Bancos de imágenes y sonido en la Web Opción 2. Análisis comparativo de dos de los casos presentados en la unidad: CORBIS y AGE Fotostock. Indicar y argumentar
Más detallesMANUAL DE USUARIOS DEL MODULO DE EVALUACIÓN DE DESEMPEÑO SISTEMA DE ADMINISTRACIÓN DE SERVIDORES PÚBLICOS (SASP)
MINISTERIO DE ADMINISTRACIÓN PÚBLICA (MAP) Dirección de Tecnología de la Información y Comunicación MANUAL DE USUARIOS DEL MODULO DE EVALUACIÓN DE DESEMPEÑO SISTEMA DE ADMINISTRACIÓN DE SERVIDORES PÚBLICOS
Más detallesManual CMS Mobincube
Manual CMS Mobincube CMS Mobincube Qué es? El CMS (Sistema de Gestión de Contenidos) es un completo website que permite la creación y actualización de contenido remoto. De esta forma, una vez creada una
Más detalles2. Estructura de un programa en Java
24 A. García-Beltrán y J.M. Arranz 2. Estructura de un programa en Java Objetivos: a) Describir la estructura del código fuente de una aplicación Java b) Presentar los conceptos de comentario y de identificador
Más detallesESCUELA DE ADMINISTRACIÓN
ESCUELA DE ADMINISTRACIÓN PROGRAMA: TÉCNICO GESTIÓN DEL TALENTO HUMANO SUBMÓDULO INFORMÁTICA I CONTENIDO 1 MANEJO DE DOCUMENTOS Y ARCHIVOS... 3 1.1 ARCHIVOS... 3 1.2 CREAR DOCUMENTO NUEVO... 3 1.3 GUARDAR
Más detallesCONFIGURACIÓN DEL PLUGIN EUROBITS
CONFIGURACIÓN DEL PLUGIN EUROBITS Las opciones a manejar para configurar el Plugin de Eurobits son las que quedan dentro del círculo. 1. Habilitar el plugin de Eurobits Tras seleccionar esta caja de verificación,
Más detallesP/. Factura Electrónica D/. Manual de Usuario Proveedores
Control documental Versión del Fecha Autor Modificaciones/Comentarios documento 1.0 10/02/2011 Diputación de Teruel Versión inicial del documento 1.1 05/04/2011 Diputación de Teruel Revisado estilo 1.2
Más detallesIntroducció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 detallesParsear 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 detallesDesarrollo 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 detallesPROCESOS DE RAZONAMIENTO INVERSO: PATRÓN DE DISEÑO ADAPTER EN PYTHON Y PHP, LOS
10 PROCESOS DE RAZONAMIENTO INVERSO: PATRÓN DE DISEÑO ADAPTER EN PYTHON Y PHP, LOS CÓMO Y LOS PARA QUÉ TIENES UN ENCHUFE DE TRES PATAS PERO UN TOMA CORRIENTE DE DOS. NECESITAS INSERTAR LA CLAVIJA EN EL
Más detallesÍndice 1 Instalación de la herramienta 2 Descripción de la herramienta 2 Arranque de la aplicación 3 Proyecto 4 Diagrama de clases 5
Índice Índice 1 Instalación de la herramienta 2 Descripción de la herramienta 2 Arranque de la aplicación 3 Proyecto 4 Diagrama de clases 5 Crear diagrama de clases 5 Crear elementos 7 Editar elementos
Más detallesGuía Notas Parciales. Intermedio (Nueva Versión)
Guía Notas Parciales Intermedio (Nueva Versión) ÍNDICE I. INTRODUCCIÓN 3 II. CREAR LA ESTRUCTURA DE NOTAS PARCIALES (OPCIÓN NOTAS NORMALES) 4 III. CREAR LA ESTRUCTURA DE NOTA FINAL (OPCIÓN NOTAS CALCULAS)
Más detallesEjercicios - 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 detallesModulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
Más detallesProgramació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 detallesISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA
ARREGLOS EN JAVA I I N T R O D U C C I Ó N En las sesiones anteriores, los datos manejados en los programas han sido datos simples (carácter, entero, reales) En un gran número de problemas es necesario
Más detallesUNYDOS CONSULTING S.A MANUAL DE USUARIO PLATAFORMA WEB DE INTERPRISE ADMINISTRATIVO 4.0
UNYDOS CONSULTING S.A MANUAL DE USUARIO PLATAFORMA WEB DE INTERPRISE ADMINISTRATIVO 4.0 2012 1 CONTENIDO INTRODUCCIÓN... 4 1. COMO INGRESAR AL SISTEMA... 5 2. MANEJO DE CONENIDOS WEB... 7 2.1 Áreas de
Más detallesModelo de Objetos Distribuidos
Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo
Más detallesSIIT SISTEMA INFORMÁTICO DE INSPECCIONES DE TRABAJO. Modulo de Planificación Manual de Usuario
SISTEMA INFORMÁTICO DE INSPECCIONES DE TRABAJO Modulo de Planificación Manual de Usuario Oficina General de Estadística e Informática Oficina de Informática Unidad de Análisis y Desarrollo MÓDULO DE PLANIFICACIÓN
Más detallesPontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación
Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación IIC1102 Introducción a la Programación Tutorial eclipse TM Introducción al uso de eclipse TM Contents
Más detalles1. Manejo de memoria estática 2. Manejo de memoria dinámica
1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo
Más detallesManual de Usuario del Sistema de control de Turnos
Manual de Usuario del Sistema de control de Turnos Versión del Manual. 1.0 1 Índice 1. Introducción... 3 2. Requerimientos... 3 3. Dirección electrónica del sistema... 4 4. Proceso general de operación
Más detallesMANUAL DE USUARIO FINAL MAPCEL PROFITS
INDICE I. Descripción de la aplicación. II. Requisitos III. Servicios IV. Compatibilidad de equipos V. Instalación de la solución móvil. VI. Configuración de la solución móvil VII. Instalación de la solución
Más detallesPráctica 5: Common Object Request Broker Architecture CORBA
Práctica 5: Common Object Request Broker Architecture CORBA Aplicaciones Telemáticas II Introducción El objetivo de esta práctica es entender mejor el funcionamiento de CORBA (Common Object Request Broker
Más detallesPRÁ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 detallesGE Power Management. 6S``O[WS\bORS1]\TWUc`OQWÕ\g. GE-FILES 7\ab`cQQW]\Sa 539$ &
')) GE Power Management 6S``O[WS\bORS1]\TWUc`OQWÕ\g /\ãzwawars@suwab`]arszawabs[o GE-FILES 7\ab`cQQW]\Sa 539$ & *(Ã3RZHUÃ0DQDJHPHQW +D\DOJRTXHQRHQFXHQWUD" $OJRQRHVWiVXILFLHQWHPHQWHFODUR" 6,Ã 7,(1(Ã $/*Ô1Ã
Más detallesOtros tipos de Consultas
Otros tipos de Consultas Tabla de contenidos 1.- CONSULTA DE SELECCIÓN INTERACTIVA... 3 2.- CONSULTAS DE ACCIÓN... 4 3.- CONSULTAS DE TABLAS DE REFERENCIAS CRUZADAS... 6 Universidad de Salamanca Facultad
Más detallesATLAS MANUAL DE INTEGRACIÓN
ATLAS MANUAL DE INTEGRACIÓN Servicios de Firma AFC Certificado Versión 1.1 Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Servicios de Firma AFC Certificado NORMATIVA
Más detalles1. Visión general de RMI
1. Visión general de RMI Java RMI permite al programador ejecutar métodos de objetos remotos utilizando la misma semántica que si fueran invocaciones locales (Véase Figura 1). Máquina Local (Cliente) Máquina
Más detallesUniversidad ORT - Arquitecturas de Software sobre plataforma JEE Web Services (parte 1)
Requisitos Oracle Java Development Kit (JDK) 6 NetBeans 6.9.1 con GlassFish Application Server 3 integrado Variable de entorno JAVA_HOME apuntando al directorio de instalación de la JDK Introducción El
Más detallesPatrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)
Patrones de diseño Patrón básico Handler Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Patrones de diseño Introducción Objetivos: Diseño específico para el problema, pero general para
Más detallesWinHIPE: edición, compilación y ejecución de programas; y generación de animaciones web. Manual de usuario.
WinHIPE: edición, compilación y ejecución de programas; y generación de animaciones web. Manual de usuario. Índice contenido. INTRODUCCIÓN... 1-2 1. ENTORNO DE TRABAJO... 1-2 2. EDICIÓN DE PROGRAMAS...
Más detallesProgramación Avanzada Ingeniería Civil en Computación
Interfaces Gráficas de Usuario usando Swing Prof. Federico Meza Programación Avanzada Ingeniería Civil en Computación Junio 2007 Programación Avanzada (ICC) Swing GUI s Junio 2007 1 / 13 GUI - Graphical
Más detalles9. Objetos y clases. 9.1. Clases
Programación orientada a objetos con Java 103 9. Objetos y clases Objetivos: a) Presentar el concepto de objeto, clase, atributo, método e instancia b) Interpretar el código fuente de una aplicación Java
Más detallesPlataforma de Contratación del Sector Público
del Sector Público Dirección General del Patrimonio del Estado Subdirección General de Coordinación de la Contratación Electrónica Versión: 1. Fecha: 10/12/2015 DEL PATRIMONIO DEL DEL ESTADO CONTROL DE
Más detallesTema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión
Más detallesPráctica 5. Curso 2014-2015
Prácticas de Seguridad Informática Práctica 5 Grado Ingeniería Informática Curso 2014-2015 Universidad de Zaragoza Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas
Más detallesCreació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 detallesEl proceso de edición digital en Artelope y CTCE
El proceso de edición digital en Artelope y CTCE Carlos Muñoz Pons Universitat de València carlos.munoz-pons@uv.es Introducción Una de las cuestiones más importantes a la hora de trabajar en proyectos
Más detallesPROGRAMA INFORMÁTICO PARA LA CUMPLIMENTACIÓN DE RECETAS EN FORMATO XML VERSIÓN: 1.0
PROGRAMA INFORMÁTICO PARA LA CUMPLIMENTACIÓN DE RECETAS EN FORMATO XML VERSIÓN: 1.0 MARZO 2013 1 Índice de contenido 1. Introducción......3 2. Instalación...5 3. Menú Opciones...6 3.1. Abrir directorio
Más detallesManual del Desarrollador
Manual del Desarrollador Getsir TABLA DE CONTENIDO Introducción... 3 Ejecutar y validar el funcionamiento del proyecto.... 3 Arquitecta de la aplicación... 4 Relación entre las vistas, controladores y
Más detalles