viernes, 23 de septiembre de 2016

Java con Base de Datos

TEMA:
  • Java con Base de Datos
ASIGNATURA
  • Desarrollo del Software II
DOCENTE:
  • Marco Aurelio Porro Chulli.
NOMBRE DEL GRUPO:
  • Java
INTEGRANTES:
  • Maldonado Idrogo Betzabeth Yameli.
  • Pérez Saucedo Yordin Alberto.
BAGUA GRANDE-UTCUBAMBA-2016
  1. Contenido
  • Definición
Java Database Connectivity, más conocida por sus siglas JDBC,1 2 es una API que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de programación Java, independientemente del sistema operativo donde se ejecute o de la base de datos a la cual se accede, utilizando el dialecto SQL del modelo de base de datos que se utilice


  • Objetos Connection, Statement y ResultSet
Una vez obtenida la conexión a la BD, podemos utilizarla para realizar consultas, inserción y/o borrado de datos de dicha BD. Todas estas operaciones se realizarán mediante lenguaje SQL. La clase Statement es la que permite realizar todas estas operaciones. La instanciación de esta clase se realiza haciendo uso del siguiente método que proporciona el objeto Connection: 
 Statement stmt = con.createStatement();
Podemos dividir las sentencias SQL en dos grupos: las que actualizan la BD y las que únicamente la consultan. En las siguientes secciones veremos cómo podemos realizar estas dos acciones.
Para obtener datos almacenados en la BD podemos realizar una consulta SQL (query). Podemos ejecutar la consulta utilizando el objeto Statement, pero ahora haciendo uso del método executeQuery al que le pasaremos una cadena con la consulta SQL. Los datos resultantes nos los devolverá como un objetoResultSet. 
ResultSet result = stmt.executeQuery(query);


El objeto ResultSet dispone de un cursor que estará situado en el registro que podemos consultar en cada momento. Este cursor en un principio estará situado en una posición anterior al primer registro de la tabla. Podemos mover el cursor al siguiente registro con el método next del ResultSet. La llamada a este método nos devolverá true mientras pueda pasar al siguiente registro, y false en el caso de que ya estuviéramos en el último registro de la tabla.
El constructor de la clase ConsultaSQL recibe como parámetro un objeto de tipo Connection y otro de String; éste contendrá una sentencia SELECT; Statement es una interfaz que puede ejecutar sentencias en lenguaje SQL a través de una conexión; su método executeQuery()recibe la cadena SELECT y devuelve un objeto de tipo ResultSet, que contiene una imagen de los datos devueltos por el servidor MySQL en formato de tabla, es decir, filas y columnas; además los ResultSet tienen un apuntador o cursor que sirve para recorrer los registros de la tabla; el recorrido se hace con métodos como next(). No obstante, no toda la información necesaria está en los datos que ya se obtuvieron (por ejemplo, falta el nombre de las columnas); para obtener dicha información se usan los objetos del-tipo ResultSetMetaData.
En la clase que acabamos de escribir, hay dos métodos: getDatosDevueltos() ygetNombresColumnas() que darán la información solicitada con la consulta en dos arreglos, uno contiene la tabla y el otro la lista de los nombres de los atributos de dicha tabla. Con ellos se podrán mostrar los datos. 
  • Ejemplos:
En el siguiente ejemplo, el código muestra establece varias propiedades de conexión en la URL de conexión y, a continuación, llama al método getConnection de la clase DriverManager para devolver un objeto SQLServerConnection.
Después, el código muestra usa el método createStatement del objeto-SQLServerConnection para crear un objeto SQLServerStatement y, a continuación, se llama al método executeQuery para ejecutar la instrucción SQL.
Finalmente, el ejemplo usa el objeto SQLServerResultSet devuelto por el método executeQuery para procesar una iteración mediante los resultados devueltos por la instrucción SQL.
import java.sql.*;
public class connectURL {
   public static void main(String[] args) {
       // Create a variable for the connection string.
      String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
         "databaseName=AdventureWorks;user=UserName;password=*****";
       // Declare the JDBC objects.
      Connection con = null;
      Statement stmt = null;
      ResultSet rs = null;
       try {
         // Establish the connection.
         Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
         con = DriverManager.getConnection(connectionUrl);
          // Create and execute an SQL statement that returns some data.
         String SQL = "SELECT TOP 10 * FROM Person.Contact";
         stmt = con.createStatement();
         rs = stmt.executeQuery(SQL);
          // Iterate through the data in the result set and display it.
         while (rs.next()) {
            System.out.println(rs.getString(4) + " " + rs.getString(6));
         }
      }
       // Handle any errors that may have occurred.
      catch (Exception e) {
         e.printStackTrace();
      }
      finally {
         if (rs != null) try { rs.close(); } catch(Exception e) {}
         if (stmt != null) try { stmt.close(); } catch(Exception e) {}
         if (con != null) try { con.close(); } catch(Exception e) {}
      }
   }
}  
  1. Resumen
Definición: Es una API que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de programación Java.
Objetos Connection, Statement y ResultSet:
Statement stmt = con.createStatement();
Podemos dividir las sentencias SQL en dos grupos: las que actualizan la BD y las que únicamente la consultan
ResultSet result = stmt.executeQuery(query);
Dispone de un cursor que estará situado en el registro que podemos consultar en cada momento. Este cursor en un principio estará situado en una posición anterior al primer registro de la tabla
  1. Summary
