Módulo 2. Inicio con Java



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

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

Programador en Plataforma Java y XML

Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD

Tema 1. Introducción a JAVA

Java. Mtro. Manuel Suárez Gutiérrez

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

CAPITULO 3 VRML-JAVA-WWW

Concepto de sistema operativo

Visual Studio 2008 es el conjunto de herramientas de

INF 473 Desarrollo de Aplicaciones en

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

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

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

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

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

ENVÍO DE POR MEDIO DE SMTP

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

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

Capítulo 1. Introducción

Modelo de actualización y soporte

Arquitectura Cliente/Servidor

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

M.T.I. Arturo López Saldiña

Datos parciales. Datos Parciales. La Programación estructurada se concentra en las acciones que controlan el flujo de datos.

Nivel 1 Este es el nivel de soporte inicial, responsable de las incidencias básicas del cliente. El principal trabajo de un especialista de Nivel 1

LA REVOLUCIÓN DE LOS SISTEMAS DE INFORMACIÓN (S.I.) Introducción PORQUÉ SISTEMAS DE INFORMACIÓN? El Competitivo Entorno de los Negocios

INTRODUCCIÓN A JAVA. Índice

Figura 4.1 Clasificación de los lenguajes de bases de datos

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

GESTIÓN Y CONTROL DEL DESARROLLO E IMPLANTACIÓN DE APLICACIONES


Qué es una máquina virtual?

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

Sockets y otros objetos orientados a Internet en Delphi.

picojava TM Características

El Producto. Qué es la Ingeniería de Software? Tecnología para construir software Un proceso Un conjunto de métodos Herramientas

