Está en la página 1de 30

Instituto Superior ISAC

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

Mdulo 1

Descripcin de la tecnologa Java


Objetivos

m
lco

El estudio de este mdulo le proporcionar los conocimientos necesarios


para:

ai
m
g
Describir los conceptos fundamentales del lenguaje de programacin
@
o
Java.
v
ide
e
u
u
n nt laGtecnologa
o
Enumerar los tres grupos de productos que
componen
i
r
ar tude
Java.
b

S
ezque forman
v
s
i
Resumir cada una de las siete
fases
el ciclo de vida de los
a
h e th
c

productos.
los to us
r
a
(c unanintroduccin
e
s
o
Este mdulo contiene
a la tecnologa Java, el lenguaje
v
e
e
c
i
u
de programacin
l y el ciclo de vida habitual en el desarrollo de las
n blJava
e
o
i
r
aplicaciones.
ar fera
B
ez trans
v
a
h onC
rlos as a n
a
C
h

1-1
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

Instituto Superior ISAC


Comprobacin de los progresos

Comprobacin de los progresos


Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

Introduzca un nmero del 1 al 5 en la columna Principio del mdulo


a fin de evaluar su capacidad para cumplir cada uno de los objetivos
propuestos. Al finalizar el mdulo, vuelva a evaluar sus capacidades y
determine la mejora de conocimientos conseguida por cada objetivo.

Objetivos del mdulo

Evaluacin
(1 = No puedo cumplir
este objetivo,
5 = Puedo cumplir este
objetivo)
Principio
del mdulo

Final del
mdulo

Mejora de
conocimientos
(Final
Principio)

ai
m
g
Describir los conceptos
@
o
v
fundamentales del lenguaje
ide
e
u
u
n nt G
de programacin Java.
o
i
r
ar tude
b
Enumerar los tres grupos de

ez is S
productos que componen la
v
a
tecnologa Java.
ch se th

s
rlo to u
a
Resumir cada una de las
siete
c
(
e
fases que forman v
elociclo deens
e
u
lic
vida de los productos.
n
e
o
l
i
arr ferab
B
nsde esta evaluacin ayudar a los Servicios de Formacin Sun
eElz resultado
v
a
r
a
t
- a determinar la efectividad de su formacin. Por favor, indique una
h (SES)
n
C
o
escasa
mejora de conocimientos (un 0 o un 1 en la columna de la derecha)
s an
o
l
r
que el profesor considere la necesidad de presentar ms material
Ca has sidequiere
apoyo durante las clases. Asimismo, esta informacin se enviar al
grupo de elaboracin de cursos de SES para revisar el temario de este
curso.

1-2

Programacin Java para no Programadores


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

m
lco

Instituto Superior ISAC


Comprobacin de los progresos

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

Notas

m
lco

ai
m
g
@
o
v
ide
e
u
u
n nt G
o
i
r
ar tude
b

ez is S
v
a
ch se th

s
rlo to u
a
c
( nse
o
v
e
ice
u
l
n
e
rrio erabl
a
B sf
z
e
av n-tran
h
C no
s
o
l
r as a
a
C
h

Descripcin de la tecnologa Java


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

1-3

Instituto Superior ISAC


Aspectos relevantes

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

Aspectos relevantes

!
?

Discusin Las preguntas siguientes son relevantes para comprender en


qu consiste la tecnologa Java:

Qu significan para usted las siguientes palabras:

Seguro

Orientado a objetos

Independiente

Dependiente

Distribuido

ai
m
g
@
o
v
ide
e
u
u
n nt G
o
i
r
ar tude
b

ez is S
v
a
ch se th

s
rlo to u
a
c
( nse
o
v
e
ice
u
l
n
e
rrio erabl
a
B sf
z
e
av n-tran
h
C no
s
o
l
r as a
a
C
h

1-4

Qu fases intervienen en la construccin de algo, por ejemplo, una


casa o un mueble?

Programacin Java para no Programadores


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

m
lco

Instituto Superior ISAC


Otros recursos

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

Otros recursos
Otros recursos Los documentos siguientes proporcionan informacin
complementaria sobre los temas tratados en este mdulo:

Feature Stories About Java Technology. [En la web]. Disponible en:


http://java.sun.com/features/index.html
Una historia sobre las personas que hicieron posible el desarrollo de
la tecnologa Java, escrita con motivo del quinto aniversario de esta
tecnologa.

Tutorial de Java. [En la web]. Disponible en:


http://java.sun.com/docs/books/tutorial/

m
lco

ai
m
g
@
o
v
ide
e
u
u
n nt G
o
i
r
ar tude
b

ez is S
v
a
ch se th

s
rlo to u
a
c
( nse
o
v
e
ice
u
l
n
e
rrio erabl
a
B sf
z
e
av n-tran
h
C no
s
o
l
r as a
a
C
h
Una gua prctica para programadores que incluye cientos de
ejemplos y ejercicios completos.

Descripcin de la tecnologa Java


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

1-5

Instituto Superior ISAC


Conceptos fundamentales sobre el lenguaje Java

Conceptos fundamentales sobre el lenguaje Java


Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

El lenguaje de programacin Java naci en 1991 como parte de un proyecto


de investigacin destinado a desarrollar un lenguaje de programacin
llamado Oak (en espaol, roble) que resolvera la falta de comunicacin
entre numerosos dispositivos de consumo tales como las videograbadoras
y los televisores. En concreto, un equipo de expertos en desarrollo de
software (el equipo Green) quera crear un lenguaje que permitiese a
diferentes dispositivos de consumo dotados de diferentes unidades de
procesamiento central (CPU) compartir las mismas mejoras del software.
Lo saba? James Gosling, uno de los miembros del equipo, denomin
Oak al nuevo lenguaje como referencia al roble que vea a travs de su
ventana.

ai
m
g
Este intento inicial fracas despus de varios acuerdos fallidos @
con varias
o
v obligado
idea
compaas de dispositivos de consumo. El equipo Green seevio
u
u
n nt G
buscar otro mercado para su nuevo lenguaje.
o
i
r
ar tude
b

S la World Wide Web


ez el uso
Afortunadamente, empezaba a popularizarse
de
v
s
i
a
h
tperfecto
y el equipo reconoci que el lenguaje
para desarrollar
chOaksera

e
s
componentes multimedia que
omejorasen
uel contenido de las pginas web.
rllenguaje
o
a
t
Los primeros desarrollos
del
Oak
se aplicaron a estas pequeas
c
( nse
o
aplicaciones, llamadas
applets,
que usaban Internet
ce yenloselprogramadores
i
uesev convertira
l
adoptaron o
lonque
lenguaje
de
programacin
Java.
e
l
i
r
b
ar fera
B
z ans
eNota
v
la historia del lenguaje Java, visite
a
-tr Para conocer con msydetalle
h http://www.java.sun.com
n
C
realice
una bsqueda de la siguiente frase
o
s
n
o
l
a
r
History of Java.
Ca has
El lenguaje Java se dise para ser:

1-6

Orientado a objetos

Distribuido

Simple

Multihilo

Seguro

Independiente de la plataforma

Programacin Java para no Programadores


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

m
lco

Instituto Superior ISAC


Conceptos fundamentales sobre el lenguaje Java

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

Orientado a objetos
Java es un lenguaje de programacin orientada a objetos (OO) porque uno
de los principales objetivos del programador de aplicaciones Java es crear
objetos, fragmentos de cdigo autnomos que puedan interaccionar con
otros objetos para resolver un problema. La programacin OO empez con
el lenguaje SIMULA-67 en 1967 y ha dado lugar a lenguajes tan populares
como C++, en el que se ha inspirado ligeramente el lenguaje Java.
La programacin OO se diferencia de la programacin por procedimientos
en que sta ltima se centra en la secuencia de pasos del cdigo necesarios
para resolver un problema, mientras que los lenguajes orientados a objetos
se centran en la creacin e interaccin de los objetos.

com

En la figura siguiente se muestra la importancia que tiene la secuenciailde


operaciones en un programa basado en procedimientos.
ma
g
o@ ide
Paso 1
1
v
e
u t Gu
n
o
i
rr den
a
b

tu
z
S
e
Paso 2
2
av this
h
c
s use
o
l
r
to
ca
3 o (Paso 3nse
v ice
e
u
n ble l
o
i
r
ar fera Paso 4
B
z ans 4
e
v
ha on-tr
C
rlos as a n
a
Paso 5
5
C
h
Figura 1-1

Importancia de la secuencia en un programa basado en


procedimientos

Descripcin de la tecnologa Java


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

1-7

Instituto Superior ISAC


Conceptos fundamentales sobre el lenguaje Java
En la figura siguiente se ilustra la importancia de los objetos y sus
interacciones en un programa orientado a objetos.

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

Objeto
Objeto

Objeto
Objeto

Objeto
Objeto

ai
m
g
@
o
v
de
i
e
u
u
Figura 1-2 Importancia de los objetos y sus interacciones
un
G
n en
t
o
i
n
r
programa OO
ar tude
b

ez is S
v
a
ch se th
Distribuido

s
rlo to u
a
c
( nsporque
e da cabida a tecnologas de
o
Java es un lenguaje
distribuido
v
e tales como
ice RMI (Remote Method Invocation),
u
redes distribuidas
l
n
e
l Request Broker Architecture) y URL (Universal
rio rabObject
CORBAr(Common
a
B Locator).
Resource
fe
s
z
n
e
av n-tra
h
C nAsimismo,
la capacidad de carga dinmica de clases de Java permite
o
s
o
l
a
descargar
fragmentos
de cdigo a travs de Internet y ejecutarlas en un
r as
a
C
equipo informtico de tipo PC.
h
Nota Los trminos tecnologa Java y lenguaje de programacin Java no
se refieren a lo mismo. La tecnologa Java hace referencia a una familia de
productos Java de la que el lenguaje de programacin es slo una parte.

1-8

Programacin Java para no Programadores


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

m
lco

Instituto Superior ISAC


Conceptos fundamentales sobre el lenguaje Java
En la figura siguiente se ilustran las propiedades distribuidas de la
tecnologa Java.

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

Ejecucin

Applet

Figura 1-3

Applet

El lenguaje de programacin Java es distribuido

Simple

m
lco

ai
m
g
@
o
v
ide
e
u
u
n nt G
o
i
r
ar tude
b

ez is S
v
a
ch se th

s
rlo to u
a
c
( nse
o
v
e
ice
u
l
n
e
rrio erabl
a
B sf
z
e
av n-tran
h
C no
s
o
l
r as a
a
C
h

El lenguaje Java es simple porque sus diseadores han suprimido algunas


de las construcciones de programacin ms complejas o difciles de otros
lenguajes populares. Por ejemplo, Java no permite a los programadores
manejar directamente los punteros a las direcciones de memoria, una
funcin compleja y, a menudo, mal utilizada de los lenguajes C y C++.
En su lugar, slo les permite manejar objetos utilizando referencias a
objetos. Adems utiliza una funcin denominada reciclaje de memoria
dinmica (garbage collector) para hacer el seguimiento de los objetos a los
que ya no se hace referencia y eliminarlos. Otro aspecto que hace de Java
un lenguaje simple es que los tipos de datos booleanos (boolean) slo
pueden tener los valores true o false, frente a otros lenguajes donde
tambin se admiten los valores 1 y 0.

Descripcin de la tecnologa Java


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

1-9

Instituto Superior ISAC


Conceptos fundamentales sobre el lenguaje Java

Multihilo

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

El lenguaje Java admite procesamiento multihilo (multithread), es decir,


la ejecucin simultnea de tareas diferentes tales como consultar una base
de datos y reproducir en la pantalla una interfaz de usuario. Gracias a la
ejecucin multihilo, los programas Java pueden hacer un uso muy eficiente
de los recursos del sistema.
En la figura siguiente se ilustra el procesamiento multihilo del lenguaje Java.
Programa Java

m
lco

ai
m
g
@
o
v
ide
e
u
u
n nt G
o
i
r
ar tude
b

ez is S
v
a
ch se th Tarea

Tarea
Tarea
s
rlo to u
a
c
( nse
o
v
e
ice
u
Base
l
n
e
bl
rriode edatos
a
Impresora
a
r
Interfaz grfica
B sf
z
de usuario
e tran
v
a
h Figura
n
C
o
1-4 El lenguaje de programacin Java es multihilo
s an
o
l
r
Ca has
Seguro

Los programas Java son seguros porque el lenguaje Java, con el entorno
en el que se ejecutan los programas con esta tecnologa, aplica medidas de
seguridad para proteger el cdigo de posibles ataques. Estas medidas
incluyen:

1-10

Prohibir la manipulacin de la memoria mediante el uso de punteros.

Impedir que los programas distribuidos, por ejemplo los applets,


puedan hacer operaciones de lectura y escritura en el disco duro de
un equipo.

Programacin Java para no Programadores


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

Instituto Superior ISAC

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

Conceptos fundamentales sobre el lenguaje Java

Verificar que todos los programas Java contengan cdigo vlido.

Facilitar el uso de firmas digitales. Una empresa o una persona


puede firmar el cdigo de Java de forma que quien reciba el
cdigo pueda verificar la legitimidad del mismo.

En la figura siguiente puede verse cmo la seguridad integrada en los


programas Java impide ejecutar cdigo no vlido en un equipo.

Applet

Applet

m
lco

ai
m
g
@
o
v
ide
e
u
Independiente de la plataforma
u
n nt G
o
i
r
r
e
alenguajes
dnormalmente
b
u
Los programas escritos en la mayora de
los

t
Sejecutarse en diferentes
ez poder
v
s
necesitan numerosas modificaciones
para
i
a
th
ch (la combinacin
tipos de plataformas informticas
de una CPU y un

e
s
s
o
u
sistema operativo). Estardependencia
plataforma se produce porque
a l exigen
toquedeselaescriba
c
(
e
la mayora de los lenguajes
el cdigo especfico para
s
o
n
v
la plataforma
tan populares como C y C++ obligan
esubyacente.
ice Lenguajes
u
l
n
e
al programador
a
compilar
y
vincular
sus programas, lo que da lugar a un
io abl
r
r
a feejecutable
r
programa
exclusivo de una plataforma. Al revs que C y C++,
B
s
z
el
lenguaje
Java
es
independiente
de la plataforma.
e tran
v
a
h onC
rlos as a n Programas dependientes de la plataforma
a
C
h
Figura 1-5

No es posible ejecutar cdigo que no sea vlido

Un compilador es una aplicacin que convierte un programa escrito por


un programador en un cdigo especfico para la CPU denominado cdigo
mquina. Estos archivos especficos de la plataforma (archivos binarios)
a menudo se combinan con otros archivos, tales como bibliotecas de cdigo
preelaborado, mediante un vinculador para crear un programa dependiente
de la plataforma, llamado ejecutable, que el usuario final puede ejecutar.

Descripcin de la tecnologa Java


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

1-11

Instituto Superior ISAC


Conceptos fundamentales sobre el lenguaje Java

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

En la figura siguiente puede verse la forma en que un compilador crea un


archivo binario.
Binario
de
Solaris
1001010

Compilador de C
para Solaris

Binario
de
Linux
0001010

Cdigo
en C
Compilador de C
para Linux

m
lco

ai
m
g
@
o
Compilador de C para
v
de
i
e
u
u
Microsoft Windows
n nt G
o
i
r
ar tude
b

ez is S
v
a
Figura 1-6 Creacin de un archivo
binario
ch se th

s
lo to u
rcmo
a
c
La figura siguiente muestra
( nsese vincula un archivo binario a las
o
bibliotecas para e
crear
dependiente de la plataforma.
v uniejecutable
e
c
u
l
ion able
r
r
Bibliotecas
a fer
B
Binario
de proyectos
z deans
Ejecutable
e
v
r
de
a
t
Vinculador
h onSolaris
C
Solaris
de Solaris
s a n 0001010
o
l
r
Ca has
Binario
de
Windows
0101001

Binario
de
Linux
0001010

Binario
de
Windows
0101001

Figura 1-7

1-12

Bibliotecas
de proyectos
Vinculador
de Linux

Bibliotecas
de proyectos
Vinculador
de Windows

Ejecutable
de
Linux

Ejecutable
de
Windows

Creacin de un ejecutable

Programacin Java para no Programadores


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

Instituto Superior ISAC


Conceptos fundamentales sobre el lenguaje Java
En la figura siguiente se ilustra cmo los ejecutables dependientes de la
plataforma pueden ejecutarse solamente en una plataforma.

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

Estacin de
trabajo Solaris
Ejecutable
de
Solaris
Estacin de
trabajo Linux
Ejecutable
de
Linux

m
lco

Estacin de
trabajo Windows

ai
m
g
@
Ejecutable
o
v
ide
e
de
u
u
n nt G
Windows
o
i
r
ar tude
b

ez is S
v
a
th
ch sejecutable
archivo
e
s
Figura 1-8 Ejecucin deoun
u
rl
o
a
t
c
( nse
o
v
Programaseindependientes
de la plataforma
ice
u
l
n
e
bl puede ejecutarse, con escasas o ninguna modificacin,
rrio eraJava
Un
programa
a
B
sfcombinaciones de CPU y sistemas operativos como, por ejemplo,
z
en varias
n
e
v
a
r
operativo Solaris con un procesador SPARC , MacOS en un
ha onel-tsistema
C
procesador
Motorola y Microsoft Windows en un procesador Intel.
s an
o
l
r
Ca has

Nota Posiblemente sea preciso realizar algunas modificaciones para hacer


que un programa Java sea independiente de la plataforma. Por ejemplo,
puede ser necesario cambiar los nombres de los directorios a fin de que
utilicen los delimitadores adecuados (barras inclinadas e invertidas) para el
sistema operativo de base.

Descripcin de la tecnologa Java


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

1-13

Instituto Superior ISAC


Conceptos fundamentales sobre el lenguaje Java

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

Al igual que ocurre con los programas C y C++, los programas Java
tambin se compilan utilizando un compilador especfico para la tecnologa
Java. No obstante, el formato resultante de un programa Java compilado
es cdigo de byte Java independiente de la plataforma en lugar de cdigo
mquina especfico de la CPU. Una vez generado el cdigo de byte, se
interpreta (ejecuta) a travs de un intrprete llamado mquina virtual o
VM. Una mquina virtual es un programa especfico de la plataforma que
lee el cdigo de byte (independiente de la plataforma) y lo ejecuta en una
plataforma concreta. Por este motivo, el lenguaje Java a menudo se define
como un lenguaje interpretado y los programas Java se consideran como
transportables o ejecutables en cualquier plataforma. Entre los lenguajes
interpretados se incluye tambin Perl.
Lo saba? El trmino mquina virtual se debe a que es un componente
de software que ejecuta cdigo, una tarea normalmente realizada por la
CPU o la mquina de hardware.

ai
m
g
@
o
v
ide
e
u
u
G
n plataforma,
Para que los programas Java sean independientes deola
t
i
n
r
es preciso disponer de una mquina virtual llamada
ar mquina
de virtual de
b
u

t
Java (JVM) en cada plataforma donde se
a ejecutar.
La mquina
S
ezvayan
v
s
i
a
virtual de Java es la encargada de interpretar
el
cdigo
Java,
cargar las
th
h
c

e
clases correspondientes y ejecutar
programas
Java.
us
los los
r
o
a
t
(c Java
enecesita algo ms que una mquina
s
o
Sin embargo, un programa
n
v
e ejecutarse.
ice Tambin precisa una serie de bibliotecas
u
l
virtual de Java
para
n
e
l
io abespecficas
de clases
para la plataforma. Las bibliotecas de clases
rrestndar
a
r
e
B
f
de
sonsbibliotecas
de cdigo preescrito que puede combinarse con el
z Javaaelaborado
n
e
v
cdigo
por
el
programador para crear aplicaciones slidas.
a n-tr
h
C no
s
o
l
r as a La combinacin del software JVM y estas bibliotecas de clases se conocen
a
C
como el entorno de tiempo de ejecucin de Java (JRE). Sun Microsystems
h
proporciona entornos de ejecucin de Java para numerosas plataformas
de uso comn.
Lo saba? A menudo, la tecnologa Java se considera una plataforma
porque puede realizar todas las tareas de una CPU y un sistema operativo.
Sun Microsystems desarroll un prototipo de sistema informtico con una
CPU llamado JavaStation, que slo entiende cdigo de byte de Java.

1-14

Programacin Java para no Programadores


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

m
lco

Instituto Superior ISAC


Conceptos fundamentales sobre el lenguaje Java

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

En la figura siguiente puede verse cmo el compilador de Java crea


cdigo de byte.

Cdigo
Java
(archivo
.java)

Figura 1-9

Compilador de Java

Cdigo
de byte
Java
(archivo
.class)

Creacin de cdigo de byte en Java

m
lco

ai
m
g
@
o
v
ide
e
u
u
n nt G
o
i
r
ar tude
b

ez is S
v
a
ch se th

s
rlo to u
a
c
( nse
o
v
e
ice
u
l
n
e
rrio erabl
a
B sf
z
e
av n-tran
h
C no
s
o
l
r as a
a
C
h

Descripcin de la tecnologa Java


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

1-15

Instituto Superior ISAC


Conceptos fundamentales sobre el lenguaje Java
En la figura siguiente se muestra cmo un archivo de cdigo de byte de
Java se ejecuta en varias plataformas donde existe un entorno de ejecucin
de Java.

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

Estacin de
trabajo Solaris

JRE

Estacin de
trabajo Linux
Cdigo
de byte
Java
(archivo
.class)

JRE

m
lco

ai
m
g
@
o
JRE
v
ide
e
u
u
n nt G
o
i
r
ar tude
b

ez is S
v
a
ch se th

s
u en un entorno de ejecucin
Figura 1-10 Ejecucin deacdigo
rlo detobyte
c
e
de Javao (
s
n
v
e
ice
u
l
n
e
l
La capacidad
los
Java para ejecutarse en todas las plataformas
bprogramas
rrio de
a
a
r
e
B
es fundamental
para
explicar
el
concepto del eslogan Write Once, Run
f
s
z
n
e
av Anywhere
tra de Sun Microsystems.
h
n
C no
s
o
l
r as a Nota Los trminos API (interfaz de programacin de aplicaciones) y
a
C
h
Estacin de
trabajo Windows

biblioteca de clases pueden usarse indistintamente. Asimismo, un API


puede hacer referencia a una sola rutina dentro de una biblioteca de cdigo.

1-16

Programacin Java para no Programadores


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

Instituto Superior ISAC


Grupos de productos de la tecnologa Java

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

Grupos de productos de la tecnologa Java


Sun Microsystems proporciona una lnea completa de productos de
tecnologa Java que abarcan desde kits de desarrollo de programas Java
hasta entornos de emulacin (pruebas) para dispositivos de consumo tales
como los telfonos celulares.

Identificacin de los grupos de productos de la


tecnologa Java
Las tecnologas Java, tales como la mquina virtual de Java, se incluyen
(de formas distintas) en tres grupos diferentes de productos, cada uno de
ellos diseado para atender a las necesidades de un determinado
segmento de mercado:

m
lco

ai
m
g
@
Plataforma Java, Standard Edition (Java SE): permite
o
v
ide
e
u
desarrollar applets y aplicaciones que se ejecutan,
respectivamente,
u
G
n sobremesa.
t
o
i
en navegadores web y equipos informticos
de
n
r
ar tude
desoftware (SDK)
Por ejemplo, es posible usar el kit z
deb
desarrollo
S para PC.
e de itexto
v
s
de Java SE para crear un procesador
a
ch se th

s
rlo to u
a
c
( las aplicaciones
e difieren en varios aspectos. En primer
Nota Los applets y
s
o
n
v
lugar, los applets
e se ejecutan
ce dentro de un navegador web, mientras que
i
u
l
n
e
las aplicaciones
o absel ejecutan en un sistema operativo. Aunque este curso se
rrifundamentalmente
a
centra
en el desarrollo de aplicaciones, la mayora de la
B sfer
z
que contiene puede aplicarse tambin al desarrollo de applets.
ave ninformacin
tran
h
C no
s
Plataforma Java, Enterprise Edition (Java EE): permite crear
o
l
r as a
a
grandes aplicaciones empresariales distribuidas para los lados cliente
C
h

y servidor. Por ejemplo, el SDK de Java EE puede utilizarse para crear


una aplicacin de comercio electrnico que pueda utilizarse en el sitio
web de una compaa comercial.

Plataforma Java, Micro Edition (Java ME): permite crear


aplicaciones para dispositivos de consumo de recursos limitados.
Por ejemplo, el SDK de Java ME puede utilizarse para crear un juego
que se ejecute en un telfono mvil.

Descripcin de la tecnologa Java


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

1-17

Instituto Superior ISAC


Grupos de productos de la tecnologa Java
La figura siguiente muestra los tres grupos de productos de la tecnologa
Java y los tipos de dispositivos a los que van dirigidos.

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

Java EE

Java SE

Soluciones empresariales
Comercio electrnico
eBusiness

Soluciones de escritorio
Aplicaciones independientes
Applets

Java ME

Soluciones de consumo
Telfonos celulares
PDA
Descodificadores de TV
Navegadores por GPS

Grupos de productos de la tecnologa Java

m
lco

ai
m
g
Figura 1-11 Grupos de productos de la tecnologa Java
@
o
v
ide
e
u
u
G un kit
nJava incluye
Entre otras tecnologas, cada edicin de la plataforma
t
o
i
n
r
de desarrollo de software (SDK) con el que esbposible
ar tcrear,
decompilar y
u

ejecutar programas Java en una plataforma


S
ezdeterminada.
v
s
i
a
ch se th

s
rlo to u de tecnologa Java
a
Eleccin del grupo de
productos
c
( nse
o
v
correcto
e
ice
u
l
n
e
rio rabl
r
a
Aunque
B puede
feque muchos programadores de Java se especialicen en el
s
z
n
e
desarrollo
de
a aplicaciones para un determinado mercado, normalmente
r
av todos
t
h
C non ellos empiezan sus carreras creando aplicaciones o applets para PC.
s
tanto, el SDK de Java SE es el grupo de productos que utilizan la
rlo as a Por
a
mayora de los programadores cuando aprenden a manejar el lenguaje Java.
C
h
TM

1-18

Programacin Java para no Programadores


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

Instituto Superior ISAC


Grupos de productos de la tecnologa Java

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

Uso de los componentes del SDK de la plataforma


Java, Standard Edition
Sun Microsystems ha desarrollado una versin del SDK de la plataforma
Java, Standard Edition para Solaris y el procesador SPARC (32 y
64 bits), as como para los sistemas operativos Solaris, Linux y Microsoft
Windows ejecutados en procesadores (32 y 64 bits) de las compaas
Intel Corporation y Advanced Micro Devices, Incorporated. El SDK de
la plataforma Java, Standard Edition incluye lo siguiente:

El entorno de ejecucin de Java:

Una mquina virtual de Java para la plataforma que elija.

Bibliotecas de clases de Java para la plataforma que elija.

m
lco

ai
m
La documentacin de la biblioteca de clases (API) de Javag
(descarga
@
e
o
por separado)
v
d
i
e
u
u paratcrear
G
n
Herramientas suplementarias, como las utilizadas
o
i
r denJava archivos
r
a
de almacenamiento Java (JAR) y depurar
programas
b Stu
z
e
Ejemplos de programas Javaav
is
h
t
h
c
s use
o
l
r
a que
tolos programas Java se ejecuten en todos
c
(
e
Lo saba? Para
garantizar
s
n mquina virtual de Java y una biblioteca
vo haya
e
e
los equiposudonde
una
c
i
l
nde Java,
e
o
l
de clases
tanto el software de la JVM como las bibliotecas de
i
r
b
a
ar deben
rcumplir
clases
las especificaciones del lenguaje Java y la mquina
e
B
f
s
z
n
e
virtual
de
Java.
Estas
especificaciones estn disponibles para las empresas
av nque
traadquieran la licencia
h
de la tecnologa Java y quieran crear su propio
C no software de JVM y sus propios
s
compiladores. De hecho, Sun Microsystems
rlo as a
a
tuvo que seguir sus propias especificaciones para crear un entorno de
C
h

Un compilador de Java

ejecucin de Java para Solaris en el procesador SPARC y para Windows


en el procesador Intel.
Demostracin Su profesor le mostrar cuatro tipo de aplicaciones
basadas en la tecnologa Java. Son las siguientes:

Aplicacin del SDK de Java SE

Applet del SDK de Java SE

Aplicacin del SDK de Java EE

Aplicacin del SDK de Java ME

Descripcin de la tecnologa Java


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

1-19

Instituto Superior ISAC


Grupos de productos de la tecnologa Java

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

Al ver la demostracin, debera prestar especial atencin a:

La forma en que se ejecuta el applet o la aplicacin (mediante


comandos, iconos...?)

El lugar donde se ejecuta el applet o la aplicacin (en un navegador


web, un dispositivo de consumo...?)

m
lco

ai
m
g
@
o
v
ide
e
u
u
n nt G
o
i
r
ar tude
b

ez is S
v
a
ch se th

s
rlo to u
a
c
( nse
o
v
e
ice
u
l
n
e
rrio erabl
a
B sf
z
e
av n-tran
h
C no
s
o
l
r as a
a
C
h

1-20

Programacin Java para no Programadores


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

Instituto Superior ISAC


Grupos de productos de la tecnologa Java

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

Autoevaluacin Establezca las correspondencias adecuadas entre los


trminos y sus definiciones.
Definicin

Trmino

Se compone de la mquina virtual de Java y


bibliotecas de clases de Java

Mquina virtual de
Java

Manipula objetos en lugar de punteros

Applet

Ejecuta cdigo de byte independiente de la


plataforma

Compilador

Elimina de la memoria objetos a los que no se


hace referencia

Referencia

Se ejecuta en un navegador web

Cdigo de byte

Crea cdigo de byte de Java

Entorno de ejecucin
de Java

m
lco

ai
m
g
@
o
v
ide
e
u
u
n ntdeGmemoria
Lo crea el compilador y lo ejecuta la mquina ioReciclaje
r
virtual de Java
ar dinmica
de
b
u

t
ez is S
v
a
ch se th

s
rlo to u
a
c
( nse
o
v
e
ice
u
l
n
e
rrio erabl
a
B sf
z
e
av n-tran
h
C no
s
o
l
r as a
a
C
h

Descripcin de la tecnologa Java


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

1-21

Instituto Superior ISAC


Fases del ciclo de vida de los productos

Fases del ciclo de vida de los productos


Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

El ciclo de vida de los productos (Product Life Cycle o PLC) representa un


conjunto de fases aceptadas1 por la industria que un programador debera
seguir al desarrollar cualquier producto nuevo. El ciclo se compone de
siete fases. Son las siguientes:
1.

Anlisis

2.

Diseo

3.

Desarrollo

4.

Comprobacin

5.

Implementacin

6.

Mantenimiento

7.

Fin del ciclo de vida (EOL)

ai
m
g
@
o
v
ide
e
u
u
n nt G
o
i
r
ar tude
b

ez is S
v
a
ch se th

s
rlo to u
a
c
( nse
o
v
e
ice
u
l
n
e
rrio erabl
a
B sf
z
e
av n-tran
h
C no
s
o
l
r as a
a
C
h

1.

1-22

El ciclo de vida de los productos slo es una filosofa para sistematizar las fases
de desarrollo de nuevos productos. Existen otras tales como: Rational Unified
Process, XP (Extreme Programming) y TDD (Test Driven Design).

Programacin Java para no Programadores


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

m
lco

Instituto Superior ISAC


Fases del ciclo de vida de los productos

Fase de anlisis

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

El anlisis es el proceso de investigar un problema que se pretende


resolver con un producto. Entre otras tareas, consiste en:

Definir claramente el problema que se quiere resolver, el nicho de


mercado al que se dirige o el sistema que se quiere crear. Los lmites
del problema tambin se conocen como el mbito del proyecto.

Identificar los subcomponentes fundamentales que forman parte de


la totalidad del producto.

En la figura siguiente se ilustra la fase de anlisis.

m
lco

ai
m
g
@
o
v
ide
e
u
u
n nt G
o
i
r
Componentes
ar tude
Idea o problema
b

principales
ez is S
v
a
ch se th

s
rlo to u
a
c
( nse
o
v
e
ice
u
l
n
e
rrio erabl
a
B sf
z
e
av n-tran
h
C no Figura 1-12 Fase de anlisis del ciclo de vida de los productos
s
o
l
r as a
a
C
h

Descripcin de la tecnologa Java


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

1-23

Instituto Superior ISAC


Fases del ciclo de vida de los productos

Fase de diseo

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

El diseo es el proceso de aplicar las conclusiones extradas en la fase de


anlisis al proyecto del producto. La tarea principal en la fase de diseo es
desarrollar planos o especificaciones de los productos o los componentes
del sistema.
En la figura siguiente se ilustra la fase de diseo.

m
lco

ai
m
g
@
o
v
ide
e
u
u
n nt G
o
i
r
ar tude
b

ez is S
v
a
Blueprint
ch se th

s
rlo to u
Plano maestro
a
c
( nse
Planos de los componentes
o
v
e
e
c
i
u
n ble l
Componentes principales
o
i
r
r era
a1-13
B
Figura
fFase de diseo del ciclo de vida de los productos
s
z
n
e
av n-tra
h
C no
s
o
l
r as a
a
C
h

1-24

Programacin Java para no Programadores


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

Instituto Superior ISAC


Fases del ciclo de vida de los productos

Fase de desarrollo

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

El desarrollo consiste en utilizar los planos creados durante la fase de


diseo para crear los componentes reales.
En la figura siguiente se ilustra la fase de desarrollo.

m
lco

ai
m
g
@
o
v
ide
e
u
u
n nt G
o
i
r
ar Componentes
de
b
u

t
Planos de los componentes
ez is S
v
a
th
chdel ciclo

e
Figura 1-14 Fase de desarrollo
de vida de los productos
s
s
rlo to u
a
c
( nse
o
v
e
ice
u
l
n
e
rrio erabl
a
B sf
z
e
av n-tran
h
C no
s
o
l
r as a
a
C
h

Descripcin de la tecnologa Java


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

1-25

Instituto Superior ISAC


Fases del ciclo de vida de los productos

Fase de comprobacin

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

La comprobacin consiste en asegurarse de que cada uno de los


componentes o la totalidad del producto cumplan los requisitos de
la especificacin creada durante la fase de diseo.
Nota Un buen anlisis del problema conduce a un buen diseo de la
solucin y a una reduccin del periodo de comprobacin y desarrollo.
Normalmente la comprobacin la realiza un equipo de personas distinto
de aquel que ha desarrollado el producto. Esto garantiza que se probar
de forma objetiva, eliminando la subjetividad del programador.

ai
m
g
@
o
v
ide
e
u
u
n nt G
o
i
r
ar tude
b

ez is S
v
a
ch se th

s
u
rlo Comprobacin
o
a
t
c
( nse
o
v
e
ice
u
l
n
e
rrio erabl
a
B sf
z
e
av n-tran
h
C no Componentes
s
o
l
r as a
a
C
h
En la figura siguiente se ilustra la fase de comprobacin.

Figura 1-15 Fase de comprobacin del ciclo de vida de los productos

Nota Las cuatro primeras fases del ciclo pueden aplicarse a cada uno de
los ejercicios de este curso. Para garantizar la realizacin correcta de los
ejercicios, debera (1) analizar el problema, (2) desarrollar un esquema
rpido o una especificacin para la solucin o el programa, (3) desarrollar
la solucin y (4) comprobar el programa.

1-26

Programacin Java para no Programadores


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

m
lco

Instituto Superior ISAC


Fases del ciclo de vida de los productos

Fase de implementacin

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

La implementacin consiste en poner el producto a disposicin de los


clientes.
En la figura siguiente se ilustra la fase de implementacin.

A la
ta
ven

m
lco

ai
m
g
@
o
v
ide
e
u
Producto
u
n nt G
o
i
r
ar tude
b

ez is S
v
a
ch se th

s
rlo to u
a
c
( nse
o
v
e
cela accin de distribuir un producto
La implementacin
ies
u
l
n
e
l los clientes puedan adquirirlo.
riotal forma
bque
rde
a
a
r
B
fe Fase de implementacin del ciclo de vida de los productos
s
z
Figuran1-16
e
av n-tra
h
C no
s
o
l
r as a
a
Lo saba? A menudo, la fase de implementacin se conoce en la
C
h
industria informtica como primera entrega al cliente o FCS.

Descripcin de la tecnologa Java


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

1-27

Instituto Superior ISAC


Fases del ciclo de vida de los productos

Fase de mantenimiento

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

El mantenimiento consiste en resolver los problemas del producto y


publicar nuevas versiones o revisiones del mismo.
En la figura siguiente se ilustra la fase de mantenimiento.

A la
ta
ven

m
lco

ai
m
g
Producto
@
o
v
ide
mejorado
e
u
u
n nt G
o
i
r
ar tude
b

ez is S
v
a
ch se th

s
rlo to u
a
c
( nse
o
v
e
ice
u
l
n
e
Figura 1-17
bdel mantenimiento del ciclo de vida de los productos
rrio eFase
a
a
r
B sf
z
e
av n-tran
h
C no
s
o
l
r as a
a
C
h

1-28

Programacin Java para no Programadores


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

Instituto Superior ISAC


Fases del ciclo de vida de los productos

Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

Fin del ciclo de vida (EOL)


Aunque el ciclo de vida de los productos no incluye una fase especfica
para iniciar un concepto o un proyecto, s la tiene para finalizarlo. El fin
del ciclo de vida o EOL consiste en realizar todas las tareas necesarias
para garantizar que clientes y empleados sean conscientes de que un
producto ha dejado de venderse y recibir asistencia tcnica, y de que hay
un nuevo producto disponible.
En la figura siguiente se ilustra la fase final del ciclo de vida de los
productos.

O
NUEV

m
lco

ai
m
g
@
o
v
ide
e
u
u
n nt G
o
i
r
ar tude
b

ez is S
v
a
ch se th

s
rlo to u
a
c
( nse
Producto
o
v
e
nuevo
ice
u
l
n
e
rrio erabl
a
B sf
z
e
av n-tran
h
C no
s
o
l
r as a
a
C
h
El fin del ciclo de vida implica sustituir el producto por otro recin desarrollado.
A la
a
vent

Figura 1-18 Fase final del ciclo de vida de los productos

Descripcin de la tecnologa Java


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

1-29

Instituto Superior ISAC


Fases del ciclo de vida de los productos

Por qu debe seguir las fases del ciclo de vida de los


productos?
Unauthorized reproduction or distribution prohibited Copyright 2014, Oracle and/or its affiliates

El PLC es una parte importante del desarrollo de los productos porque


ayuda a garantizar que stos se crearn y suministrarn de forma que se
reduzca el tiempo de salida al mercado, la calidad del producto sea alta y
se maximice el retorno de la inversin. Los desarrolladores que no siguen
sus directrices a menudo encuentran problemas que cuesta corregir y que
podran haberse evitado.
Nota Este curso no presenta las fases del ciclo en profundidad. No
obstante, todo lo que aprender a lo largo del mismo se enmarca en
alguna de ellas.

ai
m
g
@
o
v
ide
Autoevaluacin Haga corresponder cada tarea a la faseucorrespondiente
e
u
n nt G
del ciclo de vida de los productos.
o
i
r

ar tude
b

ez is S Fase
v
Tarea
a
ch se th

s
Crear un plano del producto
Comprobacin
rlo to u
a
c
(
e
s
o del problema
Determinar el mbito
Fin del ciclo de
n
v
e
e
c
i
u
vida
n ble l
o
i
r
ar problemas
ra de los clientes y agregar mejoras Anlisis
Corregir
e
B
f
ns que el producto ya no estar disponible Implementacin
ezComunicar
v
a
r
a
t
h onC
que el producto funcione como se indica en
Desarrollo
rlos as a n Hacer
a
una especificacin
C
h

1-30

Crear el producto

Diseo

Realizar la primera entrega del producto

Mantenimiento

Programacin Java para no Programadores


Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1

m
lco

También podría gustarte