Shaping e-Learning Applications for a Service Oriented GriD

The paper discusses technical issues related to establishment of e-learning services on a grid. The XML based technology for implementation of e_learning application in the form of web service is analyzed from the perspective of making an application grid-aware. The special e_learning repository service is proposed as a technique for coordinated use of distributed e_learning resources through the access and invocation of web services.


INTRODUCTION
Until recently network-based education and grid technologies were two distinct areas.But e_learning increasingly addresses learning resources sharing and reuse, interoperability and various modes of interactions.And it is where grid technology comes up.
Actually the Grid technology along with appropriate software tools is already available.By saying that we mean, first of all, Open Grid Service Architecture (OGSA) specification, which identifies mechanisms associated with Grid service creation, discovery, management, and is as integrating platform for internet computing [1].There is a great deal of enthusiasm around the grid technology, which enable to interconnect and interoperate diverse distributed resources and as such provides services.Following well known iterative and incremental methodology being used by software engineers, the e_learning community should also address technical issues and to move actively into e_learning grid service design and implementation phase.The viability and applicability of the technology for e-learning area has to be proved by building e_learning services, though simple enough at the beginning.A testbeds for a large scale coordination and deployment of distributed learning resources on a grid could be built then and further down a new innovative e_learning approaches are more likely to come.

BACKGROUND
Talking about provision of learning service through coordinated use of learning resources distributed on the grid one must keep in mind a whole complex of problems related to the grid technology.Any service establishment on the grid is a multi-faced problem.It includes a wide range of problems starting from policy issues regarding legal usage of resources to communication protocols and programming interfaces aimed at access and invocation of particular service.Looking at the taxonomy of Grid resource management a service set-up includes a whole complex of things such as resource model, resource name space and store organization, resource discovery and dissemination, just a major to mention [2].
As typically until now web services are implemented using existing software components, in this paper we also assume an existence of simple e_learning application and discuss a way how it could be implemented as e_learning service on a grid.Progressively we elaborate on by proposing a generic e_learning repository service, which is meant to be responsible for e_learning services creation and life-cycle management within restricted grid domain.We take the OGSA as de facto standard for grid and as specification of techniques for configuring an extensible set of grid services.
In the course of this discussion and analysis we think in terms of a simplified and idealized, though thinkable, e_learning application model.Let us suppose that it contains some learning material presentation part, typically a few HTML pages, followed by the task or activity to be performed by learner.That could be, for instance, interactive simulation program, assessment test, or any reality-based application in the form of executable component.Components should be defined by the public interfaces that specify the functions as well as the protocols that they may use to communicate with other components.To be most simple, let us assume that it is a typical self-practice application to be taken in asynchronous mode without any learner's activity registration.
From application design perspective, as it is meant to be used on a grid, let us furthermore assume that both web page and activity software are realized as two cohesive Learning Objects (LO).Logically it would be most clear to consider them as two Shareable Content Objects (SCO) built and described according to the SCORM Meta-data Information Model [3].From software architecture point of view, those two components may reside on different hosts; moreover, activity must be executed on the particular server on which the corresponding LO is stored.
In general, learning applications differ significantly from conventional computational ones, which are focused on computing power and wide-scale resource sharing on computational grids.In contrast, current e_learning applications may leave high-performance computing as a secondary task, which can be faced only in specific e-learning applications, such as reality based learning [4].Instead, interactivity and collaboration are usually of a greater importance for e-learning.

FROM A WEB SERVICE TO A GRID SERVICE
The Internet technology is becoming service oriented and grounded on messaging protocols and standards for XML interfaces for coordinated use of distributed resources.The approach destroys barriers between software development platforms and leads to high level of interoperability.The basic concept and building block for Internet computing therefore becomes the Web service.A service in this context is viewed as network-enabled entity that provides some capability, for instance, e_learning capability.
Web service as a technology has already reached a certain level of maturity.W3C Web Services Architecture Working Group recently formed the working definition: "a Web service is a software application identified by a URI, whose interfaces and binding are capable of being defined, described, and discovered by XML artifacts, and supports direct interactions with other software applications using XML-based messages via Internet-based protocols."[6].This definition, as an alternative to object-oriented middleware-based services, focuses on the description in XML format language and making use of XML messaging for interprocess communication between network entities.
The core of the Web service technology is the Web Service Description Language (WSDL) [6].It is an XML-based language, which contains elements to complete definition of Web services.Service description in WSDL is an XML document, which specifies the messages that are sent between the service and client, the location of the service, and protocol bindings to the software components, which drive behind a service.The whole stack of Internet based protocols for web-services includes WSDL, SOAP, and XML (Fig. 1).In other words, WSDL describes SOAP (Simple Object Access Protocol) message formats for communication between network resources involved in the service provision.

Figure1: Protocol
Typically, Web services are implemented using existing application software components, such as Java classes, Enterprise JavaBeans or COM+ components having carefully described their interfaces.The service implementer also needs to know the name and location of the component, types of data the component's methods accepts and using all of that he should be able to compose a WSDL description for that particular service.There are examples on the Internet showing how stand alone software component without any changes can be 'wrapped' and implemented as a Web service [7,8].
A grid as a distributed resources and service oriented architecture deploys the Web service concept, but within a grid the concept is being extended to cover global integrity and interoperability issues.A Web service built up for a grid gains the name grid service.Naturally, grid services are completely based on the same set of XML based protocols, but for grid services establishment additional questions regarding service location and access, discovery, manageability should be taken into account.The rest of the paper addresses some of them in the case of building e_learning grid services.

