A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante



Documentos relacionados
Módulo 2. Inicio con Java

Tema 1. Introducción a JAVA

Programador en Plataforma Java y XML

Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD

CAPITULO 3 VRML-JAVA-WWW

INF 473 Desarrollo de Aplicaciones en

Índice. Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador?

INTRODUCCIÓN A JAVA. Índice

Visual Studio 2008 es el conjunto de herramientas de

ENVÍO DE POR MEDIO DE SMTP

Conceptos Básicos de Software. Clase III

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Java. Mtro. Manuel Suárez Gutiérrez

picojava TM Características


Manual de instalación de Java Runtime Environment.

Introducción a la Programación en Java. Page 1

Introducción a Java. Diseño y Programación Orientados a Objetos 1

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

Modelo de Objetos Distribuidos

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

servicios. El API es definido al nivel de código fuente y proporciona el nivel de

Introducción al lenguaje de programación java

Módulo 1 El lenguaje Java

Seminario de Java. Contenido

Una computadora es un dispositivo electrónico, operando bajo el control de las instrucciones almacenadas en su propia unidad de memoria.

WebSphere es una familia de productos de software propietario de IBM

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV

Introducción a la extensión de scripting en gvsig 2.0

Workflows? Sí, cuántos quiere?

Unidad 1: Conceptos generales de Sistemas Operativos.

Java Básico. Empaquetamiento y despliegue de aplicaciones. Copyright

J2ME ENTORNO DE EJECUCIÓN. Un entorno de ejecución determinado de J2ME se compone entonces de una selección de:

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Manual de ayuda para la descarga y ejecución de la aplicación. Ayuda sobre Java Runtime Environment

Software de sistema: Programas genéricos que permiten gestionar los recursos del ordenador.

Entre los más conocidos editores con interfaz de desarrollo tenemos:

Windows Server 2012: Infraestructura de Escritorio Virtual

Guía de Instalación de la JDK y del Eclipse

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Qué es Java? Introducción a Java. Lenguajes Orientados a Objetos. Qué es Java? Historia de Java. Objetivos de Java

4. Programación Paralela

Maquinas virtuales Conceptos Básicos

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

Capítulo 7. Implementación del Sistema

Notas técnicas de JAVA Nro. 4 White Paper

Hexodus Manual de usuario

Objetivo de aprendizaje del tema

Documento para la revisión de la configuración del ordenador para el uso del servicio electrónico de instalaciones de baja tensión

Guía de uso del Cloud Datacenter de acens

Descripción. Este Software cumple los siguientes hitos:

Software Computacional y su clasificación

CONCLUISIONES Y RECOMENDACIONES

TECNOLOGÍAS DE DESARROLLO: JAVA

Por más insignificante que sea lo que debes hacer, esmérate en hacerlo lo mejor que puedas, como si fuera la cosa más importante

Tema 2: La Tecnología Java

La toma de decisiones está presente dentro de la vida de la mayoría de las personas. Los

INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD. Estructura de contenidos: cisvirtual@ucv.edu.pe. 1.

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales.

Programación para sistemas en red IV. Conceptos básicos II

Capítulo 5. Cliente-Servidor.

Capítulo 4: Requerimientos.

Las 10 razones principales por las cuales debe de elegir unipaas

Tema 1. Java: Conceptos generales

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

La Pirámide de Solución de TriActive TRICENTER

Java Básico. Introducción a Java. Copyright

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2)

UNIVERSIDAD DE SALAMANCA

Mesa de Ayuda Interna

Mono: mucho más que una implementación libre de.net Jordi Mas i Hernàndez, jordi@ximian.com. Septiembre 2004

Sistema Operativo Linux

Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp...

PROGRAMACIÓN WEB I SEMANA 7 ESTE DOCUMENTO CONTIENE LA SEMANA 7

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto

CAPITULO IV CONCLUSIONES Y RECOMENDACIONES

Versión: 01. Fecha: 01/04/2013. Código: F004-P006-GFPI GUÍA DE APRENDIZAJE Nº 1 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE

Técnico de Soporte Informático TEMA 02 NUEVAS TECNOLOG AS

CAPÍTULO 1 Instrumentación Virtual

Ambiente Virtual de Comercio Electrónico B2B para la Comunidad Virtual de Negocios del departamento del Cauca

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

COLEGIO COMPUESTUDIO

Oficina virtual IFAPA. Preguntas y respuestas frecuentes /Presenta-PCT

Java y Eclipse. Lenguajes y Entornos de Programación Libre

Plataforma desarrollo Java Formación elearning tutorizada en castellano. Fabricante: Java Grupo: Desarrollo Subgrupo: Master Java

(PHP y APACHE), y el programa de comunicación Skype, para controlar de manera

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

CAPÍTULO I DEFINICIÓN DEL PROBLEMA Y OBJETIVOS