Definition: It is an API that allows the execution of operations on databases from the Java programming language.
Objects Connection, Statement and ResultSet:
Statement stmt = con.createStatement ();
We can divide the SQL statements into two groups: those that update the  database and that only consult
ResultSet result = stmt.executeQuery (query);
It has a cursor to be located on record that we can consult at all times. This cursor initially will be located in a position above the first record in the table
  1. Recomendaciones:
  • En general, no almacenes imágenes en la base de datos. Sólo referencias a la ruta en la que se encuentran y metadatos para identificarlas. No nos engañemos, las bases de datos crecen y crecen y las imágenes  siguen aumentando en tamaño a su propio ritmo. Si mantienes sólo las referencias al almacén de imágenes,  la base de datos estará en forma para  devolverte los procesos mas rápidamente.
  • Usar al máximo sentencias de base de datos precompiladas a través de la clase PreparedStatement cuando ejecute sentencias SQL. Esto evita que la base de datos compile varias veces la misma consulta y agiliza le ejecución de la sentencia.
  • Evite el uso de colecciones sincronizadas como Hashtable o Vector, estas implementaciones tienen todos sus métodos sincronizados lo que implica que generan bloqueos incluso para las operaciones de lectura. En vez de ello utilice implementaciones más sofisticadas como ConcurrentHashMap o CopyOnWriteArrayList que sólo bloquean las operaciones que modifiquen el contenido del objeto.
  1. Conclusiones: 
  • Al culminar este trabajo, pude constatar que, la implementación de bases de datos distribuidas resulta importante ya que se puede distribuir y replicar en diferentes sitios cuando ciertos sitios locales tienen capacidades de almacenamiento y procesamiento limitadas, pero tienen la ventaja de poder integrarse a otros sitios remotos con mejores recursos por medio de una red de comunicación.
  • Como resultado, se ha desarrollado la API javagroups.sql, un nuevo conjunto de clases e interfaces que ofrecen al usuario la posibilidad de convertir una aplicación centralizada de acceso a bases de datos en una aplicación distribuida y tolerante a fallos. Dado que esta nueva librería mantiene la interfaz ofrecida por la API JDBC (java.sql), el usuario podrá incorporar la nueva funcionalidad a sus aplicaciones sin necesidad de realizar grandes modificaciones al código
  • A medida que se fue avanzando el desarrollo del trabajo se puede dar una visión global de las características que conlleva el diseño de una base de datos distribuida
  1. Apreciación del Equipo
La conexión Java a una base de datos nos permite aprender el entorno del elemento JDBC y conocer nuevas formas de acceder a una base de datos.

  1. Glosario de Términos.
  •  API: Una API (siglas de 'Application Programming Interface') es un conjunto de reglas (código) y especificaciones que las aplicaciones pueden seguir para comunicarse entre ellas: sirviendo de interfaz entre programas diferentes de la misma manera en que la interfaz de usuario facilita la interacción humano-software.
  • SQL: (Structured Query Language) es un lenguaje de programación estándar e interactivo para la obtención de información desde una base de datos y para actualizarla. Aunque SQL es a la vez un ANSI y una norma ISO, muchos productos de bases de datos soportan SQL con extensiones propietarias al lenguaje estándar.
  • Query: Este aviso fue puesto el 21 de octubre de 2014. Query string o, en español, cadena de consulta es un término informático que se utiliza para hacer referencia a una interacción con una base de datos. Es la parte de una URL que contiene los datos que deben pasar a aplicaciones web como los programas CGI.

viernes, 16 de septiembre de 2016

JDBC

"AÑO DE LA CONSOLIDACIÓN DEL MAR DE GRAU"

ESCUELA PROFESIONAL DE:
INGENIERÍA DE SISTEMAS Y TELEMÁTICA
  • JDBC
DOCENTE: 
  • MARCO AURELIO PORRO CHULLI.


ASIGNATURA:
  • DESARROLLO DEL SOFTWARE I.
NOMBRE DEL GRUPO:
  • JAVA
INTEGRANTES:
  • MALDONADO IDROGO, BETZABETH YAMELI
  • PEREZ SAUCEDO, YORDIN.
CICLO:
  • V
GRUPO:
  • "B"
AÑO:

  • 2016

BAGUA GRANDE-UTCUBAMBA

  1. Contenido:
Capa de Acceso de Datos, creación.
El API JDBC soporta dos modelos diferentes de acceso a bases de datos, modelos de dos y tres capas.

MODELO DE DOS CAPAS:

Esto significa que el driver JDBC específico para conectarse con la base de datos, debe residir en el sistema local. La base de datos puede estar en cualquier otra máquina y se accede a ella mediante la red. Ésta es la configuración típica Cliente/Servidor: El programa cliente envía instrucciones SQL  a la base de datos, ésta los procesa y envía los resultados de vuelta a la aplicación.
MODELO DE TRES CAPAS
En este modelo de acceso a las bases de datos, las instrucciones son enviadas a una capa intermedia entre el cliente y el Servidor, que es la que se encarga de enviar las sentencias SQL a la base de datos y recoger el resultado desde la base de datos. En este caso el usuario no tiene contacto directo, ni a través de la red, con la máquina donde reside la base de datos.

