Top Banner
Open Knowledge Initiative
164

Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Jan 03, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Open Knowledge Initiative

Page 2: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Data Specifications – IMS/SCORM

EnterpriseApplication A

EnterpriseApplication B

Data

Page 3: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

An ApplicationBefore OKI

OKI in a Nutshell

An ApplicationBefore OKI

An ApplicationAfter OKI

Page 4: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Tool and Implementation Portability

Page 5: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

CourseWork and Stellar

Page 6: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Demo – Filing API

Provides Abstraction Boundary Between Application and one or more “file directories” known as “Cabinets.”

Application

Page 7: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Local and Remote Cabinets

File Sync.Demo

Page 8: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

File Synchronization Demo

Client UI Same code on Mac, Windows, Linux Rich User Experience Supports Disconnected Use

Different Byte Stores/Same application Local, Remote, AFS, IMAP – Go Crazy!

Application Portability

Page 9: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Possible Uses

Group Collaboration with multiple users synching to central file space

Group Collaboration using Specialized Tools Exploiting “Universal” File System

Add Authentication/Authorization for security, Logging to track activity, Workflow and Usermessaging to manage projects, etc.

More integrated authoring environments Other…

Page 10: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Development/Maintenance Effort as a Function of System Complexity

Eff

ort

Complexity

Page 11: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Common Service Spec Status

Authentication Authorization DBC Logging LocalID Shared Filing Hierarchy User Messaging Scheduling Workflow

0.9 – Public0.9 – Public0.9 – Public0.9 – Public0.9 – Public0.9 – Public0.9 – Public0.90.50.50.5

Page 12: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

CS Implementation Activity

Current Activity: Authentication Authorization Filing DBC LocalID Logging Hierarchy

Required Activity: User Messaging Workflow Scheduling

OKI-In-A-Box

Page 13: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Educational Service Spec Activity

Class Admin Core Partner Engagment MITSIS Engagement

Content Management/Digital Repository Digital Library Community DSpace Engagement

Learning Asset Model Tool Model Assessment

Page 14: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

OKI Application Activity

LMS’s Stellar – MIT CourseWork – Stanford University CHEF – University of Michigan Indiana University

Demo Apps Filing Demo Hierarchy Demo

Digital Library DSpace Fedora

Various Educational Tool Development

Page 15: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Core Institutional Partners

Cambridge University Dartmouth College MIT North Carolina State University Stanford University University of Michigan University of Pennsylvania University of Wisconsin

Page 16: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Specification/Standards Groups

Instructional Management Systems Global Learning Consortium

Advanced Distributed Learning Network DOD funded SCORM

See IMS/ADL/OKI Press Release

Page 17: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

OKI Architecture

Page 18: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

OKI Services

Course MgmtContent Mgmt Assessment

AuthN

Etc…

LocalIdFileDBCAuthZ Hierarchy UserMessagingLogging Etc…

Etc… Etc…

SharedObjects

EducationalService

APIs

CommonService

APIs

Educational Service Implementations

Common Service Implementations

Educational Software“LMS”

Institutional Infrastructure

Page 19: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

ClientObjects

ClientApps

ClientObjects

ClientApps

ClientObjects

WebApps

Browser

Browser

ClientObjects

WebApps

Browser

Browser

ClientObjects

ClientApps

OKI ServicesOKI ClientsCampus

Infrastructure

OKI Service Model

Page 20: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Assumptions

Things Change New Services & Functions Method of Accessing Services More Central Software Services

Authorization, Calendaring, etc.

Evolving Systems Definition

Page 21: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

More Assumptions

All Enterprises won’t have the same Technologies

All Enterprise Systems won’t use the same Technology

The need for sharing will grow Differing “connectedness” Not Web only

Page 22: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Goals

Better Integration Allow data to be exchanged Allow software to be integrated

Predictable Evolution Allow for changing functionality Minimize the negative impacts

Expanding Market Possibilities

Page 23: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Possible Integration Goals

Allow enterprise systems to exchange & synchronize information

Allow different organizations to exchange & synchronize information

Allow systems to use enterprise services Allow for modular software which plugs