Ingeniería de Software

Compilación y ejecución de programas en Java.

Ingeniería de Software. Pruebas

App para realizar consultas al Sistema de Información Estadística de Castilla y León

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Unidad I. Introducción a la programación de Dispositivos Móviles

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

LAS NUEVAS TECNOLOGÍAS DE LA INFORMACIÓN Y DE LA COMUNICACIÓN (TIC) EN LA EDUCACIÓN.

Capitulo 5. Implementación del sistema MDM

6 Anexos: 6.1 Definición de Rup:

CAPÍTULO 5 IMPLEMENTACIÓN DEL SISTEMA

Transcripción:

Modulo 2. Inicio con Java Muchas veces encontramos en nuestro entorno referencias sobre Java, bien sea como lenguaje de programación o como plataforma, pero, que es en realidad Java?, cual es su historia?, para que me sirve Java?, como aplicamos Java en el mundo real?, y mas importante aún Cómo Java nos ayuda a desarrollar el curso de lenguajes de programación?. A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante más 1. Historia de Java. El lenguaje de programación Java es diseñado para resolver los desafíos del desarrollo de aplicaciones que se ejecuten en diferentes ambientes y en redes heterogéneas. Algunos de estos desafíos tienen que ver con la seguridad en las aplicaciones, el consumir un mínimo de recursos, funcionar en diferentes plataformas de hardware y software, y crecer dinámicamente. Java se origino como parte de un proyecto de investigación que pretendía desarrollar un software para una amplia gama de dispositivos. La meta era desarrollar una aplicación pequeña, confiable, portable y que se pudiese distribuir en tiempo real. La opción a este problema era desarrollar la aplicación en un lenguaje conocido, C++ fue entonces la solución. Luego de comenzar el proyecto se encontraron dificultades lo que llevo a crear enteramente la plataforma Java. Java aparece entonces como una solución diferente el desarrollo y la forma como se debe distribuir el software. [1] 2. Qué es entonces Java? Java es un lenguaje de programación de alto nivel caracterizado por ser: Simple Distribuido Multitarea Orientado a objetos Portable De alto rendimiento De arquitectura neutra e independiente Robusto Seguro

2.1 Simple, orientado a objetos y familiar. Las características primarias del lenguaje de programación de Java incluyen una lengua simple en la que se puede programar sin un entrenamiento extenso. Los conceptos fundamentales de la tecnología de Java se aprenden rápidamente, así; los programadores pueden ser productivos desde el principio. El lenguaje de programación Java es diseñado dentro del grupo de lenguajes orientado a objetos, siendo la tecnología de desarrollo orientado a objetos la corriente principal que se ha gestado después de mas de 30 años de la programación. Con Java los programadores usan y acceden a librerías de objetos ya probados, dichas librerías extienden el comportamiento y funcionalidad de datos básicos a través de: entradas y salidas, interfases de red o interfaces graficas. Estas librerías se pueden a su vez extender para proporcionar nuevos comportamientos. Aunque C++ fue rechazado como lengua para la solución que dio origen a Java, el lenguaje Java no se alejo del lenguaje C++ y conservo muchas de las características de objetos usados por el lenguaje. Causando esto que Java sea familiar a un programador de C++ y pueda emigrar fácilmente hacia el. 2.2 Seguro y robusto Java es diseñado para crear software altamente confiable. Proporciona una extensa verificación en tiempo de compilación, seguida de un segundo nivel de verificación en tiempo de ejecución Java es diseñado para ser ejecutado en diferentes plataformas y ambientes de producción, por lo cual la seguridad se convierte de vital importancia, Java no permite construir aplicaciones que invadan el exterior de la aplicación, los programas de Java no pueden ser atacados por código de puertas traseras, virus, etc. El modelo de administración de la memoria es extremadamente simple, los objetos se crean por un nuevo operador, no hay tipo de datos definidos explícitamente, no existe manejo de apuntadores y se cuenta con un recolector de basura (garbage collection) memoria no usada de forma automática. 2.3 Arquitectura neutra y portable Como se ha mencionado la tecnología Java fue diseñada para desarrollar aplicaciones que funcionaran sin problemas en diferentes tipos de redes, diferentes sistemas operativos, etc. Para solucionar este problema el compilador de Java genera un bytecode formato intermedio y neutro, indiferente de la arquitectura que se puede transportar eficientemente -. La característica de neutralidad del bytecode es apenas una porción de lo que hace verdaderamente a un sistema portable. Java determina y específica los tamaños de sus tipos de datos, y del comportamiento de sus operadores aritméticos, de esta forma se garantiza que los programas se ejecuten de igual forma sin incompatibilidades por pasar de una arquitectura de hardware o software a otra.

