72
Ingeniería de Software I 2015 - I FACULTAD DE INGENIERIA DE SISTEMAS, CÓMPUTO Y TELECOMUNICACIONES ARQUITECTURA - CAPA DE PRESENTACION Ing. Nadia Rios Vidal [email protected]

DISEÑO_ARQ_CAPA PRESENTACION.pptx

Embed Size (px)

DESCRIPTION

capa presentacion

Citation preview

Semana_Nro10_SesionNro1y2_DISEO_ARQ_CAPA PRESENTACION

Ingeniera de Software I2015 - I

FACULTAD DE INGENIERIA DE SISTEMAS, CMPUTO Y TELECOMUNICACIONES

ARQUITECTURA - CAPA DE PRESENTACIONIng. Nadia Rios [email protected]

RUPEn la fase inicial, el anlisis y el diseo se centran en establecer si el sistema que se ha concebido es factible, y en evaluar las tecnologas potenciales para la solucin (en la Actividad: realizar una sntesis arquitectnica). Si se percibe que supone algn riesgo para el desarrollo (a causa, por ejemplo, de que el dominio se entiende bien, el sistema no es nuevo, etc.), entonces esta actividad puede omitirse.

La fase de elaboracin se centra en la creacin de una arquitectura inicial para el sistema (Actividad: definir una arquitectura candidata) para proporcionar un punto de inicio para el trabajo de anlisis principal. Si la arquitectura ya existe (porque se ha producido en anteriores iteraciones, en anteriores proyectos o se ha obtenido de una infraestructura de aplicacin, la atencin del trabajo cambia y pasa a ser el perfeccionamiento de la arquitectura (la Actividad: Perfeccionar la arquitectura. Se crea un conjunto inicial de elementos que proporcionan el comportamiento adecuado (la Actividad: analizar el comportamiento). Una vez que se han identificado los elementos inciales, se perfeccionan an ms. La Actividad: disear componentesproduce un conjunto de componentes que proporcionan el comportamiento adecuado para satisfacer los requisitos del sistema. Si el sistema incluye una base de datos, la Actividad: disear la base de datos se da en paralelo. El resultado es un conjunto inicial de componentes que se perfeccionan todava ms en el Patrn de posibilidad: implementacin ANALISIS Y DISEOEs un patrn de arquitectura de software utilizada para implementarsistemas donde se requiere el uso de interfaces de usuario. Surge de la necesidad de crear software ms robusto con un ciclo de vida ms adecuado, donde se potencie la facilidad de mantenimiento, reutilizacin del cdigo y la separacin de conceptos.Modelo Vista - Controlador

El estilo fue descrito por primera vez en 1979 por Trygve Reenskaug, entonces trabajando en Smalltalk en laboratorios de investigacin de Xerox.

La implementacin original est descrita en el documento Programacin de Aplicaciones en Smalltalk-80: Como utilizar Modelo Vista Controlador.Quin lo propuso?

El patrn de diseo sugiere que dividamos nuestra aplicacin en 3 capas:

Modelo: Es el que contiene la lgica de negocios de nuestra aplicacin y el que toma decisiones sobre el estado de los objetos dentro del sistema. Sabe cmo hay que ejecutar un cambio en la aplicacin, aunque nunca le muestra nada al usuario.

Vista: Es la encargada de mostrar informacin al usuario y recibir su interaccin.

Controlador: Es el que recibe el aviso de la interaccin del usuario y decide qu es lo que hay que hacer. No se encarga de hacerlo, dado que para eso invoca al Modelo.Estructura del MVCVista: Es el archivo XHTML junto al CSS que define la estructura de los elementos que el usuario ve junto con un identificador (id) a cada elemento con el que se quiere interactuar. El XHTML no contendr cdigo JavaScript alguno, ni siquiera la definicin de un onclick.MVC en la Web (Vista):

Controlador: Es un archivo JavaScript que controla la Vista mencionada antes, por lo general con el mismo nombre que el archivo XHTML, que al cargarse inicializar todo el comportamiento inicial de la aplicacin y se encargar de administrar la interaccin entre la vista y el modelo.MVC en la Web (Controlador)

Modelo: Son distintos archivos JavaScript invocados desde el controlador. Son lo que mantienen la lgica del negocio, los que se comunican con el servidor cuando sea necesario y los que le avisan al controlador de los cambios en el estado.MVC en la Web (Modelo)

Estructura MVC en la WebEn la ingeniera software se denomina aplicacin web a aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a travs de Internet o de una intranet mediante un navegador.

En otras palabras, es una aplicacin software que se codifica en un lenguaje soportado por los navegadores web (HTML, JavaScript, Java, etc.) en la que se confa la ejecucin al navegador.Una ventaja significativa es que deberan funcionar igual independientemente de la versin del sistema operativo instalado en el cliente.Aplicaciones Web - Patrn MVC - PostgreSQL11Primera Capa (Navegador Web)

Segunda Capa (Lenguaje Web) Servlets, JSP, PHP, ASP

Tercera Capa (Base de Datos)

Estructura de una Aplicacin WebAplicaciones Web - Patrn MVC - PostgreSQLDesarrollo de aplicaciones en n- capas Estructura n capas.Es una de las tendencias ms usadas en estos das.Ayuda a la divisin de tareas y provee una mayor seguridad entre las diferentes capas. Lo ms comn es dividir el proyecto en una estructura de tres capas.Lo que se busca con una estructura de n capas es proporcionar escalabilidad.Cada capa debera funcionar como una caja negra ante las dems capas.ARQUITECTURA VISUAL STUDIO .NETMicrosoftHistoriaAl principio Microsoft ofreca una tecnologa de mezcla de tecnologas. Ya que contaba con un servidor de Internet Information Server, un servidor de SQLServer, un servidor transaccional MTS y MSMQ y las pginas ASP.

La comunicacin se realizaba por medio de una interfaz binaria (Interfaz COM). Y el desarrollador poda elegir entre diversos lenguajes, Visual Basic, Visual C++. DefinicinLa plataforma .NET es una implementacin de Microsoft basada en estndares abiertos como CLI (Command Line Interface), SOAP (Simple Object Access Protocol) y WSDL (Web Services Definition Language) que permite al programador disponer de un entorno nico para trabajar en mltiples lenguajes.

Arquitectura Visual Studio .Net

Capas de componentes de servicios y aplicaciones distribuidas creadas con .NEThttp://www.microsoft.com/

Arquitectura ASP.NETASP .NET es una de las piezas esenciales de Microsoft .NET Framework y proporciona la infraestructura para aplicaciones .NET Web dinmicasEs una plataforma unificada de desarrollo Web que proporciona a los desarrolladores los servicios necesarios para generar aplicaciones Web de empresa.Arquitectura ASP.NET

MSDN, Microsoft Corporation

Arquitectura ASP.NET

Introduccin a ASP.NET de Microsoft

VentajasPosee una arquitectura de Dominio de Aplicacin Seguridad de acceso al cdigo, Se puede especificar diferentes niveles de acceso al cdigo de lectura de archivos. Para evitar que las aplicaciones Web daen el S.O.Tiene un conjunto de herramientas completo y un IDE comn para diseo. La programacin en ASP resulta bastante ms fcil de aprender.El entorno .NET est especialmente orientado a la creacin de servicios Web.

Desventajas

El crear y destruir un proceso de Dominio de Aplicacin consume mucho tiempo en su desarrollo. Adems de su complejidad. En aplicaciones Web, existe una falta de soporte en todos los navegadores. Se hace difcil que los ambientes distribuidos estn en otras plataformas. Se necesita tener instalado el Framework.La tecnologa de .Net no ofrece un estndar a la hora de desarrollar componentes de acceso a datos.

Arquitectura J2EE Sun. MicrosystemsHistoria1995 Se libera formalmente el lenguaje de java.Lo que se buscaba era simplicidad, Orientacin a objetos y seguridad. La propuesta de SUN siempre ha estado dividida en dos grandes grupos, una tecnologa de servlets y pginas JSP y la otra en una arquitectura de J2EE J2EE (Java 2 Platform Enterprise Edition) es, segn Sun Microsystems, un conjunto de especificaciones que permiten el desarrollo de aplicaciones basadas en la tecnologa Java.Arquitectura J2EE

Introduccin a la arquitectura J2EE con ejemplos prcticos Por qu utilizar EJB?Implantacin de Lgica de Negocios Distribuida.Separacin de la base de datos.Manejo de concurrencia.Eficiencia y consistencia en el manejo de gran cantidad de datos.Cuando no utilizar EJBAplicaciones de pocas transacciones, ms de consultas.Objetivo principal del sistema es consultas eficientes.Poca cantidad de datos.

Arquitectura J2EEArquitectura de aplicaciones JSPUna pgina JSP es un tipo especial de pgina HTML que contiene unos pequeos programas (tambin llamados scripts) que son ejecutados antes de ser enviados al usuario para su visualizacin en forma de pgina HTML.

Existen dos implementaciones de estas arquitecturas basadas en el patrn de MVC (Modelo, Vista, Controlador), que son los Struts y los (JSP) Java Server Faces.StrutsEsta es una tecnologa Open Source desarrollada por apache. Una de las caractersticas principales es que permite reducir el tiempo de desarrollo.Struts

http://struts.apache.org/2.x/docs/big-picture.htmlJava Server FacesLos java Server Faces, son una arquitectura del lado del servidor basada en xml. Es la arquitectura oficial de SUN, es un modelo de trabajo basado en componentes UI (user interface), definidos por medio de etiquetas y XML. La programacin del interfaz se hacer a travs de componentes y basada en eventos.Java Server Faces

Introduccin a la Tecnologa Java Server Faces Ventajas Desde un comienzo Java se fundament en un estricto modelo de seguridad.Java pueden correr en una amplia gama de sistemas operativos. J2EE es ahora el producto de la colaboracin de ms de 400 empresas.

Desventajas Complejidad a la hora de disear interfaces de usuario. Programar en JSP resulta ms complicado y difcil de aprender J2EE slo trabaja con un solo lenguaje.Herramientas mas complicadas de usar.Mas complicado construir servicios Web.

34Comparaciones.NETJ2EELenguajes WebASPJSPCapa de ControlCOM/COM+EJB (Enterprise JavaBeans)Capa intermediaASP .NETServletsLenguajes Ap.Visual Basic .NET y C#JavaWeb ServicesSiSiMultiplataformaSiSi35ConclusionesEs difcil y absurdo tratar de comparar del todo la tecnologa de .Net con la J2EE.Los estndares actuales permiten, por medio de los Web Services, interrelacionar diferentes arquitecturas. Es importante escoger la tecnologa y la arquitectura dependiendo de lo que se desee hacer y para quien sea.Con J2EE existe una variedad de implementaciones, mientras que con .Net existe una nica implementacin.El valor precio no es un buen indicador de cual es mejor, ya que aunque el JDK sea libre, las herramientas no lo son. Son muchos los que desean la cada de Microsoft, y no es extrao que surjan alianzas en su contra.http://cibernetica.wordpress.com/ConclusionesAl implementar una arquitectura por capas, se asegura un trabajo de forma ordenada y separada, debido a que sigue el principio de divide y vencers.La programacin en capas ha sido una de las ltimas tendencias en cuanto a software comercial se refiere, es una tendencia que bien aplicada puede resultar en un desarrollo de software eficiente.

DISEO 3 CAPASLos servicios de presentacin proporcionan la interfaz del usuario (browser) necesaria para presentar informacin y reunir datos.

Tambin aseguran los servicios de negocios necesarios para ofrecer las capacidades de transacciones requeridas e integrar al usuario con la aplicacin para ejecutar un proceso de negocios.

1. Capa de presentacinMediante el uso de componentes, se separa la programacin que da acceso a los datos en las bases de datos y aplicaciones desde el diseo y otros contenidos.

Esto ayuda a asegurar que los desarrolladores estn libres para enfocarse en escribir su lgica de negocios en componentes sin preocuparse acerca de cmo se muestra la salida. 1. Capa de presentacinLa capa de servicios de presentacin es responsable de:

Obtener informacin del usuario

Enviar la informacin del usuario a los servicios de negocios para su procesamiento.

Recibir los resultados del procesamiento de los servicios de negocios.

Presentar estos resultados al usuario.

1. Capa de presentacinEs donde residen los programas que se ejecutan, recibiendo las peticiones del usuario y enviando las respuestas tras el proceso.

Se denomina capa de negocio (e incluso de lgica del negocio) pues es aqu donde se establecen todas las reglas que deben cumplirse. 2. Capa de negocioEsta capa se comunica con la capa de presentacin, 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.

Los servicios de negocios son el puente entre un usuario y los servicios de datos.

2. Capa de negocioCuando los datos necesarios residen en un servidor de bases de datos, garantizan los servicios de datos indispensables para cumplir con la tarea de negocios o aplicar su regla.

Una tarea de negocios es una operacin definida por los requerimientos de la aplicacin, como introducir una orden de compra o imprimir una lista de clientes.

2. Capa de negocioLa capa de servicios de negocios es responsable de:

Recibir la entrada del nivel de presentacin.

Interactuar con los servicios de datos para ejecutar las operaciones de negocios para los que la aplicacin fue diseada a automatizar (por ejemplo, la preparacin de impuestos por ingresos, el procesamiento de ordenes y as sucesivamente).

Enviar el resultado procesado al nivel de presentacin.

2. Capa de negocioEs donde residen los datos. Est formada por uno o ms gestores de bases de datos que realiza todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperacin de informacin desde la capa de negocio.

3. Capa de datosTodas estas capas pueden residir en un nico ordenador (no sera lo normal), si bien lo ms usual es que haya una multitud de ordenadores donde reside la capa de presentacin (son los clientes de la arquitectura cliente/servidor).

Si el tamao o complejidad de la base de datos aumenta, se puede separar en varios ordenadores los cuales recibirn las peticiones del ordenador en que resida la capa de negocio.Diseo 3 capasEn una arquitectura de tres niveles, los trminos "capas" y "niveles" no significan lo mismo ni son similares.

El trmino "capa" hace referencia a la forma como una solucin es segmentada desde el punto de vista lgico:Presentacin/ Lgica de Negocio/ Datos.Capas y NivelesEn cambio, el trmino "nivel", corresponde a la forma en que las capas lgicas se encuentran distribuidas de forma fsica. Por ejemplo:Una solucin de tres capas (presentacin, lgica, datos) que residen en un solo ordenador (Presentacin+lgica+datos). Se dice, que la arquitectura de la solucin es de tres capas y un nivel.

Capas y Niveles

MVC: MODELO VIEW CONTROLLER

MVC: MODELO VIEW CONTROLLERTRAZABILIDAD CON UML

AnlisisDiseoJSP y las Construcciones de Aplicaciones Web con UML JSP (Java Server Page)Es un componente que permite construir fcilmente aplicaciones con contenido web como HTML, DHTML, XHTML y XML, en forma dinmica, con gran flexibilidad.Se basa en los siguientes conceptos:Plantillas o templates.- Aqu se encuentran los fragmentos HTML o texto.Contenido dinmico.- Permite incrustar instrucciones de programacin en ste.Encapsulacin de funcionalidad.- Mediante componentes JavaBeans y TagLibs JSP (Java Server Page)WAE: Web Application Extension Pgina servidor Representa una pgina Web dinmica que tiene un contenido que se ensambla en el servidor cada vez que este es requerido.Tpicamente una pgina servidor contiene scripts que son ejecutados por los recursos del lado del servidor: Base de datos, componentes de la lgica de negocio, sistemas externos y otros.

Pgina Servidor

Pgina ClienteFormulario HTMLEs una coleccin de campos de entrada que son parte de una pgina cliente.Sus atributos representan los campos de entrada: input boxes, text areas, radio buttons, check boxes y hidden fields.

Formulario HTMLArquitectura bsica de las aplicaciones web

Estereotipos de AsociacionesLink: Relacin entre la pgina cliente y un recurso del lado del servidor.Build: Relacin entre la pgina servidor y una pgina cliente. Identifica la salida del HTML durante la ejecucin de una pgina servidor.Submit: Relacin entre el formulario y una pgina servidor.Redirect: Relacin entre una pgina cliente o servidor y otra pgina.Forward: Relacin entre una pgina servidor y otra pgina servidor.Include: Entre una pgina servidor y otra pgina servidor. Durante la ejecucin de la pgina esta asociacin indica que la pgina incluida es procesada.Object: Relacin dibujada entre la pgina cliente y otra clase (esta puede ser un applet, activex o cualquier componente). Estereotipos de Asociaciones

EjemploLa Arquitectura de AnlisisCmo sale?

Relaciones de includes

Modelo de Diseo

Capa de PresentacinCriterio?

Solo aquellos que tienen Frontera

Configurar Rational RoseCapa de Presentacin

No siempre, se da

Capa de Presentacin: PracticanteIngeniera de Software I2015 - I

FACULTAD DE INGENIERIA DE SISTEMAS, CMPUTO Y TELECOMUNICACIONES

ARQUITECTURA - CAPA DE PRESENTACIONIng. Nadia Rios [email protected]