Programación Aplicada II Arquitecturas de Aplicación Ing. Roger M. Sánchez Chávez.

Slides:



Advertisements
Presentaciones similares
Clase 09.  Garantizar la calidad de software  La prueba nunca termina, del IS translada se translada al usuario  Las casas de software invierte del.
Advertisements

Modelo de 2 Capas Cliente/Servidor.  Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le.
CMS ABIERTO Y CMS CERRADO MARÍA CAMILA MUÑOZ U TATIANA ARIAS CHAPARRO U CAROLINA FIGUEROA U
Diseño de un sistema de gestión y asignación de equipos para una empresa TFC – Area J2EE Realización: Jose Angel Pardillo Vela Ingeniería técnica en Informática.
Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009.
COMUNICACIÓN Y TIC Ángela Espinosa Hayler Peñaranda.
Sistema de Información Gerencial - ERP(Planificación de recursos empresariales) Rolando Espinosa Annie Williams Joel Nieto
1.Se ha diseñado específicamente para las necesidades empresariales específicas. Se puede adaptar a través de la programación de software personalizado.
Conocida también como informática en la nube, del inglés Cloud Computing, es un modelo o paradigma para la utilización de los recursos informáticos,
BASE DE DATOS EN LA WEB POR- OSIRYS MARCIAGA JESUS NIETO.
Nombre José Francisco Luna Jurado Matricula Asignatura
Tema: Análisis de una red trocal multiservicio para encriptación de información sobre MPLS basada en el estándar IETF con el protocolo GETVPN Autor:
Ram Delta Systems We bring you a better future… Co-Med On Line
Ram Delta Systems We bring you a better future… Co-Med On Line
INTEGRACIÓN DE LAS TECNOLOGÍAS EN SISTEMAS
Redes de Comunicaciones y Telecomunicaciones Curso: 6 I y 6 II
Flujo de trabajo: Requerimientos
Ingeniería de Software
LOS DIFERENTES LENGUAJES DE PROGRAMACION PARA LA WEB
U.T. 11: Introducción A Las Bases De Datos
MODELO CLIENTE -SERVIDOR
BASES DE DATOS.
Windows server 2008.
ARQUITECTURA DE COMPUTADORES
INTRODUCCIÒN AL SISTEMA GESTOR DE BASE DE DATOS
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Tema 3. Lenguaje unificado de modelado UML
Modelo de 3 capas. Qué es la arquitectura de una aplicación? La arquitectura se refiere a la forma en la que es diseñada tanto física como lógicamente.
Definición de un Sistema Distribuido
REDES DE ORDENADORES Miguel Cantador. R ED DE ÁREA PERSONAL (PAN) Es una red de computadoras para comunicarse entre distintos dispositivos cercanos al.
PROVEEDOR DATA WAREHOUSE TERADATA
USO DE MODELOS EN CAPAS Equipo 7 Karen Berenice Magaña Ceferino
Metodología de la programación
Tema 1 El entorno de desarrollo de C#
Conceptos Relacionados Unidad I. Parte A.
CCAPA Tecnologías de Información SAC Ref.: Presentación OSA-ERP
CCAPA Tecnologías de Información SAC Ref.: Presentación OSA-ERP
FUNDAMENTOS DE PROGRAMACION EN ENTORNO WEB. Rodrigo Cabello Ing. Informático Director de proyectos Think – Ideas in Motion FUNDAMENTOS.
Conceptos básicos de.NET Explorar el entorno de desarrollo Crear un proyecto Visual Basic.NET Use Visual Studio.NET Acceso a datos Depurar e implantar.
Customización en ADempiere
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
Curso: fundamentos de redes Profesor: Miguel farfan Sesion: 03
MIDDLEWARE Y PROGRAMACION WEB DISTRIBUIDA. ¿ QUE ES MIDDLEWARE?
Class adapter.
PROYECTO DE GRADUACIÓN
C.R.M. Comercial.
Planes del Proyecto.
BASES DE DATOS II.
Spring Framework.
Estructura de Sistemas Operativos CAMPOS CHACALTANA, ANTHONY.
Estructura de los sistemas Operativos 1. Componentes de un sistema operativo  Administración de procesos  Administración de memoria  Subsistema de Entrada/Salida.
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
Vicerrectoría Académica Dirección de Formación General Programa de Emprendimiento PROTOTIPOS.
BASE DE DATOS (Parte N°1) Docente: Lic. David I. López Pérez.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
Características de los Sistemas Operativos
PROYECTO DE GRADUACIÓN
INTRODUCCIÓN A UML.  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
PROYECTO DE GRADUACIÓN
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
Ha llegado el momento de dar una mirada al interior de los Sistemas Operativos. En las siguientes secciones examinaremos cuatro estructuras distintas.
SISTEMA OPERATIVO Un sistema operativo es un programa o conjunto de programas de un sistema informático que gestiona los recursos de Hardware y provee.
Estructura de los Sistemas Operativos
Estructura de los Sistemas Operativos por: Omar Saravia Tasayco
Cliente Servidor Petición Respuesta Aplicaciones Cliente-Servidor.
ING. NANCY BASILIO MARCELO ADMINISTRACIÓN REDES DE COMPUTADORAS.
Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Copyright 2019 Luis Fernando Muñoz Pantoja Ingeniero de Sistemas Derechos reservados UML.
Transcripción de la presentación:

