Capítulo II. Arquitectura del Software



Documentos relacionados
Capítulo 2. Marco Teórico

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV

Análisis y diseño del sistema CAPÍTULO 3

Capitulo VI. Conclusiones.

Capítulo III. Análisis y diseño.

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

Unidad II. - Las técnicas en las que se basó, las categorías de análisis o ejes centrales que permiten guiar el proceso de investigación.

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Unidad V: Programación del lado del servidor

Capitulo III. Diseño del Sistema.

Capitulo 5. Implementación del sistema MDM

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

Capítulo I. Marco Teórico

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR

Capítulo 5. Desarrollo del Software

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Diseño y desarrollo de el Generador de Tiendas virtuales usando Líneas de Diseño de productos

PLATAFORMA WEB DE SERVICIO MÚLTIPLE (E) SÍLABO

Curso de Spring Framework

DE VIDA PARA EL DESARROLLO DE SISTEMAS

JAVA EE 5. Arquitectura, conceptos y ejemplos.

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA

G R U P O S INDICE Cómo crear una cuenta en ARQA? Cómo tener un grupo en ARQA? Secciones y funcionalidades de los grupos Configuración del grupo

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

Elección de tecnología para la capa de presentación de SOA. Huibert Aalbers Senior Certified Software IT Architect

Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD

2.3. Lenguajes de programación del lado Servidor. ASP.NET (Active Server Pages).

CAPITULO 3 MOVILIDAD EN LA NAVEGACIÓN Y ALMACENAMIENTO EN BASES DE DATOS

Gestión de Incidencias

Capítulo 3. Análisis y Diseño

CAPITULO IV CONCLUSIONES Y RECOMENDACIONES


UNIVERSIDAD DE CIENCIAS EMPRESARIALES Y SOCIALES FACULTAD DE CIENCIAS EMPRESARIALES

Capítulo 5. Cliente-Servidor.

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

CAPÍTULO 3 Servidor de Modelo de Usuario

Capítulo 7. Implementación del Sistema

En los últimos años, se ha presentado una enorme demanda por servicios portátiles,

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

CONCLUISIONES Y RECOMENDACIONES

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto

(PHP y APACHE), y el programa de comunicación Skype, para controlar de manera

GUÍA TÉCNICA. Desarrollo de Sistemas de Información la plataforma Business Intellingence Pentaho

Curso de HTML5 y CSS3

Gestión de Procesos de Compra. Documentación Técnico Comercial

Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado

Plataforma Educativa Manual del Docente Nivel II Módulo 3 Wiki

Curso Excel Básico - Intermedio

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

Capítulo 4: Requerimientos.

Herramienta de Gestión Integral de E-Business

SISTEMAS DE INFORMACIÓN II TEORÍA

Curso de HTML5 y CSS3

Qué es.net? Por César Villarreal, Global Project Manager

UNIVERSIDAD DE SALAMANCA

Workflows? Sí, cuántos quiere?

Figure 7-1: Phase A: Architecture Vision

Documento Técnico Gerardo Barcia Jonathan Trujillo María Alejandra Uribe

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

CAPÍTULO 3 VISUAL BASIC

BOLETÍN DE NOVEDADES Barcelona, enero de 2007

Capitulo I. Introducción

LENGUAJES DE PROGRAMACIÓN WEB (PHP1, HTML52)

BackflipSD Modelo de Diseño

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Instalación de Crystal Reports

Capítulo 6. Desarrollo del Software

ARQUITECTUA DE M2M MIGUEL ÁLVAREZ Y CLARA HERRERO. Documento inicial

Curso PHP Módulo 1 R-Luis

CAPÍTULO 3. HERRAMIENTA DE SOFTWARE DE PLANEACIÓN DE

Manual del Usuario. Sistema de Help Desk

Medias Móviles: Señales para invertir en la Bolsa

Curso de Android con Java

TFC J2EE. Aplicación Web para la gestión de facturación de una empresa de cerrajería. Sara Gutiérrez Melero ITIG Junio de 2012

Curso de PHP con MySQL Gratis

- MANUAL TÉCNICO - Implantación de software de Marketing Online

PLATAFORMA VIRTUAL PARA LA PUBLICACIÓN N DE EVENTOS. Ing. Alberto Nogueira Keeling MSc. Elizabeth Au Capo Citmatel 2003

Presentación de servicios

INBOUND MARKETING. Conozca. Sitios rápidos, poderosos, flexibles y económicos.

CONSTRUCCIÓN DEL PROCESO TRANSACCIONAL Bizagi Process Modeler

Curso de Java EE Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1

Especificación de Requerimientos Funcionales y No Funcionales. Sistema Reservación Hotelera

PLATAFORMA VIRTUAL BASADA EN MOODLE

ANOTACIONES PARA LA PRESENTACIÓN

- MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD. Rev. 01- FEBRERO 2013

Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp...

Gestor de Contenidos CMS. Prof: Ing. Henrry Servitá

Curso de Android con Java

ENTORNO DE DESARROLLO MICROSOFT.NET 2010

2. MANUAL ALTA DE SERVICIO

Capítulo 5. Análisis del software del simulador del sistema de seguridad

Preguntas que se hacen con frecuencia sobre los estudios clínicos

Transcripción:

