II Curso Online JAVA-J2EE

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

Download "II Curso Online JAVA-J2EE"

Transcripción

1 II Curso Online JAVA-J2EE TEMA 5 ORM, Persistencia de Datos Autor: PCYTA / Centro de Excelencia de Software Libre de Castilla-La Mancha Versión: 1.0 Fecha: Revisado :46 Licencia: CC-by-sa 2.5

2 0 Licencia Usted es libre de: Copiar, distribuir y comunicar públicamente la obra Hacer obras derivadas Bajo las condiciones siguientes: uso Reconocimiento. Debe reconocer los créditos de la obra de la manera especificada por el autor o el licenciador (pero no de una manera que sugiera que tiene su apoyo o apoyan el que hace de su obra). Compartir bajo la misma licencia. Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor Nada en esta licencia menoscaba o restringe los derechos morales del autor. Para ver la licencia visite: 2

3 UNIDAD II. ORM, Persistencia de Datos 0 Licencia SQL JDBC Introducción Conexión a una Base de Datos Creación y Ejecución de una Sentencia Creación y Ejecución de una Sentencia Preparada ("PreparedStatement") Transaccionalidad Instalacion de MySQL Ejemplo de JDBC en Aplicaciones JAVA Ejemplo de JDBC en Aplicaciones J2EE Frameworks Introducción JDO Hibernate

4 INTRODUCCIÓN Como veíamos durante temas anteriores, uno de los modelos a seguir más habituales a la hora de desarrollar aplicaciones es el modelo de tres capas. Estas capas eran: capa de presentación capa de lógica de negocio capa de datos Las dos primeras ya hemos visto como desarrollarlas mediante el empleo de tecnologías como HTML, JavaScript, CSS, JSPs, Servlets, EJBs (lo veremos en el siguiente tema), etc. En este tema nos vamos a centrar en algunas de las tecnologías que se suelen emplear a la hora de desarrollar la capa de datos. Object-Relational Mapping (abreviado como ORM, O/RM y O/R Mapping) es una técnica de programación para mapear datos de lenguajes de programación orientados a objetos (como Java) a bases de datos relacionales (como Oracle, MySQL, DB2, etc.). Sigamos con nuestro ejemplo de la tienda virtual. Tenemos el concepto usuario, que tiene asociados datos como nombre, dirección y dni. Para implementar esto en nuestra tienda virtual tendríamos que tener una clase "Usuario" con esos campos y tendríamos que tener una tabla "Usuarios" donde almacenar esos datos. Y por último, deberíamos implementar la funcionalidad necesaria para relacionar los campos de base de datos con los campos de la clase "Usuario". Esta funcionalidad para "mapear" campos de base de datos con campos de objetos se realiza mediante la técnica ORM. La técnica ORM es un modelo a seguir, existiendo un gran número de entornos que nos ayudan a la hora de aplicar esta técnica. En los siguientes apartados de este tema veremos algunos de ellos y varias tecnologías útiles a la hora de manipular la capa de datos. 4

5 1 SQL SQL (Structured Query Language) es un lenguaje diseñado principalmente para la manipulación de datos en bases de datos relacionales y modificación de esquemas de bases de datos (tablas, índices, vistas, etc.). Este lenguaje fue estandarizado por las organizaciones ANSI e ISO y hoy en día es el empleado en las distintas bases de datos (Oracle, DB2, MySQL, PostgreSQL, etc.). Antes de seguir con el curso, es importante que conozcáis algo de SQL. En caso de no ser así, antes de continuar, estudiad el lenguaje SQL (al menos a un nivel básico) ya que este conocimiento es prácticamente indispensable para continuar con el tema. Para este estudio visitad enlaces como para ver SQL genérico y mirad para ver SQL con los comandos específicos de MySQL. Por otro lado, en el caso de que sí lo conozcáis, tampoco es mala idea hacer un repaso al segundo enlace de los antes indicados ya que explica cosas que son propias de MySQL, las cuales no conoceréis si no habéis trabajado nunca con ella. El segundo enlace situado arriba es un manual de SQL para MySQL ya que esta base de datos es la que usaremos. Aunque SQL es un estándar, cada base de datos suele introducir algunas variantes tanto en tipos de datos como en ciertas sentencias, pero siempre manteniendo la base de SQL. 5

6 2 JDBC 2.1 Introducción JDBC (Java Database Connectivity) es un API que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de programación Java. El API JDBC es una especificación del interfaz que debe emplear el programador que quiere operar sobre la base de datos. Cada distribuidor de bases de datos tiene que ofrecer a los desarrolladores que las van a emplear una implementación de ese API(también llamado driver). En nuestro ejemplo de la tienda virtual vamos a usar MySQL como sistema de gestión de bases de datos, de modo que tenemos que instalar MySQL y, para conectarnos a él y operar mediante JDBC, tenemos que emplear la implementación del API que los creadores de MySQL nos proporcionen. Esta implementación, en el caso de MySQL, no es más que un jar. En el resto del tema veremos los pasos a seguir para conectarse a una base de datos y operar sobre ella. Más adelante pondremos un ejemplo en el que se instalará el sistema de gestión de base de datos (MySQL), se creará una base de datos de ejemplo con unas tablas y luego realizaremos mediante JDBC algún acceso a la misma. 2.2 Conexión a una Base de Datos Imaginemos que nos proporcionan una base de datos con sus tablas. Lo primero que deberíamos realizar para trabajar con ella es conectarnos. Para ello debemos realizar dos pasos, la carga del driver y la conexión. - Carga del driver: Esta tarea es bastante sencilla. Escribiendo la siguiente línea es suficiente: Class.forName("clase del driver"); La documentación del driver nos especificará el nombre de la clase a utilizar. En el caso de MySQL, según la documentación, sería: Class.forName("com.mysql.jdbc.Driver"); Una vez cargado el driver, ya podemos realizar la conexión. El "jar" que contiene la clase del driver debe estar en el ClassPath. 6

