E-Learning Computational Cloud (eLC2): Web Services Platform to Enhance Task Collaboration

6
E-Learning Computational Cloud (eLC 2 ): Web Services Platform to Enhance Task Collaboration Sidhant Rajam, Ruth Cortez, Alexander Vazhenin, Subhash Bhalla Graduate Department of Information Technologies and Project Management University of Aizu, Fukushima, Japan {m5132202, m5132203, vazhenin, bhalla} @u-aizu.ac.jp Abstract A significant proportion of e-Learning services are delivered through Cloud Computing. These use Web services as an interface integrator to support communication across heterogeneous platforms over internet protocols. Similarly, a high level of task collaboration is needed to form an e-Learning community. Therefore, we propose an e-Learning Computational Cloud (eLC 2 ) based on the Model- View-Controller design patterns paradigm. The reusable task objects collaborate in a Model that is wrapped inside the reconfigurable Controller which transforms the request/response parameters of the end user View to that of the Model. The eLC 2 offers software development platform for e-Learning Task Management. The main deliverable of eLC 2 is a Task as a Service which is decoupled from View as well as user session maintenance. It is directly exposed to external the e-Learning Cloud for scalability. 1. Introduction Internet technology has become a part of daily activity. It is changing social interactions due to the advantage of breaking barriers of geographical location and communication. Recent advances in Web 2.0 technologies are triggering a new type of social interaction as described in [3], which examined Wikis and Social Networking as examples of collaborative tools. The application of these technologies to e- learning provides opportunities for fostering collaboration amongst the different actors from traditional teacher-student interactions to cooperation on an institutional level. As shown in [4], there exist two generations of e- Learning platforms. The first generation includes applications that were mainly oriented toward the delivery and interoperability of content design within a particular platform. The second generation is focusing not only on sharing content, but also on sharing learning objects, sequences, and learner information. It is evolving toward a modular architectural design and recognizes the needs for semantic exchange as well as embraces the application of “services” principles, exposing externally certain aspects of their functionality. Developing towards the next generation, the current generation anticipates a new scenario where “users can build custom e-Learning platforms from a vast range of e-Learning services” in a dynamic way, “letting customers choose the right combination of services for their requirements” [4]. Taking these developments into account a design based on an open architecture, durability and reusability, high interoperability, flexibility and compatibility with external systems is required [19]. Accordingly, we propose eLC 2 based on the Model-View-Controller (MVC) design patterns paradigm. The reusable task objects collaborate in a Model that is wrapped inside the reconfigurable Controller which transforms the request/response parameters of the end user View to that of Model. The eLC 2 offers a software development platform for e-Learning Task Management. The remainder of this paper is organized as follows. In Section 2, some approaches are reviewed related to e-Learning systems design strategies. In Section 3, the Task Management Model is proposed in order to enhance collaborations amongst the main actors of learning activities. Section 4 describes elements of the e-Learning Computational Cloud Architecture including Task Control Cloud and Task Service Pool. Section 5 describes the main elements of the Formula Engine plug-in as an example of special services provided. The conclusion and future work are discussed in Section 6. 2010 IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology 978-0-7695-4191-4/10 $26.00 © 2010 IEEE DOI 10.1109/WI-IAT.2010.294 350

Transcript of E-Learning Computational Cloud (eLC2): Web Services Platform to Enhance Task Collaboration

E-Learning Computational Cloud (eLC2): Web Services Platform to Enhance Task Collaboration

Sidhant Rajam, Ruth Cortez, Alexander Vazhenin, Subhash Bhalla Graduate Department of Information Technologies and Project Management

University of Aizu, Fukushima, Japan {m5132202, m5132203, vazhenin, bhalla} @u-aizu.ac.jp

Abstract

