Programación de Sistemas 2003: Java Beans Christian Lalanne A. Rodrigo Pinto A.

Slides:



Advertisements
Presentaciones similares
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
Advertisements

Curso de Java Capitulo 7: Continuación Poo Profesor:
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Lenguaje de programación Java
Servicios Web.
Escuela Politécnica del Ejército
Arquitectura CLARO-TECNOTREE
¿QUÉ SON LAS BASES DE DATOS?
JSP Copyright ISIPE – Instituto de Servicios Informáticos para Empresas – Universidad Siglo 21 – Cualquier copia u otro uso debe ser autorizado expresamente.
RMI Remote Method Invocation
Aplicación del paradigma orientado a objetos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
JAVA FX Es un paquete de software que te permitirá desarrollar aplicaciones web para diferentes plataformas, desde un ordenador ordinario hasta teléfonos.
Ingeniería del Software
INTERFAZ DE ACCES DISEÑO DE BASE DE DATOS
Diseño de un Sistema de Control en Tiempo Real para el Kernel del Sistema Operativo utilizando MatLab-SimuLink Por: MARCO ANTONIO ESPINEL CANGUI DIRECTOR:
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
PROGRAMACIÓN ORIENTADA A OBJETOS
LOGICA DE NEGOCIOS ADAN GONZALEZ BARRERA.
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
HERENCIA.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
PROGRAMACIÓN ORIENTADA A OBJETOS
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA OCHO THREADS.
STARUML.
Ingeniería de Software
Servicios Web. Servicios web Son programas con funcionalidad accesible a través de protocolo http que permiten la ejecución remota de métodos y funciones.
Programación I :: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación.
SPRING MVC.
J2EE Java Enterprise edition eilin chang Matthew pabon Gabriel vega.
Enterprise Java Beans. EJBs Beans gestionados por un contenedor del servidor de aplicaciones para gestionar el acceso a recursos (bases de datos, colas.
Escenarios de software actuales
Ingeniería de Software
Ingeniería del Software
Introducción a Java Media Frameworks Rodrigo Loyola A. Gustavo Valdés A.
JDBC Java Database Connectivity CC52N - Computación para el trabajo grupal Profesor: Nélson Baloian Por: Edgard Pineda.
JavaBeans Fernando Romero Contreras Francisco Javier Sigler Gómez.
Universidad Simón Bolívar Departamento de Computación y T.I Sistemas de operación III CI-4822 Modelos de Componentes Distribuidos: Javabeans: Caso de estudio.
Introducción al lenguaje de programación Java
Cuentas de usuarios y grupos en windows 2008 server
Importancia en la efectividad del:
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
JAVA BEANS Por Abraham Solís Alvarado. JAVA BEANS Son un modelo de componentes creado por Sun Microsystems para la construcción de aplicaciones en Java.
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
Programación Orientada a Objeto
Diseño Arquitectonico
¿QUE SON LAS ACTUALIZACIONES?  Las actualizaciones son adiciones al software que pueden evitar problemas o corregirlos, mejorar el funcionamiento del.
Clasificación del Software
ESCULA NORMAL “PROFR. DARÍO RODRÍGUEZ CRUZ” LIC
Prof. Joel Moreno Molina
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Universidad Tecnológica de Izúcar de Matamoros Programa Educativo: Tecnologías de la Información Asignatura: Base de datos para aplicaciones Tema: Base.
UNIDAD 2: “Características del Modelado UML” CONTENDIDO Elaborado por: Ingeniero Harold Cabrera Meza Actualizado por: Ingeniero Nilson Albeiro Ferreira.
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
Instituto Tecnológico Superior de Libres Ingeniería en Sistemas Computacionales Segundo semestre Materia: Programación Orientada a Objetos Asesora: Ing.
Acceso a Datos Erick López Ovando Licenciado en Informática.
*INTERFACES*. DEFINICION Cuando uno usa una herramienta, o accede e interactúa con un sistema, suele haber “algo” entre uno mismo y el objeto de la interacción.
DISEÑO DE COMPONENTES Y DESARROLLO BASADO EN COMPONENTES
Programación Orientada a Objetos: CLASES Y OBJETOS
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLEMENTACIÓN DE COMPONENTES.
Fundamentos de Ingeniería de Software
Herencias Conceptos básicos i
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
2015-BM5A. Introducción Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos.
Prof. Manuel B. Sánchez. Declaración de Objetos Una vez que la clase ha sido implementada se pueden declarar objetos como variables locales de métodos.
Requerimientos del software
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
 Es el conjunto de programas, procedimientos y documentos relacionados con el sistema hardware. programasprocedimientosdocumentossistemahardware.
Transcripción de la presentación:

Programación de Sistemas 2003: Java Beans Christian Lalanne A. Rodrigo Pinto A.

Java Beans  Introducción  Instalación del Kit BDK1.1  Propiedades y Características importantes de JavaBeans  Como crear tus propios Beans  Ejemplos: Gauge.jar, Tcanv.jar, Juggler

Introducción  Programación por componentes de software  Reutilizacion de codigo  Posibilidad de fabricar componentes de software u ocupar componentes creadas, para luego, ensamblarlos y crear un programa final  Proporciona una herramienta de diseño facil de usar: BeanBox  En general, estas nuevas tecnologías que permiten a los programadores construir entornos de programación visual, se conocen como ingeniería de software basado en componentes, En Java, esta tecnología es denominada JavaBeans

Como empezar a utilizar BDK 1.1  Bajar el kit de desarrollo Java Beans (BDK) disponible en: ware/ ware/  Descomprimir  Linux?: ejecutar \run.sh  Windows?: ejecutar run

Características principales de los Beans (Introspección)  Capacidad de informar dinámicamente a las herramientas de desarrollo visual de métodos, propiedades y tipo de eventos que pueden generar o a los que pueden responder las componente de software.  La clase Introspector de java.beans proporciona un conjunto de métodos estáticos para que las herramientas obtengan información, métodos y eventos de un componente de software.

Características principales de los Beans (Introspección)  Esquemas de reflexión y diseño: Básicamente la clase introspector “lee” los nombres de los métodos de una clase de componentes, identifica las propiedades de un componente de software y también la generación de eventos de este componente, basándose en el paquete java.lang.reflect que ofrece la posibilidad de identificar los campos y métodos de una clase; esto, en ausencia de información explicita  Especificación Explicita: la información sobre una componente de software puede ser proporcionada (optativo) por una clase especial de información sobre componentes de software que implementa la interfaz BeanInfo.

Características principales de los Beans (Introspección)  Esta interfaz (BeanInfo) proporciona métodos para transportar explícitamente información sobre los métodos, propiedades y eventos de una componente de software. La clase Introspector reconoce las clases BeanInfo por su nombre. (por ejemplo, si una componente de software se ha implementado a través de la clase math, la clase BeanInfo relacionada se llamaría mathBeanInfo).

Propiedades de los componentes de Software (Definición)  Son las características de apariencia y comportamiento de un Bean, pueden ser modificadas durante el diseño  En general, existen 3 tipos de propiedades de los componentes de software: indexadas, limitadas y restringidas  Propiedades indexadas: es una propiedad que puede tomar un arreglo de valores  Propiedades limitadas: aquella que alerta a otros objetos cuando su valor cambia  Propiedades restringidas: el objeto notificado puede confirmar o denegar el cambio

Propiedades de los componentes de Software (Eventos)  Los Beans utilizan los eventos para comunicarse con otros Beans. Un Bean que requiere recibir eventos (oyente) registra su interés con un Bean que lanza eventos (fuente)  Las Herramientas de desarrollo pueden examinar un Bean para determinar que eventos puede disparar y cuales puede manejar.

Propiedades de los componentes de Software (Persistencia)  Permite a los Beans guardar su estado y restaurarlo posteriormente  Los Java Beans utilizan la serialización de objetos para soportar la persistencia.

Propiedades de los componentes de Software (Métodos)  Los métodos de un Bean no son diferentes a los métodos de Java, y pueden ser llamados desde otros Beans  Existen 2 tipos: obtención y establecimiento  Los nombres de métodos de obtención comienzan por get.  Los nombres de métodos de establecimiento comienzan por set.

Métodos utilizados con propiedades simples  Los metodos get...() y set...() se ocupan para obtener y setear propiedades simples de un Bean. Ej: Public nametype getname(). Public void setname (nametype namevalue).  Una propiedad es de solo lectura o solo escritura si falta uno de los métodos de acceso anteriores.

Métodos utilizados con propiedades indexadas  Un componente de software que tenga una propiedad indexada poseerá métodos que admitan lectura y escritura de elementos individuales del arreglo o del arreglo completo de propiedades. Ej: Public widgettype getwidget(int index). Public widgettype[] getwidget(). Public void setwidget(int index, widgettype widgetvalue). Public void setwidget(widgettype[] widgetvalues).

Métodos utilizados con propiedades limitadas  Las propiedades limitadas requieren que se notifique a ciertos objetos cuando estas experimentan un cambio.  La notificación del cambio se realiza a través de un PropertyChangeEvent.  Los objetos que deseen ser notificados del cambio en una propiedad limitada deberán registrarse como auditores.

Métodos utilizados con propiedades limitadas Así, el componente de software que este implementando la propiedad limitada suministrará métodos de esta forma: Public void addPropertyChangeListener(PropertyChangeListener 1). Public void removePropertyChangeListener(PropertyChangeListener 1).  Para registrar auditores en el PropertyChangeEvent de una propiedad específica se deben proporcionar los métodos siguientes. Public void addPropertyNameListener(PropertyChangeListener 1). Public void removePropertyNameListener(PropertyChangeListener 1).

Métodos utilizados con propiedades limitadas  En estos métodos, PropertyName se sustituye por el nombre de la propiedad limitada.  Los objetos que implementan la interfaz PropertyChangeListener, deben implementar el método PropertyChange(). Este método lo invoca el componente de software para todos sus auditores registrados, con el fin de informarles de un cambio en una propiedad.  Los métodos que se utilizan con propiedades simples e indexadas que veíamos anteriormente se aplican también a las propiedades limitadas

Métodos utilizados con propiedades restringidas  Para acceder a propiedades restringidas, se ofrecen los siguientes métodos de registro de eventos: Public void addVetoableChangeListener(VetoableChangeListener 1). Public void removeVetoableChangeListener (VetoableChangeListener 1). Public void addPropertyNameListener(VetoableChangeListener 1). Public void removePropertyNameListener(VetoableChangeListener 1).

Métodos utilizados con propiedades restringidas  Los objetos que implementan la interfaz VetoableChangeListener deben implementar el método vetoablechange().  Este método lo invoca el componente de software para todos sus auditores registrados con el fin de informarles del cambio de una propiedad.  Todo objeto que no apruebe el cambio en una propiedad puede arrojar un PropertyVetoException dentro del método vetoablechange() para informar al componente cuya propiedad restringida hubiera cambiado de que el cambio no se ha aprobado.

Métodos utilizados con propiedades restringidas  Los métodos que se utilizan con propiedades simples e indexadas que veíamos anteriormente se aplican también a las propiedades restringidas

Ejemplos:  Juggler  SimpleBean

Convertir una clase en un Bean  Para convertir cualquier clase creada en un Bean, debemos seguir ciertas reglas:  Debe poderse instanciar: no se puede convertir una interfaz o una clase abstracta en un Bean.  Debe tener un constructor predeterminado o constructor por defecto ej: si la clase se llama Mybean, debe proporcionar un constructor Mybean( ).

Convertir una clase en un Bean  Debe ser persistente: Debe implementar la interfaz Serializable o la interfaz Externalizable, que permiten que se copie como una serie de bytes en un flujo.

Ejemplos:  Gauge.jar  Tcanv.jar

 Las clases e interfaces de los paquetes Java.beans están organizadas en las categorías de: soporte de diseño, soporte de introspección y soporte de cambios en el manejo de eventos.  La especificación de estas clases (métodos disponibles, etc), se encuentran en la Documentación del proyecto disponible en

Preguntas