into a known framework Single System Responsible for Information

Page 24: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

The API Approach

API are Interfaces only, not Implementations Code Reuse Could Achieve Real-time Integration Clean Separation or Boundaries Minimizes Impacts of Changes

Page 25: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Common Service Level APIs

Allows Integration with Enterprise Services Adapts to Multiple Standards Allows Several Sites to Share Services Independence from Changing Technology

Page 26: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

APIs

Definitions

ExampleAPI

Page 27: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

APIs

Definitions Implementations

Service

API

Implementation

Infrastructure

public class Factory implements org.okip.service.APIName.api.Factory { private static final blah blah bhal

private static final yada yada yada } …

Example

Page 28: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Service Based Architecture

public class Factory implements org.okip.service.Example.api.Factory { private static final blah blah bhal

private static final yada yada yada } …

ExampleAPI

…org.okip.service.shared.api.Thing things = myFactory.getSomething();

if (null != thingss) { for (int i = 0; things.length != i; i++) { out.println(things[i]); System.err.println(types[i]); } } …

Application

Implementation

Infrastructure

Service

Page 29: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Data and Functional Specification

Data standards serve two goals Data exchange inter/intra enterprise

Both Data & Function needed for all Goals Data duplication and propagation

data specifications can’t address all issues Both Needed for Interoperability

And more!

Page 30: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Systems Exchanging Data

System A System B

1 2

Page 31: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Systems Integrated Functionally

System A System B

2

Page 32: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Deployment Possibilities

One system using another systems service Framework & Component

System using enterprise service Allow for system to use service to hide:

Functions performed different places Different system responsible for data sets

Page 33: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Multiple OKI ServersSharing Common Infrastructure Services

SIS Data

Authentication/Authorization

Digital Repository

Messaging

Page 34: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Multiple OKI Servers Serving Different Content, But Sharing Some Enterprise Services

SIS Data

Authentication/Authorization

Digital Repository

SIS Data

Digital Repository

Page 35: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Kerb5

One Application Using Multiple Implementations of One API

X509

AuthN

App

Page 36: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Two Back End Systems –Single Access Method

Class Admin

EnrollmentApp.

SIS System HR System

Page 37: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Group Integration

Group Function Group Function

Group Service

System A System B

Page 38: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Implementation Supporting Multiple Protocols

API X API X

SRMI SOAP

Infrastructure ServiceSupporting both SRMI

And SOAP

Page 39: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Independent or Tightly Coupled Implementations

AuthN AuthZ AuthN AuthZ

Application A Application A

Page 40: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

API Implementations May Call APIs

API 1 API 2

Application X

AuthN AuthZ DBCLUID

Page 41: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

“LMS”

Varying Granularity of Service Exposure

Assess

Application Y

AuthN AuthZ

C.M. Etc.

AuthZ

Assess

Application Z

C.M. Etc.

Page 42: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Web Service Implementations?

WebService

X

SOAP

Imp.of X

API X

WS RegistryServer

UDDI

WSDL

App. A

Page 43: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

APIs

Page 44: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Anatomy of APIs

What does an API look like? Java interfaces Factory interface Object interfaces Used for

Presenting services to applications Separating services from applications

Page 45: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Anatomy of APIs

What does an Implementation look like? Java classes Factory class Object classes Used for

Creating objects for an application Accessing “real” services

An API can have many implementations

Page 46: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Anatomy of APIs

How do APIs differ from frameworks? An API presents a service A framework tells you how to code An API can run in a framework A framework might be able to run in an API APIs are enabling APIs foster compartmentalization

Page 47: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Anatomy of APIs

How do APIs relate to other technologies? APIs allow the use existing software APIs do not dictate the implementation APIs do not dictate the application An application doesn’t need to use all APIs An application doesn’t need to use only APIs API impls only need a thin Java shim

Page 48: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Anatomy of APIs

Factories A mechanism to bind Implementations to APIs Are used by apps to get API impl objects Typical impl objects have factory references Factories have owners (Agents and Context)

Page 49: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Anatomy of APIs

Factories - How the code changes (Before) App getting an object instance

Athing a = new Athing(args); (After) App getting an API impl object

