Tecnologia java

13
Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos Planeación de Sistemas Informáticos Página 1 de 13 TECNOLOGÍAS DE DESARROLLO: JAVA Java es un lenguaje de programación de Sun Microsystems originalmente llamado "Oak", que fue concebido bajo la dirección de James Gosling y Bill Joy, quienes pertenecían a una subsidiaria de Sun, conocida como "FirstPerson Inc". Oak nació para programar pequeños dispositivos electrodomésticos, como los asistentes personales digitales PADs (Personal Digital Assistants) y un poco más adelante se utilizó para ejecutar aplicaciones para televisores. Ninguno de estos productos tuvo éxito comercial. Gosling y Joy se quedaron con una tecnología robusta, eficiente, orientada a objetos, independiente de la arquitectura, pero hasta ese momento, sin ninguna utilidad práctica. ¿QUE ES JAVA? Java es una plataforma virtual de software desarrollada por sun microsystems de tal manera que los programas creados en ella puedan ejecutarse sin cambios en diferentes tipos de arquitecturas y dispositivos computacionales ( "diferentes plataformas"). Funcionamiento de Java Fuente Java : archivo .java o Archivo utilizado durante la fase de programación. o El único archivo realmente inteligible para el programador.

description

todo lo de java

Transcript of Tecnologia java

Page 1: Tecnologia java

Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos

Planeación de Sistemas Informáticos

Página 1 de 13

TECNOLOGÍAS DE DESARROLLO: JAVA

Java es un lenguaje de programación de Sun Microsystems originalmente llamado "Oak", que fue concebido bajo la dirección de James Gosling y Bill Joy, quienes pertenecían a una subsidiaria de Sun, conocida como "FirstPerson Inc". Oak nació para programar pequeños dispositivos electrodomésticos, como los asistentes personales digitales PADs (Personal Digital Assistants) y un poco más adelante se utilizó para ejecutar aplicaciones para televisores. Ninguno de estos productos tuvo éxito comercial. Gosling y Joy se quedaron con una tecnología robusta, eficiente, orientada a objetos, independiente de la arquitectura, pero hasta ese momento, sin ninguna utilidad práctica.

¿QUE ES JAVA?

Java es una plataforma virtual de software desarrollada por sun microsystems de tal manera que los programas creados en ella puedan ejecutarse sin cambios en diferentes tipos de arquitecturas y dispositivos computacionales ( "diferentes plataformas").

Funcionamiento de Java Fuente Java : archivo .java

o Archivo utilizado durante la fase de programación. o El único archivo realmente inteligible para el programador.

Page 2: Tecnologia java

Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos

Planeación de Sistemas Informáticos

Página 2 de 13

Byte-Code Java : archivo .class o Código objeto destinado a ser ejecutado en toda Máquina Virtual de Java o Procede de la compilación del código fuente

Máquina Virtual Java o Interprete de java convirtiendo el código a un lenguaje entendible para la

máquina, ejecuta el Byte-Code Java.

Visión general y elementos básicos del lenguaje: En Java, prácticamente todo son clases (objetos). El lenguaje obliga a la

programación orientada a objetos y no permite la posibilidad de programar mediante ninguna otra técnica que no sea ésta. Por esta razón, un programa estará formado por uno o varios archivos fuente y en cada uno de ellos tendrá definida una o varias clases.

El lenguaje Java, distingue entre mayúsculas y minúsculas, por lo que es importante transcribirlo literalmente.

También hay que comentar que en el nombre del archivo fuente también se hace distinción entre mayúsculas y minúsculas a la hora de compilarlo, aunque el sistema operativo empleado no haga esta distinción. La extensión del mismo debe ser .java

CARACTERISTICAS DE JAVA

El Lenguaje de Programación JAVA es fuertemente tipado. Esto significa que se espera que las cosas se hagan correctamente y en forma precisa. Así, si se está usando un entero en una operación y se pretende asignar o ocupar un valor de punto flotante el compilador se quejará.

En general, las características, entre otras, del Lenguaje JAVA son:

Lenguaje Simple