A significant proportion of e-Learning services are delivered through Cloud Computing. These use Web services as an interface integrator to support communication across heterogeneous platforms over internet protocols. Similarly, a high level of task collaboration is needed to form an e-Learning community. Therefore, we propose an e-Learning Computational Cloud (eLC2) based on the Model-View-Controller design patterns paradigm. The reusable task objects collaborate in a Model that is wrapped inside the reconfigurable Controller which transforms the request/response parameters of the end user View to that of the Model. The eLC2 offers software development platform for e-Learning Task Management. The main deliverable of eLC2 is a Task as a Service which is decoupled from View as well as user session maintenance. It is directly exposed to external the e-Learning Cloud for scalability.

1. Introduction

Internet technology has become a part of daily activity. It is changing social interactions due to the advantage of breaking barriers of geographical location and communication. Recent advances in Web 2.0 technologies are triggering a new type of social interaction as described in [3], which examined Wikis and Social Networking as examples of collaborative tools. The application of these technologies to e-learning provides opportunities for fostering collaboration amongst the different actors from traditional teacher-student interactions to cooperation on an institutional level.

As shown in [4], there exist two generations of e-Learning platforms. The first generation includes applications that were mainly oriented toward the delivery and interoperability of content design within a

particular platform. The second generation is focusing not only on sharing content, but also on sharing learning objects, sequences, and learner information. It is evolving toward a modular architectural design and recognizes the needs for semantic exchange as well as embraces the application of “services” principles, exposing externally certain aspects of their functionality. Developing towards the next generation, the current generation anticipates a new scenario where “users can build custom e-Learning platforms from a vast range of e-Learning services” in a dynamic way, “letting customers choose the right combination of services for their requirements” [4]. Taking these developments into account a design based on an open architecture, durability and reusability, high interoperability, flexibility and compatibility with external systems is required [19]. Accordingly, we propose eLC2 based on the Model-View-Controller (MVC) design patterns paradigm. The reusable task objects collaborate in a Model that is wrapped inside the reconfigurable Controller which transforms the request/response parameters of the end user View to that of Model. The eLC2 offers a software development platform for e-Learning Task Management.

The remainder of this paper is organized as follows. In Section 2, some approaches are reviewed related to e-Learning systems design strategies. In Section 3, the Task Management Model is proposed in order to enhance collaborations amongst the main actors of learning activities. Section 4 describes elements of the e-Learning Computational Cloud Architecture including Task Control Cloud and Task Service Pool. Section 5 describes the main elements of the Formula Engine plug-in as an example of special services provided. The conclusion and future work are discussed in Section 6.

2010 IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology

978-0-7695-4191-4/10 $26.00 © 2010 IEEE

DOI 10.1109/WI-IAT.2010.294

350

2. Related Work

Cloud computing has been defined by NIST [12] as a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction. The main characteristics [12] of Cloud computing are on-demand self-service, broad network access, resource pooling, rapid elasticity and measured service. Embodying such comprehensive characteristics, Cloud computing has become an imperative technology trend which will strongly influence the future of contemporary computing methodologies. There are still significant hurdles [11] identified in the wide adoption of Cloud computing. These issues include Data Control and Privacy, Security, Performance, Latency, Reliability, Vendor lock-in etc. Subsequently, a good software development platform or architecture is needed to answer these issues. Hence, we are considering the MVC Design Patterns [5] to propose a highly modular, reusable, expressive, and agile software development environment. We have restructured the traditional MVC Design Patterns [5] by exposing the Controller as an interface integrator and thereby View is completely decoupled from the Model. The Controller wraps the Model and, as a result, protects the Model from direct remote reference invocation as well as addressing the issues of Data Control, Privacy and Security. As both View and Model are decoupled, developers can concentrate on the development and performance tuning of e-Learning Computational services. The View is outsourced from the business logic and can be implemented independently. The XML response rendered from eLTC2 can be realized in any format at the client end [5]. Moreover, task services from the e-Learning Task Controller Cloud (eLTC2) are exposed in both Business to Consumer (B2C) and Business to Business (B2B) modes of interaction to further leverage endpoint usability of the e-Learning Computational services.

