Mundo Byte. | Un mundo de bytes en información.
Taller intermedio de Java. Desarrollo de Aplicaciones
Septiembre 2007
Tutor: WinDoctor_Advanced
Taller interactivo de Programación en
JAVA
Taller de Programación interactivo “Java – Intermedio” va dirigido a todos aquellos que ya estan
familiarizados con el Lenguaje Java, al menos en un nivel básico ó a aquellos Programadores
provenientes de otros lenguajes que tienen la facilidad de aprender las bases de Java rapidamente y
desean llegar a manejar este lenguaje a un nivel intermedio, suficiente para poder crear aplicaciones de
escritorio que manipulen datos desde un Gestor de Bases de Datos como MySQL, SQL Server, etc.
En este curso no manejaremos ejemplos de juguete, por el contrario, veremos ejemplos reales en los
que el programador tiene que enfrentarse en su vida profesional tales como Multimedia, Impresion,
Generación de Reportes, etc.
Realizaremos Software real, de utilidad , que sirva de base al programador para la creación de
aplicaciones más complejas.
Dicho taller tocará 5 puntos básicos.
1 Introducción a los componentes SWING usando el Entorno de Desarrollo “NetBeans”.
2 Creación de reportes.
3 Instalación, configuración y prácticas en MySQL.
4 Realización de Sistemas:
➢ Médical Control X – Sistema para consultorios médicos
➢ La Gran Soberana – Software Administrativo
5 Proyectos Finales.
Mundo Byte. | Un mundo de bytes en información.
Taller intermedio de Java. Desarrollo de Aplicaciones
Septiembre 2007
Tutor: WinDoctor_Advanced
TEMA I .- INTRODUCCIÓN A SWING
1 Entorno de Desarrollo Integrado (IDE) NetBeans
2 Formularios y Ventanas MDI
3 Componentes SWING
4 Tablas (JTable), modelos y presentación de datos
4.1 DefaultTableModel
4.2 AbstractTableModel
5 Minimizar aplicación al System Tray (solo para sistemas Windows)
6 Uso del Control JCalendar (control de terceros, no pertenece al api Java)
7 Creación de archivos jar
8 Creación de archivos ejecutables (.exe) mediante la herramienta Jsmooth
9 Multimedia (Toma de fotos, Captura de video, Reproducción de archivos mp3)
TEMA II .- ACCESO A DATOS
1. Instalación y configuración de MySQL 5
2. Creación de Bases de Datos y Tablas
3. Sentencias: SELECT, INSERT, UPDATE y DELETE
4. USO DE TRANSACCIONES: COMMIT y ROLLBACK
5. Acceso a MySQL desde Java
6. Presentación de datos en Combos, Listas desplegables y Grids (JTable)
7. Consultas, insersiones, actualizaciones y eliminacion de datos desde Java
8. Uso de Transacciones desde Java
9. Acceso a una base de datos alojada en otro servidor
10. Impresión desde Java
Mundo Byte. | Un mundo de bytes en información.
Taller intermedio de Java. Desarrollo de Aplicaciones
Septiembre 2007
Tutor: WinDoctor_Advanced
TEMA III.- GENERACIÓN DE REPORTES
1 Libreria para la creación de informes (reportes): JasperReport
2 Creación de reportes con iReport + JasperReport
2.1 Conexión a la base de datos
2.2 Variables y Parámetros en iReport
2.3 Ejecución de las consultas SQL
2.4 Diseño del reporte
2.5 Vista previa del reporte
2.6 Ejecutar reporte desde una aplicación JAVA
3 Generación de gráficas: Gráfica de “queso” y Gráfica de Barras 3D
TEMA IV .- REALIZACIÓN DE SOFTWARE
1 Médical Control X – Software para la Administración de Expedientes Médicos.
2 La Gran Soberana – Software Administrativo, Entradas, Salidas, Control de invenario para
negocio de la Central de abastos de la Ciudad de México
2.1 Planteamiento de ideas para para funcionamiento del Sistema con una Base de Datos
remota, envio de datos a la BD remota y altas, actualizaciones, eliminaciones de datos
mediante una interfaz web usando como alternativas a PHP o JSP.
3 PRUEBA DEL SISTEMA EN RED
TEMA V.- PROYECTOS FINALES.
Los participantes del curso deberan realizar un proyecto final donde muestren todo lo aprendido
durante este taller. Deberan desarrollar algún Sistema de su elección, ya sea migrar un Sistema hecho
por el participante en algún otro Lenguaje de Programación a Lenguaje Java ó colaborar para realizar el
proyecto planteado en el punto 2.1 del Tema IV.
Mundo Byte. | Un mundo de bytes en información.
Taller intermedio de Java. Desarrollo de Aplicaciones
Septiembre 2007
Tutor: WinDoctor_Advanced
DESCRIPCIÓN DEL SOFTWARE DEL TEMA IV
El Tema 4, es el punto medular del Taller, pues en el se implementaran dos Aplicaciones usadas en el
mundo real. Definitivamente esta es la parte más importante del Taller puesto que se verán las tareas
diarías que mas se le demanda a cualquier programador.
Médical Control X – Software para la Administración de Expedientes Médicos
El Sistema debe ser capaz de administrar y controlar las Fichas Clínicas y Expedientes de Pacientes de
un consultorio médico. Realizara las operaciones básicas de todo sistema administrativo, Altas, Bajas,
Actualizaciones y Eliminaciones. Se hara un seguimiento de las visitas subsecuentes de cada paciente,
Antecedentes, Sintomas, Diagnósticos, Tratamiento, Laboratorios, Recetas, etc. El Sistema debera ser
capaz de imprimir las recetas del paciente.
Además, dicho sistema llevara la Agenda del (los) medico(s).
Para asegurar que los datos del paciente sean confidenciales, se tendrá la restricción que un
determinado médico pueda única y exclusivamente (a menos que cuente con permisos) ver los
expedientes de sus pacientes y no los de algún otro médico.
Además de esto, el Programa tendra la función de tomar una foto al paciente desde alguna cámara
conectada a la PC y guardarla en su expediente.
A continuación se muestran algunas fotos del Sistema ya realizado:
Mundo Byte. | Un mundo de bytes en información.
Taller intermedio de Java. Desarrollo de Aplicaciones
Septiembre 2007
Tutor: WinDoctor_Advanced
Mundo Byte. | Un mundo de bytes en información.
Taller intermedio de Java. Desarrollo de Aplicaciones
Septiembre 2007
Tutor: WinDoctor_Advanced
La Gran Soberana – Software Administrativo, Entradas, Salidas, Control de invenario para
negocio de la Central de abastos de la Ciudad de México.
Este Sistema implica un grado de dificultad un poco mayor al Sistema anterior, puesto que se debe
tener especial cuidado en el control de inventario.
El Sistema deberá manejar productos en diferentes unidades como por ejemplo: Bulto, KG, Caja, Pieza,
paquete, etc., y se hará una distinción entre unidades al mayoreo y unidades al menudeo.
Mundo Byte. | Un mundo de bytes en información.
Taller intermedio de Java. Desarrollo de Aplicaciones
Septiembre 2007
Tutor: WinDoctor_Advanced
Al dar de alta un producto (si y solo si la unidad de éste es una unidad al menudeo), se tendrá la opción
de asociarlo a otro producto ya sea con unidad al mayoreo o menudeo. Suponga el siguiente ejemplo:
Se tiene en el inventario ARROZ BLANCO cuya unidad (mayoreo) es BULTO y cada bulto contiene
50 KG. Se desea agregar otro producto bajo el nombre de ARROZ KG cuya unidad (menudeo) es KG
y por las características de la unidad, se le preguntara al usuario si desea asociarlo a otro producto del
inventario. El concepto de asociar un producto con otro es considerarlo como “uno mismo” pero con
sus respectivas unidades. De esta forma, al intentar asociar el producto ARROZ KG con ARROZ
BLANCO, se debera actualizar las existencias de ambos productos en sus respectivas unidades puesto
que ahora dentro del inventario se consideraran a ámbos productos como uno mismo – reitero- con sus
respectivas unidades.
En teoría, esto resulta algo fácil de hacer, bastará con realizar unas cuantas conversiones de
equivalencias entre unidades, sin embargo, al momento de codificar existen algunos problemas si la
Base de Datos no fué diseñada de manera adecuada. Debido a esto, el primer paso aquí será diseñar la
tabla del inventario y buscar la mejor forma para indicar una asociación de productos (por ejemplo
separar en dos tablas y relacionar con llaves foráneas).
Se hará uso de Transacciones con MySQL desde Java en está aplicación.
Algunas fotos del Sistema:
Mundo Byte. | Un mundo de bytes en información.
Taller intermedio de Java. Desarrollo de Aplicaciones
Septiembre 2007
Tutor: WinDoctor_Advanced
Mundo Byte. | Un mundo de bytes en información.
Taller intermedio de Java. Desarrollo de Aplicaciones
Septiembre 2007
Tutor: WinDoctor_Advanced
Como se puede observar, el taller tiene un nivel intermedio y NO parte desde CERO como en los
cursos pasados, por lo cuál NO VA DIRIGIDO para aquellos que desean aprender a programar en
Java, sino para aquellos que ya tienen las bases de este lenguaje ó para aquellos programadores
provenientes de otros lenguajes como Visual Basic 2005 o C++ y que tienen un conocimiento medio de
dichos lenguajes al grado de ya haber manejado Bases de Datos.
¿Por que para programadores experimentados en otros lenguajes se les abre esta posibilidad de poder
tomar el taller?.
Por la razón que es mucho más fácil para un Programador experimentado en otro lenguaje adaptarse
más rápidamente a estos temas de Bases de Datos, por ello se les hace extensiva la invitacion a
participar, pues con algunas lecturas a algún manual de referencia en Java puede adaptarse más
rápidamente que a otra persona que NO domina otro lenguaje y quiere experimentar y/o aprender a
programar poniendo a JAVA como una alternativa.
Se pide tener en la computadora con la que se trabajara como mínimo 256 MB en RAM y con algún
procesador Intel o compatible con una velocidad superior a 1.5 Ghz.
Como Sistema Operativo el participante podrá trabajar en Windows ó si lo desea en Linux, Mac,
Solaris, etc., y como manejador de bases de datos se utilizará MySQL, debido a que JDBC ofrece gran
portabilidad entre los distintos manejadores de BD el participante podrá trabajar si lo desea con algún
otro manejador como Oracle, SQL Server, postgresql, o con algun otro que ofrezca controlador JDBC
(Oracle, SQL Server y postgresql si lo ofrecen) dando soporte durante el taller solo para los Sistemas
Windows y Linux y el manejador MySQL. Por las pobres y precarias características que ofrece Access,
no se contempla como una opción para este Taller.
También se pide contar con alguna webcam para realizar los ejercicios de multimedia.
Mundo Byte. | Un mundo de bytes en información.
Taller intermedio de Java. Desarrollo de Aplicaciones
Septiembre 2007
Tutor: WinDoctor_Advanced
El software que se utilizara a lo largo del taller es el siguiente:
1. Kit de Desarrollo Java – JDK (J2SE). Incluye NetBeans JDK 6 Update 2 with NetBeans 5.5.1
2. Entorno de Desarrollo Integrado (IDE) NetBeans. Se incluye junto con la descarga del JDK,
pero si se desea se puede descargar unicamente el JDK desde la página de Sun y NetBeans
desde su página oficial [Link]
3. Java Media Framework – JMF. Framework proporcionado por Sun para el desarrollo
multimedia. [Link]
4. El conocido y potente manejador de base de datos MySQL, trabajando con la version
Community Server. [Link]
5. Las herramientas de administración con Interfaz Gráfica de Usuario de MySQL -
[Link]
6. El más famoso reporteador para Java JasperReport. Conjuntamente se utilizara una
herramienta llamada iReport que ofrece una interfaz visual para poder diseñar los reportes
mediante la libreria de JasperReport. Al descargar iReport se incluyen las librerias de
JasperReport [Link]
7. JSmooth, herramienta para la creación de archivos ejecutables (.exe) a partir de archivos .jar -
[Link]
8. JCalendar, paquete de controles visuales (Calendarios) para ofrecer al usuario una interfaz más
amigable en el manejo y presentación de Fechas y Horas. [Link]
Mundo Byte. | Un mundo de bytes en información.
Taller intermedio de Java. Desarrollo de Aplicaciones
Septiembre 2007
Tutor: WinDoctor_Advanced
9. SysTray for Java – Es un api para poder minimizar nuestras aplicaciones de Java en la barra de
reloj (System Tray) de Windows, pues por su aspecto Multiplataforma de Java, esto no se puede
hacer directamente.
Como siempre ha sido característica de Aula_Byte, los cursos son gratuitos y de muy buena calidad,
este no es la excepción y de igual forma se brindara de forma gratuita! Los interesados en tomar este
gran taller, deberán inscribirse cuanto antes en el foro de Java de Aula_Byte, puesto que habra cupo
limitado.
Todo el software utilizado para el desarrollo del Taller son aplicaciones de libre distribución, lo cuál
quiere decir que NO se requiere de comprar alguna licencia de uso o “crackear” los programas con
algún número de serie ilegal. Las dos aplicaciones de ejemplo que se realizaran en el Tema 4, han sido
desarrolladas por un servidor.
La Fecha de inicio y horario serán confirmados dentro de algunos días en el Foro, mientras tanto es
importante inscribirse y bajar el Software requerido.
El curso se impartira en modalidad de Voz, utilizando el mensajero de Yahoo. La dirección electrónica
se dará a conocer en los próximos días.
Reciban un cordial saludo!!
Ascari Q. Romo Pedraza – WinDoctor Advanced
Atentamente