7 - Realizar la conexión: Para realizar la conexión deberíamos escribir una línea de código como la siguiente. Connection con = DriverManager.getConnection(url, "milogin", "mipassword"); Lo complicado de este punto es saber que url proporcionar. La url a emplear normalmente vendrá explicada en la documentación de sistema de gestión de base de datos que estemos utilizando. En nuestro caso, para MySQL, sería algo así: Connection con = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "password"); "test" es una base de datos que viene con la instalación inicial de mysql, "root" es el usuario administrador de la base de datos y "password" es el password que fijamos en la instalación para ese usuario. 2.3 Creación y Ejecución de una Sentencia Un objeto de la clase Statement (definida en el API JDBC) es el que envía nuestras sentencias SQL al controlador de la base de datos. Por lo tanto, para lanzar una sentencia SQL simplemente creamos un objeto Statement y lo ejecutamos pasándole por parámetro la sentencia SQL. Si la sentencia SQL es un SELECT (no modifica datos), el método a ejecutar es executequery. Si la sentencia SQL crea o modifica tablas o su contenido, empleamos executeupdate. Statement stmt = con.createstatement(); stmt.executequery(sentencia SQL DE TIPO SELECT); stmt.executeupdate(sentencia SQL QUE CREA O MODIFICA TABLAS O SU CONTENIDO); El objeto "con" es la conexión creada en el apartado anterior. Un detalle importante es que "executeupdate( )" devuelve un "int" con el número de líneas modificadas mientras que "executequery( )" devuelve un "ResultSet" que contiene el conjunto de registros que devuelve la sentencia de tipo "select" que se le pasa por parámetro. Evidentemente, una sentencia sql de tipo "select" puede devolver miles de registros con lo que el "ResultSet" no contiene todo los resultados, sino que contiene un "cursor" el cual se recorre con las funciones que ofrece "ResultSet". A continuación vemos un ejemplo que muestra este funcionamiento: ResultSet rs = stmt.executequery(sentencia SQL DE TIPO SELECT); while (rs.next()) { System.out.println(rs.getString(1)); 7

8 } En el código anterior, se supone que la "SENTENCIA SQL" debe devolver un primer campo de tipo "String". Si este primer dato fuera un número entero deberíamos usar "rs.getint(1)". Si, por ejemplo, la "SENTENCIA SQL" devolviera como tercer campo un número con decimales, usaríamos rs.getdouble(3); Los métodos que ofrece el interfaz "java.sql.resultset" es mucho más amplia para recorrer resultados y obtener los distintos tipos existentes. Para una mayor información mirar Con esto tenemos la idea principal de como trabajar sobre una base de datos con java. Ahora veremos algunos otros conceptos importantes y, más adelante, realizaremos un par de ejemplos muy sencillos que os servirán de base para los desarrollos que tengáis que realizar. 2.4 Creación y Ejecución de una Sentencia Preparada ("PreparedStatement") Algunas veces es más conveniente o eficiente utilizar objetos "PreparedStatement" para enviar sentencias SQL a la base de datos en vez de los antes vistos "Statement". Este tipo especial de sentencias extiende el interfaz "Statement". Es más conveniente cuando queremos ejecutar muchas veces un objeto "Statement". En ese caso, si usamos "PreparedStatement" reduciremos el tiempo de ejecución. La característica principal de un objeto "PreparedStatement" es que, al contrario que un objeto "Statement", se le entrega una sentencia SQL cuando se crea. La ventaja de esto es que, en la mayoría de los casos, esta sentencia SQL se enviará al controlador de la base de datos inmediatamente donde será compilada. Como resultado, el objeto "PreparedStatement" no sólo contiene una sentencia SQL, sino una sentencia SQL que ha sido precompilada. Esto significa que cuando se ejecuta la PreparedStatement, el controlador de base de datos puede ejecutarla sin tener que compilarla primero. Aunque los objetos "PreparedStatement" se pueden utilizar con sentencias SQL sin parámetros, probablemente nosotros utilizaremos más frecuentemente sentencias con parámetros. La ventaja de utilizar sentencias SQL que utilizan parámetros es que podemos utilizar la misma sentencia y suministrar distintos valores cada vez que la ejecutemos. A continuación vemos código que muestra el uso de un "PreparedStatement". PreparedStatement pstmt = con.preparestatement("select * FROM NOMBRE_TABLA WHERE NOMBRE_CAMPO1=? AND NOMBRE_CAMPO2=?"); pstmt.setstring(1,"valor_campo1"); pstmt.setint(2,78); ResultSet rs = pstmt.executequery(); 8

9 Cómo podemos deducir a partir del ejemplo, el primer argumento de un método setxxx indica que "?" queremos asignar, y el segundo argumento el valor que queremos ponerle. En este momento ya hemos visto como usar una base de datos en JAVA, que es lo principal que debemos saber. Aún así, todavía hay un aspecto muy importante a la hora de trabajar sobre bases de datos, la transaccionalidad. Este asunto lo veremos en el siguiente apartado. Tened en cuenta que todo el código escrito hasta el momento, y el que veréis en el siguiente apartado, emplea métodos que lanzan excepciones. No las hemos puesto en el código de ejemplo para no confundir, pero no os preocupéis porque en los ejemplos veréis este código con el control de excepciones apropiado. 2.5 Transaccionalidad Como bien conocemos, las operaciones sobre bases de datos tienen un aspecto muy importante, la transaccionalidad. Para gestionarla, una de las principales herramientas de las que disponemos es la propiedad booleana denominada "AutoCommit" que tienen las conexiones que creamos a una base de datos. Si una conexión tiene "AutoCommit" a valor true, automáticamente se ejecutará una sentencia "Commit" tras cada operación de actualización en base de datos. En el caso de que "AutoCommit" esté asignada a "false", nosotros tendremos que realizar el "Commit" de forma explícita. A continuación vemos un ejemplo de asignación del valor de "AutoCommit": //con es la conexión obtenida anteriormente con.setautocommit(false); Imaginemos ahora un ejemplo sobre nuestra tienda virtual. Hemos realizado una venta con lo que tenemos que ejecutar dos operaciones, por un lado la inserción de un nuevo pedido en la tabla de pedidos y por otro lado actualizar el almacén eliminando del stock los productos vendidos en el pedido. Evidentemente para que la base de datos no quede inconsistente, estas dos operaciones se tienen que ejecutar, no nos vale, por ejemplo, que se ejecute la primera y la segunda falle. Para resolver este problema, una solución sencilla es fijar el "AutoCommit" a "false", ejecutar las operaciones, hacer el "Commit" y finalmente establecer de nuevo el AutoCommit a "true".a continuación se muestra el código que realizaría esas operaciones: //con es la conexión obtenida anteriormente con.setautocommit(false); Statement stmt = con.createstatement(); stmt.executeupdate(sentencia SQL DE INSERCIÓN DEL PEDIDO); stmt.executeupdate(sentencia SQL DE AJUSTE DE STOCK); con.commit(); con.setautocommit(true); 9

10 Pero imaginemos que se ejecuta correctamente la primera sentencia SQL y la segunda falla (lanzando una excepción), en este caso deberíamos hacer un "rollback" para que se deshagan las operaciones anteriores. A continuación se muestra un ejemplo de cómo quedaría el código: con.setautocommit(false); try { Statement stmt = con.createstatement(); stmt.executeupdate(sentencia SQL DE INSERCIÓN DEL PEDIDO); stmt.executeupdate(sentencia SQL DE AJUSTE DE STOCK); con.commit(); } catch (SQLException sqle) { con.rollback(); } con.setautocommit(true); Con esto hemos visto la utilidad de las transacciones para lograr que varias operaciones sobre base de datos se ejecuten de forma atómica, que es uno de los principios básicos del trabajo sobre base de datos. 10

11 3 Instalacion de MySQL En este momento ya sabemos SQL y sabemos programar en Java para trabajar sobre bases de datos mediante JDBC. Pero, evidentemente, necesitamos una base de datos sobre la que hacer nuestras pruebas y aplicaciones. Sistemas de Gestión de Bases de Datos Relacionales existen muchos (Oracle, DB2, MySQL, etc.) cada uno con sus características. No confundir "Sistema de Gestión de Bases de Datos Relacionales" con "Base de Datos Relacional". El primero es la aplicación donde se crean y gestionan las bases de datos. El segundo es el "ente" en el que se especifican y almacenan todos los datos. Aún así, es muy habitual emplear la expresión "Base de Datos" para ambos conceptos. Para este curso hemos decidido emplear MySQL 5.0 por varias razones: - Tiene versiones gratuitas. - Es sencillo de instalar y usar. - Es ampliamente utilizado incluso en entornos en producción. Para instalar la base de datos, lo que debemos hacer es descargar el fichero instalador (descárgalo de aquí), descomprimirlo y ejecutarlo. Para tener la instalación que vamos a utilizar en el curso, sigue los siguientes pasos: Pulsa "Next". 11

12 Selecciona "Typical" y pulsa "Next". Pulsa "Install". 12

13 Pulsa "Next". Pulsa "Next". 13

14 Marca la casilla que te llevará a configurar la base de datos y pulsa "Next". Pulsa "Next". 14

15 Marca "Detailed Configuration" y pulsa "Next". Selecciona "Developer Machine" y pulsa "Next". 15