The BlueSky Cloud Framework presented in [2] is an example of a Cloud implementation to support scalable and cost efficient services for e-Learning systems for basic education in China. The main focus of this framework is on improving resource utilization through smart load balancing and providing scalable IT services for e-Learning organizations. Another example of a Cloud application provides the infrastructure for implementing an e-Learning ecosystem [1]. It highlights the benefits of Cloud

computing as a way to efficiently provide computational and storage resources on demand.

Our proposed e-Learning Computational Cloud framework is motivated from Apache Struts, Sun Microsystem (Oracle) Java Server Faces and SpringSource Spring frameworks [8,14,16,18]. These frameworks have exposed Controller as an interface integrator between View and Model. Struts and Spring have certain limitations such as weak session maintenance. Furthermore, JSP and JavaBean based implementation squanders multi-threading advantage, which is ideal for B2C interactions, but not appropriate for B2B interaction. Also, transaction navigations and definitions rules are defined in XML which is difficult to maintain if the system becomes complex. Alternatively, the eLC2 is built on J2EE technology and follows Service Oriented Architecture standards. This framework provides comparative flexibility and makes it easier to build a development framework. Finally, session maintenance and transaction control does not depend on connection protocol such as HTTP, SOAP, cookies etc. Session and transaction maintenance is defined and configured in the database. The usage of EJB ensures that coordination between the container objects in distributed network will be reliable.

3. Task Management Model

The principal focus of our research is to enhance collaboration amongst the main actors of learning activities, which is supported by an e-Learning environment platform. Under this premise, the TaskManagement is defined as the process for organizing a set of activities or tasks required to be executed in order to achieve a predetermined objective. To facilitate adaptability to diverse learning domains and adopt it to the distributed cloud service oriented paradigm, we are proposing the enhanced Task Management Model originally based on managing tasks that require not only numerical answers but also mathematical expressions or formulas [9]. Consequently, this extended model includes the following Task Management elements, as shown in Figure 1. Action is an atomic event that cannot be further decomposed. Task is a set of actions to be completed to satisfy the correspondent objective. Objective is a set of tasks strongly tied together through a specific order. There are also three main actors participating in the learning process. Provider is a user who owns all or a part of the Task Management elements by creating new content or providing maintenance. Consumer is the receptor of the learning

351

goal. This user is expected to produce a specific payback in accordance with the action consumed. Evaluator participation is limited to the role of monitoring task execution within a specific objective, and has privileges to modify the associated metric element. Feedback elements are also integrated in the Task Management Model. Metric collects and summarizes consumer task results corresponding to a learning objective. Alert describes notification of execution status corresponding to each task element.

4. Architecture of e-Learning Computational Cloud (eLC2)

It is well-known that the MVC design patterns paradigm ensures the decoupling of business logic (Model) from presentation logic (View) by deploying an interpreter (Controller) that intercepts the communication between Model and View [5]. This seamless reuse of loosely coupled components and objects, motivated us to design an eLC2 wherein a Task object decomposition is carried out by reconfigurable private eLTC2 inside which task services collaborate along with Plug-in Engines. The eLC2 delivers a Task as a Service to any heterogeneous public, private or hybrid cloud clients [13]. Simultaneously, it is provisioned to import/export services such as Formula Processing, Human Language Grammar, and so on, from/to an e-Learning External Cloud. The message exchange across these clouds is coherently integrated by a Web services interface. The eLC2 is wrapped within the Web services standards whose interfaces and bindings are capable of being defined, described and discovered by XML artifacts, educes the concrete foundation for dynamic integration and aggregation of services amongst the computing clouds [15]. Since there is no

single-vendor lock-in associated with Sun Microsystems (Oracle Corp.) J2EE platform, we have adopted the J2EE platform to deploy the Web services across the eLC2. Accordingly, the Web services are used as the communication protocols defined in XML for message passing over Simple Object Access Protocol (SOAP) across heterogeneous platforms [15,19].

