Intruccion a la plataforma Java

Slides:



Advertisements
Presentaciones similares
Java 2 Platform Enterprise Edition
Advertisements

Sistemas Distribuidos basados en la web
J2EE Java Enterprise edition eilin chang Matthew pabon Gabriel vega.
 Es un programa escrito en Java y que forma parte de los componentes de una página de Internet. Los Applets han sido usados para proporcionar funcionalidad.
Diseño y Programación Orientados a Objetos1 Introducción a Java.
OFFICE. PAQUETE DE OFFICE Microsoft Office es una recopilación de aplicaciones (suite de oficina), las cuales son utilizados en oficinas y sirve para.
¿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.
¡LOS SERVIDORES DE FTP Y NUBE!
¿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.
BASE DE DATOS EN LA WEB POR- OSIRYS MARCIAGA JESUS NIETO.
La Plataforma Holmes Irisel Consulting 2016.
Sistema Online de Firma Electrónica
UNIVERSIDAD NACIONAL DE CHIMBORAZO NOMBRE:ERIKA SALAO PRIMERO:A ESCUELADE:EDUCACION BASICA DOCENTE: FERNANDO BUFANTE AÑO LECTIVO Es un sistemas.
INTRODUCCIÓN. Una computador u ordenador se compone principalmente del software, que se refiere al conjunto de programas, instrucciones y reglas informáticas,
Diseño y Programación Orientados a Objetos
Clases y Objetos.
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
Ingeniero en Computación José Alfredo Cobián Campos
U.T. 11: Introducción A Las Bases De Datos
LENGUAJE DE PROGRAMACIÓN Y SOFTWARE PROPIETARIO
MODELO CLIENTE -SERVIDOR
Navegadores web.
Conectividad de Bases de Datos
Aplicaciones Web 1 CAPITULO 1 Introducción a las aplicaciones Web Ing. Jeffery Naranjo Msc
Modelo de 3 capas. Qué es la arquitectura de una aplicación? La arquitectura se refiere a la forma en la que es diseñada tanto física como lógicamente.
Definición de un Sistema Distribuido
Lenguaje y representación técnica
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.
INTERNET Actividad 3 Herramientas Tareas Ruben Dario Acosta V.
SEBASTIAN GAITAN BEDOYA
Tema 1 El entorno de desarrollo de C#
INTRODUCCIÓN A JAVA.
Diseño y Programación Orientados a Objetos
INTRODUCCIÓN A JAVA.
FUNDAMENTOS DE PROGRAMACION EN ENTORNO WEB. Rodrigo Cabello Ing. Informático Director de proyectos Think – Ideas in Motion FUNDAMENTOS.
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.
QUE ES UN SISTEMA OPERATIVO ANDROID  Es un Sistema Operativo además de una plataforma de Software basada en el núcleo de Linux.  Permite controlar dispositivos.
Servidores web. ¿Cómo funciona la web? Internet Cliente Web ( Netscape, Internet Explorer, Firefox, etc.) Servidor Web Servidor de nombres (DNS) 2.
Características Generales y Entornos de Desarrollo
Java Enterprise edition
Entendiendo PHP En diseño de software en el Front-end es la parte del software que interactúa con los usuarios. Es la persona que se encarga del diseño.
Servicios Web XML 03 de Junio de 2004 Fernando Alonso Blázquez.
“Conceptos Básicos de Java”
Spring Framework.
Estructura de los sistemas Operativos 1. Componentes de un sistema operativo  Administración de procesos  Administración de memoria  Subsistema de Entrada/Salida.
Lenguajes del lado del cliente
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
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.
SQL1 7/9 Baloian Acceso a Bases de Datos
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.
Nelson Baloian Abril/Mayo/Junio 2003
Diseño y Programación Orientados a Objetos
¿Por qué orientación al objeto ?
Es un ordenador de software que puede ejecutar un sistema operativo por el mismo, este tipo de sistemas operativos, presentan una interface a cada proceso.
UNIVERSIDAD PRIVADA SAN JUAN BAUTISTA FILIAL CHINCHA ESCUELA PROFESIONAL DE INGENIERÍA DE COMPUTACIÓN Y SISTEMAS Por: Nestares Torres Luis Jesús Enrique.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS - MENDOZA MOLINA ARIANA
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS. Estos sistemas no tienen una estructura definida, sino que son escritos como una colección de procedimientos donde.
Conjunto de programas contenidos en un núcleo o kernel que efectúan la gestión de los procesos básicos de un Sistema informático, y permite la normal.
Estructura de los Sistemas Operativos
ESTRUCTURA DE SISTEMAS OPERATIVOS MOSQUERA HERRERA CLAUDIA ANGELICA ANDROID WINDOWS APPLE LINUX.
Cliente Servidor Petición Respuesta Aplicaciones Cliente-Servidor.
Transcripción de la presentación:

Intruccion a la plataforma Java Nelson Baloian Binaria S.A.

Programa de Charlas Introducción ¿ Qué #*@ es java ? (historia) ¿ Qué se puede hacer con java ? ¿ dónde se usa ?

