67
Tjenesteplattform for utdanningssektoren Andreas Åkre Solberg UNINETT, WebTechnology Research and Development Oslo, 11. Februar 2013

UWAP Tjenesteplattform

Embed Size (px)

Citation preview

Page 1: UWAP Tjenesteplattform

Tjenesteplattform for utdanningssektoren

Andreas Åkre SolbergUNINETT, WebTechnology Research and Development

Oslo, 11. Februar 2013

Page 2: UWAP Tjenesteplattform

Web Single Sign-On with Feide was sufficient to provide

a seamless user experience across services.

Once upon a time

Page 3: UWAP Tjenesteplattform

Collaboration on Internet

✤ A dynamic working groups spanning multiple organizations, work together using digital collaboration tools:

✤ A wiki

✤ Document sharing tool

✤ Meeting planner and calendar

✤ A Web meeting tool

✤ A web forum or mailinglist

Page 4: UWAP Tjenesteplattform
Page 5: UWAP Tjenesteplattform

to provide a satisfying end-user experience spanning multiple collaboration services today,SSO is not sufficient.

Page 6: UWAP Tjenesteplattform

Traditional approach

User directory

App1

App2

App3

Batch provisioningof users and groups

✤ Does not scale

✤ Not dynamic

✤ (Often) only in one direction

✤ But it works,for some use cases

Page 7: UWAP Tjenesteplattform

Modern services

✤ Modern collaboration services share a bunch of common components:

✤ Users and authentication

✤ Groups and authorization

✤ Invitation (mapping users and groups)

✤ Activity stream

✤ Notifications (mail and mobile push notifications)

✤ Data access with third party REST API

Page 8: UWAP Tjenesteplattform

Component X

Feide

App App App

Authentication

SAML

SP

API + OAuth

Addtional

services

Page 9: UWAP Tjenesteplattform

Webteknologi20122012

2013

2011

2014

2015

2016

Webteknologi2013-2016

Innovasjonsprosjekter i UNINETT knyttet til "Webteknologi"

Spin-offstjeneste utvikling

/ utrulling

???

Innovasjon

Page 10: UWAP Tjenesteplattform

UWAPPrototype

Feide

App App App

Authentication

SAML

SP

API + OAuth

Addtional

services

Page 11: UWAP Tjenesteplattform

✤ ettersom man tilbyr mer og mer støtte-funksjonalitet (auth, gruppe ++) kan fort kompleksiteten bli uholdbar på tjenestesiden.

✤ Enkelt for tjenesteleveandørene er svært viktig!

✤ De bør forholde seg til biblioteker og ikke egne software komponenter som kjører på tjenestesiden.

✤ Vi må lære av økosystemene til store aktører som har lykkes med ekstrem skalerbarhet; google, linkedin, facebook m.fl.

✤ Selvbetjening er kritisk.

Page 12: UWAP Tjenesteplattform

Users

ContentAPI

ServiceThird partyapplications

New more complex model

Delegation

Third partyapplications

ContentAPI

Service

Page 13: UWAP Tjenesteplattform

UWAP Eco-system

AppDevelopers

ContentProviders

SchoolsUniversites

Users

UWAPPrototype

Page 14: UWAP Tjenesteplattform

✤ Tjenesteleverandører

✤ Selvbetjening

Page 15: UWAP Tjenesteplattform

✤ Enklere integrasjon enn Feide.

✤ Innebygget støtte for mobil Apps

✤ Basert på OAuth / OpenID Connect

✤ Enkelt API med en rekke ekstra funksjonalitet

Page 16: UWAP Tjenesteplattform

Grupper

Page 17: UWAP Tjenesteplattform

Groups

✤ Dynamic large-scale groups from Feide attributes✤ Organization, department✤ Affiliation: like «all students at NTNU»

✤ Ad-hoc groups✤ Managed external groups

✤ FS✤ KIND, etc.

Platform

Self-servicegroup mngmnt

FS SurfConext +++

App App App

Feide

DynamicGroups

Managed external groups

Ad-hoc groups

Page 18: UWAP Tjenesteplattform

Ad-Hoc groups

✤ Everyone can create new groups, and invite/add users

✤ Important to easily find the correct persons you want to add. Search engine based upon real names.

Page 19: UWAP Tjenesteplattform

Group information model

✤ List of members✤ Membership roles:

✤ Admin/Owner✤ Regular member✤ (Subscribers) Optionally a group can have subscribers.

✤ Managed external group providers may defined extended role definitions