16 Selecciona "Multifunctional Database" y pulsa "Next" Pulsa "Next". 16

17 Selecciona "Decisión Support" y pulsa "Next". Marca las dos opciones y no cambies el puerto. Después pulsa "Next". 17

18 Selecciona "Standard Character Set" y pulsa "Next". Indica que se instale como servicio y que se arranque automáticamente. Así no tendrás que levantar la base de datos cada vez que se arranques el ordenador. Pulsa "Next". 18

19 Establece una contraseña, por ejemplo "password", y no habilites el acceso como root desde otras máquinas. Pulsa "Next". Pulsa "Execute". 19

20 Pulsa "Finish" y ya tenemos el Sistema de Gestión de Bases de Datos instalado. En el siguiente apartado crearemos una base de datos sencilla y haremos una aplicación sencilla que trabaje sobre esa base de datos. 20

21 4 Ejemplo de JDBC en Aplicaciones JAVA Hasta el momento hemos visto en qué consiste la técnica ORM y hemos visto la utilización básica de JDBC. Con estos conceptos y con los conocimientos de SQL que tenemos, ya estamos listos para hacer nuestra primera aplicación que se comunique con base de datos a través del API JDBC. Este ejemplo demuestra como conectar una aplicación JAVA (sin usar J2EE). La idea que vamos a seguir es crear una base de datos con una tabla que tenga unos campos. Después crearemos una aplicación JAVA que se conecte a esa base de datos, que inserte unos cuantos registros, que luego los consulte, los escriba en pantalla y luego los elimine. Para ello, lo primero que haremos será crear la base de datos sobre la MySQL que instalamos antes en el tema. Para hacerlo, conectémonos a ella desde una ventana de MS-DOS, situándonos en el directorio "bin" de nuestra instalación de MySQL y ejecutando la instrucción "mysql -u root -p" e introduciendo el password de la base de datos como vemos en la imagen: Una vez dentro de la consola de MySQL ejecutemos los comandos que se muestran en la imagen para crear una base de datos, para activar su uso y para crear una tabla en ella. 21

22 Con esto ya tenemos creada una base de datos llamada "jdbcdbjava" con una tabla llamada "mitabla" con dos campos de tipo texto llamados "nombre" y "apellidos". Para salir de la consola de mysql escribe el comando "exit" y pulsa enter. Así volveremos a la ventana de MS-DOS. Ya podemos cerrar esta ventana ya que no nos hará falta. Ahora vamos a hacer el programa java que se conectará y operará sobre ella. Para ello sigamos los siguientes pasos: Crea un proyecto Java tal y como se vé en la siguiente imagen. 22

23 Selecciona Java - Java Project y pulsa Next. 23

24 Inserta los datos tal y como se muestran en la imagen superior y pulsa Next. En la pantalla siguiente, pulsa Add External JARs y selecciona el jar del driver de mysql (si no lo tienes o no estás seguro pincha aquí para descargar el driver). Finalmente te debe quedar la pantalla como muestra la siguiente imagen. 24

25 Cuando hayas seleccionado el driver, pincha Finish. Una vez creado el proyecto, creemos una clase con el método "main" como se muestra en la siguiente imagen: 25

