Arquitectura de aplicaciones

Slides:



Advertisements
Presentaciones similares
2010Ing. de Sistemas II Persistencia en EJB3 Pasos para crear entity beans.
Advertisements

U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Red Social: “Un millón de Amigos”.
ENTERPRISE SOA Arquitectura Avanzada – Universidad CAECE 2011
Noveno Semestre UNIDEC
Modelando aplicaciones
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:23 PRESENTACION: BASE DE DATOS ALUMNAS: Velazquez Corona Elsa Ponciano Antonio.
Carlos Rojas Kramer Universidad Cristóbal Colón
Servicios Web.
Arquitectura Orientada a Servicios (SOA)
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Modelos de Datos Modelado y Diseño de Bases de Datos
Prof. César Luza Montero
Arquitectura de la Aplicación
Framework Hexápodo PHP fácil, rápido y sin dolor
Etapas y actividades en el desarrollo OO basado en UML
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
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
Ingeniería del Software
MOTORES DE BASE DE DATOS
Una Introducción a UML El Modelo de Proceso de Negocio
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Contexto: Aplicación gráfica.  Siempre que se piensa en separar la funcionalidad de una aplicación de su interacción con el usuario, bien sea una aplicación.
Modelado Arquitectónico
Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
Ing. Fabián Ruano.  Definición  Diferencias con BD Centralizadas.
Arquitectura de una aplicación
Diseño de una base de datos Zavaleta Nolasco Karina
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
DISEÑO DE SOFTWARE 1ª. Parte
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.
Desarrollo de aplicaciones para ambientes distribuidos
Modelos de Bases de Datos
Sistemas Distribuidos
ADO.NET VISUAL STUDIO.NET.
Haga clic para modificar el estilo de subtítulo del patrón 28/04/09 Por ARLEDY SARRIA MOLINA NAZLY DIAZ ARIZA JHOANNA MARQUELLA DESARROLLO DE SOFTWARE.
SICSTRA Sistema de Información para el control de solicitudes de tramites jurídicos Ministerio de Justicia y Seguridad Pública.
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales “WEB SERVICES” Integrantes: Ene Adriana Guevara Vanina Martínez Cintia.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Modelo-Vista-Controlador Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación original fue realizada en Smalltalk.
GESTION DE PROCESOS DE NEGOCIO
“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.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
PROGRAMACION ORIENTADA A OBJETOS
Cristian Fonnegra Marin
Subsecretaría de Educación Superior Dirección General de Educación Superior Tecnológica INSTITUTO TECNOLÓGICO DE SALINA CRUZ TEMA: herramientas de programación.
Modelo de 3 capas.
EQUIPO:#3 GRUPO:304 NOMBRES: Lizbeth Nava Barón y Erick Ali Mejía.
Ingeniería de Requisitos
CONTRATOS DE CLIENTES Orlando Sedamano Cornejo Marco Bustinza
GeneXus 9.0: Creando el ERP del Futuro basado en una Arquitectura Orientada a Servicios
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Patrones de Diseño Para Persistencia y Transferencia
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
Un requerimiento es una condición o capacidad a la que el sistema (siendo construido) debe conformar [ Rational ]. Un requerimiento de software puede.
Vanessa Revetria Juan Miraballes Maximiliano Silvera Gonzalo Castro Andrés Aldao.
Arquitectura de una aplicación Arquitectur a: desarrolla un plan general del sistema, asegurando que las necesidades de los usuarios sean atendidas. Ingeniería.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Fundamentos de Ingeniería de Software
Diccionario/Directorio de Datos
Conociendo el modelo Cliente-Servidor
ACCESO A DATOS EN ASP.NET Controles de origen de datos Controles enlazados a datos.
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:

Arquitectura de aplicaciones Programa Educativo: Licenciatura en Ingeniería en Computación Docente: M. en C. Laura Cecilia Méndez Guevara

Arquitectura aplicación. Características .NET FrameWork Arquitectura de Capas Comunicación entre Capas Capa de Presentación Capa de Negocios Capa de Datos Patrones en cada capa Modelo de despliegue