✤ Applications may off course provide additional membership roles locally.

✤ Work on international harmonization of this basic model.

Page 20: UWAP Tjenesteplattform
Page 21: UWAP Tjenesteplattform

Invitations, people search

✤ Protected with Feide

✤ Generic js library

✤ Very easy integration in all applications that needs to «add users».

Page 22: UWAP Tjenesteplattform

ActivityStreams

Page 23: UWAP Tjenesteplattform

Activity streams

Andr

eas c

reate

d a w

iki pa

ge

«welc

ome!»

at A

gora

Armaz

shar

ed a

file «a

rchite

cture

.pdf»

at C

louds

tor

Simon

sch

edule

d a ne

w mee

ting

Andr

eas c

onfirm

ed an

d

will a

ttend

mee

ting

A ne

w us

er Th

orlei

f is

adde

d to t

he gr

oup

› One activity stream per group.› Generic information model› Acitivites posted to one or more groups

Public / PrivateNormal / Promoted

User interfaces› WebApp frontend› Mobile app frontend› Widgets› API

Page 24: UWAP Tjenesteplattform
Page 25: UWAP Tjenesteplattform

Notifications

✤ The most important activity updates

✤ Email and mobile push notifications

✤ Personal preferences

Page 26: UWAP Tjenesteplattform

Federated Widgets

Page 27: UWAP Tjenesteplattform

Federated Widgets

✤ Embed content on remote site

✤ Challenge:

✤ secure environment

✤ authentication

Page 28: UWAP Tjenesteplattform

Federated Widgets

✤ Super simple integration!

✤ Secure separation from container site

✤ Auto-detecting existing Feide session

✤ No server-side requirements...

Page 29: UWAP Tjenesteplattform

Federated Widget

✤ The group-context-aware «webmeeting button»

Webmeeting using

Adobe Connect

Join meeting

Page 30: UWAP Tjenesteplattform

Feed WidgetShows an aggregated feed of activities for the current

selected group across all collaboration tools.

Share widgetCan be easily integrated anywhere. Will share a link to the current web page

to the activity stream for the current user in a selected group context.

Page 31: UWAP Tjenesteplattform

Feed WidgetShows an aggregated feed of activities for the current

selected group across all collaboration tools.

Share widgetCan be easily integrated anywhere. Will share a link to the current web page

to the activity stream for the current user in a selected group context.

Page 32: UWAP Tjenesteplattform

Feed WidgetShows an aggregated feed of activities for the current

selected group across all collaboration tools.

RedMineWith Activity Stream Connector enabled.

Page 33: UWAP Tjenesteplattform

WebApp Hosting (PaaS)

Page 34: UWAP Tjenesteplattform

✤ Web as a platform

✤ Usage increasing

✤ True multi-platform: desktop, mobile (android+ios+)

✤ REST API friendly

✤ Client side logic

✤ Makes it hassle-free to provide cloudbased hosting environment

✤ Easier service roll-out in education: no installations..

Page 35: UWAP Tjenesteplattform

creating a new application...

Page 36: UWAP Tjenesteplattform
Page 37: UWAP Tjenesteplattform

How does it work

✤ Each app gets their own domain: myapp.eduapps.org

✤ App engine provides a javascript API to access all functionality

✤ The javascript engine communicates with app server using REST api.

✤ Let’s test it...

Page 38: UWAP Tjenesteplattform
Page 39: UWAP Tjenesteplattform
Page 40: UWAP Tjenesteplattform
Page 41: UWAP Tjenesteplattform
Page 42: UWAP Tjenesteplattform
Page 43: UWAP Tjenesteplattform

89 lines of code (mostly UI)

Page 44: UWAP Tjenesteplattform

App Store

Page 45: UWAP Tjenesteplattform
Page 46: UWAP Tjenesteplattform

App Store

Connecting edu institutions to content providers with new more efficient and fair payment models

Authorization data

New Potentials

Page 47: UWAP Tjenesteplattform

Content Providers

Page 48: UWAP Tjenesteplattform

Open Data

✤ Universites increasing interest to share their data using APIs.

✤ Win-win situation. Both students and commercial providers may provide value-added service by making use of the data.

✤ Privacy very important!

✤ Complex to provide authentication model for delegated access to personal data.

Page 49: UWAP Tjenesteplattform
Page 50: UWAP Tjenesteplattform

Service Providers

✤ REST API with delegated access control.

✤ Feide authentication

✤ Trust model