As shown in Figure 2, the eLC2 consists of two main clouds: e-Learning View Cloud and eLC2. The View Cloud is a Graphical User Interface to render the presentation look design and exchange input/output messages with end client users. Under the MVC design patterns paradigms, the View Cloud is outsourced to be built autonomously and interfaced with eLC2 by an exposed Enterprise Java Bean (EJB) as a Web service [4]. The proposed eLC2 solution concentrates on the core task processing work. Virtual Machine Clustering is used to build the cloud for maximum resource utilization. The eLC2 is further normalized into session controller Module and eLTC2. The eLC2 firstly authenticates the user credentials of the received service request over the eLC2 EJB by using session controller. Secondly, session controller assigns the valid session identifier to the given user request and retains and conveys the session information into the Data Model or Local Database.

Figure 1. Task Management – Abstract Class Model

The authenticated user request is then parsed and mapped to the requested Task's Service Signature by View and Model Task Request Binder. The Service Signature is a XSL template file that contains the service interface name, service endpoint name and service function name along with the service request data mapping rules with respect to the corresponding user request parameters. In this way, Request Binder transforms the View Cloud request parameters into the Task Service Pool’s (Model) data transfer object interface [15].

e-Learning Task Controller Cloud. The eLTC2

abstracts the Task Business Logic or Model by covering a Controller layer over it. The eLTC2 is exposed by deploying a single Task Controller Endpoint EJB to accept the service request from the External Cloud over the Web services or from eLC2's session controller over Java RMI using IIOP [6].

The eLTC2 has a Task Controller Service Bus as a common platform for communication with the Task Controller's components e.g. the ObjectSerializer/Deserializer performs marshalling/un-marshalling of the Task Service Model's data transfer object. The Service Verification Engine validates the requested service as per the rules defined in the Data Model and thereby it guards against further execution process in case of validation failure.

352

Figure 2. Architecture of e-Learning Computational Cloud (eLC2)

The Service Event Controller is a Task Manager for the Web services event notification between service consumer (View) and service provider (Model). The Transaction Controller manages the Web services transactions across distributed systems including Local Database, Message Queues etc. for two-phase atomic commit and concurrency control. The Authentication/Authorization Engine confirms service request corresponding to the given actor or user as per the authentication and/or authorization policies defined in the Local Database (i.e. Data Model). The BusinessDelegate identifies actual endpoint services (as per the Request Binder mapping) from the Task Service Pool which is a Model and delegates the filtered service request to the Model for task processing.

The Data Model is also used by the eLC2 and eLTC2 for service related data processing like service definition, transactional data etc. Java Database Connectivity (JDBC) or Object-relational Mapping (ORM) is used to connect to the Data Model.

The Task Service Pool or Model encapsulates endpoint service objects which implement the actual task definition so that any e-Learning Task (like Quiz, Examination, Contest, Lecture etc.) can be defined in the form of Java Bean as a service into the Task Service Container. Therefore, the Task Controller Endpoint EJB acts as a proxy (stateless session EJB) to the underlying Task Service definitions in the Model. This elicits the Web services Orchestration in the one-to-many relationship [5]. The Model has a common Plug-in Service Bus as a communication channel to the task-related add-on engines such as Formula, Grading,

Human Language, Alert etc. These plug-in engines can also be accessed as independent services through eLTC2. In J2EE framework, Web services are deployed mainly in two modes: the Servlet-based Web services endpoint model that is placed in a Web-tier and the Stateless Session Bean-based Web services endpoint model that is placed in an EJB-tier.

