lunes, 11 de septiembre de 2017

Aplicacion en n-capas Visual Net









APLICACIONES EN N-CAPAS EN VISUAL NET


I.   TEMA: Aplicaciones N-Capas en Visual NET

1.    Contenido

Definición

La programación por capas es un estilo de programación en el que el objetivo primordial es la separación de la lógica de negocios de la lógica de diseño; un ejemplo básico de esto consiste en separar la capa de datos de la capa de presentación al usuario. 
El estilo arquitectural en n capas se basa en una distribución jerárquica de los roles y las responsabilidades para proporcionar una división efectiva de los problemas a resolver. Los roles indican el tipo y la forma de la interacción con otras capas y las responsabilidades la funcionalidad que implementan. Cuanto más se aumenta el proceso operativo de la empresa, las necesidades de proceso crecen hasta desbordar las máquinas. Es por ello que se separa la estructura de un programa en varias capas.








En adición a lo citado, podemos decir que actualmente la programación por capas es un estilo de programación en la que el objetivo principal es separar la lógica de negocios de la lógica de diseño, un ejemplo básico de esto es separar la capa de datos de la capa de negocios y ésta a su vez de la capa de presentación al usuario. El diseño que actualmente más se utiliza es el diseño en tres capas; sin embargo, la programación puede desglosarse en más capas, tal cual se presenta en el ejemplo que veremos más adelante.

 Métodos de Construcción para la implementación de capas

Arquitectura de 2 niveles

 La arquitectura en 2 niveles se utiliza para describir los sistemas cliente/servidor en donde el cliente solicita recursos y el servidor responde directamente a la solicitud, con sus propios recursos. Esto significa que el servidor no requiere otra aplicación para proporcionar parte del servicio.

Arquitectura en 3 niveles

 En la arquitectura en 3 niveles, existe un nivel intermediario. Esto significa que la arquitectura generalmente está compartida por: Un cliente, es decir, el equipo que solicita los recursos, equipado con una interfaz de usuario (generalmente un navegador Web) para la presentación. El servidor de aplicaciones (también denominado software intermedio), cuya tarea es proporcionar los recursos solicitados, pero que requiere de otro servidor para hacerlo. El servidor de datos, que proporciona al servidor de aplicaciones los datos que requiere.
Comparación entre ambos tipos de arquitecturas La arquitectura en 2 niveles es, por lo tanto, una arquitectura cliente/servidor en la que el servidor es polivalente, es decir, puede responder directamente a todas las solicitudes de recursos del cliente. Sin embargo, en la arquitectura en3 niveles, las aplicaciones al nivel del servidor son descentralizadas de uno a otro, es decir, cada servidor se especializa en una determinada tarea, (por ejemplo: servidor web/servidor de bases de datos).
La arquitectura en 3 niveles permite: Un mayor grado de flexibilidad Mayor seguridad, ya que la seguridad se puede definir independientemente para cada servicio y encada nivel Mejor rendimiento, ya que las tareas se comparten entre servidores

Arquitectura de niveles múltiples

 En la arquitectura en 3 niveles, cada servidor (nivel 2 y 3) realiza una tarea especializada (un servicio). Por lo tanto, un servidor puede utilizar los servicios de otros servidores para proporcionar su propio servicio. Por consiguiente, la arquitectura en 3 niveles exponencialmente una arquitectura en N-niveles.

Arquitectura de N-Capas y N-Niveles

Lo que se conoce como arquitectura en capas es en realidad un estilo de programación donde el objetivo principal es separar los diferentes aspectos del desarrollo, tales como las cuestiones de presentación, lógica de negocio, mecanismos de almacenamiento, etc.
Los que aprendieron a programar con Pascal,recuerdan que con ese lenguaje todo estaba en la misma porción de código.A lo mejor un programador cuidado se organizaba las cosas en "units", pero al final todo está amontonado.

MÉTODOS PARA CONEXIONES