Este modelo se basa en que la conexión entre la aplicación Java o el Applet que se ejecuta en el navegador, se conectan directamente a la Base de Datos.
Configuración de conexión BD con NetBeans

Le asignamos un nombre al proyecto y damos click en “next” nuevamente. 

Seleccionamos el servidor GlassFish Server 3.1 y damos click en “next”

En la siguiente ventana solo damos click en “Finish" 

Abrimos del proyecto creado el archivo index.jsp en donde le cambiaremos en la etiqueta <title> por nuestro titulo, en este Caso IFPWAFCAD pagina de inicio. 

Al archivo index.jsp le agregamos el siguiente código. En donde se especifica el archivo response.jsp el cual se creara en el proyecto. 

Podemos correr el archivo que llevamos hasta ahora corriéndolo, dándole click derecho donde está el nombre del proyecto y después en “run”, donde se visualizara lo siguiente 


Ahora procedemos a crear el archivo response.jsp, para ello damos click derecho en el nombre del proyecto -> new -> JSP  
El archivo response.jsp se encontrara en el mismo directorio que el archivo index.jsp, como se muestra en la siguiente imagen. 
Se abre el archivo response.jsp y se le cambia la etiqueta <title> por  IFPWAFCAD - {placeholder} y a la etiqueta <body> se le agrega el siguiente código: 

Ahora visualizaremos la página en nuestro navegador, dando click derecho al archivo response.jsp y en “Run” y se vera de la siguiente forma: 

Creación de la hoja de estilo 
Para la creación de la hoja de estilo agregamos un nuevo archivo al proyecto. Click derecho en el nombre del proyecto -> new -> Cascada Style Sheet (si no se encuentra ahí, se sigue la siguiente forma:  Click derecho en el nombre del proyecto -> new -> other -> Web -> Casacading Style Sheet) le asignamos el nombre style. El archivo se creara en el mismo directorio que index.jsp y response.jsp 

A continuación se le agregan los estilos de la siguiente forma: 
Se procede a ligar la hoja de estilos style.css a las páginas index.jsp y response.jsp colocando la siguiente línea de código entre la etiqueta <head>
 <link rel="stylesheet" type="text/css" href="style.css"> 
CONFIGURAR MySQL 
Para configurar el MySQL en Netbeans nos vamos a Services -> DataBases -> Drivers 

Damos click derecho a MySQL (Connector/J driver) -> Connect using Y se abrirá la siguiente ventana: 

Después se selecciona el connector previamente descargado (ANEXO 1.2)  
En el campo Host ingresamos localhost y en Port 3306, en Database mysql. En User Name root y tecleamos la clave en el campo Password. Damos click en Next. 
Se visualizará lo siguiente:

Ahora procedemos a conectar el servidor MySQL dando click derecho -> connect 

Ahora expandimos el servidor MySQL y vemos las bases de datos disponibles 

Ahora podemos crear bases de datos usando el editor SQL. Nuestra base de datos se llamara MiPrimeraBaseDatos  
En la ventana de servicios, se da click derecho en el servidor MySQL -> Create Database

Ahora expandimos la conexión  de nuestra Base de Datos, donde hay tres subcarpetas: Tables, Views y Procedures. 

Definición de JDBC. Tipos. Aplicaciones
JDBC es usado para enviar comandos SQL hacia una base de datos relacional, que puede ser Oracle, Infomix, SyBase, etc.
¿Qué hace JDBC?
  • Establece una conexión con una BD.
  • Envía sentencias SQL.
  • Procesa los resultados.
