e-Learning Management System Using Service Oriented Architecture

: Problem statement: Service Oriented Architecture (SOA) defines how to integrate widely disparate applications for a world that is Web based and uses multiple implementation platforms. Using (SOA) one can build durable e-learning contents, regardless of changes or evolutions in technology. This means that new content should be added to existing content without costly redesign, reconfiguration, or recoding. Approach: In this study an e-Learning management system with Web services oriented framework was proposed. The system will be an open source application with client-scripting facility. It also supports the cross browser and it is fully integrated with different databases; MS SQL Server, MS Access, Oracle and LDAP. Results: The key values of Interoperability, durability, compatibility, manageability, dynamic reusability and accessibility in the proposed architecture enhance the future e-Learning systems to communicate more efficiently and share data more easily. Conclusion/Recommendations: Web services architecture will provide a standard based platform for Service-Oriented Computing. It defines itself as a set of specifications that support an open XML-based platform for description, discovery, and interoperability of distributed, heterogeneous applications as services.


INTRODUCTION
Service-based architectures take legacy application functionality and expose it to the Internet in a reliable, highly available, scalable, flexible, manageable and secure manner, easy and reliable internet-based method to create and access learning.
Web service technology has emerged as a new paradigm of distributed computing. The Service-based architectures are layered on the top of standard transfer protocols for transmitting messages that currently, the most common ones are the XML-based specification Simple Object Access Protocol (SOAP), Universal Description, Discovery and Integration (UDDI) and Web Service Description Language (WSDL) (Booth et al., 2003;Kashfi and Razzazi, 2006). e-Learning is a general term used to refer to a form of learning in which the instructor and student are separated by space or time where the gap between the two is bridged through the use of online technologies.
Many technologies can be and are, used in e-Learning, including: • Blogs and wikis • Collaborative software • Computer aided assessment • Discussion boards • Electronic performance support system • Learning management systems • Virtual classrooms • Web-based teaching materials • Web-based component services When beginning to create e-Learning content, the students' profiles and courses have to be stored in the system database and presented using web application to facilitate the functionality of building an e-Learning management system.
The proposed system is an advanced, 3-tier, database-driven using Microsoft ASP.NET 3.5 with VB.NET. The system is divided into several phases; each phase describes a number of actions. The model used in building the system is the "Evolutionary Model", because it is easy to use, it allows small systems to be developed rapidly and it allows user engagement with the application.
Evolutionary development model uses small, incremental product releases, frequent delivery to users and dynamic plans and processes. In Fig. 1 the objective is to evolve a final system from an initial outline specification starting with wellunderstood requirements and adding new features as proposed by the end users.
In this study, the basic concept about the development process in several modules has been presented. Rather than deliver the system as a single delivery, the development and delivery is broken down into increments with each increment delivering part of the required functionality. Figure 2 shows the incremental development process of the Electronic Learning Management System. Early increments act as a prototype to help elicit requirements for later increments. As shown from the diagram; after the system definition, the architectural design has been specified and then divides the system into small increments. The system at that time needs to be built with these small increments and validated. This process will be repeated until a final system has been delivered.

