Nelson Baloian Abril/Mayo/Junio 2003

Slides:



Advertisements
Presentaciones similares
Sun Microsystems desarrolló, en 1991, el lenguaje de programación orientado a objetos que se conoce como Java. La intención de Sun era crear un lenguaje.
Advertisements

Características Generales y Entornos de Desarrollo
Programación Interactiva Introducción a Java
Primer Programa en JAVA
Curso de Java La tecnología Java
Seminario de Java Programación Orientada a Objetos.
Introducción al lenguaje de programación Java
UAA – Introduccion a Progracion Orientada Objetos Introducción al Java.
Protocolo VNC Conexión Inversa. ¿Qué es el protocolo VNC? VNC Virtual Network Computing, es un programa de software libre, basado en una estructura cliente-servidor.
Clase 3: primeros programas (1ª parte) iic1102 – introducción a la programación.
Diseño y Programación Orientados a Objetos1 Introducción a Java.
Trabajar con SERVLETS. Índice Qué son los Servlets Para qué sirven Cómo se utilizan Ejemplo Cómo probar un Servlet.
¿Que es PHP? PHP Hypertext Preprocessor Y solo porque me quiero hacer el profesor cool y meter un chiste: PHP también significa: Para Hacer Páginas.
Museo Tecnológico. Bienvenidos al Museo Tecnológico BIENVENIDOS Información.
¿Que es PHP? PHP Hypertext Preprocessor Y solo porque me quiero hacer el profesor cool y meter un chiste: PHP también significa: Para Hacer Páginas.
UNIVERSIDAD FERMIN TORO CABUDARE ENSAYO TIPOS DE SOFTWARE E IMPORTANCIA JUNIO 2014.
Sistema Online de Firma Electrónica
Herencia Multiple en Java
Diseño y Programación Orientados a Objetos
Visual ITP y Web ITP Raquel Sánchez Díaz Universidad de Salamanca.
Introducción a la Programación en Java
Diseño y Programación Orientados a Objetos
PHP Hypertext Preprocessor
LOS DIFERENTES LENGUAJES DE PROGRAMACION PARA LA WEB
Diseño y Programación Orientados a Objetos
PROGRAMACIÓN (1).
Ingeniero en Computación José Alfredo Cobián Campos
ECLIPSE.
Agustín J. González Programación de Sistemas: ELO-330
LENGUAJE DE PROGRAMACIÓN Y SOFTWARE PROPIETARIO
Programación orientada a objetos
CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA
Aplicaciones Web 1 CAPITULO 1 Introducción a las aplicaciones Web Ing. Jeffery Naranjo Msc
Agustín J. González ELO-329
 PhoneGap es un framework de código libre para el desarrollo de aplicaciones móviles. Su principal característica: multiplataforma, es decir, con un.
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
Avalos Vega Claudia Judith
INTERNET Actividad 3 Herramientas Tareas Ruben Dario Acosta V.
Unidad 3. Introducción a la programación
Fundamentos de Programación
INTRODUCCIÓN A JAVA.
Diseño y Programación Orientados a Objetos
Introducción al lenguaje de programación. Introducción  Los lenguajes de programación son aplicaciones específicas que han sido pensadas y diseñadas.
INTRODUCCIÓN A JAVA.
Conceptos básicos de.NET Explorar el entorno de desarrollo Crear un proyecto Visual Basic.NET Use Visual Studio.NET Acceso a datos Depurar e implantar.
Fundamentos de programación
Page 1. Page 2 Los lineamientos básicos que debe contener las paginas HTML.
LENGUAJE DE SCRIPTING EN SERVIDORES WEB INTEGRANTES :JOSTIN FRANCO DARYENIS ARAUZ PABLO CANDANEDO.
Programación Orientada a Objetos. ¿Qué es un ordenador? “Un sistema digital con tecnología microelectrónica capaz de procesar información a partir de.
Características Generales y Entornos de Desarrollo
CURSO PROGRAMACIÓN BÁSICA SEMANA 3 ¿Qué es un programa?
Java Enterprise edition
LEgo Java Operating System (LeJOS)
“Conceptos Básicos de Java”
Intruccion a la plataforma Java
Lenguajes del lado del cliente
Diseño y Programación Orientados a Objetos
INTRODUCCIÓN A DISEÑO Objetivos del curso. Definición de PowerPoint. Que podemos hacer en PowerPoint. Definición de Presentación. Principios de un buen.
Computacion DSS 2005/1.
Ingeniería de Sistemas. Programación II Python ¿Qué es Python? Python es un lenguaje de programación creado por Guido Van Rossum a principios de los.
Lenguaje de Programación II
UNIVERSIDAD JUÁREZ AUTÓNOMA DE TABASCO Nombres: Isaac Sánchez García Teofilo Martinez Garcia Ricardo Del Carmen Paz López Vanesa Anahí Pérez Lizárraga.
Diseño y Programación Orientados a Objetos
Lenguaje Java: características técnicas
Prof. Marcos Heredia.  Primitivos y No Primitivos.
Características de los Sistemas Operativos
Agustín J. González ELO-329
Agustín J. González ELO-329
ESTRUCTURA DE LO SISTEMAS OPERATIVOS Presentado por: Jennifer.
Transcripción de la presentación:

