CAPITULO 1 INTRODUCCION ¡Descubramos el contenido de Este libro! Este capítulo nos introduce al tema de los “clientes ricos”. En el proceso, aprenderá lo que es un cliente rico y como la plataforma de cliente rico puede ayudarle. Además, tocaremos brevemente las principales ventajas y características de la Plataforma Netbeans ¿Qué es un cliente rico? En una arquitectura de servidor cliente el término “cliente rico” es usado para clientes donde el procesamiento de datos ocurre principalmente del lado del cliente. El cliente también provee la interfaz gráfica de usuario. A menudo los clientes ricos son aplicaciones que son extensibles mediante conexiones (plug gins) y módulos. De esta forma los clientes ricos son capaces de solucionar más de un problema. Los clientes ricos también pueden solucionar problemas relacionados potencialmente, al igual que aquellos que sean completamente diferentes a su propósito general. Los clientes ricos son desarrollados típicamente al principio de un framework. Un framework ofrece un punto de inicio básico al principio por el cual el usuario puede unir lógicamente las partes relacionadas de la aplicación, las cuales son llamadas módulos. Idealmente, las soluciones no relacionadas (tales como aquellas disponibles hechas por diferentes proveedores) pueden trabajar juntas, tal que todos los módulos parecen haber sido creados como uno solo. Los desarrolladores y proveedores de software también pueden envolver las distribuciones de cliente rico de distintos módulos, con el fin de hacerlas disponibles para usuarios específicos. Por encima y más allá de todo, los clientes ricos tienen la ventaja de ser fáciles de distribuir y actualizar, así como mediante una función de actualización automática en línea del mismo cliente o por medio de un mecanismo que permita al cliente rico arrancar por internet (por ejemplo, mediante el inicio de una Web Java). Un panorama de las características de un cliente rico: Arquitectura de aplicación flexible y modular Independencia de la plataforma Adaptabilidad al usuario final Habilidad para trabajar en línea o sin línea Distribución simplificada al usuario final Actualización sencilla del cliente ¿Qué es una plataforma de cliente rico? Una plataforma de cliente rico es un ambiente de la aplicación del ciclo de vida, una base para aplicaciones de escritorio. La mayoría de aplicaciones de escritorio tienen características similares, tales como menús, barra de herramientas, barra de estado, visualizaciones de progreso, mostrar datos, características de uso, guardar y recuperar datos y configuraciones especificas de usuario, pantalla. Sobre la caja, internacionalización, ayuda del sistema, y así sucesivamente. Para éstas y otras características típicas de aplicaciones del cliente, una plataforma de cliente rico provee un framework, con la cual las características pueden colocarse juntas de forma rápida y simple. La configuración y extensibilidad de una aplicación centran su escenario en un framework de esta clase. Como resultado, pueden, por ejemplo, proveer declarativamente las entradas del menú de una aplicación en un archivo de texto, después de lo cual el menú será recuperado automáticamente por la estructura. Esto significa que el código fuente llega a ser considerablemente más focalizado y manejable y los desarrolladores son capaces de concentrarse en las necesidades actuales de negocio de la aplicación, mientras el menú es configurable al máximo. El aspecto más importante de una plataforma de cliente rico es su arquitectura. Las aplicaciones basadas en plataformas de cliente rico son escritas en la forma de módulos, dentro de las cuales las partes lógicamente coherentes de una aplicación son separadas. Un módulo es descrito declarativamente y automáticamente recuperado por la plataforma. Como resultado, no hay una conexión explicita necesaria entre el código fuente y la aplicación. De esta forma, una relación acoplada relativamente sin fundamento es establecida entre los módulos funcionales independientemente, por medio de la cual la extensibilidad dinámica de la aplicación y la habilidad para intercambiar sus componentes son enormemente simplificadas. De esta forma es también muy fácil vincular al usuario o aplicaciones de un dominio especifico desde módulos individuales. Una plataforma de cliente rico también libera al desarrollador de estar pendiente de tareas que tiene poco para hacer con la lógica de negocio de las aplicaciones. Al final del desarrollo del ciclo, obtendrán una arquitectura de la aplicación bien merecida y moderna. Ventajas de la Plataforma de Cliente Rico Aparte de la modularidad ofrecida por una arquitectura de cliente rico, la cual implica simultáneamente un alto grado de robustez y valor del usuario final, el desarrollo extensivo le ayuda a proveer las necesidades a ser sobresaltadas también. Estas y otras ventajas de la plataforma de cliente rico son brevemente descritas abajo: Reducción en el tiempo de desarrollo Consistencia en la interfaz de usuario Actualización Independencia de la plataforma Reusabilidad e integridad Observáremos cada una de ellas: Reducción en el tiempo de desarrollo Una plataforma de cliente rico provee una multitud de APIs para el desarrollo de aplicaciones de escritorio. Por ejemplo, estas pueden ser usadas por desarrolladores para manejar ventanas y menús o soportar la visualización de opciones de utilización. Por medio de la reusabilidad de muchos componentes predefinidos, los desarrolladores son capaces de concentrarse fijamente en la lógica de negocio de la aplicación en cuestión. Consistencia en la interfaz de usuario La usabilidad de una aplicación es siempre de interés crucial, en particular cuando la aplicación es diseñada para ser usada por profesionales de un campo particular. Una plataforma de cliente rico hace posible un framework para visualizar las interfaces de usuario, al mismo tiempo que se tiene especial cuidado de su consistencia, accesibilidad y usabilidad. Actualización Al usar una plataforma de cliente rico, llega a ser posible una distribución rápida y eficiente de módulos nuevos o actualizados a los usuarios finales. Como resultado, no todos los clientes de una aplicación necesitan estar informados por desarrolladores para cambiar a una nueva versión. Las actualizaciones pueden ser distribuidas e instaladas en la forma de módulos, así las características diferentes pueden ser desarrolladas y entregadas por equipos operativos independientemente. La arquitectura modular de la aplicación asegura que los módulos completados pueden ser distribuidos sin necesidad de esperar que otros módulos sean finalizados. Independencia de la plataforma Las plataformas de cliente rico están basadas en niveles internacionales y en componentes reusables. Así, las aplicaciones Java basadas en ellos pueden ser usadas en diferentes y múltiples sistemas, tales como Windows o Linux, en tanto que una implementación de ejecución de aplicaciones Java esté disponible. Desde que se definen las características y la aplicabilidad de aplicaciones guarda los cambios, es muy importante que sean desarrolladas de tal forma que puedan ser extensibles y ser usadas en diferentes sistemas. Todo esto es provisto por una plataforma de cliente rico, ahorrando tiempo y dinero. Las aplicaciones basadas en plataformas de cliente rico no requieren otras librerías o componentes adicionales, que no sean las de rutina de aplicaciones Java. Reusabilidad e integridad Las plataformas de cliente rico tienen un rango de características y módulos disponibles, los cuales pueden ser usados en las aplicaciones propias del desarrollador. Si el módulo no iguala completamente los requerimientos de la aplicación, es posible usarlo como un punto de inicio, mientras se le extiende o cambia tanto como sea necesario. Dado que la mayoría de plataformas tiene también su código fuente disponible, podría también, en algunos casos, ser peor considerar cambios o extender la plataforma misma. Estos factores implican un alto grado de integridad y libertad. Características de la Plataforma de Netbeans La Plataforma de Netbeans ofrece, aparte de las ventajas genéricas de una plataforma de cliente rico, numerosas estructuras y varias especificaciones adicionales que pueden ser particularmente útiles para sus aplicaciones. Las más importantes, las que constituyen las principales características de la Plataforma de Netbeans, son señaladas abajo: Estructura de la interfaz de usuario Editor de datos Visualización de utilización Estructura inteligente Sistemas de datos Internacionalización Sistema de ayuda Observaremos cada una de ellas: Estructura de la interfaz de usuario Las ventanas, menús, barra de herramientas, y otros componentes están disponibles por la plataforma. Como resultado, te centra en acciones específicas, las cuales condensan tu código, haciéndolo mejor y menos propenso a errores. La interfaz de usuario completa ofrecida por la Plataforma de Netbeans está basada al 100% en AWT/Swing y puede ser extendida con tus propios componentes. Editor de datos El poderoso editor de Netbeans, dentro del IDE de Netbeans, puede ser usado por tu propia aplicación. Las herramientas y funcionalidad del editor pueden ser extendidas y adaptadas a los propósitos de la aplicación en forma rápida y sencilla. Visualización de la utilización Una visualización del usuario y las características de una aplicación específica es necesaria en cada aplicación. La Plataforma de Netbeans tiene una estructura disponible, haciendo extremadamente simple la integración a tus propias opciones de dialogo, permitiendo al usuario guardar y restableciendo las características en una forma que es agradable a los ojos. Framework inteligente La Plataforma de Netbeans ofrece herramientas simples para crear asistentes extensibles y amigables al usuario, guiando al usuario a través de pasos complejos en la aplicación. Sistemas de datos En términos de la plataforma de Netbeans, los datos pueden ser locales o disponibles mediante FTP, CVS, una base de datos o un archivo XML. Por medio de la abstracción, el acceso a los datos por un módulo es transparente a todos los otros módulos. El acceso al dato actual no es por lo tanto de preocupación, desde que se trabaja con las API’s de la plataforma de Netbeans. Internacionalización La plataforma de Netbeans provee clases y métodos que permiten la internacionalización de la Ayuda de Java y otros recursos. Tú puedes almacenar fácilmente constantes textuales en las propiedades de archivos. La plataforma de Netbeans también recupera los textos e iconos aplicables al país en común y las características del lenguaje. Ayuda del sistema Por medio del sistema de Ayuda de Java, la plataforma de Netbeans ofrece un sistema central para la integración y visualización de tópicos de ayuda al usuario final. Además, los módulos individuales pueden contribuir con sus propios tópicos al sistema de ayuda de la aplicación. Encima de todo eso, la plataforma de Netbeans te permite proveer un contexto sensitivo de ayuda también. Resumen En este capítulo aprendiste la diferencia de lo que un cliente rico puede hacer. Discutimos las ventajas de lo que un cliente rico ofrece, incluyendo su arquitectura modular, hecha posible por un único sistema de módulos para las plataformas de clientes. Sin embargo, una plataforma de cliente rico ofrece muchas otras ventajas y características. Entre estas, soporte para una interfaz consistente de usuario y la actualización de aplicaciones con las nuevas características de rutina. Finalmente, examinamos las características más importantes de la plataforma de Netbeans.