Aims of the system:
The main aims of the system are: • Improve learning accessibility that is, eliminating barriers to learning that many learners have found in traditional classrooms • Improve the interaction between students and instructors. The system has a question bank facility where the students can ask questions and send them to their instructors • Speed up the reaching for required data and facilitate the interaction with database records • Keep data secure. Each student has an account to authenticate into the system • Facilitating personalized delivery of content based on the individual learner's knowledge and learning preferences • Providing tracking and assessment of learners to measure effectiveness and compliance • Promoting knowledge sharing through collaborative learning • Allow students to choose what to focus on and to take control of their own learning experience (Lewis et al., 2002) • The number of articles and amount of information that students can access is unlimited • Providing participants with an extensive list of summaries of related resources that they can choose to read, or archive for later use • Building durable e-Learning contents, regardless of changes or evolutions in technology. This means that new content should be added to existing content without costly redesign, reconfiguration, or recoding • Allow students to locate and access instructional components from one remote location and deliver to other locations • The ability for a Web-based Learning Management System (LMS) to launch content that was authored using tools from different vendors and to exchange data with that content • The ability to launch the same executable content and to exchange data with that content during execution while utilizing Web-based LMS environments from different vendors • The ability for multiple Web-based LMS environments to access a common repository of executable content and to launch such content • The ability to move an entire course from one LMS to another System description and analysis: The system runs on Microsoft ASP.NET 3.5 with VB.NET, which is a fully object-oriented computer language that can be viewed as an evolution of Microsoft's Visual Basic (VB) implemented on the Microsoft .NET framework.
The system is fully integrated with different databases; MS SQL Server, MS Access, Oracle and LDAP. It supports Single Sign On technology. Most of transactions with the database are developed using client-scripting in order to enhance the performance of the system. The system is divided into three phases: Layout, database and web services. Each phase describes specific actions taken in several locations. They are described in detail below.
Layout Phase: In this phase, the main concepts of the web application design facilities in the system are introduced. The following tools in web design are used: HTML, JavaScript, Adobe Photoshop CS, AJAX custom extended controls and cascading style sheet.
HTML, an initialize of Hypertext Markup Language, is the predominant markup language for Web pages. It provides a means to describe the structure of text-based information in a document-by denoting certain text as links, headings, paragraphs, lists and so on-and to supplement that text with interactive forms, embedded images and other objects.
The images in each web page will be created using Adobe Photoshop. A variety is given to the layout of each web page of the system.
The system is a robust, cross browser system. The user interface is largely the same in Microsoft Internet Explorer, Firefox and Opera. There are no menus or editors driven by DHTML, or the like, that can fail to work in some environments.
Asynchronous JavaScript And XML (AJAX) is a group of interrelated web development techniques used for creating interactive web applications or rich Internet applications. This feature has to be used in the login process where the JavaScript can communicate directly with the server, using the JavaScript XMLHttpRequest object. With this object, the JavaScript can trade credentials with a web server, without reloading the page.
Cascading Style Sheets (CSS) is a simple mechanism for adding style (e.g., fonts, colors and spacing) to Web documents. Using CSS, the HTML documents can be displayed using different output styles. In this system a standard CSS files has to be used to view the web pages.
Database phase: This phase is connected with all other modules. In this phase, Microsoft SQL Server 2008 has to be used as web storage. It includes native support for managing XML data, in addition to relational data.

Web services phase:
In this phase, web services are used as references in most database actions. For example, the data manipulation is done through web services.
All web services are web methods of functions that perform specific actions. Web services allow the system greater flexibility over the Internet by allowing it to work with other systems through the Internet as if it was a standard LAN network.
It uses XML to transmit the data to and from different sources. Web services can also be considered as connectivity tool-objects, data sets and even cached objects can be passed to and from other servers.

System stakeholders:
The main stakeholders of our system are: System architectural design: Various learning systems have been developed in the past decade; the majority of these systems are implemented either with client-server architecture or are centralized server based. The client-server and centralized server approaches are metaphors of student-teacher and repository centric which reflect real world learning scenarios in which teachers act as the content producers while students act as the content consumers (Yang, 2006).
Our learning environment provides an interoperable, pervasive and seamless learning architecture to connect, integrate and share three major dimensions of learning resources: • Learning collaborators • Learning contents • Learning services In order to provide these dimensions, the three-tier system architecture is used.
Three-tier architecture: A the 3-Tier architecture has the following three layers (Fig. 3).

Presentation layer:
In this tier the user interface has to be built to display data to the user or accept input from the user. It will contain controls like text boxes, dropdown lists, gridviews and labels. Business Logic layer: It serves as an intermediary for data exchange between the presentation layer and the data access layer.

Data access layer:
In this layer the data is set to the database back and forth. This layer only interacts with the database. Written database queries or stored procedures are used to access the data from the database or to perform any operation to the database. It will get the data from the business layer and send it to the database or get the data from the database and send it to the business layer.
Security modes: In this system there are four modes; guest, student, instructor and administrator modes.

System components:
The following components are provided by the web application of the system: System model design: In this phase, the overall system model design is explained using the necessary UML models. Figure 4 describes most possible interactions between the instructors and the system. Figure 5 describes most possible interactions between the students and the system. Figure 6 describes most possible interactions between the administrator and the system. Figure 7 describes the functionality of access student pages and viewing the marks. First, the student enters username and password to access the pages and then he views the contents of the student mode. After that, he can view the marks directly.  Figure 8 shows the procedure of encrypting student password when creating his profile by the administrator. Figure 9 shows how a new hit is stored in the database when a guest visits the system. The IP addresses with the date of access have to be stored only once a day.
The administrator, instructor, or student requests the login page and enters the username and password. The system verifies the credentials and checks whether the user is authorized or not. If the user is authorized then he can access the pages, otherwise a notification will be displayed to inform that the access is failed (Fig. 10).
In Fig. 11, the web classes contain the methods and functions used to access the database. The web configuration component is used to configure the system functionality and to specify the application settings. The web services component is used to transfer the data as xml from the database. All of these components form the web components of the application.
Figure 12 depicts how a system is split up into logical groupings and shows the dependencies among these groupings.