Under the J2EE context, Web services are defined as a set of endpoints operating on messages which means that the endpoints receive request messages and then send back response messages. These endpoints operate within a container, which provides a Web services runtime environment in the same way the EJB container provides a runtime environment for EJB beans. The Web Services Description Language (WSDL) document solely integrates the Service Interface, Service Binding and Service Implementation and thereby WSDL is depicted as the only contract between the service consumer and the service provider [6,15]. WSDL defines the multi party collaboration by implementing the Web services Choreography [15].

5. Formula Engine Services

Figure 3 depicts the Formula Engine architecture [17] embedded into the eLC2 environment. The Formula Parser converts formulas from text-based linear representation to the internal tree-like structure placed in the Formula Internal Container. Syntax correctness checking is organized by using a syntax diagram and semantic tables.

353

The Formula Visualization tool displays formulas as images. During the formula design process via the Formula Visual Editor, the user can operate with visual objects allowing only the usage of commands and constructions that are syntactically eligible. Each visual object representing some part of the formula should produce linear text according to the syntax rules specified.

Actually, the visual formula editing process is convenient and similar to the standard formula editors like, for example, the Equation Editor in the MS Word. Moreover, it is possible to specify operations on elements inside the matrix structures similar avoiding complex index expressions. Example shown on Figure 4a demonstrates an intermediate step of an algorithm for solving triangular system of linear algebraic equations. It is also possible to attach the customized image icons to formula terms as shown in Figure 4b.

a b

Figure 4. Examples of Visual Formulas

The Formula Calculator evaluates numerical answers according to the input values of the formula variables. The Formula Symbolic Transformer converts initial formulas to a standard ordered form

using standard symbolic algebraic conversions like factoring out overall coefficients, reduction of fractions, reduction to a common denominator, red

to count the boundaries of end-user mobile devices.

. Conclusion

the system ser

processed in parallel if those partner services are not

uction of similar terms, etc. [9]. Integration of the Formula Engine architecture with

the Task Controller cloud allows us to provide different services based on the same computational resources. This is achieved by activating the corresponding Formula Engine components. The main services provided include a set of so-called Teacher-Student workplaces and the Automated Verification Engine supporting checking and grading process for different tasks with numerical and analytical answers based on different types of exercises such as tests, quizzes, exams, tournaments, etc. The workplaces allow the users to interact with the system in order to prepare problem descriptions, specify tasks and answer examples, submit solutions and obtain results from the task implementation. We can distinguish the fat workplaces in which the Formula Engine components are placed on the client computer or mobile workplacesthat contain only some of the components taking inacFigure 3. Formula Engine Components

6

By creating eLC2, a Software Development Platform will be provided. It enables clients to specify and design their task hosted as a service through distributed Cloud which is interfaced with Web services technology. Since the eLC2 cloud is loosely coupled with that of View Cloud, the View pattern can be outsourced to provide a universal structure for a high variety of end users. The presented example of the Formula Engine plug-in demonstrates that the Service Bus of Task Controller and extendable set of plug-ins has a huge potential for reusability and scalability of the Task Services. The presented environment can significantly improve teacher-student collaborations through adaptation of

ma=F

vices to a variety of end-users. In our future work, we are planning to extend the

Controller by forming an Enterprise Service Bus (ESB) [10] that should embed the Task Controller Service Bus as an internal message bus. The ESB supports the usage of the service plumbing or service virtualization [7]. The last one allows the collective archiving of services as a single deployable unit. Additionally, the service virtualization can abstract peer services for transparent service lookup [7]. Simultaneously, the ESB paves a way for service pipelining whereby multiple partner services can be

354

sharing data. This service pipelining feature will significantly boost the overall service execution time.

7. Acknowledgment

This work is supported by the Japanese Society for the Promotion of Science, Grant-in-Aid for Scientific Research: 21500948, 2009-2011.

8. References

[1] B. Dong, Q. Zheng, J. Yang, H. Li, M. Qiao, “An E-learning Ecosystem Based on Cloud Computing Infrastructure”, In Proceedings of the Ninth IEEE International Conference on Advanced Learning Technologies, Latvia, July 15-17, pp. 125-127. 2009.

