Desarrollo de Software con



Documentos relacionados
Acceso a BD desde Java. JDBC

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

JDBC: Java DataBase Conectivity

Java y MySQL. Ciclo de ejecución

Programación Orientada a Objetos II. La Plataforma JDBC

JDBC. Aplicaciones Distribuidas

Arquitectura J2EE para aplicaciones web. Aplicaciones web con JSP. Arquitectura J2EE: Capa de Acceso Web. Arquitectura J2EE: Capa Cliente

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

Módulo 15. Introducción a JDBC, Java Database Connectivity. Programación Orientada a Objetos Página 16.0 de 25

Capitulo 5. Implementación del sistema MDM

NORMAS PARA LA ENTREGA DE LOS LABORATORIOS

Universidad Don Bosco. Materia: Programación Orientada a Objetos Contenido: Modificadores de Acceso y JDBC

JDBC. Francisco Javier Solans Benedí Software Developper

Bases de Datos Introducción a la Conectividad de

Formatos para prácticas de laboratorio

Acceso a bases de datos SQL - JDBC. CAPITULO IV POR Lic Adrian Quisbert Vilela

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

JDBC Julio Introducción JDBC Arquitecturas típicas con JDBC... 3

BASES DE DATOS, MODELOS DE DATOS Y DBMS

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS

Guía práctica de introducción básica a JDBC

Federico Peinado

INTRODUCCIÓN. El objetivo de este manual es la identificación de los procesos técnicos más

MySQL con Java en MS Windows

%& %)& '$!%*+ $, %%%&$ %%

Acceso a bases de datos desde Java: JDBC

JSP. MSc. Daniel Alejandro Yucra Sotomayor Pag Web Services. Laboratorio Nro. 11. Web Services con JAX-WS con MySQL. I. Competencia General:

Base de datos relacional

10. JDBC. 10. JDBC Introducción. java.sql

JDBC. Una mini-introducci. introducción

XPERTO EN DISEÑO DE PÁGINAS WEB

Acceso a bases de datos desde Java: JDBC

BASE DE DATOS: ENFOQUE ORIENTADO A OBJETOS. Dámaso López Aragón

JDBC: EL PUENTE ENTRE JAVA Y LAS BASES DE DATOS. En este articulo se expone la API JDBC (Java DataBase Connetivity), la cual permite el

Data Source. Lic. Esteban Calabria 2007

Base de Datos Oracle: desarrollo de aplicaciones

Formato para prácticas de laboratorio

Tópicos Avanzados de Programación (TAP3501)

Estructura de Bases de datos. Leonardo Víquez Acuña

1

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Oracle 12c DISEÑO Y PROGRAMACIÓN

Manual de NetBeans y XAMPP

Registro y Comunicación Automatizada a Bases de Datos

JAVA 8 Los fundamentos del lenguaje Java (con ejercicios prácticos corregidos)

Aplicación de Base de Datos con MySQL, ODBC y Delphi

Java con Bases de Datos

Ingeniería del Software II. Curso 2003/2004. Enunciado de la práctica del Segundo parcial.

Taller de Programación II J2EE

BASE DE DATOS RELACIONALES

Acceso a BDs en Java: JDBC

Acceso a bases de datos en Perl

DEPARTAMENTO: Computación y diseño NOMBRE DEL CURSO: Base de datos I CLAVE: ACADEMIA A LA QUE PERTENECE: Base de datos I

BackflipSD Modelo de Diseño

Notas técnicas de JAVA - Tip en detalle Nro. 2

Conexión ODBC Visual Basic - MSQL. Cristian Vidal Silva

Práctica sobre compartición de instancias remotas.

Solución Examen Junio 2007 (a) Ejercicio GeoTaxi (1h 20 min.) Diagrama de Casos de Uso y. Casos de uso (2,5 puntos) Modelo de Dominio (1,5 puntos)

Capítulo III. Diseño del sistema. Dentro de este capítulo veremos a detalle el diseño del sistema, que como se había

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

APLICACIONES WEB PERL + BASES DE DATOS REQUERIMIENTO RESPUESTA

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS

Laboratorios de BASES DE DATOS. (I.T. Informática)

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR

Ministerio de Educación Base de datos en la Enseñanza. Glosario

Documento de Arquitectura de Software. KunaySoft. Autores: Juan Camilo González Vargas. Javier Leonardo Parra Laguna

PROGRAMACIÓN EN PHP. 1. Identificar las características y modalidad de programación bajo PHP.

1.1.- Objetivos de los sistemas de bases de datos Administración de los datos y administración de bases de datos Niveles de Arquitectura

ADMINISTRACIÓN DE BASE DE DATOS

Introducción a JDBC - Base de datos con Java

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Curso Online de Oracle 10g

2071 Querying Microsoft SQL Server 2000 with Transact- SQL

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

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

JDBC: Conexiones con bases de datos desde Java

Bases de Datos 2. Teórico

Fundamentos de Oracle

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

Número de Práctica: 1 Nombre de la Práctica: Comunicación Cliente Servidor Vía Sockets Java con Sistema Manejador de Bases de Datos

