Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 25

Taller de programación

Universidad Tecnológica del Perú


Facultad de ingeniería

Docente:
Karen Vanessa Corilla Quispe

N° EQUIPO:
4

Integrantes:
Adrián Ore, Luis Francisco
Valle Díaz, Sebastián Paul
García López, Michael Smelyn
Cancha Gervacio, Luis Alexander
Zavaleta Rodriguez, Gustavo Joel

LIMA-PERU

2023
Índice:

Introducción 4

Módulos de Java -6

• Concepto

• Creación

• Compilación

• Despliegue

Creación de JARs - - 12

Aplicación desarrollada -------------------------15

Explicación del programa ----------------------- 16

Conclusiones 22

Referencias bibliográficas ---------------------24


Resumen:

En este trabajo de investigación se presentará los siguientes temas propuestos que serían

‘’Modulos de Java’’ y ‘’Creación de JARs’’. También se presentará un programa en forma

de formulario realizado en IDE Apache Netbeans 16, también se mostrara la acción de cada

uno de estas para que así tenga una mayor definición con lo que hemos realizado.

Palabras claves: Java, JARs, formulario

Abstract:

In this research work, the following proposed topics will be followed, which would be

‘’Java Modules’’ and ‘’Creation of JARs’’. A program in the form of a form made in IDE

Apache Netbeans 16 will also be presented, the action of each one of these will also be

shown so that it has a better definition with what we have done.

Keywords: Java, JARs, form


Imtroducción:

Java es un lenguaje de programación ampliamente utilizado en el desarrollo de aplicaciones

y sistemas de software. Fue creado por James Gosling y su equipo en Sun Microsystems en

la década de 1990. Desde entonces, Java ha evolucionado y se ha convertido en uno de los

lenguajes más populares en la industria de la programación. Una de las características clave

de Java es su portabilidad, lo que significa que las aplicaciones escritas en Java pueden

ejecutarse en diferentes plataformas sin necesidad de modificar el código fuente. Como

señala Savitch (2014):

“Java fue diseñado para ser independiente de la plataforma, lo que significa

que los programas Java pueden ejecutarse en diferentes tipos de

computadoras sin cambios”.

Otra característica importante de Java es su enfoque en la seguridad. Según Horstmann

(2013):

“Java fue diseñado desde el principio para ser un lenguaje seguro. Incluye

características de seguridad integradas, como la verificación de tipos y el

manejo automático de la memoria, que ayudan a prevenir errores y

vulnerabilidades comunes en el software”.


Java también es conocido por su amplia biblioteca estándar, que proporciona una amplia

gama de clases y métodos predefinidos que facilitan el desarrollo de aplicaciones. De

acuerdo con Deitel y Deitel (2017):

"la biblioteca estándar de Java es una de las más completas y maduras

disponibles en la industria de la programación. Proporciona una gran

cantidad de herramientas y utilidades que los programadores pueden

aprovechar para construir aplicaciones de alta calidad".

En resumen, Java es un lenguaje de programación versátil y poderoso que ofrece

portabilidad, seguridad y una rica biblioteca estándar. Como afirma Bloch (2008):

"Java es un lenguaje que combina elegancia y pragmatismo, lo que lo

convierte en una opción popular tanto para principiantes como para

desarrolladores experimentados
MÓDULOS EN JAVA:

• Concepto

Los módulos son la principal novedad de Java 9. Un módulo agrupa código y

recursos como los JARs tradicionales, pero añade además un descriptor que restringe el

acceso a sus paquetes, y describe sus dependencias.

En Java, llamamos módulo a un artefacto que puede contener código, recursos, y

metadatos. Los metadatos describen dependencias con otros módulos, y regulan el acceso a

los paquetes del módulo.

El conjunto de ficheros que forman un módulo se agrupa en uno de estos tres formatos:

 Formato explotado. Un directorio que contiene el código fuente, datos, y

descriptor de módulo.

 JAR. Ídem, pero empaquetado en un JAR.

 JMOD. Lo mismo que un JAR, pero además puede contener código

nativo.

Los módulos de Java 9 mejoran así la plataforma:

• Encapsulación fuerte: La encapsulación se cumple durante

compilación y ejecución, incluso frente a intentos de reflexión.

• Configuración fiable: El runtime comprueba la disponibilidad de las

dependencias antes de lanzar la aplicación.

• Creación de imágenes: Que empaqueta la aplicación con una

