You are on page 1of 12

CODIFICAR APLICACIONES CON LENGUAJE

JAVA

Estructura de contenidos

1. INTRODUCCIN................................................................ 3

2. JAVA Y LAS BASES DE DATOS.............................................. 3

2.1 JDBC (Java DataBase Connectivity). .................................. 4

2.2 JPA (Java Persistence Api)................................................. 6

3. EL PATRN DE DISEO MVC .............................................. 8

4. REPORTES EN JAVA CON IREPORT Y JASPERREPORTS............. 9

5. DESARROLLO DE UNA APLICACIN EN JAVA PASO A PASO...... 10

FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


CODIFICAR APLICACIONES CON LENGUAJE JAVA
Mapa conceptual

2
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Codificar Aplicaciones con lenguaje JAVA

1. INTRODUCCIN

El desarrollo de una completa aplicacin en Java adems de requerir


los conocimientos bsicos del lenguaje, el manejo de estructuras de
almacenamiento y la aplicacin de la programacin orientada a objetos,
requiere tambin de otros elementos indispensables para la funcionalidad
y calidad profesional esperada, como el acceso a bases de datos,
la aplicacin de patrones como el MVC (Modelo Vista Controlador), la
generacin de reportes, entre otros.

En este objeto de aprendizaje relacionado con el lenguaje de programacin


Java, encontrar un referente terico que le permitir el desarrollo
completo de un caso de uso, desde la creacin de la base de datos hasta
la generacin de reportes impresos utilizando Java.

2. JAVA Y LAS BASES DE DATOS

Los sistemas de informacin requieren un repositorio de almacenamiento


de datos para la efectiva gestin de la informacin, a este repositorio se le
denomina Back-End y generalmente se trata de una base de datos. Estas
bases de datos no son accedidas directamente por el usuario final, en
lugar de ello, los sistemas de informacin ofrecen otros mecanismos como
formularios desarrollados con un lenguaje de programacin, en los cuales
se presentan los datos de la base de datos y/o se permite la actualizacin
de los mismos, esos formularios que tienen comunicacin directa con el
usuario final se denominan Front-End.

USUARIO

Bases de datos
login: password:

DATOS PERSONALES
Nombre: Apellido:

FECHA DE NACIMIENTO
da 13 mes Febrero ao 1983

DATOS ESTUDIANTE
Semestre primero Carrera economa

INTERES
De estas actividades cal le gusta ms:

bailar hacer deporte ver televisin escuchar msica leer

Back-End Front-End Usuario

3
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Codificar Aplicaciones con lenguaje JAVA

Mientras que el Front-End de una aplicacin se puede desarrollar


directamente en el lenguaje de programacin seleccionado como Java a
travs de componentes tipo swing, el Back-End requiere el uso de una
nueva herramienta conocida como el SGBD (Sistema Gestor de Bases de
Datos).

En la actualidad existen diferentes SGBD, entre ellos, Oracle, MySQL,


SQLServer, PostgreSQL, DB2, entre otros. Para lograr la comunicacin
entre estos SGBD y los lenguajes de programacin como Java, deben
existir unas interfaces y protocolos de comunicacin entre ellos, en el
caso de Java, existen dos mecanismos de acceso a los datos de una base
de datos, estos son JDBC y JPA.

2.1 JDBC (Java DataBase Connectivity).

LJDBC Java DataBase Connectivity es un estndar usado por Java para el


acceso y la manipulacin de datos en bases de datos relacionales a travs
de clases e interfaces, permitiendo embeber cdigo SQL dentro del cdigo
Java.

Para el acceso a datos con JDBC se deben seguir los siguientes pasos:

1. Establecer y abrir la conexin a la base de datos.

2. Ejecutar las sentencias SQL.

3. Procesar los resultados.

4. Cerrar la conexin a la base de datos.

Ejemplo:

4
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Codificar Aplicaciones con lenguaje JAVA

1
2
3
4
5
6
7
8
1
9
10
11
12
13 2
14
15
16
17
18
19
20
21 3
22
23
24
25
26
27 4
28
29
30
31
32
33
34
35
36

5
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Codificar Aplicaciones con lenguaje JAVA

2.2 JPA (Java Persistence Api).

El mecanismo de persistencia JPA permite a los desarrolladores crear