Programa de Charlas La arquitectura por capas ¿ Qué es la arquitectura por capas ? ¿ Por qué se usa ? ¿ Como la implementa java (J2EE) ? Su principal competidor: .NET La arquitectura por capas implementada en la CGE

Programa de Charlas Introducción a la programación orientada al objeto con Java Las clases Herencia Ejemplos: Programas stand alone Apples Servlets JSP JDBC EJB

Programa de Charlas XML como estándar para el intercambio de información entre aplicaciones Los Web Services Herramientas de apoyo al desarrollo Los IDE (eclipse, NetBeans) Composer Director

Historia de Java A principios de los 90’s se diseña un lenguaje de programación para la programación de dispositivos “caseros” con las siguientes características Independiente de la plataforma Seguro Confiable Orientado al objeto

Independiente de la plataforma No importa qué CPU o sistema operativo se esté usando debería funcionar IGUAL ! Esto implicaba que la única solución plausible era un lenguaje interpretado: Compilación Máquina Virtual de Java Código fuente Bytecode Ejecución del programa Programa1.java Programa1.class

¿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

¡¡¡ La a virtual puede estar en cualquier parte !!! Corriendo directamente sobre el sistema operativo (linux, windows) Para correr aplicaciones stand alone Integrada a un browser web Para correr applets Integrada a un servidor web o Para correr servlets o EJB Integrada en un dispositivo móvil (relojes, teléfonos, etc..)

Seguro, Confiable, OO Seguro Confiable Orientado al Objeto Que no permitiera virus ni caballos de Troya Confiable Que el estilo de programación evitara la introducción de errores en la programación (comparado con C) Orientado al Objeto Es el paradigma que está mas en boga para la programación

La web y Java La programación de aplicaciones y sistemas basados en la web toma mucha importancia Ubicuidad: se puede acceder de cualquier lugar Seguridad: cortafuegos, normalmente el port 80 es el único que recibe requerimientos desde afuera (que es el port donde se atienden los requerimientos web) Las características de Java hacen de éste el lenguaje ideal para la programacìón en la web !!!

¿Qué tipos de programa puedo desarrollar con JAVA ? Todos los archivos java definen una clase Una clase es la definición de un nuevo tipo de objeto, pero según cómo se programe, este “objeto” podrá ejecutarse en determinados ambientes 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)

¿Qué tipos de programa puedo desarrollar con JAVA ? 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 Java Script Es la versión script de los appets, en el sentido que es código que se ejecuta en el browser. El código viene escrito entre medio del código HTML una página

¿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) JSP (java server pages) Es la versión script de los servlets El código viene directamente escrito en la página web entre medio del código HTML

¿Qué tipos de programa puedo desarrollar con JAVA ? Enterprise Java 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 Existen 3 tipos distintos que se usan para diferentes funciones

¿Qué tipos de programa puedo desarrollar con JAVA ? Web Services Se usan para programar funciones al estilo RPC (remote procedures call) Siguen el protocolo SOAP para comunicación de aplicaciones e intercambio de datos en formato XML Se contactan directamente a través de un servidor web

¿ Cómo siguió la historia ? El desarrollo de aplicaciones basadas en la web ha tomado cada vez más importancia El esquema cliente-servidor fue remplazado por la arquitectura de n-capas, donde el cliente se trata de mantener lo más “delgado” posible El mayor peso de la aplicación (tanto en el desarrollo como en la ejecución) recae sobre el servidor

La arquitercura por capas El desarrollo de aplicaciones basadas en la web ha tomado cada vez más importancia El esquema cliente-servidor fue reeplazado por la arquitectura de n-capas, donde el cliente se trata de mantener lo más “delgado” posible El mayor peso de la aplicación (tanto en el desarrollo como en la ejecución) recae sobre el servidor

Arquitecturas de 2 y 3+ capas Servidor de BD cliente Servidor de aplicaciones Servidor web cliente Servidor de BD

Inconvenientes de las arquitecturas de 2 capas Aplicaciones monolíticas difíciles de mantener Toda la inteligencia está en el cliente Los servidores son sólo servidores de datos (se puede contrarrestar en cierta medida con el uso intensivo de SP) Mayor tráfico No se sabe qué recursos tiene el cliente Los clientes son en general poco seguros Distribución del código que cambia Poca reusabilidad del código No está orientado al desarrollo de componentes

Ventajas del esquema de n-capas Clara separación de las funciones de control de la interfaz y presentación de datos con la lógica de la aplicación Reusabilidad de componentes Independencia de la interfaz del cliente y la arquitectura de datos Mejores posibilidades de balancear la carga Uso de protocolos abiertos

J2EE Es un conjunto de especificaciones que implementan una arquitectura abierta de n-capas Incluye muchos elementos que se habían desarrollado en forma “independiente” anteriormente Interoperabilidad gracias a XML y SOAP

J2EE icluye Acceso a bases de datos (JDBC) Utilización de directorios distribuidos (JNDI) Acceso a métodos remotos (RMI, CORBA, SOAP) Funciones de correo electrónico

Diagrama de la Arquitectura J2EE

