Semantic web services for e-learning.
Epure, Manuela ; Vasilescu, Ruxandra ; Barna, Cristina 等
1. INTRODUCTION
Four years after it was re-launched in 2005, the Lisbon growth and
jobs strategy demonstrated that it is working, but the European Union
must reform further in order to succeed in a globalised age. We can
state now that the "triangle of learning"
(education--research--innovation) plays a central role for a positive
trend in growth and job opportunities.
Developing innovative information and communications technologies
(ICT) solutions to promote better education and training throughout a
citizen's life is a special focus of the European Lifelong Learning Program 2007-2013.
Having in mind the importance of innovation in the e-learning
field, this paper explores open source technologies for knowledge
dissemination, such as to observe the intellectual licenses and the
security of information.
The semantic web has made the subject of many works (Franconi et
al., 2007; Buraga, 2004), SOA (Erl, 2006) and gSOAP (Genividia, 2006),
but few of them focuses on practical implementation. When our research
was in progress the owl have been stil developing, so different aspects
of possible semantic implementation may have changed.
This paper is concerned with the semantic web and SOA from the
programmer's point of view and makes use of free open source
technologies to face the global economic crisis. These tools may be used
free of charge to develop modern e-learning platforms. We made use of
gSOAP tools and libraries in order to provide a web service with lexical
analysis facilities. The paper also contains basic implementation of a
semantic search engine coded in PHP.
The objective of our future research directions is to find out the
best ways of implementation of semantic web in the e-learning platforms
analysed in this paper.
2. E-LEARNING, E-INCLUSION, E-WORKING, IS THAT HOW THE NEAR FUTURE
LOOKS LIKE?
Generally, e-learning is a broad definition of the field of using
technology to deliver learning and training programs (It is a concept
typically used to describe media such as CD-ROM, Internet, Intranet,
wireless and mobile learning. Some include Knowledge Management as a
form of e-learning. First, in 1995 it was all known as "Internet
based Training", then "Web-based Training" (to clarify
that delivery could be on the Inter- or Intra-net), then "Online
Learning" and finally e-learning, adopting the in vogue use of
"e-" during the dot com boom.
On the European e-learning portal, we find the following
interesting definition: E-learning means the use of new multimedia
technologies and the Internet to improve the quality of learning by
facilitating access to resources and services as well as remote exchange
and collaboration. So, e-learning is more than 'web-based
training', as it involves processes and applications including
computer-based learning, web-based learning and digital collaboration.
E-learning is no longer seen as the synonym of 'online
learning', which is only a part of technology-based learning
(e-learning) describing learning via the Internet, intranet and
extranet. It might be useful to speak about a future paradigm: social
e-learning, which means setting up a socially inclusive e-learning
environment within the European Union context. So, e-learning strategy
must be directed towards e-inclusion, otherwise it will turn into a
total failure. After a careful analysis of real e-learning practices
towards e-inclusion, the Digital and Social Inclusion Chart, Barcelona,
2004 sets out the following key areas, which are good starting points
for both implementation and further research:
1. Social solutions to social problems. Social practices interact
with technology, and one influences the other.
2. Community and awareness. Learning communities are a hot subject
nowadays. Nevertheless, they are mostly viewed as mere instrumental
concepts towards improving learning.
3. Towards the transparent PC. Personal computers and software are
upgraded and get new features every year and therefore they become more
difficult to use.
4. Problem solving methodology for e-learning. Because our target
has specific needs, we need to avoid academicism, and to construct
e-learning materials that are useful, practical, and motivational. The
lack of trust and motivation are important barriers against e-inclusion.
We will never step beyond those gates if we just create the typical
"how-to" courses.
5. Internet for everybody. Software technologies are versatile and
can be adapted to any specific need that a special work team may have:
content can be adapted to any type of cognitive, sensorial or physical
disability.
The learning habits of today's students will have a
considerable impact on tomorrow's workers. We have already faced a
shifting from the traditional working to e-working.
3. OPEN SOURCE TOOLS FOR BUILDING E-LEARNING PLATFORMS
3.1 AGCC lexical analyzer implementation for a didactical web
service
Modern web services are distributed on the Internet according to a
process-oriented software architecture. All kinds of browsers enable the
access to services by sending requests to web servers. The web servers
launch their messages to applications servers in XDR-RPC or XML-SOAP
format with execution parameters, and the response is received in the
same format.
Accessing a SOAP service or building a client for this purpose
requires the associated WSDL file or XSD file and the service location.
These resources specify the visible methods accessible through the
service and the parameters data type to access these functions
flawlessly. Many SOAP technologies, both hybrid, like those based on
RPC-XML or pure ones, state their interoperability even though we
suggest a common technology to publish and access a web service.
It is wise str_cmp method provided by AGCC lexical analyzer,
published via a web service. To develop a web application service, we
have chosen the gSOAP utility compiled on an Ubuntu 9.04 Linux machine.
The gSOAP tools provide a SOAP/XML-to-C/C++ language binding to ease the
development of SOAP/XML Web services and client application in C and
C++.
Header file contains prototypes that specify the remote methods to
be called in the web SOAP/XML services:
// File: str_cmp.h
typedef char *xsd_string;
class ns_Info
{
public:
xsd_string response;
};
//gsoap ns service name: trigraph
//gsoap ns service type: wsdlPortType
//gsoap ns service namespace: urn:http://localhost
//gsoap ns service port: http://localhost/cgi-bin/trigraph.cgi
//gsoap ns service transport: http://schemas.xmlsoap.org/soap/http
struct ns_getInfoResponse
{
ns_Info return_;
}str;
//gsoap ns service method-style: getInfo rpc
//gsoap ns service method-encoding: getInfo
http://schemas.xmlsoap.org/soap/encoding/
int ns_getInfo(xsd_string param1, struct ns_getInfoResponse &r);
This header file is then to be processed with soapcpp2 to generate
the stub and the skeleton code to manage requests in a distributed
service manner. The gSOAP compiler also generates a WSDL file, which can
be easily used to post the web service.
To implement this web service as a CGI application, the soap_serve
method is called in main function, after (Alboaie & Buraga, 2006).
The server executable is installed and executed as a CGI application
designed to identify and replace the trigraph "??/" from its
source code lines with the "\" special character. It thus
prevents the generation of bad source code and the production of
compilation errors.
// File: trigraph_serv.cpp
main(){
soap_serve(soap new());}
int ns_getInfo(struct soap *soap, xsd_string param1, struct
ns_getInfoResponse &r){ int i;
for (i=1;i<strlen(param1);i++){
if ((param1[i]=='?')&&(param1[i+1]=='?')&&(param1[i+2]=='/')){
param1[i]=' '; param1[i+1]=' '; param1[i+2]='\\'; i+3;
}}
r.return_.response=(xsd_string)malloc(255);
strcpy(r.return_.response, param1);
return SOAP_OK;
}
3.2 Semantic Web Search Engine
Like many other knowledge management platforms, e-learning
platforms have challenges concerning searching and extracting the
information, maintaining the knowledge data warehouses, automatic
generation of web documents. The specialist answers to these problems
with semantic web technologies. "The Semantic Web is an extension
of the current web in which information is given well-defined meaning,
better enabling computers and people to work in cooperation."
(Berners-Lee et al., 2001). It is relevant to provide a possible
implementation of a semantic search engine which can be part of modern
e-learning platforms. The programmer uses PHP (Hypertext Pre-processor)
server script, version 5.0 for the implementation of the search engine
and DOM (Document Object Model) to parse the RDF document.
From the modern point of view, the learning material has to be
semantically annotated, using the XML-RDF technologies and the ontology classifying rules, hierarchies and relations between different parts of
courses. The knowledge-based management drives the development of more
efficient e-learning platforms based on Semantic Web that use the
principles of ontology. That is why the new Ontological Web Learning
(OWL) programming language was developed.
<rdf:Description rdf:about = "urn: immonline.ilive.ro:8080 ">
<m:Course> Computer Science </m:Course>
<m:Professor> Radu Manea </m:Professor>
<m:Chair> Informatics </m:Chair>
<m:E_mail> radu@yahoo.com </m:E_mail>
</rdf:Description>
<?php // opens the RDF document previously generated
$doc=new DOMDocument(); $doc->load("rdf1.xml");
$para = $doc->getElementsByTagName("*"); $count = 0;
foreach($para as $par){
//searching for the content of the item <m: Course>
if ($par->localName == "Course"){$textul=$par->textContent;
if (strpos(strtolower ($textul), strtolower($query)) !== false) {//
initializing nodes
$parent = $par->parentNode; $childs = $parent->childNodes;
foreach($childs as $child) {
if ($child->tagName != "" && $child->tagName != "E_mail")
echo "<b>" . $child->tagName . ":</b> " .
$child->textContent . "<br />"; }
$count++; // no. of results echo "<hr />";}}}
if ($count > 0) // printing the number of the courses founded:
echo "\n<h5>We've found $count courses</h5>";
else
echo "\n<h5>Sorry,we haven't find any courses</h5>";
?>
4. CONCLUSIONS
Psychologists see human mind as a network of interconnected
concepts on a semantic frame. Human mind is organized around concepts
such as templates, stereotypes, frames that are the basis of
communication, problem solving, and creativity.
As a consequence the researchers have designed intelligent programs
and applications to find and return knowledge from the web, making the
first step to the Semantic Web.
The new paradigm is meant to surpass the printing culture in a
society of generalized communication. The Internet becomes, every day,
the condition for accessing educational and cultural resources, and the
most appropriate way to meet the needs of knowledge and learning is
e-learning.
5. REFERENCES
Alboaie, L. & Buraga, S. (2006). Servicii Web--Concepte de baza si implementari, Polirom, ISBN: 973-681-522-6, Iasi.
Berners-Lee, T.; Hendler, J. & Lassila, O. (2001). The Semantic
Web, Scientific American, pp 34-43
Buraga, S. (2004). Web semantic, fundamente si aplicatii,
MatrixROM, ISBN: 973-685-772-7, Bucuresti
Erl, T. (2006). Service Oriented Architecture: Concepts, Technology
and Design, Prentice Hall, ISBN: 0-13-185858-0, Crawfordville
Hoffer, E. (1989) Vanguard Management, Berkley Publishing Group,
NewYork
Franconi, E.,; Kifer, M. & May, W, (2007). The Semantic Web:
research and applications, ESWC, Springer, ISBN: 3-540-72666-7
Innsbruck, Austria
***(2006) http://www.genivia.com/Products/gsoap/index.html
Genividia, How to develop a SOAP/XML Web Service with gSOAP, Accessed
on:2009.08.29
*** http://www.e-learningguru.com/ gloss.htm#E--Glossary:
e-learning, Accessed on:2009.08.25
***http://ec.europa.eu/growthandjobs/index_en.htm--European
Commission Growth and Jobs, Accessed on 2008-01-03