clases mapeando los atributos de las mismas con campos de una tabla
en una base de datos relacional. Este mapeo, el cual se realiza a travs
de anotaciones dentro de la clase, permite abstraer el modelo de la base
de datos a nivel de aplicacin, logrando mayor transparencia en el acceso
y la gestin de los datos, permitiendo que los objetos creados en una
aplicacin se puedan persistir en la base de datos.

Para el acceso y gestin de los datos a travs de JPA los pasos son los
siguientes:

1. Crear una unidad de persistencia.

Esta unidad es un archivo xml que contiene informacin asociada a la


conexin con la base de datos.

1 <?xml version=1.0 encoding=UTF-8?>


2 <persistence version=2.0 xmlns=http://java.sun.com/xml/ns/persistence xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com
/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
3 <persistence-unit name=ProyectoCitasPU transaction-type=RESOURCE_LOCAL>
4 <provider>org.eclipsepersistence.jpa.PersistenceProvider</provider>
5 <properties>
6 <property name=javax.persistence.jdbc.url value=jdbc:oracle:thin:@localhost
7 <property name=javax.persistence.jdbc.password value=citas/>
8 <property name=javax.persistence.jdbc.driver value=oracle.jdbc:OracleDriver
9 <property name=javax.persistence.jdbc.user value=citas/>
10 </properties>
11 </persistence-unit>
12 </persistence>

2. Crear las clases de entidad.

Una clase de entidad es una clase Java que est asociada a una tabla de
la base de datos. En estas clases los atributos de la clase se mapean
(vinculan) con los campos de la tabla asociada en la base de datos, de
esta manera, la clase de entidad representa en memoria a la tabla de la
base de datos.

6
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Codificar Aplicaciones con lenguaje JAVA