Características .NET Framework Este framework implica que se puede trabajar con: Distintos tipos de lenguajes de programación. Amplia biblioteca de clases. Soporte de Remoting y Servicios Web Orientación a Objetos completa. Metadatos.

Características .NET Framework Intenta conseguir: Definición de una buena arquitectura. Buenas cualidades para el desarrollo de aplicaciones B2C, B2B, etc... Crear aplicaciones fácilmente integrables y reutilizables.

Arquitectura de Capas Contexto Problema 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. Problema Cuáles son las capas y qué componente se coloca en cada capa.

Arquitectura en Capas Solución Una aplicación en 3 capas de servicios: Presentación Negocios Datos Hay servicios de base que todas las capas utilizan

Arquitectura de Capas.

Arquitectura en Capas ¿Qué intentamos conseguir con este modelo?. Queremos minimizar los efectos de cambiar una capa. Los servicios se pueden 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 (Se consigue un código mas reutilizable).

Arquitectura en Capas

Capa de Datos

Capa de Datos Uso de base de datos relacionales, en nuestra aplicación se utiliza el más que conocido MS-Access. Los componentes de acceso a datos son los responsables de exponer esos datos a la capa de negocio. Conforma la capa integración. En ella esta embebida el sistema de bases de datos que se comunican con MS Access (Contienen las tablas asociadas a la informacion:Histórico,clientes,operaciones…), También se comunica con los sistemas externos de la bolsa.

Capa de Datos ¿Que nos encontramos en esta capa?: Data Sources Representan los origenes de datos. Solo son accedidos por la capa Data Access Logic Component. Service Agents Conectores para acceso a una fuente de datos externa. Generalmente son asincrónicos realizan una fuerte conversión de datos. External Services Sistemas externos, en nuestra aplicación un J2SE que se accede de forma sincrónica, para conectar con el mercado bursátil en tiempo real. La conectividad puede estar apoyada por alguna tecnología.(RMI)

Capa de Datos Características técnicas que debe resolver: Acceso y modificación de los datos de la aplicación Mapeo de Objetos a Datos Separación del uso de lenguaje SQL Concurrencia Abstracción de la fuente de datos

Patrones en Capa de Datos Table Data Gateway, Row Data Gateway. Active Record, Data Mapper Unit of Work Identity Map

Table Data Gateway Un objeto que actúa como “gateway” a una tabla de la base de datos Un objeto por tabla Contiene una interface que permite actualizar, buscar, borrar e insertar en la tabla Puede retornar un registro, un grupo de registro, y hasta un objeto del dominio

Row Data Gateway Similar al Table Data Gateway, pero cada objeto representa una fila de la tabla Tiene propiedades que reflejan las columnas de la tabla, y métodos de actualización en la base

Unit of Work Mantiene una lista de los objetos afectados por una transacción y coordina la actualización de los cambios y la resolución de problemas de concurrencia Típica implementación .NET: el DataSet

Capa de Negocio

Capa de Negocios Se construyen desde los conceptos de: Componentes Entidades Agentes Interfaces con otras capas

Patrones en Capa de Negocios Patrones frecuentes: Service Layer Domain Model

Domain Model Es un modelo de los objetos del negocio, con conducta y datos en cada uno. Es el modelo más cercano a la programación en objetos.

Service Layer Define la frontera de una aplicación, con una capa de servicios que otras aplicaciones pueden consumir Expone las operaciones, y coordina su ejecución y respuesta Por debajo, se comunica con el Domain Model.

Modelo de Microsoft Implementar Capa de Negocio usando: Service Interface Business Entities Business Components Business Workflow

Business Entities Son contenedores de datos Encapsulan y ocultan los detalles de representación de datos Puede “encapsular” datos que provengan de un DataTable, y luego enviarlos hacia un destino deseado, vistas, o otra entidad. No tienen en general, lógica de negocios

Business Entities Se usan como Data Transfer Objects entre capas. Se referencian desde la capa de presentación, desde la interfaz de servicio y desde los componentes de negocio.

