Rotceh Dominguez López (CV)
rdominguez@ult.edu.cu
Rolando Rodríguez González
Universidad De Las Tunas “Vladimir I Lenin”, Cuba
Facultad de Ciencias Técnicas, Departamento de Informática
RESUMEN
El proceso de informatización que se está llevando en la Universidad de Las Tunas permitió que en el departamento de informática se identificaran varios procesos que necesitan ser informatizados. Este conjunto de procesos están relacionados con los profesores que laboran en dicho departamento por lo tanto la información que se gestiona está fuertemente relacionada con los datos de estos profesores.
La investigación a realizar permite dar solución al problema que propicia el desarrollo por separado de estos sistemas debido a que la información común que es manejada se ve forzada a ser duplicada y por tanto redundante.
Es por eso que en el trabajo, Arquitectura Orientada a Servicios (SOA) de nivel fundamental para los sistemas de gestión de información del departamento de informática de la universidad de las tunas, se emprende la creación de una plataforma de integración basada en servicios web mediante la cual se establecerá la comunicación entre los sistemas desarrollados para garantizar que entre ellos se maneje la información común en todo momento actualizada, evitando así la desactualización inherente a los sistemas que, manejando información similar, no se integran y por tanto su utilidad se ve comprometida debido a que no sirven de fuente de información confiable.
La puesta en funcionamiento de esta plataforma de integración posibilita obtener un conjunto de beneficios que están centrados actualmente en la garantía de que los sistemas trabajen con información común actualizada en todo momento, posibilitando que la información que se registre en un sistema y que se necesite en otro sistema sea la más reciente por cada vez que un sistema diferente al sistema que originó la información la necesite.
La fortaleza de una Universidad está en la capacidad de responder con soluciones e investigaciones que favorezcan la sociedad donde se encuentra enmarcada por tanto es muy importante que los altos dirigentes de una institución como esta cuenten en todo momento con la información que se genera producto del trabajo que se realiza en un departamento por lo tanto en un futuro los beneficios estarán asociados a la integración de otras áreas de la universidad a la SOA creada pues esta unión posibilitará la obtención de informes o reportes relacionados con el departamento de forma rápida, con la información más actualizada y sin que medie para esto la responsabilidad y el tiempo de un persona.
INTRODUCCIÓN
Las Tecnologías de la Información y las Comunicaciones (TIC) están revolucionando nuestra forma de vida y modos de actuación, lo que implica cambios sustanciales a nivel social. Se habla entonces de una Sociedad de la Información y el Conocimiento, caracterizada por la gestión de la información como elemento rector de las relaciones que se establecen entre los individuos (culturales, económicos y sociales), obligándolos a percibir de manera diferente los acontecimientos que en ella se desarrollan.
En este nuevo orden la infraestructura tecnológica definirá el nivel de desarrollo de los países: aquellos que no incorporen las TIC en los diferentes sectores se verán marginados respecto al resto y es probable que se establezcan niveles de diferencias insospechados. A este fenómeno se le ha denominado “la brecha digital” definido por Pérez (2007) como: “…la diferencia que hay en el acceso a las TIC entre naciones ricas y pobres, e incluso en el interior de los países, donde en las ciudades el desarrollo y las oportunidades son mayores”.
Las instituciones de educación superior cubanas han asumido la alta misión de formar profesionales que, junto con la consolidación de los valores ciudadanos, tengan una sólida preparación básica que les permita adaptarse con mayor rapidez y eficiencia a los cambios tecnológicos y, a la vez, mayor versatilidad para su ubicación laboral.
La introducción de la computación en el sistema de educación superior cubano se inicia en la primera mitad de la década de los 60.
Las universidades cubanas han sido líderes históricos en la introducción y desarrollo en el país de las tecnologías computacionales. Este liderazgo se ha manifestado en la cantidad de resultados investigativos y productivos obtenidos en disciplinas relacionadas con las TIC y en los programas de formación de profesionales en los campos de la informática, electrónica y telecomunicaciones.
En el departamento de Informática de la Universidad de Las Tunas Vladimir I Lenin, se pretende realizar una tarea sin precedentes en ese centro. La idea fundamental es realizar un proceso de informatización para posicionar el centro dentro del grupo de organismos que aprovechan los beneficios de la explotación de las nuevas tecnologías para elevar la calidad de su funcionamiento interno.
El proyecto en general es crear aplicaciones que permitan informatizar un conjunto de procesos asociados a las actividades docentes que se producen dentro de un departamento en la universidad, para luego, cuando se eleve el nivel de experiencias en este trabajo, extender el alcance a otras áreas del centro.
La mayoría de los procesos que se desarrollan en un departamento están relacionados con las actividades que tienen que realizar los profesores. Para el proceso de informatización que se va a realizar en una primera etapa se tienen identificados los siguientes procesos:
- Gestión de profesores.
- Plan de trabajo individual.
- Plan de trabajo de la facultad.
- Control de los eventos científicos.
Los antes mencionados procesos están estrechamente relacionados con los datos de los profesores del departamento. Si se desarrollan cuatro sistemas independientes, o comúnmente llamados “islas de información”, provocaría que la información de los profesores fuese duplicada conllevando al hecho que, si alguno de estos sistemas insertara, modificara o eliminara información de algún profesor; los restantes sistemas no conocerían del cambio a no ser que algún responsable actualice manualmente la información en los sistemas restantes, provocando con el tiempo que las aplicaciones trabajen con información errónea y desactualizada. Constituyendo este un ejemplo de las negativas consecuencias de propiciar la duplicidad y la redundancia de la información entre varios sistemas.
Por las razones anteriormente expuestas, en esta investigación se plantea el siguiente problema científico: Insuficiencias en la integración de los sistemas de gestión de información que implican la duplicidad y la redundancia de los datos a manejarse en el Departamento de Informática de la ULT.
Objeto de la investigación: la integración entre sistemas.
Objetivo del trabajo: Integración de los sistemas de la carrera de Informática mediante la implementación de una arquitectura que garantice esta solución.
Campo de acción: Arquitectura Orientada a Servicios (SOA) en la integración de sistemas.
Hipótesis: Si se logra implementar una SOA entonces se logrará una integración entre los sistemas de gestión de información a construir en el departamento de informática y se eliminará la redundancia y duplicidad de los datos que se manejan entre las aplicaciones.
Para darle cumplimiento al objetivo del trabajo se plantean las siguientes Tareas científicas:
- Caracterizar las tendencias actuales en el ámbito de integración entre sistemas.
- Evaluar los métodos de integración entre sistemas.
- Realizar una fundamentación sobre la arquitectura SOA.
- Diseñar e implementar las interfaces de integración entre las aplicaciones.
- Construir y documentar un repositorio de servicios web para el uso por parte de los desarrolladores de los sistemas.
- Validar la solución propuesta mediante el criterios de expertos.
- Aplicar el repositorio web en el desarrollo de los sistemas de la carrera de informática.
Los métodos de la investigación.
Los métodos científicos son la forma o el procedimiento para acometer una investigación luego que tienes definido los elementos necesarios para poder enfocar el trabajo. Los métodos científicos son la vía para poder estudiar los elementos naturales y físicos con el propósito de descubrir su esencia y sus relaciones. Los métodos científicos se clasifican en dos grupos, los métodos teóricos y empíricos.
Los métodos teóricos utilizados fueron:
• El método de análisis documental (bibliográfico): para determinar los conceptos fundamentales que se emplean, el marco contextual del objeto, las razones de la investigación y fundamentarla desde todos los puntos de vista.
• Histórico y lógico. Será utilizado para investigar los métodos de integración que fueron utilizados en los primeros pasos hasta el momento para determinar si en alguna medida existe algún planteamiento, idea o patrón que puede ser reutilizado por los desarrolladores para acometer con la implementación del repositorio
• Análisis y síntesis. Será utilizado para realizar una evaluación sobre los métodos de integración entre sistemas. Para ello es necesario hacer un estudio sobre los estándares de integración entre aplicaciones empresariales para incorporar cualquier idea que sea planteada en la documentación de los estándares que se ajuste a las necesidades del desarrollo.
Este método además será utilizado para investigar sobre el tema relacionado con las arquitecturas que mas puedan ser aprovechadas para lograr el objetivo de la investigación.
• Modelación. Será utilizada para esbozar las soluciones del problema especificado antes de comenzar a desarrollarlo con el objetivo de descubrir errores o escenarios mal planificados que pudieran propiciar un retraso en el desarrollo y una elevación de los costos. La modelación será utilizada para modelar la solución para cada servicio que cada sistema debe brindar al resto.
Los métodos empíricos utilizados son:
• Entrevista: Mediante la utilización de este método se pretende conocer que información manejará cada sistema para determinar cuál es la información común que se maneja entre dos o más aplicaciones. El levantamiento de esta información permite conocer que servicios puede ser brindado por un sistema para que este sea utilizado por otros y evitar así que el resto de los sistemas implementen las mismas funcionalidades garantizando la reutilización y favoreciendo que la cohesión de cada sistema sea la más alta posible, razón que propicia que el acoplamiento entre estos sea bajo. Siendo favoreciendo la aplicación de buenas prácticas en el desarrollo del sistema.
• Observación: para analizar el desempeño de los trabajadores en la gestión de la información.
Importancia y actualidad del tema
El desarrollo de la investigación tuvo lugar en el departamento de Informática debido a que es el lugar donde surge la necesidad y donde están dadas todas las condiciones para llevar a cabo el estudio preliminar y la aplicación de los posibles resultados de la investigación.
El tema de la investigación es de gran importancia para el futuro desempeño de los actuales sistemas en desarrollo y de cualquier otro que surja más adelante y que además necesite manejar la información que maneja cualquiera de los sistemas antes mencionados.
Estructura del documento:
El documento cuenta con dos capítulos:
Capítulo1: Marco Teórico Conceptual. En este capítulo se describe todo los elementos teóricos que son necesarios para entender el uso de los servicios web y las tecnologías a utilizar en la solución del problema.
Capítulo 2: Diseño e implementación de la solución que permitirá hacer posible la integración de los sistemas del departamento.
CAPITULO 1: MARCO TEÓRICO CONCEPTUAL.
Introducción
En el presente capítulo se exponen los antecedentes de la integración entre sistemas, así como las características de la arquitectura a implementar para lograr el propósito de la investigación. Además también se expone información relacionada con los servicios web y su seguridad. Por último se investiga la infraestructura de la red en la ULT para así identificar otro de los indicadores a tener en cuenta para determinar hasta cual nivel de SOA será desarrollada la investigación.
Antecedentes en el proceso de integración de sistemas.
En la rama de la informática, la tendencia en cuanto a la integración de sistemas empresariales se basa en una evolución constante de las soluciones con este fin, las comunidades de desarrollo que existen a nivel mundial no se detienen ante los avances y continúan buscando mejorar o descubrir nuevas técnicas para lograr la comunicación entre sistemas. El fortalecimiento de esta área de la informática garantiza la reutilización de sistemas de muy buena calidad pero que en su momento no fueron concebidos para que funcionaran de forma colaborativa con otros que van surgiendo para resolver otros problemas relacionados con la soluciones brindadas pero que no fueron tenidos en cuentas durante el proceso de desarrollo de estos software ya desarrollados.
Los nuevos sistemas necesitan parte de la información que gestionan esos sistemas ya terminados por lo que reimplementar la misma solución en el nuevo desarrollo no es una salida razonable. Como alternativa a esta situación se propone la implementación de interfaces en los sistemas legados (los sistemas ya desarrollados y de los que se necesitan la información que en estos se maneja) a través de las cuales los nuevos desarrollos se podrán nutrir de la información constantemente actualizada por los sistemas legados.
Para lograr la integración entre sistemas, desde el surgimiento mismo de la necesidad, fueron propuestos un conjunto de ideas que luego evolucionaron en estándares bien documentados donde se utilizan las mejores prácticas de estas ideas precursoras y se agregan nuevos elementos que le brindan mayor calidad y prestigio a las soluciones propuestas. Ejemplos de estándares de integración que gozan de prestigio internacional: DICOM, HL7, IHE. Estos estándares están desarrollados especialmente para garantizar la comunicación entre sistemas de aplicación médica por lo que su uso en el problema en cuestión no es factible.
Existen otras técnicas para la integración de sistemas que no alcanzan la categoría de estándares debido a que carecen de una documentación que explique cómo deben ser especificados los perfiles de integración de los servicios que serán brindados con la utilización de estas técnicas, pero que gozan de aceptación debido a su amplio espectro de aplicación en el ámbito empresarial.
Los servicios web gozan de amplia popularidad debido a su estabilidad y confianza en la experiencia ganada por el tiempo de explotación y aplicación de esta solución.
Un servicio web es un sistema software diseñado para soportar la interoperabilidad máquina a máquina a través de una red. Este posee una interfaz descrita en un formato (WSDL) que puede ser procesado por una máquina. Otros sistemas interactúan con el servicio web utilizando mensajes SOAP los cuales se encuentran establecidos previamente. Entonces se puede decir que un servicio web es una comunicación por medio de mensajes SOAP entre diferentes equipos a través de una red.
Luego del análisis realizado se determina que los servicios webs son el medio fundamental para garantizar la integración entre los sistemas a desarrollar en el departamento.
El modelo de servicios web
El autor coincide con la definición que cita (Rodriguez,2007) donde se afirma que debe existir una serie de actividades esenciales a cumplirse para brindar un entorno de Servicios Web que permita explotar sus ventajas, las cuales incluyen:
• El Servicio Web debe ser creado y sus interfaces y métodos de invocación deben ser definidos.
• El Servicio Web debe ser publicado en repositorios de Internet o Intranets para su localización por los usuarios potenciales.
• Para invocarlo, primero debe ser localizado.
• La invocación se realiza por parte del usuario cliente de los servicios.
Las actividades que se precisan están encaminadas a establecer todos los elementos que permitan el asentamiento de las tecnologías a utilizar para garantizar la integración de los sistemas.
Primeramente cuando un proveedor desea habilitar un servicio, lo describe mediante un WSDL(Web Services Description Language) y lo registra en el directorio UDDI(Universal Description, Discover and Integration), el cual contiene una referencia a la descripción y al servicio. Cuando un consumidor va a ejecutar un servicio realiza una consulta al registro UDDI (1), este último le devuelve la descripción del servicio (2) que utiliza el cliente para crear un mensaje SOAP con la dirección del servicio (3) y comunicarse con este para realizar la petición. (Anexo 2)
Seguridad en los servicios web.
Tras realizar un análisis de las potencialidades y la forma en la que se pueden utilizar los servicios web se destaca un punto fundamental a tener en cuenta y está relacionado con la seguridad. Sobre todo cuando el alcance del empleo de un servicio web está “limitado” por las potencialidades y el alcance de Internet. Por tanto se hace necesario prestar especial atención sobre los niveles de seguridad que se pudieran establecer para controlar el acceso a estos servicios y proteger la información que manejan sus servicios.
Al momento de tratar la seguridad en servicios Web XML, es necesario considerar los siguientes puntos (Rodríguez, 2007):
• ¿Cuál es nuestro objetivo? Limitar el acceso a servicios Web XML a usuarios autorizados, evitar que los mensajes puedan ser visualizados por personas no autorizadas, etc.
• ¿Cómo vamos a cumplir con el objetivo deseado? Por medio de la red, capa de transporte, sistema operativo, servicio o aplicación.
• ¿Qué nivel de interoperabilidad deseamos y necesitamos en nuestra solución? Local o global.
• ¿Cómo se puede aumentar la seguridad de los servicios Web XML actuales?
Esto se consigue respondiendo a las preguntas anteriores y, a continuación, aplicando las mismas técnicas de seguridad que utilizaríamos para cualquier otra aplicación Web:
• Crear conexiones seguras.
• Autenticar y autorizar la interacción.
Estas técnicas ofrecen varias opciones que se pueden combinar para obtener beneficios adicionales. Por ejemplo, (Rodríguez 2007) propone un servidor de seguridad que puede funcionar con Servicios Web XML para limitar el acceso a ciertas funcionalidades (métodos) basándose en la identidad del cliente y las directivas definidas para cada cliente, además de no solo limitar el acceso a las funcionalidades del WS sino que el servidor mismo restrinja las conexiones a sí mismo.
Otro método para la seguridad de los servicios es referenciado por (Rodríguez, 2007), llamado Web Service Security donde describe mejoras a los mensajes SOAP para garantizar la protección por medio de integridad, confidencialidad y autenticación simple.
Arquitectura Orientada a Servicios (SOA).
La arquitectura a desarrollar, en la construcción de los sistemas, es una arquitectura orientada a servicios. Esta es un estilo de Arquitectura de Software basado en la definición de servicios reutilizables, con interfaces públicas bien definidas, donde los proveedores y consumidores de servicios interactúan en forma desacoplada. Se basa en cuatro abstracciones básicas: servicios, aplicación frontal, repositorio de servicios y bus de servicios.
Un servicio consiste en una implementación que provee lógica de negocio y datos, un contrato de servicio, las restricciones para el consumidor, y una interfaz que expone físicamente la funcionalidad, representa grupos lógicos de operaciones relacionadas a conceptos del negocio. Las aplicaciones frontales consumen los servicios formando procesos de negocios. Un repositorio de servicios almacena los contratos de servicios y el bus de servicios interconecta las aplicaciones frontales y los servicios.
Niveles de clasificación de SOA
Al abordar un proyecto de construcción o transformación de un sistema basado en SOA, se plantea el desafío de cómo definir y estructurar los niveles de SOA. Estos niveles están relacionados directamente con los tipos de servicios que se incluirán.
El nivel “Fundamental SOA” se compone de dos capas de abstracción: aplicación frontal y servicios básicos. Se identifican, definen e implementan servicios básicos del negocio que permitan que dos o más aplicaciones compartan la lógica de negocio. Aunque es un enfoque bastante simple provee las bases para ir avanzando hacia una SOA de mayor nivel.
El nivel de “Networked SOA” agrega la capa de abstracción de servicios intermediarios que pueden incluir servicios del tipo facades, technology gateways, adapters y funcionality-adding. El nivel de “Proccess-Enabled SOA” es el más completo, donde los procesos de la Organización se modelan en servicios orientados a procesos que mantienen además el estado. En este nivel se conjuntan el enfoque SOA con el de Bussiness Process Management(BPM), constituyendo el ideal del modelado de procesos en la Organización y su informatización independiente de la tecnología. Las applications frontend son más simples, y la capa de servicios intermediarios puede o no existir. Una ventaja de este nivel es que permite que la lógica de los procesos quede claramente separada del núcleo de lógica de negocio localizado en los servicios básicos.
En un ambiente SOA, los nodos de la red hacen disponibles sus recursos a otros participantes en la red como servicios independientes a los que se tiene acceso de un modo estandarizado. La mayoría de las definiciones de SOA identifican la utilización de servicios Web empleando SOAP (Simple Object Access Protocol) y WSDL (Web Services Description Language) en su implementación. La arquitectura orientada a servicios ofrece la ventaja de una integración fluida con la tecnología existente, sea cual sea la plataforma que se utilice.
Por lo tanto, en el desarrollo de esta investigación, teniendo en cuenta el despliegue tecnológico con el que se cuenta en la universidad y la experiencia de los desarrolladores en este tema; se plantea como alcance desarrollar solamente el Nivel Fundamental de la arquitectura SOA, para garantizar una sólida solución que sirva como bases en próximas investigaciones que continúen desarrollando los restantes niveles planteados por una SOA.
Estrategias de implementación de un proyecto SOA.
Antes de comenzar es imprescindible identificar cuáles son los principales elementos de la organización que propician llevar a cabo un proyecto SOA y las dependencias existentes entre el propio negocio y las tecnologías que lo soportan. Ignorar el contexto de la organización puede dar origen a un proyecto donde la infraestructura SOA se implante sin motivo o donde las inversiones realizadas no estén adecuadas con las necesidades y prioridades de la propia organización.
Existen dos tipos de estrategias para desarrollar una SOA. Las denominadas descendentes y ascendentes. Ambas poseen debilidades que pueden poner en riesgo el éxito de proyecto de esta categoría. Muchas organizaciones que han intentado poner en marcha una infraestructura SOA aplicando el enfoque descendente han descubierto luego que la infraestructura por fin se ha puesto en servicio que la misma está desconectada de las necesidades reales del negocio. Y a la inversa, un enfoque ascendente puede también fracasar porque puede originar una implementación caótica de servicios creados sin tener en cuenta los objetivos de la organización. Microsoft ha creado una estrategia híbrida denominada “término medio” que es una síntesis que equilibra las anteriormente mencionadas estrategias en una sola. Las prioridades de la organización y la visión estratégica se emplean para establecer con claridad el rumbo y las prioridades del proyecto en primer lugar. Luego se inicia un proceso iterativo de múltiples pasos orientados a crear pequeños fragmentos de funcionalidades según las necesidades de la organización. Luego en cada iteración se entrega a la organización una nueva aplicación dinámica que se utiliza para probar si el trabajo hecho hasta el momento se ajusta a las necesidades de la organización. Esta estrategia tiene la ventaja de propiciar una rápida puesta en funcionamiento y genera resultados en todos sus pasos incrementales e iterativos, facilitando un correcto alineamiento de los recursos con las condiciones del negocio, aunque varíen éstas con el tiempo. (Microsoft Corporation ,2006)
Tecnologías de desarrollo.
Para conocer como se realiza el intercambio de mensajes en los Servicios Web debemos primero saber cuáles son los elementos fundamentales que lo componen, estos son el XML, SOAP, WSDL, y UDDI. También son utilizadas otras tecnologías que están asociadas al desarrollo a realizar, las cuales serán descrita más adelante.
Extensible Markup Language (XML):
XML, es el estándar de Extensible Markup Language (Lenguaje Extensible de Marca). No es más que un conjunto de reglas para definir etiquetas semánticas que nos organizan un documento en diferentes partes. Es un metalenguaje que define la sintaxis utilizada para definir otros lenguajes de etiquetas estructurados.
Su desarrollo se comenzó en 1996 y la primera versión salió a la luz el 10 de febrero de 1998. La primera definición que apareció fue: Sistema para definir, validar y compartir formatos de documentos en la web. Durante el año 1998 XML tuvo un crecimiento exponencial, en medios de comunicación, menciones en páginas web, soporte software, siendo sus objetivos los siguientes:
• XML debe ser directamente utilizable sobre Internet.
• XML debe soportar una amplia variedad de aplicaciones.
• Debe ser fácil la escritura de programas que procesen documentos XML.
• El número de características opcionales en XML debe ser absolutamente mínima, idealmente cero.
• Los documentos XML deben ser legibles por humanos y razonablemente claros.
• El diseño de XML debe ser preparado rápidamente.
• El diseño de XML debe ser formal y conciso.
• Los documentos XML deben ser fácilmente creables.
• La concisión en las marcas XML es de mínima importancia.
Simple Object Access Protocol (SOAP)
Es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML. SOAP es uno de los protocolos utilizados en los Servicios Web.
Según González (2007), las ventajas más significativas de SOAP son:
• No está asociado a ningún lenguaje.
• No se encuentra fuertemente asociado a ningún protocolo de transporte.
• No está atado a ninguna infraestructura de objeto distribuido.
• Aprovecha los estándares existentes en la industria.
• Permite la interoperabilidad entre múltiples entornos.
Web Service Description Language (WSDL)
Es una especificación que define como describir un servicio web en una gramática XML común. WSDL describe cuatro partes críticas de datos:
- Interfaz de información que describe las funciones públicas (Gomez, 2007) disponibles.
- Información sobre los tipos de datos para los mensajes de solicitud y respuesta.
- Información de enlaces acerca del protocolo de transporte a ser usado.
- Información sobre la dirección para localizar el servicio especificado.
En otras palabras un WSDL representa un contrato entre el cliente del servicio y el proveedor del mismo.
Universal Description, Discovery and Integration (UDDI)
Es una especificación técnica para describir, descubrir e integrar servicios webs. Es una parte crítica del protocolo establecido para la comunicación, posibilitando a empresas publicar así como descubrir servicios webs. Esta tecnología sirven como infraestructura para aplicaciones distribuidas basadas en Servicios Web.(Rodríguez, 2007)
Servidor web Apache
Es un servidor HTTP de código abierto para plataformas Unix (BSD, GNU/Linux), Windows y otras. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular servidor web NCSA HTTPd 1.3, pero más tarde fue reescrito por completo. Es el servidor Web más utilizado en el mundo. Su costo gratuito, gran fiabilidad y extensibilidad le convierten en una herramienta potente y muy fiable. Es un software que está estructurado en módulos. La configuración de cada módulo se hace mediante la configuración de las directivas que están contenidas dentro del módulo. Los módulos del Apache se pueden clasificar en tres categorías: (Cuenca, 2007)
Módulos Base: Módulo con las funciones básicas del Apache.
Módulos Multiproceso: Son los responsables de la unión con los puertos de la máquina, aceptando las peticiones y enviando a los hijos a atender a las peticiones.
Módulos Adicionales: Cualquier otro módulo que le añada una funcionalidad al servidor.
Las funcionalidades más elementales se encuentran en el módulo base, siendo necesario un módulo multiproceso para manejar las peticiones. Se han diseñado varios módulos multiproceso para cada uno de los sistemas operativos sobre los que se ejecuta el Apache, optimizando el rendimiento y la rapidez del código. (Cuenca, 2007)
Php
Es un lenguaje de secuencias de comandos diseñado específicamente para la Web, embebido en páginas HTML y ejecutado en el servidor. Las siglas PHP equivalían inicialmente a Personal Home Page (página de inicio personal), pero se modificaron de acuerdo con la convención de designación de GNU y ahora equivale a PHP Hipertext Preprocessor (Preprocesador de hipertexto PHP). (Welling, 2003)
Algunas de las más importantes capacidades de PHP son: compatibilidad con las bases de datos más comunes, como MySQL, MSSQL, mSQL, Oracle, Informix y ODBC. Incluye funciones para el envío de correo electrónico, upload de archivos, crear dinámicamente en el servidor imágenes en formato GIF, entre otras utilidades. PHP es la gran tendencia en el mundo de Internet.
Este lenguaje corre en 7 plataformas, funciona en 11 tipos de servidores, ofrece soporte para unos 20 Gestores de Bases de Datos
CodeIgniter
Es un Framework diseñado para el desarrollo de aplicaciones en PHP. Es Open Source, tiene una interfaz simple y el acceso a sus librerías está correctamente estructurado. Es liviano, cuenta con una amplia documentación, bastante fácil de instalar y es utilizado por una gran comunidad de usuarios. Construido para codificadores PHP que necesitan una herramienta de desarrollo fácil, para crear aplicaciones Web simples y elegantes. Entre sus características se pueden encontrar: su compatibilidad con PHP 4 y PHP 5, incorpora el modelo MVC, soporte para múltiples bases de datos, plantillas y validaciones. Incluye un gran número de librerías con elevada cantidad de clases. Aprovecha los recursos de la computadora y el rendimiento es excepcional. Además es altamente compatible con una gran variedad de versiones y configuraciones de PHP. (Sacristán, 2007)
JavaScript
Se trata de un lenguaje de programación del lado del cliente, porque es el navegador el que soporta la carga de procesamiento. Gracias a su compatibilidad con la mayoría de los navegadores modernos, es el lenguaje de programación del lado del cliente más utilizado. Con JavaScript se puede crear efectos especiales en las páginas y definir interactividades con el usuario. El navegador del cliente es el encargado de interpretar las instrucciones JavaScript y ejecutarlas para realizar estos efectos e interactividades, de modo que el mayor recurso, y tal vez el único, con que cuenta este lenguaje es el propio navegador. Es un lenguaje de programación bastante sencillo y pensado para hacer las cosas con rapidez, a veces con ligereza. (Alvarez,2007)
Json
Es una notación Javascript para escribir o codificar objetos, es un formato ligero para almacenar información que deseamos compartir entre distintos componentes o lenguajes de las aplicaciones Web.
Sistemas de Gestión de Bases de Datos (SGBD)
Los Sistemas Gestores de Bases de Datos son un tipo de software muy específico, dedicado a servir de interfaz entre las bases de datos y las aplicaciones que la utilizan. El objetivo fundamental de un SGBD consiste en suministrar al usuario las herramientas que le permitan manipular, en términos abstractos, los datos, o sea, de forma que no le sea necesario conocer el modo de almacenamiento de los datos en la computadora, ni el método de acceso empleado.
Postgresql:
Servidor de Bases de Datos Objeto-Relacional libre, liberado bajo la licencia BSD. Como muchos otros proyectos Open Source, el desarrollo de PostgreSQL no es manejado por una sola compañía, sino que es dirigido por una comunidad de desarrolladores y organizaciones comerciales las cuales trabajan en su desarrollo, dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group). Este gestor de Bases de Datos además de ser potente, implementa el estándar SQL92/SQL99.
Entre sus principales ventajas constan las siguientes:
• Añade funciones de diversa índole: Manejo de fechas, geométricas y orientadas a operaciones con redes.
• Permite la declaración de funciones propias: Así como la definición de disparadores.
• Soporta el uso de índices, reglas y vistas: Incluye herencia entre tablas (aunque no entre objetos, ya que no existen) por lo que a este gestor de bases de datos se le incluye entre los gestores objeto-relacionales.
• Admite la gestión de diferentes usuarios: Como también los permisos asignados a cada uno de ellos.
Por otro lado, la velocidad de respuesta que ofrece este gestor con bases de datos relativamente pequeñas puede parecer un poco deficiente, aunque esta misma velocidad la mantiene al gestionar bases de datos realmente grandes, cosa que resulta loable.
CONCLUSIONES
Luego de realizado el análisis correspondiente al marco teórico descrito en la investigación se pueden concluir los siguientes puntos.
• Para solucionar el problema indicado es necesario la implementación de una SOA con el objetivo de lograr la integración de los sistemas del departamento de Informática, siendo necesario el uso de servicios Web debido a las facilidades que brindan, así como su variabilidad y modularidad.
• La estrategia de implementación a seguir, en la investigación, es la denominada “término medio” debido a las ventajas que propicia su ejecución.
• La implementación de una SOA debe estar ligado a las necesidades de la organización por lo tanto en el contexto actual, en el departamento de informática, aún no existen las condiciones para establecer los niveles superiores a una arquitectura de nivel fundamental, tanto en el aspecto tecnológico como en términos de procesos de negocio.
BIBLIOGRAFÍA
1. Alvarez Pedro, Jose Angel Bañares. Conceptos y estandares de arquitecturas orientadas a servicios web. [Digital]
2. Bray, T; et al. Extensive Markup language (XML) 1.0 (Fourth Edition) [en línea] septiembre 2006. Disponible en: http://www.w3.org/TR/xml
3. Brea, Orlando F. Desarrollo Web. Servicios Web con PHP. [En línea] [Citado el: 27 de 10 de 2010.] http://www.desarrolloweb.com.
4. Ceramic, Ethan. Web Services essencials.
5. Corporation, Microsoft. La arquitectura orientada a servicios (SOA) de Microsoft aplicada al mundo real. Diciembre 2006.
6. Cuenca, Carlos Luis. Desarrollo Web. [En línea] http://www.desarrolloweb.com/articulos/1112.php.
7. Andrea Delgado, Laura Gonzalez, Federico Piedrabuen.Desarrollo de aplicaciones con enfoque SOA. a. Montevideo, Uruguay : s.n.
8. Erl, Thomas. Service-Oriented Architecture: Concepts, Tecnology and Design.
9. Gomez, Karel. 2007. Centro de Control para el Sistema de Información para la Salud. La Habana : s.n., 2007.
10. Gonzalez, Ilsa Elena Yurel. Propuesta de Ambiente de Desarrollo para el Área Temática Sistemas de Apoyo a la Salud. La Habana, Cuba: s.n.,2008
11. González, B. Servicios Web en plataforma .NET [en línea]. Disponible en: http://www.desarrolloweb.com/manuales/54/
12. Marin Sanchez Jacqueline, Acosta Montejo Carlos. 2007. Registro de la Clasificacion Internacional de Enfermedades y Problemas relacionados con la Salud del Sistema de Información para la Salud. La Habana, Cuba : s.n., 2007.
13. Martínez Noris, Liuska. Sitio Web para potenciar el conocimiento de la Cultura Caribeña. Las Tunas, Cuba: s.n., 2010
14. Pérez Valenzuela, M. Brecha digital, marcada diferencia entre ricos y pobres [en línea] abril de 2007. Disponible en: http://www.radiorebelde.com.cu/noticias/comentarios/comentarios1-160407.htm
15. Rodriguez, Rafael. Conferencia de Arquitectura Orientada a Servicios. La Habana, Cuba : s.n.
16. —. Conferencia Principios SOA. La Habana : s.n.
17. Rodriguez Gonzalez, Rolando. Sistema de Servicios Web para la integración de los datos en las aplicaciones de gestión en el Centro Universitario de Las Tunas. Las Tunas, Cuba: s.n, 2007
18. Sacristán., Luis. 2007. CodeIgniter: framework para PHP. [En línea] 2007. http://sentidoWeb.com/2007/04/24/codeigniter-framework-para-php.php.
19. Welling, Laura Thomson Luke. 2003. Desarrollo web con PHP y MySQL. s.l. : ANAYA Multimedia, 2003.
ANEXOS
Anexo 1
La entrevista
Este método fue utilizado en el levantamiento de la información en el Sistema de Gestión Docente del Departamento.
Preguntas:
1- ¿Cuál es el objetivo fundamental del sistema?
2- ¿Sobre cual dominio de información se centra la gestión que se realiza a través del sistema?
3- ¿Qué información se maneja específicamente sobre los profesores?
4- A cuales procesos esta gestión de la información podría tributar datos importantes.
|
Los autores interesados deben enviar sus textos en formato DOC a: lisette@eumed.net junto a un resumen actualizado de su CV.
Director |
|