Beruflich Dokumente
Kultur Dokumente
1 Introduction
Among other features, CAMPUS will support up to 10,000 users connected at the
same time. Its user interface will be designed following user-centred design
methodologies, and taking into account issues such as usability, accessibility and
content personalization. The project will therefore be an international reference in
the field of e-learning. CAMPUS was born within the Catalan university system, and it
will be open to the world. The Open University of Catalonia5 is responsible for the
coordination and technological leadership of the project, which will be developed
taking advantage of the knowledge and experience that each partner brings to it.
At present time, the project counts with more than 15 partners among who are
divided the tasks of the CAMPUS development as well as those of observation and
monitoring.
This project is part of the Digital University program promoted by STSI. The goal of
the program is to facilitate the transmission and sharing of knowledge through
information and communication technologies.
1
Learning Technologies – Universitat Oberta de Catalunya (UOC). http://www.uoc.edu
2
Tecsidel. http://www.tecsidel.es
3
Learning Technologies – UOC and CastInfo. http://www.cast-info.es
4
Telecommunications and Information Society Secretariat. Generalitat de Catalunya.
http://www.gencat.net/societatdelainformacio
5
UOC - Universitat Oberta de Catalunya. http://www.uoc.edu
Tools that allow the organization of the student’s work, both individually and
within the classroom.
• Communication
Teachers will have access to tools and resources for the management of
different types of learning materials, which can be published in different
courses. Professors will have their own teaching area, independent of the
courses they are teaching.
• Evaluation
The central system will manage all the transversal aspects of the process, for
example, security and session control. The individual modules will be responsible for
managing their own functions and module specific information. The central system
could use either Moodle6 or Sakai7 platforms as a base, as the project guarantees
compatibility with both platforms, using OKI OSIDs.
It is a Service Oriented Architecture (SOA) with an open technological base that will
allow interoperability between heterogenic modules. Communication with the central
system will be principally based on web services, and each module will be able to
choose its own internal architecture and base technology. The architecture proposed
will be made up of four main layers:
1. Basic Platform: The platform that provides the core LMS services. It can be
either Moodle or Sakai.
2. OKI Adapter: This will allow the connection between the modules and the basic
platform, using OKI OSID specifications. Libraries will be provided using both Java
and PHP.
6
http://www.moodle.org
7
http://www.sakaiproject.org
Copyright © 2007 Universitat Oberta de Catalunya Campus Project. http://campusproject.org
February 2007 Page 2 of 14
4. Services or Modules: The modules or services themselves, which add value to
the project. The interaction between the basic platform and these services is via OKI
OSIDs only.
2 Aims
In order to meet our requirements, the best alternative at this point seems to
develop the necessary OSID interface, and to produce components to make it
compatible with Sakai and Moodle. We will call this layer the ‘Gateway’.
z OSID Interface: The client part has an OSID interface, through which they
make service calls.
z OSID Interface: The server part also has an OSID interface, through which
the calls for services will be made.
It is worth noting that, thanks to remote infrastructure (in our case, web services), it
is possible to use heterogenic architectures. That is to say, it is possible to use a
Java application that uses the Moodle platform, or an application with PHP that uses
the Sakai platform.
Reminder Note: OKI OSIDs (implemented with either Java or PHP) will be available
as Web Services.
The following figure shows where the different software layers mentioned above will
be situated. The architecture in the figure uses two machines for the application
servers, but it would be possible to put it all on the same machine.
Example using a Java application and Sakai, but which could also be PHP application
or/and Moodle platform:
2. The service is implemented in the client part, but this is really just a series of
calls to the devices that have been generated to carry out the web service.
This implementation uses the OKI-OSID interface.
3. The service call is made, using the web service proxy, in the server machine,
which is where the service is really carried out.
4. The implementation of the service itself also uses the OKI-OSID interface
specifications.
5. The gateway calls the necessary Sakai APIs, to carry out the operation.
We understand Gateway to mean an appliance that will act as a bridge between the
operations requested by the application through OKI OSIDs, and the operations that
will finally provide the service through the Sakai or Moodle API.
The following section details a set of approximate usage scenarios that may help to
clarify the architecture.
In this case, nothing special needs to be done, there is a Sakai tool with the
functionalities we need, so it is necessary only to install and configure the Sakai
environment.
In this case, nothing special needs to be done, these is a Moodle tool with the
functionalities we need, so it is necessary only to install and configure the Moodle
environment.
In this case, there is a Java application or a plan to develop a Java application, using
the OKI OSIDs implemented by the CAMPUS project. In order to use it on the Sakai
platform, the application may need to use the Sakai API to carry out operations
specific to that platform, and therefore the application will also require the Sakai
Gateway.
All calls are done through OKI OSIDs, implemented with Java and available as a Web
Service, and the Sakai Gateway, which perform the necessary translation so that
Sakai can understand it. This process is illustrated in the figure below:
In this case, there is a Java application, or a plan to develop a Java application, using
the OKI OSIDs implemented by the CAMPUS project. In order to use it on the Moodle
platform, the application may need to use the Moodle API to carry out operations
specific to that platform, and therefore the application will also require the Moodle
Gateway.
All calls are done through OKI OSIDs, implemented with PHP and available as a Web
Service, and the Moodle Gateway, which perform the necessary translation so that
Moodle can understand it. This process is illustrated in the figure below:
In this case, there is a PHP application, or a plan to develop a PHP application, using
the OKI OSIDs implemented by the CAMPUS project. In order to use it on the Sakai
platform, the application may need to use the Sakai API to carry out operations
specific to that platform, and therefore the application will also require the Sakai
Gateway.
All calls are done through OKI-OSIDs, implemented with Java and available as a Web
Service, and the Sakai Gateway, which perform the necessary translation so that
Sakai can understand it. This process is illustrated in the figure below:
In this case, there is a PHP application, or a plan to develop a PHP application, using
the OKI OSIDs implemented by the CAMPUS project. In order to use it on the Moodle
platform, the application may need to use the Moodle API to carry out operations
specific to that platform, and therefore the application will also require the Moodle
Gateway.
All calls are done through OKI-OSIDs, implemented with PHP and available as a Web
Service, and the Moodle Gateway, which perform the necessary translation so that
Sakai can understand it. This process is illustrated in the figure below:
Another aspect to be considered is the integration between the virtual campus and
other enterprise applications. For example, under some enterprise architecture
policies, it could be necessary to change the virtual campus authentication method in
order to use an enterprise authentication and security service like Shibboleth. A SOA
and OKI OSID based approach reduces the complexity to do it. The following
diagram explains how to do it.
e Applications
Applications
Applications
Enterprise Applications
Applications
Applications Applications
Applications s Applications
s Auth. OSID
Auth. OSID OSID
OSID OSIDs
OSIDs Enterprise Auth.
(Shibboleth)
Auth. Virtual Auth. OSID
Campus
Auth. Virtual
Campus
This diagram illustrates how to do the integration for the authentication and
authorization OSIDs, which can also be applied to the OSIDs as a whole.
The use of web services is a fine approach in terms of interoperability but may be a
problem in terms of performance. Anyway, the use of interfaces like OKI OSIDs
enables to increase the performance using caches or changing the communication
protocol whenever possible. The following diagram illustrates it.
OSIDs
Communication Layer
Provider layer
A similar approach is also true to increase the system security and other optimization
strategies. It is always possible and transparent for the applications to change the
OSID implementations.
Protocol example: there exist one consumer and one provider, both implemented
with java. In this case, a communication protocol like RMI could be better than
webservice. If the calls between the consumer and the provider are executed
through an interface, then the interface implementation can be changed in order to
replace the webservice calls with RMI calls. This approach will be transparent for
both, the consumer and the provider.