ARQUITECTURA 3 CAPAS PROGRAMACIÓN POR CAPAS Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. La ventaja principal: Es el desarrollo se puede llevar a cabo en varios niveles y, en caso de que sobrevenga algún cambio. En el diseño de sistemas informáticos actuales se suele usar las arquitecturas multilineal o Programación por capas. Además, permite distribuir el trabajo de creación de una aplicación por niveles; cada grupo de trabajo está totalmente abstraído del resto de niveles, de forma que basta con conocer la API que existe entre niveles. API (Application Programming Interface) Es el conjunto de funciones y procedimientos o métodos que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción. Ejemplos: Microsoft Framework .NET OpenGL API for SCSI device interfacing Javascript-C de Mozilla Symfony para PHP CAPAS Y NIVELES 1.) Capa de presentación.- Esta capa es la que ve el usuario , presenta el sistema al usuario, le comunica la información y captura la información del usuario en un mínimo de proceso. Esta capa se comunica únicamente con la capa de negocio. También es conocida como interfaz gráfica y debe tener la característica de ser "amigable" para el usuario generalmente se presentan como formularios. 2.) Capa de negocio Aquí es donde, se reciben las peticiones del usuario y se envían las respuestas tras el proceso. Se denomina capa de negocio (e incluso de lógica del negocio) porque es aquí donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la capa de presentación, para recibir las solicitudes y presentar los resultados, y con la capa de datos, para solicitar al gestor de base de datos para almacenar o recuperar datos de él. Toda aplicación tiene código para implementar reglas de negocios. Se puede seleccionar almacenar la lógica de negocios sobre cada estación de cliente, u optar por ejecutar la lógica de negocios sobre un servidor de aplicaciones. No toda la lógica de negocio es la misma algunas no requieren un frecuente acceso a los datos, pero una interface de usuario robusta necesitara de la lógica de negocios para la validación en la entrada de campos, cálculos en tiempo real u otras interacciones de usuarios. ADO.NET El ADO.NET es un conjunto de componentes del software que pueden ser usados por los programadores para acceder a datos y a servicios de datos. •Data provider.- Estas clases proporcionan el acceso a una fuente de datos, como Microsoft SQL Server y Oracle. •DataSets • Los objetos DataSets, un grupo de clases que describen una simple base de datos relacional en memoria. Representa una base de datos entera puede contener las tablas y relaciones •Objeto DataTable representa una sola tabla en la base de datos. •DataSet es llenado desde una base de datos por un DataAdapter cuyas propiedades Connection y Command Conjunto común de clases de utilidad: Connection: Conexión con la fuente de datos. Command: Acción en la fuente de datos Parameter: Parámetro para un procedimiento almacenado. DataAdapter: Puente fuente de datos y dataSet DataReader: Procesar lista de resultados un registro a la vez. CAPA DE DATOS Es donde residen los datos y es la encargada de acceder a los mismos. Está formada por uno o más gestores de bases de datos que realizan todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperación de información desde la capa de negocio. Ejemplo: Arquitectura de tres Capas para la Web. • Los datos y servicios aparecen separados. • Fácil de separar los datos de la “lógica de negocio” • El cliente recibe los datos y la información de forma indirecta a través servidor. Aplicaciones orientadas a la Web.- en la capa de presentación esta el navegador que permite visualizar la pág. Web él mismo que se comunica con el servidor Web y a su vez con el servidor de aplicaciones conformando la lógica de negocios y posteriormente se accede a la Base de datos. Aplicaciones no orientadas a la Web.- la interfaz gráfica es presentada en formularios, luego la capa de negocio es implementada en el servidor de aplicaciones y en la capa de datos está la base de datos. •Los Servidores de Aplicaciones actúan como enlace entre los servidores Web y los Servidores de Bases de datos. •Se fomenta la escalabilidad del sistema, la seguridad y la reutilización de código. Ejemplo para la Web Capa 1 Capa 2 En la capa de negocios del sitio www.blogger.com. Capa 3 Esta capa contiene la Base de datos de los diferentes blogs que se crean en el sitio la misma que se comunica con la capa de negocio. Pueden estar en un solo ordenador. Lo mas usual es que haya una multitud de ordenadores donde reside la capa de presentación Las capas de negocio y de datos pueden residir en el mismo ordenador. En sistemas complejos se tiene una serie de ordenadores sobre los cuales corre la capa de datos y otra serie de ordenadores sobre los cuales corre la base de datos Diferencia entre Capas y Niveles Capa.- Forma como una solución es segmentada desde el punto de vista lógico. Nivel.- Forma en que las capas lógicas se encuentran distribuidas de forma física. Ejem 1. Tres capas que residen en un ordenador (Presentación + lógica + datos ) 2. Tres capas que residen en dos ordenadores (Presentación, lógica, datos). 3. Tres capas que residen en tres ordenadores (Presentación, lógica, datos).