Capítulo I. Marco Teórico



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

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

Capítulo 5. Cliente-Servidor.

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

Capitulo VI. Conclusiones.

1 EL SISTEMA R/3 DE SAP AG

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

Qué es una página web?, qué conoces al respecto?, sabes crear una página

CONCLUISIONES Y RECOMENDACIONES

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

UNIVERSIDAD DE SALAMANCA

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

DESARROLLO DE CONTENIDOS A MEDIDA E-DUCATIVA

Novedades. Introducción. Potencia

Capitulo III. Diseño del Sistema.

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

Capitulo 5. Implementación del sistema MDM

Durante la determinación del problema dentro de los procesos de mercadeo de R & S Training se pudo notar notables deficiencias en las relaciones con

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

Qué necesito saber para tener mi sitio web en Internet?

arquitectura que maneja. Encontraremos también los diferentes servidores que

INFORMÁTICA IE. Términos a conocer y conceptos básicos. World Wide Web (WWW):

SOFTWARE GENERADOR DE PORTALES. Portales de empresa personalizables en contenido y plantillas de diseño

App para realizar consultas al Sistema de Información Estadística de Castilla y León

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

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

Capítulo II. Arquitectura del Software

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Gracias a ese IP único que tiene cada ordenador conectado a la red de internet se pueden identificar y comunicar los ordenadores.

OLIMPO Servidor Universal

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

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

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

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

SERVICIO NACIONAL DE APRENDIZAJE SENA SISTEMA INTEGRADO DE GESTIÓN Procedimiento Ejecución de la Formación Profesional Integral GUÍA DE APRENDIZAJE

CREACIÓN Y CONFIGURACIÓN DE WIKIS

ing Solution La forma más efectiva de llegar a sus clientes.

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Desarrolladores: Christian David Merino Cruz. Bryan Alexis Peraza Navas. Erik Alberto Renderos Morales.

5.2. PROYECTO RODA. (6/07/04).

CAPÍTULO 1 Instrumentación Virtual

Capitulo 3. Desarrollo del Software

Software generador de documentos a través de la Web

INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD. Estructura de contenidos: cisvirtual@ucv.edu.pe. 1.

Comunicación interna: Intranets

System Center. la plataforma para una gestión ágil de los entornos de TI IDG COMMUNICATIONS, S.A.

Introducción a las redes de computadores

FASCÍCULO. Decidir con inteligencia. Este es el momento.

Implementación de SAP R/3 en empresa comercial

Visión General de GXportal. Última actualización: 2009

Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts

.TEL Un uso innovador del DNS

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Ventajas del software del SIGOB para las instituciones

COMO FUNCIONA INTERNET

Manual de Usuario Sitio Dinámico e-ducativa Versión

retos LA ACTUALIDAD LA SOLUCIÓN

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

Web. Web Diapositiva 1

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

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

Presentación de servicios

Práctica 6 - Página Web

TeCS. Sistema de ayuda a la gestión del desarrollo de producto cerámico

Windows Server Windows Server 2003

SISTEMAS DE INFORMACIÓN II TEORÍA

RESUMEN CUADRO DE MANDO

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

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.

Guía de Apoyo Project Professional

Integración de Magento & Dynamics NAV

En el siguiente apartado se detallan ciertos conceptos que ayudan a comprender en mayor medida el Proyecto.

Cuál sería la distancia aproximada entre las gateways de cada instalación y los contadores Agua/Gas)?.

Virtual-C: Una Herramienta para Administración de Contenidos en Sitios Web

PROYECTOS DE INVESTIGACIÓN EN LAS AULAS DE CLASE, DE ESTUDIANTES PARA ESTUDIANTES - AQUÍ ESTOY! Y USADIR

Alfresco permite su integración y personalización en sistemas de gestión documental para implementar funcionalidades específicas

Sistemas de seguridad en redes inalámbricas: WEP, WAP y WAP2

Solución GeoSAS. Otros módulos

Interoperabilidad de Fieldbus

Diseño Web. Soluciones Intranet. Sistemas a medida. Consultoría en Redes. Hardware

1 El trabajo expuesto está subvencionado por el proyecto de la URJC PGRAL-2001/14

Brindamos asesorías que involucran tecnología y personal calificado, estos hacen de DOCTUM su mejor aliado.

BearSoft. SitodeCloud. Rafael Rios Bascón Web: Móvil:

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII

Anexo 4 Documento de Arquitectura

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

CAPÍTULO 4 ANÁLISIS DE IMPLEMENTACIONES

Pentaho BI. Lic. Patricia Palacios Zuleta

POTENCIANDO NEGOCIOS EN TIEMPO REAL. Especificaciones Técnicas

Servicio Webmail. La fibra no tiene competencia

