Inicio > ADF / Java > Desarrollos ADF: mono-plataforma vs multi-plataforma

Desarrollos ADF: mono-plataforma vs multi-plataforma

adfUna decisión que hay que tomar a la hora de afrontar un proyecto en ADF es cómo y dónde vamos a desarrollar el código que soporte la lógica de negocio. Las dos posibilidades más obvias son:

  1. basar todo el desarrollo en Java, a nivel de aplicación, o
  2. implementar la lógica de negocio en PL/SQL en la base de datos, y usar java desde la aplicación para gestionar las capas de vista, controlador y modelo, dejando esta última capa como un mero acceso a BD.

Veamos las ventajas que aporta cada uno de los enfoques:

Ventajas desarrollo 100% ADF

  • Todo el equipo de desarrollo tiene el mismo perfil. No debemos buscar especialistas en java y especialistas en PL/SQL (o especialistas en ambas cosas a la vez). De todos modos, alguien tendrá que saber SQL.
  • Al tener un único origen de datos la gestión del control de versiones se simplifica.
  • Por el mismo motivo, los despliegues no incluyen scripts de compilación de objetos de base de datos (procedimientos, funciones, paquetes o triggers), además del fichero que desplegaremos en Weblogic.

Ventajas desarrollo ADF + PL/SQL

  • Los tiempos de desarrollo suelen ser menores, al ser PL/SQL un lenguaje de programación totalmente orientado al proceso de datos de BD.
  • Los procesos intensivos de datos son más eficientes y proporcionan mejores tiempos de respuesta.
  • Reutilización: al mantener la lógica de negocio junto a los datos, el impacto al cambiar el front-end es menor. Por ejemplo, si necesitamos llevar una parte de nuestra aplicación a una app móvil, no tendremos que volver a re-escribir código.
  • Podemos mantener los datos coherentes en cualquier caso, independientemente de la aplicación (por ejemplo totales de facturas basados en la suma de sus líneas; relaciones en arco; etc).

Encontraremos una ventaja añadida al desarrollo ADF + PL/SQL si pensamos en el largo plazo. Nuestra experiencia nos muestra que la base de datos suele ser el último componente que se descarta en el ciclo de vida de una aplicación. En este caso disfrutaremos durante más tiempo de la inversión que hayamos hecho escribiendo la lógica de negocio en BD.

Sin embargo hay quien opina justo lo contrario, que no se debe ubicar nada en la BD y que esta debe ser un puro contenedor de datos, de modo que se pueda cambiar de un gestor de BD a otro, pero… ¿conoces a alguien que haya cambiado?. Por supuesto, cualquier decisión en un sentido u otro debe tomarse tras un análisis mucho más detallado y tomando en consideración más factores que los pueden citarse en una entrada de blog.

Categorías:ADF / Java Etiquetas: , ,
  1. agosto 14, 2014 en 21:37

    No estoy de acuerdo al 100% con la justificación que das sobre que poner toda la lógica de negocio en la DB sea la mejor opción porque te permite cambiar fácilmente el front-end o hacer una aplicación móvil, ya que esto lo puedes lograr facilmente usando WebServices basados en ADF Business Components y mantener tu lógica de negocios en ADF y tu procesamiento de datos con PL/SQL.

    Entiendo que debiste agregar la opción ideal.

    ADF para lógica de negocios + PL/SQL para procesamiento de datos.

    Saludos

    • Albert Ibars
      septiembre 19, 2014 en 15:14

      Hola Frankely,

      Estoy de acuerdo con tu planteamiento. Hay un abanico de posibilidades, entre los dos extremos que citaba en blog. Como siempre, deberemos analizar cuál es la mejor para cada proyecto o cliente en concreto.

      Gracias por tu comentario.
      Un saludo!

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: