Servicios Web

Versión 1.1

Introducción

Muchas de las operaciones devuelven el bean DistributionMedea. Esta clase dispone de dos listas de String, una de valores y otra de probabilidades, representando de esta forma una distribución de valores (el valor de la posición i tiene la probabilidad de la posición i).

Operaciones

reportEvidence

void reportEvidence(String idLRRequest, String idStudentLR, String activity, 
                    String date,        String mark,        String resource)

Descripción:

Registra una nueva evidencia (nota) de un alumno sobre una determinada actividad y para un determinado concepto y fecha especificada.

Parámetros:

  • idLRRequest: identificador del recurso de aprendizaje que solicita el registro de la evidencia.
  • idStudentLR: identificador del estudiante en el recurso de aprendizaje que hace la petición.
  • activity: actividad que ha generado la evidencia
  • data: fecha de la evidencia, si no se especifica se usará la fecha actual. Formato dd-MM-yyyy.
  • mark: nota.
  • resource: identificador del recurso que genera la evidencia: 1 - Componente; 2 - Profesor; 3 - Estudiante.

reportEvidences

void reportEvidences(String idLRRequest, String idStudentLR, String marksXML)

Descripción:

Registra un conjunto de evidencias de un alumno representadas en un fichero XML.

Parámetros:

  • idLRRequest: identificador del recurso de aprendizaje que solicita el registro de evidencias.
  • idStudentLR: identificador del estudiante en el recurso de aprendizaje que hace la petición.
  • marksXML: conjunto de evidencia, cadena de caracteres que contiene el conjunto de evidencias en formato XML.

Fichero XML:

El fichero XML tendrá la siguiente estructura (DTD):

  <!ELEMENT Marks (Mark+)>
  <!ELEMENT Mark(EMPTY)>
  <!ATTLIST Mark date     CDATA #REQUIRED 
                 mark     CDATA #REQUIRED 
                 activity CDATA #REQUIRED 
                 resource CDATA #REQUIRED>

El campo date debe estar en el siguiente formato: "dd-mm-YYYY HH:mm:ss". Ejemplo: "22-02-2010 17:12:00". El campo resource debe contener uno de los siguientes valores: 1 (componente), 2 (profesor) ó 3 (estudiante).

reportActivity

void reportActivity(String  idLRRequest, String idActivity,  String nameActivity, 
                    String  evalTypeXML, String conceptsXML, Integer relevance, 
                    Boolean ignore)
Descripción:

Registra una nueva actividad.

Parámetros:

  • idLRRequest: identificador del recurso de aprendizaje que suministra la actividad.
  • idActivity: identificador de la actividad.
  • nameActivity: nombre de la actividad.
  • evalTypeXML: XML con la información del tipo de datos de la evaluación.
  • conceptsXML: XML que asocia conceptos a esta actividad.
  • relevance: relevancia de la actividad (1 - baja, 2 - media, 3 - alta, null - default). Mayor relevancia indica que se requiere más conocimiento para realizarla correctamente.
  • ignore: indica si la actividad se tendrá o no en cuenta a la hora de generare el modelo del estudiante.

Fichero evalTypeXML :

El fichero tendrá la siguiente estructura (DTD), en caso de que la evaluación sea de tipo real (la única soportada en la versión 1.1):

  <!ELEMENT DataType>	
  <!ATTLIST type (Real) #REQUIRED lowerBoundary CDATA #REQUIRED upperBoundary CDATA #REQUIRED

Ejemplo:

  <DataType type="Real" lowerBoundary="0" upperBoundary="100"></DataType>

Fichero conceptsXML:

El fichero tendrá la siguiente estructura(DTD):

  <!ELEMENT Ontology (Concept+)>
  <!ATTLIST Ontology url CDATA #REQUIRED>
  <!ELEMENT Concept(EMPTY)>
  <!ATTLIST Concept id CDATA #REQUIRED relevance CDATA #REQUIRED>

Ejemplo:

<Ontology url="http://urano.lcc.uma.es/samuel/ontologias/HogarDigital.owl">
  <Concept id="B0102" relevance="75" />
  <Concept id="B0801" relevance="50" />
</Ontology>

requestKnowledge

DistributionMedea requestKnowledge(String idLRRequest,          String idStudentLR, String concept, 
                                   List<String> idLRReportList, String urlOntology, Calendar date, 
                                   int windowSize,              int windowType,     int method)

Descripción:

Obtiene el conocimiento del alumno de un determinado concepto dándole el mismo peso a todas las evidencias.