OBJETIVOS METODOLOGÍA PROCEDIMIENTO 1.- Trabajo con el servidor de bases de datos Sybase

Programación páginas web con ASP.NET 3.5 (C#)

Repaso de Conceptos Básicos de Bases de Datos

1. Introducción: Qué es la Gestión Documental-TI o Gestor Documental?

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

1 Índice Introducción Propósito Alcance Modelo Arquitectónico Inicial... 3

Programación en Java

SQL (Structured Query Language)

Business Intelligence Available Inteligencia de Negocios Disponible

UNIVERSIDAD DE MAGALLANES FACULTAD DE INGENIERIA DEPARTAMENTO DE COMPUTACIÓN DESARROLLO DE SOFTWARE PARA CONTROL DE INVENTARIO

Transcripción:

Desarrollo de Software con Antonio J. Vélez Q. Universidad del Valle Sede Palmira

Requerimientos de Software Java 2 SE Development Kit java.sun.com/javase Java EE 5 SDK java.sun.com/javaee Netbeans (IDE) www.netbeans.org Netbeans Enterprise Pack www.netbeans.org Motor de bases de datos www.postgresql.org Driver JDBC www.postgresql.org

Conceptos Básicos Funcionamiento de los servidores web Conexión a Bases de Datos Páginas estáticas (dhtml : html + javascript) Páginas dinámicas JDBC Patrón DAO Diseño de Aplicaciones Layers vs Tiers Patrones de Diseño

Funcionamiento de los Servidores Web (páginas estáticas) Solicitud http://java.sun.com:8080/javase/index.html Servidor Hardware java.sun.com 8080 Servidor Web (Apache / SJWS) index.html (html + javascript) Archivo.../javase/index.html

Funcionamiento de los Servidores Web (páginas dinámicas) Solicitud http://java.sun.com:8080/javase/index.jsp Servidor Hardware java.sun.com 8080 Servidor Web (Apache / SJWS) HTML (html + javascript) Página Dinámica Archivo.../javase/index.jsp

Layers vs Tiers Tiers esta relacionado con ubicación física en donde de ejecutan los procesos. Layers se relaciona con la organización lógica del código (paquetes). http://codebetter.com/blogs/david.hayden/archive/2005/07/23/129745.aspx Layers es la forma de organizar el código lógicamente, no físicamente. Tiers significa la separación del código en redes o procesos. http://geekswithblogs.net/mahesh/archive/2006/10/28/95322.aspx

Tiers vs Layers Client Tier Web Tier Business Tier payroll util EIS Tier (database / filesystem) Business Tier (logic business) personal entity

Patrones de Diseño General El patrón es una forma, plantilla, modelo o conjunto de reglas, que son usadas para tomar decisiones o crear cosas (o parte de éstas). http://en.wikipedia.org/wiki/pattern Computación Describe una solución verificada/probado a problema recurrente de diseño, haciendo énfasis particular sobre el contexto y la problemática que lo rodea; así como en las consecuencias e impacto de la solución. http://java.sun.com/blueprints/patterns/

Patrones de Diseño Computación (Ingeniería de Software) http://en.wikipedia.org/wiki/design_pattern_(computer_science) Un patrón de diseño es una solución general repetible para un problema común que se repite cuando se hace el diseño del software. Un patrón de diseño no es un diseño definitivo que se pueda convertir en código; es una descripción o plantilla que puede ser usada de diversas formas. En diseño orientado a objetos, el patrón muestra las relaciones e interacción entre clases y/o objetos, sin llegar a especificar el conjunto final de clases y/o objetos involucrados.

Patrones de Diseño Relaciones entre objetos Diagrama de Clases (UML) Interacción entre objetos Diagrama de Secuencia (UML)

Bases de Datos General Conjunto de datos que pertenecen al mismo contexto almacenados sistemáticamente para su posterior uso. Una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Colección de información organizada de forma tal que pueda ser procesada rápidamente por una aplicación de software. http://www.webopedia.com/term/d/database.html

Bases de Datos Computación - http://en.wikipedia.org/wiki/database Colección estructurada de registros o datos que se almacenan en un computador, de forma tal que una aplicación los pueda consultar a través de consultas (queries) El programa usado para administrar los datos y las consultas en la base de datos es conocido como Sistema Administrador de Bases de Datos (DBMS Database Management System)

JDBC - Java Database Connectivity API Java para acceder a cualquier tipo de base de datos tabular, especialmente a datos almacenados en bases de datos relacionales. JDBC permite implementar aplicaciones que realizan las siguientes actividades : Conectarse a una fuente de datos (base de datos) Envío de consultas y sentencias de actualización a una base de datos Recuperar y procesar los resultados recibidos de la base de datos como resultado de las consultas.

JDBC Clases Principales java.sql.drivermanager Permite cargar un controlador JDBC para un DBMS java.sql.connection Representa conexión con la fuente de datos java.sql.statement / java.sql.preparedstatement Representa consulta o sentencia de actualización que se envia al DBMS java.sql.resultset Conjunto de datos resultado de una consulta

Ejemplo JDBC Esquema Básico Class.forName ( "org.postgresql.driver" ) ; String strconn = "jdbc:postgresql://192.168.2.51/personal"; Connection connection = DriverManager.getConnection ( strconn, login, passwd ) ; Statement stmt = connection.createstatement(); ResultSet rs = stmt.executequery ("select identification, name from person"); while ( rs.next() ) { } int ident = rs.getint ( "identification" ) ; String name = rs.getstring ( "name" ) ;

JDBC Establecer Conexión Cargar el controlador (driver) JDBC Se requiere del nombre de la clase que representa el driver (incluido el paquete). Es distinto para cada proveedor del DBMS. ODBC jdbc.odbc.jdbcodbcdriver PostgreSQL org.postgresql.driver Derby org.apache.derby.jdbc.embeddeddriver Se usa la clase Class y el método de instancia forname. Class.forName ( "org.postgresql.driver" ) ;

JDBC Establecer Conexión Crear la conexión con la base de datos Se requiere del URL de conexión (strconnection), el cual varia dependiendo del proveedor del DBMS. ODBC jdbc:odbc:<db> PostgreSQL jdbc:postgresql://<host>:<port>/<db> Derby jdbc:derby:<db> Se usa la clase DriverManager y el método de instancia getconnection Connection conn = DriverManager.getConnection ( strconnection, login, passwd ) ;

JDBC Consultas y Sentencias SQL SQL : Standart Query Language Lenguaje para manipulación de datos sobre bases de datos Para transferir consultas al DBMS de usuan las clases java.sql.statement y java.sql.preparedstatement Se requiere crear la consulta Statement stmt = conn.createstatement ( ) ; PreparedStatement pstmt = conn.preparestatement ( sql ) ;

JDBC Consultas y Sentencias SQL Statement Se recomienda cuando la sentencia no requiere parámetros o parámetros que no requieren formato especial select identification, name from person select * from person where id = + identification PreparedStatement Se recomienda cuando la sentencia requiere parámetros insert into person (identification, name, birthdate) values (?,?,? )

JDBC Consultas y Sentencias SQL Utilización de PreparedStatement PreparedStatement pstmt = conn.preparestatement ( insert into person (identification, name, birthdate) values (?,?,? ) ) ; Asignación de valores Se usan métodos como setint, setstring, setdate, etc. pstmt.setint ( 1, identification ) ; pstmt.setstring ( 2, name ) ; pstmt.setdate ( birthdate ) ;

JDBC Ejecución de Consultas y Sentencias Existen varios métodos dependiendo de la clase. Su uso depende de la necesidad del programador. Statement : Reciben un parámetro que es la instrucción Sql a ejecutar execute : ejecuta una sentencia, devuelve un valor de verdad executequery : ejecuta una consulta y devueve un ResultSet executeupdate PreparedStatement Los mismos de Statement, pero no reciben parámetros

JDBC Ejecución de Consultas y Sentencias Statement stmt.execute ( insert into product (code, name, cost, tax) values (105, 'Arroz', 700, 0.08) ) ; stmt.executequery ( select * from product ) ; stmt.executeupdate ( update product set cost = 800 where code = 105 ) ; PreparedStatement Se usan los métodos execute, executequery y executeupdate, pero se diferencias de los métodos de la clase Statement, porque NO reciben parámetros.

JDBC Recuperando Resultados (ResultSet) El resultado generado por los métodos executequery son objetos de tipo ResultSet Un ResultSet se puede comparar con una hoja de calculo. Los métodos más usados son : next : devuelve verdadero si hay más registros en el ResultSet getint, getstring, getdate, etc : para obtener uno de los campos del registro.

JDBC Recuperando Resultados (ResultSet) while ( rs.next() ) { int ident = rs.getint ( "identification" ) ; String name = rs.getstring ( "name" ) ;... }

Conexión a BD Patrón DAO DAO : Data Access Object Contexto Patrón de diseño para acceso a bases de datos Independizar el acceso a los datos de la lógica de la aplicación. Centraliza el acceso a los datos en clases responsables de ellos Permite la modificación del mecanismo de acceso a los datos, sin necesidad de modificar la lógica de la aplicación

Patrón DAO Clases básicas BusinessObject Objetos que implementan la lógica de la organización DataAccessObject Objetos que accesan los datos TransferObject Encapsula los datos como objetos

Patrón DAO Interacción entre objetos El BusinessObject Crea o contiene la referencia a un objeto DAO Solicita datos al DAO (getdata) El DAO establece conexión con la BD y realiza la consulta

Patrón DAO Interacción entre objetos El BusinessObject Crea o contiene la referencia a un objeto DAO Solicita datos al DAO (getdata) El DAO establece conexión con la BD y realiza la consulta

Patrón DAO Interacción entre objetos El BusinessObject Modifica la información del objeto TransferObject Solicita actualización al DAO (modificar la BD) El DAO Actualiza la BD

Patrón DAO Interacción entre objetos El BusinessObject Modifica la información del objeto TransferObject Solicita actualización al DAO (modificar la BD) El DAO Actualiza la BD