Afactory f = FactoryManager( apiPkgName, implPkgname, owner);

Athing a = f.createAthing(args);

Page 50: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Anatomy of APIs

Example application using an API and Implementation - Jeff Kahn

Page 51: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Anatomy of APIs

Agents and Context Factory owner is an Agent Agents

Implementation specific Application specific Out of band agreements Contain context Proxy - next Agent in context chain

Page 52: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Anatomy of APIs

Agents and Context Application context as owner

AppAgent appAgent = new AppAgent(context); Afactory f = FactoryManager(api, impl, appAgent); … AppAgent owner = f.getOwner().getProxy(AppAgent.class()); Context c = owner.getContext();

Implementation context as owner … Agent owner = someFactory.getOwner(); Afactory f = FactoryManager(api, impl, owner);

Page 53: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Anatomy of APIs

Authentication/Authorization Who are you?/What can you do? Close association Each is an API and implementation Each has session context Owner proxies can keep context

Page 54: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Anatomy of APIs

ROMI - remote object method invocation Client/Server with invoke method Example

public String toUpper( String s ) { if(hasClient()) { Class[] types = new Class[1]; types[0] = String.class(); Serializable[] args = new Serializable[0]; args[0] = s; String upCase = return getClient().invoke(this, “toUpper”, types, args); } return s.toUpperCase(); }

Page 55: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Anatomy of APIs

What does an API do for an architect? Compartmentalizes the code Hides implementation details Provides an abstraction layer Provides a way to change implementations Provides a specification mechanism Provides a way to spec app as a service Separates User Interfaces and services.

Page 56: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Anatomy of APIs

What does an API do for an programmer? Provides a clear specification Removes architectural detail Isolates the implementation Minimizes coupling between modules Maximizes cohesion Encourages writing for reuse

Page 57: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Anatomy of APIs

What does an API do for the dev manager? Allows tracking of progress

Is the API done? Is the Implementation done? Is the Implementation ROMI-ized? Who is working on the xyz implementation?

Provides a context for project metrics How’s the performance of the abc Impl? How many APIs/Implementations are done?

Page 58: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Anatomy of APIs

What does an API do for the CIO? Provides tracking and metrics Provides a way to cost integration Provides a way to cost development Provides a way to generate vendor requirements

“Your product must use this Authentication API” “Your product must implement the api API”

Opens a path for multiple vendor product use

Page 59: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Anatomy of APIs

What does an API do for the Vendor? Provides a way to create factored products Provides a way to use existing customer services Provides the customer with an upgrade path Provides a way to way to work with other

products

Page 60: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Interoperability and Conformance

Page 61: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Dimensions of Interoperability

Data Definitions

Technology Choices

UI/Application Frameworks

Service Definitions

Page 62: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Dimensions of InteroperabilitySe

rvic

eD

ata

UI

Tec

h

Gov.CorpHESchool

Page 63: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Open Knowledge InitiativeSe

rvic

eD

ata

UI

Tec

h

Gov.Corp.H.E.School

J

Page 64: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Data Agreement Among ProfilesSe

rvic

eD

ata

UI

Tec

h

Common

Page 65: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Interoperability ChoiceSe

rvic

eD

ata

UI

Tec

h

Gov.CorpHESchool

Page 66: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Conformance Conclusions

Interoperability is not easyTherefore:

Conformance will not be simple However:

We can make our lives better through intelligent choice and the company we keep.

Page 67: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

OKI Strategic Efforts

Core Initiative CS and ES API Specs Reference Implementations Exemplar Applications OKI-in-a-Box 1.0 Communications/Marketing Sustainability Strategy

Page 68: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

OKI Strategic Efforts (cont)

Spec. Maintenance and Conformance IMS?

Page 69: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

OKI Strategic Efforts (cont)

Developer CommunitiesInitial Effort → Consortia(Web/Portal, Component, Vendor)

Outreach Coordination Consolidating Spec Change Requests

Voice for Maint and Conformance Dev Support, Training, Doc, Forum Conformance? IDE?

Page 70: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

OKI Strategic Efforts (cont)