Nelson Baloian Abril/Mayo/Junio 2003 INTRODUCCION AL DESARROLLO DE SISTEMAS EN PLATAFORMA JAVA Nelson Baloian Abril/Mayo/Junio 2003

Objetivos de este curso Manejar conceptos de PROGRAMACIÓN orientada al objeto y desarrollar programas de acuerdo a este paradigma Manejar bases de datos desde una aplicación java Desarrollar sistemas basados en la web usando la plataforma java

Objetivos específicos Conocer las distintas posibilidades de desarrollo que ofrece la plataforma JAVA conociendo sus ventajas y desventajas: Programas stand-alone, applets, servlets, lenguajes script. Conocer y usar las estructuras e instrucciones básicas para desarrollar distintos tipos de programas JAVA Dominar los conceptos más importantes de la programación orientada al objeto (OOP) para desarrollar correctamente programas según este principio: definición de clases, herencia, polimorfismo. Desarrollar programas JAVA que manejan Bases de Datos. Desarrollar Servlets y usarlos en un servidor web Desarrollar sistemas basados en la web usando la plataforma Java 2 Enterprise Edition J2E Utilizar una herramienta de ayuda al desarrollo de programas JAVA (eclipse)

Método de Enseñanza/Aprendizaje Principalmente a través de ejemplos de solución a problemas propuestos Al principio mucho se tendrá que explicar como “regla de cocina” pero a medida que avance el curso se entenderá Durante las clases se dejarán propuestos problemas. Algunos de estos serán tareas que se evaluarán (se indicará específicamente cuáles) El material de clases (presentaciones y programas) podrán ser bajados (por ahora) desde http://www.dcc.uchile.cl/~nbaloian/cge El resto será dado en un CD Tomar apuntes!!! No todo se puee escribir en las presentaciones

Evaluación del Curso Evaluaciones teóricas por capítulo Por medio de pequeños tests al final de cada capítulo, totalizando 7, evaluada con nota de 1 a 7. Evaluaciones prácticas por capítulo Por medio de tareas prácticas de desarrollo de programas, totalizando 7, evaluados con nota de 1 a 7 El participante derbará asistir por lo menos al 70% de las clases teóricas y realizar al menos el 70% de las actividades de evaluación (tests y tareas) Calificación final (NT*0.4 + NP*0.6) LA CALIFICACIÓN MÍNIMA DE APROBACION SERA DE 4 EN LA ESCALA DE 1 A 7, ADEMÁS DE CUMPLIR CON LOS REQUISITOS DE ASISTENCIA

¿ Por qué es Java tan popular ? Multi-plataforma Orientado al objeto: paradigma moderno de la programación Robusto: evita muchas características de programación que son causas frecuentes de errores, permite un fácil manejo de situaciones de excepción. Conciencia de la red: permite el desarrollo fácil de aplicaciones comunicantes en redes TCP/IP Es gratis y tiene buena documentación online

Algunos hechos históricos Java fue concebido en 1990 como un lenguaje de programación para microchips de aparatos domésticos Java significa café en USA (se dice que los programadores toman mucho café !!!!) Como lenguaje de programación de microchips no tuvo mucha aceptación, pero muchas de las características necesarias para ello lo hacían un buen lenguaje multiplataforma Los Applets Hicieron famoso a Java Dadas las distintas posibilidades que ofrece, hoy día es una plataforma ideal para la programación de sistemas en la web

¿Qué necesito para desarrollar programas en Java? Hay muchos ambientes de desarrollo (comerciales y gratis) para Java Visual age, Sun Studio, eclipse Ofrecen herramientas para apoyar la programación Lo más sencillo es usar Un editor de texto El compilador y la JVM Empezaremos viendo como se programa sencillamente y luego usaremos eclipse

¿Qué es la máquina virtual de Java? Es un sistema operativo que corre sobre otro sistema operativo (por ejemplo windows, linux, MacOS) Existe una diferente para cada sistema operativo pero todas hacen exactamente lo mismo Es capaz de entender código Java compilado y traducirlo en instrucciones propias del sistema operativo sobre el cual corre Máquina Virtual Java Código Java Sistema Operativo Hardware

