Documento de especificación Plataformas WebServices para...

66
Documento de especificación – WebServices para Integración Plataformas Bilingüismo Versión: 1.0 Página 1 de 66 Fecha: 27-04-2011 CASOS DE USO – PLATAFORMAS DE BILINGUISMO Fecha Versión Elaboró Observaciones 17/09/2010 1.0 Oscar Fernando Bonilla S. Primera versión del documento 26/04/2011 1.1 Henry Sarmiento Incluye la descripción general de cómo debe ser la interacción con el LMS, Single Sign On.

Transcript of Documento de especificación Plataformas WebServices para...

Page 1: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 1 de 66

Fecha: 27-04-2011

CASOS DE USO – PLATAFORMAS DE BILINGUISMO

Fecha Versión Elaboró Observaciones 17/09/2010 1.0 Oscar Fernando Bonilla S. Primera versión del documento

26/04/2011 1.1 Henry Sarmiento Incluye la descripción general de cómo debe ser la

interacción con el LMS, Single Sign On.

Page 2: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 2 de 66

Fecha: 27-04-2011

Tabla de contenido CASOS DE USO – PLATAFORMAS DE BILINGUISMO ............................................................................ 1

1. Objetivo ....................................................................................................................................... 5

2. Descripción del sistema ............................................................................................................... 5

3. Alcance ........................................................................................................................................ 5

4. Requerimientos funcionales ....................................................................................................... 6

4.1. Casos de uso ........................................................................................................................... 6

4.2. Caso de uso detallado – Programar pruebas .......................................................................... 8

4.3. Caso de uso detallado – Cancelación masiva pruebas .......................................................... 11

4.4. Caso de uso detallado – Cancelación prueba por petición del Aspirante ............................. 13

4.5. Caso de uso detallado – Cancelar prueba ............................................................................. 14

4.6. Caso de uso detallado – Reinicio manual de prueba ............................................................ 16

4.7. Caso de uso detallado – Obtener resultados pruebas de nivel ............................................ 17

4.8. Caso de uso detallado – Cargue manual de resultados pruebas de nivel ............................. 20

4.9. Caso de uso detallado – Crear curso ..................................................................................... 21

4.10. Caso de uso detallado – Desactivar curso ......................................................................... 23

4.11. Caso de uso detallado – Enrolamiento Aprendiz .............................................................. 25

4.12. Caso de uso detallado – Enrolamiento Instructor/Tutor .................................................. 27

4.13. Caso de uso detallado – Desactivar usuario ...................................................................... 30

4.14. Caso de uso detallado – Reenvío manual de solicitud ...................................................... 32

5. Diagramas de secuencia ............................................................................................................ 35

6.1. Diagrama de secuencia – Programar prueba ....................................................................... 35

6.2. Diagrama de secuencia – Reprogramar prueba ................................................................... 36

6.3. Diagrama de secuencia – Reinicio manual de prueba ......................................................... 36

6.4. Diagrama de secuencia – Cancelar prueba .......................................................................... 37

6.5. Diagrama de secuencia – Obtener resultados prueba de nivel ........................................... 38

Page 3: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 3 de 66

Fecha: 27-04-2011

6.6. Diagrama de secuencia – Obtener resultados de curso ....................................................... 39

6.7. Diagrama de secuencia – Cargue manual de resultados ...................................................... 40

6.8. Diagrama de secuencia – Crear curso .................................................................................. 40

6.9. Diagrama de secuencia – Desactivar curso .......................................................................... 41

6.10. Diagrama de secuencia – Enrolamiento aprendiz ............................................................ 42

6.11. Diagrama de secuencia – Enrolamiento instructor .......................................................... 43

6.12. Diagrama de secuencia – Desactivar usuario ................................................................... 44

6.13. Diagrama de secuencia – Reenvío manual de solicitud ................................................... 45

6. Diagrama de clases .................................................................................................................... 46

7. Diagrama de estados ................................................................................................................. 47

8. Requerimientos No Funcionales ............................................................................................... 48

9.1. Confidencialidad .................................................................................................................... 48

9.2. Autenticidad .......................................................................................................................... 48

9.3. Integridad .............................................................................................................................. 48

9.4. Impacto sobre el Desempeño de los Sistemas ...................................................................... 48

9.5. Escalabilidad .......................................................................................................................... 49

9.6. Desempeño ........................................................................................................................... 49

9.7. Trazabilidad ........................................................................................................................... 49

9. Especificación Mensajes Webservice ........................................................................................ 50

18.1. ProgramarPruebaSENA ..................................................................................................... 50

18.2. CancelarPruebaSENA ......................................................................................................... 52

18.3. ObtenerResultadosPruebaSENA ....................................................................................... 53

18.4. CrearCursoSENA ................................................................................................................ 54

18.5. CancelarCursoSENA ........................................................................................................... 55

18.6. EnrolamientoAprendizSENA .............................................................................................. 56

18.7. EnrolamientoInstructorSENA ............................................................................................ 58

18.8. DesactivarUsuarioSENA ..................................................................................................... 59

18.9. CargueNotasSENA ............................................................................................................. 60

Page 4: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 4 de 66

Fecha: 27-04-2011

10. Control del proceso – Registros de mensajes ....................................................................... 62

11. Catálogos de aplicación ......................................................................................................... 65

12. Esquema de integración con plataformas de Learning Managment System ....................... 66

13. Acuerdos de Nivel de Servicio .................................................. ¡Error! Marcador no definido.

14. Backups .................................................................................... ¡Error! Marcador no definido.

15. Soporte Tecnológico ................................................................. ¡Error! Marcador no definido.

Page 5: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 5 de 66

Fecha: 27-04-2011

1. Objetivo

El presente documento corresponde a la especificación en UML de los casos de uso de

las funcionalidades de interoperabilidad de las aplicaciones SENA y en general el

esquema aplicable para la integración de aplicaciones SENA con las plataformas de

Bilingüismo.

2. Descripción del sistema

La implementación del esquema de interoperabilidad tiene dos componentes definidos: El

primer componente será el encargado de interactuar con las plataformas de bilingüismo,

para realizar la programación de las pruebas y obtener la información de los resultados

obtenidos por los aspirantes, el segundo componente se encargará de la gestión de los

cursos desde las Aplicaciones SENA hacia la plataforma del proveedor.

Ambos componentes son diseñados con el objetivo de asegurar una estructura genérica,

mediante la cual se pueda realizar este proceso con cualquier plataforma similar. Las

operaciones de integración fueron definidas para que las operaciones sean atómicas en

las cuales en una sola invocación se realizan todas las operaciones subsecuentes de los

proceso de integración.

3. Alcance

La especificación definida en el presente documento, involucra únicamente los

requerimientos e implementaciones necesarias para la operación de la integración entre

las plataformas SENA y las plataformas de Bilingüismo en lo relacionado a las

operaciones de negocio necesarias para que los aspirantes que se inscriban a programas

de formación de bilingüismo puedan realizar la prueba de valoración de nivel y aplicar al

respectivo programa de formación de acuerdo al resultado obtenido en la prueba.

Page 6: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 6 de 66

Fecha: 27-04-2011

4. Requerimientos funcionales

4.1. Casos de uso 1

Imagen 1: Diagramas de caso de uso Bilingüismo – Pruebas de nivel

1 En algunos casos se hace explícito el nombre de la aplicación Sofia Plus, pero se debe entender que se hace referencia a aplicaciones SENA de manera

genérica.

uc Bilinguismo - Programación pruebas de ni...

SOFIA PLUS OFERTA -

INCRIPCIÓN

Programar prueba

Cancelar prueba por

petición del aspirante

SOFIA PLUS - TIMER

Obtener resultados

pruebas de niv el

Usuario Soporte

Reinicio manual de

prueba

Cargue manual de

resultados

Administrador de

Sistema / Administrador

de Interoperabilidad

Cancelación masiv a

pruebas

Cancelar prueba

«invokes»

«invokes»

Page 7: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 7 de 66

Fecha: 27-04-2011

uc Bilinguismo - formación

Crear curso

Enrolamiento

Aprendiz

Enrolamiento

Instructor

Desactiv ar Usuario

Desactiv ar curso

Integración - Bilinguismo

Reenv ío manual de

solicitud

Agente SGS /

Administrador de

Sistema

SOFIA PLUS - TIMER

Cargue notas finales

Page 8: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 8 de 66

Fecha: 27-04-2011

Imagen 2: Diagramas de caso de uso Bilingüismo – Formación

4.2. Caso de uso detallado – Programar pruebas

Nombre: Programar pruebas

Descripción:

La aplicación Sena – OFERTA envía las solicitudes de programación de las pruebas a las

plataformas de bilingüismo correspondiente, registrando la información del usuario con

los datos básicos recolectados por la aplicación Sena. Dicha plataforma deberá retornar la

confirmación de programación de la prueba y los datos de acceso (parámetros mediante

los cuales se construirá la URL de acceso, o en su defecto la url completa.), datos que

serán necesarios para la confirmación de la inscripción. Una vez confirmada la inscripción

ApSena – OFERTA, envía un correo al aspirante con la información de acceso y el detalle

sobre plazos y condiciones para la presentación de las pruebas.

En caso de que desde la Aplicación Sena, se esté enviando una programación de prueba y

en la plataforma de bilingüismo ya exista una prueba programada para el aspirante, la

plataforma de bilingüismo deberá cancelar la anterior programación y registrar la nueva

de forma automática.

Actores:

Aplicación SENA - OFERTA

INTEGRACION – PRUEBA BILINGUISMO

PLATAFORMAS DE BILINGUISMO

Precondiciones:

Aplicación SENA funciona correctamente.

Existe conectividad entre Aplicación SENA – OFERTA y la plataforma de bilingüismo

Están parametrizados y configurados todos los elementos de configuración en las tablas y en la aplicación para la interoperabilidad con la plataforma de bilingüismo.

Page 9: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 9 de 66

Fecha: 27-04-2011

Flujo Principal:

