Semana9 Vbr

1,274 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,274
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Semana9 Vbr

  1. 1. Ing. Victor Barrientos Rodriguez [email_address] [email_address] PROGRAMACIÓN WEB SI189
  2. 2. Aplicaciones 2 Capas Programación Cliente / Servidor. Un servidor de BD y las aplicaciones en los clientes. Las aplicaciones se instalan localmente en los clientes.
  3. 3. Aplicaciones 3 Capas Programación Cliente / Aplicaciones / Servidor. Un Servidor de BD, un servidor de Aplicaciones (Almacena los ejecutables) y las estaciones de trabajo o clientes.
  4. 4. Modelo de 2 Capas
  5. 5. En este modelo la aplicación JAVA o el Applet, se conectan directamente con la base de datos. Esto significa que el driver JDBC específico para conectarse con la base de datos estará instalado en el sistema local. La base de datos puede estar en otra maquina y se accede a ella mediante red. Esta configuración también se llama Cliente/Servidor. Aplicación JAVA o APPLETS Manejador de BD JDBC Máquina Cliente Motor de Base de Datos
  6. 6. Modelo de 3 Capas
  7. 7. En este modelo, las instrucciones son enviadas a una capa intermedia que se encarga de enviar las sentencias SQL a la base de datos. El manejador de base de datos procesa las sentencias y retorna los resultados a la capa intermedia que se encarga de enviarlos al usuario. APPLETS JAVA o BROWSER Manejador de BD JDBC Servidor de Aplicaciones Lógica de Negocio
  8. 8. Más Claro!!
  9. 10. N Capas
  10. 11. Introducción Java <ul><li>Historia </li></ul><ul><li>Características </li></ul><ul><li>Sistema base </li></ul><ul><li>Entorno de desarrollo </li></ul><ul><li>Ejemplo: Hola mundo </li></ul><ul><li>Estructura general de un programa Java </li></ul>
  11. 12. Historia Java <ul><li>Surge en 1991: Sun Microsystems diseña un lenguaje </li></ul><ul><li>de programación para electrodomésticos </li></ul><ul><li>Reducida potencia de cálculo y reducida memoria </li></ul><ul><ul><li>Lenguaje sencillo capaz de generar código de tamaño reducido </li></ul></ul><ul><li>Distintas CPUs y en continuo cambio: </li></ul><ul><ul><li>Desarrollo de un código neutro independiente del tipo de electrodoméstico </li></ul></ul><ul><ul><li>El código neutro es interpretado por una máquina virtual: Java Virtual Machine (JVM), que lo convierte a código específico de la CPU </li></ul></ul><ul><li>Problema: </li></ul><ul><li>Ninguna empresa se interesó por el lenguaje </li></ul>
  12. 13. Historia Java <ul><li>En 1995 se introduce como lenguaje de programación de ordenadores </li></ul><ul><ul><li>Clave del éxito: La incorporación de un intérprete Java en la v2.0 de Netscape Navigator produjo una revolución en Internet </li></ul></ul><ul><li>A principios de 1997 apareció Java 1.1. Mejora sustancial de la 1ª versión </li></ul><ul><li>A finales de 1998 nació Java 1.2 ® JAVA2 </li></ul><ul><ul><li>Ampliación de Java 1.1 </li></ul></ul><ul><ul><li>Es el que estudiaremos </li></ul></ul>
  13. 14. Característica Java <ul><li>Objetivo de Java: </li></ul><ul><li>Permitir el desarrollo de aplicaciones robustas, </li></ul><ul><ul><li>seguras y de altas prestaciones sobre múltiples </li></ul></ul><ul><ul><li>plataformas en redes distribuidas y heterogéneas. </li></ul></ul><ul><li>Descripción de Sun: </li></ul><ul><li>Simple y orientado a objetos, robusto y seguro, de </li></ul><ul><li>arquitectura neutral y portable, de altas prestaciones, interpretado, multitarea y dinámico. </li></ul>
  14. 15. <ul><li>Múltiples arquitecturas de HW y diversos SO. </li></ul><ul><li>El compilador  Genera bytecodes </li></ul><ul><li>Código interpretado x JVM </li></ul><ul><li>JVM convierte a código maquina </li></ul><ul><li>Similar C++ (sin punteros) </li></ul><ul><li>Dispone de Clases </li></ul><ul><li>Dispone de tipos primitivos </li></ul><ul><li>Dispone func. libres </li></ul>Simple y OO <ul><li>Comprobación en tpo. ejecución </li></ul><ul><li>Manejo excepciones </li></ul><ul><li>Gestión de memoria </li></ul><ul><li>No permite acceso directo al hw o memoria </li></ul>Robusto Aplicaciones que se cargan desde un servidor y se ejecutan en el cliente Seguro Neutro y Portable <ul><li>Sus prestaciones no son excesivamente altas </li></ul><ul><li>Compiladores JIT (Just In Time) .- Conforme cargan las aplicaciones Java generan el código máquina. </li></ul>Altas prestaciones <ul><li>El intérprete Java puede ejecutar bytecodes sobre </li></ul><ul><li>cualquier máquina en la que el intérprete haya sido portado </li></ul><ul><li>Java permite construir aplicaciones multitarea </li></ul>Interpretado, multitarea
  15. 16. El sistema base de Java <ul><li>Conjunto de librerías de clases y de métodos para crear aplicaciones multiplataforma </li></ul><ul><li>java.lang: Colección de tipos base, declaraciones de ‘Object’ y ‘Class’, excepciones, wrappers para los tipos de datos primitivos, y otras clases fundamentales. </li></ul><ul><li>java.io : Clases para manejar entradas y salidas </li></ul><ul><li>java.net : Clases de soporte para redes: sockets, interfaces telnet y URLs. </li></ul><ul><li>java.util : Clases útiles: estructuras genéricas, manejo de fecha y hora, strings, números aleatorios. </li></ul><ul><li>jawa.awt : Clases para crear interfaces gráficas </li></ul>
  16. 17. El entorno de desarrollo <ul><li>Existen multitud de programas para desarrollar código Java </li></ul><ul><li>JDK (Java Development Kit): distribuido gratuitamente por Java </li></ul><ul><ul><li>Cjto. de programas y librerías que permiten desarrollar, compilar y ejecutar programas en Java </li></ul></ul><ul><ul><li>Debugger para la ejecución paso a paso </li></ul></ul><ul><li>JRE (Java Runtime Environment) </li></ul><ul><ul><li>Sólo permite ejecutar código Java </li></ul></ul><ul><ul><li>No permite compilar </li></ul></ul>
  17. 18. La Java Virtual Machine (JVM) <ul><li>El compilador genera un código neutro: </li></ul><ul><ul><li>Los bytecodes  ficheros compilados con extensión *.class </li></ul></ul><ul><li>Java Virtual Machine </li></ul><ul><ul><li>Interpreta el código neutro y lo convierte a código particular de la CPU </li></ul></ul><ul><li>La JVM dispone de numerosas opciones </li></ul><ul><ul><li>JIT(Just In-Time compiler)  mejora de 10 a 20 veces la velocidad de ejecución </li></ul></ul><ul><li>Intérprete del JDK: java.exe </li></ul>
  18. 19. Ejemplo: Hola mundo <ul><li>import java.io.*; </li></ul><ul><li>2. // Clase HolaMundo </li></ul><ul><li>3. class HolaMundo </li></ul><ul><li>4. { </li></ul><ul><li>5. public static void main(String arg[]) </li></ul><ul><li>6. { </li></ul><ul><li>7. System.out.println(&quot;Hola Mundo&quot;); </li></ul><ul><li>8. } </li></ul><ul><li>9. } </li></ul><ul><li>Debe guardarse en un archivo llamado HolaMundo.java (el </li></ul><ul><li>nombre del archivo debe coincidir con el de la clase) </li></ul>
  19. 20. Ejemplo (i) <ul><li>1. import java.io.*; </li></ul><ul><ul><li>Importa las clases del package java.io. </li></ul></ul><ul><ul><li>Hace posible acceder a las clases utilizando nombres cortos. </li></ul></ul><ul><ul><ul><li>Ejemplo: se puede acceder a la clase </li></ul></ul></ul><ul><ul><ul><li>FileReader simplemente con el nombre </li></ul></ul></ul><ul><ul><ul><li>FileReader en lugar de con el nombre completo </li></ul></ul></ul><ul><ul><ul><li>java.io.FileReader. </li></ul></ul></ul>
  20. 21. <ul><li>2. // Clase HolaMundo </li></ul><ul><ul><li>Comentarios (como en C++) </li></ul></ul><ul><ul><li>También es válido: /* Clase HolaMundo */ </li></ul></ul><ul><li>3. class HolaMundo </li></ul><ul><ul><li>Indica que se va a definir la clase HolaMundo </li></ul></ul><ul><ul><li>En Java todo son clases: no se puede definir una variable o una función fuera de una clase </li></ul></ul><ul><ul><li>La clase HolaMundo tiene como finalidad acoger al método main </li></ul></ul>Ejemplo (ii)
  21. 22. <ul><li>5. public static void main(String arg[]) </li></ul><ul><ul><li>La ejecución del programa comienza en main </li></ul></ul><ul><ul><li>public: indica que la función puede ser utilizada por cualquier clase </li></ul></ul><ul><ul><li>static: indica que es un método de clase  puede ser utilizado aunque no sea creado ningún objeto de la clase HolaMundo. </li></ul></ul><ul><ul><li>void: indica que el método no tiene valor de Retorno </li></ul></ul><ul><ul><li>Argumento del método: array de cadenas de caracteres. Son parámetros que se pasan al programa en el momento de comenzar la ejecución </li></ul></ul>Ejemplo (iii)
  22. 23. <ul><li>7. System.out.println(&quot;Hola Mundo&quot;); </li></ul><ul><ul><li>Imprime una cadena de caracteres (string) en la salida estándar del sistema </li></ul></ul><ul><ul><li>Se utiliza el método println que está asociado con una variable static, llamada out, perteneciente a la clase System ( del package por defecto java.lang) </li></ul></ul><ul><li>Una variable miembro static, también llamada variable de clase, es una variable miembro única para toda la clase, y que existe aunque no se haya creado ningún objeto de la clase </li></ul>Ejemplo (iv)
  23. 24. <ul><li>Compilación del programa: </li></ul><ul><ul><li>javac HolaMundo.java </li></ul></ul><ul><ul><li>Genera el archivo HolaMundo.class </li></ul></ul><ul><li>Ejecución del programa: </li></ul><ul><ul><li>java HolaMundo </li></ul></ul><ul><ul><li>Provoca: </li></ul></ul><ul><ul><ul><li>El intérprete cargue el archivo HolaMundo.class </li></ul></ul></ul><ul><ul><ul><li>Encuentre la clase del mismo nombre con un método público y estático llamado main </li></ul></ul></ul><ul><ul><ul><li>Proceda a ejecutar el programa invocando dicho método </li></ul></ul></ul>Ejemplo (v)
  24. 25. Estructura general de un programa Java (i) <ul><li>Programa Java: </li></ul><ul><ul><li>Clase que contiene el programa principal </li></ul></ul><ul><ul><li>Clases de usuario: específicas de la aplicación </li></ul></ul><ul><li>2. Ficheros Java: </li></ul><ul><ul><li>Fuentes: *.java </li></ul></ul><ul><ul><li>Compilados: *.class </li></ul></ul><ul><li>3. Fichero fuente: </li></ul><ul><ul><li>Puede contener más de una clase </li></ul></ul><ul><ul><li>Sólo una puede ser public (su nombre coincidirá con el del fichero) </li></ul></ul>
  25. 26. Estructura general (ii) <ul><li>Aplicación: varios ficheros *.class </li></ul><ul><ul><li>Cada clase realiza funciones particulares </li></ul></ul><ul><ul><li>Modularidad e independencia entre clases </li></ul></ul><ul><li>La aplicación se ejecuta por medio del nombre de la clase que contiene la función main, sin la extensión class. </li></ul><ul><li>Las clases se agrupan en packages: librerías de clases </li></ul><ul><ul><li>Si no se definen pertenecientes a un package, se utiliza un package por defecto  el directorio actual </li></ul></ul>
  26. 27. Instalación y Configuración <ul><li>Bajar los siguientes programas </li></ul><ul><li>http://java.sun.com(Estar seguro de descargar el JDK y no el JRE) </li></ul><ul><li>http :// www.netbeans.org( IDE ) </li></ul><ul><li>Ejecutar *.exe y seguir las instrucciones. </li></ul><ul><li>En mi pc click derecho => propiedades => pestaña Avanzado => Variables de entorno, en </li></ul><ul><li>VARIABLES DE ENTORNO buscar JAVA_HOME. Si no existe crear. · El valor de la variable sera C:j2sdk1.5.2 </li></ul>
  27. 28. Instalación y Configuración Utilizar en editor de texto (Notepad) public class HelloWorldApp { public static void main(String[] args) { // Display &quot;Hello World!&quot; System.out.println(&quot;Hello World!&quot;); } } Guardar el archivo, colocar el nombre “HelloWorldApp.java” Para compilar el programa · javac HelloWorldApp.java Para Ejecutar el programa · java HelloWorldApp

×