E_LEARNING GRID SERVICE DESIGN CONSIDERATIONS
We looked tentatively at making software application as a Web service.The kernel of the service is its description in WSDL, which contains everything needed to invoke a service.The adding of web service interface to e_learning application is the first and inevitable step on a way towards grid service.Here we are going to propose a second step, which is not inevitable, but looks quite reasonable and justifiable for very popular and specific e_learning domain.It is a creation of e_learning Repository grid service, the major objective of which would be the collection of all WSDLs for certain grid domain into one repository with e_learning services maintenance and life cycle management made up as repository grid service.In such a case there would be one repository service and many associated to it e-learning application services, which are under the control of the repository service.Obviously, the both repository service and a set of e_learning application services are to be built according to the same grid service 'body of knowledge', what is OGSA specification.
As in the establishment of e_learning grid services the first essential thing is to describe them in WSDL, naturally the question exists: who writes WSDL specifications for e_learning applications?In some simple cases such descriptions can be written manually.In software world, however, there are toolkits to generate WSDL files.Then the next question needs to be answered: are those toolkits applicable for generation of WSDL files for standard learning objects using its metadata, for instance?SCORM LO metadata elements are mainly descriptive, among them there is the element 4.3, which belongs to Technical category and identifies location of the learning object [3].But for an executable LO, the metadata does not contain appropriate elements, which could provide detailed information associated with methods and data types being used by that component.Thus, the question of automatic generation of WSDL files for e_learning services remains open and needs further examination.
The repository service is a solution how e_learning services distributed in some grid domain could be grouped and managed as a set of the same kind of services.The permanent repository service maintains the repository of WSDLs by using its own software components.Repository service implements resource management functionality and includes typical functions such as store, retrieve, update, remove service WSDL descriptions.But the primary function of this service is to help user to find a desirable e_learning service and enable access to it that is service discovery and dissemination.Realization of the functionality entirely depends on naming of data model being maintained.
Logically repository grid service with regard to e_learning services is a kind of attendant service.As such it should implement two distinct functions.The first, to be fully responsible for a set of learning services distributed within certain grid area.That could be a regional or national node hosting environment, which is a set of resources located within a single administrative domain and comprising a necessary set of execution facilities for service provision and management.The second function is the dissemination of information about hosted services beyond the domain.In this respect, the registry service plays the role of service provider, which exposes the set of services and helps to discover them, but keeps full control of access to them and is responsible for its execution.
Grids deploy two approaches in Web service discovery -WS-Inspection and Universal Description Discovery and Integration (UDDI) registry.WS-Inspection comprises a simple XML language and related conventions for locating service descriptions published by a service provider [9, p. 9].The repository service as a typical grid service should be registered in the global grid UDDI registry by name and when accessed it may expose the WS-Inspection document, which contains a collection of service descriptions available through this particular repository.On the other hand, the repository service itself should maintain its local UDDI registry, which serves for discovery and provision of e_learning services through access to WSDL files.
We assume that only the repository service is to be registered in the global UDDI, but not every one e_learning service.The repository service maintains its lower level UDDI registry and enables user's access directly to the service WSDL files.This fact makes it possible not to intermix e_learning services with other grid services in a common grid service registry.On the other hand, it makes the service namespace hierarchical, but it is a common approach for large scale distributed systems.

DISCUSSION
We looked tentatively at making e-learning application grid aware and analyzed it as e-learning service in terms of grid service specification [1].The general idea of e_learning application architecture proposed in this paper is creation of distributed e_learning resources as web services and deployment of them through the e_learning repository service.The service is viewed as technique to realize management and employment of learning resources on a web style peer-to-peer network.According to the taxonomy [2] repository service supports centralized discovery of service by query.A repository based environment for individual and collaborative learning built up using object oriented technology (CORBA) is presented in [10].This paper does not present experimental implementation results, and does not describe a novel e_learning application functioning on the grid.Rather, it represents a technical analysis and arguments how e_learning application could be made grid-aware.The justification of the approach, hopefully, will come along with experiences in implementation of real, though simple learning services based on various types of content components.
Meanwhile, the analysis made has revealed many other problems to be investigated in parallel to some implementation.One of them has already been mentioned -how effectively to build WSDLs for e-learning services and in what extent LO metadata could contribute for automated WSDL generation?Obviously, Learning Resource Meta-data Information Model [3] with nine categories of meta-data elements provides everything needed for WS-Inspection type file composition, but the Model does not contain essential data being used in WSDL descriptions for service invocation and execution.
Finally, building a WSDL is not a technical problem only, because it is also associated with learning session and indirectly may have influence on learning objectives.Content packaging according the SCORM Content Aggregation Model specifies how to build content structure for desired learning experience.WSDL allows to group together the definitions of several web services in one single WSDL.Therefore, the granularity of learning components to be put on a grid becomes an important issue in the context of WSDL building.According to the ideology of computational and data grids, the grid level service category is for systems that provide services that are not provided by any single machine [2].Following that it would be justifiable to put on a grid the coarse-grained content components.The first candidates to this category might be reality based learning [4], collaborative learning as radically based on resource sharing and communications.