1. El paquete funcional de inscripción de la aplicación SENA – OFERTA, en el marco del proceso de inscripción a un programa de bilingüismo realizado por un aspirante SENA, notifica al paquete funcional o componente técnico de integración de pruebas de bilingüismo la solicitud de programación de prueba de nivel de inglés invocando el método PROGRAMAR PRUEBA. El sistema Aplicación SENA – OFERTA deberá enviar los siguientes parámetros en el momento de la solicitud de programación de prueba de nivel de inglés:

NIS (o Número de Identificación acordado)

NOMBRES

APELLIDOS

CORREO ELECTRÓNICO

2. El paquete de integración con bilingüismo valida la información de correo, verificando que corresponde a un sintaxis de correo válido. [E1], y los demás datos básicos recibidos para la construcción del mensaje.

3. El paquete de integración con bilingüismo construye un mensaje con los siguientes datos (Todos los datos son obligatorios), para cada una de las peticiones de programación de pruebas recibidas: Nombre de usuario (El nombre de usuario corresponderá al NIS o Número de

Identificación del usuario en acordado de acuerdo con la aplicación SENA).

Nombres

Apellidos (Primer + segundo apellido registrado en la aplicación SENA)

Correo electrónico

4. El sistema SENA construye un arreglo de solicitudes de programación de prueba, el cual estará compuesto por mínimo un elemento.

5. El paquete de integración con bilingüismo invoca el Webservice de PROGRAMACIÓN DE PRUEBA (programarPruebaSENA) de la plataforma de bilingüismo, enviando los datos del mensaje construido (Arreglo de solicitudes de programación de prueba). El sistema deberá construir la URL de invocación del API a partir de la información registrada en el catálogo de plataforma de bilingüismo en SOFIA Plus y consultando el alias del API en un XML donde se almacenan estos

Page 10: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 10 de 66

Fecha: 27-04-2011

valores.

6. El sistema esperará durante máximo 30 segundos por la respuesta generada por la plataforma de bilingüismo a la cual se envió la solicitud. Esta deberá devolver un código y unos parámetros de respuesta [E2]:

Código de respuesta

Descripción Parámetros de retorno

0 La prueba se programa de manera exitosa.

url_prueba: Es la URL generada por la plataforma para acceder a la prueba de nivel.

1 Error en la programación de la prueba.

Ninguno

2 Longitud de UserName inválido

Ninguno

3 Longitud de Nombre inválido Ninguno

4 Longitud de Apellido inválido Ninguno

5 Correo electrónico inválido Ninguno

7. El sistema recibe la respuesta de la plataforma de bilingüismo y de acuerdo al tipo de respuesta realiza las siguientes acciones: Código de respuesta 0: Valida que se haya recibido correctamente el parámetro de URL. Si es correcto retorna al proceso de Inscripción código de programación correcta y la cadena con la URL. Código de repuesta diferente de 0: Retorna un código de error y un mensaje con la indicación del error presentado.

Flujo Alternativo:

Ninguno.

Excepciones:

Page 11: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 11 de 66

Fecha: 27-04-2011

[E1] En caso de detectar una inconsistencia en el correo, se cancelará el proceso y se

indicará que se debe actualizar la información del correo para poder realizar la

programación de la prueba.

[E2] Si se presenta un timeout de la invocación se deberá devolver una notificación

indicando que la prueba no pudo ser programada y que el usuario deberá realizar un

nuevo intento.

Post condiciones:

Ninguno.

4.3. Caso de uso detallado – Cancelación masiva pruebas

Nombre: Cancelación masiva pruebas

Descripción:

El sistema SENA mediante un TIMER de sistema del componente de interoperabilidad,

realizará una verificación en la cual las pruebas de valoración de nivel programadas serán

canceladas cuando el plazo de 15 días haya expirado (Este debe ser un valor

parametrizable por el Sistema).

Adicionalmente para los casos en que la inscripción del aspirante al programa de

bilingüismo se cancela en la aplicación SENA, el sistema deberá enviar una notificación a la

plataforma de bilingüismo para cancelar la prueba que estaba programada.

En caso de que la prueba hubiese sido presentada por el aspirante y se haya obtenido un

resultado, este no será considerado para los futuros procesos de inscripción y selección en

el sistema SENA.

Observaciones: se asume que la plataforma de bilingüismo realizará la cancelación de

la prueba de manera automática, cuando ha sido presentada completa y correctamente

realizada por el aspirante. La plataforma de bilingüismo solo enviará los resultados

Page 12: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 12 de 66

Fecha: 27-04-2011

completos de las pruebas. Las pruebas que se hayan presentando parcialmente deberán

ser reiniciadas y reprogramadas de manera automática por la plataforma de bilingüismo.

Para estos casos dicha plataforma deberá enviar una notificación vía correo electrónico al

aspirante SENA indicándole los datos de acceso a la prueba.

Actores:

Aplicación SENA – Componentes de interoperabilidad bilingüismo.

Aplicación SENA - Oferta

Plataforma de bilingüismo.

Precondiciones:

Aplicación SENA funciona correctamente.

La plataforma de bilingüismo funciona correctamente.

Existe conectividad entre las plataformas SOFIA PLUS – Bilingüismo.

Flujo Principal:

1. La Aplicación SENA ejecuta de manera diaria un TIMER de sistema, el cual verifica los casos cuyo periodo para la presentación de las pruebas de nivel programadas ha expirado (15 días a partir del momento de la inscripción). [A1]

2. Con el listado de casos de pruebas expiradas se invoca el caso la cancelación de pruebas USE:CANCELAR PRUEBA. El proceso de envío de peticiones deberá enviar las peticiones por grupos. La cantidad de peticiones enviadas deberá ser parametrizable en el sistema. La información a enviar para cada una de las pruebas a cancelar corresponde al NIS del Aspirante.

Flujo Alternativo:

[A1] Cuando el aspirante solicita cancelación de la inscripción al programa de bilingüismo,

el sistema SOFIA Plus en el momento de aplicar la cancelación deberá invocar el método

para cancelar la prueba en la plataforma de bilingüismo.

La cancelación de la prueba se realiza online pero no se espera repuesta o confirmación de

la plataforma de bilingüismo.

Excepciones:

Page 13: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 13 de 66

Fecha: 27-04-2011

Ninguno.

Post condiciones:

Ninguno.

4.4. Caso de uso detallado – Cancelación prueba por petición del Aspirante

Nombre: Cancelación prueba por petición del Aspirante

Descripción:

Para los casos en que aspirantes del SENA se encontraban inscritos en programas de

bilingüismo, y deciden realizar la cancelación de dicha inscripción por cualquiera de los

medios disponibles en la Aplicación SENA (Por herramientas generadas por el Sena o

usuarios de mesa de ayuda), el paquete funcional de dicha operación en SOFIA PLUS

deberá invocar en el paquete de integración de interoperabilidad con bilingüismo la

operación para realizar la cancelación de pruebas.

Una vez realizada la invocación, la aplicación SENA deberá completar el proceso de

cancelación de la prueba previamente programada.

Actores:

Aplicación SENA – Sistema cancelación inscripciones

Aplicación SENA – Componentes de interoperabilidad bilingüismo.

Precondiciones:

Aplicación SENA funciona correctamente.

La plataforma de bilingüismo funciona correctamente.

Existe conectividad entre las plataformas Aplicación SENA – Bilingüismo.

Page 14: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 14 de 66

Fecha: 27-04-2011

Flujo Principal:

1. Aplicación SENA mediante el módulo o componente de cancelación de inscripciones en el paquete funcional (módulo) de inscripciones, realizar el llamado al método de cancelación de pruebas de nivel, al paquete funcional de integración con bilingüismo.

2. En la invocación el sistema debe indicar el NIS (o número de identificación acordado) del aspirante para el cual se realizará la cancelación de la prueba de nivel.

3. El paquete de integración de la Aplicación SENA invoca el proceso de cancelar prueba pasando la información del NIS para el cual se realizará dicha cancelación. USE: CANCELAR PRUEBA.

Flujo Alternativo:

Ninguno

Excepciones:

Ninguno.

Post condiciones:

Ninguno.

4.5. Caso de uso detallado – Cancelar prueba

Nombre: Cancelar prueba

Descripción:

Para los casos en que solicita cancelación de prueba, bien sea por un proceso masivo o un

proceso manual generado el proceso de cancelación de inscripción por solitud del

aspirante SENA, el paquete funcional de integración con bilingüismo, realizará la

Page 15: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 15 de 66

Fecha: 27-04-2011

invocación del webservice en la plataforma de bilingüismo reportándole la cancelación de

una prueba previamente programada.

Actores:

Aplicación SENA – Componentes de interoperabilidad bilingüismo.

Aplicación SENA - Oferta

Plataforma de bilingüismo.

Precondiciones:

Aplicación SENA funciona correctamente.

La plataforma de bilingüismo funciona correctamente.

Existe conectividad entre las plataformas SENA – Bilingüismo.

Flujo Principal:

1. El paquete funcional de integración con pruebas de bilingüismo recibe una solicitud de cancelación de prueba, provenientes de alguno de los procesos de la aplicación SENA.

2. El sistema arma un mensaje para el webservice con el arreglo de los NIS (o documentos de identificación) de aspirantes enviados.

3. El sistema invoca el webservice en la plataforma de bilingüismo ProgramarPruebaSENA repasando el listado de los NIS (o números de identificación) en el mensaje construido previamente. [E1]. El sistema deberá registrar en la tabla de control de mensajes la información relacionada con los datos enviados.

Flujo Alternativo:

Ninguno

Excepciones:

[E1]. Si se presenta un error http del tipo 404 o similar en el cual la plataforma de

bilingüismo no responde a la solicitud enviada, el sistema creará el registro del mensaje

con el estado pendiente y será reprocesado en la próxima ejecución del proceso.

Page 16: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 16 de 66

Fecha: 27-04-2011

Post condiciones:

Ninguno.

4.6. Caso de uso detallado – Reinicio manual de prueba

Nombre: Reinicio manual de prueba

Descripción:

