SUNET – Canvas GBG-UME Meeting

Slides:



Advertisements
Liknande presentationer
SOA Governance with SOA Software For BUGS Martin Svensson.
Advertisements

Ladok Lärosäte Lokala system Behörighets- katalog Idp Personal Studenter CSN SCB NyA Etc. Lärosäte Lokala system Behörighets- katalog Idp Personal Studenter.
För att uppdatera sidfotstexten, gå till menyfliken: Infoga | Sidhuvud och sidfot Fondbolagsträff 2015.
Exempelbaserade specifikationer med SpecFlow
To practise speaking English for 3-4 minutes Genom undervisningen i ämnet engelska ska eleverna ges förutsättningar att utveckla sin förmåga att: formulera.
© Gunnar Wettergren1 IV1021 Project models Gunnar Wettergren
1-1 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-1 Programmering 7.5 hp Programmering är... creativ, fascinerande, roligt,
Lab Contact 1  Lab Assistants:  Meng Liu, Group B  Sara Abbaspour, Group A
Self Service NET2 -Set up Spara gärna denna manual på din PC eller skriv ut materialet för senare stöd. | +46.
A.Speaking B.1. Reading B.2. Listening C. Writing.
F ORSKARNIVÅN I NYA L ADOK NUAK Annette Larsson Matz-Ola Cajdert.
 Object-Relational mapping  (aka O/RM, ORM, and O/R mapping)  Mappning av objekt och dess relationer till/från en relationsdatabas.
Införande av DEP – Device Enrollment Program På Svenska: ERP (Enhetsregistreringsprogram) Införande av DEP – Device Enrollment Program På Svenska: ERP.
Gruppövning Applikationsprogramering Klassuppdelning Loose Coupling Model View Controller Inversion of Control Layout med Swing JSplitPane Mouse-over Events.
SAFETY EQUIPMENT USED IN MARITIMEOPERATIONS One of the most important sections in maritime courses consists of boat and ship operations. Safety is an important.
Digitization and Management Consulting
Types of Business Consulting Services Cornerstoneorg.com.
Information om datasystem för vård och omsorg
MIT-miljöer och utbildningsmijöer -Staffan Ekstedt
Resultat Förbereda.
Support, Servrar och annan teknik
Öppen frågestund Den 1 mars 2017.
Lathund Ladoksupport.
Meeting singles had never been so easy before. The growing dating sites for singles have given a totally new approach to getting into relationships. ‘Singles.
DiVA-undervisning RISE 28 oktober 2016 Aina Svensson & Urban Ericsson
DiVA-undervisning Luleå tekniska universitet 20 maj 2016
We are the world There comes a time When we head a certain call When the world must come together as one There are people dying And it's time to lend.
Waste management on export
Kommunikation och social förändring Ht 2010
Lycka till med din dator! Fler guider på Good Luck!
Hantera kurstillfälle
Role of Divorce, Family Law and Commercial Attorneys.
Information för it-handledare i pensionärsföreningar
Scenarier för tillgodoräknanden del 2 webbutbildning
You Must Take Marriage Advice to Stop Divorce! Dontgetdivorced.com.
SPOR PROM lösningsförslag Magnus Mickelsson, Systemarkitekt UCR magnus
Nationella provets delar:
Vad gör jag om jag vill forska med SPORs data?
Lathund-Ladok-95-Studiedeltagande
Johan M. Sanne Lisa Schmidt
Integration av lokala system
SKOLA24 • VAD GÖR EN KOMMUNADMINISTRATÖR
Från timplan till schema Kommunadministratörsutbildningen
Formativ feed back Gun Abrahamsson.
Studentportalen – allt om dina studier
Supportstuga inför terminsstart
Lärare som forskar Samarbete mellan Malmö stad och Malmö högskola
Season 2018.
Fokusutbildning tidbok och webbtidbok
Reporting of indicators i Sweden step by step
Flödet mellan Ladok och NyA för programstudenter Linda Strand Lundberg från Ladokkonsortiet Sofia Yegen från Universitets- och högskolerådet.
Lathund-Ladok Hantera mallar för intyg
NY BESTÄLLNINGSPORTAL I JIRA - LADOKBESTÄLLNING
Dokumentera rätt i vården
för dig som attesterar resultat
för dig som attesterar resultat
för dig som rapporterar resultat
för dig som rapporterar resultat
Supportstuga: Medarbetarkopplingar
Information om anmälan till PREMIUM-kurser på Mälardalens högskola
It all starts with a good teacher
Informationsmodeller och API
Innehåll Förväntat deltagande på individuellt tillfälle 1-2
Kursadministration- Aktivitetstillfälle