Parámetros:

  • idLRRequest: identificador del recurso de aprendizaje que hace la petición.
  • idStudentLR: identificador del estudiante en el recurso de aprendizaje que hace la petición.
  • concept: concepto del que se quiere saber el nivel de conocimiento.
  • idLRReportList: lista de recursos de aprendizaje del que provienen las evidencias de conocimiento.
  • urlOntology: URL de la ontología (Owl) a la que pertenece el concepto.
  • date: fecha para la que se desea consultar el conocimiento del alumno.
  • windowSize: tamaño de ventana (en días o en número de evidencias, según el parámetro windowType) en la que se asume que el conocimiento del alumno no cambia.
  • windowType: tipo de ventana: 1 para ventana tipo número evidencias y 2 para ventana tipo número de días.
  • method: método de acumulación de evidencias: 1 para Graded Response Model y 2 para Bayes.

Salida:

Conocimiento del alumno en formato distribuido.

requestKnowledgeWeighted

DistributionMedea requestKnowledgeWeighted(String idLRRequest,          String idStudentLR, String concept, 
                                           List<String> idLRReportList, String urlOntology, Calendar date, 
                                           int windowSize,              int windowType,     int method)

Descripción:

Obtiene el conocimiento del alumno de un determinado concepto dándole más peso a las evidencias más recientes.

Parámetros:

  • idLRRequest: identificador del recurso de aprendizaje que hace la petición.
  • idStudentLR: identificador del estudiante en el recurso de aprendizaje que hace la petición.
  • concept: concepto del que se quiere saber el nivel de conocimiento.
  • idLRReportList: lista de recursos de aprendizaje del que provienen las evidencias de conocimiento.
  • urlOntology: URL de la ontología (Owl) a la que pertenece el concepto.
  • date: fecha para la que se desea consultar el conocimiento del alumno.
  • windowSize: tamaño de ventana (en días o en número de evidencias, según el parámetro windowType) en la que se asume que el conocimiento del alumno no cambia.
  • windowType: tipo de ventana: 1 para ventana tipo número evidencias y 2 para ventana tipo número de días.
  • method: método de acumulación de evidencias: 1 para Graded Response Model y 2 para Bayes.

Salida:

Conocimiento del alumno en formato distribuido.

requestGroupKnowledge

DistributionMedea requestGroupKnowledge(String idLRRequest,          List<String> group, String concept, 
                                        List<String> idLRReportList, String urlOntology, Calendar date, 
                                        int windowSize,              int windowType,     int method, 
                                        boolean removeEmptyStudents)

Descripción:

Obtiene el conocimiento de un grupo en un determinado concepto, dándole el mismo peso a todas las evidencias.

Parámetros:

  • idLRRequest: identificador del recurso de aprendizaje que hace la petición.
  • group: lista de identificadores de estudiantes en el recurso de aprendizaje que hace la petición.
  • concept: concepto del que se quiere saber el nivel de conocimiento.
  • idLRReportList: lista de recursos de aprendizaje del que provienen las evidencias de conocimiento.
  • urlOntology: URL de la ontología (Owl) a la que pertenece el concepto.
  • date: fecha para la que se desea consultar el conocimiento del alumno.
  • windowSize: tamaño de ventana (en días o en número de evidencias, según el parámetro windowType) en la que se asume que el conocimiento del alumno no cambia.
  • windowType: tipo de ventana: 1 para ventana tipo número evidencias y 2 para ventana tipo número de días.
  • method: método de acumulación de evidencias: 1 para Graded Response Model y 2 para Bayes.
  • removeEmptyStudents: si el valor es true no se tienen en cuenta los estudiantes sin evidencias, si es false sí se tienen en cuenta.

Salida:

Conocimiento del grupo en formato distribuido.

requestGroupKnowledgeWeighted

DistributionMedea requestGroupKnowledgeWeighted(String idLRRequest,          List<String> group, String concept, 
                                                List<String> idLRReportList, String urlOntology, Calendar date, 
                                                int windowSize,              int windowType,     int method, 
                                                boolean removeEmptyStudents)

Descripción:

Obtiene el conocimiento de un grupo en un determinado concepto, dándole más peso a las evidencias más recientes.

Parámetros:

  • idLRRequest: identificador del recurso de aprendizaje que hace la petición.
  • group: lista de identificadores de estudiantes en el recurso de aprendizaje que hace la petición.
  • concept: concepto del que se quiere saber el nivel de conocimiento.
  • idLRReportList: lista de recursos de aprendizaje del que provienen las evidencias de conocimiento.
  • urlOntology: URL de la ontología (Owl) a la que pertenece el concepto.
  • date: fecha para la que se desea consultar el conocimiento del alumno.
  • windowSize: tamaño de ventana (en días o en número de evidencias, según el parámetro windowType) en la que se asume que el conocimiento del alumno no cambia.
  • windowType: tipo de ventana: 1 para ventana tipo número evidencias y 2 para ventana tipo número de días.
  • method: método de acumulación de evidencias: 1 para Graded Response Model y 2 para Bayes.
  • removeEmptyStudents: si el valor es true no se tienen en cuenta los estudiantes sin evidencias, si es false sí se tienen en cuenta.

Salida:

Conocimiento del grupo en formato distribuido.