26 Pincha en Finish. Meter el código apropiado en la clase para que quede como sigue (es suficiente si sustituyes el contenido de la clase con el siguiente): import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; public class MiClase { 26

27 public static void main(string[] args) { System.out.println("inicio"); try { Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost/jdbcdbjava", "root", "password"); Statement stmt = con.createstatement(); stmt.executeupdate("insert into mitabla values ('Toñito','Garcia')"); stmt.executeupdate("insert into mitabla values ('Pepito','Pérez López')"); ResultSet rs = stmt.executequery("select * from mitabla"); while (rs.next()) System.out.println("Nombre: " + rs.getstring(1) + ", Apellidos: " + rs.getstring(2)); stmt.executeupdate("delete from mitabla"); rs = stmt.executequery("select count(*) from mitabla"); while (rs.next()) System.out.println("Número de registros tras el borrado: " + rs.getint(1)); } catch (ClassNotFoundException e) { e.printstacktrace(); } catch (SQLException e) { e.printstacktrace(); } System.out.println("fin"); } } Ejecuta la clase pinchando en el editor con el botón derecho, después Run As - Java Application. En la consola el resultado que debemos obtener es el siguiente: inicio Nombre: Toñito, Apellidos: Garcia Nombre: Pepito, Apellidos: Pérez López Número de registros tras el borrado: 0 fin Pues ya hemos visto un ejemplo sencillo de uso de JDBC. Ahora llega el momento de que experimentes. Prueba con "PreparedStatement", con transacciones, crea campos de tipos distintos a cadenas de texto (fechas, valores enteros, decimales, etc.). 27

28 5 Ejemplo de JDBC en Aplicaciones J2EE En una aplicación Web. Perfectamente podríamos meter el código del ejemplo anterior en un servlet de modo que se ejecutara cuando es llamado, pero ésta no es la forma más correcta de hacerlo ya que el rendimiento no es el apropiado. Veamos el porqué. PROBLEMA: Una de las operaciones más lentas al trabajar con bases de datos es crear la conexión. La razón es que cuando se establece una conexión, el sistema de gestión de bases de datos (en nuestro ejemplo MySQL) tiene que realizar una serie de operaciones muy costosas. Además, en la parte java, se debe cargar el driver, crear un objeto de tipo conexión, inicializarla, abrirla, etc. Por lo tanto, si metiéramos ese código en el servlet, todas estas operaciones se ejecutarían en cada llamada al servlet. SOLUCIÓN: La forma que se emplea para resolver esta problemática es la definición de un "pool" de conexiones. Esto es tan sencillo como definir un conjunto de conexiones ya establecidas y guardarlas en un "pool" que mantendrá nuestro servidor de aplicaciones (Tomcat en nuestro caso). Por lo tanto, nuestra aplicación, en lugar de crear la conexión como en el ejemplo anterior, lo que hará será pedirle al servidor de aplicaciones que nos dé una y la utilizará, consiguiendo así una optimización muy importante y básica en las aplicaciones actuales. Tras su utilización, la aplicación la devuelve al servidor para que la vuelva a entregar en el momento que nuestra aplicación, u otra, se la pida de nuevo al servidor. Una vez visto esto, las tareas a realizar para crear este ejemplo son los siguientes: - Crear el pool de conexiones. Esto se hace mediante la creación de un DataSource que es el interfaz mediante el cual se accede a un pool de conexiones. - Crear la aplicación Web con un servlet en el que meteremos el código que hará el trabajo con base de datos (ya veremos los cambios a introducir para emplear el DataSource) - Probar la aplicación. Pues empecemos con el ejemplo. Creemos primero una aplicación Web. Para ello sigamos los siguientes pasos. 28

29 Selecciona en el cuadro de diálogo de "New Project" el tipo "Web-Dynamic Web Project". Luego pulsa Next. 29

30 Pon el nombre que se muestra en la imagen anterior y pulsa Next. 30

31 Asegurate de que las opciones seleccionadas son las que se muestran arriba y pulsa Next. 31

32 Pulsa Finish. Con esto ya tenemos la aplicación Web pero está vacía. En la aplicación creemos un servlet llamado "CursoServlet" en el paquete "miservlet". Para ello creemos un paquete como se ve en la siguiente imagen: 32

33 Pulsa Finish 33

34 Asigna los valores de la imagen y pulsa Finish. Con esto ya habremos creado el servlet en el paquete que queremos. En este servlet deberíamos meter el código que pedirá al servidor de aplicaciones la conexión del pool pero primero creemos el pool mediante la definición de un datasource. Para ello, creemos el fichero context.xml dentro del directorio META-INF que será el fichero que leerá el servidor de aplicaciones. Mediante este fichero le decimos al servidor que cree el datasource. El contenido del fichero context.xml debe ser el siguiente: <Context path="/cursojdbcweb" docbase="cursojdbcweb" debug="5" reloadable="true" crosscontext="true"> <Resource name="jdbc/mysqlds" auth="container" type="javax.sql.datasource" maxactive="100" maxidle="30" maxwait="10000" username="root" password="password" driverclassname="com.mysql.jdbc.driver" url="jdbc:mysql://localhost/jdbcdbjava"/> </Context> Al leer este fichero el servidor entiende, de forma resumida, lo siguiente: - En el contexto de aplicación "/cursojdbcweb" (nuestro contexto) se define un recurso (etiqueta 34

35 resource). - El nombre del recurso es "jdbc/mysqlds" (nombre del recurso que solicitaremos mediante JNDI). - El recurso es de tipo (type) Datasource. - El Datasource usará como driver la clase "com.mysql.jdbc.driver", que deberá encontrarse en el directorio lib del servidor tal y como dice la documentación de MySQL. - La URL de conexión será "jdbc:mysql://localhost/jdbcdbjava" y usará como usuario "root" y su contraseña es "password". - El resto de parámetros son de configuración y optimización pero escapan de los objetivos del curso. Con este fichero ya tenemos definido el datasource que nos crea el pool de conexiones, solo nos falta, para que el servidor encuentre la clase del driver, meter el fichero "mysql-connectorjava bin.jar " (lo debéis tener en vuestro disco ya que se ha usado anteriormente en el tema) en el directorio de librerías de tomcat (por ejemplo, "C:\apache-tomcat \lib") tal y como dice la documentación de MySQL. Pues ya tenemos preparado el servidor para que cree el datasource al arrancar la aplicación. Ahora tenemos que meter el código para usarlo. Para ello, modificamos el servlet para que quede como el siguiente código: package miservlet; import java.io.ioexception; import java.sql.connection; import java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; import javax.naming.context; import javax.naming.initialcontext; import javax.naming.namingexception; import javax.servlet.servletexception; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import javax.sql.datasource; /** * Servlet implementation class for Servlet: CursoServlet * */ public class CursoServlet extends javax.servlet.http.httpservlet implements javax.servlet.servlet { static final long serialversionuid = 1L; /* (non-java-doc) javax.servlet.http.httpservlet#httpservlet() */ public CursoServlet() { 35

36 super(); } /* (non-java-doc) javax.servlet.http.httpservlet#doget(httpservletrequest request, HttpServletResponse response) */ protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("Entrada en el servlet"); try { Context ctx = null; try { ctx = new InitialContext(); } catch (NamingException e) { e.printstacktrace(); } if(ctx == null ) throw new ServletException("Boom - No Context"); DataSource ds = null; try { ds = (DataSource)ctx.lookup("java:comp/env/jdbc/mysqlDS"); } catch (NamingException e) { e.printstacktrace(); } if (ds == null) throw new ServletException("Boom - No Datasource"); Connection con = ds.getconnection(); Statement stmt = con.createstatement(); stmt.executeupdate("insert into mitabla values ('Toñito','Garcia')"); stmt.executeupdate("insert into mitabla values ('Pepito','Pérez López')"); ResultSet rs = stmt.executequery("select * from mitabla"); while (rs.next()) System.out.println("Nombre: " + rs.getstring(1) + ", Apellidos: " + rs.getstring(2)); stmt.executeupdate("delete from mitabla"); rs = stmt.executequery("select count(*) from mitabla"); while (rs.next()) 36

37 System.out.println("Número de registros tras el borrado: " + rs.getint(1)); } catch (SQLException e) { e.printstacktrace(); } System.out.println("Salida del servlet"); } } Lo más reseñable es la forma en que se consigue la conexión con la base de datos. Si en el ejemplo de aplicación java se cargaba el driver y se le pedía la conexión, en J2EE, para aprovechar la optimización del pool, debemos buscar por JNDI el datasource y a ese datasource le debemos pedir la conexión. Por ahora ya tenemos el datasource creado y el código que lo usa, ahora nos falta definir el servlet y el datasource en el fichero web.xml y después probar. Para ello, el fichero web.xml debe quedar del siguiente modo: <?xml version="1.0" encoding="utf-8"?> <web-app xmlns:xsi=" xmlns=" xmlns:web=" xsi:schemalocation=" id="webapp_id" version="2.5"> <display-name>cursojdbcweb</display-name> <servlet> <servlet-name>cursoservlet</servlet-name> <servlet-class>miservlet.cursoservlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>cursoservlet</servlet-name> <url-pattern>/cursoservlet</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <resource-ref> <description>conexion a MySQL</description> <res-ref-name>jdbc/mysqlds</res-ref-name> <res-type>javax.sql.datasource</res-type> <res-auth>container</res-auth> 37

38 </resource-ref> </web-app> Ya ha llegado el momento de probarlo, para ello añadamos el proyecto al tomcat del siguiente modo: 38

39 Añadir el proyecto y pinchar Finish Y ahora arranquemos el servidor de aplicaciones, recemos y abramos un navegador donde pediremos esta url: El resultado deberá ser una pantalla en blanco ya que no hemos añadido nada de presentación pero lo importante es que se ejecutará el código que hemos introducido en el servlet sacando por la consola del servidor las siguientes líneas: Entrada en el servlet Nombre: Toñito, Apellidos: Garcia Nombre: Pepito, Apellidos: Pérez López Número de registros tras el borrado: 0 Salida del servlet Como podemos ver, se insertaron los dos registros y luego se borraron. Al igual que en el ejemplo anterior, sería interesante que ahora hagáis pruebas similares al ejemplo de JDBC sobre Java. 39

40 6 Frameworks 6.1 Introducción Con lo visto hasta el momento en el tema, ya somos capaces de trabajar sobre una base de datos consiguiendo así que los datos que maneja nuestra aplicación se persistan. Realmente lo que estamos haciendo es mapear los datos de nuestros objetos de modelo de negocio en una base de datos relacional. La tarea del mapeo de objetos a base de datos dentro de un proyecto de cierta envergadura es una de las más laboriosas y más aún si no usamos la tecnología y técnica apropiadas. Acometer este trabajo empleando solamente el API de JDBC es muy complicado debido a la interrelación de entidades, control de restricciones en los datos, etc. Y además, todo se complica en los cambios de requisitos o en el mantenimiento de la aplicación, cuando aparecen nuevos objetos del modelo de negocio, o cuando los ya existentes cambian sus campos. Para intentar facilitar este mapeo de objetos a base de datos han aparecido infinidad de tecnologías, patrones, frameworks, etc. En este tema vamos a ver, a modo de introducción, dos de las principales soluciones que existen (Hibernate y JDO). 6.2 JDO El API Java Data Objects (JDO) es un modelo de abstracción de persistencia basado en interfaces. La tecnología JDO, desde el punto de vista del programador, es útil para persistir el modelo de negocio en una base de datos. JDO es un modelo que tiene varias implementaciones. Los beneficios que nos proporciona JDO son los siguientes: - Facilidad de uso: Los programadores se centran en el modelo de objetos de la aplicación delegando la persistencia del mismo a la implementación de JDO que emplee. - Portabilidad: Las aplicaciones escritas siguiendo el API JDO pueden ser ejecutadas con las diferentes implementaciones sin necesidad de recompilar o cambiar código. - Independencia sobre la base de datos: Las aplicaciones escritas con el API JDO son independientes de la base de datos sobre la que se realice la persistencia. - Rendimiento: Las aplicaciones que emplean el API JDO pueden delegar en éste la optimización de las operaciones de persistencia. - Integración con EJBs: Las aplicaciones que emplean JDO pueden aprovechar los beneficios de los EJBs como, por ejemplo, procesamiento remoto, coordinación distribuida de transacciones y 40

41 seguridad. 6.3 Hibernate Trabajar con software orientado a objetos y bases de datos relacionales puede ser un gran problema, llegando a consumir gran parte del tiempo de desarrollo en las aplicaciones actuales. Para ello, al igual que otros muchos frameworks, Hibernate proporciona al programador un entorno que facilita mucho el desarrollo en este tipo de aplicaciones. Hibernate es una herramienta que implementa la técnica ORMapping en entornos Java. Hibernate no solo se encarga de mapear clases Java en tablas de bases de datos, además también se encarga de gestionar los tipos de datos de Java a los tipos del Sistema de Gestión de Base de Datos que se emplee (Oracle, MySQL, DB2, etc.). Además, Hibernate proporciona funcionalidades para la manipulación de datos, reduciendo en gran medida el esfuerzo necesario para el desarrollo de las aplicaciones actuales. Por otro lado, Hibernate no siempre es la solución apropiada. Por ejemplo, Hibernate no es la mejor solución cuando las aplicaciones se basan en procedimientos almacenados en base de datos para implementar la lógica de negocio. Otra de las grandes ventajas es que Hibernate te aisla del Sistema de Gestion de Base de Datos. Por ejemplo, el desarrollador puede hacer su aplicación sobre Hibernate y éste se encarga de utilizar el "dialecto SQL" apropiado sobre la base de datos que situemos bajo él. Para una mayor información sobre este framework que implementa la técnica ORM visitar 41

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L. Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.

Más detalles

Ejercicios - Persistencia en Android: ficheros y SQLite

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

Más detalles

Base de Datos JDBC. Unidad: 1 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos

Base de Datos JDBC. Unidad: 1 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Base de Datos JDBC Unidad: 1 Laboratorio de Programación Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Indice Repaso clase anterior Sentencias preparadas PreparedStatement

Más detalles

Curso de PHP con MySQL Gratis

Curso de PHP con MySQL Gratis Curso de PHP con MySQL Gratis Introducción Este mini curso o mini tutorial de PHP le ayudará a realizar cualquier sistema para que pueda insertar uno o varios registros a una base de datos con MySQL, este

Más detalles

Manual de uso básico de la aplicación

Manual de uso básico de la aplicación Manual de uso básico de la aplicación Autor del documento Centro de Apoyo Tecnológico a Emprendedores, Fundación Parque Científico y Tecnológico de Albacete Datos de contacto E-Mail: bilib@bilib.es Página

Más detalles

Manual de NetBeans y XAMPP

Manual de NetBeans y XAMPP Three Headed Monkey Manual de NetBeans y XAMPP Versión 1.0 Guillermo Montoro Delgado Raúl Nadal Burgos Juan María Ruiz Tinas Lunes, 22 de marzo de 2010 Contenido NetBeans... 2 Qué es NetBeans?... 2 Instalación

Más detalles

Manual de uso básico de la aplicación

Manual de uso básico de la aplicación Manual de uso básico de la aplicación Autor del documento Centro de Apoyo Tecnológico a Emprendedores, Fundación Parque Científico y Tecnológico de Albacete Datos de contacto E-Mail: bilib@bilib.es Página

Más detalles

Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia

Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com La puesta en marcha de WordPress es muy sencilla,

Más detalles

Guía de Instalación. Glpi

Guía de Instalación. Glpi Guía de Instalación Glpi Autor del documento: Centro de Apoyo Tecnológico a Emprendedores Datos de contacto: E-Mail: bilib@bilib.es Página Web: www.bilib.es Teléfono: 967 555 311 Versión del documento:

Más detalles

Dossier de prácticas

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

Más detalles

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib Manual de uso de la plataforma para monitores CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib [Manual de uso de la plataforma para monitores] 1. Licencia Autor del documento: Centro de Apoyo Tecnológico

Más detalles

Manual para la utilización de PrestaShop

Manual para la utilización de PrestaShop Manual para la utilización de PrestaShop En este manual mostraremos de forma sencilla y práctica la utilización del Gestor de su Tienda Online mediante Prestashop 1.6, explicaremos todo lo necesario para

Más detalles

Toda base de datos relacional se basa en dos objetos

Toda base de datos relacional se basa en dos objetos 1. INTRODUCCIÓN Toda base de datos relacional se basa en dos objetos fundamentales: las tablas y las relaciones. Sin embargo, en SQL Server, una base de datos puede contener otros objetos también importantes.

Más detalles

Manual De Instalación MySQl 5.1 MANUAL DE INSTALACIÓN Y CONFIGURACIÓN DE MYSQL 5.1.40

Manual De Instalación MySQl 5.1 MANUAL DE INSTALACIÓN Y CONFIGURACIÓN DE MYSQL 5.1.40 MANUAL DE INSTALACIÓN Y CONFIGURACIÓN DE MYSQL 5.1.40 Página 1 de 15 1.- Ejecutamos el fichero mysql-essential-5.1.40-win32. Espera unos minutos mientras se cargan los archivos necesarios para la instalación

Más detalles

Oficina Online. Manual del administrador

Oficina Online. Manual del administrador Oficina Online Manual del administrador 2/31 ÍNDICE El administrador 3 Consola de Administración 3 Administración 6 Usuarios 6 Ordenar listado de usuarios 6 Cambio de clave del Administrador Principal

Más detalles

WINDOWS 2008 5: TERMINAL SERVER

WINDOWS 2008 5: TERMINAL SERVER WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.

Más detalles

CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES, BILIB RECETA TECNOLÓGICA REALIZACIÓN DE COPIAS DE SEGURIDAD CON GSYNC

CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES, BILIB RECETA TECNOLÓGICA REALIZACIÓN DE COPIAS DE SEGURIDAD CON GSYNC CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES, BILIB RECETA TECNOLÓGICA REALIZACIÓN DE COPIAS DE SEGURIDAD CON GSYNC Fecha: 11 de Abril de 2012 Licencia Autor del documento: Centro de Apoyo Tecnológico a

Más detalles

Gestión de Retales WhitePaper Noviembre de 2009

Gestión de Retales WhitePaper Noviembre de 2009 Gestión de Retales WhitePaper Noviembre de 2009 Contenidos 1. Introducción 3 2. Almacén de retales 4 3. Propiedades de los materiales 6 4. Alta de retales 8 5. Utilización de retales en un lote de producción

Más detalles

Capitulo 5. Implementación del sistema MDM

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

Más detalles

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento Qué es AT-Encrypt nos permitirá dotar de contraseña a cualquier documento o carpeta. Este documento o carpeta sólo será legible por aquel que conozca la contraseña El funcionamiento del cifrado (o encriptación)

Más detalles

Se ha confeccionado una aplicación sencilla para poder probar el interfaz de gestión explotación de MEGA, Modelo Estandarizado de Gestión de Agua.

Se ha confeccionado una aplicación sencilla para poder probar el interfaz de gestión explotación de MEGA, Modelo Estandarizado de Gestión de Agua. Manual de instalación y uso de Aplicación Test Web Services MEGA Introducción Se ha confeccionado una aplicación sencilla para poder probar el interfaz de gestión explotación de MEGA, Modelo Estandarizado

Más detalles

Practica 11: Conexión de Java con Bases de datos Access

Practica 11: Conexión de Java con Bases de datos Access Practica 11: Conexión de Java con Bases de datos Access En esta práctica vamos a crear una base de datos Microsoft Access y luego vamos a conectarnos desde una aplicación java haciendo uso del puente JDBC-ODBC

Más detalles

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...

Más detalles

MANUAL DE AYUDA MODULO TALLAS Y COLORES

MANUAL DE AYUDA MODULO TALLAS Y COLORES MANUAL DE AYUDA MODULO TALLAS Y COLORES Fecha última revisión: Enero 2010 Índice TALLAS Y COLORES... 3 1. Introducción... 3 CONFIGURACIÓN PARÁMETROS TC (Tallas y Colores)... 3 2. Módulos Visibles... 3

Más detalles

USANDO SERVLETS EN UN SERVIDOR WEB RESIN

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

Más detalles

Tutorial: Primeros Pasos con Subversion

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

Más detalles

Programación Orientada a Objetos Analista Programador Universitario Plan 2008 Año 2010

Programación Orientada a Objetos Analista Programador Universitario Plan 2008 Año 2010 INTRODUCCION Los objetos usados en aplicaciones JAVA mantienen su estado y comportamiento mientras la aplicación se halle en ejecución. Generalmente se necesita mantener el estado y comportamiento de los

Más detalles

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Tutoriales de ayuda e información para todos los niveles AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Como agregar a una red existente un equipo con Windows 7 y compartir sus archivos

Más detalles

30 de Mayo de 2008. www.sigrid.es

30 de Mayo de 2008. www.sigrid.es Guia de Instalación del servidor SgdWMS 30 de Mayo de 2008 www.sigrid.es 2 Índice 1.- INTRODUCCIÓN... 3 2.- INSTALACIÓN DE INTERNET INFORMATION SERVER (IIS)... 3 3.- INSTALACIÓN DEL SERVIDOR SGDWMS EN

Más detalles

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE ÍNDICE ACCESO A LA APLICACIÓN... 2 1.- HOMOLOGACIÓN DE CURSOS... 4 1.1.- INICIAR EXPEDIENTE... 4 1.2.- CONSULTA DE EXPEDIENTES... 13 1.3.- RENUNCIA A LA HOMOLOGACIÓN... 16 2.- MECÁNICA DE CURSOS... 19

Más detalles

INSTALACIÓN DE MySQL SERVER EN WINDOWS

INSTALACIÓN DE MySQL SERVER EN WINDOWS INSTALACIÓN DE MySQL SERVER EN WINDOWS Seguir los siguientes pasos: En primer lugar necesitaremos disponer del programa de instalación. Se puede descargar gratuitamente de http://dev.mysql.com/downloads

Más detalles

LiLa Portal Guía para profesores

LiLa Portal Guía para profesores Library of Labs Lecturer s Guide LiLa Portal Guía para profesores Se espera que los profesores se encarguen de gestionar el aprendizaje de los alumnos, por lo que su objetivo es seleccionar de la lista

Más detalles

Internet Information Server

Internet Information Server Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en

Más detalles

JDBC. Una mini-introducci. introducción

JDBC. Una mini-introducci. introducción JDBC Una mini-introducci introducción Introducción JDBC (Java DataBase Connectivity) Protocolo para utilizar bases de datos relacionales desde Java Se basa en la utilización n de drivers que implementan

Más detalles

REQUISITOS DEL SISTEMA. Software Servidor. Cliente. Hardware Servidor. Cliente

REQUISITOS DEL SISTEMA. Software Servidor. Cliente. Hardware Servidor. Cliente MANUAL TECNICO INSTALACIÓN Y CONFIGURACIÓN DEL SISTEMA AARON A QUIEN VA DIRIGIDO El siguiente manual está dirigido al administrador encargado de la instalación y configuración del Sistema AARON. PRÓLOGO

Más detalles

Configuración servidor Tomcat

Configuración servidor Tomcat Apuntes de J2EE Configuración servidor Tomcat Uploaded by Ingteleco http://ingteleco.webcindario.com ingtelecoweb@hotmail.com La dirección URL puede sufrir modificaciones en el futuro. Si no funciona contacta

Más detalles

Transacciones y bloqueos en SQL-Server

Transacciones y bloqueos en SQL-Server Transacciones y bloqueos en SQL-Server (Información para el uso desde Axapta) Introducción En este documento vamos a intentar explicar cuatro conceptos básicos acerca de las transacciones y los bloqueos

Más detalles

15 CORREO WEB CORREO WEB

15 CORREO WEB CORREO WEB CORREO WEB Anteriormente Hemos visto cómo funciona el correo electrónico, y cómo necesitábamos tener un programa cliente (Outlook Express) para gestionar los mensajes de correo electrónico. Sin embargo,

Más detalles

Desarrollo de Servicios Web con JBuilder

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

Más detalles

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes? Preguntas frecuentes Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes? Atención! Esta opción es de configuración y solamente la prodrá realizar el administrador de la

Más detalles

MANUAL DE LA CONFIGURACIÓN Y USO DEL MÓDULO DE ASM PARA PRESTASHOP

MANUAL DE LA CONFIGURACIÓN Y USO DEL MÓDULO DE ASM PARA PRESTASHOP MANUAL DE LA CONFIGURACIÓN Y USO DEL MÓDULO DE ASM PARA PRESTASHOP Contacto Para las dudas con la instalación: Integración de Clientes (iclientes.inf@asmred.es) Para el contacto comercial: 91 327 28 80

Más detalles

Servicio de Alta, Baja, Modificación y Consulta de usuarios Medusa

Servicio de Alta, Baja, Modificación y Consulta de usuarios Medusa Documentos de Proyecto Medusa Documentos de: Serie: Manuales Servicio de Alta, Baja, Modificación y Consulta del documento: Fecha 22 de febrero de 2007 Preparado por: José Ramón González Luis Aprobado

Más detalles

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO Fecha última revisión: Junio 2011 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 3 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 3 HERRAMIENTA

Más detalles

Sitios remotos. Configurar un Sitio Remoto

Sitios remotos. Configurar un Sitio Remoto Sitios remotos Definir un sitio remoto significa establecer una configuración de modo que Dreamweaver sea capaz de comunicarse directamente con un servidor en Internet (por eso se llama remoto) y así poder

Más detalles

Pasamos ahora a definir brevemente cual es el método de conexión más habitual usando un entorno gráfico.

Pasamos ahora a definir brevemente cual es el método de conexión más habitual usando un entorno gráfico. Clientes de FTP en modo gráfico Introducción Ya vimos en la primera parte de nuestro curso de FTP, que la conexión a servidores inicialmente se realizaba (y aún se sigue haciendo) en modo texto. Aunque

Más detalles

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported PROGRAMACIÓN ORIENTADA A OBJETOS APLICADA A BASES DE DATOS Por LAURA NOUSSAN LETTRY BrowserSQL MySQL Workbench en Linux (Abril 2015, Mendoza) Aviso Legal El presente libro electrónico se distribuye bajo

Más detalles

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD Manual de usuario 1 - ÍNDICE 1 - ÍNDICE... 2 2 - INTRODUCCIÓN... 3 3 - SELECCIÓN CARPETA TRABAJO... 4 3.1 CÓMO CAMBIAR DE EMPRESA O DE CARPETA DE TRABAJO?...

Más detalles

QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A)

QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A) APRENDERAPROGRAMAR.COM QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A) Sección: Divulgación Categoría: Herramientas Informáticas Fecha

