Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
AGENDA
Historia de JAVA Iniciando el uso de JAVA Modelacin de la Realidad (Abstraccin) Elementos de Programacin Orientada a Objetos Elementos del Lenguaje JAVA Aplicaciones usando JAVA
GUI usando Swing Applets Threads cliente/servidor JDBC (base de datos) Servlets JSP
Presentacin
Historia de Java
Caractersticas de Java
.java .java .java
compilacin
.class .class .class
carga
Mquina Virtual de Java java.exe java appletviewer
ejecucin
UNIX Windows Solaris Linux
Hardware
Java es un lenguaje Orientado a Objetos basado en Clases, usa herencia simple, es multiplataforma e interpretado (mediante la JVM, Maquina Virtual de Java, Java Virtual Machine), tiene diferentes tipos de programas: consola, applets, servlets y beans; los applets y servlets se usan directamente en Internet
java.sun.com
el archivo: j2sdk-1_4_2-windows-i586.exe para Win98, 2000 jdk-1_5_0-windows-i586.exe para WinXP 1.5 o superior API (Application Program Interface, Interfase del Programador de Aplicaciones) de Java:
java.sun.com/api
Editar e invocador del compilador, se sugiere el uso de JCreator del sitio:
www.jcreator.com
Referencias de Java
Almanaque de Java www.javaalmanac.com El Libro electrnico Thinking in Java (Bruce Eckel)
www.mindview.net/Books/TIJ
Tutorial de Java (SUN) java.sun.com/docs/books/tutorial Sitio de Oscar Gonzlez www.cic.ipn.mx/ute/ogonzalez Tutorial de Java www.ulpgc.es/otros/tutoriales/java Sitio de Jess Olivares www.jesusolivares.com/java El libro 1001 Tips para programar en Java de Mark C. Chang
j2sdk-1_4_2-windows-i586.exe
o
jdk-1_5_0-windows-i586.exe
(durante la instalacin se sugiere dar las opciones por omisin)
La instalacin del Editor JCreator en Windows, se hace despus de instalar el compilador, requiere dar doble click al archivo:
setup.exe
(durante la instalacin se sugiere dar las opciones por omisin)
versin 3.5
Entrada/Salida de la Consola
import java.io.*; class Hola { public static void main(String args[])throws IOException { BufferedReader consola = new BufferedReader( new InputStreamReader(System.in)); // DESPLEGA UN INDICADOR PARA LEER UN DATO System.out.print("Dato> ");
// LEE UNA cadena DE LA CONSOLA String cadena = consola.readLine(); // DESPLEGA LA cadena LEIDA System.out.println("Hola " + cadena);
} }
a = Integer.parseInt(cadena);
// LEE EL dato B System.out.print("Dato B> "); String cadena = consola.readLine();
b = Integer.parseInt(cadena);
// DESPLEGA LA SUMA System.out.println( + a + + + b + = + } }
(a+b));
Modelacin de la Realidad
Abstraccin
REALIDAD
MODELO
La Abstraccin es una operacin mental que permite colocar en el plano de la mente, los detalles relevantes, de una parte de la realidad que interesa modelar (abstraer es simplificar)
Modelo
REALIDAD
MODELO
Un Modelo es una representacin abstracta de una parte de la realidad Se utiliza para conocer, entender, predecir, simular o explicar la realidad modelada
Modelacin
Datos
REALIDAD
MODELO
Acciones
Datos
y
Sistema de Informacin
Datos Entrada
Procesos Salida
Estructura
Un Sistema de Informacin es un modelo informtico con: entrada(s), salida(s), datos, procesos y la estructura
5 * 8+4
5 *(8+ 4)
Datos:
5 8 4 Procesos: * +
Estructura: es el orden en que aplican los procesos sobre los datos (representado con las lneas continuas)
La PDS* es un mtodo que se utiliza para encontrar los elementos de un Sistema de Informacin a partir del lenguaje del usuario.
Se buscan datos, procesos y estructuras
* autor: Fernando Galindo Soria
Encapsulacin
Se llama Encapsulacin cuando se colocan juntos propiedades y mtodos en una unidad. Se adicionan mtodos (lneas punteadas) que permiten asignar o recuperar valores de las propiedades A partir de esta encapsulacin se genera el concepto de clase
push(dato)
pop()
Con la Encapsulacin se pretende que las propiedades queden ocultas para el usuario de la clase. Para manejar un objeto de la clase Pila se usan los mtodos push(dato) para almacenar y pop() para recuperar
Clase
Una Propiedad es un dato de Tipo Primitivo (TDP) o un objeto. Por ejemplo, una variable x, nombrePersona, imagen, archivo. Grficamente representamos a una propiedad como un rectngulo su nombre generalmente se escribe con minsculas,si aparece ms de una palabra, al inicio de cada una se escribe letra mayscula
despliega()
Un Mtodo es un proceso abstracto y contiene un conjunto finito de instrucciones. Grficamente representamos a un mtodo con un crculo, su nombre es similar al de las propiedades y termina con parntesis donde van los parmetros. Al conjunto de mtodos de una clase se le llama la Interfase de la Clase. Las clases y mtodos de Java se encuentran descritos en la API (Application Program Interface) java.sun.com/api
Clase
Figura x y
despliega()
mueve()
Una Clase es una descripcin abstracta de una entidad de la realidad en trminos de propiedades (datos) y mtodos (procesos) encapsulados en una unidad.
Grficamente se representa con un cuadro con puntas redondeadas, su nombre generalmente se escribe con una letra inicial mayscula y las restantes minsculas, si aparece ms de una palabra, el inicio de cada una se escribe con una mayscula, por ejemplo: Persona, Figura, AnimalAcuatico
Clase Automovil
class Automovil { // PROPIEDADES String color ; int velocidadMaxima ; // MTODOS void asignaColor(String _color) { color = _color; } String indicaColor() { return color; } }
Interfase
Interfase
Runnable
run()
stop()
Una Interfase es un conjunto de mtodos SIN propiedades que indica Cuales son las acciones que se deben llevar a cabo pero SIN desarrollar cada Una de esas acciones. Se coloca con la palabra reservada de Java: implements
Interfase Runnable
Objeto
Objeto
circulo x y
despliega()
mueve()
Un Objeto es una instancia (caso particular) de una clase. El nombre de un objeto es una referencia hacia las propiedades y mtodos. Un objeto apunta hacia propiedades y mtodos y es relocalizable, esto significa que No apunta hacia una direccin de memoria especfica. Grficamente se representa de forma similar que una clase la diferencia es que generalmente el nombre de un objeto se inicia con minsculas.
Objeto
circulo
despliega()
mueve()
Un Objeto debe utilizarse sin hacer referencia a las propiedades que lo forman. El acceso a sus propiedades y la recuperacin de valores debe hacerse a travs de sus mtodos nicamente.
(aunque SI es posible accesar sus propiedades directamente precedidas del nombre del objeto)
// INVOCACIN DE MTODOS autoDeportivo.asignaColor("azul"); camioneta.asignaColor("rojo"); System.out.println("autoDeportivo color " + autoDeportivo.indicaColor()); System.out.println("camioneta color " + camioneta.indicaColor());
} }
Constructor
Constructor
Figura
Figura()
Un Constructor es un mtodo pblico que lleva el mismo nombre de la clase a la que pertenece. Se ejecuta automticamente cuando se crea una instancia de la clase (objeto), generalmente el desarrollador lo utiliza para asignar valores iniciales a las propiedades del objeto. En Java automticamente cada clase tiene un constructor con el mismo nombre de la clase sin argumentos de entrada. Si el usuario escribe su propio constructor entonces debe utilizarlo.
Sobrecarga de Mtodos
Sobrecarga de mtodos
Figura
Figura()
Figura(String)
La Sobrecarga se da cuando se usa en una misma clase, el mismo nombre de un mtodo pero con diferentes argumentos. Las operaciones de los mtodos, generalmente, son diferentes. Cualquier mtodo en una clase es posible sobrecargarlo, tanto los constructores como los mtodos de clase o de instancia
Sobrecarga de mtodos
class Automovil { String color ;
color
Automovil() static Contador() asignaColor() indicaColor()
Las Propiedades y Mtodos de Clase se crean una sola vez en cada clase y los comparten los objetos (instancias) de esa clase.
autoDeportivo
indicaColor()
Clonacin de Objetos
Clonacin
Circulo circulo = new Circulo();
circulo
x y
clonCirculo
x y
despliega()
mueve()
despliega()
mueve()
apuntadorCirculo
// COPIA DE REFERENCIA
Circulo apuntadorCirculo = circulo;
La Clonacin de un objeto consiste en generar una copia del mismo en otra localidad de memoria,
en vez de solamente referenciarlo mediante otra variable.
Clonacin de un objeto
class Persona implements Cloneable { String nombre ; String direccion ; public Persona(String _nombre ,String _direccion) { nombre = _nombre; direccion = _direccion; } public Object clone() { Cloneable clon = new Persona(nombre ,direccion); return clon; } void asignaDireccion(String _direccion) { direccion = _direccion; } void despliega() { System.out.println("Nombre: " + nombre + " Direccin: " + direccion); } }
Clonacin de un objeto
class Clon { public static void main(String arg[]) { Persona juan = new Persona("Juan" ,"Lomas"); // SE CREA EL OBJETO juan juan.despliega(); // SE DESPLIEGAN LOS DATOS DE juan System.out.println("Clonando a Juan"); Persona copiaJuan = (Persona)juan.clone(); // SE CLONA EL OBJETO juan Persona otroApuntadorJuan = juan; // OTRO OBJETO APUNTA A juan copiaJuan.asignaDireccion("Iztapalapa"); // CAMBIO DE DIRECCION AL CLON juan.despliega(); // DESPLIEGA LOS DATOS DE juan copiaJuan.despliega(); // DESPLIEGA LOS DATOS DEL CLON otroApuntadorJuan.despliega(); // DESPLIEGA LOS DATOS DEL OTRO APUNTADOR otroApuntadorJuan.asignaDireccion("C.U."); // CAMBIO DE DIRECCION A juan juan.despliega(); // DESPLIEGA LOS DATOS DE juan otroApuntadorJuan.despliega(); // DESPLIEGA LOS DATOS DEL OTRO APUNTADOR } }
Liberacin de Memoria
Se hace automticamente mediante el Recolector de Basura (Garbage Collector) cuando a un objeto nadie lo apunta A diferencia de C++, JAVA no cuenta con mtodos Destructor en las clases, esto se hace automticamente
Agregacin
Asociacin
Las relaciones entre clases permiten la reutilizacin de cdigo
Herencia
Persona
Alumno
Profesor
La Herencia es una relacin entre clases en donde la subclase clase hereda las propiedades y mtodos de la superclase. Se representa mediante relaciones es_un con una flecha con punta hueca dirigida de la clase derivada a la superclase.
Las Relaciones de Herencia se obtienen mediante la generalizacin y la especializacin. La Generalizacin se hace a partir de un conjunto de clases y se bsca una clase que las generaliza (agrupa) La Especializacin se genera cuando a partir de una clase genrica se obtienen clases que son casos particulares de la misma
Sobreescritura
Figura
pinta()
Circulo
pinta()
Triangulo
Se le llama Sobreescritura cudndo un mtodo existente en una superclase se declara en una subclase y ambos tienen el mismo nombre, en este caso el mtodo de la clase derivada sobreescribe a la superclase. En este ejemplo el mtodo pinta() de Circulo sobrescribe al de Figura mientras que Triangulo utiliza el mtodo pinta() que hereda de Figura
Alumno(String _nombre) { super(_nombre); } String indicaNombre() { return Alumno + nombre; } void asignaCalificacion(int _calificacion) { calificacion = _calificacion; } String indicaDatos() { return "Alumno: " + super.indicaNombre() + " calificacion: " + calificacion; }
}
Polimorfismo
Figura x y color pinta()
Triangulo
El Polimorfismo se da cuando un mtodo aparece en dos clases diferentes con el mismo nombre y argumentos. El comportamiento generalmente es diferente
Polimorfismo
// DECLARA EL ARREGLO DE OBJETOS Figura arreglo[] = new Figura[6];
// DETERMINA QUE OBJETO SE ALMACENA EN CADA ELEMENTO arreglo[0] = new Circulo(20,30,10 ,Color.blue); arreglo[1] = new Triangulo(50,220,Color.red); arreglo[2] = new Circulo(200,100,40 ,Color.cyan); arreglo[3] = new Cuadrado(120,40,30,Color.green); arreglo[4] = new Triangulo(250,70,Color.gray); arreglo[5] = new Isoceles(173 ,204 ,50 ,66 ,new Color(0100 ,150 ,0xFF));
// LLAMA AL METODO pinta PARA CADA ELEMENTO APLICANDO POLIMORFISMO for(int i=0; i < arreglo.length; i++) arreglo[i].pinta();
Composicin
Automovil
Chasis
Motor
Llanta
Composicin
Motor
Automovil
Chasis
Llanta
La Composicin consiste en incluir (o formar) una clase a otra(s) como una propiedad para crear clases complejas. En este caso se reutiliza la interfase de las clases componente. Las clases estn unidas mediante la relacin parte_de con una flecha con punta de rombo. Los objetos que lo componen son privados
Composicin
class Automovil { String marca ; Motor motor ; Chasis chasis ; Llanta llanta[] = new Llanta[4]; ; Automovil(String _marca) { marca = _marca; motor = new Motor(4); chasis = new Chasis(azul); for( int i = 0; i < llanta.length; i++ ) llanta[i] = new Llanta(deportiva); } void asignaMotor(Motor _motor) { motor = _motor; } }
Agregacin
Bosque
Arbol
La Agregacin es una relacin que permite crear clases complejas mediante la agrupacin de una coleccin de una clase existente (es una forma ms dbil que la composicin). Las clases estn unidas mediante la relacin parte_de con una flecha con punta de rombo hueca. En Java las implementaciones de Collection son ejemplos de esta relacin
Asociacin
Paquetes
Paquetes
Escuela
Alumno Materia
Profesor
Salon
Un Paquete agrupa a un conjunto de clases se indica en un programa con la palabra reservada import subdirectorio1.subdirectorio2.clase En la variable de ambiente CLASSPATH debe estar la ruta de la ubicacin de las clases que forman al paquete subdirectorio1\subdirectorio2
Accesibilidad
Accesibilidad
Accesibilidad public protected friendly" private protected private Clases si si si si si La misma clase llama al mtodo La subclase llama al mtodo Las clases del mismo paquete llaman al mtodo Cualquier clase llama al mtodo si Subclases si si Paquete si si si Todas si
La Accesibilidad se indica con el calificador public, private, protected o abstract en las propiedades y mtodos de una clase.
Comentarios
Comentarios
En Java existen tres tipos de comentarios: De Resto de Lnea:
Palabras Reservadas
Palabras reservadas
abstract catch default final *generic *inner native package short this *var boolean char do finally *goto new protected static throw void break class double float if null public super throws volatile byte *const else for interface *operator *rest switch case continue extends *future long *outer return
implements import
instanceof int
Las Palabras Reservadas son aquellas que tienen un uso especfico en el lenguaje Java y No deben utilizarse como identificadores de usuario. Las que llevan asterisco (*) en la tabla estn reservadas para uso futuro
Identificadores de Usuario
Identificadores de usuario
X y $temporal _auxiliar UnaClase
Los Identificadores de Usuario se usan para nombrar variables (tipos primitivos, u objetos), mtodos o clases. Se escriben con una inicial que puede ser letra mayscula o minscula, subraya (_) o el signo de pesos ($) seguidos por una secuencia de letras, nmeros o subraya. Letra significa cualquier smbolo unicode que represente una letra en cualquier idioma, es un valor entre cero y 65536. La longitud mxima de un identificador es de 64 caracteres y no deben existir espacios entre los smbolos que lo forman
-9,233372,036854,775808 a 9,233372,036854,775807 -2147,483648 a 2147,483647 -32768 a 32767 -128 a 127 true (verdadero), false (falso) unicode 0 a 65535 1.79769313486231570e308 (15 digitos significativos) 3.40282347e38 (7 digitos significativos)
RANGO
Literales
TIPO
enteras largas (long) enteras hexadecimales octales carcter string flotantes doble precisin flotante booleanas objeto 5L, 125328000293687 3452, 16 0x3f42, 0x18 0725, 01713 'L', '\u0000' "una cadena" 3.1416F, 8.5F 2.718281828459D, 3.1416, 2.5 true, false { <literal>, <literal>, ...}
EJEMPLO
Una Literal es un valor constante. En la tabla se indican los tipos de literales de Java y algunos ejemplos
Operadores de Java
Operadores
PRECEDENCIA
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 . ++ * + << < == & ^ | && || ? : = , [ ] -/ >> > !=
OPERADORES
( ) ! % >>> <=
new instanceof ~
>=
op=
Los Operadores son smbolos (o grupos de smbolos) que representan acciones que se aplican sobre literales o variables de Java. En la tabla se muestran los operadores de Java con su precedencia los de precedencia menor se ejecutan primero de izquierda a derecha
Los operadores son representaciones con una bolita y varias lneas que entran dependiendo del nmero de parmetros que requieren. Ejemplo:
Ejemplo:
5 + 4 + 3 + 8 = 20
5
3
8
20
como la precedencia va de izquierda a derecha y de mayor a menor las operaciones se ejecutan como sigue: 5 * 8 - 3 / 2 + 6 > 40
5 * (8 + 4)
3 1 4
5*8+4
5 * (8 + 4)
Promocin
Si se tiene:
Disfraz (casting)
Si se tiene:
Un Casting se utiliza cuando se quiere cambiar el tipo de un resultado diferente al que se obtiene normalmente, por ejemplo int cuando el resultado es float. El tipo de dato del casting se escribe entre parntesis
Disfraz (casting)
Si se tiene un Vector, para recuperar un elemento se hace un casting:
Un Casting se utiliza en Vector para reasignar la clase de un Objeto que tiene almacenado
Flujo de Control
Estructuras de Control
Secuencia
c A B
Decisin
e
A1
A2
A3
if v=inicial actualiza v A
switch
Iteracin
A c
Recursin
A c do-while A
while
for
Las Estructuras de Control se utilizan para controlar el flujo de ejecucin de las instrucciones en los mtodos de Java.
Excepciones
Excepcin
try { } catch( Exception nombre) { } finally { }
Una Excepcin es una alteracin en el flujo normal de control, Las excepciones en Java se detectan dentro de un bloque try {} y si ocurre entre las llaves una excepcin se atrapa ejecutando el bloque catch(){} siempre y cuando la excepcin sea la indicada entre parntesis. Se pueden atrapar varias excepciones en bloques catch consecutivos. El bloque finally {} se ejecuta en ambos casos
IOException
ClassNotFoundException
Las Excepciones se organizan en una Jerarqua, donde la clase Exception es la de nivel superior, por lo que es comn para atrapar cualquier excepcin colocar Exception dentro del catch
MiExcepcion
Una Excepcin Definida por el Usuario se hace con una clase derivada de Exceptionen este ejemplo MiExcepcion se utiliza como culquier excepcin
GUI
Sencillos
JLabel JTextField JButton JTextArea
JTable JTree
Componentes
Complejos FlowLayout
Distribucin
Contenedores
JApplet Canvas
ActionListener
Eventos
MouseListener KeyListener
Interfase Hombre-Mquina
AWT (Abstract Window Toolkit): clase Frame Swing: clase JFrame
Las Interfases Grficas de Usuario (GUI) se implementan en Java con las clases AWT y Swing Es mejor usar Swing porque sustituye a la AWT desde la versin 1.1 Generalmente los programas de consola GUI se derivan de la clase Frame o JFrame
Ejemplos 03-GUI
En los ejemplos que acompaan esta presentacin hay ejemplos en la carpeta 03-GUI donde se encuentran componentes y eventos; tanto de AWT como de Swing
Interfase Hombre-Mquina
AWT: clase Applet Swing: clase JApplet
Las Interfases Grficas de Usuario (GUI) que se ejecutan en un Navegador de Internet se derivan de la clase Applet o JApplet
Eventos
Eventos
KeyListener MouseListener MouseMoveListener
Applets
Ejemplos 04-Applet
Los ejemplos de Applets se encuentran en la carpeta 04-Applet tanto de AWT como de Swing
Applet
Se sugiere que los Applets sean pequeos por el tiempo de transferencia y carga que emplean antes de su ejecucin
Paralelismo y Concurrencia
Paralelismo y Concurrencia
Thread
Los ejemplos de Paralelismo y Concurrencia en Java se encuentran en la carpeta 08-hebra en los Ejemplos que acompaan a esta presentacin. Se tiene paralelismo real cuando se cuenta con varios procesadores
Hilo (Thread)
El diagrama de flujo representa un proceso. Un Hilo (thread) es el flujo de ejecucin de un proceso. Las lneas de colores representan diferentes hilos (threads) del proceso.
run()
Es cuando de un mismo proceso se encuentran en ejecucin varios hilos (threads) simultneamente (paralelismo)
Redes
Redes
ServerSocket Socket DataInputStream PrintStream
Los ejemplos de Redes se encuentran en la carpeta 09-red que acompaan a esta presentacin
CLIENTE
RED
Conectores lgicos
1 puerto
Varios puertos lgicos
fsico
RED
1 puerto fsico
Hay puertos lgicos reservados, por ejemplo 80 (http) 25 (email) Se recomienda el uso de los puertos 5000h en adelante. En un cliente, el nmero de puerto lgico se asigna automticamente.
Arquitectura cliente/servidor
SERVIDOR ServerSocket servidor CLIENTE
Socket cliente
PrintStream
DataInputStream
Arquitectura cliente/servidor
SERVIDOR ServerSocket servicio CLIENTE
Servidor IP puerto
Socket
Servidor IP puerto Cliente IP puerto
Socket
Servidor IP puerto Cliente IP puerto
PrintStream salida
DataInputStream entrada
SECUENCIAS DE COMUNICACIN
SERVIDOR
no no si si
CLIENTE
Comunicacin Cliente/Servidor
En la comunicacin cliente/servidor existen tres etapas:
DECLARACIN Se establecen los sockets y los flujos de entrada y salida
CONEXIN Se hace en dos partes: servidor que espera cliente que enlaza
INTERACCIN
Cliente/Servidor Multithread
SERVIDOR Server Socket CLIENTE
BD Persona rfc
Pasatiempo
TABLAS
Persona
RFC Nombre Direccin Lugar
Pasatiempo
Clave Descripcin Lugar
clave del pasatiempo descripcin del pasatiempo lugar en que se lleva a cabo
BD
Esquema de la BD
Aplicacin
JAVA
SMBD
BD
Esquema de la BD
Aplicacin
JAVA
Driver Manager
odbc:jdbc
SMBD Access
SMBD MySQL
SMBD ORACLE
ESQUEMA DE LA BD
Con el puente obdc:jdbc se accesan diferentes SMBD con el mismo esquema de la BD sin cambios en el cdigo JAVA
SQL
Instrucciones de Actualizacin a una BD
Class for Name.- Carga el Driver Manager que se encarga de manejar el puente odbc:jdbc Connection.- Crea el objeto conexin que se comunica con el driver especfico para manejar la Base de Datos (SMBD), por ejemplo, Access, MySQL, Oracle, Postgress, Informix Statement.- Crea un objeto para enviar consultas en lenguaje SQL al SMBD
SERVIDOR
SERVIDOR
Driver Manager
HTML
BD
odbc:jdbc
SMBD
SMBD MySQL
SMBD ORACLE
Access
INTERNET
ESQUEMA DE LA BD
Servlets
Servlets
SERVIDOR
invocacin y parmetros
SERVIDOR Servlets
Servlet
CLIENTE
navegador
INTERNET
HTML
navegador
SERVLETS
CLIENTE
Navegador <a href> <FORM action> </FORM> Invocacin y parmetros Servlet html Mtodos de invocacin GET POST
SERVIDOR
Un Servlet se invoca con una liga <a href> o con un botn en una estructura <form> </form> de HTML. Existen dos Mtodos de Invocacin de un Servlet: GET y POST. Con GET los parmetros son visibles en la lnea de direccin y ocupan un mximo de 1024 bytes. Con POST los parmetros se pasan por un socket interno y tienen mayor capacidad
Servidor de Servlets
CLIENTE
html SERVIDOR
html
html
Tomcat
html
Un servidor de Servlets atiende las solicitudes de los clientes a trves de un navegador usando un puerto determinado http://localhost:8080
protocolo
IP
puerto
Ejemplo de un Servlet
Lectura de parmetros
Proceso
Resultados
SERVIDOR
Tomcat
Driver Manager
Servlet odbc:jdbc
ESQUEMA DE LA BD
SESIONES
Session
Un objeto sesin (de la clase Session) se almacena en el servidor para mantener la informacin del navegador durante la comunicacin Cliente/Servidor
SESIONES
Session
HTTP
HTTP
NAVEGADOR
HTTP
Un Objeto Session (Sesin) almacena datos compartidos entre diferentes pginas HTML. Este objeto se almacena en el navegador y su periodo de vida es: Page (pgina), Session (Sesin), Application
JSP
ARQUITECTURA JSP
SERVIDOR
INTERNET
N S
navegador
JSP
Los JSP se utilizan para generar pginas HTML dinmicas mediante la incrustacin de cdigo fuente JAVA en una pgina HTML.
Al ejecutar el JSP se sustituye el cdigo JAVA por su resultado quedando solamente una pgina HTML.
JSP
Pgina html Servidor WEB Compilacin (La primera vez)
navegador
JSP
html
2.- El JSP lee los parmetros del archivo html (si es la primera vez que se invoca se compila)
3.- Se procesa el archivo JSP y se genera la respuesta en otro archivo html 4.- El navegador despliega el archivo html que tiene la respuesta
Bean
get
get
set
Se llama Bean a una clase que cuenta con mtodos get y set para cada uno de las propiedades de la clase, adems de otros mtodos.
BEAN
Un Bean es un componente software que tiene la particularidad de ser reutilizable y as evitar la tediosa tarea de programar los distintos componentes uno a uno. Se puede decir que existen con la finalidad de ahorrarnos tiempo al programar. Es el caso de la mayora de componentes que manejan los editores visuales ms comunes. Los que hayan utilizado Visual Studio, Eclipse o Delphi por ejemplo, ya estarn familizarizados con ellos. Bean viene del ingls "frijol", y su idea principal es que se reaprovechan "frijoles" que ya han sido creados por otros desarrolladores. Sabiendo esto, un Bean puede representar desde un botn, un grid de resultados, un panel contenedor o un simple campo de texto, hasta otras soluciones mucho ms complejas como conexiones a bases de datos, etc. Son bastante conocidas las EJB (Enterprise JavaBeans) que ofrecen numerosos Beans para Java.
Abstraccin de Procesos
B
B
return
Con la Abstraccin de procesos se cambian los bloques de cdigo (B) repetidos por el llamado a una rutina (proceso, funcin o mtodo)
Se simplifica el programa
Abstraccin de Procesos
Una Rutina se crea asignndole un nombre a un grupo de instrucciones Cuando se invoca se usa solamente el nombre con sus parmetros
Reutilizacin de Cdigo
B
B
B B
Con los procesos abstractos es posible la Reutilizacin de Cdigo en varios Programas o Sistemas al utilizarlos como una unidad probada
Abstraccin de Datos
x = Pop() Push(elefante)
3.1415926 A
Con la abstraccin de datos se ocultan los datos accesndolos mediante procesos abstractos
Por ejemplo, en una Pila (stack), se aplican las procesos Push() o Pop() sin ocuparnos del tipo de dato del argumento
Evolucin de la Realidad
COBOL
Lenguaje C
C++, Java
1960 1970 1980 1990 2000
PROGRAMACIN LGICA
Prolog Parlog
PROGRAMACIN ESTRUCTURADA
Algol C
Evolucin de la Realidad
evolucin
REALIDAD REALIDAD
evolucin
REALIDAD
modelacin
MODELO
modelacin
modelacin
MODELO
remodelacin
remodelacin
MODELO
La Realidad est cambiando, por lo que en un modelo hay un costo de modelacin (verde) y otro de remodelacin (naranja)
Sistema Evolutivo
Un Sistema Evolutivo es capaz de percibir la realidad para generar y mantener un modelo de la realidad en forma automtica
Proyecto Final
Conclusiones
El lenguaje Java es muy amplio en su funcionalidad y actualmente continua su desarrollo Como se mencion antes, an estn en desarrollo otros paradigmas As como el universo evoluciona, as estn evolucionando las herramientas y paradigmas de programacin Es posible que el siguiente paradigma est en tu pensamiento
PROPONLO!
PROCESOS DATOS
Estructura
Un Sistema Consciente es aquel que en sus datos tiene la informacin de lo que el mismo realiza
tlazokamati
gracias a ti por leer este documento
www.jesusolivares.com
rbol