1.1.2 APLICACIONES DE 2,3 Y N CAPAS
Arquitectura de Desarrollo de Aplicaciones en dos, tres y N Capas
En la actualidad existen tres tipos de arquitecturas de capas, y que muchas veces estas capas reciben el nombre de niveles.
Las arquitecturas son las siguientes.
1. Arquitectura de dos capas;
2. Arquitectura de tres capas;
3. Arquitectura de cuatro capas.
Arquitectura de Dos Capas
La arquitectura de dos capas en la actualidad es muy utilizada, aunque con muchas fallas, todavía no se ha podido dejar de usar.
Estas arquitecturas fueron las primeras en aprovecharse de la estructura cliente-servidor.
Las capas que esta arquitectura presenta son las siguientes: Nivel de aplicación;
Nivel de la base de datos.
El nivel de Aplicación
Este nivel es en el que se encuentra toda la interfaz del sistema y es la que el usuario puede disponer para realizar su actividad con el sistema.
Nivel de la Base de Datos
Este nivel de la Base de Datos también llamado el Repositorio de Datos, es la capa en donde se almacena toda la información ingresada en el sistema y que se deposita en forma permanente.
Herramientas para el Desarrollo de Aplicaciones en Dos Capas
Existen herramientas para el desarrollo en dos capas por ejemplo mencionaremos a Visual Basic, Access y SQL
Visual Basic 6.0
Visual Basic es la herramienta más conocida para el desarrollo de aplicaciones en dos capas, ya que por su facilidad para la elaboración de la interfaz visual, y por su facilidad de aprendizaje la han convertido en una herramienta básica para el desarrollo de sistemas. Además posee librerías muy poderosas y de mucha ayuda para los desarrolladores, como los controles Active X, los módulos de clase que ayudan para la creación de funciones para nuestra aplicación y los módulos de los Active X en donde se pueden añadir nuestras propias librerías.
Se puede mencionar también otra herramienta muy importante y que en los últimos años ha sido la base para la creación de nuevas tecnologías, es JAVA.
Java
Java es considerado como una herramienta muy poderosa, además de su alcance, también es fácil de aprender ya que la mayoría de sentencias son hechas en C++.
Además Java es hoy en día la base para la construcción de tecnologías nuevas, este es el caso de todo lo que es orientado hacia el Internet. Por ejemplo, Microsoft ya la está utilizando para crear la plataforma .NET que es la tecnología de punta de Microsoft.
SQL Server
Esta herramienta es el motor de base de datos en donde se sitúa la capa del repositorio de datos.
Este motor es muy conocido y de mucha utilidad para el diseño de aplicaciones de dos capas ya que es muy potente y no tan difícil de aprender, además posee un analizador de consultas en donde se las puede crear de una forma muy segura. También tiene un administrador corporativo en donde se encuentra toda la información del motor, y aquí también se pueden crear las sentencias para nuestra base de datos. Por último, SQL Server contiene funciones para la elaboración de disparadores y procedimientos, y que son de mucha utilidad al momento de realizar nuestra base de datos.
Desventajas
Las desventajas de dos niveles son:
• El nivel de las aplicaciones se recargan, entremezclando aspectos típicos del manejo de la interfaz con las reglas del negocio.
• Las reglas del negocio quedan dispersas entre el nivel de aplicación y los procedimientos de la base de datos.
• El nivel de aplicación puede ser demasiado pesado para el cliente.
Arquitectura de Tres Capas
La arquitectura de dos capas si bien ayudó en unos años atrás, se vio la necesidad de crear una nueva arquitectura ya que en dos capas se tenía algunos problemas en la capa de aplicación ya que la principal desventaja de esta era el peso que tenia para el cliente, como se mencionó anteriormente.
Por estas razones, existe una fuerte y bien avanzada tendencia a adoptar una arquitectura de tres capas.
Y es así que se creó la arquitectura de tres capas las cuales son:
• Nivel de Aplicación
• Nivel de Dominio de la aplicación;
• Nivel de Repositorio.
Nivel de Aplicación
La diferencia de este nivel aplicado ahora en una arquitectura de tres capas es que solo tiene que trabajar con la semántica propia de aplicación, sin tener que preocuparse de cómo esta implementado este ni de su estructura física.
Nivel de Dominio de Aplicación
En cambio este nivel se encarga de toda la estructura física y el dominio de aplicación.
Algo muy importante y que es la mayor ventaja de esta arquitectura es que ahora únicamente se cambia la regla en el servidor de aplicación y esta actuará en todos los clientes, cosa que ni sucedía con la arquitectura en dos capas que si alguna regla se la cambia, se tenía que ir a cada cliente a realizar el cambio.
Nivel de Repositorio
En realidad este nivel no ha cambiado para nada y sigue siendo la capa en donde se almacenan los datos y toda la información.
Herramientas para el Desarrollo de Aplicaciones en Tres Capas
Las herramientas para el desarrollo de tres capas son:
• Visual Basic en lo que se refiere a la capa de Aplicación
• SQL Server en lo que se refiere al repositorio de datos.
• MTS en lo que se refiere al nivel del dominio de Aplicación
En si estos son unos ejemplos de las herramientas que se utilizan en desarrollo de aplicaciones en tres capas, pero no son las únicas.
Además de las herramientas ya mencionadas, también existen otras que no son muy conocidas, pero que nos pueden servir para la elaboración de aplicaciones en tres capas. Este es el caso de ORACLE en cuanto a la capa de repositorio de datos, Visual Estudio.NET en lo que se refiere a la capa de aplicación. Además también se podría hablar de los JAVA BINs que son herramientas orientadas para las aplicaciones de tres capas pero en el Internet.
Oracle
Este motor de base de datos, cuenta con muchas herramientas muy útiles para el desarrollo de aplicaciones en dos, tres y n capas ya que tiene la posibilidad de crear aplicaciones orientadas a objetos y esta es la mayor diferencia con el resto de motores, ya que estos son relacionales y no orientados a objetos.
La última versión en Oracle es la 9i que todavía no se lanza al mercado, pero que elimina errores de las últimas versiones, por ejemplo esta versión (personal), se la puede instalar en un procesador Pentium IV sin ningún problema, cosa que no sucedía con la versión 8.0
Visual Studio. NET
Es la nueva tecnología de Microsoft y que nos ayuda en el desarrollo de aplicaciones para el Internet ya que está construido con un sinnúmero de herramientas muy fáciles de aprender ya que está elaborado con muchos lenguajes de programación y que no se tiene la necesidad de saber un lenguaje específico. También se tiene un lenguaje de programación nuevo y es el sishar que admite un serie de lenguajes y al momento de compilarlos no existe ningún problema.
También se podría hablar de herramientas de diseño como por ejemplo Racional Rose Esta herramienta es utilizada para el diseño de una aplicación orientada a objetos y que tiene sus tres capas.
Utiliza el UML que es el lenguaje unificado para la elaboración de aplicaciones.
Desventajas
La mayor desventaja que tiene esta arquitectura es que no se puede realizar un repositorio de datos distribuido, un ejemplo de este tipo de repositorio es el de los bancos que necesitan de un repositorio de datos distribuido para poder tener sus sucursales en otros países y ciudades.
Arquitectura de N Capas
En la actualidad se está implementando la arquitectura de capas con una capa llamada la de presentación.
Las capas son las siguientes:
• Nivel de Presentación;
• Nivel de Aplicación;
• Nivel de Dominio de la aplicación;
• Nivel de Repositorio
Nivel de Presentación
Este nivel no hace ningún cálculo o actualizaciones sobre el dominio, ni siquiera tiene una visualización sobre la capa de dominio, De esto se encarga la capa de aplicación.
Nivel de Aplicación
Es la encargada de los cálculos, las actualizaciones y el acceso a la capa de dominio, esta interactúa con el nivel de presentación y con el nivel de dominio para que se tenga un contacto indirecto entre estas dos capas.
En si esto es la diferencia básica de la arquitectura de tres capas y la de n capas, que hay el nivel del dominio y el del repositorio cumplen el mismo papel solo que esta vez el repositorio puede estar distribuido en varios partes, esto facilita mucho al sistema para su distribución.
Herramientas para la Arquitectura de N Capas
Básicamente son las mismas que la arquitectura en tres capas, la diferencia es en el repositorio de datos que ahora tiene que ser una herramienta que pueda distribuirse (ORACLE).
La mayoría de estos sistemas buscan conservar la tecnología de BD relacional para la capa del repositorio e introducir la tecnología OO para el dominio de la aplicación.
Tecnologías de Desarrollo de Aplicaciones de Dos, Tres y N Niveles
En cuanto a las tecnologías que se han presentado en el desarrollo de aplicaciones nosotros hablaremos de lo que es lo que está en la actualidad y esto es el DNA.
El DNA es en la actualidad la tecnología de punta y que se refiere a la distribución de aplicaciones, esta tecnología fue creada por Microsoft, viendo la necesidad de tener una distribución de sistemas mucho más amplia y que ayude en el desarrollo de sistemas.
El DNA es la principal idea para la elaboración de un desarrollo de tres y n capas.
Otra característica de esta tecnología es que está compuesta de MTS que es el que realiza las transacciones de un sistema, se podría decir que en la tercera capa ya que esta realiza todos los cálculos y está entre la capa de aplicación y la capa de presentación.
También como hemos dicho anteriormente para la elaboración de diagramas orientados a objetos nosotros tenemos a UML que es un lenguaje estándar para diagramar. Las herramientas que utilizan este lenguaje son Racional Roce, Argo, Poseidón entre otras.
Además tenemos la tecnología JAVA con sus JAVA bins que ayudan a la elaboración de aplicaciones para el Internet.
Otras herramientas no muy conocidas, pero muy importantes y poderosas para la elaboración de diagramas son Power Builder, entre otras.
Además en la actualidad SQL ha sacado una nueva versión como es SQL 2000 que tiene nuevas funciones para la elaboración de aplicaciones orientadas a objetos.