You are on page 1of 12

Universidad Tec Milenio: Profesional

SB04003 – Computación III

SB04003 – Computación III

Tema 1.
Historia y características de Java

Objetivos de la actividad

Al finalizar el tema serás capaz de:

• Conocer la historia del lenguaje de programación Java.


• Conocer el entorno de una aplicación Java.
• Conocer la forma en que es ejecutado un programa en
Java.

D.R. © Universidad TecMilenio 1


Universidad Tec Milenio: Profesional
SB04003 – Computación III

Introducción del tema


Sun Microsystems, líder en servidores para Internet cuyo
lema desde hace mucho tiempo es the network is the
computer (lo que quiere dar a entender que la
computadora es la red en su conjunto y no cada máquina
individual), es quien ha desarrollado el lenguaje Java.
La empresa intenta resolver simultáneamente los
problemas que se plantean a los desarrolladores de
software por la proliferación de arquitecturas
incompatibles,
p , tanto entre las diferentes máquinas
q como
entre los diversos sistemas operativos y añadiendo la
dificultad de crear aplicaciones distribuidas en una red
como Internet.

Introducción del tema

Actualmente, Java es considerado entre las mejores


tecnologías para desarrollar aplicaciones computacionales,
que permiten automatizar procesos, tareas, negocios y
cualquier tipo de actividad en la que pueda intervenir un
recurso computacional.
Hoy en día, las principales compañías alrededor del mundo
tienen sus procesos de negocios basados en aplicaciones
o plataformas que a su vez están construidas con la
tecnología Java.
¿Cuál es la tecnología más utilizada en la actualidad en el
uso de aplicaciones ejecutadas en Internet?

D.R. © Universidad TecMilenio 2


Universidad Tec Milenio: Profesional
SB04003 – Computación III

Características de Java

Las características principales que nos ofrece Java


respecto a cualquier otro lenguaje.

Sencillo
Java, con pocas palabras reservadas que
hacen que su aprendizaje sea rápido. Además, su
utilización es independiente del tipo de aplicación que se
desee desarrollar
desarrollar, por lo que una vez aprendido es fácil
aplicarlo a otros tipos de aplicación.

Características de Java

Orientado a objetos
Hace que la aplicación desarrollada se vea
como un conjunto de objetos, no de celdas de
memoria, dando una visión de lo que se
programa más cercana al problema a tratar que
a la máquina donde se quiere implementar la
solución.
Además de la encapsulación
p el
paradigma orientado a objetos destaca por
otras cualidades como la herencia o el
Polimorfismo que facilitan el diseño y la
implementación.

D.R. © Universidad TecMilenio 3


Universidad Tec Milenio: Profesional
SB04003 – Computación III

Características de Java

Distribuido
Con diversos protocolos como SOAP, RMI, CORBA, se
permite la comunicación entre diferentes objetos que se
pueden ejecutar en diferentes máquinas virtuales.

Interpretado
El intérprete Java (sistema run-time) puede ejecutar
directamente el código objeto
objeto. Enlazar (ligar) un programa
normalmente consume menos recursos que compilarlo, por
lo que los desarrolladores con Java pasarán más tiempo
desarrollando y menos esperando por el ordenador.

Características de Java

De arquitectura neutra
Como el programa en Java no se ejecuta directamente
sobre la máquina sino que se ejecuta en la máquina virtual
es indiferente la arquitectura real donde se ejecuta ésta.

Portátil
El código generado por el compilador de Java se puede
trasladar pues es el mismo independientemente de la
trasladar,
plataforma, puesto que solo depende de la máquina virtual
en la que se vaya a ejecutar.

D.R. © Universidad TecMilenio 4


Universidad Tec Milenio: Profesional
SB04003 – Computación III

Características de Java

Multitarea
Java incorpora mecanismos para que el software desarrollado
pueda ser multitarea,
multitarea como el uso de diferentes hilos de
ejecución (threads).
Según la versión de la máquina virtual y el sistema operativo
éstos pueden hacer uso de los threads nativos del sistema
para que sea el S.O. el que reparta la ejecución entre los
distintos procesadores disponibles.

Características de Java

Robusto
Al no trabajar directamente con apuntadores y posiciones
de memoria se evita que el programa intente acceder a
zonas que no le corresponden.

Seguro
Los programas escritos en Java no acceden
directamente a los recursos de la máquina física
en la que se ejecutan sino que se ejecutan en
una máquina virtual, de manera
que el entorno está más controlado.

D.R. © Universidad TecMilenio 5


Universidad Tec Milenio: Profesional
SB04003 – Computación III

Características de Java

Dinámico
Java está en constante evolución, consiguiéndose mejores
rendimientos e incorporando nuevas funcionalidades a
medida que Sun proporciona nuevas versiones.
Por otro lado hay muchas terceras compañías que van
proporcionando tanto software de pago, cómo libre para
diversas necesidades de los desarrolladores de Java.

Entorno de desarrollo Java


Existen distintos programas comerciales que permiten
desarrollar código Java.
La compañía Sun, creadora de Java, distribuye
gratuitamente el Java(tm) Development Kit (JDK).
Se trata de un conjunto de programas y librerías que
permite desarrollar, compilar y ejecutar programas en
Java.

El proceso de desarrollo. The Java tutorials. About the Java


technology.
Solamente para uso educativo

D.R. © Universidad TecMilenio 6


Universidad Tec Milenio: Profesional
SB04003 – Computación III

El compilador de Java

Incorpora además la posibilidad de ejecutar parcialmente


el programa, deteniendo la ejecución en el punto deseado
y estudiando en cada momento el valor de cada una de las
variables (con el denominado debugger).

Existe también una versión reducida del JDK denominada


JRE (Java Runtime Environment) destinada únicamente a
ejecutar código Java (no permite compilar)
compilar).

Java Virtual Machine

A través de Java VM,


la misma aplicación
es capaz de ser
ejecutada en
múltiples
plataformas.

JVM (Java Virtual Machine) . The Java tutorials. About the Java technology.
Solamente para uso educativo

D.R. © Universidad TecMilenio 7


Universidad Tec Milenio: Profesional
SB04003 – Computación III

Java Virtual Machine


Debido a la existencia de distintos tipos de CPUs y a los
continuos cambios, era importante conseguir una
herramienta independiente del tipo de CPU utilizada.
Al programar en Java se desarrolla un código “neutro” que
no depende de cierto tipo de plataforma, el cual se ejecuta
sobre una “máquina hipotética o virtual” denominada Java
Virtual Machine (JVM).
Es la JVM quien interpreta el código neutro convirtiéndolo
a código particular de la CPU utilizada.
Un programador debe ser capaz de escribir un programa
programa,
compilar una vez y ejecutarlo en cualquier lugar;
celebración fiel a la consigna de Sun Microsystems, "Write
Once, Run Anywhere".

La variable PATH
El desarrollo y ejecución de aplicaciones en Java exige
que las herramientas para compilar (javac.exe) y ejecutar
(java.exe) se encuentren accesibles.

Si se desea compilar o ejecutar código en Java, el


directorio donde se encuentran estos programas (java.exe
y javac.exe) deberán encontrarse en el PATH.

Tecleando
ec ea do set PATH e en u
unaa ventana
e ta a de
Comandos de MS-DOS se muestran los
nombres de directorios incluidos
en dicha variable de entorno.

D.R. © Universidad TecMilenio 8


Universidad Tec Milenio: Profesional
SB04003 – Computación III

La variable CLASS PATH

Java utiliza además una nueva variable de entorno


denominada CLASSPATH, la cual determina dónde buscar
tanto las clases o librerías de Java (el API de Java) como
otras clases de usuario.

Si deseamos añadir más clases que no estén contenidas


en el JDK, hay que especificar el directorio alterno.

Creando la primera aplicación

HelloWorldApp, El objetivo de la primera aplicación es


desplegar "Hola
Hola mundo!
mundo!".. Siendo necesario:

Crear el código fuente: escrito en Java, donde todos los


desarrolladores lo pueden entender y se puede utilizar
cualquier editor de texto.

2. Compilar el código fuente convirtiéndolo en un .class.


El compilador (javac) toma el código fuente y lo traduce a
instrucciones para que JVM lo pueda interpretar. Estas
instrucciones son conocidas como bytecodes.

D.R. © Universidad TecMilenio 9


Universidad Tec Milenio: Profesional
SB04003 – Computación III

Creando la primera aplicación

3. Ejecutar el programa. El intérprete


de Java (java) utiliza JVM para ejecutar la
aplicación de “Hola mundo”.

Cierre

La tecnología Java, en la actualidad es la más utilizada en


desarrollar aplicaciones que se encuentran montadas en el
Internet, tanto para uso común como para los grandes
corporativos.
Lo anterior obedece a su gran potencial de reutilización del
código, portabilidad, confiabilidad y seguridad de las
mismas.

D.R. © Universidad TecMilenio 10


Universidad Tec Milenio: Profesional
SB04003 – Computación III

Cierre

Reflexiona en las siguientes preguntas:


– ¿Quiénes fueron los creadores de la tecnología
Java?
– Cuando un programa de Java es ejecutado ¿cuáles
son los pasos de la ejecución?
– ¿Qué es la JVM y para qué funciona?
– ¿Cuál es la regla importante que debemos
considerar en la nomenclatura de nuestro programa
fuente Java?

21

Para aprender más

SunSITE México, sitio con el objetivo de Intercambio de


Tecnología
g e Información. Contiene una reserva de tutoriales
de Java.
http://sunsite.unam.mx/archivos/java/java.doc

El tutorial Java: es una guía práctica para programadores.


htt //j
http://java.sun.com/docs/books/tutorial/getStarted/index.html
/d /b k /t t i l/ tSt t d/i d ht l

22

D.R. © Universidad TecMilenio 11


Universidad Tec Milenio: Profesional
SB04003 – Computación III

Referencias bibliográficas

Libro
Bruce,, E. (2007).
( ) Piensa en Java. ((4ª Ed.)) Madrid.:
Prentice Hall.

Liga de Internet
• The Java Tutorial, Fourth edition. Noviembre 2008
http://java.sun.com/docs/books/tutorial/

• Diagrama interactivo y mapa conceptual de la


tecnología Java, versión 1.0
http://java.sun.com/new2java/javamap/intro.html

Créditos
Diseño de contenido:
Ing. Mónica Yolanda Orona González, MSC

Coordinador académico del área:


L.I. Oscar Andrés Rodríguez Múgica, MATI

Edición de contenido:
Lic. Ana Ancira Torres, MEE

Edición de texto:
Lic. Dulce Fátima Camacho, MEE

Diseño Gráfico:
Ing. Felipe Leyva Silva

D.R. © Universidad TecMilenio 12

You might also like