A través de la opción disponible de backoffice en la Aplicación SENA, se envía la solicitud

de reprogramación de la prueba al sistema de bilingüismo, con la información del

NIS/Número de Identifación del aspirante. La plataforma de bilingüismo usará para la

atención de dichas solicitudes el mismo API/WebService de programación de pruebas. La

prueba programada previamente en la plataforma de bilingüismo, no será tenida en

cuenta.

Actores:

Aplicación SENA

Plataforma de bilingüismo.

Precondiciones:

Aplicación SENA funciona correctamente.

La plataforma de bilingüismo funciona correctamente.

Existe conectividad entre las plataformas Aplicación SENA – Bilingüismo.

Flujo Principal:

1. El sistema SENA envía la solicitud de reprogramación de prueba, enviando la misma información que aplica para el caso de la programación inicial de la prueba de nivel (Invocación del webservice programaPruebaSENA). [E1]. Antes de realizar la solicitud de reinicio de la prueba, el sistema SENA deberá validar que se está dentro del periodo de 15 días destinado para que los aspirantes presentes las pruebas de nivel de inglés. USE:PROGRAMAR PRUEBA

Page 17: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 17 de 66

Fecha: 27-04-2011

2. Una vez recibida la confirmación del reinicio de la prueba, la plataforma de

bilingüismo envía un correo electrónico con la información de acceso a la prueba de nivel. [E2]

En todo caso el componente de interoperabilidad envía una respuesta hacia la aplicación SENA, para que sea informado el agente de backoffice.

Flujo Alternativo:

Ninguno.

Excepciones:

[E1] No se pudo realizar el reinicio de la prueba por problemas de comunicación con la

plataforma de bilingüismo. En este caso el usuario de soporte deberá indicar que el caso

queda pendiente y se intentará más tarde la realización del proceso.

[E2] No se tiene registrado el NIS/Identificación en los grupos de prueba en la plataforma

de bilingüismo.

Post condiciones:

Ninguno.

4.7. Caso de uso detallado – Obtener resultados pruebas de nivel

Nombre: Obtener resultados pruebas de nivel

Descripción:

De manera diaria la aplicación SENA mediante el componente de interoperabilidad,

consultará la información de los resultados finales de las pruebas realizadas por los

aspirantes, (no se cargará información de resultados parciales). Los resultados de la

pruebas se registrarán en la Aplicación SENA y a partir del resultado obtenido se

reclasificará la inscripción del aprendiz a la bolsa de inscripciones (ficha de caracterización)

Page 18: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 18 de 66

Fecha: 27-04-2011

acorde al nivel obtenido en la prueba.

Actores:

Aplicación SENA – Componente de interoperabilidad pruebas bilingüismo.

Plataforma de bilingüismo.

Precondiciones:

Aplicación SENA funciona correctamente.

La plataforma de bilingüismo funciona correctamente.

Existe conectividad entre las plataformas Sena – Bilingüismo.

Flujo Principal:

1. El sistema SOFIA Plus inicia el TIMER de cargue de resultados de pruebas de nivel.

2. El TIMER de SOFIA Plus invoca la interfaz de comunicación con la plataforma de bilingüismo solicitando los resultados registrados para el día anterior (La fecha corresponde al momento de presentación de la prueba). Para realizar esto, se invoca la operación de obtener resultados (Webservice ObtenerResultadosPruebaSENA)pasando como parámetro la fecha; la plataforma de bilingüismo devolverá un XML con la información de los resultados usando la siguiente estructura:

UserName (NIS)/Identificación del usuario

Fecha (Fecha en que se presentó la prueba)

Reading (Calificación obtenida en la prueba para Reading)

Listening (Calificación obtenida en la prueba para Listening)

Grammar (Calificación obtenida en la prueba para Grammar)

Final (Nivel obtenido por el aspirante en la prueba)

3. El componente de interoperabilidad valida los registros entregados por la plataforma de bilingüismo. Para los registros que tienen error se guardan en un Log en base de datos y se genera un archivo con el detalle de errores del Log.

4. Para los registros que son válidos, el sistema realiza el cargue de los datos en la tabla de control de pruebas de bilingüismo. Registrando la siguiente información en la tabla PRUEBAS_NIVEL_BILINGUISMO [E1]:

Fecha de presentación de la prueba (dd/mm/aaaa hh24:mi:ss)

Page 19: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 19 de 66

Fecha: 27-04-2011

Valor obtenido para Reading.

Valor obtenido para Listening.

Valor obtenido para Grammar.

Valor Final obtenido. (El valor final obtenido deberá corresponder a uno de los niveles aplicables a la plataforma de bilingüismo. Anexo 1 Niveles por plataforma)

5. Para el registro cargado se debe actualizar la información de la inscripción de acuerdo al siguiente proceso:

a. Se verifica si el nivel obtenido corresponde al nivel en el cual el

aspirante esta preinscrito, si esto es así, entonces se actualiza la inscripción del aspirante al estado inscrito.

b. Si el nivel obtenido no corresponde al nivel en el cual se encuentra preinscrito, el sistema anula la preinscripción en el nivel actual, y se genera de manera automática la inscripción al nivel correspondiente al resultado obtenido y se deja el estado del aspirante en inscrito. Se deberá usar la misma información que había registrado previamente el aspirante en la preinscripción cancelada.

6. Se le envía un correo electrónico al aspirante con la información de la inscripción

en la que quedó confirmado.

Flujo Alternativo:

Ninguno.

Excepciones:

[E1]. En caso de que se identifique que la información de resultados de la prueba ya había

sido cargada, no se actualizará la información registrada previamente. Se debe inscribir en

el Log un registro con la indicación que el resultado de la prueba ya había sido registrada

previamente.

Post condiciones:

Page 20: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 20 de 66

Fecha: 27-04-2011

El aspirante queda INSCRITO dentro del nivel correspondiente

Regla de negocio

4.8. Caso de uso detallado – Cargue manual de resultados pruebas de nivel

Nombre: Cargue manual de resultados pruebas de nivel

Descripción:

El Administrador de Sistema / Administrador de Interoperabilidad tiene la opción de

ejecutar de manera manual el cargue de resultados de las pruebas de nivel de bilingüismo.

Mediante esta opción el administrador indica la información de fecha (Formato de fecha

corta DD/MM/YYYY) y el sistema inicia el proceso de cargue.

Actores:

Administrador de Sistema / Administrador de Interoperabilidad

SOFIA Plus – Componente de interoperabilidad pruebas bilingüismo.

Plataforma de bilingüismo.

Precondiciones:

SOFIA Plus funciona correctamente.

La plataforma de bilingüismo funciona correctamente.

Existe conectividad entre las plataformas SOFIA Plus – Bilingüismo.

Flujo Principal:

1. El usuario ingresa con rol Administrador de Sistema / Administrador de Interoperabilidad al paquete funcional de administración del sistema y a la opción de cargue pruebas de bilingüismo.

2. El sistema presenta la información para el ingreso de la fecha. Este campo es obligatorio. Adicionalmente le presenta la opción de iniciar proceso.

3. El usuario registra la fecha para la cual se desea realizar el cargue datos, y da la

Page 21: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 21 de 66

Fecha: 27-04-2011

opción de iniciar el proceso. El sistema invoca el proceso de ejecución del cargue INCLUDE: Obtener resultados pruebas de nivel

Flujo Alternativo:

Ninguno.

Excepciones:

Ninguno.

Post condiciones:

Ninguno.

4.9. Caso de uso detallado – Crear curso

Nombre: Crear curso

Descripción:

La Aplicación SENA mediante un TIMER de sistema consulta la información relacionada

con eventos de actualizaciones de fichas de caracterización de programas de bilingüismo,

en las tablas de control de eventos (INTEGRACION.INDICE_CAMBIO). El evento que se

considera corresponde a la actualización del estado de la ficha/curso a “EN EJECUCIÓN”.

Para el listado de fichas que cumplen con esta condición se enviará la notificación a la

plataforma de bilingüismo para que realice la creación del curso.

Actores:

Aplicación SENA – Componente de interoperabilidad bilingüismo.

Plataforma de bilingüismo.

Page 22: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 22 de 66

Fecha: 27-04-2011

Precondiciones:

Aplicación SENA funciona correctamente.

La plataforma de bilingüismo funciona correctamente.

Existe conectividad entre las plataformas SENA – Bilingüismo.

Flujo Principal:

1. La aplicación SENA consulta la información correspondiente a la fichas de caracterización (o cursos) de programas de bilingüismo que han cambiado su estado a “EN EJECUCION”, revisando los eventos en la tabla índice cambio correspondientes a actualizaciones de ficha.

2. Para cada una de las fichas/cursos identificadas se invoca el método de creación de cursos en la plataforma de bilingüismo pasando los siguientes datos: [E1] Código de la ficha de caracterización (ClassName)

Nombre del programa de formación al que pertenece la ficha.

Nivel: Nivel de la clase. Anexo 1 Niveles por plataforma

3. Para cada solicitud de creación de curso enviada a la plataforma de bilingüismo, se

deberá crear un registro de control de notificaciones enviadas, en donde se registre la siguiente información: Información del mensaje: Código de la ficha de caracterización (ClassName)

Nombre del programa de formación al que pertenece la ficha.

Nivel: Nivel de la clase. Anexo 1 Niveles por plataforma

Fecha de inicio (StarDate): Fecha de inicio de la ficha de caracterización/curso (2010-01-01)

Información de control:

Fecha de envío del mensaje.

Estado (Enviado, Pendiente, Reenviado)

Tipo de mensaje (Curso / Usuario)

Código de la ficha/curso

Page 23: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 23 de 66

Fecha: 27-04-2011

Flujo Alternativo:

Ninguno.

Excepciones:

[E1]. Si se presenta un error http del tipo 404 o similar en el cual la plataforma de

bilingüismo no responde a la solicitud enviada, el sistema creará el registro del mensaje

con el estado pendiente y será reprocesado en la próxima ejecución del proceso.

Post condiciones:

Ninguno.

4.10. Caso de uso detallado – Desactivar curso