OKI in a box V2 (Consumers)Initial Build → Consortia/Vendor Support

Product Management Packaging/Installation Distribution Documentation Support Marketing

Page 71: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

OKI Developer’s Network

Hosted by IMS See http://web.mit.edu/oki for more info

Page 72: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

End

Page 73: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Sustainability

Spec. Maintenance and Conformance

Development Community Web Client

MIT Infrastructure Build (one-time funding) Support Operate/Maintain

Consortium (IMS)

Consortium (?)

MIT

Page 74: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

MIT-OKI Convergence

Libraries DSpace E-Reserves

“LMS” Stellar SloanSpace/.LRN

Educational Innovation Projects (e.g. iLabs, BCS, Teal, etc…)

Enterprise Applications MITSIS DSpace Coeus

MIT OKI Infrastructure

Page 75: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

MIT-OKI Convergence

Libraries DSpace E-Reserves

“LMS” Stellar SloanSpace/.LRN

Educational Innovation Projects (e.g. iLabs, BCS, Teal, etc…)

Enterprise Applications MITSIS DSpace Coeus

MIT OKI InfrastructureFunding

InternalExternal

Page 76: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

End

Page 77: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Stellar

OCW and Stellar: Fall 2002

OCWInt.

Web

OCW IP Restricted Content

OCW IP Cleared Content

Discussion Boards for OCW Internal

Page 78: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Other

OKI Digital Repository Services Impact on MIT Initiatives

DSpace

OCW

AFS+

Local

Stellar

OCWExt.Web

Bb

“Madagascar Institute of Technology”

= OKI “Content Management” API

Page 79: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Design Dimensions for Educational Applications

Technical Specs(W3C, IETFJava, I2, etc)

Interoperability Specs(IMS, ADL,

OCLC, OKI, etc.)

Learning Activity Design(?)

Page 80: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Philosophy

Service-based Infrastructure for Educational Software (Development and Delivery)

Driven Primarily by Higher Education Technology Requirements and Pedagogy

Open (low threshold for access/adoption) Collaborative (H.E., IMS, ADL) Enable Sharing of Instructional/Training

Applications Implementation Independent Service Definitions

Page 81: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Assumptions

Things Change New Services & Functions Method of Accessing Services More Central Software Services

Authorization, Calendaring, etc.

Evolving Systems Definition Boundaries

Page 82: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

More Assumptions

All Enterprises won’t have the same Technologies

All Enterprise Systems won’t use the same Technology

The need for sharing will grow Differing “connectedness”

Page 83: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Goals

Better Integration Allow data to be exchanged Allow software to be integrated

Predictable Evolution Allow for changing functionality Minimize the negative impacts

Expanding Market Possibilities

Page 84: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

EALP

Educational Activities and Learning Practices LMS Summit – April 2001 Needs assessment/scenarios Tool Definition Workshop – Oct 15, 16 OKIO LMS (sic) Summit II

Page 85: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Architecture Group

Primary team is at MIT Approximately 3FTE Provide bulk of day to day effort

Core partner designers Face to Face engagement every two months on average Critical input and contribution Competencies range from system design, instructional

application design, library systems

Page 86: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

End of Part 1

Page 87: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Deliverables

1.x Version of OKI Framework Spec. Implementations of Framework APIs Collection of Exemplar Tools/Applications

(Including “LMS” Solution) Developer Community Strategy Sustainability Strategy

Page 88: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

APIs

Definitions

ExampleAPI

Page 89: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

APIs

Definitions Implementations

Service

API

Implementation

Infrastructure

public class Factory implements org.okip.service.APIName.api.Factory { private static final blah blah bhal

private static final yada yada yada } …

Example

Page 90: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Service Based Architecture

public class Factory implements org.okip.service.Example.api.Factory { private static final blah blah bhal

private static final yada yada yada } …

ExampleAPI

…org.okip.service.shared.api.Thing things = myFactory.getSomething();

if (null != thingss) { for (int i = 0; things.length != i; i++) { out.println(things[i]); System.err.println(types[i]); } } …

Application

Implementation

Infrastructure

Service

Page 91: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

OKI Services

Course MgmtContent Mgmt Assessment