CAPÍTULO 3 Servidor de Modelo de Usuario

Infraestructura Tecnológica. Sesión 5: Arquitectura cliente-servidor

Al ser autoadministrable no tienes limitaciones de contenido ni artículos, dado que usted puede agregar y quitar información cuando lo desee.

Ingeniería de Software. Pruebas

I. OBJETIVOS INTRODUCCIÓN. Oscar Daniel Camuendo Vásquez

Capítulo 6. Desarrollo del Software

Responsive Web Design Diseño Web Adaptable

Transcripción:

1 Capítulo I. Marco Teórico 1. Justificación Hoy en día existe una gran diversidad de aplicaciones que corren sobre la World Wide Web (WWW o Web), y cada una orientada a un fin en particular, el cuál depende de la organización que se esté tratando. La flexibilidad de estas aplicaciones, es decir la facilidad con la que se pueda responder a cambios organizacionales o del entorno, es crítica y diferencia a las aplicaciones exitosas de las temporales y rígidas. Estos cambios son inevitables dado que las aplicaciones responden a fenómenos humanos, de por sí volubles en comportamiento. La frase lo único constante es el cambio ilustra lo dicho. Un proyecto de desarrollo de una aplicación web debe tener en mente muchas más consideraciones que una aplicación común. Además de realizarlo de manera correcta y oportuna, debe tener grandes niveles de flexibilidad y de mantenimiento. Además los plazos de entrega, modificación y puesta en marcha son muy cortos en aplicaciones de este tipo. Es normal emprender proyectos de reducido número de meses y además que se presenten cambios funcionales o de usabilidad que deben ser implementados en un reducido número de semanas. El presente trabajo intenta implementar, a manera de validación, la propuesta del Mgtr. Guillermo Roberts Chaves en su trabajo de tesis titulado Propuesta de una forma de trabajo para la creación de aplicaciones web. Dicho trabajo de tesis expone el marco teórico por la cual uno puede crear un aplicación web que cumpla con las características de un software de calidad pero aplicado a la World Wide Web. Este marco teórico tiene como producto final al Modelo de 5 capas ó MD5C que detallaremos en el presente trabajo. 2. Problemática El web se ha convertido poco a poco, de ser una curiosidad a ser una necesidad para las empresas. Estas ven en el web una ventaja, ya sea únicamente como medio informativo y de promoción, o como un frente comercial más. Actualmente existe gran diversidad de aplicaciones en los dominios de la WWW, utilizados para distintos fines, las cuales dependen de los objetivos que tengan la organización o empresa que las utiliza. Esta gran variedad de aplicaciones se podrían agrupar en dos: la primera es la conectividad interna la

2 que hace referencia al flujo de información dentro de la misma empresa y la segunda la conectividad externa en el cuál el flujo de información es entre distintas empresas. En cualquiera de estas agrupaciones la aplicación que se desarrolle debe contar con la información crítica de la empresa, en forma oportuna, actualizada en todo momento y que además tenga el mismo ritmo del giro del negocio en el cual se desempeña porque es una significativa ventaja competitiva, por ejemplo: en las negociaciones con proveedores o clientes, externos o internos a la empresa. Es por esto que el grupo de desarrollo debe ser consciente en definir y especificar las distintas actividades que se realizarán en la aplicación teniendo en cuenta todos los requerimientos funcionales de la empresa así como las posibles complicaciones que pueden surgir en el transcurso del trayecto como son: el mantenimiento, agregar funcionalidades, cambios en la apariencia de la aplicación, entre otros. Existe alguna metodología clara que nos permita desarrollar aplicaciones web sin complicaciones, y que, además, esté abierta al cambio futuro, tanto en tecnologías como en necesidades? La situación actual, es que no existe una metodología unificada y cada empresa al enfrentarse con este problema desarrolla su propia forma de trabajo lo cuál trae como resultado distintas metodologías que nos conllevan a serias y costosas dificultades futuras, como el mantenimiento y cambio posterior de estas aplicaciones. Debido a esto se hace necesario que exista una metodología que tome en cuenta las necesidades propias de las aplicaciones Web, que si bien en funcionalidad no varían respecto a las aplicaciones convencionales sí contienen una serie de requerimientos propios y diferentes. 3. Método propuesto - MD5C Existe un método denominado Modelo de Cinco Capas (MD5C), una idea presentada en una tesis de maestría, en la cuál expone las pautas que el desarrollador necesita o debe considerar para el desarrollo de aplicaciones web. Este método de trabajo cumple con los requerimientos propios de las aplicaciones Web, nos permite que las aplicaciones creadas cumplan con los principales requerimientos del software de calidad y que los sitios web resultantes sean de calidad, siguiendo las pautas de la Ingeniería del Web. 4. Modelo de cinco capas - MD5C El modelo de cinco capas o MD5C orientado a aplicaciones Web, se basa en la misma esencia que la Ingeniería de Software (IS), es decir, ambos nos permiten de una manera ordenada y clara abordar el proceso de desarrollo de una aplicación convencional desde su concepción hasta la puesta en marcha y posterior mantenimiento y actualización. El MD5C está orientado a crear páginas Web dinámicas creadas en el servidor, las cuales son enviadas al cliente en HTML con el contenido que ha solicitado, basándose en una serie de funciones y procedimientos. Este tipo tecnología constituye una gran ventaja, ya que dispone de todos los recursos del servidor: base de datos, sistema de archivos, etc.