Más detalles

Guía de uso del Cloud Datacenter de acens

Guía de uso del Cloud Datacenter de acens guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar

Más detalles

Crear la base de datos antes de la instalación de Wordpress.

Crear la base de datos antes de la instalación de Wordpress. Introducción En este tutorial básico sobre instalar Wordpress en tu propio hosting mediante un panel de control cpanel y aprenderás como personalizar las bases de datos MySQL que utiliza Wordpress. Para

Más detalles

Curso Internet Básico - Aularagon

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

Más detalles

BROWSERSQL VERSIÓN 3.1 TUTORIAL

BROWSERSQL VERSIÓN 3.1 TUTORIAL TUTORIAL LAURA NOUSSAN LETTRY (MENDOZA, ARGENTINA 2011) ÍNDICE CONTENIDOS PÁGINA Introducción 2 Características Funcionales 2 Área de Conexión 3 Área de Ejecución de Sentencias 4 En qué se basa su funcionamiento

Más detalles

Configuracion Escritorio Remoto Windows 2003

Configuracion Escritorio Remoto Windows 2003 Configuracion Escritorio Remoto Windows 2003 Instalar y configurar servicio de Terminal Server en Windows 2003 Fecha Lunes, 25 diciembre a las 17:04:14 Tema Windows (Sistema Operativo) Os explicamos cómo