AuthN

Etc…

LUIDFileDBCAuthZ Rules UserMessagingLogging Etc…

Etc… Etc…

SharedObjects

EducationalService

APIs

CommonService

APIs

Educational Service Implementations

Common Service Implementations

Educational Software“LMS”

Institutional Infrastructure

Page 92: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Example

public class Factory implements org.okip.service.authorization.api.Factory { private static final blah blah bhal

private static final yada yada yada } …

Authorization

…org.okip.service.shared.api.Type[] types = myFactory.getAuthenTypes();

if (null != types) { for (int i = 0; types.length != i; i++) { out.println(types[i]); System.err.println(types[i]); } } …

public class Factory implements org.okip.service.authentication.api.Factory { private static final blah blah bhal

private static final yada yada yada } …

Authentication

public class Factory implements org.okip.service.authorization.api.Factory { private static final blah blah bhal

private static final yada yada yada } …

Assessment

Admit One

Page 93: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Same Application Using Different Implementations

Service 1 Service 2

Application A

Service 1 Service 2

Application A

Page 94: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Two Back End Systems –Single Access Method

Class Admin

EnrollmentApp.

SIS System HR System

Page 95: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Implementation Supporting Multiple Protocols

API X API X

SRMI SOAP

Infrastructure ServiceSupporting both SRMI

And SOAP

Page 96: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Kerb5

One Application Using Multiple Implementations of One API

X509

AuthN

App

Page 97: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Independent or Tightly Coupled Implementations

AuthN AuthZ AuthN AuthZ

Application A Application A

Page 98: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

End of Part 2

Page 99: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Dimensions of Sustainability for OKI

Influence

Evolution

Conformance

Sustainability

Adoption

Support

Page 100: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

End of Part 3

Page 101: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Influence and Outreach

Related initiatives/projects IMS/ADL Digital Library

Interest and Adoption Licensing Arrangements (IP) OKIO

Page 102: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

OKI in a Nutshell

An ApplicationBefore OKI

Page 103: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Thank You

Moving Ahead…

Page 104: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

OKI in a Nutshell

An ApplicationBefore OKI

An ApplicationAfter OKI

Page 105: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Logical and Schematic Models

API

App

API

Impl

emen

tati

onof

AP

I 1

App

Page 106: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Same Application/Different API Implementations (Modularity)

API 1 API 2

Application A

API 1 API 2

Application A

Page 107: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Different Application/Same API Implementations (Portability)

API 1 API 2 API 1 API 2

Application BApplication A

Page 108: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Two Back End Systems Supporting Single API

Class Admin

EnrollmentApp.

SIS System HR System

Page 109: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Example

public class Factory implements org.okip.service.authorization.api.Factory { private static final blah blah bhal

private static final yada yada yada } …

Authorization

…org.okip.service.shared.api.Type[] types = myFactory.getAuthenTypes();

if (null != types) { for (int i = 0; types.length != i; i++) { out.println(types[i]); System.err.println(types[i]); } } …

public class Factory implements org.okip.service.authentication.api.Factory { private static final blah blah bhal

private static final yada yada yada } …

Authentication

public class Factory implements org.okip.service.authorization.api.Factory { private static final blah blah bhal

private static final yada yada yada } …

Assessment

QuizID = “Chem100Final”

Assessment.getQuizElements(QuizID)

Admit One

Authorization. getAuths(myPerson,QuizID)

myPerson = Authentication.getAgent()

Page 110: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

OKI Service Framework

Specifications

Course MgmtContent Mgmt Assessment

AuthN

Etc…

GUIDFileDBMSAuthZ Rules UserMessagingLogging Etc…

Etc… Etc…

EducationalComponent

APIs

CommonService

APIs

CommonObjects

Page 111: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

OKI Service Framework

Specifications Implementations

Course MgmtContent Mgmt Assessment

AuthN

Etc…

GUIDFileDBMSAuthZ Rules UserMessagingLogging Etc…

Etc… Etc…

EducationalComponent

APIs

CommonService

APIs

Educational Service Implementations

Common Service Implementations

CommonObjectsInstitutional Infrastructure

Page 112: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