Connection con = DriverManager.getConnection ( "jdbc:odbc:wombat", "login", "password"); 
Statement stmt = con.createStatement(); 
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next()) { int x = rs.getInt("a"); String s = rs.getString("b"); float f = rs.getFloat("c"); }
JDBC es una API de bajo nivel para API´s de alto nivel
Una integración de SQL hacia Java, es decir que las sentencias SQL se puedan mezclar con Java, por ejemplo, que una variable de Java pueda ser usada en una sentencia SQL para recibir o dar valores.
Un mapeo directo de las tablas de la BD hacia las clases de Java, donde cala fila de la tabla se convierte en una instancia de la clase, y donde cada columna se corresponde a un atributo de esa instancia.
JDBC v/s ODBC y otras API´s
ODBC no es apropiado para usar directamente con Java por que usa una interfaz en C.
Una traducción literal de la API ODBC en C, no es deseable. Por ejemplo Java no tiene punteros y la ODBC hace gran uso de ellos.
ODBC es muy difícil de aprender, hace una mezcla de acciones simples y avanzadas.
Una API como JDBC es necesario para poder desarrollar una solución “puramente de Java”
APLICACIÓN En esta sección se presentarán una serie de aplicaciones para ejemplificar los conceptos vistos en el presente trabajo.
La base de datos con la cual se va a trabajar se llama arg_musiteca y se encuentra en el servidor Aragorn (aragorn.elo.utfsm.cl). La base de datos se encuentra alojada en un servidor MySQL.
El driver Java-MySQL se puede descargar desde aquí https://www.google.com.pe/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=direccionamiento+para+poder+descargar+Java-MySQL
Para poder usar el driver se debe configurar la variable de entorno CLASSPATH de la siguiente forma export CLASSPATH=$HOME/directorio/mysql-connector-java.jar
TestConnection.java: Aplicación que permite comprobar si se puede establecer una conexión exitosa con la base de datos
Appl_01.java: Aplicación que permite visualizar las tablas existentes dentro de la base de datos.
Appl_02.java: Aplicación que visualiza los discos e intérpretes dentro de la base de datos.
Appl_03.java: Aplicación que permite crear una tabla con tres campos en la base de datos.
Appl_04.java: Aplicación que permite agregar nuevo registro a la nueva tabla creada anteriormente con Appl_03.java
TIPO DE CONTROLADORES JDBCTipo 1Los controladores de tipo 1 son controladores "puente". Utilizan otra tecnología, como por ejemplo, ODBC (Open Database Connectivity), para comunicarse con la base de datos. Esto representa una ventaja, ya que existen controladores ODBC para muchas plataformas RDBMS (sistemas de gestión de bases de datos relacionales). Se emplea la interfaz Java nativa (JNI) para llamar a funciones ODBC desde el controlador JDBC.
Un controlador de tipo 1 debe tener el controlador puente instalado y configurado para poder utilizar JDBC con él. Esto puede representar un grave inconveniente para una aplicación de producción. Los controladores de tipo 1 no pueden utilizarse en un applet, ya que los applets no pueden cargar código nativo.
Tipo 2Los controladores de tipo 2 utilizan una API nativa para comunicarse con un sistema de base de datos. Se utilizan métodos Java nativos para invocar las funciones de API que realizan operaciones de base de datos. Los controladores de tipo 2 son generalmente más rápidos que los controladores de tipo 1.
Los controladores de tipo 2 necesitan tener instalado y configurado código binario nativo para funcionar. Un controlador de tipo 2 siempre utiliza JNI. Los controladores de tipo 2 no pueden utilizarse en un applet, ya que los applets no pueden cargar código nativo. Un controlador JDBC de tipo 2 puede requerir la instalación de algún software de red DBMS (sistema de gestión de bases de datos).
El controlador JDBC de Developer Kit para Java es de tipo 2.
Tipo 3Estos controladores utilizan un protocolo de red y middleware para comunicarse con un servidor. A continuación, el servidor convierte el protocolo a llamadas de función DBMS específicas de DBMS.
Los controladores de tipo 3 son la solución JDBC más flexible, ya que no requieren ningún código binario nativo en el cliente. Un controlador de tipo 3 no necesita ninguna instalación de cliente.
Tipo 4El controlador de tipo 4 utiliza Java para implementar un protocolo de red de proveedores de DBMS. Puesto que los protocolos son generalmente de propiedad, los proveedores DBMS son generalmente las únicas empresas que suministran un controlador JDBC de tipo 4.
Los controladores de tipo 4 son todos ellos controladores Java. Esto significa que no existe ninguna instalación ni configuración de cliente. Sin embargo, un controlador de tipo 4 puede no ser adecuado para algunas aplicaciones si el protocolo subyacente no maneja adecuadamente cuestiones tales como la seguridad y la conectividad de red.
Uso de JDBC en aplicaciones Java:JDBC (Java Database Connectivity) es un API de Java que nos permite conectarnos con bases de datos y realizar operaciones sobre ellas utilizando instrucciones SQL desde una aplicación Java. Con
JDBC tenemos una interfaz para conectarnos con una base de datos sin tener que preocuparnos de si es una base de datos MySQl, Oracle, SQLServer o cualquier otro tipo de base de datos. El único cambio que habría que hacer para cambiar el tipo de base de datos de una aplicación sería cambiar el driver específico de la base de datos en cuestión.
Para usar JDBC hay que seguir los siguientes pasos:
  • Incluir el jar con el Driver de la base de datos: El primer paso es obtener el driver de la base de datos que vamos a utilizar, buscamos en google “MySQL jdbc driver”, “Oracle jdbc driver” o el que queramos y descargamos el jar y lo incluimos es nuestro proyecto. Para este ejemplo voy a usar MySQL.
  • Cargar el driver: Ya tenemos el jar con el driver, pero hay que cargarlo para que se pueda hacer uso de el en nuestra aplicación. En nuestro caso como vamos a usar MySQL la instrucción es la siguiente y como puede lanzar una excepción pues se mete dentro de un try-catch. 
  • Establecer una conexión con la base de datos: El siguiente paso es establecer una conexión con la base de datos. Hay dos opciones para obtener una conexión la primera es crear una nueva conexión con la base de datos que será la que veremos en este ejemplo y la otra es obtener la conexión de un pool de conexiones creado previamente que es una opción más eficiente porque no hace falta 

estar abriendo y cerrando conexiones continuamente ya que simplemente se cogen las conexiones de pool cuando se necesitan y se dejan en el pool cuando ya no se necesitan para que puedan volver a usarse.
  • Realizar una consulta: Una vez obtenida la conexión ya podemos hacer consultas a la base de datos. Hay tres métodos para ejecutar una consulta de tipo Statement que es una consulta normal, PreparedStatement con la que se puede crear una consulta que se precompila en la base de datos y como es de esperar se pueden establecer los distintos datos porque aunque la estructura de la consulta será la misma lo lógico es que los datos de la consulta sean 