Programación Aplicada II Arquitecturas de Aplicación Ing. Roger M. Sánchez Chávez

ASP.NET tiene controles declarativos potentes permiten a los desarrolladores crear interfaces sofisticadas para visualizar y editar datos con poco o nada de programación. Proyectos de software reales son muy vulnerables a las necesidades cambiantes y los proyectos web son probablemente aún más. La funcionalidad de una aplicación web, rara vez se especifica por completo. Se añaden nuevas funciones y otras características, el modelo de datos y los requisitos de almacenamiento cambian. El desarrollador puede probar la aplicación en una base de datos, luego, migrar a SQL Server y, después de una fusión de empresas, migrar de a una base de datos Oracle. Semanas antes de la prueba alfa, el cliente puede hacer un cambio que requiera trabajar con un servicio Web externo en lugar de una base de datos local de alguna información. Introducción

Las capas (layers) se ocupan de la división lógica de componentes y funcionalidad y no tiene en cuenta la localización física de componentes en diferentes servidores o en diferentes lugares. Por el contrario, los niveles (tiers) se ocupan de la distribución física de componentes y funcionalidad en servidores separados, teniendo en cuenta topología de redes y localizaciones remotas. Aunque tanto las capas (layers) como los niveles (tiers) usan conjuntos similares de nombres (presentación, servicios, negocio y datos), es importante no confundirlos y recordar que solo los niveles (tiers) implican una separación física. Capas vs. Niveles

Localizar los cambios de similares en la aplicación, para reducir el trabajo requerido en arreglar defectos, facilitar el mantenimiento y mejorar la flexibilidad de la aplicación. Separación de responsabilidades entre componentes, aumenta la flexibilidad, mantenibilidad y escalabilidad. Componentes reutilizables entre diferentes módulos de una aplicación o incluso entre diferentes aplicaciones. Equipos diferentes deben poder trabajar en partes diferentes de la aplicación con mínima dependencia entre ellos. Los diferentes componentes de una aplicación deben de poder ser desplegados de una forma independiente, e incluso mantenidos y actualizados en momentos diferentes. Cada capa debe poder probarse de forma autónoma, asegurando la estabilidad. Estructurar una aplicación

Las capas son agrupaciones horizontales lógicas de componentes de software que forman la aplicación o el servicio. Ayudan a diferenciar entre los diferentes tipos de tareas a ser realizadas por los componentes, ofreciendo un diseño que maximiza la reutilización y especialmente la mantenibilidad. Cada capa lógica de primer nivel pueden tener un numero concreto de componentes agrupados en sub-capas; éstas realizan un tipo especifico de tareas Diseño básico de N-capas

El dividir una aplicación en capas separadas que desempeñan diferentes roles y funcionalidades, nos ayuda a mejorar el mantenimiento del código, permitiendo diferentes tipos de despliegue y proporcionando una clara delimitación y situación de donde debe estar cada tipo de componente funcional e incluso cada tipo de tecnología. Diseño básico de N-capas

Diseño en Capa Estricto: Limita a los componentes de una capa a comunicarse solo con los componentes de su misma capa o con la capa inmediatamente inferior. Diseños en Capas Laxo: Permite que los componentes de una capa interactúen con cualquier otra capa de nivel inferior. Diseño básico de N-capas

Debido a que cada capa interactúa con otras capas solo mediante interfaces bien definidos, es fácil añadir implementaciones alternativas a cada capa. Esto permite realizar pruebas unitarias de una capa incluso cuando las capas de las que depende no están finalizadas o incluso porque se quiera poder ejecutar mucho mas rápido un conjunto muy grande de pruebas unitarias que al acceder a las capas de las que dependen se ejecutan mucho mas lentamente. Es fácil realizar pruebas sobre componentes individuales porque las dependencias entre componentes están limitadas de forma que los componentes de capas de alto nivel solo pueden interaccionar con componentes en niveles inferiores. Esto ayuda a aislar componentes individuales para poder probarlos adecuadamente y nos facilita el poder cambiar unos componentes de capas inferiores por otros diferentes con un impacto muy pequeño en la aplicación. Consideraciones relativas a Pruebas