OKI Service Framework

Specifications Implementations

Course MgmtContent Mgmt Assessment

AuthN

Etc…

GUIDFileDBMSAuthZ Rules UserMessagingLogging Etc…

Etc… Etc…

EducationalComponent

APIs

CommonService

APIs

Educational Service Implementations

Common Service Implementations

CommonObjectsInstitutional Infrastructure

Page 113: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Data Exchange

EnterpriseSystem

EnterpriseSystem

EnterpriseSystem

Page 114: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Data Exchange

SIS LMS DigitalLibrary

Page 115: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Data Exchange

MITSISStellar

1.xDSpace

Page 116: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Service Framework

SISEducational

SoftwareServices

DigitalLibrary

CommonServices

Tools

Infrastructure

Page 117: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Service Framework

MITSISMIT

EducationalSoftwareServices

DSpace

MITCommonServices

Tools

Infrastructure

Stellar

Page 118: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Service Framework

SISEducational

SoftwareServices

Common Services

Tools

DigitalLibraryServices

Infrastructure

Page 119: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Web Service Implementations?

WebService

X

SOAP

Imp.of X

API X

WS RegistryServer

UDDI

WSDL

App. A

Page 120: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Web Service Implementations?

Imp. of X

API X

WebService

X

SOAP SOAP

Imp of X

API X

JavaC++

WS RegistryServer

UDDIUDDI

OKI BasedWSDL Spec?WSDL

App. AApp. B

Page 121: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

WebServiceClient

Application

SOAP

API X

WebService

X

WS RegistryServer

UDDI

WSDL

Perl? C?

Web Service Applications?

Same OKI BasedWSDL Spec?

Page 122: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

WebServiceClient

ApplicationSOAP

WebService

WS RegistryServer

UDDIWSDL

Web Service Applications?

Page 123: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

WS ClientApp

API X

WS X

Registry

Web Service?

WS XRegistry

Page 124: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

WS ClientApp

API X

WS X

Registry

Web Service?

WS X

Page 125: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Stellar on OKI

Stellar2.0

HTML HTML

Web Server

Page 126: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Web and Client App Interoperability

Stellar2.0

HTML

Page 127: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

API Implementations May Call APIs

API 1 API 2

Application X

AuthN AuthZ DBCLUID

Page 128: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

“LMS”

Varying Granularity of Service Exposure

Assess

Application Y

AuthN AuthZ

C.M. Etc.

AuthZ

Assess

Application Z

C.M. Etc.

Page 129: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

API 1 API 2

Page 130: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Generic Rule Model

Subject

Verb

Predicate

Page 131: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Authorization Model

Agent

Function

Qualifier

Page 132: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Digital Rights Model?

Party

Right

Content

Page 133: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Learning Asset

LA

AuthorizationWorkflow

RightsEtc…

Page 134: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Stay Tuned

http://web.mit.edu/oki

Page 135: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

ClientObjects

ClientApps

ClientObjects

ClientApps

ClientObjects

WebApps

Browser

Browser

ClientObjects

WebApps

Browser

Browser

ClientObjects

ClientApps

OKI ServicesOKI ClientsCampus

Infrastructure

OKI Service Model

Page 136: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Multiple OKI Servers Serving Different Content, But Sharing Some Enterprise Services

SIS Data

Authentication/Authorization

Digital Repository

SIS Data

Digital Repository

Page 137: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Multiple OKI ServersSharing Common Infrastructure Services

SIS Data

Authentication/Authorization

Digital Repository

Messaging

Page 138: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

OKI Processes

Common Services

OKI/LMS Services

Pedagogical Tools

User Experience

Infrastructure

EALP

Architecture

Sustainability

Common Services

LMS Services

OKI Tools

User Experience

Infrastructure

Page 139: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

SISEducational

SoftwareServices

DigitalLibrary

Infra-structure

Tools

Page 140: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

OKI Service Framework

Specifications Implementations

Course MgmtContent Mgmt Assessment

AuthN

Etc…

LUIDFileDBCAuthZ Rules UserMessagingLogging Etc…

Etc… Etc…

EducationalService

APIs

CommonService

