Aplicaciones NCapas con 'NET - PowerPoint PPT Presentation

1 / 39
About This Presentation
Title:

Aplicaciones NCapas con 'NET

Description:

Aplicables en distintas reas de la construcci n / implementaci n de ... Action to Form & Forward Mappings. MSMQ. R. WS. MSMQ. R. WS. Value Object Assembler. ... – PowerPoint PPT presentation

Number of Views:141
Avg rating:3.0/5.0
Slides: 40
Provided by: Marb
Category:
Tags: net | aplicaciones | con | fwd | ncapas

less

Transcript and Presenter's Notes

Title: Aplicaciones NCapas con 'NET


1
Aplicaciones N-Capas con .NET
  • Miguel Ángel Ramos
  • (Coordinador Técnico dotNetClubs España)

2
Patrones
  • Describen problemas/solucionesya 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

3
patterns practicesDirecciones y guía en
temas de arquitectura por parte de Microsoft
Con autoridad
Probadas
Precisas
Relevantes
Utilizables
Disponible online (en inglés) http//www.microsof
t.com/practices Libros disponibles
http//www.amazon.com/practices CD de recursos
http//shop.microsoft.com/practices
4
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?

5
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

6
Arquitectura .NET
Usuarios
Operaciones
Seguridad
Comunicaciones
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
7
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
8
Patrones de Diseño en .NET
Presentación
Lógica negocio Fábrica Mensajes
Integración ypersistencia de datos
.NET Windows
ADO.NET
Response
10b.Get/Set Remove
8. ExecuteBiz Method
13. CRUDData
Business Service Facade
Disconnected DataSet /or ObjectSpaces
14. Query
Request
Data Access Object
9.Assemble Data
12. CRUDData
ltltde-serializegtgt
IIS ASP.NET
18. Response
Serialized XMLDataSet VO
16. Redirect
ASPX (ASCX)
Value Object Assembler
ltltcreatesgtgt
10c.CRUD Data
1. Request
17. State?
ASPX/MXFront Controller
Data Access Proxy
ltltusesgtgt
ltltdescribesgtgt
10a.Invoke
4. Dispatch
2. Fill State 3. Validate
11a.Get/Set Remove
Attributed Connection Pooling Transactions
XMLAction to Form Forward Mappings
C Assembly Serviced Component
Disconnected DataSet /or ObjectSpaces
11b. CRUDData
XML DataSet VO
ltltusesgtgt
Base Form Control
5. Get Delegate
ASCX Code Behind
Otra infrastructura
Clave
ltltusesgtgt
15. Fill State
6. Execute
ltltsuppliesgtgt
.NET Windows / EJB Container
ltltusesgtgt
XML DataSet VO
BusinessDelegateAdapter
BusinessDelegateFactory
ModelPattern
M
7a. Execute Biz Method
Event Interceptor Framework
Security Management Framework
Event Notification Framework
Messaging Command Factory
ViewPattern
V
Business Service Proxy
ltltusesgtgt
ControllerPattern
ltltusesgtgt
C
Data Access Proxy
7b. CRUD Data
Filter Interceptors
Service Activation
Message Q Channel Locator
OtherPattern
P
To DAO
9
Arquitectura común de Aplicaciones distribuidas
Web Básica
10
Uso de las bibliotecas
Source Mili, et. al., Reuse-Based Software
Engineering, Techniques, Organization and
Measurement, John Wiley Sons, Inc., c2002.
11
Capa de Datos
12
Arquitectura .NET
Usuarios
Operaciones
Seguridad
Comunicaciones
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
13
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.

14
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.

15
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
    ?idc20d12b0-af52-402b-9b7c-aaeb21d1f431

16
Data Access Application Block
17
DAAB Abstract Factory (3.x)
AdoHelper
Odbc
SqlServer

OleDb
18
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

19
Arquitectura
20
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

21
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.

lt?xml version"1.0" encoding"utf-8" ?gt
lthibernate-mapping xmlns"urnnhibernate-mapping-
2.0"gt ltclass nameNombreCompletoClase,
NombreAssembly" tableNombreTabla"gt ltid
name"Id" columnNombreColumnaKey
type"String" length"20"gt ltgenerator
class"assigned" /gt lt/idgt ltproperty
nameNombreProperty1 column NombreColumna1"
typeTipoDato1" length"40"/gt ltproperty
nameNombreProperty2 column NombreColumna2"
typeTipoDato2" length"40"/gt ltproperty
nameNombreProperty3 column NombreColumna3"
typeTipoDato3" length"40"/gt lt/classgt
lt/hibernate-mappinggt
22
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.

23
Capa de Negocio
24
Arquitectura .NET
Usuarios
Operaciones
Seguridad
Comunicaciones
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
25
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...

26
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

27
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

28
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

29
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

30
Capa de Presentación
31
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

32
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.

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

34
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

35
Infraestructura
36
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.

37
(No Transcript)
38
Dudas?
39
Gracias
Write a Comment
User Comments (0)
About PowerShow.com