Coscore Núcleo de Soporte de Operación de la arquitectura basada en Cotsgets

¿Qué es COScore Community?


Es una infraestructura de servicios para gestionar interfaces de usuario basadas en componentes. En general, el software necesita ser cambiado, modificado y actualizado para los usuarios que lo demandan. Por este motivo, nuevos proyectos y propuestas surgen en los últimos años para construir interfaces de usuario personalizadas a través de la configuración de componentes de los cuales el usuario quiere hacer uso. Por eso, en este tipo de aplicaciones, el usuario tiene normalmente una Interfaz de Usuario Gráfica (IUG) disponible que puede ser configurada para crear su propio escritorio de trabajo. Este tipo de interfaces se construye desde componentes gráficos de alta o media granularidad que se agrupan, junto a algunas funcionalidades relacionadas con cada uno y da lugar a las aplicaciones mashup basadas en widgets.


En concreto, el trabajo se centra en la gestión dinámica de IU basadas en componentes. Los tres pilares en los que se basa son:


Ingeniería del Software basada en Componentes (Component-based Software Engineering, CBSE) que es una disciplina de la ingeniería del software que mejora el desarrollo del software a través de la reutilización, y la reducción del tiempo requerido para crear tal software. Contrario al desarrollo de software tradicional, CBSE se centra en integrar componentes software construidos previamente al desarrollo del sistema. Nuestra propuesta requiere que la interfaz de usuario sea definida por medio de un conjunto de componentes, en la cual cada componente de la aplicación representa un componente individual de la interfaz. Estos componentes de IUG que están disponibles en uno o más repositorios gestionados por terceros y se utilizan para la construcción (en tiempo de ejecución) de la estructura de interfaz de usuario. Los componentes de IU, en nuestra propuesta, se llaman COTSgets, una combinación de los términos COTS (Commercial Off-The-Shelf) y gadgets (entendiendo como "gadget" algún software que puede trabajar sólo o como una pieza de la arquitectura).


Ingeniería Dirigida por Modelos (Model-Driven Engineering, MDE). Esta disciplina de la ingeniería del software se centra en la construcción de modelos en diferentes niveles de abstracción, facilitando la especificación del software, y proporcionando diferentes mecanismos para automatizar el desarrollo de productos finales por mediación del uso de técnicas de transformación de modelos.


Computación en la Nube (Cloud Computing). Entre los diferentes elementos que ofrece la computación en la nube, para este trabajo es interesante beneficiarse del uso de Software como Servicio (Software-as-a-Service, SaaS) y especialmente de los Modelos como Servicio (Models-as-a-Service, MaaS) que son elementos software de alto nivel de abstracción y están disponibles bajo demanda.


Por lo tanto, inspirado por el uso de estos componentes y utilizando los modelos como servicios se dispone de un mecanismo para acceder a estos modelos a través de servicios web desplegados en la nube, para ello se ha creado un servicio en la nube llamado COTSgets como Servicio (COTSgets-as-a-Service).

Documentación


Ejemplo


Login: Utilizando SOAP podemos llamar al web service de COScore Community que nos permite iniciar sesión en el sistema. La operación Login se puede consultar en el descriptor de servicio Session Web Service.

Petición COScore Community

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.cos.acg.ual.es/">
  <soapenv:Header/>
  <soapenv:Body>
    <ws:login>
      <params>
        <userName> nombre@prueba.com </userName>
        <userPassword> 1234 </userPassword>
      </params>
    </ws:login>
  </soapenv:Body>
</soapenv:Envelope>

Enviamos a COScore Community el Xml con el usuario "nombre@prueba.com" y password "1234".


Respuesta COScore Community

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <ns2:loginResponse xmlns:ns2="http://ws.cos.acg.ual.es/">
      <result>
        <validation> true </validation>
        <userID> 15 </userID>
        <message> > Modules initialized </message>
     </result>
    </ns2:loginResponse>
  </soap:Body>
</soap:Envelope>

COScore Community responde con el Xml en el que se indica si la operación ha tenido éxito e indica el ID del usuario en el sistema, en este caso "15". En caso de haber un error el sistema lo comunica devolviendo false y además especificando en el campo mensaje el tipo de error.


Logout: Utilizando SOAP podemos llamar al web service de COScore Community que nos permite cerrar sesión en el sistema. La operación Logout se puede consultar en el descriptor de servicio Session Web Service.


Petición COScore Community

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.cos.acg.ual.es/">
  <soapenv:Header/>
  <soapenv:Body>
    <ws:logout>
      <params>
        <userId> 15 </userID>
      </params>
    </ws:logout>
  </soapenv:Body>
</soapenv:Envelope>

Eviamos a COScore Community el Xml con el ID de usuario "15".


Respuesta COScore Community

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <ns2:logoutResponse xmlns:ns2="http://ws.cos.acg.ual.es/">
      <result>
        <deleted> true </deleted>
        <message> > Modules deleted </message>
      </result>
    </ns2:logoutResponse>
  </soap:Body>
</soap:Envelope>

COScore Community responde con el Xml en el que se indica si la operación ha tenido éxito. En caso de haber un error el sistema lo comunica devolviendo false y además especificando en el campo mensaje el tipo de error.

Caso de Estudio


Nosotros

¿Quién está detrás de COScore Community?

¿Puedes colaborar con nosotros?

Por supuesto que sí, COScore Community está publicado bajo los términos de la GNU General Public License de la Free Software Foundation así que eres libre de contribuir al proyecto. El código fuente está en GitHub.



Contacto


Datos de contacto

Edif. Científico Técnico, CITE-III
Universidad de Almería
Almería, España.
04120

acg.tic211@ual.es