Business Components Implementación en software de conceptos de negocios Encapsulan las reglas de negocio de la aplicación, relacionadas con un Business Entity. .AplicarComision( accion, cuenta ). .ValidarCompra( cliente, acciones, saldo ). Algunos métodos requieren acceder a la base de datos. Separación de las Business Entities. Nota: Nuestra empresa prescinde de estos componentes ya que por ahora se pueden sustituir por llamadas SQL más complejas.

Business Workflow Implementan las actividades de alto nivel del negocio: proceso de una orden de compra de una acción, por ejemplo. Son métodos que no pertenecen a un objeto en particular Login(). 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 Business Object

Capa de Presentación

Capa de Presentación Para muchas aplicaciones se usa la metáfora del formulario/reporte. Habrá formularios/páginas web de ingreso y modificación. Habrá páginas web de vista de datos, consultas, etc… Son los Componentes de Interfaz. Hay Componentes de Proceso de Interfaz.(Paneles, Textos,Formularios…).

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. Pueden encapsular la Vista y el Controlador. NO PARTICIPAN, INICIAN o ACTIVAN en consultas o transacciones(desde el punto de vista Web).

User Interface Process Components Sólo usar en caso necesario Implementan la orquestación del proceso de interfaz Ejemplo: serie de pantallas a ingresar, lógica de secuencia, estilos CSS… Deberían ser independientes del componente visual y de la interfaz User Interface Process Application Block

Patrones en la Capa de Presentación Patrones Frecuentes Template View Model View Controller Page Controller Front Controller

Template View Produce una presentación HTML de los datos, embebiendo dentro de HTML marcas especiales Las distintas tecnologías de “Server Pages” son implementaciones de este patrón

Model View Controller Separa la interacción con la presentación en tres roles El modelo representa datos del dominio La vista permite mostrarlo en la presentación El controlador reacciona y atiende los gestos del usuario

Page Controller Un objeto que maneja un pedido para una página, y decide qué modelo y vista producir En .NET, la implementación natural es en el proceso del PostBack de una página

Front Controller Es un controlador que maneja todos los pedidos de un sitio web En general, tiene un “handler” que dado el pedido, decide qué operación ejecutar

Patrones entre Capas

Patrones entre capas Deben ayudar a comunicar dos capas separadas, cumpliendo con el rendimiento esperado Patrones Frecuentes Data Transfer Object Remote Facade Service Interface Service Gateway

Data Transfer Object Es un objeto que transporta datos de una capa a otra Su función es reducir la cantidad de llamadas entre capas Usualmente, la representación del DTO debe estar accesible a las dos capas El gran DTO de .NET: el DataSet

Remote Facade Provee una fachada con menor granularidad, para acceder a objetos remotos Es común usarla con DTOs

Service Interface Contexto Problema Diseñando una aplicación distribuída, necesitamos que la funcionalidad esté disponible por la red. Problema Cómo hacemos que la funcionalidad esté disponible, y a la vez desacoplada de la lógica interna de aplicación

Service Interface Fuerzas Es deseable separar la lógica de la aplicación de detalles tecnológicos como comunicación, protocolos…. Se puede necesitar distintas tecnologías de acceso (SOAP, Remoting…) Las aplicaciones clientes pueden tener distintos requerimientos de rendimiento La aplicación puede requerir niveles de seguridad

Service Interface Solución Diseñar la aplicación como un conjunto de service interfaces, con las cuales las aplicaciones clientes conversan

Service Gateway Contexto Problema Una aplicación que consume servicios de otra aplicación en un ambiente distribuido Problema Cómo desacoplar los detalles del contrato de servicio, de la lógica de la aplicación cliente

Service Gateway Fuerzas Puede que necesitemos implementar mecanismos de seguridad y de comunicación para cumplir con el contrato de la aplicación remota Los formatos de datos de transmisión pueden ser distintos de los de la aplicación cliente El contrato con la otra aplicación puede cambiar o determinarse dinámicamente La comunicación puede ser asincrónica

Service Gateway Solución Encapsular el problema de la comunicación y otros detalles, en un componente Service Gateway

Modelo de despliegue.

Modelo de despliegue