Más detalles

Escritorio remoto y VPN. Cómo conectarse desde Windows 7

Escritorio remoto y VPN. Cómo conectarse desde Windows 7 Escritorio remoto y VPN. Cómo conectarse desde Windows 7 Hay ocasiones en las que es necesario conectarnos a un equipo informático situado a mucha distancia de donde nos encontramos para realizar sobre

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

MÓDULO 3 HERRAMIENTAS EN LA NUBE: ANFIX

MÓDULO 3 HERRAMIENTAS EN LA NUBE: ANFIX MÓDULO 3: TEMA 1 INTRODUCCIÓN Hemos elegido esta herramienta, por su sencillez de acceso a través de la web, es bastante fácil e intuitiva, tan sólo tienes que registrarte, confirmar tu cuenta y ya puedes

Más detalles

Servicio de Acceso Remoto. Usos y configuración.

Servicio de Acceso Remoto. Usos y configuración. Servicio de Acceso Remoto. Usos y configuración. Servicio de Acceso Remoto. Usos y configuración... 1 DESCRIPCIÓN DEL SERVICIO DE ACCESO REMOTO... 3 GESTIÓN DE LA CUENTA DE ACCESO REMOTO... 3 CONFIGURACION

Más detalles

Creando una webquests

Creando una webquests Creando una webquests 1. LO PRIMERO EL PROGRAMA Para crear paginas web necesitamos el software apropiado. Hay muchas formas y programas para hacerlo, pero por su facilidad de uso y por ser software libre