Es necesario importar el paquete java.sqlClass.forName(“com.mysql.jdbc.Driver”); Con esta instrucción cargamosel driver de conexión a la base de datos en MySQL. Si somos algo curiosos,podemos notar que dentro del conector (en mi caso mysql-connector-java-5.1.5-bin.jar), se encuentra el archivo Driver.class dentro de las carpetascom/mysql/jdbc.DriverManager.getConnection Luego de cargar el Driver, es necesariocrear la conexión a la base de datos. Para ello usamos el método getConnection de la clase DriverManager (que implementa la claseDriver). A dicho método le pasamos como parámetro una URL de conexión a la base de datos, que se compone, por lo general, de tres partes separados por “:”, jdbc:nombre_dbms:datos_de_conexion. Aunque esto depende del tipo de DMBS y conector que usemos. (Para más detalles dela URL, ver la documentación específica para el conector). Este método además, devuelve un objeto Connection que usaremos para crear y ejecutar sentencias SQL, sobre la base de datos.conexion.createStatement(); este método crea/devuelve un objeto Statement, con el cual podremos ejecutar sentencias en la base de datos.instruccion.executeQuery(); este método sirve para ejecutar consultas sobre la base de datos (para inserción y modificación de datos usar executeUpdate()). Recibe como parámetro una sentencia SQL, y devuelve un objeto ResultSet que contendrá los datos de la consulta.while(tabla.next()) esto nos permitirá iterar indefinidamente, mientras en el objeto ResultSet hayan más registros. o Posteriormente, dentro del while, podemos obtener los datos de la fila actual con los métodos getInt(int) y getString(int) de ResultSet. A dichos métodos le pasamos como parámetro el índice de la columna que queremos obtener. Es importante tener en cuenta que en dichos métodos, si una tabla tiene 3 columnas, las referenciamos como 1, 2 y 3. No como en otros lenguajes (PHP por ejemplo), en los que los índices serían 0, 1, 2.Las excepciones que manejamos son básicamente:ClassNotFoundException, que se lanzará por lo general cuando el programa no encuentre el Driver. SQLException, que se lanzará cuando hayan errores a nivel de SQL (errores al insertar datos, errores de sintaxis en las consultas, etc.).


Tipos de capas


·         Capa de Manejo de Datos

Esta capa se encarga de acceder a los datos, se debe usar la capa de datos para almacenar y recuperar toda la información de sincronización del Sistema. Es aquí donde se implementa las conexiones al servidor y la base de datos propiamente dicha, se invoca a los procedimientos almacenados los cuales reciben solicitudes de almacenamiento o recuperación de información desde la capa de negocio. Todas estas capas pueden residir en un único ordenador (no debería ser lo usual), pero es lo más frecuente. En sistemas complejos se llega a tener varios ordenadores sobre los cuales reside la capa de datos, y otra serie de ordenadores sobre los cuales reside la base de datos. Se recomienda que si el crecimiento de las necesidades o complejidad aumenta se debe separar en dos o más ordenadores, los cuales recibirán las peticiones del ordenador en que resida la capa de negocio. Esta recomendación es válida para la capa de negocios.


·         Capa de Negocios

Es la responsable del procesamiento que tiene lugar en la aplicación. Por ejemplo, en una aplicación bancaria el código de la capa de presentación se relacionaría simplemente con la monitorización de sucesos y con el envío de datos a la capa de procesamiento. Esta capa intermedia contendría los objetos que se corresponden con las entidades de la aplicación. Esta capa intermedia es la que conlleva capacidad de mantenimiento y de reutilización. Contendrá objetos definidos por clases reutilizables que se pueden utilizar una y otra vez en otras aplicaciones. Estos objetos se suelen llamar objetos de negocios y son los que contienen la gama normal de constructores, métodos para establecer y obtener variables, métodos que llevan a cabo cálculos y métodos, normalmente privados, en comunicación con la capa de la base de datos.
Es en esta capa donde se reciben los requerimientos del usuario y se envían las respuestas tras el proceso, a requerimiento de la capa de presentación. Se denomina capa de negocio o lógica del negocio, es aquí donde se establecen todas las reglas que deben cumplirse.



·         Capa de Interfaz del Usuario(Presentación)

Es la responsable de la presentación visual de la aplicación. La capa de presentación enviará mensajes a los objetos de esta capa de negocios o intermedia, la cual o bien responderá entonces directamente o mantendrá un diálogo con la capa de la base de datos, la cual proporcionará los datos que se mandarían como respuesta a la capa de presentación. Podemos decir que es la que se presenta al usuario, llamada también formulario o interfaz de presentación, esta captura los datos del usuario en el formulario e invoca a la capa de negocio, trasmitiéndole los requerimientos del usuario, ya sea de almacenaje, edición, o de recuperación de la información para la consulta respectiva.