Beneficios de uso de N-Capas El mantenimiento de mejoras en una solución será mucho mas fácil porque las funciones están localizadas, las capas deben estar débilmente acopladas entre ellas y con alta cohesión interna; lo cual posibilita variar de una forma sencilla diferentes implementaciones y/o combinaciones de capas. Otras aplicaciones deberían poder reutilizar funcionalidad expuesta por las diferentes capas, especialmente si se han diseñado para ello. Los desarrollos distribuidos son mucho mas sencillos de implementar si el trabajo se ha distribuido previamente en diferentes capas lógicas. Las distribución de capas en diferentes niveles físicos pueden mejorar la escalabilidad.

Arquitectura N-Capas

La capa de presentación que en este caso esta formada por los componentes de IU que pueden ser vistos como la parte con la cual interactuar el usuario y los componentes de proceso de IU podríamos asociarlos a clases de tipo controladora en UML. Arquitectura 3-Capas

La capa de negocios encapsula lógica de negocios. Los servicios de esta capa son encapsulados en tres tipos de componentes, las entidades empresariales, que representan objetos que van a ser manejados o consumidos por toda la aplicación y los otros tipos de objetos son los componentes empresariales que contienen lógica de negocio, y en algunos casos los objetos raíz que inician las transacciones. Arquitectura 3-Capas

La capa de acceso a datos que contiene clases que interactúan con la base de datos. Estas clases surgen como una necesidad de mantener la cohesión o clases altamente especializadas que ayuden a reducir la dependencia entre las clases y capas. Arquitectura 3-Capas

Consideraciones: Instalación y Configuración: Enterprise Library 6.0 Copiar cadena de conexión en el Web.config: Realizar una Conexión de datos desde el Explorador de servidores. Aplicación en 3-Capas <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" /> <add name="Conex" connectionString="Data Source=????;Initial Catalog=Northwind;Integrated Security=True" providerName="System.Data.SqlClient" />

Crear una Solución de Visual Studio (se colocara un nombre para la solución y otro para el proyecto). Agregar los proyectos de Biblioteca de clase (Entidades, Datos y Negocio) que serán nuestras capas. Agregar las referencias a cada uno de los proyectos. Aplicación en 3-Capas

Crear una clase en el proyecto Entidades con el nombre de Categoria. Aplicación en 3-Capas using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Entidad { public class Categoria { public int CategoryId { get; set; } public string CategoryName { get; set; } public string Description { get; set; } }

Crear una clase en el proyecto Datos con el nombre de CategoriaD. Aplicación en 3-Capas using System; using System.Collections.Generic; using System.Linq; using System.Text; using Entidad; using System.Data; using System.Data.Common; using Microsoft.Practices.EnterpriseLibrary.Data; using Microsoft.Practices.EnterpriseLibrary.Common; namespace Datos { public class CategoriaD { public List listarCategorias() { Database db = DatabaseFactory.CreateDatabase("Conex"); DbCommand sql = db.GetSqlStringCommand("select categoryID, categoryname, description from categories"); IDataReader tvirtual = db.ExecuteReader(sql); List listacat = new List (); while (tvirtual.Read()) { Categoria elemento = new Categoria() { CategoryId = tvirtual.GetInt32(0), CategoryName = tvirtual.GetString(1), Description = tvirtual.GetString(2) }; listacat.Add(elemento); } return listacat; }

Crear una clase en el proyecto Negocio con el nombre de CategoriaN. Aplicación en 3-Capas using System; using System.Collections.Generic; using System.Linq; using System.Text; using Datos; using Entidad; namespace Negocio { public class CategoriaN { public List listarCate() { CategoriaD categoria = new CategoriaD(); return categoria.listarCategorias(); }

Crear un WebForm con el nombre ListaCategorias. Aplicación en 3-Capas

Agregar el siguiente código en el evento Page_Load del archivo ListaCategorias.aspx.cs. Aplicación en 3-Capas using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Negocio; namespace NorthwindApp.Consultas { public partial class ListaCategorias : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { CategoriaN categoria = new CategoriaN(); GridView1.DataSource = categoria.listarCate(); GridView1.DataBind(); }

Aplicación en 3-Capas Resultado luego de ejecutar la aplicación.