Los traductores del LIS son una forma de traducir las solicitudes del LIS en solicitudes del IPSIS genéricas. Esto permite que el IPSIS siempre use un lenguaje común para comunicarse con Brightspace en lugar de que el LIS (y otras normas y soluciones patentadas) interactúen directamente con Brightspace. Esto también habilita a un único conjunto de controladores que pueden utilizarse independientemente de la solución de integración del SIS (LIS, SIF, patentado).
En la mayoría de los casos, se utiliza un conjunto de traductores (lo que se conoce como una lista de configuración). Cada uno de ellos cumple una función para completar una tarea. Debido a que cada traductor cumple una pequeña función, pueden configurarse fácilmente de diferentes formas para ofrecer una gama de alternativas muy flexibles en función de las necesidades empresariales de una institución específica.
Los traductores se implementan según las convenciones de traductores del LIS, lo que ayudará a las organizaciones a comprender las diversas opciones de traductores que están disponibles.
El adaptador del LIS define un conjunto de interfaces de traductores que son específicas para los tipos de objetos que se envían desde el SIS a través de las solicitudes del LIS. Cada interfaz tiene un conjunto de traductores que implementan la interfaz con el fin de aplicar una regla específica de traducción/asignación. En la mayoría de los casos, no existe una gran cantidad de traductores para elegir porque las reglas de asignación son genéricas y reutilizables (por ejemplo, Fecha de inicio del curso); sin embargo, en otros casos, existen muchos traductores porque el mensaje del LIS contiene varios campos que pueden ser apropiados para asignar a un campo de Brightspace (por ejemplo, Título del curso).
Las interfaces del traductor se definen dentro del adaptador del LIS y son utilizadas por los distintos Servicios del LIS. Cada uno de ellos tiene su propia documentación que contiene descripciones de los traductores disponibles para la interfaz, así como algunas listas de configuración de las plantillas de los traductores que representan situaciones comunes de configuración.
Convenciones de nombre de traductores del LIS
Los nombres de los traductores deben ser descriptivos e incluir suficientes detalles para indicar qué campos se están traduciendo, así como si el traductor es obligatorio u opcional. En la mayoría de los casos, los traductores realizan solo la cantidad mínima de trabajo, de modo que puedan reutilizarse tanto como sea posible.
Solo se utiliza uno de los siguientes términos en el nombre de un traductor:
- Use Base en el nombre para indicar que se trata de un traductor de base (también implica que este o un traductor base alternativo son obligatorios).
- Use Required en el nombre de los campos obligatorios.
- Use Optional en el nombre de los campos opcionales.
La estructura general del nombre de un traductor es la siguiente:
<request name><mapped to (sometimes used)><fields translated><base, required, or optional>Translator
Ejemplos
- CourseSectionRequestBaseTranslator:
- Esta es una estructura para una solicitud CourseSectionRequest.
- Este es el traductor Base.
- CourseSectionRequestDepartmentRequiredTranslator:
- Esta es una estructura para una solicitud CourseSectionRequest.
- Este traductor intentará captar el campo Departamento de la solicitud del LIS.
- Este es un traductor Required (obligatorio) (generará una excepción si el campo Departamento no se completó en la solicitud del LIS).
- CourseSectionRequestSemesterOptionalTranslator:
- Esta es una estructura para una solicitud CourseSectionRequest.
- Este traductor intentará captar el campo Semestre de la solicitud del LIS.
- Este es un traductor Optional (opcional) (no generará una excepción si el campo Semestre no se completó en la solicitud del LIS).
- CourseOfferingRequestDepOrgNameOptionalTranslator:
- Esta es una estructura para una solicitud CourseOfferingRequest.
- Este traductor intentará captar el campo OrgName de la solicitud del LIS y asignarlo al campo Departamento en el IPSIS.
- Este es un traductor Optional (opcional) (no generará una excepción si el campo Semestre no se completó en la solicitud del LIS).
Convenciones sobre el patrón de diseño de traductores del LIS
Los traductores del LIS siguen una separación simple del patrón de diseño de problemas. Cualquier traductor debe asignar solo su campo deseado. Un traductor que asigna nombres tampoco debe asignar direcciones. La mayoría de las solicitudes tendrá una serie de traductores que se ejecutan en sucesión. Cada uno asignará un área de campos diferente. El primer traductor de la serie es un traductor Base que inicia el objeto resultante traducido y lo completa con elementos de base de la solicitud.
Cualquiera de los siguientes traductores debe ser Required (obligatorio) u Optional (opcional). Esto indica si el traductor arroja un error en caso de faltar un campo. Por ejemplo, el traductor CourseSectionRequestDepartmentRequiredTranslator devuelve un error si no se pasa un Departamento en la solicitud. Por otro lado, el traductor CourseSectionRequestSemesterOptionalTranslator0 continúa operando si no se pasa un Semestre en la solicitud (el campo del resultado permanece sin usar).