Kontroll på din API hantering
Rapportera resultat för en enskild student
Ny betavy: hantera resultat för enskild student
Presentationens avskrift:

SUNET – Canvas GBG-UME Meeting Magnus, Johan, Ola

Purpose Learn to know each other Find good ways to cooperate Sort out issues Plan ahead

Present Person Organization Role/Position Andreas Berglund University of Umeå Robert Karlsson Emil Nylund Tommy Larsson Johan Planmo University of Gothenburg IT/EA Architect Ola Ljungkrona Olov Höglund Per Hörnblad Project Manager Development Magnus Våge Integration Architect

Brain dump

Förslag på agendapunkter GBG Dokumentation -> Pass 1 enligt förslag Logisk Arkitektur -> Pass 2 enligt förslag Lös koppling Generellt Mellan Ladok och Canvas Inklusive versionshantering Logiskt Arkitektur Ladok LIS Adapter LIS (Pass3) Interceptmönster (EPPN – användare konto) Messaging Provider Meddelanden som inte kommer från Ladok Anställda/Lärare Canvas Adapter Referensintegritet Protokollbyte Felhantering Extensions Styrda mappningar Canvas-överflygning Översikt Processöversikt Antagning och registrering Problem med Canvas LIS-implementation

Dokumentation Vi föreslår att vi dokumenterar allt på SUNET-wikin Sektioner Ladok LIS Adapter Beskriver hur meddelandena skapas Tjänst för tjänst Baserad på GBGs dokumentation Umeå gör jobbet Magnus validerar (Gunnar stöttar) Canvas Adapter Beskriver hur vi populerar Canvas Kontrakt för kontrakt Magnus gör designarbetet med lärosätena – Johan och Ola stöttar Gemensam dokumentation Umeå, Magnus Canvas LIS implementation issues Engelska Vi fyller på alla issues vi stöter på i Canvas LIS-implementation Magnus lägger till feedback issues som vi känner till

Integration Approach Event driven integration Loose Coupling Act on each Business Event Loose Coupling Provider and consumer execute independently in time Pub/sub is a preferred pattern Decouple information models through standards like LIS Idempotent Design Same result whenever an operation is carried out We send an entire Object each time something is updated We do not distinguish between new/changed (Upsert) Standardize Transport Asynchronous Transactional Messaging through AMQP 1.0 Synchronous Web Services through traditional WS or REST

Ansvar i tjänsteorienteringskontext Ansvarsgränser Ladok Generiskt System Integrationsplattform Adapter Kö Adapter Canvas Adapter Kö Kö Ladok får kontrollen kring informationsmängderna som skall integreras och med vilka system som skall ha det. Generiskt System Kö

Begreppsmodell Versionshanteras för sig Versionshanteras för sig

A standard Scenario – WS SUNET Adapter Canvas Ladok SIS SUNET Canvas adapter Message Queue LIS Message Message Queue SUNET Ladok adapter http SOAP Ladok Atom Feed A new Course is created in Ladok Ladok publishes a course event as an Atom Feed SUNET Integration Platform reads the event IP enriches the Course using Ladok private APIs IP creates a LIS message SUNET IP places the LIS message on a persistent queue Header contains the equivalent SOAP-operation Payload consists of the LIS-message The messaging infrastructure transports the message to Canvas with guaranteed delivery SUNET Canvas reads the message on queue and calls the Canvas SOAP API If the operation is confirmed (http 200) the message is committed from queue (guaranteed delivery) If not, SUNET monitors the error queue and takes appropriate measures

Lös Koppling Minska beroendena mellan applikationer (Loose Coupling) Oberoende av om båda applikationerna är uppe samtidigt Tillgänglighet Oberoende av var tjänsten är deployad Plats Oberoende av applikationernas interna informationsmodeller Informationsmodell Oberoende av hur motparten kommunicerar Teknologi Oberoende av applikationernas interna livscykel Livscykel

Integrationsöversikt

Referensintegritet För att undvika problem med referensintegritet är studiedeltagande ett komposit meddelande Kurstillfällesperiod Student Och sist enrollment Canvas adaptern kan ta det komposita meddelandet och stoppa in ett meddelande i taget i rätt ordning Student kräver att vi populerar EPPN – se problemställning Intercept

Intercept För att Studenten ska kunna logga in måste vi populera EPPN Det kräver med stor sannolikhet att vi hämtar användaridentitet från det lokala lärosätet Finns inte i Ladok (används ej för inloggning i Ladok) Det går att skjuta in studenter via CSV direkt från lärosätet Problemet är att vi skriver över studenten vid studiedeltagande Om vi inte har EPPN då nullar vi ut EPPN och studenten kan inte logga in Vi behöver kunna berika ett meddelande med Lärosätesinformation – intercept