EJEMPLO














2.    Resumen

Los paradigmas en el desarrollo de programas han venido evolucionando a través de los años y actualmente contamos con una de las técnicas que brinda mayor facilidad a los programadores, nos referimos a la Programación Orientada a Objetos en N capas, ya que permite dividir el trabajo en varias capas modulares. Actualmente, la más utilizada en cuanto a este estilo es la programación en tres capas que se divide en:

1. La capa de datos en la cual se define la conexión con el servidor y la base de datos, es en esta capa en donde se invoca a los procedimientos almacenados o comandos SQL, a fin de que se realicen las operaciones correspondientes en la base de datos; sin embargo, si es conveniente podemos dividir la estructura del código fuente en más capas.

2. Capa de presentación, la cual interactúa con el usuario.

3. La capa de negocios, donde se establecen las reglas del negocio que deben    cumplirse.

3.    Summary

The paradigms in the development of programs have been evolving over the years and we currently have one of the techniques that gives greater ease to programmers, we refer to Object Oriented Programming in N layers, as they allow to divide the work in several modular layers. Currently, the most used in this style is the programming in three layers that is divided into:
1. The data layer in which the connection to the server and the database is defined, it is in this layer where the stored procedures are invoked in the SQL data commands; however, if it is convenient you can split the structure of the source code into more layers.
2. Presentation Layer, which interacts with the user.
3. The business layer, where you establish the business rules that are met.

4.    Recomendaciones

        No exceder en el número de creación de capas, es posible que exista perdida de eficiencia.
        Se recomienda usar la programación con 3 capas, porque es la más convencional y la programación es más ordenada y segura.
        Es importante que todas las capas estén referenciadas y no tener problemas al ejecutar.
·           Es ventajoso programar en capas pues nos permite tener en orden específico en cuanto a las líneas de código, y es más fácil poder realizar cualquier modificación.

5.    Conclusiones

·           El estilo de programación en N capas se basa en segmentar un proyecto en          varias partes para realizar una programación independiente en cada una de ellas.
·           Facilita la reutilización de capas.
·           Permite una mejor estandarización.
·           En cuanto a la seguridad este estilo de programación es más fiable.
·         Se puede elaborar componentes para cada capa, avanzando el desarrollo de        manera independiente y por ende el global del Sistema puede desarrollarse más  rápido. 
·           Por ende, los costos de mantenimiento tienden a ser menores.
·    Dado los vertiginosos cambios en la dinámica de los negocios este estilo de  programación provee que el Sistema sea escalable.

6.    Apreciación del Equipo

1. Facilidad para desarrollar en múltiples plataformas (web, escritorio, móvil)

2. Se reduce la complejidad o Facilidad para distribuir el desarrollo del software

         3. La programación de 3 capas es la más usada ya que es más convencional


7.    Glosario de Términos

Fiable: Cosa que inspira seguridad.
Constructores: Un constructor es una subrutina cuya misión es inicializar un objeto de una clase
Paradigma: Ejemplo o modelo de algo.
Capas modulares: Define capas o niveles de abstracción, cada uno de los cuales aprovecha el servicio de la capa inferior.
Referencia: Nota o palabra en un escrito que remite a otra parte del mismo o a otro escrito, donde el lector puede encontrar lo que busca.

8.    Bibliografía o Linografía

http://joseluisgarciab.blogspot.pe/2014/09/programacion-en-3-capas.html  http://www.elguille.info/colabora/NET2005/FernandoLuque_NCapas.htmhttp://sisbib.unmsm.edu.pe/BibVirtual/Publicaciones/risi/2010_n2/v7n2/a07v7n2.pdf

https://laurmolina7821.wordpress.com/1-1-3-aplicaciones-de-2-3-y-n-capas/

http://www.elguille.info/colabora/NET2005/FernandoLuque_NCapas.htm

https://es.slideshare.net/joseantoniolapahuanca9/lab01-31525105https://es.slideshare.net/joseantoniolapahuanca9/lab01-31525105


Aqui les dejo el link de las diapositivas

https://www.slideshare.net/VicenteAlberca/programacion-en-ncapas







No hay comentarios:

Publicar un comentario