ICalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu...

15
iCalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu Indiana University Computer Science Department Community Grids Laboratory [email protected] http://www.cs.indiana.edu/~amustaco May 15, 2006 CTS-2006, Las Vegas, NV, U.S.A.

Transcript of ICalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu...

Page 1: ICalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu Indiana University Computer Science Department Community.

iCalendar Compatible Collaborative Calendar-Server (CCS) Web Services

Ahmet Fatih MustacogluIndiana University

Computer Science DepartmentCommunity Grids Laboratory

[email protected]://www.cs.indiana.edu/~amustaco

May 15, 2006CTS-2006, Las Vegas, NV, U.S.A.

Page 2: ICalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu Indiana University Computer Science Department Community.

Outline Introduction

Internet Calendaring and Scheduling Core Object Specification (iCalendar)

Web Services Collaborative Calendar-Server Collaborative Calendar-Server (Why?,

How?) Collaborative Calendar-Server Services

Overview Conclusion

Page 3: ICalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu Indiana University Computer Science Department Community.

Internet Calendaring and Scheduling Core Object Specification (iCalendar)

A format, specification for calendaring and scheduling applications http://www.ietf.org/rfc/rfc2445.txt

Intend to advance the interoperability between different calendaring and scheduling applications

Developed by Internet Engineering Task Force Calendaring and Scheduling Working Group, and Internet Engineering Task Force (IETF) web-site: http://www.ietf.org

Page 4: ICalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu Indiana University Computer Science Department Community.

Web Services Provides a distributed computing

environment to solve interoperability issues

XML based and easy to extend Platform and operating system

independent Has support from large community An effort for seamless

communication

Page 5: ICalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu Indiana University Computer Science Department Community.

Collaborative Calendar-Server Is a calendar repository for

Private calendars Collaborative calendars

Implemented based on iCalendar Specification (rfc2445)

http://www.ietf.org/rfc/rfc2445.txt Provides calendaring and scheduling services

via Web Services Has a bridge module

A way to communicate with other calendaring and scheduling applications via http methods (put, get etc.)

Project web site: http://www.opengrids.org/wscalendar

Page 6: ICalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu Indiana University Computer Science Department Community.

Collaborative Calendar-Server Architecture

ClientsGlobalMMCS Portal Client Module Mozilla Calendar Client

Collaborative Calendar-Server Web Services

(WSDL)

Bridge Module(Java Servlet Technology)

INTERNET

Invokes Associated Web Service

Invokes Associated Web Service

Requests for CCS’s Web Service

Http Put/Get methods

Requests for CCS’s Web Service

Page 7: ICalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu Indiana University Computer Science Department Community.

Collaborative Calendar Server (Why?)

To provide standard based calendaring services for Global Multimedia Collaboration System (GlobalMMCS) developed by Community Grids Lab at Indiana University. More information at www.globalmmcs.orgCurrent calendaring functionalities includes:

Schedule a meeting into collaborative calendar Add event into user’s private calendar Get the collaborative calendar Get user’s private calendar

To provide services for the requests coming from other calendaring and scheduling applications.

The requests can be made: Via http methods (put, get etc.) Via client applications by calling one of the CCS Web

Services directly

Page 8: ICalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu Indiana University Computer Science Department Community.

Collaborative Calendar-Server (How?) Services were implemented using JAVA

Language Other technologies includes

JSP technology is used for User Interface Apache Axis for Web Services

http://ws.apache.org/axis iCal4J Library for iCalendar specification from

Source Forge http://ical4j.sourceforge.net

Java Servlet technology for the bridge module

Page 9: ICalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu Indiana University Computer Science Department Community.

Collaborative Calendar-Server Services Current users are required to enter their

username and passwords in order to access the following Collaborative Calendar-Server Services:

Publish Calendar Service Subscribe to a Calendar Service Make an Empty Calendar Service New Event Service Schedule a Meeting Service Get Collaborative Calendar Service Get Private Calendar Service

Register Service for new users

Page 10: ICalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu Indiana University Computer Science Department Community.

Collaborative Calendar-Server Services in Detail - I Publish a Calendar Service

Stores the given calendar on the calendar server’s repository for the specified the user

Parameters: byte[], username, password, calendar name

Subscribe to a Calendar Service Retrieves the requested calendar from the

calendar server Subscribe to a private calendar

Parameters: username, password, calendar name Subscribe to a collaborative calendar

Parameters: username, password, group name

Page 11: ICalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu Indiana University Computer Science Department Community.

Collaborative Calendar-Server Services in Detail - II Make an Empty Calendar Service

Sets up an empty iCalendar file Parameters: Username, password, calendar

name New Event Service

Make an event and add it to the user’s specified calendar

Parameters: Username, password, calendar name, event type, public/private event, start date, end date, location, notes

Page 12: ICalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu Indiana University Computer Science Department Community.

Collaborative Calendar-Server Services in Detail - III Schedule Meeting Service

Schedules a meeting into the collaborative calendar if there is no conflict with registered users’ schedule

Parameters: Username, password, group name, event type, start time, end time, location, summary

Get Collaborative Calendar Service Retrieves the collaborative calendar for the

group Parameters: Username, password, group name

Page 13: ICalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu Indiana University Computer Science Department Community.

Collaborative Calendar-Server Services in Detail - IV Get Private Calendar Service

Retrieves the user’s private calendar Parameters: Username, password,

calendar name Register Service

Does the registration operation for the new users

Parameters: Username, password, name, last name, email, group name (s)

Page 14: ICalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu Indiana University Computer Science Department Community.

Collaborative Calendar-Server Conclusion Tends to leverage interoperability

between different calendaring and scheduling applications

Provides iCalendar specification based calendaring and scheduling services

Services provided via Web Services Username and password protected

access to the calendar and services

Page 15: ICalendar Compatible Collaborative Calendar- Server (CCS) Web Services Ahmet Fatih Mustacoglu Indiana University Computer Science Department Community.

THANK YOU!

Ahmet Fatih [email protected]://www.cs.indiana.edu/

~amustaco