Interceptproblematik Ska vi låta lärosätet fylla på meddelandet med data (EPPN)? Vi måste kunna skicka meddelandet transaktionssäkert till lärosätet Lärosätet måste kunna berika meddelandet och skicka tillbaka till Ume Teknikagnostisk Message Provider Ska vi gör det åt lärosätet? Då blir det inte en generisk lösning Lärosätesunik instans av dessa adaptrar Hämtar ID på något sätt från lärosätet

Val Strunta i refernintegritet och komposita meddelanden Kalkylerad risk Studenter hanteras helt lokalt via CSV Låta lärosätet intercepta meddelandet Kräver teknikagnostisk message provider Introducera ny teknologi i projketet Bygga lärosätesspecifika adaptrar Svårare underhåll Tätare beroenden

Meddelanden från andra system än Ladok Anställda finns ej i Ladok Kan skjutas in vi CSV från lärosätet lokalt Vi kan låta lärosätet använda Canvasadaptern själva Skjuta LIS-person meddelande på kö till Canvas adapter i Umeå Kräver teknikagnostisk endpoint Synkron eller asynkron

Canvas Adapter Referensintegritet Protokollbyte Felhantering Kö till SOAP Felhantering Felkö Övervakning Extensions Mappas i Kimono Styrda mappningar Osäkert om det finns mappning i LIS-standard som vi måste fylla med specifika värden Antaganden Institution från Ladok mappas mot Account SIS-ID på kursrummet (Kurs hamnar under institutionen) Manuell omflytt om man inte vill ha det så. Kan eventuellt styra i Kimono Accountstrukturen underhålls manuellt i Canvas Vi bygger inte resultatrapportering Det kan bli aktuellt att skapa grupper

Canvasöversikt

Process Processlänk Status: Under arbete GBG Process – 2C8 Processlänk Status: Under arbete Alla studiedeltagande händelserna är ej specade Otydlighet om resultatrapportering Troligen out of scope Ingen tydlig match mellan modul i Ladok3 och motsvarighet i Canvas Troligen ingen LIS-implementation (brist?)

Canvas Fokuserat LMS Inte en massa lull-lull som i tex Ping-Pong Bör inte användas som intranät Saknar djupare strukturer Fokus är ett kursrum som mappar mot ett kurstillfälle – en kurstillfälleskod Man kan cross-lista sektioner för samläsning av flera kurskoder som motsvarar samma kurstillfälle. Det sker manuellt. Lärare kopplas manuellt Lärare mappas manuellt av administratörer enligt vår grund-setting Lärare skjuts in separat via LIS eller CSV-körning Innehåll hanteras av lärarna Integrationen skapar tomma rum Lärarna kopierar sitt innehåll från föregående kurs Det går att skapa mallar – Blueprints Lärarundantaget gör att det inte är så populärt Beteendet är osäkert, därför undviker alla lärosäten det som jag känner till

Antagning och Registrering Vissa lärosäten vill öppna kursrummet för antagna studenter Syfte är att studenten ska kunna förbereda sig och läsa in sig Nackdelen är at studenten kan tro att den är inne i kursen utan att ha registrerat sig Vissa lärosäten vill att studenterna ska få tillgång till kursrummet efter registrering Läraren vill inte släppa sitt material till folk som inte ska vara med Om man väntar till registrering är man säker på att det inte ligger en massa folk i kursrummet som inte ska vara med (antagna som inte registrerar sig) Antagningsvägen Lägger till användare i kursrum som ”antagen-roll” vid antagning Lägger till användare i kursrum som ”studenter vid registrering Tar bort ”antagna” ett par dagar innan kursstart Annars kan dom tro att dom är med Beslut saknas

Problem med Canvas LIS-implementation Bara schemavalidering i Kimono – ingen feedback från Canvas Vi måste fylla på en gemensam lista med issues Tex interaktioner som saknas

A standard Scenario - Messaging Canvas Ladok SIS Message Queue SUNET Ladok adapter LIS Message Message Queue Ladok Atom Feed A new Course is created in Ladok Ladok publishes a course event as an Atom Feed SUNET Ladok Adapter reads the event Enriches the Course using Ladok private APIs Creates a LIS message SUNET Ladok Adapter places the LIS message on a persistent queue Header contains the equivalent SOAP-operation Payload consists of the LIS-message The messaging infrastructure transports the message to Canvas with guaranteed delivery Canvas detects the message on queue Normally near Real Time behavior, but can read messages at it’s own pace The operation is fetched from header and used to find the correct method The standard method for creating Courses is invoked with the LIS message as input When Canvas is certain that the Course has been created successfully the message is committed from queue Ensures that no message is lost If something goes wrong the message is rolled back to an error queue which must be monitored by SUNET