Más detalles

1. El entorno de desarrollo Eclipse

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

Más detalles

Instalación de Tomcat7 en Ubuntu

Instalación de Tomcat7 en Ubuntu 2. Instala el servidor web java TomCat en Windows y Linux. Documenta los módulos/servicios necesarios. Instala el CMS Java Liferay. Documenta el proceso. Instalación de Tomcat7 en Ubuntu Comenzamos instalando

Más detalles

TEMA 4: EMPEZANDO A NAVEGAR ESCUELA UNIVERSITARIA DE INFORMÁTICA. Raúl Martín Martín

TEMA 4: EMPEZANDO A NAVEGAR ESCUELA UNIVERSITARIA DE INFORMÁTICA. Raúl Martín Martín TEMA 4: EMPEZANDO A ESCUELA UNIVERSITARIA DE INFORMÁTICA NAVEGAR Raúl Martín Martín SERVICIOS DE INTERNET SERVICIOS DE INTERNET Las posibilidades que ofrece Internet se denominan servicios. Hoy en día,

Más detalles

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Escritorio remoto - 1 - Escritorio Remoto...- 3 - Definición de Escritorio Remoto... - 3 - Habilitar Escritorio Remoto... - 4 - Instalación del

Más detalles

Practica 1 Instalación del SGBD. Ing. María Elena Reyes Castellanos. Miguel Ángel Garduño Córdova Isaac Méndez Hernández

Practica 1 Instalación del SGBD. Ing. María Elena Reyes Castellanos. Miguel Ángel Garduño Córdova Isaac Méndez Hernández Investigación Practica 1 Instalación del SGBD Catedrático: Alumnos: Ing. María Elena Reyes Castellanos Miguel Ángel Garduño Córdova Isaac Méndez Hernández 1 ÍNDICE DE GENERAL INDICE DE TABLAS Y FIGURAS

Más detalles

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009) JOOMLA! ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009) Es necesario comentar que este manual ha sido diseñado en su mayor parte por comunidadjoomla.org. Este manual es una

Más detalles

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación Vicerrectorado de Tecnologías de la Información y la Comunicación Conexión mediante Escritorio Remoto de Windows Última Actualización 16 de septiembre de 2013 Histórico de cambios Fecha Descripción Autor

Más detalles

MANUAL SINCRONIZADOR LEKOMMERCE FACTUSOL

MANUAL SINCRONIZADOR LEKOMMERCE FACTUSOL MANUAL SINCRONIZADOR LEKOMMERCE FACTUSOL www.tiendaonlinegratis.es Página 1 Bienvenido! Bienvenido, y gracias por confiar en nosotros para convertir tu empresa de Factusol en una completa y eficiente tienda

Más detalles

INSTALACIÓN DE LOS MÓDULOS DEL ERP AbanQ

INSTALACIÓN DE LOS MÓDULOS DEL ERP AbanQ INSTALACIÓN DE LOS MÓDULOS DEL ERP AbanQ Índice de contenido Instalación de los módulos del ERP AbanQ:...2 Requisitos para la instalación...2 Instalación de los módulos...2 1 Instalación de los módulos

Más detalles

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL. GUIA DE LABORATORIO # 5 Nombre de la Practica: Manipulación de datos Lugar de ejecución: Centro de Computo MATERIA: Base de Datos II CICLO: 02-2012 I. OBJETIVOS ESPECIFICOS Qué el estudiante: Manipule

Más detalles

Formas de llevar a cabo un backup de una base de datos MySQL

Formas de llevar a cabo un backup de una base de datos MySQL Formas de llevar a cabo un backup de una base de datos MySQL Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Muchas aplicaciones web hacen uso de bases de datos donde

Más detalles

- A continuación, se nos abrirá la siguiente ventana pidiendo contraseña, que el cliente haya especificado al instalar Wingest 7

- A continuación, se nos abrirá la siguiente ventana pidiendo contraseña, que el cliente haya especificado al instalar Wingest 7 Copia de seguridad en Wingest 7 desde WgAdmin Los pasos a seguir serán los siguientes: - Todos los usuarios de la aplicación deberán estar fuera de ella. - Deberemos entrar en nuestra carpeta de Wingest

Más detalles

Podemos descargar la distribucion de gnu/linux de los repositorios de Ubuntu http://releases.ubuntu.com/.

Podemos descargar la distribucion de gnu/linux de los repositorios de Ubuntu http://releases.ubuntu.com/. Instalación GNU/Linux Ubuntu -10.04.3-server-i386 Con la ayuda de este sencillo manual podemos ver como instalar Un servidor GNU/Linux, en este caso utilizaremos la distribución Ubuntu -10.04.3-server-i386

Más detalles

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo. CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia

Más detalles

Instalación de Fedora Core 18 junto a Windows 7.

Instalación de Fedora Core 18 junto a Windows 7. Instalación de Fedora Core 18 junto a Windows 7. Antes de nada deberíamos tener en cuenta si tenemos espacio disponible en nuestro disco para poder llevar a cabo la instalación. Habitualmente compramos

Más detalles