Los principales elementos de la arquitectura J2EE Cliente Puede ser un programa “stand alone”, un applet dentro de un browser o el browser mismo que contacta un sevlet, un jsp o un web service Contenedor web Contiene (y sabe como hacerlos correr) las páginas html, los servlets, JSP y web services Contenedor de aplicaciones Contiene y administra a los EJB Servidor de base de datos

J2EE en sistemas de la CGE Servidor de aplicaciones Servidor web Cliente: Browser web Servidor de BD Informix Servidor web y de aplicaciones Websphere Páginas HTML Con Java Script Y JSP EJB Comunicación por medio de JDBC

Portlets y Web services Qué más podría haber Portlets y Web services Servidor de aplicaciones Servidor web Cliente: Browser web Servidor de BD Informix Servidor web y de aplicaciones Websphere Páginas HTML -Java Script -JSP EJB Comunicación por medio de JDBC

Caracteríticas de .NET Opera sobre windows 2000 SQL server como motor de bases de datos ASP (active server pages) COM (arquitectura de componentes) Data Acces Objects (activeX) ADO para conexión a base de datos

J2EE vs .NET Ambos tienen los mismos elementos En .NET uno compra el paquete completo, no solo la arquitectura sino que los componentes también .NET es más fácil de aprender, más rápido de desarrollar J2EE es abierto

¿Qué es orientación a objeto ? Es solo una manera de organizar el código. No es que ahora se puedan hacer cosas que antes no se podían !!! Los datos que usa un programa se organizan en objetos Los objeos son una colección de variables asociadas a métodos Métodos que modifican las variables o “estado” de un objeto Métodos que retornan valores que reflejan el “estado” del objeto (valor de sus variables)

¿Por qué orientación al objeto ? Una estrategia para poder desarrollar programas más grandes, más libres de errores y en menos tiempo: Software engineering

Java Viene con muchas clases de objetos definidos Vector: un arreglo de objetos sin límite String: para manejar strings FileReader, File Writer, RandomAccessFile: para manejar archivos HashTable: para mantener tablas de hashing Socket: para establecer comunicaciones Etc.

Algunas clases estan definidas a medias!!! La idea es que el programador las completa Applets Servlets Threads EJB (hay varias clases distintas) Etc..

Cómo se define una clase nueva Definir una nueva clase básicamente significa Definición de las variables que contendrá un objeto Definición de los métodos que se le podrán aplicar a un objeto de esta clase La definición de una clase debe ir en un archivo llamado Classname.java Por convención, el nombre de las clases debe empezar con mayúscula Console String Clock Student

Ejemplo: una clase Clok Las variables son las posiciones de los punteros: segundero, minutero y horario Los métodos son para poner los valores y preguntar “¿qué hora es?” Establecer valores de los punteros Preguntar la hora

Dado un nombre preguntar el teléfono El libro telefónico Las variables son listas de números y nombres Los métodos son para registrar un nuevo par (nombre,número), preguntar el teléfono dado un nombre, cambiar un teléfono o borrar un par Poner nuevo par (nombre, número) Cambiar el número dado un nombre Borrar un par (nombre, número) Dado un nombre preguntar el teléfono

El registro de un estudiante Las variables son los datos relevantes del estudiante (nombre, edad, dirección, etc..) Los métodos son para establecer valores y recuperar estos datos Poner valores Name: Sakano Tepe Address: Musashino-shi. Year Born: 1977 Recuperar valores

Clases y objetos Todo objeto es de una cierta clase La clase define el tipo de objeto, esto es: Qué variables contiene Qué métodos pueden ser aplicados a un objeto de esta clase Objecto A de clase clock Clase Clock Objecto B de clase clock

Diseño de los métodos (1) Clock A = new Clock( ); Clock A; A = new Clock(); A.setTime(15,35,45); int i = A.getHour( ); String s = A.getTime() Crea un nuevo objeto Clock Pone los valores en 15, 35 y 45 recupera el valor del puntero horario recupera un String con hh:mm:ss

Diseño de los métodos (2) Phonebook B = new Phonebook( ); B.addEntry(“Simón Vera”,422596160); long l = B.getNumber(“Simón Vera” ); Crea un libro de teléfonos vacío Dados nombre y número como parámetros crea un entry Simón Vera 422596160 Simón Vera Dado un nombre como parámetro recupera el número 422596160

La clase Clock Un Clock tendrá tres variables (attributes, campos) int hours int minutes int seconds Cada vez que se cree un nuevo objeto Clock sus tres variables valdrán 0 (medianoche) El método setTime() va a poner una nueva hora. Este método requerirá tres parámetros: hh, mm, ss También tendremos 3 métodos que retornarán el valor de cada puntero (por ejemplo El método getTime() retorna un String con la hora en el formato hh:mm:ss

Escribamos el archivo Clock Escribamos el archivo Clock.java, compilémolos y usémolos en un programa Clock A = new Clock( ); A.setTime(15,30,20); int h = A.getHour( ); int m = A.getMinutes(); int s = A.getMinutes(); String s = getTime(); hours minutes seconds 15 30 20 Por convención, los nombres de variables y metodos empiezan minúscuas Clock.java ProgramClock1 ProgramClock2