MATERIALS AND METHODS
Today's e-Learning standards provide a strong new framework, creating a bridge from abstract programmable components to the practical world of implementation.
According to new recent studies, the e-Learning standards are of value in that they support investments in: • Interoperability: That allows the Learning Object to communicate with management systems, databases and web applications. This communication with a management system takes place through web transport protocols (XML data, HTTP, HTTPS, or URL encoded data). The purpose is to exchange or update metadata information about the use of the Learning Object. This may involve variables, such as learner scores, preferences, completion times and progression, identifying which Learning Object to deliver next

SCORM:
The SCORM is not a standard in itself, but a reference model to be used to ensure that content and management systems are compatible. It stands for Shared Content Objects Reference Model. The initial version of the SCORM was centered on Web-based learning content and was intended to enable the following: • The ability for a Web-based Learning Management System (LMS) to launch content that was authored using tools from different vendors and to exchange data with that content • The ability to launch the same executable content and to exchange data with that content during execution while utilizing Web-based LMS environments from different vendors • The ability for multiple Web-based LMS environments to access a common repository of executable content and to launch such content • The ability to move an entire course from one LMS to another SCORM content must be in HTML form-viewable within a standard web browser. However, this does not limit developers and designers to text or even text and images. Multimedia and other content, such as Flash, Video, or Audio objects, can be SCORM conformant, because nearly anything that can be embedded in a web page can be SCORM conformant. The SCORM includes a mechanism for describing the specific requirements of a piece of content, such as required plug-ins (Brown, 2002).
Our learning system supports the facility of SCORM compliant. The instructors can develop their learning objects using authoring tools and publish the output as SCORM files. Then, theses files can be deployed into our learning system as an IMS content package.
Shareable Content Object Reference Model (SCORM) is a collection of standards and specifications for the packaging and sequencing of learning and assessment material in the form of shareable, reusable content objects. A SCORM learning object comprises a collection of assets, which in SCORM terminology designate pieces of instructional or educational material. Assets within an object admit different organizations, different forms of aggregation and sequencing oriented towards a definite learning purpose (Gonzalez-Barbone and Anido-Rifon, 2008).
Service Oriented Architecture (SOA): In the learning system, the development of dynamic contents is transformed from using normal HTML to XML. XML provides the answer to creating dynamic online user experiences. Extensible Markup Language, more commonly known as XML, has been accepted as the de facto standard for developing web applications that give users a much richer online experience than the simple "page turning" typical of an HTML application. Able to store organization-relevant information in a single database, XML has already become a favorite tool for developers because it expresses and manages content independently from content delivery and management services.
XML offers great promise that many believe will be the final "tipping point" toward a broad-based acceptance of e-Learning as a legitimate enterprise learning strategy. Many believe that XML will help establish a new benchmark for creating dynamic online learning experiences that inspire and empower learners, rather than test their patience slow-loading text and graphical elements, page after page after page (Himes and Wagner, 2006).
Service-based architectures take legacy application functionality and expose it to the Internet in a reliable, highly available, scalable, flexible, manageable and secure manner, easy and reliable internet-based method to create and access learning.
Web service technology has emerged as a new paradigm of distributed computing. The Service-based architectures are layered on the top of standard transfer protocols for transmitting messages that currently, the most common ones are the XML-based specification Simple Object Access Protocol (SOAP), UDDI (Universal Description, Discovery and Integration) and Web Service Description Language (WSDL) (Booth et al., 2003;Kashfi and Razzazi, 2006).
The web service architecture is illustrated in Fig. 13. A web service is a stand-alone software component that has a unique URI (Uniform Resource Identifier).
Web services architecture aims to provide a standard based platform for Service-Oriented Computing. It defines itself as a set of specifications that support an open XML-based platform for description, discovery and interoperability of distributed, heterogeneous applications as services (Tai et al., 2004). It is based on the interactions between three roles (Ambrosi et al., 2006); service provider, service registry and service requestor. These interactions involve publishing, find and bind operations and these roles and operations act upon the Web Services artifacts.
The scenario of Web services consists in four stages as below in Fig. 14 and those stages are (Al-Ajlan and Zedan, 2007): • The service provider is deploying and publishing the description of its services to service registry and hosting these services and controlling access to them • The service requester works with the service broker to discover the optimal services that meet and satisfy the specifications of register • The service broker sends the services that have been found to the service requestor • The final stage, service requester negotiates with the service providers to bind services after they have been found The typical learning management system is built based on a component-based architecture. However, Web services provide a better alternative as services are loosely coupled and can be subscribed anytime any place. Furthermore, leveraging web standards in an e-Learning environment will allow the dynamic integration of applications distributed over the web and encourage reuse of learning objects (Fang and Sing, 2009).
The typical learning management system is built based on a component-based architecture. However, Web services provide a better alternative as services are loosely coupled and can be subscribed anytime any place. Furthermore, leveraging web standards in an e-Learning environment will allow the dynamic integration of applications distributed over the web and encourage reuse of learning objects (Fang and Sing, 2009). Fig. 15, the application UI layer represents the presentation layer for the clients. This layer is described as a presentation tier in the 3-tier architecture. In this tier the user interface has to be built to display data to the user or accept input from the user. It will contain controls like text boxes, dropdown lists, gridviews and labels. The application UI can be the client program, which discovers and invokes the business processes or services from the service registry. The services being invoked can be a single service or a composite service depending on the user learning goals.