APIs

Educational Service Implementations

Common Service Implementations

SharedObjectsInstitutional Infrastructure

Page 141: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

OKI Service Framework

Specifications Implementations

Localized Modular

Course MgmtContent Mgmt Assessment

AuthN

Etc…

LUIDFileDBCAuthZ Rules UserMessagingLogging Etc…

Etc… Etc…

EducationalComponent

APIs

CommonService

APIs

Educational Service Implementations

Common Service Implementations

SharedObjectsInstitutional Infrastructure

Page 142: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

OKI Service Layers

Course MgmtContent Mgmt Assessment

AuthN

Etc…

GUIDFileDBMSAuthZ Rules UserMessagingLogging Etc…

Etc… Etc…

SharedObjects

EducationalComponent

APIs

CommonService

APIs

Educational Service Implementations

Common Service Implementations

Educational Software“LMS”

Institutional Infrastructure

Page 143: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

OKI Requirements for IMS

Educational“Application”

Services

CommonServices

Class AdminContent MgmtAssessment

(Quiz and Test)

AuthN

Communication(DiscussionChat, Etc.)

LUID“GUID”

FileDBMSAuthZ RulesUser

MessagingLogging Sched.

Etc…

Work-flow

Etc… Etc…

Etc… Etc…

Page 144: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.
Page 145: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

The Importance of an Architectural Framework

IMS Quarterly Meeting

April 29, 2002

Scott Thorne

Senior Systems Architect, MIT

Page 146: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

MIT Systems Which Keep Track of People

Library

Parking

Accounts

Sports

Registrar Alumni

Directory

LMS

HR/Payroll

Research

Lincoln

Page 147: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Data Feeds of Person Information

Library

Parking

Accounts

Sports

Registrar Alumni

Directory

LMS

HR/Payroll

Research

Lincoln

Page 148: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Employees Students

LibraryUsers

Parkers

MedicalSubscribers

Learners

People on Campus

Page 149: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Implications

Need for Integration Differing Degrees of Integration

By Function Authorization, but not Calendaring

Different SetsEx: Employees & Students

Degree of Coupling

Page 150: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Group Functional Specification

Add a new group Delete a group Add a member to a group Remove a member from a group List all members of a group

Page 151: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Group Integration

Group Function Group Function

Group Service

System A System B

Page 152: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Different Group Integration

Systems each maintain copy Synchronization strategy

One system maintains groups, others only read Differing timeliness

Systems both maintain common groups Systems maintain different sets of groups

Read all sets Common service

Page 153: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Group Integration

Group Function Group Function

Group Service

System A System B

Group Function

System C

Page 154: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Group Integration Issues

Who should be allowed to maintain groups? How does System A know how to use the

new group system B defined? The system of record deleted the group, what

should the subsystem do?

Page 155: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Benefits of Architectural & Functional Specification

Perspectives; User, Vendor, Higher Education Easier and better Integration with the Enterprise More Choices

Better interoperability >> Best of functionality

Page 156: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

How to Proceed?

Data Specification Existing

Changes, Specific Profiles

New Areas

Functional Specification Universal Definition (UML) Multiple Bindings

Page 157: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Questions?

Page 158: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Possible Integration Goals

Allow enterprise systems to exchange & synchronize information

Allow different organizations to exchange & synchronize information

Allow systems to use enterprise services Allow for modular software which plugs

into a known framework Single System Responsible for Information

Page 159: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Systems Exchanging Data

System A System B

1 2

Page 160: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Data and Functional Specification

Data standards serve two goals Data exchange inter/intra enterprise

Both Data & Function needed for all Goals Data duplication and propagation

data specifications can’t address all issues Both Needed for Interoperability

And more!

Page 161: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Systems Integrated Functionally

System A System B

2

Page 162: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Deployment Possibilities

One system using another systems service Framework & Component

System using enterprise service Allow for system to use service to hide:

Functions performed different places Different system responsible for data sets

Page 163: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Demo

Page 164: Open Knowledge Initiative. Data Specifications – IMS/SCORM Enterprise Application A Enterprise Application B Data.

Local File Implementation of API

File SyncDemo