Está en la página 1de 8

lOMoARcPSD|9685856

Trabajo DE Investigación de taller de programación

Programación Lógica Y Funcional (Universidad Tecnológica del Perú)

Studocu is not sponsored or endorsed by any college or university


Downloaded by Erick Soto (ericksotomoya9@gmail.com)
lOMoARcPSD|9685856

DOCENTE :

 PEREZ ZAMORA EDUARDO RAUL

ALUMNO :

GIERCO MANUEL BACA BRAN

CURSO :

TALLER DE PROGRAMACION
TEMAS :

Arquitectura del JDK, jerarquía de paquetes de JAVA, los JARs.

2021

Downloaded by Erick Soto (ericksotomoya9@gmail.com)


lOMoARcPSD|9685856

1. Arquitectura del JDK

Estructura arquitectónica de Java ES:

Los componentes de Java ES admiten la implementación de soluciones de software


distribuidas. Para obtener la funcionalidad solicitada en los niveles de rendimiento,
disponibilidad, seguridad, escalabilidad y la facilidad de mantenimiento establecidos
por los requisitos de la empresa, estas soluciones de software se deben diseñar de forma
adecuada.

Hay una serie de dimensiones arquitectónicas relacionadas con el diseño de potentes


soluciones empresariales. Estas dimensiones representan perspectivas distintas desde las
que se ven las interacciones de los distintos componentes de software utilizados para
crear dichos sistemas. En concreto, el diseño de los sistemas distribuidos implica las
siguientes tres dimensiones arquitectónicas:

 Dependencias de servicio de infraestructura. Esta dimensión se centra en la


función que desempeñan los componentes de servicios del sistema en el uso de
soluciones distribuidas (consulte Componentes de servicios del sistema).
 Capas lógicas. Esta dimensión se centra en la independencia física y lógica de
los componentes de soluciones con el fin de implementarlos en una red o en un
entorno de Internet.
 Calidad del servicio. Esta dimensión se centra en cómo se satisfacen los
requisitos de calidad del servicio como, por ejemplo, la disponibilidad, la
seguridad, la escalabilidad y la facilidad de mantenimiento, incluida la función
que desempeñan los componentes de calidad del servicio
(consulte Componentes de calidad del servicio).

Estas tres dimensiones de la arquitectura de la solución se muestran en la siguiente


figura.

2. JERARQUÍA DE PAQUETES DE JAVA

Downloaded by Erick Soto (ericksotomoya9@gmail.com)


lOMoARcPSD|9685856

En la programación, a menudo es útil agrupar piezas relacionadas de un programa. En


Java, esto se puede lograr mediante el uso de paquetes.

Un paquete tiene dos propósitos:

2.1 En primer lugar, proporciona un mecanismo mediante el cual las partes


relacionadas de un programa se pueden organizar como una unidad. Se debe
acceder a las clases definidas dentro de un paquete a través del nombre de su
paquete. Por lo tanto, un paquete proporciona una forma de nombrar una
colección de clases.

2.2 En segundo lugar, un paquete participa en el mecanismo de control de acceso


de Java. Las clases definidas dentro de un paquete se pueden hacer privadas
(private) para ese paquete y no se puede acceder por código fuera del
paquete. Por lo tanto, el paquete proporciona un medio por el cual las clases
pueden ser encapsuladas. Examinemos cada característica un poco más de
cerca.

¿Qué son Paquetes en Java?

Los paquetes sirven para agrupar clases relacionadas y definen un espacio de nombres
(namespace) para las clases que contienen.

En general, cuando nombra una clase, está asignando un nombre del namespace.
Un namespace define una región declarativa. En Java, no hay dos clases que puedan
usar el mismo nombre del mismo namespace. Por lo tanto, dentro de un namespace
dado, cada nombre de clase debe ser único.

Definiendo un paquete

Todas las clases en Java pertenecen a algún paquete. Cuando no se especifica ninguna
declaración de paquete, se usa el paquete predeterminado (global). Además, el paquete
predeterminado no tiene nombre, lo que hace que el paquete predeterminado sea
transparente. Es por eso que no ha tenido que preocuparse por los paquetes
anteriormente.