Nombre: Desactivar curso

Descripción:

La Aplicación SENA mediante un TIMER de sistema consulta la información relacionada

con eventos de actualizaciones de fichas de caracterización (cursos) de programas de

bilingüismo, en las tablas de control de eventos (INTEGRACION.INDICE_CAMBIO). El

evento que se considera corresponde a la actualización del estado de la ficha a

“TERMINADA” o “CANCELADA”. Para el listado de fichas que cumplen con esta condición

se enviará la notificación a la plataforma de bilingüismo para que realice la cancelación del

curso.

Actores:

Aplicación SENA – Componente de interoperabilidad bilingüismo.

Plataforma de bilingüismo.

Page 24: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 24 de 66

Fecha: 27-04-2011

Precondiciones:

Aplicación SENA funciona correctamente.

La plataforma de bilingüismo funciona correctamente.

Existe conectividad entre las plataformas SENA – Bilingüismo.

Flujo Principal:

1. La aplicación SENA consulta la información correspondiente a la fichas de caracterización de programas de bilingüismo que han cambiado su estado a “TERMINADA” o “CANCELADA”, revisando los eventos respectivos al interior de la aplicación/base de datos.

2. Para cada una de las fichas identificadas se invoca el método de cancelación de cursos en la plataforma de bilingüismo pasando el código de la ficha (ClassName). [E1]

3. Para cada solicitud de cancelación de curso enviada a la plataforma de bilingüismo,

se deberá crear un registro de control de notificaciones enviadas en donde se registre la siguiente información. Información del mensaje: Código de la ficha de caracterización (ClassName)

Información de control:

Fecha de envío del mensaje.

Estado (Enviado, Pendiente, Reenviado)

Tipo de mensaje (Curso / usuario)

Código de la Ficha

Flujo Alternativo:

Ninguno.

Excepciones:

[E1]. Si se presenta un error http del tipo 404 o similar en el cual la plataforma de

bilingüismo no responde a la solicitud enviada, el sistema creará el registro del mensaje

con el estado pendiente, y será reprocesado en la próxima ejecución del proceso.

Page 25: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 25 de 66

Fecha: 27-04-2011

Post condiciones:

Ninguno.

4.11. Caso de uso detallado – Enrolamiento Aprendiz

Nombre: Enrolamiento Aprendiz

Descripción:

La Aplicación SENA mediante un TIMER de sistema, consulta la información relacionada

con eventos de paso de registros académicos a estado “EN FORMACION”, asociados a

fichas de caracterización de programas de bilingüismo, en la tabla o vista que contenga

dicha información. Para el listado de registros académicos que cumplen con esta

condición, se enviará la notificación a la plataforma de bilingüismo para que realice el

enrolamiento del aprendiz al curso. En caso de que el usuario no esté creado en la

plataforma de bilingüismo, dicho sistema deberá realizar la creación del usuario con los

datos enviados por la aplicación SENA.

Actores:

Aplicación SENA – Componente de interoperabilidad bilingüismo.

Plataforma de bilingüismo.

Precondiciones:

Aplicación SENA funciona correctamente.

La plataforma de bilingüismo funciona correctamente.

Existe conectividad entre las plataformas SENA – Bilingüismo.

Page 26: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 26 de 66

Fecha: 27-04-2011

Flujo Principal:

1. SOFIA Plus consulta la información correspondiente a los registros académicos de fichas de caracterización de bilingüismo que han cambiado su estado a “EN FORMACION” revisando los eventos en la tabla que registre dicha información al interior del sistema de información.

2. Para cada uno de los registros académicos identificados, se invoca el método de enrolamiento de aprendiz en la plataforma de bilingüismo pasando la siguiente información: [A1] Nombre de usuario (El nombre de usuario corresponderá al NIS/Identificación del

usuario en la aplicación SENA).

Nombres

Apellidos (Primer apellido + Segundo apellido)

Correo electrónico

Código de la Ficha de Caracterización (className)

3. Para cada solicitud de enrolamiento de aprendiz enviada a la plataforma de

bilingüismo, se deberá crear un registro de control de notificaciones, en donde se registre la siguiente información [E1]: Información del mensaje: Nombre de usuario (El nombre de usuario corresponderá al NIS/Identificación del

usuario en el sistema de información SENA).

Nombres

Apellidos (Primer apellido + Segundo apellido)

Correo electrónico

Código del curso o Ficha de Caracterización (class)

Información de control:

Fecha de envío del mensaje.

Estado (Enviado, Pendiente, Reenviado)

Tipo de mensaje (Curso / usuario)

Código de la Ficha

Nis/Identificación del usuario

Page 27: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 27 de 66

Fecha: 27-04-2011

Flujo Alternativo:

[A1] Cuando el usuario no existe en la plataforma de bilingüismo, ésta deberá crearlo.

Excepciones:

[E1]. Si se presenta un error http del tipo 404 o similar en el cual la plataforma de

bilingüismo no responde a la solicitud enviada, el sistema creará el registro del mensaje

con el estado pendiente y será reprocesado en la próxima ejecución del proceso.

Post condiciones:

Ninguno.

4.12. Caso de uso detallado – Enrolamiento Instructor/Tutor

Nombre: Enrolamiento Instructor/Tutor

Descripción:

La Aplicación SENA mediante un TIMER de sistema, consulta la información relacionada

con la asignación de un instructor al curso o ficha de caracterización de programas de

bilingüismo, en la tabla de control de eventos destinada para tal fin dentro del sistema de

información. Para el listado de instructores que cumplen con esta condición, se enviará la

notificación a la plataforma de bilingüismo, para que realice el enrolamiento del instructor

al curso y cree y asigne el supervisor (Coordinador Académico) de éste. En caso de que el

usuario no esté creado en la plataforma de bilingüismo, dicho sistema deberá realizar la

creación del usuario con los datos enviados por la aplicación SENA, incluyendo la creación

del usuario supervisor.

Desde la aplicación SENA, se validará que las solicitudes de enrolamiento de instructores

enviadas sean consistentes, en relación principalmente a que las fichas o cursos hayan sido

previamente reportadas a la plataforma de bilingüismo.

Page 28: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 28 de 66

Fecha: 27-04-2011

Actores:

Aplicación SENA – Componente de interoperabilidad bilingüismo.

Plataforma de bilingüismo.

Precondiciones:

Aplicación SENA funciona correctamente.

La plataforma de bilingüismo funciona correctamente.

Existe conectividad entre las plataformas SENA – Bilingüismo.

Flujo Principal:

1. La aplicación SENA consulta la información relativa a la asignación de instructores a fichas de caracterización del programa bilingüismo (por medio de la estructura de tablas y vistas que tengan la información).

2. Para cada uno de los instructores identificados, se obtiene la información básica necesaria (NIS/Identificación, Nombres, Apellidos, email) y se valida si se ha enviado el evento de creación de la respectiva ficha de caracterización a la que se está asociando a la plataforma de bilingüismo

3. Se invoca el método de enrolamiento de instructor en la plataforma de

bilingüismo pasando la siguiente información:

4. Para cada uno de los instructores identificados, se invoca el método de enrolamiento de instructor en la plataforma de bilingüismo pasando la siguiente información: Datos instructor: Nombre de usuario (El nombre de usuario corresponderá al NIS o identificación del

usuario en la Aplicación SENA).

Nombres

Apellidos (Primer apellido + Segundo apellido)

Correo electrónico

Código del curso o Ficha de Caracterización (class)

Lista de datos supervisores (Coordinador Académico) (Corresponderán a los

Page 29: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 29 de 66

Fecha: 27-04-2011

coordinadores académicos del centro al cual pertenece la ficha de caracterización):

Nombre de usuario (El nombre de usuario corresponderá al NIS/Identificación del usuario en el sistema SENA).

Nombres

Apellidos (Primer apellido + Segundo apellido)

Correo electrónico

5. Para cada solicitud de enrolamiento de instructor enviada a la plataforma de

bilingüismo, se deberá crear un registro de control de notificaciones enviadas, en donde se registre la siguiente información [E1]: Información del mensaje: Nombre de usuario (El nombre de usuario corresponderá al NIS/Identificación del

usuario en el Sistema SENA).

Nombres

Apellidos (Primer apellido + Segundo apellido)

Correo electrónico

Código del curso o Ficha de Caracterización (class)

Nombre de usuario supervisor (El nombre de usuario corresponderá al NIS/Identificación del usuario en SOFIA Plus).

Nombres supervisor

Apellidos supervisor (Primer apellido + Segundo apellido)

Correo electrónico supervisor

Información de control:

Fecha de envío del mensaje.

Estado (Enviado, Pendiente, Reenviado)

Tipo de mensaje (Curso / aprendiz / Instructor)

Código de la Ficha

Nis/Identificación del usuario

6. Para cada solicitud de enrolamiento de instructor enviada, se espera respuesta de la plataforma bilingüismo con la indicación del código de resultado. Si este corresponde a un error, debido a que el curso asociado al instructor, no ha sido creado aún, el mensaje se dejará como pendiente para que sea reprocesado por el TIMER de la aplicación.

Page 30: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 30 de 66

Fecha: 27-04-2011

Flujo Alternativo:

Ninguno.

Excepciones:

[E1]. Si se presenta un error http del tipo 404 o similar en el cual la plataforma de

bilingüismo no responde a la solicitud enviada, el sistema creará el registro del mensaje

con el estado pendiente, y será reprocesado en la próxima ejecución del proceso.

Post condiciones:

Ninguno.

4.13. Caso de uso detallado – Desactivar usuario

Nombre: Desactivar usuario

Descripción:

La Aplicación SENA mediante un TIMER de sistema, consulta la información relacionada

con la desactivación de un aprendiz o instructor de fichas de caracterización de programas

de bilingüismo, en la tabla de control de eventos o vista destinada para tal fin. Los eventos

que se consideran, corresponden a:

Aprendiz: Actualización de registro académico a estado “CANCELADO”, “RETIRO VOLUNTARIO”, “CERTIFICADO” o “DESERTADO”.