Service Oriented Architecture (SOA) layers: As shown in
As users vary according to ability, prerequisite knowledge, learning pace and learning objectives, it is ideal to provide customized e-Learning services to them. The services, which are published to the service registry can be discovered and invoked through the interface-Web Service Description Language (WSDL). The service registry is the dynamic components library that will contain all services in our system.

RESULTS
The fully object-oriented language used in the implementation of the system improves the ability to deploy several web services.
Web services provide a better alternative as services are loosely coupled and can be subscribed anytime any place. Furthermore, leveraging web standards in an e-Learning environment will facilitate the dynamic integration of systems distributed over the web and encourage reuse of learning objects. In the learning system, the development of dynamic contents is transformed from using normal HTML to XML. XML provides the answer to creating dynamic online user experiences. Extensible Markup Language, more commonly known as XML, has been accepted as the de facto standard for developing web applications that give users a much richer online experience than the simple "page turning" typical of an HTML application. Able to store organization-relevant information in a single database, XML has already become a favorite tool for developers because it expresses and manages content independently from content delivery and management services.
Using SCORM standard in our system provides us with: • The ability for a Web-based Learning Management System (LMS) to launch content that was authored using tools from different vendors and to exchange data with that content • The ability to launch the same executable content and to exchange data with that content during execution while utilizing Web-based LMS environments from different vendors • The ability for multiple Web-based LMS environments to access a common repository of executable content and to launch such content • The ability to move an entire course from one LMS to another The proposed framework using the Web Service approach will increase the efficiency and effectiveness of collaborative learning in terms of e-Learning standards; reusability, interoperability, accessibility, and modularization.

DISCUSSION
The development of e-Learning Management System can be accomplished with respect to evolutionary model. Also, using UML modeling will make the implementation and deployment of the system easy. The output exported from the contents of the system will be compatible with other learning management systems as the SCORM standards is used.
In order to facilitate the interaction between the database and the business logic in development, a scripting language such as AJAX is used. The fully object-oriented classes are used in our system to contain the methods and functions used to access the database. The web configuration component is used to configure the system functionality and to specify the application settings. The web services component is used to transfer the data as xml from the database. All of these components form the web components of the application.

CONCLUSION
As can be seen from reading this study, by using our learning management system facilities, the geographical barriers are eliminated, opening up broader administration and education options. The system can facilitate personalized delivery of contents based on the individual learner's knowledge and learning preferences. It will provide participants with an extensive list of summaries of related resources that they can choose to read, or archive for later use. A middleware for uniform access to all thesis resources that belong to different administration areas is proposed. New technologies are described, including web services, single sign on and AJAX and how they can be used in the development of our system.
In this study, a 3-tier architectural e-Learning system is defined. The objective of this architecture is to supply a basis for designers, developers and instructors to construct practicable strategic e-Learning models suitable for their individual e-Learning environments.
The proposed framework using the Web Service approach will increase the efficiency and effectiveness of collaborative learning in terms of Reusability, Interoperability, Accessibility and Modularization (Fang and Sing, 2009).