La plataforma que hace a Java un lenguaje de arquitectura neutra y portable se conoce como la Maquina Virtual de Java (JVM). Existe documentación y una referencia amplia de las especificaciones para una maquina virtual. 2.4 Alto desempeño Java alcanza su mayor desempeño adoptando el esquema de funcionamiento: El run-time interprete no necesita realizar comprobaciones; El recolector de basura funciona como un hilo independiente que se ejecuta en background y con prioridad baja, asegurando que se encuentre memoria disponible cuando se necesite. En Java los cálculos o procesamientos extensos pueden ser diseñados y reescritos en código nativo, conectándose a la tecnología Java para mejorar el desempeño cuantas veces sea necesario. 2.5 Interpretado, Multitarea, y dinámico Las aplicaciones de red actuales, tales como el navegador HotJava para Internet, necesitan comúnmente hacer varias operaciones o tareas al mismo tiempo. Java proporciona los medios para construir aplicaciones con muchos hilos de ejecución concurrentes gracias a la capacidad multithreading (multitarea), dando así una gran interactividad para el usuario final. Java soporta la multitarea en el nivel de lenguaje con la adición de una sofisticada sincronización primitiva: La librería del lenguaje proporciona la clase Thread (hilo) y el sistema de run-time proporciona un sistema de monitoreo y condiciones para controlar los bloqueos. Mientras que el compilador de Java es cerrado y estricto en su comprobación estática en tiempo de compilación, el lenguaje y sistema de run-time es totalmente dinámico al momento de ligar las clases, a su vez que solo liga las clases necesarias. [1] 3. Qué es entonces la tecnología JAVA? Java como tecnología esta compuesto por: Un lenguaje de programación Un ambiente de desarrollo Un ambiente de aplicación Un ambiente de despliegue 4. Algunas consideraciones de Java La Maquina Virtual de Java, es una maquina imaginaria que trata de simular las implementaciones de software de una maquina real. La JVM brinda las especificaciones de una

maquina de hardware, de esta manera se logra una independencia de los programas realizados en java de la plataforma especifica de hardware. La JVM se podría pensar como un puende entre el Hardware real y el código bytecode generado en la compilación. El Garbage Collection, es el encargado de administrar la memoria en Java en tiempo de ejecución, de esta manera el programador no se preocupa por la administración de la memoria en las diferentes etapas de desarrollo. Seguridad en el codigo, en Java se logra a través de la Java Runtime Environment (JRE). El JRE ejecuta el código compilado para una JVM y realiza la carga de clases (a través del cargador de clases), la verificación del código (a través del verificador de bytecodes) y, por último, la ejecución de código. El cargador de clases es el responsable de colocar en memoria las clases necesarias por un programa Java, este adiciona seguridad en el momento de la carga, no permite la ejecución de virus, troyanos, etc. 5. Como funciona Java? Todo el código es escrito en archivos de texto plano que terminan con extensión.java. Estos archivos se conocen con el nombre de fuentes y son compilados en archivos.class por el compilador javac. Un archivo.class no contiene el código nativo que es entendido por el procesador, en lugar de esto contiene el bytecode que es entendido por la maquina virtual (JVM). Al ejecutar una aplicación en Java esta es lanzada y puesta en funcionamiento entonces con una maquina virtual desarrollada para la plataforma apropiada. La maquina virtual de Java esta disponible en muchos sistemas operativos, así los mismos archivos.class que contienen el bytecode se pueden utilizar de una plataforma a otra.

Algunas maquinas virtuales tienen funcionalidades diferentes o realizan pasos adicionales en tiempo de ejecución para mejorar el rendimiento de las aplicaciones. 3.1 La plataforma Java. Una plataforma es el ambiente de hardware o de software en el cual un programa funciona. Hemos mencionado ya algunas de las plataformas más populares como el Sistema operativo (OS) de Microsoft Windows, de Linux, de Solaris, y el OS de Mac. La mayoría de las plataformas se pueden describir como una combinación del sistema operativo y del hardware subyacente. La plataforma de Java se diferencia de la mayoría de las otras plataformas por que es una plataforma basada en software solamente y que funciona por encima de otras plataformas basadas en hardware. La plataforma de Java tiene dos componentes: La máquina virtual de Java Las interfaces de programación de aplicaciones Java (API) Como se ha visto a lo largo del documento, la maquina virtual de Java es la base para la plataforma Java y esta se encuentra por encima de las plataformas basadas en hardware. El API es una colección de componentes de software que brindan muchos beneficios. Dentro de las librerías se encuentran diferentes tipos de classes e interfaces, las librerías son conocidas con el nombre paquetes. [2]

REFERENCIAS [1] James Gosling (1996), The Java Language Environment. En version online: http://java.sun.com/docs/white/langenv/ [2] Sun Microsystems, The Java Tutorials. En version online: http://java.sun.com/docs/books/tutorial/ Tutorial de Java en SUN