3 4.1 Páginas dinámicas en servidor Dentro de las tecnologías que se utilizan para la creación de páginas dinámicas en el servidor tenemos el ya clásico CGI (Common Gateway Interface), pasando por lenguajes más modernos como son el ASP (Active Server Pages de Microsoft), PHP, Java (Servlets), JSP (Java Server Pages), entre otros muchos más. El funcionamiento de estás páginas web dinámicas, podría resumirse de la siguiente manera (Fig. 1.1): 1. El cliente envía una petición HTTP al servidor (probablemente, enviando una serie de parámetros), 2. El servidor web, al recibir la solicitud, la pasa al servidor de aplicaciones, 3. El servidor de aplicaciones interpreta la solicitud, realizará los procedimientos necesarios utilizando los recursos del servidor, como bases de datos y sistema de archivos. 4. El servidor de aplicaciones devuelve la respuesta al servidor web, ya en formato HTML. 5. El servidor Web envía esta respuesta al cliente. Cliente 1 5 Servidor Web 4 2 Servidor Aplicaciones 3 Bases de Datos Sistema de Ficheros Figura 1.1: Funcionamiento de las páginas dinámicas 4.2 Metodología clásica de desarrollo y MD5C La metodología clásica de desarrollo (SDLC) es considerada la base de las metodologías actuales de desarrollo. Así, haciendo un paralelo con esta metodología el MD5C no considera la fase de análisis ni la primera parte del diseño porque los procedimientos que se utilizan en estas fases no dependen de la tecnología que se va utilizar (ver figura 1.2)

4 Modelo de cinco capas - MD5C Mantenimiento Implantación Desarrollo Diseño Análisis Figura 1.2: Fases del desarrollo clásico que corresponden al MD5C El MD5C se centra en el desarrollo propio de las aplicaciones (fase de desarrollo), aunque influye en las fases comprendidas desde la mitad del diseño (diseño de interfaces, navegación, etc.) en adelante, tomando en cuenta la implantación y el mantenimiento posterior, como se muestra en la Figura 1.2. Por lo tanto dentro las características que definen al MD5C son: Flexibilidad: Debe ser capaz de soportar la creación de cualquier aplicación web, desde una página estática simple, hasta un sitio complejo con varias funcionalidades. Facilidad de implementación: La utilización de esta metodología no debe representar una carga mayor, frente a la creación de aplicaciones por el método tradicional. Facilidad de mantenimiento: El mantenimiento posterior que reciban las aplicaciones, tanto a nivel de funcionalidades como de diseño deberá ser sencillo de realizar. Simplicidad: La metodología no debe ser compleja desde ningún punto de vista, a fin de que el entendimiento, utilización y modificación de la misma, sean sencillos y rápidos. 4.3 Descripción del MD5C El MD5C separa a las aplicaciones en 5 capas, resultando en modelo de desarrollo de 5 capas, como se puede ver en la Figura 1.3. Este modelo no fuerza a la utilización de ninguna tecnología, sólo una forma de trabajo.

5 Lógica Presentación Datos Idioma Plantillas Cliente Figura 1.3: Modelo de desarrollo de 5 capas 4.3.1 Capa Lógica A semejanza del modelo de 3 capas clásico, esta capa abarca toda la lógica de negocios necesaria para el correcto funcionamiento de la aplicación, toda la serie de funciones, procedimientos, etc., que permiten que la aplicación cumpla con los objetivos para los que fue creada. En el caso de aplicaciones web, esta capa es almacenada en un servidor, ya sea web o de aplicaciones, como vimos en el funcionamiento del web, donde se realizarán todos los procesos de la aplicación, utilizando tecnologías de páginas dinámicas en servidor. 4.3.2 Capa de Datos Esta capa también es semejante a aquella del modelo de 3 capas. En esta se encuentran los datos persistentes requeridos para el correcto funcionamiento de la aplicación, normalmente almacenados en una base de datos. De la misma manera, esta capa se encuentra del lado del servidor, pudiendo encontrarse en un servidor especializado o compartiendo recursos con el servidor de aplicaciones y el servidor web. 4.3.3 Capa de plantillas Esta capa, propia del modelo, almacena las plantillas que usaremos para presentar los datos en las diferentes plataformas con las que interactuará el sistema. Así, aquí estarán todos los archivos HTML necesarios para mostrar los datos en navegadores web, diferentes plantillas WML 1 para los dispositivos WAP 2 (teléfonos, etc.). 1 Wireless Markup Language -- WML (Lenguaje de Marcado para Telefonía Inalámbrica) Lenguaje en el que se escriben las páginas que aparecen en las pantallas de los teléfonos móviles y los asistentes personales digitales (PDAs) dotados de tecnología WAP