Máquinas virtuales (VMWare, Virtual PC, Sandbox. Qué son y para qué sirven. (DV00402A)

Manual de instalación de Java Runtime Environment.

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Unidad 9. Entornos de Desarrollo

Act 1: Revisión de Presaberes. Lectura No. 1. Título de la Lectura: El Computador

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

Actualización de versión a Bizagi 10.x

NUEVO SISTEMA DE MENSAJERÍA.

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web.

Presentación del Curso Virtual

Programa de soporte técnico ampliado MSA Start

Conceptos Básicos de Software. Clase III

4 ARQUITECTURA DE COMUNICACIONES

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

Conceptos Generales. Introducción a la ingeniería de Software. Tomado de: Escuela de Sistemas Universidad Nacional de Colombia Sede Medellín

COLEGIO COMPUESTUDIO

WebSphere es una familia de productos de software propietario de IBM

JAVATO: UN FRAMEWORK DE DESARROLLO JAVA LIBRE

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

Seminario de Java. Contenido

PROGRAMACIÓN ORIENTADA A OBJETOS

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

METODOLOGÍA E IMPLEMENTACIÓN DEL SIGGA (SISTEMA DE INFORMACION GEOGRAFICA: GOBERNANZA DEL AGUA)

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

NUEVO SISTEMA DE MENSAJERÍA.

VENTAJAS Y DESVENTAJAS DE LAS TECNOLOGIAS

Diseño de Imagen y de Marcas Trabajo Práctico Nº1

Capitulo V Administración de memoria

CRECE CON INTERNET. Empieza a navegar por la Red

Vicerrectorado de Investigación Oficina de Patentes y Valorización

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04

Maquinas virtuales Conceptos Básicos

Capítulo 7. Implementación del Sistema

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

Módulo 1 El lenguaje Java

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

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

Microsoft.Net. Programación III ISBO EMT CETP Prof. L. Carámbula

ENSAYOS CLÍNICOS. Guía para padres y tutores

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 Instalación de la JDK y del Eclipse

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

Actividades didácticas con JClic DEFINICIÓN DE JCLIC

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

CAPITULO 3 REDES HIBRIDAS-COMPLEJAS. 3.1 Descripción de la Red Híbrida Compleja (HCNN)

Modelo de Objetos Distribuidos

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

Informática 1 Grado en Matemáticas

TECNOLOGÍAS DE DESARROLLO: JAVA

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

CACHIVACHES. Un estilo de vida CASOS DE ÉXITO

Acceso al Disco Compartido y Dispositivos USB y DVD

Windows Server 2012: Infraestructura de Escritorio Virtual

Sistema de Mensajería Empresarial para generación Masiva de DTE

Unidad 1: Conceptos generales de Sistemas Operativos.

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

GESTIÓN ACADÉMICA GUÍA DIDÁCTICA HACIA LA EXCELENCIA COMPROMISO DE TODOS! Nombres y Apellidos del Estudiante:

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Competencias Profesionales del Ingeniero de Informática en la universidad.

Transcripción:

Módulo 2. Inicio con Java Objetivos: -Clasificar el lenguaje de programación Java según las formas de clasificar los lenguajes de programación. -Describir el funcionamiento de la plataforma Java. -Explicar las características y componentes del lenguaje de programación Java. -Motivar al estudiante al estudio del lenguaje de programación Java. Inicio con Java Muchas veces encontramos en nuestro entorno referencias sobre Java, bien sea como lenguaje de programación o como plataforma, pero, qué es en realidad Java?, cuál es su historia?, para qué sirve Java?, cómo aplicamos Java en el mundo real?, y más 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 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, consumir un mínimo de recursos, funcionar en diferentes plataformas de hardware y software, y crecer dinámicamente. Java se originó 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 llevó a crear por completo la plataforma Java. Java aparece entonces como una solución diferente al desarrollo y a la forma como se debe distribuir el software. [1] 7

Qué es entonces Java? Java es un lenguaje de programación de alto nivel caracterizado por ser: 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 más 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, interfaces de red o interfaces graficas. Estas librerías pueden a su vez extenderse para proporcionar nuevos comportamientos. Aunque C++ se rechazó como lenguaje para la solución que dio origen a Java, el lenguaje Java no se alejó del de C++ y conservó muchas de las características de objetos usados por este mismo; causando esto que Java sea familiar a un programador de C++ y pueda emigrar fácilmente hacia él. Seguro y robusto Java se diseñó para crear un 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 que se ejecute 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 se pueden atacar 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. 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 portable a un sistema. Java determina y específica los tamaños de sus tipos de datos y del comportamiento de sus operadores aritméticos; de este modo se garantiza que los programas se ejecuten de igual forma sin incompatibilidades por pasar de una arquitectura de hardware o software a otra. 8

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. 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. 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 sólo liga las clases necesarias. [1] Simple Distribuido Multitarea Orientado a objetos Portable De alto rendimiento De arquitectura neutra e independiente Robusto Seguro 3. Qué es entonces la tecnología JAVA? Java como tecnología está compuesto por: Un lenguaje de programación Un ambiente de desarrollo Un ambiente de aplicación Un ambiente de despliegue 9

Algunas consideraciones de Java La Maquina Virtual de Java es una maquina imaginaria que trata de simular las implementaciones de software de una real. La JVM brinda las especificaciones de una maquina de hardware, de esta manera se logra que los programas realizados en Java se independicen de la plataforma específica de hardware. La JVM se podría pensar como un puente 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. En Java, la seguridad en el código 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; éste adiciona seguridad en el momento de la carga, no permite la ejecución de virus, troyanos, etc. Cómo 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, ésta es entonces lanzada y puesta en funcionamiento con una maquina virtual desarrollada para la plataforma apropiada. La maquina virtual de Java está disponible en muchos sistemas operativos, de este modo, los mismos archivos.class que contienen el bytecode se pueden utilizar de una plataforma a otra. 10

Algunas maquinas virtuales tienen funcionalidades diferentes o realizan pasos adicionales en tiempo de ejecución para mejorar el rendimiento de las aplicaciones. 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, Linux, 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 porque 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 ésta 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 clases e interfaces; las librerías son conocidas con el nombre paquetes. [2] 11

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 versión online: http://java.sun.com/docs/books/tutorial/ Tutorial de Java en SUN 12