Capítulo II. Arquitectura del Software Después de un cuidadoso análisis de los objetivos del proyecto, se determinó que la mejor manera de estructurar el sistema era haciendo uso del muy famoso patrón de diseño 2 : Model-View-Controller. A continuación se explicará más detalladamente en qué consiste esta arquitectura. 2.1 Model-View-Controller MVC (por sus siglas en inglés) es un patrón de diseño de arquitectura de software usado principalmente en aplicaciones que manejan gran cantidad de datos y transacciones complejas donde se requiere una mejor separación de conceptos para que el desarrollo esté estructurado de una mejor manera, facilitando la programación en diferentes capas de manera paralela e independiente. MVC sugiere la separación del software en 3 estratos: Modelo, Vista y Controlador, los cuales serán explicados en breve: Modelo: Es la representación de la información que maneja la aplicación. El modelo en sí son los datos puros que puestos en contexto del sistema proveen de información al usuario o a la aplicación misma. Vista: Es la representación del modelo en forma gráfica disponible para la interacción con el usuario. En el caso de una aplicación Web, la Vista es una página HTML con contenido dinámico sobre el cuál el usuario puede realizar operaciones. 2 Un patrón de diseño es una solución probada para un problema en un contexto P.11

Controlador: Es la capa encargada de manejar y responder las solicitudes del usuario, procesando la información necesaria y modificando el Modelo en caso de ser necesario. 2.2 Ciclo de vida de MVC El ciclo de vida de MVC es normalmente representado por las 3 capas presentadas anteriormente y el cliente (también conocido como usuario). El siguiente diagrama representa el ciclo de vida de manera sencilla: Diagrama 1 Ciclo de vida MVC El primer paso en el ciclo de vida empieza cuando el usuario hace una solicitud al controlador con información sobre lo que el usuario desea realizar. Entonces el Controlador decide a quién debe delegar la tarea y es aquí donde el Modelo empieza su trabajo. En esta etapa, el Modelo se encarga de realizar operaciones sobre la información que maneja para cumplir con lo que le solicita el Controlador. Una vez que termina su labor, le regresa al Controlador la información resultante de sus operaciones, el cuál a su vez redirige a la P.12

Vista. La Vista se encarga de transformar los datos en información visualmente entendible para el usuario. Finalmente, la representación gráfica es transmitida de regreso al Controlador y éste se encarga de transmitírsela al usuario. El ciclo entero puede empezar nuevamente si el usuario así lo requiere. 2.3 Ventajas y Desventajas de MVC Las principales ventajas de hacer uso del patrón MVC son: La separación del Modelo de la Vista, es decir, separar los datos de la representación visual de los mismos. Es mucho más sencillo agregar múltiples representaciones de los mismos datos o información. Facilita agregar nuevos tipos de datos según sea requerido por la aplicación ya que son independientes del funcionamiento de las otras capas. Crea independencia de funcionamiento. Facilita el mantenimiento en caso de errores. Ofrece maneras más sencillas para probar el correcto funcionamiento del sistema. Permite el escalamiento de la aplicación en caso de ser requerido. Las desventajas de seguir el planteamiento de MVC son: La separación de conceptos en capas agrega complejidad al sistema. La cantidad de archivos a mantener y desarrollar se incrementa considerablemente. La curva de aprendizaje del patrón de diseño es más alta que usando otros modelos más sencillos. Cabe mencionar que la comparación de ventajas y desventajas de MVC puede ser un tema muy subjetivo y se puede prestar como tema de debate, sin embargo se tomó la P.13

decisión usando principalmente los puntos mencionados anteriormente ya que en términos generales la balanza se inclina a favor del MVC en vez de en su contra. 2.4 MVC en uso Actualmente existen muchos frameworks 3 disponibles para el desarrollo de aplicaciones MVC; sin embargo su uso requiere de una comprensión completa de su funcionamiento haciéndolas merecedoras de temas de tesis completas. En este caso se deseaba obtener resultados rápidos sin involucrar más complejidad que la que el tema propio requiere, así que se decidió seguir el esquema que plantea MVC sin hacer uso de frameworks externos. Como anteriormente fue mencionado, el Sistema Asistente para la Generación de Horarios de Cursos es una aplicación Web y la plataforma de desarrollo elegida fue Java (de Sun Microsystems) ya que es un lenguaje de programación sumamente maduro y robusto, no solo para aplicaciones de escritorio, sino para aplicaciones que corren sobre Internet usando estándares mundiales. Para desarrollar aplicaciones Java para Internet es necesario hacer uso de la tecnología Java Server Pages, las cuales permiten incrustar código que generen páginas con contenido dinámico cuando cualquier cliente Web solicite información del servidor. Los JSPs pueden ser entendidos como una abstracción de alto nivel de un Servlet ya que para poder ser entendidas por el servidor Web es necesario que sean compiladas en forma 3 Un framework es términos de Software es un diseño re-usable de un sistema para facilitar la resolución de problemas complejos que presentan comúnmente proyectos o aplicaciones de Software. Algunos ejemplos de Frameworks para Java son: Spring, Struts, Tapestry y WebWork (entre otros) P.14

de un Servlet 4 y posteriormente sean interpretadas por un compilador de Java 5. (Wikipedia, 2007) Con el propósito de seguir el patrón MVC se determinó usar la tecnología Java Servlets para cumplir las funciones del Controlador y la tecnología JSP para las funciones de la capa de la Presentación. Para satisfacer las necesidades del Modelo se hará uso de una plataforma llamada Hibernate, la cual será explicada con más detenimiento en el siguiente capítulo. 4 Un Servlet es, en términos generales, un objeto de Java que recibe las peticiones de un cliente Web y responde en base a sus solicitudes. 5 Los archivos JSP también pueden ser compilados directamente en byte code (dejando de lado la necesidad de una segunda compilación de Servlet a byte code) o pueden ser compiladas al vuelo si así se configura el servidor. P.15