INSTALACIÓN DE MySQL Índice de contenido

INSTALACIÓN DE MySQL Índice de contenido INSTALACIÓN DE MySQL Índice de contenido Instalación de MySQL:...2 Instalación en Windows...2 Instalación de la parte servidor de MySQL...2 Instalación del programa para administrar MySQL...9 Instalación

Más detalles

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX En este manual se presenta el proceso de configuración de una Maquina Virtual en VirtualBox, que será utilizada para instalar un Servidor

Más detalles

Manual de uso. Manual de uso - citanet 1

Manual de uso. Manual de uso - citanet 1 Manual de uso Manual de uso - citanet 1 1. Requisitos previos a la instalación... 3 2. Primer inicio de la aplicación.... 3 2.1. Pantalla de inicio de sesión.... 3 2.2. Datos de la empresa y configuración

Más detalles

Curso de Java POO: Programación orientada a objetos

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

Más detalles

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10 CONCEPTOS BASICOS Febrero 2003 Página - 1/10 EL ESCRITORIO DE WINDOWS Se conoce como escritorio la zona habitual de trabajo con windows, cuando iniciamos windows entramos directamente dentro del escritorio,

Más detalles

El primer paso a realizar es crear la referencia JNDI para el origen de datos en el servidor local TomCat.

El primer paso a realizar es crear la referencia JNDI para el origen de datos en el servidor local TomCat. Conectar Base de Datos MySQL con JSF El primer paso a realizar es crear la referencia JNDI para el origen de datos en el servidor local TomCat. Comentar que antes, tenemos que crear la Base de Datos Wiki

Más detalles

Manual de configuración de Thunderbird ÍNDICE

Manual de configuración de Thunderbird ÍNDICE Manual de configuración de Thunderbird ÍNDICE 1. ARRANCANDO THUNDERBIRD POR PRIMERA VEZ... 2 2. ARRANCANDO THUNDERBIRD POR N-ÉSIMA VEZ... 2 3. CONFIGURACIÓN DE CUENTA DE CORREO... 4 4. SERVICIO DE DIRECTORIO

Más detalles

Conexión de Mysql con NetBeans

Conexión de Mysql con NetBeans Alumna: Keren Monge Cid Materia: Web Application Development Maestro: Alejandro S. Álvarez Cifuentes Grupo: 3CM2 2do Departamental Conexión de Mysql con NetBeans Objetivo Realizar un programa que realice

Más detalles

Una plantilla es un documento de Word 2003 con la característica de que el tipo de documento es plantilla de documento (.dot).

Una plantilla es un documento de Word 2003 con la característica de que el tipo de documento es plantilla de documento (.dot). Unidad 3. Plantillas Objetivos de la unidad: Una plantilla es un documento prediseñado que usted puede usar para crear nuevos documentos con el mismo formato. A través de una plantilla, el aspecto de un

Más detalles

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

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

Más detalles

Acceso a BD desde Java. JDBC

Acceso a BD desde Java. JDBC JDBC (Java DataBase Connectivity) es una interfaz para programar la ejecución de sentencias SQL sobre SGBDR El API JDBC facilita programar el acceso a BD sin que se tenga en cuenta a que Servidor nos dirigimos

Más detalles

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie. Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra

Más detalles

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico)

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico) MANUAL DE AYUDA SAT Móvil (Movilidad del Servicio Técnico) Fecha última revisión: Abril 2015 INDICE DE CONTENIDOS INTRODUCCION SAT Móvil... 3 CONFIGURACIONES PREVIAS EN GOTELGEST.NET... 4 1. INSTALACIÓN

Más detalles

Manual de ayuda para crear y gestionar Tareas, como actividad evaluable

Manual de ayuda para crear y gestionar Tareas, como actividad evaluable Manual de ayuda para crear y gestionar Tareas, como actividad evaluable Contenido TAREAS.... 3 CONFIGURACIÓN.... 3 GESTIÓN Y CALIFICACIÓN DE TAREAS.... 8 TAREAS. Mediante esta herramienta podemos establecer

Más detalles

Manual de NVU Capítulo 4: Los enlaces

Manual de NVU Capítulo 4: Los enlaces Manual de NVU Capítulo 4: Los enlaces Pág. 1 Manual de NVU Capítulo 4: Los enlaces Reconocimiento-NoComercial-CompartirIgual 2.5 España Realizado por: Julio Ruiz Palmero (Universidad de Málaga) julioruiz@uma.es

Más detalles

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

AGREGAR COMPONENTES ADICIONALES DE WINDOWS INSTALACIÓN DE IIS EN WINDOWS XP El sistema está desarrollado para ejecutarse bajo la plataforma IIS de Windows XP. Por esta razón, incluimos la instalación de IIS (Servidor de Web) para la correcta ejecución

Más detalles

Práctica sobre compartición de instancias remotas.

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

Más detalles

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT Versión 1. Mayo de 2001 Luis Vinuesa Martínez. Departamento de Informática Universidad de Oviedo vinuesa@correo.uniovi.es www.di.uniovi.es/~vinuesa ÍNDICE. Introducción...

Más detalles

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa...2. 1.1 Configuración Internet Explorer para ActiveX...

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa...2. 1.1 Configuración Internet Explorer para ActiveX... INDICE 1 Configuración previa...2 1.1 Configuración Internet Explorer para ActiveX...2 1.2 Problemas comunes en sistema operativo Windows...8 1.2.1 Usuarios con sistema operativo Windows XP con el Service

Más detalles

MANUAL COPIAS DE SEGURIDAD

MANUAL COPIAS DE SEGURIDAD MANUAL COPIAS DE SEGURIDAD Índice de contenido Ventajas del nuevo sistema de copia de seguridad...2 Actualización de la configuración...2 Pantalla de configuración...3 Configuración de las rutas...4 Carpeta

Más detalles

MANUAL DE CREACIÓN DE CARPETAS PARA ACCESO POR FTP DE CLIENTES EN UN NAS

MANUAL DE CREACIÓN DE CARPETAS PARA ACCESO POR FTP DE CLIENTES EN UN NAS MANUAL DE CREACIÓN DE CARPETAS PARA ACCESO POR FTP DE CLIENTES EN UN NAS Vamos a explicar en varios pasos cómo crear una carpeta para que un cliente concreto con un usuario y una contraseña acceda sólo

Más detalles

Instalación de ActivePerl en MS Windows

Instalación de ActivePerl en MS Windows Instalación de ActivePerl en MS Windows Rubén Armañanzas Arnedillo ruben@aula325.com 26 de septiembre de 2002 1. Descarga de los ejecutables necesarios En primer lugar vamos a descargar los ficheros que

Más detalles

PRÁCTICA 10. Configuración de Correo y Publicar en la Web

PRÁCTICA 10. Configuración de Correo y Publicar en la Web PRÁCTICA 10. Configuración de Correo y Publicar en la Web INFORMÁTICA BÁSICA Publicidad y Relaciones Públicas y Periodismo. Curso 2006/2007 1. Configuración del correo Gestores de correo en la máquina

Más detalles

Redes de área local: Aplicaciones y servicios WINDOWS

Redes de área local: Aplicaciones y servicios WINDOWS Redes de área local: Aplicaciones y servicios WINDOWS 7. Escritorio remoto 1 Índice Definición de Escritorio Remoto... 3 Habilitar Escritorio Remoto... 4 Instalación del cliente de Escritorio Remoto...

Más detalles

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro USAR MYSQL EN PHP PHP tiene una librería de funciones nativas para conectarse a las base de datos MySQL. Por un lado reconoce la librería mysql y por otro mysqli. Se recomienda el uso de mysqli dado que

Más detalles