1 communications & middleware technologies rensselaer polytechnic institute march 21, 2006...

30
1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system Copyright Arlen D.H. Johnson and Michael A. Douglass 2006. This work is the intellectual property of the author. Permission is granted for this material to be shared for non- commercial, educational purposes, provided that this copyright statement appears on the reproduced materials and notice is given that the copying is by permission of the author. To disseminate otherwise or to republish requires written permission from the author.

Upload: joy-joyce-bodie

Post on 01-Apr-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

1

Communications & Middleware Technologies

Rensselaer Polytechnic Institute March 21, 2006

Bedework 3.0Bedework 3.0an institute-wide open source

Java calendar system

Copyright Arlen D.H. Johnson and Michael A. Douglass 2006. This work is the intellectual property of the author. Permission is granted for this material to be shared for non-commercial, educational purposes, provided that this copyright statement appears on the reproduced materials and notice is

given that the copying is by permission of the author. To disseminate otherwise or to republish requires written permission from the author.

Page 2: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

2

Who We Are

Mike Douglass - Senior Programmer

[email protected]

Arlen Johnson - Web [email protected]

Communications & Middleware Technologies

Division of the Chief Information Officer

Rensselaer Polytechnic Institute

Page 3: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

3

Topics

•Overview of Bedework

•Recent progress

•Demonstration

• Future plans

Page 4: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

4

Overview of

Bedework

Overview of

Bedework

Page 5: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

5

Institutional Calendar

An institutional calendar could provide:

• Events publishing

• Personal calendaring

• Group calendaring

• Resource scheduling

Page 6: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

6

UW Calendar Overview

• Bedework is– a comprehensive calendaring

and events system

– open source

– Java (hence platform independent)

– modular, extensible, and easily integrated with other systems

– intended for higher education

– and…

Page 7: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

7

UW Calendar Overview

STANDARDS COMPLIANT

– iCal : RFC 2445http://www.ietf.org/rfc/rfc2445.txt

– CalDAV draft version 06http://ietf.webdav.org/caldav

– Why? …interoperability!

Page 8: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

8

Interoperability

• Calendaring could be like email

• Aggregation at client and server

• Exchange? Oracle?

– All or nothing vs. modularity

– Change from one system to another?

• CalConnect

– Oracle, IBM, Mozilla, Yahoo, & Novell among others; approx. 10 universities

Page 9: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

9

What’s in a name?

• Why Bedework?

– Bedework is based on UWCalendar 2.3

– Needed a name not derived from a specific institution

– All word play on “cal” is exhausted (from clever, banal, to ugly: “cal” names are all in use)

– So, we turned to calendar history…

Page 10: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

10

What’s in a name?

• Bedework:

– named after the Venerable Bede (AD 673-735)

– monk & highly influential scholar

– in 725 AD wrote treatise: On the Reckoning of Time

– and a Google search of Bedework, for now, returns only references to this project!

Page 11: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

11

UW Calendar Overview

• Four main components:

• public client

• personal client

• administrative client

• CalDAV

Page 12: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

12

UW Calendar Overview

• Features:

– Distributed, fine grained administration • Administrative groups• Location and contacts management

– Access control & sharing

– Stand-alone & portlet implementations

– True synchronization

– Highly customizable look and feel

– Deliver to any platform, device, or media

Page 13: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

13

Core Technologies

• Java / J2EE

• XML, XSLT

• Hibernate

• Again, supporting

JSR-168 and CalDAV

Page 14: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

14

Architecture

Page 15: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

15

Bedework Back-End

• Modular– Built under a service interface (“service

oriented architecture”)

– Implements CalIntf• Comes with a Hibernate implementation

on a local database• Could have, for example, a CalDav

implementation with a remote calendar• Or both: many implementations

simultaneously possible (e.g. Exchange connector)

• This gives us server-side aggregation of calendars

Page 16: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

16

Portlet Implementation

• JSR-168

• Implemented for Jetspeed using the portal-struts bridge

• uPortal version implemented by Satish Sekharan (Memorial University, Newfoundland)

Page 17: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

17

CalDAV Implementation

• Emerging standard

• Based on WebDAV

• Provides synchronization

• Promises flexibility in choice of user client

• Clients and servers being developed by vendors now: Oracle, Mozilla, Evolution

• Outlook OpenConnector for caldav: openconnector.org

Page 18: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

18

Sync Implementation

• Have proof of concept implementation of synchronization using SyncML

• Successfully synchronized with Outlook

• Funambol (previously called Syn4j) supports synchronization with many devices:– Microsoft Outlook

– RIM Blackberry

– Palm

– Microsoft SmartPhone

– Microsoft Windows Mobile PocketPC

– Apple iPod

• See http://www.funambol.com/opensource/

Page 19: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

19

Bedework Front-End

• XML-based J2EE web applications built in the MVC framework

• Separate business logic from presentation and presentation from content so that each can be developed independently

contentdesignbusiness

logic

MVC

XML

HTMLRSSiCalXML

JSPJavaXSLT

Page 20: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

20

$appRoot on web server

Browser: DEFAULT

Browser: …

Browser: Cell

Browser: PDA

Skin Selection

Locale: en_US

Locale: fr_CA

Locale: DEFAULT

Locale: …

viahttp

XSL

skin

XSL

DEFAULT

XSL

skin

skin examples:• xhtml• rss• csv, sql, etc…

• ical, vcal• javascript

Page 21: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

21

Our Design Approach

• Applications are accessible to regular web designers

• XSLT lives in designer’s world

• Easy to change look and feel

• XSLT files live on the web “outside” our applicationsand are called over http andcached

• We don’t need to redeploy an application to change its appearance or to deploy a new skin

Templates

Images

CSS

XSLT

HTML

Page 22: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

22

ProgressWhat’s been accomplished over

the past year

ProgressWhat’s been accomplished over

the past year

Page 23: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

23

Progress

• Implemented Hibernate

• Improved RFC compatibility

• Extended CalDav support

• JSR-168 portlet implementation

• Recurrences

• Better date / time support

• Access control and sharing

• Improved user interfaces & added features

• New user interfaces

Page 24: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

24

Progress

• CalConnect participation

– participate in interoperability tests

– member of CalDAV technical committee

– http://www.calconnect.org• EPFL Switzerland

have chosen Bedework. Jahia will work on development of group calendaring

• Memorial University NewfoundlandProvided skins, worked on uPortal, widgets and OpenLaszlo client.

Page 25: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

25

DemonstrationDemonstration

Page 26: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

26

Demonstration

Page 27: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

27

Future PlansFuture Plans

Page 28: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

28

Future Plans & Opportunities

• Departmental calendars

• Group calendaring

• Event notification (alerts)

• Emailing of events

• Support clustering

• Room / resource scheduling

= imminent

Page 29: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

29

A Final Note

• Major goal:

– ease installation and configuration

– encourage adoption and development

Page 30: 1 Communications & Middleware Technologies Rensselaer Polytechnic Institute March 21, 2006 Bedework 3.0 an institute-wide open source Java calendar system

30

References

bedework.org