importar paquetes

Cuando utiliza una clase de otro paquete, puede calificar completamente el nombre de la
clase con el nombre de su paquete, como lo han hecho los ejemplos anteriores. Sin
embargo, un enfoque de este tipo podría convertirse fácilmente en tedioso e incómodo,
especialmente si las clases que califica están profundamente anidadas en una jerarquía
de paquetes.

Como Java fue inventado por los programadores para los programadores -y a los
programadores no les gustan las construcciones tediosas- no debería sorprender que
exista un método más conveniente para usar los contenidos de los paquetes: la
declaración import. Al usar , puede mostrar uno o más miembros de un paquete. Esto le
permite usar esos miembros directamente, sin la calificación explícita del paquete.

Downloaded by Erick Soto (ericksotomoya9@gmail.com)


lOMoARcPSD|9685856

Nivel de acceso para paquetes

Este enfoque de varias capas para el control de acceso admite una gran variedad de
privilegios de acceso. La siguiente tabla resume los diversos niveles de acceso.

Examinemos cada opción de acceso individualmente.

 Si un miembro de una clase no tiene un modificador de acceso explícito,


entonces es visible dentro de su paquete pero no fuera de su paquete. Por lo
tanto, utilizará la especificación de acceso predeterminada () para los elementos
que desea mantener en privado para un paquete pero público dentro de ese
paquete.
 Los miembros explícitamente declarados públicos () son los más visibles, y
se puede acceder desde diferentes clases y diferentes paquetes.
 Un miembro privado () es accesible solo para los otros miembros de su clase. Un
miembro privado no se ve afectado por su membresía en un paquete.
 Se puede acceder a un miembro especificado como protegido () dentro de su
paquete y a subclases en otros paquetes.

Una clase de nivel superior tiene solo dos niveles de acceso


posibles: predeterminado y público. Cuando una clase se declara como pública, se
puede acceder fuera de su paquete. Si una clase tiene acceso predeterminado, solo se
puede acceder por otro código dentro de su mismo paquete. Además, una clase que se
declara pública debe residir en un archivo con el mismo nombre.

3.LOS JARS:

3.1 ¿Qué son los ficheros JAR?

Como hemos visto una aplicación en Java está compuesta por varios ficheros .java. Al
compilarlos obtenemos varios ficheros .class (uno por fichero .java), y no un único
fichero ejecutable como ocurre en otros lenguajes. Para colmo, a menudo la aplicación
está formada no sólo por los ficheros .class sino que usa ficheros de sonido
(usualmente .au en Java), iconos, etc., lo que multiplica la cantidad de ficheros que
forman la aplicación compilada. Esto hace que "llevarse" la aplicación para ejecutarla
en un ordenador diferente resulte un poco lioso: olvidar cualquiera de los ficheros que
componen la aplicación significaría que ésta no va a funcionar correctamente. En el
caso de un applet se añade el problema de la velocidad, al tener que viajar todos los
ficheros a través de internet.

Los ficheros Jar (Java ARchives) permiten recopilar en un sólo fichero varios ficheros
diferentes, almacenándolos en un formato comprimido para que ocupen menos espacio.
Es por tanto, algo similar a un fichero .zip (de hecho están basados en ficheros .zip).
Entonces, ¿dónde está la "gracia"? ¿No se podrín usar directamente ficheros .zip? La
particularidad de los ficheros .jar es que no necesitan ser descomprimidos para ser
usados, es decir que el intérprete de Java es capaz de ejecutar los archivos comprimidos
en un archivo jar directamente. Por ejemplo, si hemos recopilado todos los ficheros
necesarios para ejecutar una aplicación en un fichero "aplic.jar", podemos lanzar la
aplicación desde una terminal de texto mediante:

Downloaded by Erick Soto (ericksotomoya9@gmail.com)


lOMoARcPSD|9685856

java -jar aplic.jar


Vamos a ver ahora cómo se crean los ficheros .jar.

3.2 Creación en un terminal de texto