Instructor. Actualización de la información de instructor por ficha cuando pierde la vigencia.

Para el listado de usuarios que cumplen con estas condiciones se enviará la notificación a

la plataforma de bilingüismo para que realice la cancelación del usuario.

Page 31: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 31 de 66

Fecha: 27-04-2011

Actores:

Aplicación SENA – Componente de interoperabilidad bilingüismo.

Plataforma de bilingüismo.

Precondiciones:

Aplicación SENA funciona correctamente.

La plataforma de bilingüismo funciona correctamente.

Existe conectividad entre las plataformas SENA – Bilingüismo.

Flujo Principal:

1. La aplicación SENA consulta la información correspondiente a los instructores por ficha y registros académicos de fichas de caracterización de bilingüismo que han perdido vigencia (instructor por ficha) o han sido actualizados (Registros académicos) revisando los eventos en la tabla o vista destinadas para tal fin.

2. Para cada uno de los usuarios identificados, se invoca el método de cancelación de usuario en la plataforma de bilingüismo pasando el NIS/Identificación y el código de la ficha de caracterización.

3. Para cada solicitud de cancelación de usuario enviada a la plataforma de

bilingüismo, se deberá crear un registro de control de notificaciones enviadas en donde se registre entre otra la siguiente información [E1]: Información del mensaje: NIS/Identificación del Usuario

Código del curso o ficha de caracterización.

Información de control:

Fecha de envío del mensaje.

Estado (Enviado, Pendiente, Reenviado)

Tipo de mensaje (Curso / aprendiz / Instructor)

Código del curso o Ficha

Nis/Identificación del usuario

Page 32: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 32 de 66

Fecha: 27-04-2011

Flujo Alternativo:

Ninguno.

Excepciones:

[E1]. Si se presenta un error http del tipo 404 o similar en el cual la plataforma de

bilingüismo no responde a la solicitud enviada, el sistema creará el registro del mensaje

con el estado pendiente, y será reprocesado en la próxima ejecución del proceso.

Post condiciones:

Ninguno.

4.14. Caso de uso detallado – Reenvío manual de solicitud

Nombre: Reenvío manual de solicitud

Descripción:

El administrador del sistema o el administrador de interoperabilidad, gestiona el envío

manual de solicitudes en estado “PENDIENTE” hacia la plataforma de bilingüismo. Para

esto, debe diligenciar el filtro de búsqueda de la solicitud, según corresponda:

Solicitudes de creación de curso

Solicitudes de desactivación de curso

Solicitudes de enrolamiento de aprendiz

Solicitudes de enrolamiento de instructor

Solicitudes de desactivación de usuario

Una vez la solicitud es reenviada, la información correspondiente al envío debe quedar

actualizada en el registro de control, dependiendo del tipo de notificación.

Actores:

Administrador de sistema / Administrador de interoperabilidad

Page 33: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 33 de 66

Fecha: 27-04-2011

Precondiciones:

Aplicación SENA funciona correctamente.

La plataforma de bilingüismo funciona correctamente.

Existe conectividad entre las plataformas SENA – Bilingüismo.

Flujo Principal:

1. El Administrador de sistema o Administrador de interoperabilidad, diligencia el filtro de búsqueda de la solicitud utilizando una o más opciones de las siguientes:

Solicitud para creación de curso: o Código del curso o ficha de caracterización o Nombre del programa de formación al que pertenece el curso. o Nivel o Fecha de inicio

Solicitud para la desactivación de un curso: o Código del curso o ficha

Solicitud para el enrolamiento del aprendiz o Nombre de usuario (NIS/Identificación) o Nombres o Apellidos (Primer apellido + Segundo apellido) o Correo electrónico o Código Curso o de ficha de caracterización

Solicitud para el enrolamiento del instructor: o Nombre de usuario (NIS/Identificación) o Nombres o Apellidos (Primer apellido + Segundo apellido) o Correo electrónico o Código del curso o ficha de caracterización

Solicitud para la desactivación de un usuario o NIS/Identificación o Código del curso o ficha

2. El Administrador de sistema o Administrador de interoperabilidad, selecciona la

solicitud en estado “PENDIENTE” respectiva y procede con el envío manual, a través del botón “Reenviar Solicitud”.

Page 34: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 34 de 66

Fecha: 27-04-2011

3. El sistema configura nuevamente el mensaje de la solicitud (según los parámetros anteriormente especificados) y envía a la plataforma de bilingüismo.

4. El sistema actualiza, en el registro de control, el estado de la notificación de acuerdo al tipo de solicitud y dependiendo de si ésta requiere respuesta o no: Información de control:

Fecha de envío del mensaje.

Estado (Enviado, Pendiente, Reenviado)

Tipo de mensaje (Curso / aprendiz / Instructor)

Código del Curso o Ficha

NIS/Identificación del usuario

Flujo Alternativo:

Ninguno.

Excepciones:

Ninguna.

Post condiciones:

Ninguno.

Page 35: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 35 de 66

Fecha: 27-04-2011

5. Diagramas de secuencia

6.1. Diagrama de secuencia – Programar prueba2

2 En algunos componentes se menciona la aplicación Sofia Plus como Aplicación SENA, pero debe entenderse en el contexto genérico

de que puede ser cualquier aplicación SENA.

sd Programar prueba

SOFIA_Plus «interface»

SVC_Integracion

«interface»

SVC_Idiomas

Plataforma_Idiomas

alt Error en la programación de la prueba

«inscripcion»

programaPrueba()

programarPruebaBilinguismo(nis,nombre,apellido,correo)

validarDatosCorreo()

conformarArray()

guardarInformacionControlEnvio()

activarTimeOut()

programarPrueba(nis,nombre,apellidos,correo,codigoControl)

generarPassword()

clasificarEnClase()

validarSintaxis()

programarPruebaSena()

validarUsuario()

generarUrlAccesoPrueba()

respuesta() :

l ink,resuesta/error

actualizarEstado() :Enviado

:error

actualizarEstado() :

Pendiente

resultadosProgramacionPrueba() :

error

resultadosProgramacionPrueba() :

URL,codigoProgramacionPrueba

Page 36: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 36 de 66

Fecha: 27-04-2011

6.2. Diagrama de secuencia – Reprogramar prueba

6.3. Diagrama de secuencia – Reinicio manual de prueba

sd Reprogramar prueba

Usuario_Bilinguismo Plataforma_Idiomas

loop Error en intentos de presentación de prueba (15 días desde la inscripción)

presentarPruebaBilinguismo()

notificacionCorreo() :error

determinarTerminacionAnormal()

validarEstadoUsuario()

reactivarPrueba()

notificacionCorreo(url_presentacion_prueba)

sd Reinicio manual de prueba

Usuario_Bilinguismo SOFIA_Plus «interface»

SVC_Integracion

«interface»

SVC_Idiomas

Plataforma_Idiomas

ref

Programar prueba

reinicioManualPrueba()

«SGS»

validarTiempoPresentacionPrueba()

Page 37: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 37 de 66

Fecha: 27-04-2011

6.4. Diagrama de secuencia – Cancelar prueba

sd Cancelar prueba

Usuario_Bilinguismo SOFIA_Plus «interface»

SVC_Integracion

«interface»

SVC_Idiomas

Plataforma_Idiomas

alt Error en la programación de la prueba

validarTiempoPresentacionPrueba()

notificacionCorreo(cancelacion de prueba)

cancelarPrueba() :nis

validarDatosCorreo()

conformarArray()

guardarInformacionControlEnvio()

activarTimeOut()

cancelarPrueba(nis)

validarSintaxis()

cancelarPruebaSena()

cancelarPruebaSena()

inhabilitarResultados()

respuesta()

actualizarEstado()

:error

actualizarEstado()

resultadoCancelacionPrueba() :error

resultadoCancelacionPrueba() :prueba cancelada

Page 38: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 38 de 66

Fecha: 27-04-2011

6.5. Diagrama de secuencia – Obtener resultados prueba de nivel

sd Obtener resultados prueba de ni...

SOFIA_Plus «interface»

SVC_Integracion

«interface»

SVC_Idiomas

Plataforma_Idiomas

alt Error en la programación de la prueba

correrTimer()

obtenerResultadosPruebasNivel(fecha,nis)

validarDatosCorreo()

conformarArray()

guardarInformacionControlEnvio()

activarTimeOut()

obtenerResultadosPrueba(nis,fecha)

validarSintaxis()

conformarListaResultados()

respuesta() :

nis,date,reading,listening,grammar,...,final,nivel«array»

generarVistaResultadosIdiomas()

actualizarEstado(enviado)

actualizarFormato()

:error

actualizarEstado() :

pendienteresultadosPruebas(error)

resultadosPruebas(fecha,nis,reading,listening,grammar,...,final)

verificarResultado()

incripcionAlCurso()

Page 39: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 39 de 66

Fecha: 27-04-2011

6.6. Diagrama de secuencia – Obtener resultados de curso

sd Obtener resultados de curso

SOFIA_Plus «interface»

SVC_Integracion

«interface»

SVC_Idiomas

Plataforma_Idiomas

alt Error en la programación de la prueba

correrTimer()

obtenerResultadosCurso()

validarDatosCorreo()

conformarArray()

guardarInformacionControlEnvio()

activarTimeOut()

obtenerResultadosCurso(fecha,nis)

validarSintaxis()

conformarListaResultados()

respuesta() :resultado,nis,fecha

generarVistaResultadosIdiomas()

actualizarEstado() :enviado

actualizarFormato()

:error

actualizarEstado() :pendiente

resultadosPruebas() :error

resutadosCurso()

verificarResultado()

Page 40: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 40 de 66

Fecha: 27-04-2011

6.7. Diagrama de secuencia – Cargue manual de resultados

6.8. Diagrama de secuencia – Crear curso

sd Cargue manual de resultados de prueba

Usuario_Bilinguismo SOFIA_Plus «interface»

SVC_Integracion

«interface»

SVC_Idiomas

Plataforma_Idiomas

El proceso se correo

por solicitud del

