jueves, 16 de abril de 2009

ADF Framework: información competitiva

ADF es el framework estratégico de desarrollo de aplicaciones Web de Oracle.
Una cuestión habitual que me toca responder es:
¿Por qué ADF? ¿Cuales son las ventajas comparativas frente a otros frameworks?
El ecosistema de desarrollo Web es un mundo con múltiples opciones, para cada escenario habrá un pequeño subconjunto de opciones que son las recomendadas para cada caso. Voy a destacar los argumentos que posicionan ADF y lo convierten en la opción recomendada especialmente en entornos heterogéneos de software empresarial basados en estándares.

Argumentos técnicos:
  • Experiencia Web Rica (RIA), basada en arquitectura Web pura (AJAX), sin plugins de navegador
  • Arquitectura AJAX híbrida (parte vive en el cliente, parte vive en el servidor) para optimizar el rendimiento y la usabilidad
  • Soporte de múltiples navegadores sobre múltiples sistemas operativos (FireFox 2.0, FireFox 3.0, Internet Explorer 7.0, Safari 3.0, Google Chrome)
  • Soporte de navegadores móviles (Pocket IE for Windows Mobile 5, 6, BlackBerry Browser 4, iPhone Safari)
  • La paleta de componentes más completa (+150) incluyendo árboles, tablas, acordeones, etc
  • Componentes de visualización de datos Ricos (todo tipo de gráficos, tablas pivotantes, diagramas gantt, mapas, etc)
  • Funcionalidades de productividad: Arrastrar y Soltar, Copiar y Pegar, Ventanas modales, Menús, Barra de Botones, Atajos de Teclado, etc
  • Funcionalidades de visualización: Plantillas y Temas, Accesibilidad, Localización, Internacionalización
  • MetaFramework. ADF incluye no sólo el framework de presentación (ADF Faces Rich Client), sino también el framework de enlace (Binding) entre la capa de presentación y la de Servicios de Negocio disponibles en sistemas de Bases de Datos, Web Services, Gestores Documentales y Contenido, Correo electrónico, etc (ADF Model). También incluye un framework especializado en el acceso a datos relacionales (ADF Business Components)
  • Totalmente basado en estándares Java (JSR-127, JSR-227, ...)
Otros argumentos:
  • ADF es el framework estratégico de Oracle y clave en la nueva arquitectura Oracle Fusion. Sólo por este motivo ya tiene asegurada la evolución, la continuidad y la inversión durante los próximos años.
  • ADF se apoya en estándares Java como JSF lo que crea multitud de sinergias con el ecosistema Java, incluyendo otros proveedores de software empresarial.
  • Amigable con Open Source. Al estar basado en JAVA, ADF comparte estándares e incluso algunas librerías con proyectos Open Source. Adicionalmente, las plataformas de desarrollo y pruebas del framework suelen ser Linux, Firefox, etc
  • Cualquier cliente que tenga una licencia de cualquiera de los servidores de Aplicaciones de Oracle (Weblogic Server, Oracle Application Server) tiene incluida la licencia de ADF sin ningún tipo de coste adicional. En caso de otros servidores de aplicaciones (Tomcat, JBoss, Websphere) si que es necesario un licenciamiento adicional para desplegar las aplicaciones desarrolladas con ADF en producción.
  • ADF 11g será usado de forma explícita o implícita por casi todos los clientes que usen alguno de los productos de la nueva familia Fusion Middleware 11g, prevista para Junio de 2009.
  • ADF 11g salió oficialmente en Octubre de 2008, representa un cambio diferencial respecto a ADF 10g, pero al ser uno de los primeros productos de Fusion Middleware 11g todavía es desconocido por la mayor parte de clientes y partners.

Veamos ahora los típicos escenarios de competencia:
  • Oracle ADF vs Spring + Struts + Hibernate (y otros Frameworks no JSF)
  • Oracle ADF vs RichFaces & IceFaces (Frameworks JSF)
  • Oracle ADF vs Microsoft .Net
  • Oracle ADF vs Microsoft Silverlight & Adobe Flex
Oracle ADF vs Spring + Struts + Hibernate (y otros Frameworks no JSF)
Los frameworks no JSF, como por ejemplo la combinación habitual de Spring + Struts + Hibernate son una opción válida especialmente en escenarios puros de internet, los basados en páginas Web, los que no necesitan una gran riqueza en la interfaz de usuario, y también aquellos en los que los usuarios hacen un uso esporádico de la aplicación: unos cuantos minutos, a lo sumo horas, a la semana. Sin embargo no suelen ser una opción cuando lo que se trata es de migrar las típicas aplicaciones Cliente / Servidor que usan las empresas en su día a día, y donde reside la operación del negocio.
Ventajas de Oracle ADF:
  • ADF permite alcanzar el nivel de riqueza, productividad y usabilidad de las aplicaciones de escritorio: Barras de menú, Barras de botones, Arrastrar y Soltar, Arboles, Pestañas, Acordeones, Tablas, Componentes de Visualización de Gráficos, Mapas, etc
  • ADF permite tener una aplicación 100% Web con el mismo grado de funcionalidades que las desarrolladas en lenguajes 4GL como Oracle Forms, Visual Basic, PowerBuilder, Delphi, etc. Por tanto el usuario final no se resentirá al ver la nueva versión de su aplicación migrada a una aplicación Web accesible a través del navegador.
  • En caso de aplicaciones destinadas a internet, sólo sera necesario usar un subconjunto del framework ADF para lograr los resultados esperados, pero pudiendo usar el mismo equipo de desarrollo para todo tipo de aplicaciones, y por tanto ganando en flexibilidad y rentabilizando al máximo la inversión.
  • ADF contempla el cumplimiento de los estándares de Accesibilidad del W3C de forma nativa. Para ver detalles pulsa este enlace.
  • ADF es un metaframework de una sola fuente, que cubre todas las capas: presentación, modelo, servicios de negocio, y acceso a datos, y el pegamento entre ellas. En el caso de Spring, Struts, Hibernate, u otras opciones equivalentes, es necesaria la combinación de diferentes frameworks, de diferentes proyectos Open Source, con ciclos de vida no sincronizados y cuyos desarrolladores están sujetos a la disciplina e intereses de muy diferentes empresas y organizaciones.
Seguiré completando esta entrada lo antes posible
...


Enlaces con más información:

3 comentarios:

Didac dijo...

Seria fantastico que acabaras la comparativa sobretodo con Silverlight, ja que para Microsoft es lo más.

Un Saludo

Antonio Garcia dijo...

Yo estoy mas interesado en ADF vs Richfaces o IceFaces.

Y en temas de licencias ? podria usar ADF como libreria de componente con JSF de manera libre y/o gratuita?

barbara dijo...

Jaime, coincido con Didac, sería buena idea terminar este artículo.

Saludos