distintos y finalmente están las CallableStatements que sirven para ejecutar procedimientos almacenados.
Como se puede ver el primer paso es crear un statement sobre el que luego podemos hacer las consultas que queramos, una vez creado para hacer nuestra consulta tenemos los métodos execute (para hacer cualquier consulta, pero su valor de devolución es boolean y devuelve true si lo que devuelve es un resulset y falso en caso contrario), exeteQuery (para hacer select) y executeUpdate (para hacer insert, update y delate). Y finalmente si se ejecuta una query podemos obtener el resultado mediante ResultSet, para obtener los valores de las columnas resulset tiene un get para cada tipo de datos que se puede llamar pasándole como parámetro el nombre de la columna de base de datos o el número de la columna según se prefiera.
Como se puede ver el código para hacer una consulta no es muy complicado pero es muy propenso a errores porque hay que estar creando cadenas de texto concatenadas con variables java y hay que recordar que si el dato es de tipo texto hay que anidar comillas y entre unas cosas y otras es fácil cometer algún error. Para facilitar el trabajo con bases de datos hay alternativas a trabajar directamente con JDBC como JPA o Hibernate, pero estamos hablando de JDBC…
Si usamos PreparedStatement además de que son más eficientes nos facilitan la tarea de escribir las consultas SQL porque en lugar de tener que estar concatenando las distintas variables con el código SQL, lo que se hace es sustituir en este las variables por ? y posteriormente se introducen los datos concretos mediante setters. En el siguiente código puedes ver como se crean unas PreparedStatement.
  • Cerrar la conexión: Después de hacer las consultas que se necesite se debe de cerrar la conexión para liberar los recursos, también se pueden cerrar el resulset y el statement de forma manual pero cerrando la conexión se cierran los otros dos porque están creados a partir de la conexión, del mismo modo al cerrar el statement también se liberan los recursos del resulset.
EjemplosEjemplos JDBC ( Lado Cliente ) Se asume que se tiene instalado una DBMS Oracle 8i (versión 8.1.6) y que se puede conectar usando el driver de JDBC. Brevemente estos ejemplos muestran cómo conectarse a la Base de Datos y usar sentencias SQL simples como "select", "insert", "update" y "delete". Algunos ejemplos simples: driver_ver.java Despliega la versión del driver. driver_check.java Chequea si corren los drivers correctamente. tab_sel.java Select a una tabla. tab_upd.java Modifica registros en una tabla. tab_del.java Borra registros de una tabla. tab_ins.java Inserta registros hacia una tabla. tabprep_upd.java Como usar una sentencia de preparación con un "update". 

  1. Resumen
Definición de JDBC. JDBC es usado para enviar comandos SQL hacia una base de datos relacional, que puede ser Oracle, Infomix, SyBase, etc.¿Qué hace JDBC?
  • Establece una conexión con una BD
  • Envía sentencias SQL
  • Procesa los resultados
JDBC es una API de bajo nivel para API´s de alto nivelUna integración de SQL hacia Java, es decir que las sentencias SQL se puedan mezclar con Java, por ejemplo, que una variable de Java pueda ser usada en una sentencia SQL para recibir o dar valores.JDBC v/s ODBC y otras API´sODBC no es apropiado para usar directamente con Java por que usa una interfaz en C.Una traducción literal de la API ODBC en C, no es deseable. Por ejemplo Java no tiene punteros y la ODBC hace gran uso de ellos.
ODBC es muy difícil de aprender, hace una mezcla de acciones simples y avanzadas.
Una API como JDBC es necesario para poder desarrollar una solución “puramente de Java”
APLICACIÓN La base de datos con la cual se va a trabajar se llama arg_musiteca y se encuentra en el servidor Aragorn (aragorn.elo.utfsm.cl). La base de datos se encuentra alojada en un servidor MySQL.
TIPO DE CONTROLADORES JDBCTipo 1Los controladores de tipo 1 son controladores "puente". Utilizan otra tecnología, como por ejemplo, ODBC (Open Database Connectivity), para comunicarse con la base de datos.
Tipo 2Los controladores de tipo 2 utilizan una API nativa para comunicarse con un sistema de base de datos. Se utilizan métodos Java nativos para invocar las funciones de API que realizan operaciones de base de datos
Tipo 3Estos controladores utilizan un protocolo de red y middleware para comunicarse con un servidor. A continuación, el servidor convierte el protocolo a llamadas de función DBMS específicas de DBMS.
Los controladores de tipo 3 son la solución JDBC más flexible, ya que no requieren ningún código binario nativo en el clientede tipo 2 son generalmente más rápidos que los controladores de tipo 1.
Tipo 4El controlador de tipo 4 utiliza Java para implementar un protocolo de red de proveedores de DBMS. Puesto que los protocolos son generalmente de propiedad, los proveedores DBMS son generalmente las únicas empresas que suministran un controlador JDBC de tipo 4.
  1. Summary
Defining JDBC.JDBC is used to send commands to a SQL relational database, which can be Oracle, Informix, Sybase, etc.What makes JDBC?
  • Establishes a connection to a DB.
  • Send SQL statements.
  • Process the results
