Open Source Software Open Source Software in …...Open Source Software in Research and/or Open...

14
Open Source Software in Research and/or Open Source Software as Research Open Source Software Univ.Prof. Dr. Gustaf Neumann Chair Information Systems and New Media MARCH 2017, SCIENCE SEMINAR SHANGHAI, CHINESE ACADEMY OF SCIENCES

Transcript of Open Source Software Open Source Software in …...Open Source Software in Research and/or Open...

Open Source Software in Research and/or Open Source Software as Research

Open Source Software

Univ.Prof. Dr. Gustaf Neumann Chair Information Systems and New Media

MARCH 2017, SCIENCE SEMINAR SHANGHAI,

CHINESE ACADEMY OF SCIENCES

Usage of Open Source Software in the Context of Information Systems Engineering

Univ. Prof. Dr. Gustaf Neumann Page 1

•  Business Information Systems and Knowledge Management (Support of Knowledge Acquisition): Learn@WU

•  Community Frameworks: OpenACS, DotLRN

•  Security and Workflow Management (Role Engineering … Wiki-Based Workflow Systems)

•  Multi-Level Development, Domain Specific Languages, Feature Modeling and Composition: XOTcl, NX

Extended Object Tcl - XOTcl

§  Development: §  Based on a Scripting Language of MIT (OTcl) §  First Language providing language support for Design Patterns

(dynamically add/remove patterns, Neumann/Zdun) §  Feature-Composition through dynamic mixin classes §  Handling feature interactions through “filters”

§  Facts and Figures: §  Over 100.000 downloads of the source code §  Binary distributions though third-parties

(ActiveState, Debian/Ubuntu, Mac OS X) §  Over 40 scientific publications §  Supported by Google (GsoC)

Next Scripting Framework

§  Development: §  Design based on 10 years experience with XOTcl §  Higher scalability §  Support for „Language Oriented Programming“ §  Improved Feature Composition §  Traits, optional type checking, different kind of mixins §  174 k LOC

§  Language Oriented Programming (Martin Ward):

§  Define requirements in the language/terminology of the stakeholders

§  Implementation should be as close as possible to requirements

Next Scripting Framework

Next Scripting

Open Source Frameworks (co-)developed at our Institute

§  NaviServer: §  Originally developed for AOL (America Online) for high traffic websites (e.g. web

platform for major US cities) §  Highly scalable, multithreaded Web-Server §  Co-Developed with companies (Archiware, qcode) §  33 committers, 193 k LOC

§  OpenACS §  Community Framework, originally developed from MIT §  Empowering End-Users §  129 committers, 2 mio LOC §  ~20.000 registered users in online community

§  DotLRN §  Course management systems based on OpenACS §  Originally developed for MIT Sloan School of Business §  Governed by DotLRN Consortium §  In use e.g. in Harvard Medical School, UNED, … WU

Learn@WU

§  E-Learning Systems of WU §  4.000 courses / year, >120.000 learning resources §  Students solve up to 600.000 online exercises per day §  Processed >700.000 student exams §  > 2Mio learning work-flows §  “Without Learn@WU, the operations of our university

would not be possible” (Christoph Badelt, Rector of WU) §  Learn@WU is one of the world’s mostly intensively used E-learning

platforms in higher education

§  Components §  Mostly developed in XOTcl/NX, using NaviServer,

OpenACS, DotLRN §  Learning Activity Management based on Workflows §  Current focus Learning Analytics

(descriptive, diagnostic, predictive, prescriptive)

Open Source Software ...

§  As an enabler: it allows … §  … a small team to developed a state-of-the-art

scalable, highly tailored system §  … to apply innovative software engineering

concepts on real live systems and to establish efficient feedback loops and evaluation

§  … us to improve operations at our university by a leading edge e-learning environment with many options of extensions (e.g. based on learning analytics)

§  Problems/challenges

§  Public and in-house versions develop (merging/ rebasing of software artefacts, complex code management workflows

§  Goals of the Open Software Community are not necessarily the same as the goals of the in-house developments, especially for application level aspects (consortiums)

§  Cost of providing code as Open-Source often underestimated

Institute of Information Systems and New Media Welthandelsplatz 1, 1020 Vienna, Austria UNIV.PROF. DR. Gustaf Neumann Chair Information Systems and New Media Program Direction Information Systems Technical Direction Learn@WU T +43-1-313 36-4671 F +43-1-313 36-4671 [email protected] nm.wu.ac.at

UNIV. PROF. DR. GUSTAF NEUMANN PAGE 9

Commercial vs. Volunteer Contributions in OpenACS

Source Code Management for in-house needs and upstream updates

StagingWorking copy deployed on staging

Staging

Developlocal branches

Production

LiveWorking copy deployed on live-testing

Live

LiveWorking copy deployed on live (learn-d, ex-production)

Githubgithub/oacs-5-...

$ mr update

$ git/mr staging

$ git/mr production $ git/mr sync

$ git merge$ git cherry-pick

$ git rebase

$ git push$ git tag $ mr update

$ git push$ mr update

$ git cherry-pick

DevelopmentDevelopment TestingTesting Release & HotfixRelease & HotfixTime

Remote branchWorking copy

Testing

$ git cherry-pick

$ git cherry-pick

Multi-Layered Co-Development of Information systems

Tech

nica

l dom

ain

expe

rts

Busi

ness

dom

ain

expe

rts

Prog

ram

sEx

ecut

able

spe

cific

atio

ns

Cont

ent,

data

Tech

nica

l dom

ain

expe

rts

Busi

ness

dom

ain

expe

rts

Prog

ram

s

Sche

mat

aCo

nten

t, da

ta

Informationalartifacts

Informationalartifacts

Executableartifacts

Executableartifacts

Sche

mat

a

Case A

Case B

Enable End Users to actively participate in IS Design “Secondary design” Support incremental improvement without reboot

Multi-Layer Development for Learn@WU

Sociotechnical systems stack

Information system

Business

Information layer

Con�guration layer

Content schema layer

Technical

Work⇢ow schema layer

Application layer

Infrastructure layer

Multilayered co-developedinformation system

Outerbusinessenvironment

Sociallayer

Organizationallayer

Business processlayer

Applicationlayer

Communications anddata management layer

Outertechnicalenvironment

Operating systemlayer

Equipmentlayer

Learn@WU layers

Outer business environment

Learn@WU

Content repository items

Preferences, package instance parameters, …

XOWiki forms DSL

XOWf work"ow engine

OpenACS packages

PostgreSQL, NaviServer, OpenACS, …

Outer technical environment

Learn@WU: 1500 workflow schemata 3 mio workflow instances

Co-Evolution of Workflows through Wiki-based Workflow Engine

Wiki Text

Enterprise Wiki Text and structured data

Wiki-based workflow engine Text, structured data, and behaviour