Вы находитесь на странице: 1из 3

Fundamentos de programacin en capas

Inciate en el mundo de la programacin en capas Amigos lectores, muchos ustedes estarn estudiando programacin y seguramente tendrn que desarrollar un software al final de cada ao que concurren. En mi caso estoy desarrollando un sistema en java para el control y la gestin de una automotora. Les voy a explicar una experiencia propia y espero que le sirva de ayuda para quienes tienen que desarrollar algn sistema y se sienten medios perdidos para poder arrancar. Historia Hace un tiempo, antes de que yo fuera joven, sistemas informticos no tenan bases de datos, luego cuando joven tenan bases de datos que eran casi propias de cada lenguaje, en Cobol por ejemplo tenamos archivos tipo texto armados a mano, lo mismo en Basic y Pascal, luego en Clipper o Fox usbamos DBF (de Dbase III Plus), ah ya se comenz a separar el lenguaje de programacin de la base de datos en si. Por ejemplo Access, lo podemos usar desde JAVA, Visual Basic, C#, etc., la idea cambio y en principio tenemos un motor de base de datos o servidor de base de datos como Access, SQL, Oracle, MySQL y por otro lado un lenguaje de programacin que accede eso Insertando, Modificando, Listando, etc.

Si nos ponemos a mirar tenemos 2 cosas separadas, ya que una base en Access es aparte totalmente de nuestro software que puede estar hecho en cualquier lenguaje, incluso la misma base RentaAutos.MDB la podemos leer directo desde Access, o con un programa en Java.

Si bien parece ya mucho poder separar en estas 2 partes, luego aparecen otros elementos, al comienzo los software eran hechos por ejemplo para Windows en red Local, facilsimo, pero claro luego aparece la web, y de pronto esa base de datos nica se deba leer desde un software de red local y adems desde la web, por tanto se agrega otro software posible a nuestro sistema hecho especialmente para la base de datos.

Para agregar otro elemento complicado mas llegamos a los celulares, o sea que el sistema tiene una base de datos, que se lee desde un PC, tambin desde la Web y tambin desde un telfono mvil o celular. Hasta ese momento la cosa era fcil se hace 1 base de datos y 3 programas totalmente distintos para cada dispositivo, solucin fcil, pero claro haba que hacer todo de nuevo cada vez. Actualidad Fue ah cuando aparecen los nuevos lenguajes con sus nuevas posibilidades y formas de programar, donde la programacin orientada a objetos fue fundamental, de esta forma podamos dividir ese software en capas independientes. Como vemos en el esquema general, esta compuesto por diferentes partes, como dijimos hace un momento, antes el software por completo se realizaba 2 o mas veces, para redes locales o para web, lo cual no era muy bueno ya que tenamos que trabajar 2 o mas veces aumentando los costos.

En el esquema vemos que tenemos la base de datos, luego el software que esta formado por diferentes elementos (o capas), uno de ellos es la de acceso a datos, y la misin es acceder a la base de datos y traer la informacin (registros de las tablas, cuando consultamos, o listamos), o llevarlos a la base de datos (cuando agregamos o modificamos), con esto logramos que todo ese cdigo JAVA lo reutilicemos sin importar si estamos en Web o Red Local (o Celulares). El otro segmento es el que justamente debemos realizar consiste en las Entidades Relevantes, o sea Clases JAVA que permitan contener esa informacin que se ley desde la base de datos mediante el Acceso a Datos, ser este un intermediario para que luego la interfaz muestre eso para PC o Web, todo el segmento de cdigo JAVA de estas Clases de Entidades Relevantes se reutiliza sin importar de si es para PC o Web. Por ultimo vemos que hay 2 componentes que son Interfaz PC, que ser nuestro cdigo JAVA que permita al usuario trabajar en un PC, y otro elemento que permitir trabajar desde la web, lo que haremos con un Applet JAVA.

Con este sistema logramos entonces crear un Software nico, que funciona con una base de datos, pero que no necesariamente debe correr en PC nicamente o Web nicamente ya que esta creado en capas independientes. Futuro El da de maana podemos utilizar el mismo sistema con otra base de datos que no sea Access, por ejemplo MySQL, cambiando solo el Acceso a datos, quedando el esquema as: Logrando de esta forma un software que brinde la posibilidad de trabajar con una u otra base de datos (o mas), sin necesidad de hacerlo todo de nuevo ya que reutilizamos el cdigo.

Hoy en da existen herramientas como Genexus que permiten el desarrollo de software de forma mucho mas sencilla, donde una ves que armamos la estructura del programa y normalizamos nuestra base de datos nos permite elegir en que leguaje deseamos compilar y el sistema escribe todo el cdigo de nuestro programa en el lenguaje elegido, claro que es necesario tener instalado las herramientas necesarias para que pueda compilar. De esta forma nos ahorramos largas noches sin dormir sentados frente al monitor de nuestro computador escribiendo interminables lneas de cdigo. De todas formas muchas veces es necesario modificar el cdigo escrito por el programa aunque el trabajo es mucho menor que el tener que digitar absolutamente todo de cero. En sntesis el desarrollo de un software en capas tiene muchsimas ventajas, piensen en cuantas horas de programacin perderan si tienen que disear un sistema diferente para cada tipo de interfaz que se tenga que utilizar. Por otro lado, hay lenguajes ms complejos que otros y cada uno con sus ventajas y desventajas. Muchas veces no van a tener la posibilidad de elegir con el lenguaje que tienen que programar por eso es bueno tener idea de cmo funcionan y para que se utilizan en general los distintos lenguajes de programacin. Por eso en la medida de lo posible cuando desarrollen un software traten siempre de mirar un poco mas delante en el tiempo teniendo en cuenta que posiblemente tendrn que modificarlo para agregarle prestaciones nuevas.

Вам также может понравиться