Hemos visto que se puede lanzar una aplicación llamando al intérprete de java
(comando java) seguido de -jar y del nombre del fichero .jar correspondiente. Sin
embargo hay algo en todo esto que no "encaja": Si el fichero .jar contiene muchos
ficheros .class, ¿cuál de todos se ejecuta? Sabemos que debe ejecutarse el que contiene
el método main pero, ¿cómo sabe el intérprete de Java que clase de todas las del fichero
contiene este método? La respuesta es que lo sabe porque se lo tenemos que decir
durante la creación del fichero jar. Y la forma de hacerlo es un poco liosa. Vamos a verlo
paso a paso. Para simplificar suponemos que estamos en un terminal de texto (consola
Linux o símbolo del sistema en Windows), que el comando jar es accesible (es decir, la
carpeta que contiene jar.exe está en el Path) y que nos encontramos en el directorio
donde se encuentran los ficheros .class que deseamos "empaquetar".

Crear un directorio META-INF (¡las mayúsculas son importantes!) y dentro un


fichero MANIFEST.MF. Este fichero indica, entre otras cosas, cual será la clase
principal. A menudo el fichero MANIFEST.MF contiene una única línea:

Main-Class: Principal

indicando que Principal.class es la clase que contiene el método main.

3.3 Applets

Aunque aún no sepamos demasiadas cosas sobre applets este es un buen punto para
indicar como se debe usar la herramienta jar en relación a los applets. Vamos a verlo
con un ejemplo: supongamos que tenemos un applet de nombre TicTacToe.java.
Suponemos que ya está compilado, es decir que ya existe el fichero TicTacToe.class.
Además suponemos que este applet utiliza imágenes, que se encuentran en una
carpeta images y sonidos que se encuentran en una carpeta sounds. Es decir, tenemos
(resultado de hacer "dir" en un símbolo del sistema): Queremos crear un fichero .jar
para guardar toda esta información en un único fichero, que será el que "viaje" por
internet. Para ello se hace:
jar -cf titac.jar TicTacToe.class audio images
Como se puede ver no se ha incluido el fichero TicTacToe.java (porque no es necesario
para la ejecución del programa, aunque se podría haber incluido si se hubiera querido).
Ya tenemos el fichero tictac.jar creado. Para cargar el applet desde una página html sólo
debemos copiar este fichero a la misma carpeta donde este la página. La página por su
parte debe incluir un código similar al siguiente código para "incrustar" el programa
Java:
<applet code="TicTacToe.class"
archive="tic.jar"
width="120"
height="120">
</applet>

Downloaded by Erick Soto (ericksotomoya9@gmail.com)


lOMoARcPSD|9685856

3.4 Creando ficheros .jar desde JCreator

Se puede configurar JCreator para llamar al comando jar. Brevemente estos son los
pasos a seguir una vez:
Dentro del menú Configure elegir la opción Options .

En la ventana que aparece, hacemos click sobre la palabra Tools que aparece en la lista
de la izquierda. La pantalla tendrá el aspecto:

(salvo porque la parte derecha no estará vacía si ya hemos introducido otras


herramientas como los accesos a javadoc).

Pulsar el botón New y del menú desplegable que aparece elegir la opción: Create Jar
File . Pulsamos "OK" y ya tenemos JCreator para crear ficheros .jar con el contenido del
proyecto que tengamos Java, sin más que pulsar el botón de herramientas que hayamos
configurado (la llave inglesa con el número correspondiente, por ejemplo 1 si es la
primera herramienta que configuramos). De todas formas hay que hacer algunas
observaciones:

 Un fallo (gordo) de esta herramienta es que no crea un fichero


MANIFEST adecuado. Esto hace que el "empaquetamiento" sea útil para
applets (donde el fichero MANIFEST no importa), pero no para
aplicaciones con main.
 El fichero generado lleva el nombre del proyecto (y extensión .jar,
obviamente). Queda almacenado en el directorio del proyecto de
JCreator. A menudo pare encontrarlo lo más fácil es usar el buscador de
Windows.

Downloaded by Erick Soto (ericksotomoya9@gmail.com)


lOMoARcPSD|9685856

Downloaded by Erick Soto (ericksotomoya9@gmail.com)

También podría gustarte