administrados del

sistema o el

administrador de

interoperacbilidad y se

invoca el mismo

proceso para cargua

automático de

resultados (sin el timer)

ref

Obtener resultados prueba de niv el

cargueManualResultados()

actualizarFecha()

sd Crear curso

SOFIA_Plus «interface»

SVC_Integracion

«interface»

SVC_Idiomas

Plataforma_Idiomas

loop

alt error env io

actualizarEstadoFicha()

consultarEstadoFicha(estado:EN

EJECUCION)

validarDatosCorreo()

conformarArray()

guardarInformacionControlEnvio()

activarTimeOut()

crearClase(codigoFicha,nombrePrograma,nivel,starDate)

validarSintaxis()

crearClaseSena()

respuesta()

actualizarEstado() :Enviado

:error,404

actualizarEstado(Pendiente)

resultadoCreacionClase(error)

resultadoCreacionClase()

Page 41: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 41 de 66

Fecha: 27-04-2011

6.9. Diagrama de secuencia – Desactivar curso

sd Desactiv ar cur...

SOFIA_Plus «interface»

SVC_Integracion

«interface»

SVC_Idiomas

Plataforma_Idiomas

loop error env io

desactivarCurso(codigo_ficha_caracterizacion)

validarDatosCorreo()

conformarArray()

guardarInformacionControlEnvio()

activarTimeOut()

desactivarClase(codigoFicha)

validarSintaxis()

desactivarClaseSena()

respuesta()

actualizarEstado(Enviado)

:error,404

actualizarEstado() :pendiente

Page 42: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 42 de 66

Fecha: 27-04-2011

6.10. Diagrama de secuencia – Enrolamiento aprendiz

sd Enrolamiento aprendiz

SOFIA_Plus «interface»

SVC_Integracion

«interface»

SVC_Idiomas

Plataforma_Idiomas

ref

Crear curso

alt No existencia de la clase asociada

alt error en el enrolamiento

activacionRegistroAcademico(nis)

enrolamientoAprendiz(nis,fecha,fichaCaracterizacion)

validarDatosCorreo()

conformarArray()

guardarInformacionControlEnvio()

activarTimeOut()

enrolarAprendiz(nis,fichaCaracterizacion)

validarSintaxis()

enrolarAClase()

respuesta()

actualizarEstado(Enviado)

:error,404

actualizarEstado(Pendiente)

Page 43: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 43 de 66

Fecha: 27-04-2011

6.11. Diagrama de secuencia – Enrolamiento instructor

sd Enrolamiento instructor

SOFIA_Plus «interface»

SVC_Integracion

«interface»

SVC_Idiomas

Plataforma_Idiomas

alt error en el enrolamiento

asiganarInstructorFicha()

enrolamientoInstructor(nis,fecha,fichaCaracterizacion)

validarDatosCorreo()

conformarArray()

guardarInformacionControlEnvio()

activarTimeOut()

enrolarInstructor(nis,fichaCaracterizacion)

validarSintaxis()

enrolarAClase()

respuesta()

actualizarEstado(enviado)

:error,404

actualizarEstado(pendiente)

Page 44: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 44 de 66

Fecha: 27-04-2011

6.12. Diagrama de secuencia – Desactivar usuario

sd Desactiv ar usua...

SOFIA_Plus «interface»

SVC_Integracion

«interface»

SVC_Idiomas

Plataforma_Idiomas

alt error en la desactiv acion

«evento» cancelarFicha()

«evento» actualizarEstadoAprendiz()

«evento» actualizarVigenciaInstructor()

desactivarUsuario() :nis,ficha

validarDatosCorreo()

conformarArray()

guardarInformacionControlEnvio()

activarTimeOut()

desactivarUsuario(nis,ficha)

validarSintaxis()

desactivarUsuario(nis,clase)

respuesta()

actualizarEstado(enviado)

:error,404

actualizarEstado(pendiente)

Page 45: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 45 de 66

Fecha: 27-04-2011

6.13. Diagrama de secuencia – Reenvío manual de solicitud

sd Reenv io manual de solicit...

Usuario_Bilinguismo SOFIA_Plus «interface»

SVC_Integracion

«interface»

SVC_Idiomas

Plataforma_Idiomas

Invocación del método

respectivo (sin timer)

refCrear curso

ref

Desactiv ar curso

refEnrolamiento aprendiz

refEnrolamiento instructor

refDesactiv ar usuario

reenviarSolicitud()

«Administracion»

«Administracion» reenvioManualSolicitud()

actualizarDatosBusqueda(creacion de curso, desactivacion curso, enrolamiento aprendiz, enrolamiento instructor, desactivacion usuario)

reenviarSolicitud(según solicitud)

actualizarEstado() :reenviado

Page 46: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 46 de 66

Fecha: 27-04-2011

6. Diagrama de clases

class Bilinguismo

Usuario_Bilinguismo

- nis

+ notificacionCorreo()

SOFIA_Plus

- ficha_caracterizacion

+ activacionRegistroAcademico()

+ actualizarDatosBusqueda()

+ actualizarEstadoAprendiz()

+ actualizarEstadoFicha()

+ actualizarFecha()

+ actualizarVigenciaInstructor()

+ asiganarInstructorFicha()

+ cancelarFicha()

+ cargueManualResultados()

+ consultarEstadoFicha()

+ correrTimer()

+ incripcionAlCurso() : void

+ reenviarSolicitud()

+ reenvioManualSolicitud()

+ reinicioManualPrueba()

+ resultadoCancelacionPrueba()

+ resultadoCreacionClase()

+ resultadosProgramacionPrueba()

+ resultadosPruebas()

+ resutadosCurso()

+ validarTiempoPresentacionPrueba()

+ verificarResultado()

«inscripcion»

+ programaPrueba()

+ programarPruebaBilinguismo()

«interface»

SVC_Integracion

+ activarTimeOut()

+ actualizarEstado()

+ actualizarFormato()

+ cancelarPrueba()

+ conformarArray()

+ desactivarCurso()

+ desactivarUsuario()

+ enrolamientoAprendiz()

+ enrolamientoInstructor()

+ generarVistaResultadosIdiomas()

+ guardarInformacionControlEnvio()

+ obtenerResultadosCurso()

+ obtenerResultadosPruebasNivel()

+ programarPruebaBilinguismo()

+ reenviarSolicitud()

+ validarDatosCorreo()

Plataforma_Idiomas

- aprendiz

- clase

- instructor

- supervisor

- test_clase

+ cancelarPruebaSena()

+ conformarListaResultados()

+ crearClaseSena()

+ desactivarClaseSena()

+ desactivarUsuario()

+ determinarTerminacionAnormal()

+ enrolarAClase()

+ generarUrlAccesoPrueba()

+ inhabilitarResultados()

+ presentarPruebaBilinguismo()

+ programarPruebaSena()

+ reactivarPrueba()

+ validarEstadoUsuario()

+ validarUsuario()

«interface»

SVC_Idiomas

+ cancelarPrueba()

+ clasificarEnClase()

+ crearClase()

+ desactivarClase()

+ desactivarUsuario()

+ enrolarAprendiz()

+ enrolarInstructor()

+ generarPassword()

+ obtenerResultadosCurso()

+ obtenerResultadosPrueba()

+ programarPrueba()

+ respuesta()

+ validarSintaxis()

1

1

1 1..

1

1

1.. 1

Page 47: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 47 de 66

Fecha: 27-04-2011

7. Diagrama de estados

stm Mensaj ...

Initial

Env iadoPendiente

Reenv iado

Final

[Respuesta:error,404,timeout]

/Actualizar informacionEnvioControl

[reenvio manual de solicitud]

[Respuesta:error,404,timeout]

/Actualizar informacionEnvioControl

Page 48: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 48 de 66

Fecha: 27-04-2011

8. Requerimientos No Funcionales Esta sección documenta los requerimientos no funcionales de la integración entre aplicaciones

SENA y las plataformas de bilingüismo.

9.1. Confidencialidad

Los mensajes enviados entre aplicaciones SENA y las plataformas de bilingüismo en lo posible

deberán ser cifrados para garantizar que su contenido no pueda ser leído por un tercero que

intercepte el mensaje. Se revisará con cada uno de los proveedores los mecanismos y viabilidad

de implementación de mecanismos de cifrado y protección de datos, estableciendo las relaciones

costo/beneficio de su implementación.

9.2. Autenticidad

Para garantizar la identidad las plataformas de bilingüismo, éste deberá presentar un certificado

digital válido, o un mecanismo similar de manejo de tokens entre las plataformas. Se definirá de

manera conjunta con los proveedores el alcance y mecanismo de implementación de estas

medidas de seguridad.

9.3. Integridad

La integración debe garantizar la integridad entre los dos sistemas, es decir que todas las

peticiones enviadas a las plataformas de bilingüismo puedan ser verificadas y de ser necesario

reenviadas. Si falla el proceso automático, se debe garantizar que la información del mensaje sea

almacenada en algún log de error para poder recrear los mensajes.

9.4. Impacto sobre el Desempeño de los Sistemas

Page 49: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 49 de 66

Fecha: 27-04-2011

El impacto sobre el desempeño percibido por el usuario en una aplicación SENA debe ser mínimo

por lo cual el envío del mensaje de realizarse de manera asíncrona. El sistema SENA implementará

para los casos de envío masivos un control de flujo para la frecuencia de peticiones. Este control se

parametriza como el número de mensajes por minuto que puede ser enviado a las plataforma de

bilingüismo.

9.5. Escalabilidad

El sistema debe poder ser fácilmente modificado para manejar más carga transaccional. Los

niveles de servicio para escalabilidad serán definidos en una segunda fase del proceso de

implementación, posterior a la entrada en operación del esquema de integración entre las

plataformas.

9.6. Desempeño

Los parámetros de timeout y reintentos de conexión serán definidos por el SENA teniendo en

cuenta restricciones técnicas y una vez entre en operación el Sistema.

9.7. Trazabilidad

Todo error en el envío de un mensaje a las plataformas de bilingüismo debe quedar registrado en