Glossary:
Activity: An activity represents the performance of task or duty in a workflow. It may also represent the execution of a statement in a procedure. An activity is similar to a state, but expresses the intent that there is no significant waiting (for events) in an activity. Transitions connect activities with other model elements and object flows connect activities with objects.
Business process or business method: Is a collection of related, structured activities or tasks that produce a specific service or product for a particular customer or customers. It often can be visualized with a flowchart as a sequence of activities Class diagram: It shows the existence of classes and their relationships in the logical design of a system. A class diagram may represent all or part of the class structure of a system. Deployment model: Type of UML diagrams, depict the physical resources in a system including nodes, components and connections.

e-Learning (or electronic learning or eLearning):
Encompasses forms of Technology-Enhanced Learning (TEL) or very specific types of TEL such as online or Web-based learning.

IMS:
Stands for instructional management systems, now commonly mentioned as the IMS global learning consortium is a non-profit standards organization concerned with establishing interoperability for learning systems and learning content and the enterprise integration of these capabilities.
Learning design: is a specification for a metalanguage that enables the modeling of learning processes. The specification is maintained by IMS global learning consortium. Learning design has the potential to revolutionize e-Learning by capturing the "process" of education, rather than simply content. By describing sequences of collaborative learning activities, learning design offers a new approach to re-use in e-Learning (Dalziel, 2003).

LMS:
A program used to put course information on the web is usually called a learning management system. Incremental development model: Increment model delivers software in small pieces called increments, each increment build on those that have been already delivered. System is developed and delivered in increments after establishing an overall architecture.
Open source: Is an approach to the design, development and distribution of software, offering practical accessibility to software's source code.
Package diagram: Is a type of diagram in the Unified Modeling Language that depicts how a system is split up into logical groupings and shows the dependencies among these groupings. As a package is typically thought of as a directory they make for a good logical hierarchical decomposition of the system. Pedagogy: Pedagogy is also sometimes referred to as the correct use of teaching strategies.

Risk:
A risk is a probability that some adverse (unfavorable) circumstance will occur. Scalability: It is a desirable property of a system, a network or a process, which indicates its ability to either handle growing amounts of work in a graceful manner, or to be readily enlarged.

Security:
It is the condition of being protected against danger or loss. In the general sense, security is a concept similar to safety.
Sequence diagram: It is a graphical view of a scenario that shows object interaction in a time-based sequence¾what happens first, what happens next. Sequence diagrams establish the roles of objects and help provide essential information to determine class responsibilities and interfaces. This type of diagram is best used during early analysis phases in design because they are simple and easy to comprehend. Sequence diagrams are normally associated with use cases.
Sharable Content Object Reference Model (SCORM): Is a collection of standards and specifications for web-based e-Learning. It defines communications between client side content and a host system called the run-time environment. SCORM also defines how content may be packaged into a transferable ZIP file.
Systems analysis: It is the science dealing with analysis of complex, large-scale systems and the interactions within those systems.

UML: Unified Modeling Language.
Use case: In its simplest form, a use case can be described as a specific way of using the system from a user's (actor's) perspective.

Web Service Description Language (WSDL):
Is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly and then bound to a concrete network protocol and message format to define an endpoint. Related concrete endpoints are combined into abstract endpoints (services). WSDL is extensible to allow description of endpoints and their messages regardless of what message formats or network protocols are used to communicate, however, the only bindings described in this document describe how to use WSDL in conjunction with SOAP 1.1, HTTP GET/POST and MIME (Christensen et al., 2001).
Web server: A computer that is responsible for accepting HTTP requests from clients, which are known as Web browsers and serving them HTTP responses along with optional data contents, which usually are Web pages such as HTML documents and linked objects.
Web services: Are objects and methods that can be invoked from any client over HTTP. Web Services are built on the Simple Object Access Protocol (SOAP). Unlike the Distributed Component Object Model (DCOM) and Common Object Request Broker Architecture (CORBA), SOAP enables messaging over HTTP on port 80 (for most Web servers) and uses a standard means of describing data. SOAP makes it possible to send data and structure easily over the Web.