Lincoln Group Community
Septiembre 10, 2010, 02:58:30 *
Bienvenido(a), Visitante. Favor de ingresar o registrarse.

Ingresar con nombre de usuario, contraseña y duración de la sesión
 
   Inicio   Ayuda Buscar Calendario Ingresar Registrarse  
Páginas: [1]
  Imprimir  
Autor Tema: PLATAFORMA JAVA/JEE  (Leído 1625 veces)
Zuniga Diego
Moderator
Jr.
*****
Mensajes: 11



Ver Perfil WWW
« en: Febrero 06, 2007, 10:39:34 »

PLATAFORMA JAVA/JEE

Aunque falta mucho para que las nuevas cosas que están saliendo se estabilicen, es bueno echar un vistazo a lo que será el futuro de la plataforma JAVA. Desde que comencé aprender java me di cuenta que cada día se mejoran las cosas, por ejemplo ya se está pensando en JEE6 (J2EE -> JEE 5 -> JEE 6) en donde se piensa enlazar JSF/AJAX con EJB3 orientado al desarrollo rápido de aplicaciones WEB.

Con las características que ofrece la plataforma JAVA ya se puede diseñar e implementar SOFTWARE tomando en cuenta los siguientes puntos:

  • Soporte a cambios continuos, de tecnología y de la lógica del negocio.
  • Con estándares de programación: hay que dedicar un poco de tiempo a definir un estándar de programación, es recomendable utilizar lo que dice el documento “Java Code Conventions”.
  • Arquitectura robusta, capas bien definidas:

    PERSISTENCIA:
    - Aprovechar JPA (Java Persistence API) / EJB 3, manejando correctamente las características como: paginación de los datos (desde la base de datos), estrategias de carga de objetos relacionados, caché de objetos, etc.
    - Utilizando JDBC 4 recomendado para procesos que requieren mucho procesamiento (CPU, Memoria, I/O a Disco), como procesos batch.

    Patrones de Diseño Recomendados: Generic DAO Factory (utilizando la nueva característica de JAVA 5 “GENERICS”) que aprovecha las características de la Orientación a Objetos (Herencia, Polimorfismo) y que gracias a JPA que maneja de manera centralizada los objetos persistentes (EntityManager) podemos implementar un DomainStore muy robusto.

    BUSINESS:
    - Utilizar clases planas para implementar los servicios (métodos que manejan la lógica del negocio), por motivos de posibles migraciones. Con esto aprovechamos la tecnología y las complicaciones al momento de migrar de una tecnología otra, serán manejables.
    - Evitar las llamadas remotas innecesarias, en lo posible utilizar interfaces LOCALES debido al performance(debido a la búsqueda del componente en toda la red), si surge la necesidad en ese momento se utilizarán las interfaces remotas, más no antes.
    - Manejar correctamente la Transaccionalidad (manejar parámetros de configuración REQUIRED, REQUIRENEW, SUPPORTS, NOT SUPPORT, etc.).

    Patrones de Diseño Recomendados: Application Service, Business Delegate => Service Locator, Session Facade.

    PRESENTACION:
    - Identificar qué [operación | transacción | opción] desea ejecutar el Cliente.
    - Controlar al acceso a recursos de la aplicación.
    - Identificar del Tipo de Cliente: WEB / SWING,AWT,APPLET
    - Comprimir y descomprimir Contenido HTML en el caso de aplicaciones Web (opcional).
    - Manejar tipos de Formularios HTML multipart/form-data y text/html en caso de aplicaciones Web.

    Patrones de Diseño Recomendados: Front Controller, Application Controller / Context Object / Command Pattern, Filter Inteceptor.

    WEB:
    - Utilizar componentes reutilizables (tree, toolbars, menús, tablas de datos, etc.): JSF, JSF/AJAX. Permite ahorrar mucho tiempo que se pierde haciendo lo mismo muchas veces.- Controlar al acceso a recursos de la aplicación.

    Cliente Swing/AWT/Applet:
    - hay que tener en cuenta que no todo es WEB. Java en los últimos años ha trabajado mucho en la mejora de aplicaciones de escritorio, ahora se pueden crear aplicaciones de escritorio de manera sencilla y con un performance inmejorable. Java nos da el control total sobre las cosas al punto de crear interfaces de usuario a nuestro gusto (con efectos, animaciones, colores, etc.)

    COMMONS/UTILS: 
    - No es una capa pero es parte muy importante en un proyecto… ya es aquí donde es donde se encuentra Clases utilitarias que nos facilitan la implementación del proyecto.

    SEGURIDAD: 
    - Manejar https, single sign on, JAAS, encriptación de datos, etc.


CONCLUSION

Aunque la arquitectura se debe plantear después de analizar las características del negocio y de acuerdo a las necesidades técnicas que esto involucre, es importante tener a la mano un catálogo de patrones de diseño y buenas prácticas que faciliten la definición de la Arquitectura (Base o cimientos sobre la cual se implementa la aplicación).

Una aplicación J2EE que no utiliza patrones de diseño necesarios para poder soportar una Migración de tecnología, se limita a cambiar  cosas muy especificas, y no aprovecha las ventajas que tiene la nueva tecnología.  Se debe diseñar una aplicación que aproveche la tecnología pero sin depender 100% de ella, de manera que permita el plug and play de nuevas tecnologías.

« Última modificación: Febrero 11, 2007, 07:09:04 por Zuniga Diego » En línea

Diego Zúñiga Méndez
JSE/JEE Consultor Senior
LINCOLN GROUP Cía. Ltda.
www.lincoln-grp.com
Av. Orellana 1811 y Av. 10 de Agosto
Edif: "EL CID" 2do Piso Oficina 203
593.2./2552988/2552988
593.8.4497748
Páginas: [1]
  Imprimir  
 
Ir a:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.1 | SMF © 2006, Simple Machines LLC XHTML 1.0 válido! CSS válido!