Aplicaciones N-Capas con .NET

Slides:



Advertisements
Presentaciones similares
Desarrollo de aplicaciones en n- capas
Advertisements

2010Ing. de Sistemas II Persistencia en EJB3 Pasos para crear entity beans.
JEE Introducción a Java Enterprise Edition (JEE) y el modelo Enterprise Java Beans (EJB)
Web Services.
Conexión a Bases de Datos
Internet y tecnologías web
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Detalles técnicos de Sharepoint Search Rubén Alonso Cebrián
Conceptos fundamentales de ASP.NET
Los objetivos de esta presentación
La plataforma .NET David Carmona
Microsoft Office Sharepoint Server Business Intelligence Rubén Alonso Cebrián Código: HOL-SPS07.
Red Social: “Un millón de Amigos”.
Técnicas de Diseño Red Social.
Red Social: “Un millón de Amigos”.
Rossy Garita Componentes fundamentales de CLR y
Desarrollo de una Aplicación Web sobre tecnología Microsoft .NET
Modelando aplicaciones
Servicios Web.
La Plataforma Holmes y Aplicaciones
Programación Visual de Sistemas
PATRON DAO Data Access Object (OBJETO DE ACCESO A DATOS)
Acceso a Datos avanzado
UNIVERSIDAD ECOTEC TEMA: INFOPATH
Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.
Arquitectura de la Aplicación
Teoría de los lenguajes Proyecto SIGU Equipo Nº3 Universidad Argentina J. F. Kennedy Sede: Don Bosco Integrantes: Irene Arias Fernández Mariana Pacheco.
Curso de Java y Aplicaciones Web
Acceso a datos y paso de datos entre capas
(D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO
César de la Torre – Programas Técnicos para Partners División de Desarrollo y Plataforma – Microsoft Spain.
Módulo 1: Primeros Pasos
Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización Entre plataformas Entre lenguajes.
Java 2 Platform Enterprise Edition
Características Técnicas
Es un Sistema operativo de red. Es una de las plataformas de servicio más fiable para ofrecer acceso seguro y continuado a la red y los recursos de.
SISTEMA DE GENERACIÓN Y SEGUIMIENTO DE REPARACIÓN DE CONTENEDORES
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
Introducción a ASP.NET.
Sistema La Plata Módulo I INTRODUCCION A APLICACIONES WEB.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Persistencia de Objetos. Definicion Persistencia : El la capacidad de un objecto to continuar existiendo despues que su creador (programa que crea este)
Remoting.Net Michel Rener. TEMARIO ¿Qué es una Aplicación Distribuida? ¿Qué es una Aplicación basada en Cliente/Servidor? ¿Qué es la Tecnología de Objetos.
Acceso a datos con Sharepoint
Juan Andrada Romero Jose Domingo López López.  Introducción  Conceptos  Arquitectura JXTA  Protocolos  Demostración  Alternativas  Conclusiones.
Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.
InfoPath Ventajas y Uso.
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Tutor: Ing. Juan E. Talavera Horn 2010 GWT – EJB Patrones de diseño e integración.
ESB Víctor Cabrera Cañizares.
CURSO STRUTS 2 RESUMEN Resumen de lo visto en este primer módulo de INTRODUCCIÓN al framework Struts 2 Debes tener los conceptos muy claros sobre: Framework.
Integración CORBA/OODB - Discusión Una Nueva Arquitectura para la Integración de CORBA y OODB Helios Alonso - Luis Pandolfi - Pablo Rodríguez Bocca Universidad.
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales “WEB SERVICES” Integrantes: Ene Adriana Guevara Vanina Martínez Cintia.
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
Desarrollo de Aplicaciones Web .NET
Términos y Conceptos Básicos
CONTRATOS DE CLIENTES Orlando Sedamano Cornejo Marco Bustinza
Materia: Desarrollo e implementación web Carrera: Ing. Informática Docente: M.I. Rosario de Alba Domínguez Rodríguez ALUMNA: Marissa Michelle Juárez Kim.
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
Luis Ponce Cabello.  Primera Parte : JSF  Segunda Parte : Facelets  Tercera Parte : Icefaces.
Guadalupe Andrade Mociño.  Significa Modelo Vista Controlador  Es un patrón de diseño  Esta compuesto por tres grandes capas: modelo, vista y controlador.
Navarro Hernández Nadia Samantha. Preescolar 1º. B.
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
• SQL Server Integration Services SSIS
Acceso a Datos Erick López Ovando Licenciado en Informática.
Arquitectura de aplicaciones
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Softlogia S.R.L. Formación de Recursos Humanos Java Server Faces Instructor: Martin R. Baspineiro.
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. ARQUITECTURA.
Transcripción de la presentación:

Aplicaciones N-Capas con .NET

Patrones Describen problemas/soluciones ya “conocidas” y recurrentes Facilitan la comunicación Al identificar un patrón, permiten construir un conjunto de conceptos/ soluciones a su alrededor (de aplicabilidad “inmediata”) Se complementan Aplicables en distintas áreas de la construcción / implementación de sistemas

Probadas Con autoridad Precisas “patterns & practices” Direcciones y guía en temas de arquitectura por parte de Microsoft Probadas Con autoridad Precisas Relevantes Utilizables Disponible online (en inglés): http://www.microsoft.com/practices Libros disponibles: http://www.amazon.com/practices CD de recursos: http://shop.microsoft.com/practices

Arquitectura en Capas Diseñamos una aplicación en capas, donde cada capa expone servicios que otras aplicaciones o capas pueden consumir, y donde cada capa puede consumir servicios de otras ¿Cuáles son las capas y qué componente se coloca en cada capa?

Arquitectura en Capas A tener en cuenta … Queremos minimizar los efectos de cambiar una capa Los servicios se pueden llegar a exponer hacia fuera del lugar físico o de la empresa Comunicarse con otros servicios involucra múltiples protocolos, formatos de datos y conocimientos técnicos Tratamos de aislar la lógica de negocios de la tecnología usada para acceder a los servicios

Arquitectura .NET Usuarios Comunicaciones Operaciones Seguridad UI Componentes UI Componentes de Procesos Interfaces de Servicios Workflows de Negocio Componentes de Negocio Entidades de Negocio Componentes de Accesos a Datos Agentes de Servicios Orígenes de Datos Servicios

Arquitectura .NET simple Capa de Presentación Página Web de Presupuestos Página Web de Inventario Página Web de Clientes Capa de Negocio Manejo de Presupuestos Cálculo de Precios Manejo de Clientes Capa de Datos Utilidades ADO.NET Acceso a Datos De Presupuestos

Patrones de Diseño en .NET Presentación Lógica negocio & Fábrica Mensajes Integración y persistencia de datos .NET & Windows ADO.NET Response 8. Execute Biz Method 10b. Get/Set Remove Resources Database Directory MSMQ 13. CRUD Data Business Service Facade Disconnected DataSet &/or ObjectSpaces Request 14. Query Data Access Object IIS & ASP.NET 18. Response <<de-serialize>> 9. Assemble Data 12. CRUD Data MSMQ R WS Serialized XML DataSet VO 16. Redirect ASPX (ASCX) <<creates>> Value Object Assembler 10c. CRUD Data 1. Request ASPX/MX Front Controller 17. State? 10a. Invoke Data Access Proxy <<uses>> <<describes>> 4. Dispatch 2. Fill State 3. Validate 11a. Get/Set Remove XML Action to Form & Forward Mappings Attributed Connection Pooling & Transactions C# Assembly & Serviced Component 11b. CRUD Data Disconnected DataSet &/or ObjectSpaces XML DataSet VO <<uses>> Base Form Control 5. Get Delegate ASCX Code Behind Clave Otra infrastructura 15. Fill State <<uses>> MSMQ R WS 6. Execute <<supplies>> .NET & Windows / EJB Container Business Delegate Factory Business Delegate Adapter <<uses>> XML DataSet VO Model Pattern M 7a. Execute Biz Method Event Interceptor Framework Security Management Framework Messaging Command Factory Event Notification Framework View Pattern V Business Service Proxy <<uses>> Controller Pattern C <<uses>> 7b. CRUD Data Data Access Proxy Filter Interceptors Service Activation Message Q & Channel Locator Other Pattern To DAO P

Arquitectura común de Aplicaciones distribuidas Web Básica Web Compleja Data and Services Application Farm BC DAC Web Clients Web Farm UIC UIP Web Farm UIC UIP SI SA Web Empresarial Data and Services Application Farm BC DAC Web Clients Escritorio Empresarial Rich Clients UIC UIP Data and Services Application Farm BC DAC Web Farm SI SA Web Clients Web Farm UIC BC UIP Data and Services DAC

Uso de las bibliotecas Biblioteca Horizontal Aplicación 15% Biblioteca Vertical Aplicación 15% 20% 65% Source: Mili, et. al., Reuse-Based Software Engineering, Techniques, Organization and Measurement, John Wiley & Sons, Inc., c2002.

Capa de Datos

Arquitectura .NET Usuarios Comunicaciones Operaciones Seguridad UI Componentes UI Componentes de Procesos Interfaces de Servicios Workflows de Negocio Componentes de Negocio Entidades de Negocio Componentes de Accesos a Datos Agentes de Servicios Orígenes de Datos Servicios

Data Access Logic Components Objetos sin comportamiento que solo saben guardar un Business Entity en la base de datos. Generalmente son clases con métodos estáticos. Utilizan alguna forma de acceso a datos simplificado como Data Access Application Block. Deben ser llamados por el Business Component de forma que no se tenga en cuenta el origen de los datos. Realiza todas las conversiones y validaciones necesarias que estén relacionadas con el modelo de base de datos.

Capa de Datos Se puede implementar: Escribiendo código ADO.NET para cáda método de cada objeto: Create, Open, Update, Delete, Find. Escribiendo código con DAAB. Usando DataAdapter, si se usan DataSets como Business Entities. Alguna herramienta de Object Relational Mapping.

DAAB - Data Access Application Block Versión 2.0 (MSDN / Patterns & Practices) http://msdn.microsoft.com/library/en-us/dnbda/html/daab-rm.asp Versión 3.1 (GotDotNet) http://www.gotdotnet.com/Workspaces/Workspace.aspx?id=c20d12b0-af52-402b-9b7c-aaeb21d1f431

Data Access Application Block

DAAB Abstract Factory (3.x) AdoHelper SqlHelper Odbc SqlServer OleDb …

¿Qué es NHibernate? Framework de persistencia, basado en objetos, para bases de datos relacionales. Portado de Hibernate de Java Permite mapear tablas y relaciones entre las mismas a partir de entidades (clases) escritas en c# Libera al programador de la mayoría de las tareas de persistencia de datos

Arquitectura

Algunas características Soporte de: Herencia Polimorfismo Relaciones uno a muchos, muchos a uno Claves compuestas Colecciones de datos Cache Varios cache providers Transacciones Lazy Inicialization HQL Ultima versión disponbible 0.8.4.0

Clases – XML – Tablas Las clases escritas en código se vinculan a las tablas mediante archivos hbm Los hbm son xml que determinan mapeos entre las Properties y las columnas de una tabla. <?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.0"> <class name=“NombreCompletoClase, NombreAssembly" table=“NombreTabla"> <id name="Id" column=“NombreColumnaKey“ type="String" length="20"> <generator class="assigned" /> </id> <property name=“NombreProperty1“ column= “NombreColumna1" type=“TipoDato1" length="40"/> <property name=“NombreProperty2“ column= “NombreColumna2" type=“TipoDato2" length="40"/> <property name=“NombreProperty3“ column= “NombreColumna3" type=“TipoDato3" length="40"/> </class> </hibernate-mapping>

Licencia Lesser General Public License (LGPL) Es una “free software licence”. Sin embargo es una “strong copyleft licence” Esta permitido linkearla con módulos que no son libres. GNU y GPL tienen un esquema de “sombrilla” Si se utilizan librerias GNU o GPL en proyectos, el producto final debe ser también GNU o GPL respectivamente. En cambio la LGPL permite cerrar el código.

Capa de Negocio

Arquitectura .NET Usuarios Comunicaciones Operaciones Seguridad UI Componentes UI Componentes de Procesos Interfaces de Servicios Workflows de Negocio Componentes de Negocio Entidades de Negocio Componentes de Accesos a Datos Agentes de Servicios Orígenes de Datos Servicios

Interfaces de servicios Es el punto de entrada de la Capa de Negocio Expone la funcionalidad que otras aplicaciones pueden consumir Se implementa con Servicios Web o Remoting (en caso de aplicaciones distribuidas) Se puede implementar con otras tecnologías: BizTalk Server, Message Queues...

Entidades de Negocio Son contenedores de datos Encapsulan y ocultan los detalles de representación de datos Puede “encapsular” datos que provengan de un Recordset, y luego enviarlos a un XML No tienen lógica de negocios Es conveniente distinguir entre instancia y colección de instancias

Entidades de Negocio Se referencian desde la capa de presentación, desde la interfaz de servicio y desde los componentes de negocio Alternativas DataSet DataSet tipado Objetos (individuales y colecciones) XML

Componentes de Negocio Implementación en software de conceptos de negocios Encapsulan las reglas de negocio de la aplicación, relacionadas con un Business Entity. Algunos métodos requieren acceder a la base de datos (Capa Datos) Separación de las Business Entities

Business Workflow Implementan las actividades de alto nivel del negocio: proceso de una orden de compra, de una factura Son métodos que no pertenecen a un objeto en particular Se pueden agrupar en objetos o en un objeto por método Cada método de un Service Interface, accede a un Business Workflow o a un Componentes de Negocio

Capa de Presentación

Capa de Presentación Para muchas aplicaciones se usa la metáfora del formulario/informe Habrá formularios/páginas web de ingreso y modificación Habrá formularios/páginas web de vista de datos Son los Componentes de Interfaz Hay Componentes de Proceso de Interfaz

User Interface Components Muestran datos a los usuarios Adquieren y validan (en alguna medida) la entrada de los usuarios Interpretan “gestos” del usuario, para ejecutar una acción NO PARTICIPAN, No hacen nada por sí solos.

Interfaz Windows Para entornos desconectados o clientes “ricos” (rich clients) Opciones de implementación más simple: Windows Forms

Interfaz Web ASP.NET Web Forms Basado en componentes en el servidor Usa enlace de datos en los controles Entorno de desarrollo integrado al resto de las soluciones Amplio manejo de estado y “caching” Nuevo modelo de Formularios

Infraestructura

Capa de Infraestructura Son servicios para las aplicaciones Dado que no pertenecen a ninguna capa, se definen por fuera aunque en algunos casos se implementen o usen en alguna capa. Son los siguientes: Seguridad AuthZ, AuthN, Comunicación segura, Auditoría, Manejo de Perfiles. Operaciones Manejo de excepciones, Monitoreo, Execución asincrónica, Metadatos, Configuración. Comunicaciones Formato, Protocolo, Asincronismo.

¿Dudas?

Gracias