<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>1315-0162</journal-id>
<journal-title><![CDATA[Saber]]></journal-title>
<abbrev-journal-title><![CDATA[Saber]]></abbrev-journal-title>
<issn>1315-0162</issn>
<publisher>
<publisher-name><![CDATA[Universidad de Oriente]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S1315-01622014000200009</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Propuesta de modelo en cinco capas para aplicaciones web]]></article-title>
<article-title xml:lang="en"><![CDATA[Proposal of a five layers model for web applications]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Gómez Fermín]]></surname>
<given-names><![CDATA[Loly Valentina]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Moreno Poggio]]></surname>
<given-names><![CDATA[Tomás Rafael]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad de Oriente, Núcleo de Nueva Esparta Escuela de Hotelería y Turismo Programa de Licenciatura en Informática]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Venezuela</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad de Oriente, Núcleo de Nueva Esparta Servicios de Computación Académica ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Venezuela</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>06</month>
<year>2014</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>06</month>
<year>2014</year>
</pub-date>
<volume>26</volume>
<numero>2</numero>
<fpage>168</fpage>
<lpage>173</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://ve.scielo.org/scielo.php?script=sci_arttext&amp;pid=S1315-01622014000200009&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://ve.scielo.org/scielo.php?script=sci_abstract&amp;pid=S1315-01622014000200009&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://ve.scielo.org/scielo.php?script=sci_pdf&amp;pid=S1315-01622014000200009&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[La posibilidad de crear programas multiplataforma es un objetivo para muchos programadores; sin embargo, es complejo de lograr. En la actualidad, las aplicaciones web se han presentado como el camino por excelencia para alcanzar este anhelado fin, pero al estar el proyecto atado a una plataforma de software o hardware éste, irremediablemente, está sujeto a la obsolescencia. Esto no es algo exclusivo de la aplicación cliente, sino que también es aplicable del lado del servidor, por lo que al desarrollar software, aun sin desearlo, existen ataduras a un manejador de bases de datos y a otras aplicaciones. Por esto, el realizar sistemas que sean capaces de operar con múltiples bases de datos y no dependientes de una plataforma específica se convierte en un trabajo titánico para un equipo de desarrollo. En este sentido, la presente investigación propone un modelo de trabajo que permita realizar aplicaciones web capaces de operar en una estructura de capas, donde cada capa definida pueda ser sustituida sin necesidad de reescribir las demás, y permitiendo así real abstracción a la aplicación sobre cualquier plataforma de software o hardware, tanto del lado del cliente, como del servidor. Para este fin la investigación se apoyó en Sommerville (2005), quien plantea una clasificación detallada de los modelos de desarrollo de software, según su organización y su descomposición modular, lo que sirvió de base para el desarrollo de la propuesta. Esta investigación es de carácter documental, puesto que se basó en la recopilación de material bibliográfico referente a arquitecturas de software existentes.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[The ability to create cross-platform programs is a goal for many software developers; however, it is complex to achieve. At present, web applications have been introduced as the chosen way to achieve this desired goal, but being the project tied to a software or hardware platform it is, inevitably, subject to obsolescence. This is not unique to the client application, but also applies to the server side, so that when developing software, even unwillingly, there are strings attached to a database and other applications. Because of this, to develop systems capable of operating with multiple databases and not dependent on a specific platform becomes a Herculean task for a development team. Therefore, this research proposes a working model which enables web applications capable of operating in a layered structure, where each defined layer can be replaced without the need to rewrite the other, and allowing real abstraction for application on any platform software or hardware, both on the client and server sides. For this purpose, the research is supported by Sommerville (2005), who presents a detailed classification of models of software development, according to its organization and modular decomposition, which layed the basis for the development of this proposal. This research is documentary in nature, since it is based on the collection of bibliographic material relating to existing software architectures.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[Arquitectura de software]]></kwd>
<kwd lng="es"><![CDATA[diseño en capas]]></kwd>
<kwd lng="es"><![CDATA[multiplataforma]]></kwd>
<kwd lng="en"><![CDATA[Software architecture]]></kwd>
<kwd lng="en"><![CDATA[design layers]]></kwd>
<kwd lng="en"><![CDATA[multiplatform]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="center"><b><span style="font-family:Verdana">Propuesta de modelo en  cinco capas para aplicaciones web</span></b></p>     <p align="center"><b><span style="font-size: 12.0pt; font-family: Verdana"> Proposal of a five layers model for web applications</span></b></p>     <p align="center"><b><font face="Verdana" size="2">Loly Valentina Gómez Fermín<sup>1</sup>,  Tomás Rafael Moreno Poggio<sup>2</sup></font></b></p>     <p align="justify"><font face="Verdana" size="2">1 Universidad de Oriente,  Núcleo de Nueva Esparta, Escuela de Hotelería y  Turismo, Programa de Licenciatura en Informática, Isla de Margarita, Venezuela</font></p>     <p align="justify"><font face="Verdana" size="2">2 Universidad de Oriente,  Núcleo de Nueva Esparta, Servicios de Computación  Académica, Guatamare, Isla de Margarita, Venezuela E-mail: <a href="mailto:loly.gomez@ne.udo.edu.ve">loly.gomez@ne.udo.edu.ve</a> / <a href="mailto:tomas.moreno@ne.udo.edu.ve">tomas.moreno@ne.udo.edu.ve</a></font></p>     <p align="justify"><b><font size="2" face="Verdana">RESUMEN</font></b></p>     <p align="justify"><font face="Verdana" size="2">La posibilidad de crear  programas multiplataforma es un objetivo para muchos programadores; sin embargo,  es complejo de lograr. En la actualidad, las aplicaciones web se han presentado  como el camino por excelencia para alcanzar este anhelado fin, pero al estar el  proyecto atado a una plataforma de software o hardware éste, irremediablemente,  está sujeto a la obsolescencia. Esto no es algo exclusivo de la aplicación  cliente, sino que también es aplicable del lado del servidor, por lo que al  desarrollar software, aun sin desearlo, existen ataduras a un manejador de bases  de datos y a otras aplicaciones. Por esto, el realizar sistemas que sean capaces  de operar con múltiples bases de datos y no dependientes de una plataforma  específica se convierte en un trabajo titánico para un equipo de desarrollo. En  este sentido, la presente investigación propone un modelo de trabajo que permita  realizar aplicaciones web capaces de operar en una estructura de capas, donde  cada capa definida pueda ser sustituida sin necesidad de reescribir las demás, y  permitiendo así real abstracción a la aplicación sobre cualquier plataforma de  software o hardware, tanto del lado del cliente, como del servidor. Para este  fin la investigación se apoyó en Sommerville (2005), quien plantea una  clasificación detallada de los modelos de desarrollo de software, según su  organización y su descomposición modular, lo que sirvió de base para el  desarrollo de la propuesta. Esta investigación es de carácter documental, puesto  que se basó en la recopilación de material bibliográfico referente a  arquitecturas de software existentes.</font></p>     <p align="justify"><font face="Verdana" size="2"><b>Palabras clave</b>:  Arquitectura de software, diseño en capas, multiplataforma.</font></p>     <p align="justify"><b><font size="2" face="Verdana">ABSTRACT</font></b></p>     <p align="justify"><font face="Verdana" size="2">The ability to create cross-platform  programs is a goal for many software developers; however, it is complex to  achieve. At present, web applications have been introduced as the chosen way to  achieve this desired goal, but being the project tied to a software or hardware  platform it is, inevitably, subject to obsolescence. This is not unique to the  client application, but also applies to the server side, so that when developing  software, even unwillingly, there are strings attached to a database and other  applications. Because of this, to develop systems capable of operating with  multiple databases and not dependent on a specific platform becomes a Herculean  task for a development team. Therefore, this research proposes a working model  which enables web applications capable of operating in a layered structure,  where each defined layer can be replaced without the need to rewrite the other,  and allowing real abstraction for application on any platform software or  hardware, both on the client and server sides. For this purpose, the research is  supported by Sommerville (2005), who presents a detailed classification of  models of software development, according to its organization and modular  decomposition, which layed the basis for the development of this proposal. This  research is documentary in nature, since it is based on the collection of  bibliographic material relating to existing software architectures.</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2"><b>Key words</b>: Software  architecture, design layers, multiplatform.</font></p>     <p align="justify"><font face="Verdana" size="2">Recibido: octubre 2013.  Aprobado: febrero 2014. Versión final: mayo 2014.</font></p>     <p align="justify"><b><font face="Verdana" size="2">INTRODUCCIÓN</font></b></p>     <p align="justify"><font face="Verdana" size="2">Las Aplicaciones Web se han  convertido en una de las implementaciones de software más común en la  actualidad, esto debido principalmente a su abstracción sobre el software y el  hardware en el que se ejecuta, es decir, su habilidad de ser utilizada sobre un  navegador web lo cual le permite no depender de un sistema operativo específico,  no estar atado a un navegador determinado y hasta el abstraerse de la  arquitectura de hardware en la que es usada. Sin embargo, el crear Aplicaciones  Web altamente flexibles y escalables requiere de un arduo trabajo que en muchos  casos compromete la mantenibilidad del software o en otros obliga a comprometer  la flexibilidad del mismo.</font></p>     <p align="justify"><font face="Verdana" size="2">La mayoría de las arquitecturas  actuales persiguen la independencia de ciertos componentes en el diseño de  software, sin embargo, el irrespeto de los estándares por parte de algunos  fabricantes<sup>1</sup> de software, dificultan en gran medida el desarrollo y  “obligan” a que el producto desarrollado basado en sus herramientas esté  inexorablemente ligado a su producto.</font></p>     <p align="justify"><font face="Verdana" size="2">En tal sentido, el objetivo de  esta investigación fue proponer un modelo para aplicaciones Web que brinde  flexibilidad en el desarrollo, alta escalabilidad sin comprometer el  mantenimiento del código.</font></p>     <p align="justify"><b><font face="Verdana" size="2">MATERIALES Y MÉTODOS</font></b></p>     <p align="justify"><font face="Verdana" size="2">La investigación fue de tipo  documental, debido a las revisiones criticas del estado del conocimiento:  integración, organización y evaluación de la información teórica y empírica  existente sobre el problema, focalizado ya sea en el progreso de la  investigación actual y posibles vías para su solución, en el análisis de la  consistencia interna y externas de las teorías y conceptualizaciones para  señalar sus fallas o demostrar la superioridad de unas sobre otras, o en ambos  aspectos. De acuerdo con Arias (2006, p. 27). La investigación documental es un  proceso basado en la búsqueda, recuperación, análisis, crítica e interpretación  de datos secundarios, es decir, los obtenidos y registrados por otros  investigadores en fuentes documentales: impresas, audiovisuales o electrónicas.  Como en toda investigación, el propósito de este diseño es el aporte de nuevos  conocimientos.</font></p>     <p align="justify"><font face="Verdana" size="2">Para la investigación se  realizó una revisión de las arquitecturas más utilizadas en el desarrollo de  software con base en lo expuesto por Sommerville (2005), posteriormente se  indagó en las debilidades que presentaban las mismas para implementaciones que  operen con distintas bases de datos en entornos de Aplicaciones Web</font></p>     <p align="justify"><b><font face="Verdana" size="2">RESULTADOS Y DISCUSIÓN</font></b></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2">Todo desarrollo de software  debe adoptar un modelo para el desarrollo de su proyecto, para Sommerville  (2005), estos modelos pueden ser clasificados de dos formas: según su  organización y según su descomposición modular. Según la organización, un  software puede responder a tres modelos específicos, de Repositorio,  Cliente/Servidor o por Capas, cada modelo brinda ciertas ventajas a la hora de  diseñar aplicaciones web, pero también presentan limitaciones, como se muestra  en la <a href="#tab1">Tabla 1</a>.</font></p>     <p align="center"><a name="tab1"> <img border="0" src="/img/fbpe/saber/v26n2/art09tab1.gif" width="577" height="277"></a></p>     
<p align="justify"><font face="Verdana" size="2">La flexibilidad del Modelo por  Capas, brinda una ventaja considerable a la hora de lograr la escalabilidad de  un producto de software, por tal motivo se seleccionó este modelo como base del  desarrollo de la propuesta, sin embargo, esto solo define la organización de los  componentes funcionales, mas no define el cómo están estructuradas cada una de  las piezas que conforma dichos componentes, es decir, su descomposición modular.</font></p>     <p align="justify"><font face="Verdana" size="2">Para Sommerville (2005) la  descomposición modular se define como “un nivel estructural adicional donde los  subsistemas son descompuestos en módulos” Existen dos estilos presentados por  este autor, la Descomposición Modular Orientada a Objetos y la Descomposición  Modular Orientada a Flujo de Funciones, siendo la Descomposición Modular  Orientada a Objetos la seleccionada para aplicar en la propuesta, dada su  escalabilidad y potencia a la hora de la implementación, sin embargo existen  otros autores que presentan la necesidad de una Orientación a Procesos (Berrocal  et al. s.f.), la cual se adaptaría mejor a realidades empresariales, por ello se  propone emplear la orientación a objetos, pero con una visión de organización  orientada a procesos, a fin de poder lograr objetos de negocio funcionales y si  se quiere independientes entre sí.</font></p>     <p align="justify"><font face="Verdana" size="2">Para lograr esa independencia  entre los objetos de negocio se requiere un sistema de comunicación que  garantice el funcionamiento del objeto, pero sin generar un fuerte acoplamiento  de los mismos, en este punto es cuando se consideran los principios de  Arquitectura Orientada a Servicios, o SOA, por sus siglas en inglés, la cual  brinda los medios para lograr esa comunicación entre los diversos elementos del  sistema, sin la necesidad de conocer la organización, funcionamiento o  morfología del elemento destino. El objetivo detrás de esta compleja estructura  es lograr una abstracción real sobre la base de datos, mediante el uso de un  middleware de dos capas, basado en la transferencia de información en formato de  texto plano usando HTTP y HTTPS.</font></p>     <p align="justify"><font face="Verdana" size="2">En cuanto a aspectos de calidad  del software como lo son la portabilidad y mantenibilidad, esta propuesta busca  facilitar las tareas de mantenimiento del software al minimizar la dependencia  de los elementos que componen el proyecto de software, no obstante, aunque la  portabilidad no se ve sacrificada, la complejidad de un proyecto desarrollado  bajo la visión de esta propuesta seria considerable, lo que podría dificultar un  poco su movilidad si no se organiza de manera adecuada, o se desconoce su  estructura.</font></p>     <p align="justify"><font face="Verdana" size="2">En la <a href="#fig1">Figura 1</a>  se muestra un esquema del modelo propuesto, detallando la función principal de  cada capa.</font></p>     <p align="center"><a name="fig1"> <img border="0" src="/img/fbpe/saber/v26n2/art09fig1.gif" width="423" height="371"></a></p>     
<p align="justify"><b><font face="Verdana" size="2">Capa 0 Base de Datos</font></b></p>     <p align="justify"><font face="Verdana" size="2">Representa a la base de datos  en sí misma, asociada a su Sistema Manejador de Base de Datos, interactúa con la  Capa 1 a través de una conexión nativa de base de datos.</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2">Dependiendo de él o los  manejadores que se seleccionen para una implantación se deberá modificar la Capa  1, dado que la lógica será la asociada al manejador mas no a la lógica del  negocio de la aplicación.</font></p>     <p align="justify"><b><font face="Verdana" size="2">Capa 1 Lógica del Manejo de  los Datos</font></b></p>     <p align="justify"><font face="Verdana" size="2">Es la capa responsable de  conectarse directamente a la Base de Datos (Capa Inferior) usando una conexión  nativa a base de datos y recibir peticiones de acceso a la información de la BD  (Capa Superior), para regresarla en un formato de codificación de texto y de  presentación neutro como XML, JSON, CSV según requerimientos y configuración. El  transporte usado de Capa 1 a Capa 2 es HTTP, la codificación es en texto, y el  formato es alguno de los antes indicado, esto aplica también para las capas 2 y  3.</font></p>     <p align="justify"><font face="Verdana" size="2">La lógica asociada a esta capa  es la inherente netamente al manejo de la Base de a Datos, es decir, si se  requiere que un sistema opere con base de datos PostgreSql y MySql, en la Capa 1  se definirán los servicios que permitan acceder, eliminar y modificar los datos,  para convertirlos en un formato de texto, haciendo uso del respectivo driver de  conexión a base de dato para el manejador.</font></p>     <p align="justify"><font face="Verdana" size="2">Capa 2 Procesos de Negocios</font></p>     <p align="justify"><font face="Verdana" size="2">En esta capa se realiza toda la  lógica del negocio en si misma a petición de su capa superior. Al tener la  lógica del negocio aislada se puede orientar el desarrollo a los procesos de  negocio existentes en cada situación particular, ganando como beneficio el poder  desarrollar solo una vez lo inherente a la lógica del negocio, pese a tener uno  o más sistemas manejadores de bases de datos para su implantación.</font></p>     <p align="justify"><font face="Verdana" size="2">En este nivel es que se observa  la ventaja real de este modelo, pues la lógica del negocio puede ser lo más  cambiante en un desarrollo de software, sin embargo, bajo este modelo se podría  modificar las veces que sea necesario la lógica del negocio, sin tener que  afectar a la Capa 1. Logrando con esto una abstracción real sobre los datos y  ganando flexibilidad y mantenibilidad.</font></p>     <p align="justify"><font face="Verdana" size="2">Capa 3 Control de la Interfaz  de Usuario</font></p>     <p align="justify"><font face="Verdana" size="2">Esta capa es la responsable de  la lógica de la interfaz de usuario, en este nivel se puede estudiar el uso de  diversas herramientas RIA como por ejemplo ZK, Vaadin o Google Web Tools Kit, o  cualquier otra herramienta que brinde una interfaz de usuario amigable y ágil  para el desarrollo y que permita una experiencia de usuario tan rica como la de  una aplicación nativa pero en ambiente web. Para esta capa el trasporte  utilizado sigue siendo HTTP, la codificación es texto, sin embargo cambia el  formato de representación para la comunicación con la Capa 4, que para este caso  es HTML y para la comunicación con la Capa 2 continua siento XML, JSON, CSV.</font></p>     <p align="justify"><font face="Verdana" size="2">Capa 4 Vista</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2">Es la capa final con la que el  usuario interactúa realmente (interfaz de usuario ya materializada en un  navegador web). Dependiendo de la herramienta de navegador web). Dependiendo de  la herramienta de desarrollo el manejo de esta última capa podría cambiar, lo  importante a considerar es que el software a desarrollar debe poderse ejecutar  en cualquier navegador, tal vez esto resulte un poco obvio, sin embargo existen  desarrolladores web que limitan su aplicación a uno o dos navegadores, esta  inadecuada práctica se logra llenando el software de código autogenerado por  algunas herramientas de edición, o utilizando características exclusivas de  algún Sistema Operativo, esto resulta un sin sentido, pues el desarrollo web  persigue el ser multiplataforma, si se está dispuesto a casarse con un sistema  operativo, es preferible hacer un desarrollo nativo, pues se economiza tiempo y  recursos. Despliegue de componentes para el modelo de cinco capas Monolítico Es  la implementación en la que todas las capas del desarrollo nativo, pues se  economiza tiempo y recursos.</font></p>     <p align="justify"><font face="Verdana" size="2">Despliegue de componentes para  el modelo de cinco capas</font></p>     <p align="justify"><b><font face="Verdana" size="2">Monolítico</font></b></p>     <p align="justify"><font face="Verdana" size="2">Es la implementación en la que  todas las capas del software pueden ejecutarse en un mismo servidor físico o  virtual, ideal para aplicaciones de bajo consumo de recursos como se muestra en  la <a href="#fig2">Figura 2</a>. Su principal ventaja es la fácil  implementación, su desventaja no puede manejar gran cantidad de clientes (<a href="#fig2">Fig.  2</a>).</font></p>     <p align="center"><a name="fig2"> <img border="0" src="/img/fbpe/saber/v26n2/art09fig2.gif" width="327" height="381"></a></p>     
<p align="justify"><b><font face="Verdana" size="2">Escalabilidad Lineal</font></b></p>     <p align="justify"><font face="Verdana" size="2">En la <a href="#fig3">Figura 3</a>  se muestra esta opción de despliegue, cada capa del modelo se aloja en un  servidor distinto, lo que permite mayor escalabilidad y robustez en la  implementación. La desventaja de esta modalidad de despliegue es el mayor coste  en hardware, sin embargo las prestaciones obtenidas justifican la inversión.</font></p>     <p align="center"><a name="fig3"> <img border="0" src="/img/fbpe/saber/v26n2/art09fig3.gif" width="371" height="563"></a></p>     
<p align="justify"><b><font face="Verdana" size="2">Escalabilidad Independiente</font></b></p>     <p align="justify"><font face="Verdana" size="2">Para esta implementación se  tiene cada capa alojada en un servidor, pero además se tienen diversas  instancias de capa 3, capa 2 y capa 1 trabajando en forma lineal, esto permite  repartir mejor la carga de trabajo de las diversas solicitudes de los clientes,  la principal ventaja de este despliegue es que puede manejar un mayor número de  solicitudes, y es adecuada para sistemas que requieran de alta disponibilidad,  pues existen respaldos de cada línea que permitirá mantener el sistema On Line,  como se muestra en la <a href="#fig4">Figura 4</a>, sin embargo su  implementación es más compleja y costosa, tanto en la implantación como en su  mantenimiento, lo cual es una desventaja. Otro detalle a considerar es que a  pesar de las réplicas de las capas 3 a la 1, en caso de fallar capa 0 el sistema  quedaría fuera de línea.</font></p>     ]]></body>
<body><![CDATA[<p align="center"><a name="fig4"> <img border="0" src="/img/fbpe/saber/v26n2/art09fig4.gif" width="369" height="374"></a></p>     
<p align="justify"><b><font face="Verdana" size="2">En Clúster</font></b></p>     <p align="justify"><font face="Verdana" size="2">La implementación en clúster es  la más compleja, pero quizás la más potente de las opciones de despliegue, es  muy similar a la implementación de escalabilidad independiente, solo que la base  de datos está implementada en un clúster, lo cual rinda un poco más de  resistencia a fallos y permite aumentar el volumen de datos a manejar, como  desventaja resalta la complejidad del despliegue y su elevado coste como se  detalla en la <a href="#fig5">Figura 5</a>.</font></p>     <p align="center"><a name="fig5"> <img border="0" src="/img/fbpe/saber/v26n2/art09fig5.gif" width="365" height="420"></a></p>     
<p align="justify"><b><font face="Verdana" size="2">CONCLUSIONES</font></b></p>     <p align="justify"><font face="Verdana" size="2">El desarrollo Web es quizás una  de las áreas con mayor avance en los últimos 10 años, sin embargo muchos  desarrolladores con experiencia en aplicaciones nativas o desktop se han alejado  del desarrollo Web por lo laborioso o demandante que puede ser su mantenibilidad,  sacrificando así la posibilidad de que sus aplicaciones puedan ser  multiplataforma.</font></p>     <p align="justify"><font face="Verdana" size="2">En tal sentido, la propuesta de  esta investigación es una forma de organización que busca lograr un desarrollo  Web mantenible, flexible y realmente abstraído de la plataforma, no solo a nivel  del cliente, sino también a nivel del servidor donde se implemente la  aplicación.</font></p>     <p align="justify"><font face="Verdana" size="2">La organización en capas y la  orientación a servicios son elementos que brinda al modelo propuesto las  características necesarias para lograr la flexibilidad requerida por las  aplicaciones Web, y la posibilidad de operar con diversas bases de datos sin  tener que invertir muchas horas de desarrollo.</font></p>     <p align="justify"><font face="Verdana" size="2">El modelo planteado está basado  en la orientación a servicios y la organización por capas, lo cual procura  mezclar las ventajas de ambos modelos para aportar flexibilidad al desarrollar.</font></p>     <p align="justify"><font face="Verdana" size="2">Se recomienda en una  investigación posterior desarrollar un middleware que implemente las capas 1 y 2  de forma genérica a fin de comprobar la efectividad del modelo y medir su  rendimiento en condiciones reales de operatividad.</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><b><font face="Verdana" size="2">Notas</font></b></p>     <p align="justify"><font face="Verdana" size="2">1 Como es el caso de los  Sistemas Manejadores de Bases de Datos Relacionales (SMBDR), que pese a tener un  estándar vigente, como el SQL en su séptima revisión, muchos de ellos difieren  en operaciones básicas como la creación de tablas o el largo en los nombres de  los atributos de una tabla, lo cual se puede considerar un incumplimiento del  estándar, acción que dificulta enormemente la portabilidad de una base de datos  entre SMBDR. Para comprobar estas aseveraciones se puede referir a la  documentación sobre definición de tablas usando Oracle como SMBDR, y compararlo  con su equivalente en otros SMBDR como Firebird o SQL Server en cualquiera de  sus versiones. En tal caso, esta práctica no puede llamarse un estándar  corporativo, porque no es algo que afecte solo al fabricante, sino también a la  comunidad de desarrollo, por lo que al existir más de un estándar, aplicable a  una misma situación, el concepto mismo de estándar se ve comprometido.</font></p>     <p align="justify"><b><font face="Verdana" size="2">REFERENCIAS BIBLIOGRÁFICAS</font></b></p>     <!-- ref --><p align="justify"><font face="Verdana" size="2">1. Arias F. 2006. El Proyecto  de Investigación. Introducción a la Metodología Científica. Episteme, Caracas,  Venezuela, pp. 56-63.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=3242000&pid=S1315-0162201400020000900001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><p align="justify"><font face="Verdana" size="2">2. Berrocal J, García JM,  Murrillo JM. (s.f.). Hacia una gestión del proceso software, dirigida por  procesos de negocio. Grupo Alarcos, Univeridad de Castilla La Mancha. Disponible  en línea en: <a href="http://alarcos.inf-cr.uclm.es/pnis/articulos/pnis-07-Berrocal-GPSDPN.pdf"> http://alarcos.inf-cr.uclm.es/pnis/articulos/pnis-07-Berrocal-GPSDPN.pdf</a>  (Acceso 16.08.2013).</font></p>     <!-- ref --><p align="justify"><font face="Verdana" size="2">3. Kendall KE, Kendall JE.  2005. Análisis y diseño de sistemas. Pearson, México, México, pp. 917.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=3242002&pid=S1315-0162201400020000900002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p align="justify"><font face="Verdana" size="2">4. Sommerville I. 2005.  Ingenieria del Software (Séptima ed.). Pearson Educación S- A., Madrid, España.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=3242003&pid=S1315-0162201400020000900003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> ]]></body>
<back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Arias]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<source><![CDATA[El Proyecto de Investigación: Introducción a la Metodología Científica]]></source>
<year>2006</year>
<page-range>56-63</page-range><publisher-loc><![CDATA[Caracas ]]></publisher-loc>
<publisher-name><![CDATA[Episteme]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<label>3</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kendall]]></surname>
<given-names><![CDATA[KE]]></given-names>
</name>
<name>
<surname><![CDATA[Kendall]]></surname>
<given-names><![CDATA[JE]]></given-names>
</name>
</person-group>
<source><![CDATA[Análisis y diseño de sistemas]]></source>
<year>2005</year>
<page-range>917</page-range><publisher-loc><![CDATA[México ]]></publisher-loc>
<publisher-name><![CDATA[Pearson]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B3">
<label>4</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Sommerville]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
</person-group>
<source><![CDATA[Ingenieria del Software]]></source>
<year>2005</year>
<edition>Séptima</edition>
<publisher-loc><![CDATA[Madrid ]]></publisher-loc>
<publisher-name><![CDATA[Pearson Educación S-A.]]></publisher-name>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