JDBC is a low-level API for high-level APIsIntegration of SQL to Java, meaning that SQL statements can be mixed with Java, for example, a Java variable can be used in an SQL statement to receive or give values.JDBC v / s ODBC and other APIsODBC is not suitable for use directly by using a Java interface C.A literal translation of the ODBC API in C, is not desirable. For example Java has no pointers, and ODBC makes great use of them.ODBC is hard to learn, makes a mixture of simple and advanced actions.An API like JDBC is needed to develop a solution "pure Java"APPLICATIONThe database which is going to work is called arg_musiteca and is on the server Aragorn (aragorn.elo.utfsm.cl). The database is hosted on a MySQL server.DRIVER TYPE JDBCType 1Type 1 drivers are "bridge" drivers. They use other technology, such as ODBC (Open Database Connectivity), to communicate with the database.Type 2Type 2 drivers use a native API to communicate with a database system. Java native methods are used to invoke the API functions that perform database operationsType 3These controllers use a network protocol and middleware to communicate with a server. Then, the server converts the protocol calls DBMS DBMS specific function.Type 3 drivers are the most flexible JDBC solution because they do not require any native binary code in type 2 clientede are generally faster than Type 1 drivers.Type 4The type 4 driver uses Java to implement a network protocol DBMS providers. Since protocols are generally property, DBMS providers are generally the only companies that provide a JDBC type 4 driver.

  1. Recomendaciones
  • El diseño y desarrollo de las nuevas aplicaciones conduce a la minimización del ingreso de datos por parte del usuario; además el lenguaje de desarrollo que se utiliza está orientado a facilitar la ejecución en cualquier Sistema Operativo, ya que se ajusta a los estándares reconocidos, que permite la flexibilidad de los cambios.
  • Para que exista un enlace remoto con la Base de Datos, la aplicación no debe de conectarse directamente a la Base de Datos, sino que mediante los drivers JDBC - ODBC.
  • La cuenta de Sitio Web, facilita el desarrollo de nuevas aplicaciones; por lo que los códigos fuentes de él, deberían estar al alcance de los alumnos, para motivar el desarrollo de nuevas Aplicaciones Webs. Con este fin, se mantiene un patrón establecido, tal como mantener un solo tipo de fondo (background), para evitar que exista demasiadas diferencias en cada aplicación.
  1. Conclusiones
En este capítulo se menciona las apreciaciones más importantes de esta investigación de manera general, así como referencias únicamente a la configuración y conexión de una base de datos. También mostramos algunos ejemplos para facilitar su trabajo.
  1. Apreciación del Equipo