6 La función principal de esta capa consiste en almacenar de una manera organizada todas aquellas plantillas (o templates) que usaremos para mostrar los datos. Básicamente se trata de un repositorio que contiene todas estas plantillas. Las características propias de esta capa permiten que sean los encargados del diseño los que modifiquen las plantillas, siguiendo una serie de reglas básicas, que se explicarán en la puesta en marcha de esta capa. 4.3.4 Capa de idiomas Esta capa es semejante a la anterior, pero almacena las diferentes configuraciones de idioma para las plantillas. Así, esta capa podría ser una base de datos, en la que se especifican las traducciones para cada uno de los idiomas que soportará nuestra aplicación. Se considera por separado a la base de datos, a efectos de clarificar el funcionamiento de esta. 4.3.5 Capa de presentación Esta es la capa más importante del modelo, pues es ésta la que permite la presentación de los datos creados por la capa lógica, hacia el cliente, utilizando para esto los templates de la capa de plantillas y las diferentes traducciones de la capa de idiomas. En este modelo, esta capa si está completamente separada e independiente de la lógica. Básicamente, el funcionamiento de esta capa podría resumirse en los siguientes pasos: 1. Obtener los datos de la capa lógica. 2. Cargar y procesar la plantilla que corresponde, de la capa de plantillas. 3. Cargar las traducciones que corresponden, de la capa de idiomas. 4. Procesar la plantilla, haciendo cambios en función del idioma 5. Combinar los datos de la capa lógica con la plantilla 6. Enviar los resultados al cliente. 5. Evaluación del MD5C MD5C es un método que nos permite crear aplicaciones Web de calidad. Para la evaluación de este método se utilizan los fundamentos o características de la Ingeniería de software que se describen en la siguiente tabla. 2 Wireless Application Protocol -- WAP (Protocolo de Aplicación de Telefonía Inalámbrica) Protocolo que permite a los usuarios de teléfonos móviles el acceso a servidores web especializados, visualizando la información en el visor del teléfono

7 Corrección Robustez Extensibilidad Reusabilidad Eficiencia Facilidad de uso Funcionalidad Característica Transportabilidad Oportunidad Descentralización Simplicidad de diseño Esta característica depende de la aplicación en sí, y en nuestro modelo, estaría cubierta por la capa de lógica. Esta característica también depende de la capa lógica, aunque debemos tener en cuenta que la conexión a través de Internet es, por definición, insegura, por lo que deben tomarse las medidas respectivas. El modelo propuesto permite lograr la adición de nuevas funcionalidades sin mayor complicación: la programación modular y la separación de la capa de presentación hacen que esta modificación sea sencilla. El modelo presentado separa completamente el diseño de la aplicación (capa de plantillas) de la lógica de la aplicación, por lo que el diseño podrá ser abordado por los expertos en el tema. La separación de capas permite que los expertos en cada tema trabajen de manera paralela e independiente. La propuesta implica la separación completa de las capas de presentación, plantillas e idioma, y dada la flexibilidad y generalidad de estas, pueden ser reutilizadas en varias aplicaciones. Existe sólo una capa lógica que envía resultados a la capa de presentación, que a su vez, podrá presentarlos en diferentes y variadas plataformas e idiomas, repercutiendo positivamente en este aspecto. Como aspecto negativo en este factor, encontramos que se pueden procesar datos que no serán presentados al usuario. La capa de plantillas definirá la forma de utilizar la aplicación. En caso se vea que esta está muy compleja, podrá ser cambiada sin mayores esfuerzos. La funcionalidad general de la aplicación está definida en la capa lógica, como vimos. Por definición, las aplicaciones web son centralizadas en el servidor web. La transportabilidad en este caso podría verse desde dos frentes: cambio de servidores, y clientes. En el primer caso, depende de la implementación de las capas. En el segundo, de la utilización de páginas dinámicas en cliente, pues si utiliza solo paginas en servidor, la transportabilidad en varias plataformas está garantizada. Las aplicaciones web requieren un despliegue en corto tiempo. La característica de reusabilidad de las nuevas capas propuestas tienen un gran aporte en la rapidez de despliegue.