[2] B. Dong, Q. Zheng, M. Qiao, J. Shu, J. Yang, “BlueSky Cloud Framework: An E-Learning Framework embracing Cloud Computing”. In Proceedings of the 1st International Conference on Cloud Computing, CloudCom, China, Dec. 1–4, pp. 577 – 582, 2009.

[3] B. Gholami, and R. Safavi, “Harnessing Collective Intelligence: Wiki and Social Network from End-user Perspective”, 2010 International Conference on e-Education, e-Business, e-Management and e-Learning, Sanya, China, January 22-January 24, pp. 242-246.

[4] D. Dagger, A. O’Connor, S. Lawless, E. Walsh, and V.P. Wade, “Service-Oriented E-Learning Platforms from Monolithic to Flexible Services”, IEEE Internet Computing,vol. 11, no. 3, pp. 28-35, May/June 2007.

[5] E. Gamma, R. Helm, R. Johnson, and J. Vlissides, DesignPatterns Elements of Reusable Object Oriented Software,Addison-Wesley, New York, 1994.

[6] E. Roman, R.M. Sriganesh, and G. Brose, MasteringEnterprise JavaBeans, Wiley, Indiana, US, 2005.

[7] F. Cohen, and B. Bartel, “Service Governance and Virtualization For SOA”, PushToTest, November 2006, URL:http://www.tibco.com/multimedia/wp-pushtotest_tcm8-709.pdf

[8] J. Li, G. Ma, G. Feng and Y. Ma, "Research on Web Application of Struts Framework Based on MVC Pattern", International Workshop on Web-Based Internet Computing for Science and Engineering (ICSE 2006), Harbin, China, January 16-18, pp. 1029-1032. 2006.

[9] J.S. Cohen, Computer Algebra and Symbolic Computation, A K Peters, Ltd, 2002.

[10] M.T. Schmidt, B. Hutchison, P. Lambros, and R. Phippen, "The Enterprise Service Bus: Making Service-Oriented Architecture real," IBM Systems Journal,vol.44,2005.

[11] N. Leavitt, "Is Cloud Computing Really Ready for Prime Time?", Computer, vol. 42, no. 1, January, pp. 15-20. 2009.

[12] P. Mell, and T. Grance. The NIST Definition of Cloud Computing, Draft by The National Institute of Standards and Technology (NIST). United States Department of Commerce Version 15., July 2009, URL:http://csrc.nist.gov/groups/SNS/cloud-computing/

[13] Sun Microsystems, Introduction to Cloud Computing Architecture, White Paper, June 2009, URL: http://www.sun.com/featured-articles/CloudComputing.pdf

[14] The Apache Software Foundation, Struts Key Technologies Primer, Tutorial, September 2009, URL:http://struts.apache.org/primer.html

[15] T. Erl, Service-Oriented Architecture Concepts, Technology, and Design Prentice Hall PTR, Indiana, US, December 2006.

[16] The Oracle Java EE 5 Tutorial Chapter 10, JavaServer Faces Technology, Tutorial, June 2010, URL:http://download.oracle.com/docs/cd/E17477_01/javaee/5/tutorial/doc/javaeetutorial5.pdf

[17] T. Oka, D. Vazhenin, and A. Vazhenin, “WEB-based Task Management Tools in e-Learning Environment”, InProceedings of the International Conference on Computational Technologies in Electrical and Electronics Engineering Sibircon, IEEE Region 8, Novosibirsk, Russia, July 21- 25, 2008, pp. 100-105.

[18] TheServerSide.com, Introduction to the Spring Framework, Tutorial, May 2005. URL:http://www.theserverside.com/news/1364527/Introduction-to-the-Spring-Framework

[19] Z. Zhu, “Design and Implementation of Web-Services Based E-Learning System”, First International Workshop on Education Technology and Computer Science, vol. 3, pp. 233-237, March 2009.

355