JDBC es un texto diseñado para adiestrar en el desarrollo de aplicaciones escritas en lenguaje Java y accedan a base a bases de datos a través de JDBC 2.0, así como dar a conocer todos los aspectos sintácticos del API JDBC 2.0. 
  1. Glosario de Términos 
  • API: La interfaz de programación de aplicaciones, abreviada como API (del inglés: Application Programming Interface), es el conjunto de subrutinas, funciones y procedimientos (o métodos, en la programación orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción.
  • APPLET: Un applet Java es un applet escrito en el lenguaje de programación Java. Losapplets de Java pueden ejecutarse en un navegador web utilizando la Java Virtual Machine (JVM), o en el AppletViewer de Sun.
  • ODBC: Open DataBase Connectivity (ODBC) es un estándar de acceso a las bases de datos desarrollado por SQL Access Group (SAG) en 1992. El objetivo de ODBC es hacer posible el acceder a cualquier dato desde cualquier aplicación, sin importar qué sistema de gestión de bases de datos (DBMS) almacene los datos.
  • RDBMS: Un RDBMS es un Sistema Gestor de Bases de Datos Relacionales. Se trata de software capaz de producir, manipular y gestionar bases de datos de tipo relacional.
  • JNI: Java Native Interface (JNI) es un framework de programación que permite que un programa escrito en Java ejecutado en la máquina virtual java (JVM) pueda interactuar con programas escritos en otros lenguajes como C, C++ y ensamblador.
  • MIDDLEWARE: Es un software de computadora que conecta componentes de software o aplicaciones para que puedan intercambiar datos entre éstas. Es utilizado a menudo para soportar aplicaciones distribuidas. Esto incluye servidores web, servidores de aplicaciones, sistemas de gestión de contenido y herramientas similares.
  1. Linkografía
http://monillo007.blogspot.com/2007/11/conectar-una-base-de-datos-en-mysql-con.html
http://ict.udlap.mx/people/roberto/jdbcis341/rightframe.html
https://users.dcc.uchile.cl/~lmateu/CC60H/Trabajos/jfernand/
http://profesores.fi-b.unam.mx/sun/Downloads/Java/jdbc.pdf
http://www.ibm.com/support/knowledgecenter/es/ssw_ibm_i_73/rzaha/jdbctydr.htm
http://profesores.elo.utfsm.cl/~agv/elo330/2s03/projects/JDBC/jdbc-03.html
https://webap.wikispaces.com/file/view/reporte_Tutorial.pdf
DIAPOSITIVAS:http://es.slideshare.net/YameliMaldonadoIdrog/jdbc-66102510
VIDEO: https://www.youtube.com/watch?v=n-EXwnlSnRQ




lunes, 12 de septiembre de 2016

JAVA

“AÑO DE CONSOLIDACIÓN DEL MAR DE GRAU”

ESCUELA PROFESIONAL DE:
     INGENIERÍA DE SISTEMA Y TELEMÁTICA
  • ·         JAVA 

DOCENTE: MARCO AURELIO PORRO CHULLI.

ASIGNATURA: DESARROLLO DE SOFTWARE

NOMBRE DEL GRUPO: “JAVA”

INTEGRANTES:

  •           MALDONADO IDROGO BETZABETH YAMELI.
  •       PÉREZ SAUCEDO YORDIN ALBERTO
  •        SOTO HORNA KARIN JUNETH
CICLO: V

GRUPO: “B”

AÑO: 2016

                         BAGUA GRANDE-UTCUBAMBA
  1. Contenido

  • Definición

Java es un lenguaje de programación orientado a objetos que se popularizó a partir del lanzamiento de su primera versión comercial de amplia difusión, la JDK 1.0 en 1996. Actualmente es uno de los lenguajes más usados para la programación en todo el mundo.
El lenguaje Java es un derivado del lenguaje C, por lo que sus reglas de sintaxis se parecen mucho a C: por ejemplo, los bloques de códigos se modularizan en métodos y se delimitan con llaves ({ y }) y las variables se declaran antes de que se usen.
Estructuralmente, el lenguaje Java comienza con paquetes. Un paquete es el mecanismo de espacio de nombres del lenguaje Java. Dentro de los paquetes se encuentran las clases y dentro de las clases se encuentran métodos, variables, constantes, entre otros.
Conozca más sobre la tecnología Java
Java es la base para prácticamente todos los tipos de aplicaciones de red, además del estándar global para desarrollar y distribuir aplicaciones móviles y embebidas, juegos, contenido basado en web y software de empresa. Con más de 9 millones de desarrolladores en todo el mundo, Java le permite desarrollar, implementar y utilizar de forma eficaz interesantes aplicaciones y servicios.
Desde portátiles hasta centros de datos, desde consolas para juegos hasta súper computadoras, desde teléfonos móviles hasta Internet, Java está en todas partes.
  • El 97% de los escritorios empresariales ejecutan Java
  • El 89% de los escritorios (o computadoras) en Estados Unidos ejecutan Java
  • 9 millones de desarrolladores de Java en todo el mundo
  • 3 mil millones de teléfonos móviles ejecutan Java
  • El 100% de los reproductores de Blu-ray incluyen Java.
  •   5 mil millones de Java Cards en uso
  • 125 millones de dispositivos de televisión ejecutan Java
  • 5 de los 5 principales fabricantes de equipos originales utilizan Java ME

  • Características de JAVA.

Sun describe al lenguaje Java de la siguiente manera:
  • Simple.
  • Orientado a Objetos
  • Tipado estáticamente
  • Distribuido
  • Interpretado
  • Robusto
  • Seguro
  • de Arquitectura Neutral
  • Multihilo
  • con Recolector de basura (Garbage Collector)
  • Portable
  • de Alto Rendimiento: sobre todo con la aparición de hardware especializado y mejor software
  • Dinámico

Sun admite que lo dicho anteriormente son un montón de halagos por su parte, pero el hecho es que todas esas características pueden servir para describir el lenguaje. Todas ellas son importantes, sin embargo cabe destacar tres, que son las que han proporcionado tanto interés por el lenguaje: la portabilidad, el hecho de que sea de arquitectura neutral y su simplicidad. Java ofrece toda la funcionalidad de los lenguajes potentes, pero sin las características menos usadas y más confusas de éstos.

  • Tipos de Datos

Los tipos de datos básicos o primitivos no son objetos y se pueden utilizar directamente en un programa sin necesidad de crear objetos de este tipo. La biblioteca Java proporciona clases asociadas a estos tipos que proporcionan métodos que facilitan su manejo.

Los tipos de datos primitivos que soporta Java son:
Tipo de dato
Representación
Tamaño (Bytes)
Rango de Valores
Valor por defecto
Clase Asociada
byte
Numérico Entero con signo
1
-128 a 127
0
Byte
short
Numérico Entero con signo
2
-32768 a 32767
0
Short
int
Numérico Entero con signo
4
-2147483648 a 2147483647
0
Integer
long
Numérico Entero con signo
8
-9223372036854775808 a 9223372036854775807
0
Long
float
Numérico en Coma flotante de precisión simple Norma IEEE 754
4
± 3.4x10-38 a ± 3.4x1038
0.0
Float
double
Numérico en Coma flotante de precisión doble Norma IEEE 754
8
± 1.8x10-308 a ± 1.8x10308
0.0
Double
char
Carácter Unicode
2
\u0000 a \uFFFF
\u0000
Character
boolean
Dato lógico
-
true ó false
false
Boolean
void
-
-
-
-
Void
  • Operadores

El Operador % (Mod) O Resto De División.
En Java disponemos de los operadores aritméticos habituales en lenguajes de programación como son suma, resta, multiplicación, división y operador que devuelve el resto de una división entre enteros (en otros lenguajes denominados operador mod o módulo de una división):
OPERADOR
DESCRIPCIÓN
+
Suma
Resta
*
Multiplicación
/
División
%
Resto de una división entre enteros (en otros lenguajes denominado mod)











Precedenciaa
Operador
Operando
Descripción
1
++, --
Aritmético
Incremento y decremento
1
+, -
Aritmético
Más y menos unarios
1
~
Entero
Complemento de bits
1
!
Booleano
Complemento booleano
1
(tipo)
Cualquiera
Coerción
2
*, /, %
Aritmético
Multiplicación, división y resto
3
+, -
Aritmético
Suma y resta
3
+
String
Concatenación
4
&lt;&lt; 
Entero
Desplazamiento a la izquierda

Precedencia
Operador
Operando
Descripción
4
&gt;&gt; 
Entero
Desplazamiento a la derecha con signo
4
&gt;&gt;&gt; 
Entero
Desplazamiento a la derecha sin signo
5
&lt;, &lt;=, &gt;&gt;=
Aritmético
Comparación
5
instanceof
Objeto
Comparación de tipo
6
==, !=
Primitivo
Igualdad y desigualdad
6
==, !=
Objeto
Igualdad y desigualdad de referencias
7
&amp;
Entero
AND sobre bits
7
&amp;
Booleano
AND booleano
8
^
Entero
XOR sobre bits
8
^
Booleano
XOR booleano
9
|
Entero
OR sobre bits
9
|
Booleano
OR booleano
10
&amp;&amp;
Booleano
AND condicional
11
||
Booleano
OR condicional
12
?:
NA
Operador condicional ternario
13
=
Cualquiera
Asignación
13
*=, /=, %=, +=, -=,
&lt;&lt;=, &gt;&gt;=, &gt;&gt;&gt;=,
&amp;=, ^=, |=
Cualquiera
Asignación tras operación




























2. Resumen 
Definición: Java es un lenguaje de Programación Orientada a Objetos, y es uno de los lenguajes más utilizados en todo el mundo.
El lenguaje Java es un derivado del lenguaje C, por lo que sus reglas de sintaxis se parecen mucho a C.
Características de Java: El lenguaje Java tiene como características las siguientes:
Ø  Simple.
Ø  Orientado a Objetos.
Ø  Tipado estáticamente.
Ø  Distribuido.
Ø  Interpretado.
Ø  Robusto.
Ø  Seguro.
Ø  de Arquitectura Neutral.
Ø  Multihilo.
Ø  con Recolector de basura (Garbage Collector).
Ø  Portable.
Ø  de Alto Rendimiento: sobre todo con la aparición de hardware especializado y mejor software.
Ø  Dinámico.
Tipos de Datos: Los tipos de datos primitivos son los siguientes:

  • Byte.
  • Short.
  • Int.
  • Long.
  • Float.
  • Double.
  • Char.
  • Boolean.
  • Void.
4. Recomendaciones:

  • Es muy flexible: Java es un lenguaje especialmente preparado para la reutilización del código; permite a sus usuarios tomar un programa que hayan desarrollado tiempo atrás y actualizarlo con mucha facilidad, sea que necesiten agregar funciones o adaptarlo a un nuevo entorno.
  • Funciona en cualquier plataforma: a diferencia de los programas que requieren de versiones específicas para cada sistema operativo (tales como Windows o Mac), las aplicaciones desarrolladas en Java funcionan en cualquier entorno, dado que no es el sistema quien las ejecuta, sino la máquina virtual (conocida como Java Virtual Machine o JVM).
  • Es un lenguaje expandible: continuando con el punto anterior, cada programador tiene la libertad de revisar y mejorar el código nativo de Java, y su trabajo puede convertirse en la solución a los problemas de muchas personas en todo el mundo. Infinidad de desarrolladores han aprovechado esta virtud del lenguaje y continúan haciéndolo.
5. Conclusiones:

  • Gracias a la plataforma de Java, se da más facilidad a los programadores que lo manipulan ya que esta principalmente orientado a Objetos, con la cual la creación de un programa la pueden realizar una vez y ejecutarlo en cualquier dispositivo.
  • Se concluye que  Java es un lenguaje de programación desarrollado por Sun Microsystem, tiene como características principales ser multiplataforma y orientado a objeto. Ser multiplataforma significa que un programa creado en Java puede ser ejecutado sobre cualquier computador sin importar su estructura.
  • Hemos hecho un resumen de algunas partes del famoso lenguaje Java, muy utilizado para escribir los programas que trabajan en internet y no sólo para eso; empezando por las bases hasta llegar a las interfaces gráficas y, finalmente. Éstos son todos aspectos más avanzados de la programación.
6. Apreciación del Equipo
  • Java es un lenguaje de programación de propósito general, concurrente, Orientado a Objetos que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es que los programadores escriban el programa una vez, y lo ejecuten en cualquier dispositivo, su uso no acarrea inversiones económicas.
7. Glosario de Términos

  • Sintaxis: Forma correcta en que deben estar dispuestos los símbolos que componen una instrucción ejecutable por el ordenador.
  • Coerción: Presión ejercida sobre alguien para forzar su voluntad o su conducta.
  • Concatenación: Figura que consiste en la repetición de dos o más cláusulas o miembros del periodo anterior en el inicio del siguiente.
  • Modularizan: Modificar la frecuencia o amplitud de las ondas eléctricas para la mejor transmisión y recepción de las señales
  • Embebidas: Entregarse con total interés a una actividad, sumergirse en ella
  • Potentes: Que tiene fuerza o capacidad para realizar algo.
8. Linkografia