un log con la información completa del mensaje para poder ser recreado manualmente. Se

utilizará un ID único asignado a cada uno de los mensajes generados desde la aplicación SENA, el

cuál será referenciado a las transacciones administradas y procesadas las plataformas de

bilingüismo.

Page 50: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 50 de 66

Fecha: 27-04-2011

9. Especificación Mensajes Webservice

A continuación se presente la estructura base de los mensajes SOAP, en relación a los

tipos de datos XSD que serán implementados para la ejecución de las operaciones con la

plataforma de bilingüismo.

18.1. ProgramarPruebaSENA

Esta operación realizar la solicitud de programación de prueba de nivel de bilingüismo.

Parámetros de entrada:

<xs:element name='idMensaje' type='xs:long'/>

<xs:complexType name='programacionPrueba'>

<xs:sequence>

<xs:element name='idUsuario' type='xs:string'/>

<xs:element name='nombres' type='xs:string'/>

<xs:element name='apellidos' type='xs:string'/>

</xs:sequence>

</xs:complexType>

Nombre Tipo Descripción

idMensaje xsd:long Código único asignado al mensaje generado por el sistema SOFIA PLUS.

idUsuario xsd:string Nombre de usuario. Corresponde al NIS del usuario asignado en SOFIA PLUS.

nombres xsd:int Nombre del usuario registrado en SOFIA PLUS.

apellidos xsd:long Apellidos del usuario registrado en SOFIA PLUS. (Primer y segundo apellido concatenados).

Page 51: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 51 de 66

Fecha: 27-04-2011

Parámetros de salida:

<xs:element name='codigoError' type='xs:long'/>

<xs:complexType name='pruebasProgramadas'>

<xs:sequence>

<xs:element name='idUsuario' type='xs:string'/>

<xs:element name='urlPrueba' type='xs:string'/>

</xs:sequence>

</xs:complexType>

Nombre Tipo Descripción

codigoError xsd:long Código de error de la operación. Cuando se recibe un 0 (Cero) la operación fue realizada de manera exitosa.

idUsuario xsd:string Nombre de usuario. Corresponde al NIS/Identificación del usuario asignado en la aplicación SENA.

urlPrueba xsd:int URL absoluta mediante la cual el aspirante accede a la prueba de valoración de nivel. La url debe ser codificada para evitar la presentación de datos a los usuarios finales.

Page 52: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 52 de 66

Fecha: 27-04-2011

18.2. CancelarPruebaSENA

Esta operación realiza la cancelación de una prueba de nivel previamente programada en

la plataforma de bilingüismo.

Parámetros de entrada:

<xs:element name='idMensaje' type='xs:long'/>

<xs:complexType name='cancelacionPrueba'>

<xs:sequence>

<xs:element name='idUsuario' type='xs:string'/>

</xs:sequence>

</xs:complexType>

Parámetros de salida: NO TIENE

Nombre Tipo Descripción

idMensaje xsd:long Código único asignado al mensaje generado por el sistema SENA.

idUsuario xsd:string Nombre de usuario. Corresponde al NIS/Identificación del usuario asignado en la aplicación SENA.

Page 53: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 53 de 66

Fecha: 27-04-2011

18.3. ObtenerResultadosPruebaSENA

Esta operación obtiene un arreglo con los resultados de las pruebas obtenidas por los

aspirantes SENA, para una fecha específica (La fecha corresponde a la fecha de

presentación de la prueba).

Parámetros de entrada:

<xs:element name='idMensaje' type='xs:long'/>

<xs:element name='fecha' type='xs:date'/>

Parámetros de salida:

<xs:complexType name='resultadosPrueba'>

<xs:sequence>

<xs:element name='idUsuario' type='xs:long'/>

<xs:element name='fechaPrueba' type='xs:date'/>

<xs:element name='reading' type='xs:string'/>

<xs:element name='listening' type='xs:string'/>

<xs:element name='grammar' type='xs:string'/>

<xs:element name='speaking' type='xs:string'/>

<xs:element name='final' type='xs:string'/>

</xs:sequence>

</xs:complexType>

Nombre Tipo Descripción

idMensaje xsd:long Código único asignado al mensaje generado por el sistema o aplicación SENA.

fecha xsd:date Fecha para la cual se solicitan los resultados de la prueba de nivel.

Page 54: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 54 de 66

Fecha: 27-04-2011

18.4. CrearCursoSENA

Esta operación envía un arreglo de cursos para que sean creados por la plataforma de

bilingüismo.

Parámetros de entrada:

<xs:element name='idMensaje' type='xs:long'/>

<xs:complexType name='listaCreacionCursos'>

<xs:sequence>

<xs:element name='idCurso' type='xs:long'/>

<xs:element name='nombrePrograma' type='xs:string'/>

<xs:element name='nivel' type='xs:string'/>

</xs:sequence>

</xs:complexType>

Parámetros de salida: No tiene.

3 Este nivel de programa debe entenderse como un parámetro exclusivamente técnico y no corresponde a estándares internacionales

de idiomas, por ejemplo como los definidos por el Marco Común Europeo.

Nombre Tipo Descripción

idMensaje xsd:long Código único asignado al mensaje generado por el sistema SENA.

idCurso xsd:long Código del curso o ficha de caracterización generado por la aplicación SENA.

nombrePrograma xsd:string Nombre del programa de formación asociado a la ficha de caracterización.

nivel xsd:string Nivel del programa de bilingüismo aplicable a la plataforma (Por Ej. A1, B1, etc.)3

Page 55: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 55 de 66

Fecha: 27-04-2011

18.5. CancelarCursoSENA

Esta operación envía un arreglo con la lista de cursos a cancelar en la plataforma de

bilingüismo.

Parámetros de entrada:

<xs:element name='idMensaje' type='xs:long'/>

<xs:complexType name='listaCancelacionCursos'>

<xs:sequence>

<xs:element name='idCurso' type='xs:long'/>

</xs:sequence>

</xs:complexType>

Parámetros de salida: No tiene.

Nombre Tipo Descripción

idMensaje xsd:long Código único asignado al mensaje generado por el sistema SENA.

idCurso xsd:long Código del curso o ficha de caracterización generado por la aplicación SENA.

Page 56: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 56 de 66

Fecha: 27-04-2011

18.6. EnrolamientoAprendizSENA

Esta operación envía un arreglo con la lista de aprendices a ser enrolados en cursos en la

plataforma de bilingüismo.

Parámetros de entrada:

<xs:element name='idMensaje' type='xs:long'/>

<xs:complexType name='aprendices'>

<xs:sequence>

<xs:element name='idUsuario' type='xs:string'/>

<xs:element name='nombres' type='xs:string'/>

<xs:element name='apellidos' type='xs:string'/>

<xs:element name='email' type='xs:string'/>

<xs:element name='idCurso' type='xs:long'/>

</xs:sequence>

</xs:complexType>

Nombre Tipo Descripción

idMensaje xsd:long Código único asignado al mensaje generado por el sistema SENA.

idUsuario xsd:string Nombre de usuario. Corresponde al NIS/Identificación del usuario asignado en la aplicación SENA.

nombres xsd:int Nombre del usuario registrado en la aplicación SENA.

apellidos xsd:long Apellidos del usuario registrado en la aplicación SENA. (Primer y segundo apellido concatenados).

idCurso xsd:long Código de la ficha de caracterización generado por la aplicación SENA.

Page 57: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 57 de 66

Fecha: 27-04-2011

Parámetros de salida: No tiene.

Page 58: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 58 de 66

Fecha: 27-04-2011

18.7. EnrolamientoInstructorSENA

Esta operación envía un arreglo con la lista de los instructores que deben ser enrolados en

cursos y la lista de coordinadores académicos (Supervisores) que tienen a cargo el

seguimiento del instructor.

Parámetros de entrada:

<xs:element name='idMensaje' type='xs:long'/>

<xs:complexType name='instructores'>

<xs:sequence>

<xs:element name='idUsuario' type='xs:long'/>

<xs:element name='nombres' type='xs:string'/>

<xs:element name='apellidos' type='xs:string'/>

<xs:element name='email' type='xs:string'/>

<xs:element name='idCurso' type='xs:long'/>

<xs:complexType name='supervisores'>

<xs:sequence>

<xs:element name='idUsuarioSupervisor' type='xs:long'/>

<xs:element name='nombresSupervisor' type='xs:string'/>

<xs:element name='apellidosSupervisor' type='xs:string'/>

<xs:element name='emailSupervisor' type='xs:string'/>

</xs:sequence>

</xs:complexType>

</xs:sequence>

</xs:complexType>

Nombre Tipo Descripción

idMensaje xsd:long Código único asignado al mensaje generado por el sistema SENA.

idUsuario xsd:string Nombre de usuario. Corresponde al

Page 59: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 59 de 66

Fecha: 27-04-2011

Parámetros de salida: No tiene.

18.8. DesactivarUsuarioSENA

Esta operación envía un arreglo con la lista de los usuarios (Instructores y aprendices) a

ser desactivados en curso específico.

Parámetros de entrada:

<xs:element name='idMensaje' type='xs:long'/>

<xs:complexType name='usuarios'>

<xs:sequence>

<xs:element name='idUsuario' type='xs:long'/>

<xs:element name='idCurso' type='xs:long'/>

</xs:sequence>

</xs:complexType>

NIS/Identificación del usuario asignado en la aplicación SENA.

nombres xsd:int Nombre del usuario registrado en la aplicación SENA.

apellidos xsd:long Apellidos del usuario registrado en la aplicación SENA. (Primer y segundo apellido concatenados).

idCurso xsd:long Código del curso o ficha de caracterización generado por la aplicación SENA.

Nombre Tipo Descripción

idMensaje xsd:long Código único asignado al mensaje generado por el sistema SENA.

idUsuario xsd:string Nombre de usuario. Corresponde al NIS/Identificación del usuario asignado en la

Page 60: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 60 de 66

Fecha: 27-04-2011

Parámetros de salida: No tiene.

18.9. CargueNotasSENA