Como ya lo hemos señalado, JAVA es un Lenguaje de Programación derivado de C++ y está pensado como una mejora del mismo. En este sentido, JAVA elimina

Page 3: Tecnologia java

Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos

Planeación de Sistemas Informáticos

Página 3 de 13

una serie de características de C++ y agrega otras para facilitar el aprendizaje y la utilización del Lenguaje.

En JAVA no es necesario preocuparse de liberar memoria. Para ello existe una implementación particular llamada "Garbage Collector" (Recolector de Basura o Reciclador de Memoria), cuya función es buscar dinámicamente en memoria aquellos objetos que no se encuentran actualmente en uso y liberar la memoria ocupada por ellos para que esté disponible para nuevos objetos.

Tampoco existen en JAVA los punteros ni la aritmética de punteros para referenciar zonas de memoria, no existen registros (struct), definiciones de tipo (typedef), ni macros (#define), ni referencias como se entienden en C++. Si embargo, todas estas posibles carencias son solventadas a través de la implementación de las clases con lo cual podemos obtener una funcionalidad similar.

Estas "carencias", que en otros lenguajes de programación, son fuente común de errores que generan aplicaciones poco robustas y fiables. JAVA al eliminar estas caracterÍsticas pretende la creación de aplicaciones con menos errores y más confiables.

Lenguaje Orientado a Objetos

JAVA utiliza y trabaja con Objetos y con Interfaces sobre los mismos. Además cumple con los tres paradigmas de los Lenguajes Orientados a Objetos : encapsulamiento, herencia y polimorfismo.

Como JAVA se basa en C++, hereda muchos de los conceptos de la Orientación a Objetos de este lenguaje, como también de otros Lenguajes Orientados a Objetos.

"La Programación Orientada a Objetos, es una forma de concebir los programas de computadoras como un conjunto de objetos que interactúan."

Soporta Programación Concurrente

Esto es varios procesos ejecutándose en paralelo y comunicándose entre sí (Multithreaded), para así mejorar el rendimiento y permitir el uso constante de los recursos del sistema. Esto se conoce, también, como programación con "Hilos" o multitarea, es decir, varias tareas a la vez.

Distingue Tipos Primitivos de los Tipos Creados por el Usuario

Page 4: Tecnologia java

Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos

Planeación de Sistemas Informáticos

Página 4 de 13

JAVA dispone de tipos primitivos y además dispone de clases especiales que los implementan. Una clase que sea definida por el propio programador es también un tipo de dato, pero definido por el usuario, que describe los atributos y los métodos de los objetos que se crearán a partir de la clase. Lo que queremos decir es que cada clase definida por el usuario es un tipo de dato particular y nuevo.

Es Portable. Independiente de la Plataforma

Al compilar en JAVA a partir del código fuente se genera un fichero objeto que contiene la traducción de las líneas en "códigos de bytes" (ByteCodes) que puede interpretar la Máquina Virtual de JAVA cuando ejecuta el programa, en cualquier plataforma y Sistema Operativo en que ésta se encuentre instalada. Los ByteCodes son una compilación a bajo nivel (código de máquina) para una máquina hipotética que no existe y que sólo es una unidad de software que actúa sobre una plataforma o arquitectura real. Esta es una de las grandes ventajas de JAVA sobre otras plataformas y Lenguajes de Programación.

Cuando se compila un programa en la mayoría de los lenguajes, como C o C++, el compilador traduce el código fuente a instrucciones de código de máquina que son específicas para cada procesador en particular. Por ejemplo, si se compila un programa para la plataforma Intel, o uno compatible como los procesadores AMD, sólo se podrá ejecutar en esa plataforma y no en otra, como una SPARC o una PPC (Macintosh). Para usar ese programa en otras plataformas se deberá compilar de nuevo el programa en una máquina de la familia de la plataforma. Esto requerirá de cambios en el código fuente. Además, los compiladores trabajan en los Sistemas Operativos para los que fueron diseñados, de modo que un programa compilado con un compilador para Windows no trabajaría en un LINUX, aunque fuera la misma plataforma, a menos que se usara un programa que emulara el Sistema Operativo en el que fue creado el programa.

Es la Máquina Virtual o Intérprete la dependiente de la máquina en cuestión o del Sistema Operativo. De modo que el programador escribe su código para esta plataforma hipotética que es el Intérprete o run-time con independencia de la arquitectura en la que se vaya a ejecutar el programa. "Se escribe una vez, se ejecuta en todas partes", como dice la gente de JAVA. Es por esta razón que se dice de JAVA que es un lenguaje interpretado más que compilado. En definitiva, el intérprete toma el programa JAVA y lo traduce a comandos o instrucciones que pueda manejar el Sistema Operativo sobre el cual se está corriendo. De esta forma el programador se olvida de la arquitectura que utilizan los usuarios.

Es Seguro

Page 5: Tecnologia java

Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos

Planeación de Sistemas Informáticos

Página 5 de 13

JAVA en el seguro en el sentido que trata de reducir al mínimo posible el acceso ilegal a memoria. Es por ello que, por ejemplo, se eliminan los punteros y los arreglos utilizan la comprobación de límites.

También maneja la memoria con el objeto de liberar al programador de gestionarla, liberándola o evitando a acceder a zonas de la memoria protegidas para evitar la interacción con virus, por ejemplo.

Por último, JAVA dispone de un mecanismo de control de excepciones que obliga a tratarlos en forma explícita.

Otra forma en que se manifiesta esta característica es través del encapsulamiento, que permite ocultar los datos y los procedimientos internos del programa al usuario, por medio de los modificadores, el cual sólo puede interactuar con él a través de la interfaz pública que se haya definido.

Permite la Creación de Aplicaciones Distribuidas

Esto significa que podemos tener una aplicación JAVA corriendo en diferentes máquinas comunicadas entre sí. Para ello, existen una serie de clases y bibliotecas que implementan el protocolo TCP/IP. Además existen rutinas que permiten trabajar con los estándares del http y el ftp, entre otros.

CONFIGURACION DEL ENTORNO

Antes de comenzar a desarrollar con JAVA se debe tener correctamente configurado el entorno de trabajo. Por entorno de trabajo vamos a entender un compilador, el intérprete o entorno de ejecución (run-time) y una herramienta para escribir el código fuente. Además, existen variables de entorno, que son definidas desde el arranque del Sistema Operativo en cuestión, que deben configurarse para poder desarrollar y hacer correr aplicaciones JAVA.

El Compilador

Si va a desarrollar con JAVA, el compilador es una pieza fundamental. Este recibe el nombre de Paquete o Kit de Desarrollo de Software SDK (Software Development Kit).

Existen SDKs propietarios y libres. Entre los primeros encontramos el de SUN y el que proporciona IBM , como los más conocidos. Entre los libres están Kaffe y gcj, como parte del proyecto gcc, entre otros.

Nosotros usaremos la herramienta que proporciona SUN, por ser ésta la más popular en cuanto a su uso. Esta se puede descargarse gratuitamente desde el sitio de SUN.

Page 6: Tecnologia java

Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos

Planeación de Sistemas Informáticos

Página 6 de 13

Este Kit forma parte de la plataforma JAVA en su versión 2 llamado Java 2 Platform, Standard Edition (J2SE ), el cual también proporciona el intérprete o run-time de JAVA.

El Intérprete

Este es la Máquina Virtual o Java RunTime Environment (JRE ) que permite que las aplicaciones JAVA puedan ejecutarse. Puede descargarse conjuntamente o en forma separada del SDK.

El Editor

Basta con un simple editor de textos para poder escribir código JAVA. De hecho si se está comenzando con este Lenguaje es la mejor recomendación antes de usar IDEs más completos. Cualquier editor de textos es apropiado y existen una infinidad de ellos. Debería usarse el que sea más cómodo para el programador. El autor, en particular, usa VIM, que es un clon del clásico editor UNIX Vi y del cual existen versiones para diversas plataformas. Un editor gráfico interesante, y y también usado por el autor, es kate que forma parte del proyecto Kde. Otro editor destacado es Jedit que es una herramienta desarrollada íntegramente en JAVA y que tiene plugins interesantes.

¿Qué es una API?

Una API (Application Programming Interface en inglés) constituye un conjunto de rutinas, procedimientos, protocolos, funciones y herramientas que una determinada biblioteca pone a disposición para que sean utilizados por otro software como una capa de abstracción. En otras palabras, es una interfaz que permite la comunicación entre distintos componentes software. Representa, entonces, un método para alcanzar abstracción a la hora de programar, en particular en la relación entre niveles superiores e inferiores del software.

De esta forma, podemos decir que una de las funciones centrales de una API es la de ofrecer un grupo de funciones generales, como sería la de dibujar uno o más íconos en la pantalla. Esto tiene como resultado principal que los programadores se vean beneficiados gracias a estas API, en la medida en que al utilizar sus funcionalidades se evitan la necesidad de programar todo desde el inicio.

Sin embargo, es cierto también que una API con un alto nivel tiende a perder flexibilidad en su uso. Así, cuando elegimos usar una API es necesario que logremos un

Page 7: Tecnologia java

Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos

Planeación de Sistemas Informáticos

Página 7 de 13

determinado equilibrio, contemplando tanto su potencia como su simplicidad y su grado de flexibilidad.

Algunos ejemplos de APIs para ilustrar mejor la explicación:

1. API de Youtube: permite elegir videos y ponerlos en una página web propia. Incluso es posible, con su nueva versión, deshacerse del logo de Youtube para colocar uno personal. Esto resulta particularmente interesante para cualquier medio de comunicación encargado de producir videos, ya que le permite no tener que invertir dinero en hosting.

2. API Win 32: permite que una aplicación determinada corra en Windows. Entre sus funciones específicas se encuentran, entre otras: comunicación entre procesos, depuración de errores o manejo de energía. Otros Ejemplos: Microsoft Framework .NET, Java EE, Symfony para PHP

¿Qué es una IDE?

Un entorno de desarrollo integrado, llamado también IDE (sigla en inglés de integrated development environment), es un programa informático compuesto por un conjunto de herramientas de programación. Puede dedicarse en exclusiva a un solo lenguaje de programación o bien poder utilizarse para varios.

Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación, es decir, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica (GUI). Los IDEs pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes. El lenguaje Visual Basic, por ejemplo, puede ser usado dentro de las aplicaciones de Microsoft Office, lo que hace posible escribir sentencias Visual Basic en forma de macros para Microsoft Word.

LA PLATAFORMA JAVA CONSTA DE LAS SIGUIENTES PARTES:

El lenguaje de programación, mismo. La máquina virtual de Java o JRE, que permite la portabilidad en ejecución. El API Java, una biblioteca estándar para el lenguaje. JDK: Java developmetn Kit

Page 8: Tecnologia java

Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos

Planeación de Sistemas Informáticos

Página 8 de 13

APPLET

Componente de software (que suele ser pequeño) escrito en un lenguaje de programación (como Java, ver Java applet), que se ejecuta bajo el control de una aplicación más grande que lo contiene (como un navegador web).

El término "applet" fue introducido en AppleScript en el año 1993.

Características generales de los applets

* Se ejecutan sólo en la plataforma "cliente" de un sistema, como contraste de un servlet.

* A diferencia de las subrutinas, en los applets ciertas capacidades son restringidas por el contenedor (el navegador).

* Un applet está escrito en un lenguaje diferente del script o del HTML que lo invoca.

* Los applet son escritos en un lenguaje compilado, mientras que el lenguaje scripting del contenedor es un lenguaje interpretado. Esto permite mayor performance y potencia al applet.

* A diferencia de una subrutina, puede implementarse un componente web completo en forma de applet.

* A diferencia de un programa, no puede ejecutarse de forma independiente (necesita un programa contenedor).

Ejemplos de applets:

* Animación Flash.

* Java applet.

Page 9: Tecnologia java

Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos

Planeación de Sistemas Informáticos

Página 9 de 13

Applet Java

Un applet Java es un applet escrito en el lenguaje de programación Java. Los applets de Java pueden ejecutarse en un navegador web utilizando la Java Virtual Machine (JVM), o en el AppletViewer de Sun.

Entre sus características podemos mencionar un esquema de seguridad que permite que los applets que se ejecutan en el equipo no tengan acceso a partes sensibles (por ej. no pueden escribir archivos), a menos que uno mismo le dé los permisos necesarios en el sistema; la desventaja de este enfoque es que la entrega de permisos es engorrosa para el usuario común, lo cual juega en contra de uno de los objetivos de los Java applets: proporcionar una forma fácil de ejecutar aplicaciones desde el navegador web.

En Java, un applet es un programa que puede incrustarse en un documento HTML, es decir en una página web. Cuando un navegador carga una página web que contiene un applet, este se descarga en el navegador web y comienza a ejecutarse. Esto permite crear programas que cualquier usuario puede ejecutar con tan solo cargar la página web en su navegador.

El navegador que carga y ejecuta el applet se conoce en términos genéricos como el "contenedor" de los applets. El kit de desarrollo de software para Java Standard Edition 7 (1.7.1 --Versión más actual, puesta en marcha el 18 de octubre de 2011) incluye un contenedor de applets, llamado appletviewer, para probar los applets antes de incrustarlos en una página web.

Ventajas de Applets

Los applets de Java suelen tener las siguientes ventajas:

Son multiplataforma (funcionan en Linux, Windows, Mac OS, y en cualquier sistema operativo para el cual exista una Java Virtual Machine).

El mismo applet puede trabajar en "todas" las versiones de Java, y no sólo en la última versión del plugin. Sin embargo, si un applet requiere una versión posterior del Java Runtime Environment (JRE), el cliente se verá obligado a esperar durante la descarga de la nueva JRE.

Es compatible con la mayoría de los navegadores web.

Puede ser almacenado en la memoria caché de la mayoría de los navegadores web, de modo que se cargará rápidamente cuando se vuelva a cargar la página

Page 10: Tecnologia java

Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos

Planeación de Sistemas Informáticos

Página 10 de 13

web, aunque puede quedar atascado en la caché, causando problemas cuando se publican nuevas versiones.

Puede tener acceso completo a la máquina en la que se está ejecutando, si el usuario lo permite.

Puede ejecutarse a velocidades comparables a las de otros lenguajes compilados, como C++ (dependiendo de la versión de la JVM).

Puede trasladar el trabajo del servidor al cliente, haciendo una solución web más escalable tomando en cuenta el número de usuarios o clientes.

Desventajas Applets

Los applets de Java suelen tener las siguientes desventajas:

Requiere el plugin de Java, que no está disponible por defecto en todos los navegadores web.

No puede iniciar la ejecución hasta que la JVM esté en funcionamiento, y esto puede tomar tiempo la primera vez que se ejecuta un applet.

Si no está firmado como confiable, tiene un acceso limitado al sistema del usuario - en particular no tiene acceso directo al disco duro del cliente o al portapapeles.

Algunas organizaciones sólo permiten la instalación de software a los administradores. Como resultado, muchos usuarios (sin privilegios para instalar el plugin en su navegador) no pueden ver los applets.

Un applet podría exigir una versión específica del JRE.

Puede tener vulnerabilidades que permitan ejecutar código malicioso1 .

Page 11: Tecnologia java

Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos

Planeación de Sistemas Informáticos

Página 11 de 13

SERVLET

Page 12: Tecnologia java

Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos

Planeación de Sistemas Informáticos

Página 12 de 13

Page 13: Tecnologia java

Facultad de Ciencias Naturales e Ingenierías Tecnología en Desarrollo de Sistemas Informáticos

Planeación de Sistemas Informáticos

Página 13 de 13

Referencias

http://www.juanabe.50megs.com/webJuanabe/mem/cap1-2.html

http://yosh35.tripod.com/id2.html

http://java-desd-cero.blogspot.com/2012/06/applets-que-es-un-applets.html

http://asignaturas.diatel.upm.es/prog3/c0607_tema2_JavaBasico.pdf

http://zarza.usal.es/~fgarcia/doc/tuto2/I_2.htm