Você está na página 1de 72

FACULTAD DE INGENIERIA DE SISTEMAS, CMPUTO Y TELECOMUNICACIONES

Ingeniera de Software I
2015 - I
ARQUITECTURA - CAPA DE
PRESENTACION
Ing. Nadia Rios Vidal
nadia.rios@uigv.edu.pe

RUP

ANALISIS Y DISEO
En 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 componentes produce 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

elo Vista - Controlador


Es un patrn de arquitectura de
software
utilizada
para
implementar sistemas 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.

Quin lo propuso?

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.

Estructura del MVC


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.

MVC en la Web (Vista):


Vista: 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 (Controlador)


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 (Modelo)

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.

Estructura MVC en la Web

Aplicaciones Web - Patrn MVC - PostgreSQL

En 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 - PostgreSQL


Estructura de una Aplicacin Web

Primera Capa (Navegador


Web)

Segunda Capa (Lenguaje


Web)
Servlets, JSP, PHP, ASP

Tercera Capa (Base de


Datos)

Desarrollo 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 .NET

Microsoft

Historia

Al 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++.

Definicin

La 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 .NET


http://www.microsoft.com/

Arquitectura ASP.NET

ASP .NET es una de las piezas esenciales de


Microsoft .NET Framework y proporciona la
infraestructura para aplicaciones .NET Web
dinmicas
Es 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

Ventajas

Posee 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. Microsystems

Historia

1995 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

Arquitectura J2EE

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 EJB
Aplicaciones de pocas transacciones, ms de consultas.
Objetivo principal del sistema es consultas eficientes.
Poca cantidad de datos.

Arquitectura de aplicaciones JSP

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

Struts

Esta 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.html

Java Server Faces

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

Comparaciones

.NET

J2EE

Lenguajes Web

ASP

JSP

Capa de Control

COM/COM+

EJB (Enterprise
JavaBeans)

Capa intermedia

ASP .NET

Servlets

Lenguajes Ap.

Visual Basic .NET y C#

Java

Web Services

Si

Si

Multiplataforma

Si

Si

Conclusiones
Es 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/

Conclusiones

Al 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 CAPAS

1. Capa de presentacin

Los 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 presentacin

Mediante 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 presentacin

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

2. Capa de negocio

Es 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 negocio

Esta 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 negocio

Cuando 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 negocio

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

3. Capa de datos

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

Diseo 3 capas

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

Capas y Niveles

En 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 Niveles

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

MVC: MODELO VIEW CONTROLLER

MVC: MODELO VIEW CONTROLLER

TRAZABILIDAD CON UML

Diseo

Anlisis

JSP
<<Build>>

Boundary

JSP_Client
(from JSP)

Form
(from JSP_Client)

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

JSP (Java Server Page)

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

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

Normal

<<Server Page>>

Label

Decoration

Pgina Cliente

Icono normal

<<Client Page>>

Label

Decoration

Formulario HTML
Es 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 HTML

Normal
<<HTML Form>>

Label
Decoration

Arquitectura bsica de las aplicaciones web

<<Build>>

Pagina_Client

Pagina

(from Pagina)
<<Submit>>

Form
(from Pagina_Client)

Estereotipos de Asociaciones

Link: 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.

Estereotipos de Asociaciones

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

<<Include>>

Cabecera

<<Build>>

<<Link>>

Pagina_Client

Pagina
<<Submit>>

(from Pagina)

Form
(from Pagina_Client)

Pagina2

Ejemplo

La Arquitectura de Anlisis

ARQUITECTURA DEL ANLISIS


Informes

Cmo sale?

Asistencia

Capa Especfica

-----------------------------------------------------------------------------------------------------------------------

Practicantes

Pagos

Capa General

Relaciones
de
includes

Modelo de Diseo

Capa de Presentacin

SUBSISTEMA Y LIBRERIAS DE LA CAPA DE PRESENTACION


<<subsystem>>
Asistencia

<<subsystem>>
Informe

<<subsystem>>
Practicantes

Solo
aquellos que
tienen
Frontera

Utilitario GUI
JS

CSS

Criterio?

JSP General

Configurar Rational Rose

Capa de Presentacin
RegistrarPracticante

F.RegistrarPracticante

RegPrac01_Client
(f rom RegPrac01)

No siempre, se da
Form
(f rom RegPrac01_Client)

<<HTML Input>> nombre : text

Capa de Presentacin: Practicante

<<Build>>

RegPrac01

RegPrac01_Client
(f rom RegPrac01)

Form
(f rom RegPrac01_Client)

<<HTML Input>> nombre : text

FACULTAD DE INGENIERIA DE SISTEMAS, CMPUTO Y TELECOMUNICACIONES

Ingeniera de Software I
2015 - I
ARQUITECTURA - CAPA DE
PRESENTACION

Ing. Nadia Rios Vidal


nadia.rios@uigv.edu.pe

Você também pode gostar