Esta operación obtiene la información de la matriz de notas finales para un programa de

bilingüismo para una ficha en particular.

Parámetros de entrada:

<xs:element name='idMensaje' type='xs:long'/>

<xs:element name='idCurso' type='xs:long'/>

aplicación SENA

idCurso xsd:long Código del Curso o ficha de caracterización generado por la aplicación SENA.

Nombre Tipo Descripción

idMensaje xsd:long Código único asignado al mensaje generado por la aplicación SENA.

idCurso xsd:long Código del Curso o ficha de caracterización generado por la aplicación SENA.

Page 61: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 61 de 66

Fecha: 27-04-2011

Parámetros de salida:

<xs:complexType name='instructores'>

<xs:sequence>

<xs:element name='idUsuario' type='xs:long'/>

<xs:element name='PercentageDone' type='xs:string'/>

<xs:element name='TestAvgAll' type='xs:string'/>

<xs:element name='Project' type='xs:string'/>

<xs:element name=' ExitTest' type='xs:string'/>

<xs:element name=' TimeOnTask' type='xs:string'/>

<xs:element name=' Communication' type='xs:string'/> <xs:element name='FinalGrade' type='xs:string'/>

<xs:element name='Comments ' type='xs:string'/>

</xs:sequence>

</xs:complexType>

Page 62: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 62 de 66

Fecha: 27-04-2011

10. Control del proceso – Registros de mensajes

EL proceso de envío de mensajes a las plataformas de Bilingüismo, están controlados mediante

unos registros de control de proceso que son almacenados en tablas de la aplicación SENA, Se

tienen dos tipos de registros: Los registros de control de mensajes y los registros de control de

proceso.

En la tabla de control de mensajes se almacenará la información relacionada con los siguientes

tipos de operación:

Tipo de operación

Nombre Operación / Webservice relacionado

Descripción

0 Cancelación de prueba de nivel CancelarPruebaSENA

Información del mensaje enviado para la cancelación de una prueba de nivel.

1 Crear curso CrearCursoSENA

Información del mensaje enviado para la creación de un curso.

2 Desactivación de curso CancelarCursoSENA

Información del mensaje enviado para la desactivación de un curso.

3 Enrolamiento aprendiz EnrolamientoAprendizSENA

Información del mensaje enviado para el enrolamiento de un aprendiz.

4 Enrolamiento instructor EnrolamientoInstructorSENA

Información del mensaje enviado para el enrolamiento de un instructor.

5 Desactivación de usuario DesactivarUsuarioSENA

Información del mensaje enviado para la desactivación de usuario.

6 Solicitud de resultados CargueNotasSENA

Información del mensaje enviado para el cargue de resultados finales del curso.

Para cada uno de estos mensajes se almacena un registro de mensaje en una tabla de nombre

CONTROL_PROCESO_BILINGUISMO, la cual tiene la siguiente estructura:

Page 63: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 63 de 66

Fecha: 27-04-2011

Nombre de la columna Descripción Tipo de dato Requerido

CPB_ID El código único del mensaje. Corresponde a la llave primaria de la tabla.

NUMBER (10) SI

SPB_ID

El ID de la sesión de procesamiento relacionado en la tabla de control de proceso. Campo obligatorio de asociado a la tabla CONTROL_PROCESO_ BILINGUISMO.

NUMBER (10) SI

CPB_TIPO_MENSAJE

Indica el tipo de operación enviado. Los tipos de operación corresponden a la tabla especificada anteriormente (0, 1, 2, 3, 4, 5, 6).

NUMBER (1) SI

CPB_ID_FICHA

Código de la ficha de caracterización relacionado con la operación. Este código tiene aplicación para los mensajes del tipo 1, 2, 3, 4, 5 y 6.

NUMBER(10) NO

CPB_NIS

Corresponde al NIS del usuario relacionado con la operación. Este código tiene aplicación para los mensajes del tipo 0, 3, 4 y 5.

NUMBER(10) NO

CPB _FCH_EJECUCION Fecha en la cual se realizó el último procesamiento del mensaje.

DATE SI

CPB_ESTADO

Estado del mensaje:

ENVIADO

PENDIENTE

REENVIADO

NUMBER (1) SI

CPB_MENSAJE_ENVIADO Mensaje SOAP enviado VARCHAR2

(4000 Byte) SI

CPB_CODIGO_ERROR Código de error. Este código debe estar asociado a una tabla de catálogo de errores.

NUMBER (2) SI

Cada uno de los mensajes estará asociado a una sesión de procesamiento. La sesión de

procesamiento se entenderá como el grupo de mensajes que son procesados por un proceso de

Page 64: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 64 de 66

Fecha: 27-04-2011

sistema, no importa si este es iniciado de manera manual o automática. La información de control

de la sesión de procesamiento se deberá almacenar en una tabla con el nombre

CONTROL_PROCESO_ BILINGUISMO. El registro relacionado a la sesión de proceso debe ser creado

de manera previa al inicio de envío de los mensajes. La estructura de dicha tabla debe ser de la

forma:

Nombre de la columna Descripción Tipo de dato

SPB_ID Id del proceso.

NUMBER (10) SI

SPB_FCH_CREACION Fecha en la cual se inició la ejecución del proceso

DATE SI

SPB_VENTANA_INICIO Id del registro de integración.indice_cambio en el cual se inició el proceso

NUMBER (10) SI

SPB_VENTANA_FIN Id del registro de integración.indice_cambio en el cual finalizó el proceso

NUMBER (10) SI

Los errores que se puedan presentar en el proceso deberán estar registrados en una tabla con el

nombre CBP_ERRORES con una estructura del tipo:

Nombre de la columna Descripción Tipo de dato

ID_CODIGO_ERROR Id del error. NUMBER (3)

SI

DESCRIPCION Descripción del error asociado. Por ej. Para los problemas relacionados con conectividad deberá indicar que la otra plataforma no se encontraba disponible.

VARCHAR (200) BYTES

SI

Page 65: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 65 de 66

Fecha: 27-04-2011

11. Catálogos de aplicación

Los siguientes son los catálogos que deberán ser creados y administrados en la aplicación SENA

para la administración de la integración con las plataformas de bilingüismo.

Catálogo de plataformas de Bilingüismo

En este catálogo se almacena la información de las plataformas de bilingüismo con las cuales

interactúa el sistema SENA. Las plataforma deben ser asociadas a los programas de formación de

SENA con el objetivo de poder identificar la plataforma a la cual se debe realizar solicitudes en el

momento de inscripción a los programas de bilingüismo, o en el momento de realizar las

invocaciones relacionadas con creación de cursos, enrolamiento y novedades de usuarios.

Nombre del campo Descripción Tipo de dato Longitud

Id_plataforma Corresponde al identificador único de cada plataforma de bilingüismo

NUMBER 10

Nombre_plataforma Nombre de la plataforma de bilingüismo

VARCHAR2 255

descripcion Descripción de la plataforma. VARCHAR2 255

url URL absoluta para del punto de acceso a los web Service y demás componentes de integración con las plataforma de bilingüismo.

VARCHAR2 255

estado Estado de uso de la plataforma. 1: Activa 0: Inactiva

NUMBER 1

security_key Código hash de seguridad para validación de datos entre las dos plataformas.

VARCHAR2 255

Finalmente, cabe anotar que si una Plataforma de Bilinguismo soporta la asignación de varios

niveles, deberán establecerse claramente las restricciones funcionales frente a dicho proceso, los

códigos de los lenguajes y códigos de niveles, modificando o adicionando estos componentes en

los puntos donde sea necesario del presente documento.

Page 66: Documento de especificación Plataformas WebServices para ...contratacion.sena.edu.co/_file/solicitudes/13375_3.pdf · SOFIA Plus y consultando el alias del API en un XML donde se

Documento de especificación – WebServices para Integración

Plataformas Bilingüismo

Versión: 1.0 Página 66 de 66

Fecha: 27-04-2011

12. Esquema de integración con plataformas de Learning Managment System

Cuando el Sena adquiere una plataforma de Bilinguismo, se entiende la diferencia que hay entre

dicho software y un sistema de gestión del Aprendizaje LMS. De acuerdo con esto, la Plataforma

de Biliguismo encierra todos elementos de contenidos y pedagógicos para la formación en idiomas

Online y el LMS involucra aquellas herramientas de comunicación e interacción efectiva con el

tutor, con los compañeros de estudio y un centro de asistencia tecnológica y pedagógica integral.

Técnicamente, los dos tipos de plataformas deben estar integrados por medio de componentes

tecnológicos definidos y probados entre el Sena y el proveedor, bajo un esquema de Single Sign

On desarrollado de manera que garantice el menor impacto sobre el desempeño de cada uno de

los sistemas, e igualmente sobre el número de pasos que el estudiante debe realizar desde el LMS

para la visualización de los contenidos. Igualmente, es necesario que las transacciones se realicen

directamente entre la aplicación Sena y la Plataforma de Bilinguismo, sin agentes externos

adicionales, dado que constituyen pasos y puntos de riesgo adicionales. En general el Single Sign

On debe ser implementado, mediante el intercambio de información mínimo pero de manera

segura entre los sistemas de información. El número de pasos después de hacer clic sobre el botón

o herramienta que llame el Single Sign On, y la visualización de los contenidos del curso debe ser

de dos como máximo.

En un esquema sencillo, se puede entender con la siguiente gráfica descriptiva:

PLATAFORMA

LMS

PLATAFORMA BILINGUISMO (Ubica al

usuario en el Curso y Nivel Designado,

con sus propias credenciales

ENVIO DE DATOS NECESARIOS

PARA

EL SINGLE SIGN ON

Para el desarrollo y pruebas del Single Sign On, los especialistas técnicos de la Plataforma de

Bilinguismo, deberán concretar los detalles del mecanismo con el proveedor del LMS.

Como punto adicional, el LMS podrá hacer uso de los WebService definidos anteriormente para

incluir información en sus herramientas, tal como sería el caso para notas en el libro de

calificaciones o utilidad equivalente a éste.