requestEvidences

DistributionMedea requestEvidences(String idStudentLR,          String idLRRequest, String concept, 
                                   List<String> idLRReportList, String urlOntology, Calendar date, 
                                   int windowSize,              int windowType)

Descripción:

Obtiene las evidencias de un alumno sobre un determinado concepto.

Parámetros:

  • idStudentLR: identificador del estudiante en el recurso de aprendizaje que hace la petición.
  • idLRRequest: identificador del recurso de aprendizaje que hace la petición.
  • concept: concepto del que se quiere saber el nivel de conocimiento.
  • idLRReportList: lista de recursos de aprendizaje del que provienen las evidencias de conocimiento.
  • urlOntology: URL de la ontología (Owl) a la que pertenece el concepto.
  • date: fecha para la que se desea consultar las evidencias del alumno.
  • windowSize: tamaño de ventana (en días o en número de evidencias, según el parámetro windowType) donde han de encontrarse las evidencias.
  • windowType: tipo de ventana: 1 para ventana tipo número evidencias y 2 para ventana tipo número de días.

Salida:

Lista de evidencias.

Ontología

La ontología usada para especificar los temas y sus relaciones debe tener la siguiente estructura:

<rdf:RDF
   xmlns="http://example.com/samuel/SAMUEL.owl#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
   xmlns:owl="http://www.w3.org/2002/07/owl#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:dcterms="http://purl.org/dc/terms/"
   xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#">

<owl:Class rdf:about="http://example.com/SAMUEL.owl#Concept">
  <rdfs:label>Concept</rdfs:label>
</owl:Class>

<Concept rdf:about="#ID1">
  <rdfs:label>IHD_01 - Instalaciones y equipos del HOGAR DIGITAL</rdfs:label>
  <vcard:SORT-STRING>1</vcard:SORT-STRING>
</Concept>

<Concept rdf:about="#ID2">
  <rdfs:label>Conexión a servicios externos de comunicación en el hogar digital</rdfs:label>
  <vcard:SORT-STRING>1</vcard:SORT-STRING>
  <dcterms:isPartOf rdf:resource="#ID1"/>
  <rdf:type rdf:resource="http://example.com/SAMUEL.owl#Concept"/>
</Concept>

<Concept rdf:about="#ID6">
  <rdfs:label>Infraestructuras comunes de telecomunicaciones ICT</rdfs:label>
  <vcard:SORT-STRING>1</vcard:SORT-STRING>
  <dcterms:isPartOf rdf:resource="#ID2"/>
  <rdf:type rdf:resource="http://example.com/SAMUEL.owl#Concept"/>
</Concept>

<Concept rdf:about="#ID7">
  <rdfs:label>Instalaciones de fibra óptica</rdfs:label>
  <vcard:SORT-STRING>2</vcard:SORT-STRING>
  <dcterms:isPartOf rdf:resource="#ID2"/>
  <rdf:type rdf:resource="http://example.com/SAMUEL.owl#Concept"/>
</Concept>

<Concept rdf:about="#ID3">
  <rdfs:label>Red de comunicación en el hogar digital</rdfs:label>
  <vcard:SORT-STRING>2</vcard:SORT-STRING>
  <dcterms:isPartOf rdf:resource="#ID1"/>
  <rdf:type rdf:resource="http://example.com/SAMUEL.owl#Concept"/>
</Concept>

<Concept rdf:about="#ID8">
  <rdfs:label>Infraestructuras básicas de red local</rdfs:label>
  <vcard:SORT-STRING>1</vcard:SORT-STRING>
  <dcterms:isPartOf rdf:resource="#ID3"/>
  <rdf:type rdf:resource="http://example.com/SAMUEL.owl#Concept"/>
</Concept>

<Concept rdf:about="#ID9">
  <rdfs:label>Instalación y configuración de redes de área local LAN</rdfs:label>
  <vcard:SORT-STRING>2</vcard:SORT-STRING>
  <dcterms:isPartOf rdf:resource="#ID3"/>
  <rdf:type rdf:resource="http://example.com/SAMUEL.owl#Concept"/>
</Concept>

<rdf:Description rdf:about="#ID9">
  <dcterms:requires rdf:resource="#ID8"/>
</rdf:Description>

</rdf:RDF>

Donde Concept es la clase que representa a un tema, rdf:about es el id del tema, rdfs:label es el nombre del tema, dcterms:isPartOf es la relación tema-subtema apuntando al id del tema padre yvcard:SORT-STRING es el orden del tema (orden entre temas del mismo nivel, es decir, temas hermanos). Además, se pueden especificar relaciones de prerrequisitos entre temas. Para ello se usa el elemento dcterms:requires, indicando el id del concepto requerido. De este modo, el parametro urlOntology de las operaciones anteriores debe ser un enlace a una ontología owl que siga el formato anterior.

Redmine Appliance - Powered by TurnKey Linux