15 @Entity
16 @Table(name=PACIENTES)
17 @NamedQueries({
18 @NamedQuery(name=Pacientes.findAll, query=SELECT p FROM Pacientes p)})
19 public class Pacientes implements Serializable {
20 private static final long serialVersionUID=1L
21 @Id
22 @Basic(optional=false)
23 @Column(name=PACIDENTIFICATION)
24 private String pacidentification;
25 @Basic(optional=false)
26 @Column(name=PACNOMBRES)
27 private String pacnombres;
28 @Basic(opcional=false)
29 @Column(name=PACAPELLIDOS)
30 private String pacapellidos;
31 @Column(name=PACFECHANACIMIENTO)
32 @Temporal(TemporalType.TIMESTAMP)
33 private Date pacfechanacimiento;
34 @Column(name=PACSEXO)
35 private Character pacsexo;
36
37 public Pacientes() {
38 }
39 public Pacientes(String pacidentificacion) {
40 this.pacidentification=pacidentification;
41 }
42 public Pacientes(String pacidentification, String pacnombres, String pacapellidos) {
43 this.pacidentification=paidentification;
44 this.pacnombres=pacnombres;
45 this.pacapellidos=pacapellidos;
46 }

3. Crear las clases controladoras de las clases de entidad.

Las clases controladoras gestionan a los conjuntos de objetos de las


clases de entidad, por ejemplo, si se tiene la clase de entidad Estudiante,
la clase controladora tiene la funcionalidad para gestionar a un conjunto
de estudiantes.

7
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Codificar Aplicaciones con lenguaje JAVA

15 @Entity
16 @Table(name=PACIENTES)
17 @NamedQueries({
18 @NamedQuery(name=Pacientes.findAll, query=SELECT p FROM Pacientes p)})
19 public class Pacientes implements Serializable {
20 private static final long serialVersionUID=1L
21 @Id
22 @Basic(optional=false)
23 @Column(name=PACIDENTIFICATION)
24 private String pacidentification;
25 @Basic(optional=false)
26 @Column(name=PACNOMBRES)
27 private String pacnombres;
28 @Basic(opcional=false)
29 @Column(name=PACAPELLIDOS)
30 private String pacapellidos;
31 @Column(name=PACFECHANACIMIENTO)
32 @Temporal(TemporalType.TIMESTAMP)
33 private Date pacfechanacimiento;
34 @Column(name=PACSEXO)
35 private Character pacsexo;
36
37 public Pacientes() {
38 }
39 public Pacientes(String pacidentificacion) {
40 this.pacidentification=pacidentification;
41 }
42 public Pacientes(String pacidentification, String pacnombres, String pacapellidos) {
43 this.pacidentification=paidentification;
44 this.pacnombres=pacnombres;
45 this.pacapellidos=pacapellidos;
46 }

3. EL PATRN DE DISEO MVC


MO
R

DE
DO

LO
A
OL

MVC
R
NT
CO

VISTA

8
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Codificar Aplicaciones con lenguaje JAVA

El MVC (Modelo Vista Controlador) es un patrn (buena prctica) que


permite separar las capas de una aplicacin, teniendo una capa de
presentacin (la vista), una capa de datos (el modelo) y una capa lgica
(el controlador). Esta separacin funcional de las tres capas permite la
independencia entre ellas logrando que los cambios en una de ellas no
afecten a las dems.

3.1 El Modelo.

El modelo est conformado por las clases que forman parte del dominio de
la aplicacin. Por ejemplo en un sistema de informacin para una escuela
el modelo podra estar conformado por las clases Estudiante, Profesor,
Materia, Aula, Computador, etc.

3.2 La Vista.

La vista est conformada por los formularios con los que interacta el
usuario final, en la vista debe existir la menor cantidad de cdigo posible,
incluso la gestin de los eventos no debe ser responsabilidad de la vista.

3.3 El Controlador

Las clases controladoras son aquellas que reciben instancias de la vista y el


modelo para interactuar con ellos y mantener la armona entre las capas.
Por ejemplo, para almacenar la informacin de un estudiante en la base
de datos, la clase controladora debe recoger la informacin ingresada en
el formulario (la vista), crear un objeto de tipo Estudiante (el modelo) y
enviarlo para su almacenamiento en el modelo.

4. REPORTES EN JAVA CON IREPORT Y JASPERREPORTS

9
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Codificar Aplicaciones con lenguaje JAVA

Un sistema de informacin completo requiere la generacin de cierta


informacin impresa como medio de soporte o anlisis. Los reportes en
Java se pueden crear mediante la incorporacin de un plugin o complemento
al entorno de desarrollo. JasperReports es un complemento de uso libre
que facilita el diseo y la creacin de reportes en Java y trabaja con
formatos pdf, html, rtf, xls, csv y xml.

5. DESARROLLO DE UNA APLICACIN EN JAVA PASO A


PASO

En la presentacin multimedia se presenta un ejemplo a manera de tutorial


paso a paso sobre el desarrollo completo de un caso de uso en el lenguaje
de programacin JAVA, este tutorial comprende las siguientes sesiones:

Sesin 1: Construyendo la base de datos.


Sesin 2: Desarrollando la Interfaz Grfica de Usuario (GUI).
Sesin 3: Creando el Modelo de la Aplicacin.
Sesin 4: Enlazando con el Controlador.
Sesin 5: Probando el Modelo Vista Controlador MVC.
Sesin 6: Accediendo a la Base de Datos con JDBC.
Sesin 7: Accediendo a la Base de Datos con JPA.
Sesin 8: Generando reportes impresos.

10
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
GLOSARIO

Back-End: Hace referencia a las estructuras de almacenamiento de datos


en un sistema de informacin.

Front-End: Hace referencia a las interfaces que permiten la comunicacin


con los usuarios de un sistema de informacin.

JDBC: Java DataBase Connectivity. Estandar de Java para la conexin y


gestin de bases de datos relacionales.

JPA: Java Persistence Api. Mecanismo en Java que permite la persistencia


de los datos a partir del mapeo o vnculo entre tablas de la base de datos
y clases de la aplicacin.

MVC: Modelo Vista Controlador. Patrn de diseo que divide una aplicacin
en capas, facilitando el mantenimiento y la adaptabilidad de una aplicacin.

Patrn: En informtica un patrn es una buena prctica para la solucin


de un problema recurrente.

SGBD: Sistema Gestor de Bases de Datos.

11
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Control de documento
Construccin Objeto de Aprendizaje
Codificar Aplicaciones con lenguaje JAVA
Desarrollador de contenido Andrs Julin Valencia Osorio
Experto temtico
Asesor pedaggico Rafael Neftal Lizcano Reyes

Produccin Multimedia Luis Fernando Botero Mendoza


Victor Hugo Tabares Carreo
Programadores Daniel Eduardo Martnez
Lder expertos temticos Ana Yaqueline Chavarro Parra

Lder lnea de produccin Santiago Lozada Garcs

12
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

You might also like