✤ Scalable management of third party client access control.

API

Information

Frontend

BusinessLogic

Page 51: UWAP Tjenesteplattform

SOA Gatekeeper

✤ Manage 3rd party clients

✤ Control your open APIs

✤ User control, scopes, consent etc.

Page 52: UWAP Tjenesteplattform

Providing a Service

Page 53: UWAP Tjenesteplattform

✤ Ikke enda planlagt.

✤ Stor interesse i UH for å få opp tjenester. Spesielt rundt grupper.

✤ Koordineres med:

✤ Feide

✤ Nansen

✤ IKTsenteret tidlig med...

Webteknologi20122012

2013

2011

2014

2015

2016

Webteknologi2013-2016

Innovasjonsprosjekter i UNINETT knyttet til "Webteknologi"

Spin-offstjeneste utvikling

/ utrulling

???

Innovasjon

It.1 First iterationService Pilot

Page 54: UWAP Tjenesteplattform

Innpakking sammen med Feide

FeideConnect!

Feide

App App App

Authentication

SAML

SP

API + OAuth

Addtional

services

Page 55: UWAP Tjenesteplattform

Feide Connect! added-value

✤ Simpler integration with modern web applications (OAuth-based)✤ Support for authentication on mobile✤ Easier integration with PaaS (Nansen)✤ Support emerging standards: OpenID Connect!✤ Groups✤ People search✤ Easier cross-federation integration!✤ Built-in discovery✤ Guest users✤ Lower bar of entry for service providers: students etc. Self-service

Support no-contract consumers!✤ Extensible: allows us to add new services!✤

Page 56: UWAP Tjenesteplattform

Will not solve...

✤ Local Single Sign-On on Windows Domain with Keberos

✤ Higher level authentication (2-factor). LoA.

✤ Accepting more loosely connected user through Feide (UiO)

Page 57: UWAP Tjenesteplattform

Services to add later on

✤ Activity streams✤ Calendar sharing✤ REST API engine✤ Activity streams✤ Notifications✤ SOA Gatekeeper✤ App hosting

✤ Storage, message queue, cache, release management etc.✤ Federated widgets✤ OAuth REST Engine (simplify using protected REST APIs)✤ ...

Page 58: UWAP Tjenesteplattform

NANSEN

Page 59: UWAP Tjenesteplattform

✤ https://www.uninett.no/skytjenester-rapport-med-anbefalinger

✤ Stor interesse i UH sektoren om samarbeid rundt

✤ innkjøp av kommersielle skytjenester

✤ oppbygning av egen skyinfrastruktur i sektoren for å organisere morgendagens tjenester for sektoren. Erstatter dagens IKT drift. Med samarbeid.

Page 60: UWAP Tjenesteplattform

UNINETTs Nova plattform

✤ Arbeid i 2013-2014.

✤ Bygger opp skyinfrastruktur internt for å kunne hoste våre egne tjenester

✤ Kompetanseoppbygning og forarbeid som kan være nyttig for sektoren i relisering av NANSENs sektor-spesifikke sky.

Page 61: UWAP Tjenesteplattform

Virtualisering

UWAP Core

OS

Feide

WebApp PaaS

Høytilgjengelighet

Fil Lagring

In-memory

NoSQL store

Page 62: UWAP Tjenesteplattform

✤ UNINETT FAS

✤ Administrative Apps for selvbetjening

✤ eCampus

✤ Samarbeidsverktøy: Agora, RedMine, webmøter etc.

Page 63: UWAP Tjenesteplattform

Service Platform

FeideAuthentication

People search

Calendar sharing

Activity stream

Groups and authorization

REST API Engine

Notifications

All platform UI built asindepedent apps

AppApp

Page 64: UWAP Tjenesteplattform

IKTsenteret

Page 65: UWAP Tjenesteplattform

✤ Felles samarbeid om Feide.

✤ Svært sammenfallende behov rundt støtte mot tjeneser til utdanningssektoren.

✤ Trolig kosteffektivt å jobbe med en felles løsning når behovene er overlappende.

Page 66: UWAP Tjenesteplattform

✤ Samarbeid rundt informasjonsmodell for grupper

✤ Pilot-integrasjon mot f.eks. fylkeskommune gruppe-provider

✤ Pilot-integrasjon mot BAS for person-søk

✤ Pilot tjenesteleverandører

✤ Interessante use-case: DVM,

Mulige oppgaver

Page 67: UWAP Tjenesteplattform

last slide