¿Qué tipos de programa puedo desarrollar con JAVA ? Programas stand-alone Programas autónomos como cualquier otro Se compilan con el compilador de Java y se ejecutan con la máquina virtual (JVM, JRE) Applets Programas que generalmente se bajan desde un sitio Web y se ejecutan dentro de un browser, en el contexto de una página web Para ejecutarlos se necesita que el browser contenga la máquina virtual de Java , en la actualidad (casi) todos lo tienen

¿Qué tipos de programa puedo desarrollar con JAVA ? Servlets: Programas que extienden la funcionalidad de un servidor Web Generan dinámicamente código Html que envían al browser que los invocó El servidor Web debe contener la maquina virtual de Java (ejemplo, TOMCAT) Beans Pequeños trozos de código que se ejecutan en un servidor de aplicaciones asociado a un servidor Web Independizan el código del “negocio” del de la atención Proveen un conjunto de funciones que facilitan y hacen más eficiente el desarrollo de una aplicación en el contexto de un servidor Web

Desarrollo y ejecución de programas stand-alone 1. Escribir el código fuente en un archivo con extensión Java con un editor de texto 2. Compilarlo con el Compilador (javac) para generar el archivo clase con extensión class 3. Ejecutarlo con la JMV (java) MyProg.java MyProg.class Java source code Java class file Java VM (java) Compilador java (javac)

Desarrollo y ejecución de Applets 1. Escribir el código fuente en un archivo con extensión Java con un editor de texto 2. Compilarlo con el Compilador (javac) para generar el archivo clase con extensión class 3. Ponerlo en el servidor web junto con una página que contengauna referencia al applet (tag) 4. Invocar con un browser la página web

Desarrollo y ejecución de Applets MyApplet.java MyApplet.class Java source code Java class file MyApplet.class Pagina.html Pagina.html Applet tag <applet code=MyApplet.class > <parameters> </applet> Pagina.html MyApplet.class GET Pagina.html

Desarrollo y ejecución de Servlets 1. Escribir el código fuente en un archivo con extensión Java con un editor de texto 2. Compilarlo con el Compilador (javac) para generar el archivo clase con extensión class 3. Ponerlo en el servidor web en el lugar apropiado 4. Invocar con un browser el servlet (directamente o a través de un botón action de un form de HTML)

Desarrollo y ejecución de Servlets MyServlet.java MyServlet.class Java source code Java class file MyServlet.class Código HTML GET MyServlet

Java Script El código de un programa es escrito directamente dentro de la página HTML NO SE PARECE MUCHO A JAVA !!!!! Html & Script <script language = “JavaScript”> the code </script> Java program running on the client

Java Server Pages (y ...) Como Java Script para applets, JSP es un lenguaje script para la programación de servlets El código es escrito directamente dentro de la página HTML pero es ejecutada en el servidor El server generará entonces código HTML el cual será “escrito”en el browser cliente

Qué hace a Java un lenguaje multiplataforma Program’s output P1.java P1.class Java compiler (específico para cada plataforma) javac P1.java Intérprete de Java (específico para cada plataforma) también llamado el JVM java P1

Versiones 1.Java 1.0.x Versión original, casi nadie la usa, aunque todavía hay algumos browsers que sólo soportan esta versión 2.Java 1.1.x Fue una transformación mayor, dobló el tamaño de 1.0. Muchas cosas quedaron “deprecated” en esta versión. Se trata de Clases y métodos los cuales si bien, se pueden seguir usando pero no se recomienda y el compilador lo hace saber. 3.Java 1.2.x. Llamado Java 2. Dobló en tamaño el anterior (nuevamente). Al paquete de software se le llamó SDK (Software Development Kit). Empieza a aparecer paralelamente lo que conocerá como J2EE (con los Java Beans). 4.Java 1.3.x Esta se empezó a llamar Java 2, Version 1.3. También se conoce como J2SE lo que quiere decir Java 2 Standard Edition. También aparece la primera versión estable de J2EE (con los enterprise java beans) 5.Java 1.4.x Acaba de ser lanzada e incorpora cosas de seguridad (claves)

Java comparado con C JAVA C Velocidad - interpretado + ejecutado directamente versatilidad - código debe ejecutarse en todo computador + permite acceso a recursos de bajo nivel standardization + Java es el mismo en todas partes - cada compilador de C tiene sus particularidades Multi-platform + el mismo código fuente y compilado - casi mismo fuente pero diferente compilado Robusto + no hay truculencias - permite hackeo Network + parte del lenguaje - bibliotecas diferentes Bibliotecas + muchas y estándares muchas pero no estándar

