IMPLEMENTACIÓN DE UN MARCO PROTOTIPO PARA EL DESARROLLO DE APLICACIONES WEB PARA UN MOTOR DE ALMACENAMIENTO NO. Los objetos de la aplicación en desarrollo se almacenan en el motor de almacenamiento MongoDB, que organiza los datos en forma de documentos. Se definió el objetivo general: evaluar la tasa de aceptación de un Framework de Prototipado para desarrollar aplicaciones web para un motor de almacenamiento no relacional que permita mapear objetos.
Se definió como objetivo general: Evaluar la tasa de aceptación de un Prototype Framework para desarrollar aplicaciones web para un motor de almacenamiento no relacional que permita mapear objetos. Diseñar e implementar un framework prototipo para desarrollar aplicaciones web: Formularios de captura de información y reportes, permitiendo una representación de objetos en un motor de almacenamiento no relacional.
REVISIÓN BIBLIOGRÁFICA O MARCO TEÓRICO
Un estado consta de datos o información; Estos serán uno o más atributos a los que se les asignarán valores específicos (datos). Como todas las herramientas de su tipo, Hibernate intenta solucionar el problema de la diferencia entre dos modelos de datos que conviven en una aplicación: el utilizado en la memoria del ordenador (orientación a objetos) y el utilizado en las bases de datos (orientación a objetos). Con esta información, Hibernate permite que la aplicación manipule los datos en la base de datos operando en objetos con todas las propiedades de programación orientada a objetos.
"Hibernate genera las sentencias SQL y libera al desarrollador de manipular manualmente los datos resultantes de la ejecución de estas sentencias, manteniendo al mismo tiempo la portabilidad entre todos los motores de bases de datos con un ligero aumento en el tiempo de ejecución". (Wikipedia-Hibernate, 2015). MongoDB (de la palabra inglesa "humongous" que significa grande) es un sistema de base de datos NoSQL orientado a documentos desarrollado bajo el concepto de código abierto. En lugar de almacenar datos en tablas como en las bases de datos relacionales, MongoDB almacena estructuras de datos en documentos JSON con un esquema dinámico (MongoDB lo llama formato BSON), lo que facilita y agiliza la integración de datos en determinadas aplicaciones.
La estructura dinámica de documentos de MongoDB se puede utilizar en una gran cantidad de proyectos, incluidos muchos que tradicionalmente se ejecutarían en bases de datos relacionales. Es una base de datos NoSQL que utiliza JSON para almacenar datos, JavaScript como lenguaje de consulta a través de MapReduce y HTTP como API. Aunque este término es una definición más general de una base de datos o almacén de datos, define claramente el cambio en comparación con las bases de datos tradicionales o basadas en SQL.
Una base de datos CouchDB carece de un esquema o estructuras de datos rígidas y predefinidas, como tablas.
PLANTEAMIENTO DEL PROBLEMA Y JUSTIFICACIÓN
Metafóricamente podemos decir que el programa y la base de datos hablan idiomas diferentes y por tanto la comunicación entre ellos es difícil. En el caso de que toda la aplicación siga el modelo orientado a objetos, tenemos que las bases de datos orientadas a objetos que podemos utilizar son inmaduras y tienen un nivel de estandarización bajo. Como solución a esta dificultad surge el concepto de mapeo objeto-relacional (más conocido por su nombre en inglés, Object-Relationalmapping, o sus siglas O/RM, ORM y O/R mapping), que es una técnica de mapeo. programación para convertir datos entre el tipo de sistema utilizado en un lenguaje de programación orientado a objetos y el uso de una base de datos relacional como motor de persistencia.
En la práctica, esto crea una base de datos virtual orientada a objetos sobre una base de datos relacional. Este mapeo objeto-relacional se puede implementar manualmente con diversas funcionalidades que ofrecen los lenguajes de programación, como la implementación Java de Hibernate API o con JPA - Java Persistence API, o mediante el uso de frameworks especializados como OpenXava, que permite el rápido desarrollo de la web empresarial. aplicaciones, donde se oculta la complejidad de trabajar con bases de datos SQL. La mayoría de los marcos ORM generan automáticamente el código requerido para las operaciones CRUD (Crear-Leer-Actualizar-Eliminar) en bases de datos, lo que reduce los tiempos de desarrollo, pero
Como se mencionó anteriormente, estos ORM crean una capa intermedia entre las aplicaciones y el repositorio de datos relacionales, lo que puede provocar que las aplicaciones sean algo más lentas y no aprovechen el potencial del paradigma orientado a objetos. Esto significa que si tienes una base de datos compleja, el ORM también se volverá más complejo y perderás más tiempo personalizando tus clases que en un sistema menos complejo (Guardado, 2010). Con base en los avances que se han logrado en el campo de las bases de datos NoSQL y conociendo las ventajas y desventajas que ofrece el desarrollo de software basado en ORM, se propone crear un prototipo de framework de desarrollo web que permita el acceso a una base de datos de tipo no relacional. , que en nuestro caso será: MONGODB, teniendo en cuenta todas las ventajas.
Otra alternativa se ofrece para el almacenamiento de datos en el desarrollo de aplicaciones que no dependen de una base de datos relacional u orientada a objetos, sino de aquella que permite gestionar una estructura dinámica para el almacenamiento de datos (Zhang, Song, & Liu, 2014). .
OBJETIVOS PLANTEADOS
MÉTODO DE INVESTIGACIÓN
Para el proceso de recolección de información, se realizaron encuestas vía correo electrónico y se completaron en línea. La información recopilada fue organizada y tabulada para crear gráficos apropiados y analizar los datos encontrados.
RESULTADOS DE LA INVESTIGACIÓN
A continuación se describe la información proporcionada por los participantes de la muestra, donde indican el puesto que ocupan en su empresa y las funciones que tradicionalmente se les encomiendan. Cargo desempeñado dentro de la empresa: Ingeniero de Desarrollo, Ingeniero Desarrollador, Profesor, Desarrollador de Software, Ingeniero Desarrollador Senior, Desarrollador Web, Ingeniero de Desarrollo, Profesional de Soporte, Ingeniero de Desarrollo, DBA, Desarrollador Android, Director de Operaciones, Desarrollo, Docente, Ingeniero de Soporte. Describa las funciones que tiene encomendadas dentro de la empresa: Analista, maquetador y desarrollador de aplicaciones web y móviles, Desarrollo, Toma de requisitos, Desarrollo de arquitectura y software, Análisis de requisitos y procesos, desarrollo en diversas tecnologías para cumplir con los requisitos mencionados. y coordinación de grupos de desarrollo, Monitoreo de Bases de Datos Corporativas.
Gestión de instalación de BD de la misma, desarrollo en ASP.NET MVC, Manejo de la BD Oracle del equipo de trabajo, Desarrollo front-end y back-end, Supervisión de cursos de pregrado y posgrado en el campo de Ingeniería de Sistemas. Nota: Los nombres de las personas entrevistadas y las empresas a las que pertenecen no han sido solicitados debido a la confidencialidad de la información. Esta carpeta contiene formularios con extensión .jsp, que permiten ingresar información en nuestros objetos.
Se han definido las siguientes interfaces gráficas que cubren los requisitos para capturar y mostrar información del Framework. Para la aplicación web resultante, la página inicial tendrá la siguiente presentación Ilustración 25: Vista de la página principal de la aplicación generada. Estructura de información en el motor de almacenamiento MongoDB Para cada proyecto creado a partir del Framework prototipo, se creará una base de datos dentro de MongoDB con el nombre definido por el usuario, la cual estará compuesta por las siguientes colecciones: Model, ObjectStructure y ObjectData (ver ilustración 27) .
A continuación, la ilustración 29 muestra la estructura de información generada desde el Framework por el visor de documentos de Robomongo. Identifica el tipo de datos compuestos definido por el usuario dentro de la colección denominada Modelo. Indica el nombre del objeto, que se utilizará para filtrar la colección a buscar. Si lo desea, puede pasar valores de DocumentType para filtrar los datos de la colección.
ANÁLISIS DE LA INFORMACIÓN
¿Sabía que ocultar al desarrollador lo relacionado con las declaraciones de tipo SQL dentro del proyecto con mapeo relacional de objetos hace que las consultas sean más complejas para relaciones simples y carga de datos innecesaria? Al clasificar las herramientas del tipo Mapeo relacional de objetos (ORM), se puede observar que el 83,7% de la población de la muestra conoce o ha tenido la oportunidad de trabajar con ORM. Para ellos, el lenguaje de programación más utilizado para realizar estos trabajos es en un 80% Java, seguido de C# con un 40%.
De quienes han desarrollado ORM mencionan que prefieren hacerlo a través de APIs como JPA o Hibernate, pero es claro que existe un grado de dificultad en el proceso de aprendizaje, que podemos clasificar como medio o regular con un porcentaje. del 66,7%. Dentro de esta clasificación se encuentran las siguientes variables: Conocimiento de las BDs NOSQL, Base de datos NoSQL como medio de almacenamiento de objetos y MongoDB como repositorio de objetos. En cuanto al motor de almacenamiento MongoDB, cree que el modelo de almacenamiento basado en documentos se puede adaptar al modelo de objetos de la aplicación.
Dentro de la clasificación de Conceptos de Bases de Datos NoSql se observa que este tema es conocido por la mayoría de los encuestados con un 93.3%, es decir. En cuanto a la capacidad de almacenar la información de un objeto respetando su definición en un motor de almacenamiento NoSQL, los encuestados fueron el 86,7%. En relación a la posibilidad de utilizar la estructura basada en documentos que ofrece MongoDB, el 73,3 por ciento.
Como caso de estudio, el Framework fue recomendado por el 93,3% de los encuestados, pero no fue recomendado como herramienta para generar aplicaciones web a nivel profesional.
CONCLUSIONES
También consideran que es posible almacenar en esta clase de motores no relacionales los datos de los objetos de nuestras aplicaciones, respetando siempre su definición inicial. La aceptación del Web Framework para MongoDB para generar aplicaciones web fue satisfactoria y lo consideran una buena aplicación con un 73.3%, lo cual puede ser utilizado como caso de estudio, pero se advierte que no existe aprobación para ser utilizado a nivel. proyectos profesionales, algo que es comprensible, al ser la primera versión desarrollada, que falten muchos componentes respecto a los marcos relacionales tradicionales que los encuestados están acostumbrados a utilizar.
RECOMENDACIONES Y TRABAJOS FUTUROS