plataforma Java hecha a medida. Esto implica menores


requerimientos de memoria y disco (útil para microservicios y

dispositivos pequeños)

Mayor seguridad, porque el código implicado es menor.

• Optimización mejorada (dead-code elimination, constant folding,

compression, etc.).

Servicios desacoplados sin escaneo del classpath (las implementaciones de un

interfaz se indican explícitamente).

• Carga rápida de tipos: El sistema sabe dónde está cada paquete sin

tener que escanear el classpath.

• Preserva las fronteras establecidas por la arquitectura.

La encapsulación fuerte implica otros beneficios, como la posibilidad de realizar

pruebas aisladas de un módulo, evitar la decadencia del código al introducir dependencias

accidentales, y la reducción de dependencias cuando varios equipos trabajan en paralelo.

• Creación

Con un editor de texto, creamos el archivo Hello.java cuyo contenido es:

package net.meddeb.hellomodule; class Hello {

public static void main(String[] args) { System.out.println("¡Hola módulo en

el mundo !");

}
Y el archivo module-info.java cuyo contenido es:

module es.javadesdecero.primermodulo { exports

es.javadesdecero.primermodulo;

Luego compila el código y crea el archivo JAR para el módulo ejecutando esta serie de 3

comandos en el orden indicado:

javac -d classes Hello.java module-info.java mkdir lib

jar -c -M -f lib/nuestroprimermodulo.jar -C classes.

• Este módulo se llama es.javadesdecero.primermodulo,

pero el nombre puede ser cualquier cosa. En la práctica, es

mejor anteponer un nombre de dominio para que sea

universalmente único.

• El archivo JAR que contiene el módulo se llama:

nuestroprimermodulo.jar

• Contiene un único paquete es.javadesdecero.hellomodule,

que a su vez contiene una única clase Hello.

• Exporta su único paquete: la declaración exporta en el

archivo module- info.java

Comprueba el contenido del archivo JAR de este módulo. Ejecuta:


Entonces, la salida es:

233 Wed Sep 15 11:16:36 CEST module-info.class

0 Wed Sep 15 11:16:22 CEST es/

0 Wed Sep 15 11:16:22 CEST es/javadesdecero/

0 Wed Sep 15 11:16:22 CEST es/javadesdecero/hellomodule/

Ahora, podemos ejecutar la clase Hello de dos maneras diferentes. Como una clase

ejecutable (que contiene el método main()) en cualquier archivo JAR, por compatibilidad

con versiones anteriores:

java --class-path lib/nuestroprimermodulo.jar

es.javadesdecero.hellomodule.Hello

También puede ejecutarse como una clase ejecutable contenida en un

módulo:

java --module-path lib/ -m


es.javadesdecero.primermodulo/es.javadesdecero.hellomodule.Hello

Este segundo comando sólo funciona en JAVA 9+. El éxito de su ejecución

demuestra que el JRE reconoce nuestro módulo como tal. No funcionará si eliminamos el

archivo module-info.class del JAR. Puedes probarlo, sólo tienes que volver a empaquetar el

JAR sin este archivo.

• Compilación

Ahora hablaremos de la compilación, en JastAdd, puede ampliar fácilmente su

compilador agregando módulos que contienen nueva sintaxis abstracta y cálculos en el

árbol de sintaxis abstracta (ast). El nombre JastAdd alude a esta facilidad de extensibilidad:

simplemente agregue al ast.

Hay tres ideas principales que contribuyen a la modularidad y extensibilidad de JastAdd:

 Orientación a objetos,

 Aspectos estáticos

 Cálculos declarativos.

Además, puede hacer uso de cálculos imperativos (código Java ordinario), pero las

partes imperativas de su sistema no se pueden ampliar tan fácilmente. Esto será discutido

abajo.

JastAdd Extensible Java Compiler es un compilador de Java de alta calidad que es

fácil de ampliar para crear herramientas de análisis estático para Java y para ampliar Java
con nuevas construcciones de lenguaje. Construido modularmente, con un compilador Java

1.4 que se extiende a un compilador Java 5.

Las aplicaciones de ejemplo que se construyen como extensiones incluyen un

backend alternativo que genera Jimple, una extensión de Java con construcciones AspectJ y

la implementación de un sistema de tipo conectable para verificación e inferencia no nulas.

El sistema se implementa utilizando JastAdd, un lenguaje similar a Java declarativo.

Describimos la arquitectura del compilador, las principales ideas de diseño para construir y

extender el compilador, en particular, para tratar con extensiones complejas que afectan el

análisis de nombres y tipos.

Nuestro compilador extensible se compara muy favorablemente en cuanto a calidad,

velocidad y tamaño con otros marcos de compilador Java extensibles. También se compara

favorablemente en calidad y tamaño en comparación con los compiladores de Java

tradicionales no extensibles, y se ejecuta dentro de un factor de tres en comparación con

javac.

Javac es el principal compilador de Java incluido en el kit de desarrollo de Java de

Oracle Corporation. Martin Odersky implementó el compilador GJ y su implementación se

convirtió en la base de javac.

• Javadoc: Se usa para crear documentación en formato HTML a partir

de código de fuente Java y los comentarios.

• Javac: Es el compilador de Java, se encarga de convertir el código

fuente escrito en Java a bytecode.


• Appletviewer: Es un visor de applets, mayormente se puede utilizarse

en lugar de un navegador web.

• Javap: Es un desensamblador Java.

• Jar: Es una herramienta usada para trabajar con archivos JAR.

• Despliegue

Ahora hablaremos de que es el despliegue en Java, este es el desarrollo del

mantenimiento, certificación y despliegue del módulo web consultas de una intranet, para

una entidad transaccional a fin de realizar búsquedas más optimizadas por parte de los

clientes, cumplir con sus diferentes requerimientos y mantener actualizados los drivers,

librerías y variables usadas en la implementación del módulo.

El objetivo principal es ofrecer una intranet donde el cliente pueda realizar sus

consultas de sus transacciones en el día a día de manera más sencilla, eficiente y optimizada

de acorde a sus necesidades.

El marco de trabajo usado en el presente proyecto fue Scrum, las tecnologías usadas

en el presente trabajo fueron el Apache Tomcat9, Java con NetBeans, Maven, el framework

Struts 1 y como motor de BD el SQL server 2016, a fin de poder desplegar el módulo en un

ambiente de producción.

El esfuerzo realizado tiene como fin lograr la escalabilidad, mejor rendimiento y

mantenimiento de la web para que esté alineada a las necesidades del cliente.

Creación de JARs:

El siguiente tema a continuación es de suma importancia, ya que nos va ayudar a

entender sobre la creación de un JARs, ya que, (Java Archive) es un archivo diseñado


específicamente para empaquetar, distribuir e implementar aplicaciones en Java. Su

funcionalidad versátil y su capacidad para contener múltiples elementos hacen que los

JARs sean una herramienta fundamental en el desarrollo y despliegue de software Java.

La creacion de un JARs es una parte importante del entorno de desarrollo Java

(JDE) y se utilizan para encapsular y organizar los componentes de una aplicación Java en

un solo archivo.

• PASOS PARA CREAR UN JAR:

Los pasos pueden variar ligeramente según el entorno de desarrollo que esté

utilizando, pero en general, los pasos son los siguientes:

1. Antes de la creacion de un archivo JAR, asegúrate de tener un proyecto Java

configurado en tu entorno de desarrollo preferido, como Eclipse, IntelliJ o

NetBeans. Esta etapa es fundamental para tener una base sólida sobre la cual

construir tu aplicación.

2. Escribe el código fuente necesario para tu aplicación dentro del proyecto Java. Aquí

es donde puedes dar vida a tus ideas y desarrollar las funcionalidades requeridas.

3. Asegúrate de compilar todo el código fuente de tu proyecto. Puedes utilizar

herramientas de compilación integradas en tu entorno de desarrollo o recurrir a la

línea de comandos para llevar a cabo esta tarea esencial.

4. Se debe crear un archivo MANIFEST.MF que contenga los metadatos importantes

sobre el archivo JAR, como lo es el nombre del archivo, la versión de la aplicación,

el nombre del paquete principal, entre otros.


5. Para crear el archivo JAR en Java, puedes utilizar la herramienta de creación de

JAR incorporada o trabajar desde la línea de comandos.

Asegúrate de incluir todos los archivos de clase y recursos necesarios, así como el

archivo MANIFEST.MF.

Una vez que hayas reunido todos los elementos necesarios para tu archivo JAR,

puedes utilizar la herramienta de creación de JAR integrada en tu entorno de desarrollo o

trabajar desde la línea de comandos.

6. Después de haber creado el archivo JAR, es importante realizar pruebas para

asegurarte de que se haya generado correctamente y de que tu aplicación o

biblioteca funcione sin problemas. Puedes llevar a cabo pruebas exhaustivas para

garantizar que todas las funcionalidades y características se ejecuten correctamente.

• EJECUCIÓN DE UN JAR:

Si deseas ejecutar un archivo JAR en Java, es necesario tener una JVM instalada en

tu sistema. Para ejecutarlo, abre la línea de comandos y navega hasta la ubicación donde se

encuentra el archivo JAR que deseas utilizar. Utiliza el comando “dir” para listar el

contenido del directorio y localizar el archivo JAR. Una vez que hayas ubicado el archivo,

puedes ejecutar el comando “java -jar nombre_del_archivo.jar” para ejecutarlo y disfrutar

de tu aplicación o biblioteca.
APLICACIÓN DESARROLLADA

• Javax.Swing

Este es un paquete de la plataforma Java que proporciona una biblioteca de

componentes y herramientas para construir interfaces gráficas de usuario (GUI, por sus

siglas en inglés). Swing es parte de la API de Java Foundation Classes (JFC) y se utiliza

para desarrollar aplicaciones de escritorio en Java.

Swing ofrece una amplia gama de componentes gráficos, como botones, etiquetas,

campos de texto, áreas de texto, tablas, árboles, menús y marcos de ventanas. Estos

componentes se pueden combinar y personalizar para crear interfaces de usuario

interactivas y atractivas.

La biblioteca Swing es independiente de la plataforma, lo que significa que las

aplicaciones desarrolladas con Swing se pueden ejecutar en diferentes sistemas operativos,

como Windows, macOS y Linux, sin necesidad de realizar modificaciones en el código

fuente. Además de los componentes gráficos, Swing también proporciona un conjunto de

clases para manejar eventos, diseñar diseños de GUI, realizar dibujos personalizados y

aplicar estilos y temas a las aplicaciones. También es posible integrar imágenes, iconos y

multimedia en las interfaces creadas con Swing.

En resumen, javax.swing es una biblioteca de Java que permite crear interfaces

gráficas de usuario en aplicaciones de escritorio. Su flexibilidad y variedad de componentes

hacen que sea una herramienta poderosa para desarrolladores que deseen construir

aplicaciones con una interfaz gráfica intuitiva y atractiva.

• Explicación del programa ‘’registro de alumnos’’


Bueno en esta ocasión con el paquete Javax.Swing con ayuda de JTable, JTextField,

JComboBox, JButton, JSpinner. Se realizó un sistema de registro de alumnos que tiene

como objetivo de saber el promedio correspondiente, como también el nombre del alumno,

ciclo y carrera que está llevando. Todo esto se podrá guardar en la tabla para que se

visualice lo que puso la persona que está llevando el control, como también, pueden borrar

y comenzar de nuevo.

A continuación, daremos a conocer como se realizó y veremos la funcionalidad que este

conlleva.

El interfaz:

Como se visualiza en la siguiente imagen, cuenta con un reglón donde se coloca el nombre

del alumno, después en la carrera y ciclo cuenta con dos botones para elegir las siguientes

opciones, el botón de promedio para calcular el puntaje. También cuenta con dos botones

de agregar y borrar.
1· Comencemos por el NOMBRE que cumple el rol de poner el nombre del alumno, siendo

así escribimos el nombre en el espacio en blanco que está definido como JTextField, con el

“Change Variable Name” que esta puesto como “txtNombreAlumno”

2· A continuación, hablaremos de CARRERA y CICLO que este primero cumple con el rol

de seleccionar la carrera de dicho alumno que está compuesta con varias carreras,

especificando seria 18 carreras. Este segundo cumple el rol de elegir el ciclo del alumno

que va desde el primer ciclo hasta el décimo. Estos cuadros son los llamados “Combo Box”

que sirven para elegir entre varias opciones que requiere el usuario.
3· Ahora hablaremos del “PROMEDIO” este cumple el rol de calcular el promedio del

aumno que va aumentando de uno en uno, el promedio mínimo es 12 y el máximo es 20, en

esta opción fue usado el comando llamado “Spinner”


4· A continuación, mencionaremos a “TABLA” que su rol de este es almacenar los datos de

los alumnos, para esto usamos la función de (DefaultTableModel) para así poder rellenar la

tabla que fueron ingresados anteriormente, este fue hecho por el comando “Table”. En

consecuencia, pondremos una imagen para ver cómo quedaría:

5· Ahora hablaremos del botón “AGREGAR” este botón cumple el rol de guardar los

datoss como el nombre, carrera, ciclo y promedio en la tabla mostrada anteriormente para

eso pusimos la función de (private void btnAgregarAlumnoActionPerformed) para hacer

este botón usamos el comando “Button”.


6· Ahora hablaremos del botón “BORRAR” este cumple el rol de eliminar los datos

preseleccionados anteriormente en nombre, carrera, ciclo y promedio para que así después

se ingrese nuevos datos a la tabla. Para eso usamos la función de (private void

btnBorrarActionPerformed) para hacer este botón usamos el comando “Button”.

7· Cabe recalcar, a comenzar todo esto primero creamos una clase para los 4 atributos

presentados que serían “Nombre, Carrera, Ciclo y Promedio” con sus respectivos métodos

constructores, además con sus métodos “get” y “set” de cada tributo. Cabe decir que en la

tabla se puede rellenar con varios datos de manera indefinida, a continuación, se presentara

como quedaría todo esto con 14 datos establecidos y de cómo se vería en la pantalla
Conclusiones:

1. En conclusión, la creación de JARs (Java Archive) es una práctica común y útil en

el desarrollo de aplicaciones Java. Un JAR es un archivo comprimido que contiene

tanto archivos de código fuente como archivos de recursos, y permite la distribución

y ejecución de aplicaciones Java de manera sencilla.

2. De este modo, al crear un JAR, se pueden incluir todas las clases y dependencias

necesarias para que la aplicación funcione correctamente, lo que facilita su uso en

diferentes entornos. Además, los JAR pueden contener metadatos y archivos de

configuración que permiten su integración con otras herramientas y sistemas.

3. Además, sobre el módulo en Java es que ofrece ventajas significativas en términos

de mantenibilidad, reutilización y seguridad del código. Al dividir una aplicación en

módulos, se pueden establecer límites claros entre las diferentes partes del sistema,

lo que facilita la comprensión y modificación del código. Lo cual, los módulos

permiten ocultar la implementación interna de las clases, lo que mejora la seguridad

al reducir la exposición de los detalles internos.

4. Otra ventaja importante es la capacidad de definir dependencias limpias entre los

módulos. Esto significa que un módulo solo puede acceder a las clases y recursos

que se hayan destruido como públicos en otros módulos, lo que ayuda a evitar

problemas de dependencias circulares, es importante tener en cuenta que la

adopción de módulos en Java puede requerir cambios significativos en el código

existente, especialmente si se está migrando desde versiones anteriores de Java que

no tienen soporte para módulos


5. En resumen, Java es un lenguaje de programación versátil y poderoso que ofrece

portabilidad, seguridad y una rica biblioteca estándar, lo cual, la creación de JAR es

una práctica esencial en el desarrollo de aplicaciones, ya que proporciona un medio

eficiente de distribución, encapsulación y administración de componentes de

software.
Referencias bibliográficas:

 Aldariz, A. R. (2017, octubre 30). Modularidad en Java 9 (1/2). Adictos al trabajo.

https: //www.adictosaltrabajo.com/2017/10/30/modularidad-en-java-9-12/

 Walton, A. (2020, junio 20). Módulos en Java (Aplicación con Ejemplo). Java desde

Cero. https://javadesdecero.es/avanzado/modulos-java-ejemplos/

 Ekman, T. y Hedin, G. (2007, octubre). El compilador java extensible Jastadd. En

Actas de la 22.ª conferencia anual ACM SIGPLAN sobre sistemas, Lenguajes y

aplicaciones de programación orientados a objetos (págs. 1-18).

https://dl.acm.org/doi/abs/10.1145/1297027.1297029#d58312720e1

 Reyes Pérez, L. M. (2022). Mantenimiento, prueba y despliegue del módulo de

consultas de la intranet de una entidad transaccional.

http://cybertesis.unmsm.edu.pe/handle/20.500.12672/17961

 Corsaro, C. (2012, septiembre 29). Cómo ejecutar un archivo jar java. wikiHow.

https://es.wikihow.com/ejecutar-un-archivo-jar-java
 Cervera, A. (2022, agosto 9). ¿Qué es un archivo JAR? Wondershare Recoverit.

https://recoverit.wondershare.es/file-tips/what-is-jar-file.html

También podría gustarte