El “Hola Munodo”en Java, con editor de texto y el JSDK public class HolaMundo { public static void main(String args[]) { System.out.println(“Hola Mundo”); } En azul lo estándar para cualquier programa Stand-alone en java Debe ser escrito en un archivo llamado HolaMundo.java Se compila ingresando el comando javac HolaMundo.java Se ejecuta ingresando el comando java HolaMundo

Problema 1 Escribir un programa que instruya al computador para que establezca el siguiente diálogo con una persona (usuario) computador > Hola, ingresa un número: 1234 computador > Mi nímero es 1235 computador > Asi que yo gano esta vez El número es ingresado por el usuario (en azul) puede ser cualquiera pero el computador siempre debe responder con un valor mayor

Mi primer programa en Java public class Programm1 { public static void main(String args[]) { Console consola = new Console(); c.print(”Hola, Ingresa un número : "); int tuNumero; tuNumero = consola.readInt(); consola.print(" Mi numero es "); consola.print(tuNumero+1); consola.println(”Asi que yo gano esta vez !") } Azul: estándar Rojo: Tipos de datos Verde: Variables

Explicaciones del caso Console consola = new Console(); abre una ventana en la pantalla del computador desde la cual es posible leer valores que entrega el usuario e imprimir mensajes. Crea un objeto nuevo de clase consola el cual lo identificará con el nombre consola consola.print(“....”); ejecuta el método print sobre el objeto consola, el cual imprime la frase encerrada entre las comillas int tuNumero; declara una variable de tipo entero tuNumero = consola.readInt(); ejecuta el método readInt sobre el objeto consola queda esperando que el usuario ingrese por teclado un número entero en la consola y lo guarda (asigna) en la variable tuNumero consola.println(“...”); igual que print pero se salta a la línea siguiente (lo que venga después quedará en la línea siguiente)

Más explicaciones del caso La consola no es un tipo de objeto que exista en el lenguaje Java !!!! Fue desarrollada para este curso de modo de hacer la lectura/escritura (entrada/salida) de datos hacia/desde un programa más fácil Para poder usarla hay que hacer “visible” esta nueva clase de objeto al programa que uno está escribiendo Hay 2 formas: poner todos los archivos que ayudan a definir la clase Console en el mismo directorio (son 4 !!!) Hacer un archivo jar con los 4 archivos y utilizarlo durante la compilación

Generación y uso de archivos jar desde la línea de comando El comando para generar archivos jar es jar cvf nombre.jar clase1.class clase2.class .... jar cvf Console.jar Console.class ConsoleCanvas.class Message.class FatalError.class Para compilar el programa se debe especificar que hay que incluir clases que están en el archivo jar javac -classpath Jar1.jar;Jar2.jar;... ProgramaJava.java javac -classpath Console.jar Programm1.java Para ejecutar el programa se debe especificar nuevamente esto java -classpath Jar1.jar;Jar2.jar;... ProgramaJava javac -classpath Console.jar;. Programm1

Problema 2 Escribir un programa que instruya al computador para que establezca el siguiente diálogo con una persona (usuario) comp > Hola, como te llamas ? Nelson comp > Qué año naciste ? 1964 comp > Nelson, tienes más o menos 38 años El computador debe calcular la edad al 31 de Diciembre del 2002

Mi segundo Programa public class Programm2 { public static void main(String args[]) { Console c = new Console(); c.print(”Hola, Como te llamas ?"); String nombre = c.readString(); c.print(”Qué año naciste ? "); int nacio = c.readInt(); int edad = 2002-nacio; c.println(nombre +", tienes mas o menos "+ edad+" años "); } Azul: estándar Rojo: Tipos de datos Verde: Variables

Variante 1 del Problema 2 Escribir un programa que instruya al computador para que establezca el siguiente diálogo con una persona (usuario) comp > Qué año naciste ? 1964 comp > Qué mes naciste ? 4 comp > Qué día naciste ? 5 comp > has vivido cerca de xxx dias El computador debe calcular los días que ha vivido hasta al 31 de Diciembre del 2002. Suponga que un año tiene siempre 365 días, y un mes 30 días

Variante 2 del Problema 2 Escribir un programa que instruya al computador para que establezca el siguiente diálogo con una persona (usuario) comp > Qué año naciste ? 1964 comp > Qué mes naciste ? 4 comp > Qué día naciste ? 5 comp > Qué año es hoy ? 2003 comp > Qué mes es hoy ? 4 comp > Qué día es hoy ? 23 comp > has vivido cerca de xxx dias El computador debe calcular los días que ha vivido hasta el día de hoy