A Service Oriented Architecture to integrate Web services and Agents in Course Management Systems A. M. Riad

H. A. El-Ghareeb

Head of Information Systems Department Department of Information Systems Faculty of Computers and Information Systems Faculty of Computers and Information Systems Mansoura University, EGYPT Mansoura University, EGYPT [email protected] [email protected] Abstract: One of the critical limitations of a newly established educational institution is the lack of available well prepared courses. It is more applicable to use widely available courses that might be higher in quality than preparing new courses. Current course management systems do not exploit courses shareability. To address this shortage, a Course Management System (CMS) is presented to highlight automated discovering and importing of courses maintained and managed by external CMSs. Proposed CMS architecture utilizes Service Oriented Architecture (SOA) design pattern to integrate different CMSs on service level. Proposed CMS consists of two layers: Presentation layer and Service Layer. Presentation layer is responsible for interacting with user either via displaying information or receiving user inputs. Service layer contains core system services. Service layer is divided into three sub layers: orchestration layer, application services layer, and agents layer. Orchestration layer holds business logic required by system processes. Application services layer contains set of stateless services that are capable of performing certain tasks. Agents layer presents the suggested required software agents to serve the overall system. Suggested agents are: Discoverer, Ranker, Tracker, and Analyzer software agents. Integration between software agents and Web services is achieved by utilizing SOA. Proposed CMS facilitates integration between different CMS in order to share resources of educational institutions. Keywords: Course Management System (CMS), Service Oriented Architecture (SOA), Software Agents, Software Integration, Web services.

‫هيكل خدمي التوجه لتكامل خدمات الويب و الوكلء في نظم ادارة المواد التعليمية‬ ‫ انه لمن الملئم استخدام‬.‫نقص المواد التعليمية جيدة التحضير هي واحدة من التحديات الحرجة للمؤسسات التعليميه حديثة العهد‬ ‫ نظم‬.‫المواد التعليميه المنتشرة بوفرة و التي قد تكون على مستوى من الجوده أعلى من المواد التعليميه التي سيتم تحضيرها‬ ‫ يقدم هذا البحث نظاما لدارة‬،‫ نظرا لهذا القصور‬.‫ادارة المواد التعليمية الحالية ل تقدم أنسب الحلول في مشاركة المواد التعليمية‬ ‫ ي قدم هذا‬.‫ال مواد التعليم يه لبراز ميك نة عمل ية استك شاف ال مواد التعليم ية داخليا و خارجيا و عمل ية ادراج ها ا لى دا خل الن ظام‬ ‫ هيكل‬.‫البحث نظام ادارة المواد التعليمية مصمم بهيكل خدمي التوجه لتاحة المكانية لتكامل نظم مختلفه لدارة المواد التعليمية‬ ‫ مستوى العرض هو المسؤول عن التفاعل مع المستخدم‬.‫ مستوى العرض و مستوى الخدمة‬:‫النظام المقترح يتكون من مستويين‬ ‫ م ستوى الخد مة هو الم ستوى ا لذي يح توى جوهر‬.‫ا ما عن طر يق عرض المعلو مات أو اتا حة المكان ية لد خال المعط يات‬ .‫ و مستوى الوكلء‬،‫ مستوى خدمات التطبيقات‬،‫ مستوى التنظيم‬:‫الخدمات المقدمة من النظام و ينقسم الى ثلث مستويات فرعية‬ ‫ مستوى خدمات التطبيقات يحتوى مجموعة‬.‫مستوى التنظيم هو المسؤول عن تقديم القواعد المنطقية لتنظيم سير عمليات النظام‬ :‫ مستوى الوكلء يقدم مجموعة مقترحة من الوكلء لدعم النظام و تضم‬.‫من الخدمات التي لها القدرة على القيام بمهام محددة‬ ‫ الهيكل المقترح‬.‫ استخدام الهيكل خدمي التوجه يسهل التكامل بين الوكلء وخدمات الويب‬.‫ و المحلل‬،‫ المتابع‬،‫ المقيم‬،‫المستكشف‬ .‫يسهل عملية التكامل بين نظم ادارة المواد التعليميه المختلفه لتاحة امكانية مشاركة المواد التعليميه المختلفة‬ 1

1. Introduction Software integration levels are either data level, application level, or process level [1]. Process level integration presents most current trend in integrating applications. Integration techniques are either data or software based techniques [2]. SOA as a design pattern serves, among its other advantages, as an integration enabler by thinking of organization as a collection of services, and the organization is either a service provider or a service consumer. Organizations can expose their internal applications as services which can be consumed by external organizations. Exposing internal resources, databases and applications as services enables information and resources integration and shareability. Educational institutions like other organizations require integration to overcome courses nonavailability limitation and provide better pedagogical services. Course Management System (CMS) is a tool that focuses on management of one or more courses, typically by instructor [3]. CMS integrates content delivery, communication, learner activities, collaborative work, feedback, testing, portfolio development, groupware tools, and administrative tools [4]. CMS provides an easy way to upload and share materials, hold online discussions and chats, give quizzes and surveys, gather and review assignments, and record grades [5]. Course Management Systems support standard course formats like SCORM and AICC in order to share courses among different CMSs [6-9]. With the growing attention on internet, all kinds of CMS are being developed [10 – 11]. CMSs have been widely adopted within educational institutions. Development of CMS of the School of Computer Science and Engineering (SCE) at the University of New South Wales is illustrated in [12]. Graphical representation of student tracking data that is acquired during learning process as a component of CMS is developed in [13]. Software agents have been an important part in CMS. Multi-agent based CMS was demonstrated in [14]. Web services; as an emerging technology; have been widely adopted in CMS. The idea of implementing Web services within remote labs was introduced in [15]. A federated security solution that enables access to repositories via Web services is presented in [16]. Online CMS can manage online submissions as a collection of services [17]. Software Agent is a computer system that is situated in some environment and is capable of autonomous actions in this environment in order to meet its design objectives [18]. Software Agents have characteristics that make them suitable to perform complex functions. Characteristics are: Autonomy, Interactivity, Reactivity, Proactivity, Intelligence, and Mobility [19]. Proposed architecture utilizes four task-specific software agents: Discoverer, Ranker, Tracker, and Analyzer. Discoverer agent discovers new course providers, and new courses. Ranker agent ranks courses, instructors, faculties, and universities. Tracker agent ensures that instructors provided feedback for courses that have been imported. Analyzer agent analyzes system log to detect most often reasons causing failed imports and suggesting how to adapt and provide a feed-forward dynamic CMS. Web services are applications that use standard transports, encodings, and protocols to exchange information [20]. A Web service is a software system designed to support interoperable machineto-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using Simple Object Access Protocol (SOAP) messages, typically conveyed using HTTP with an eXtensible Markup Language (XML) serialization in conjunction with other Web-related standards [21]. Web Services Description Language (WSDL) provides a model and 2

an XML format for describing Web services. WSDL describes a Web service in two fundamental stages: one abstract and one concrete [22]. At an abstract level, WSDL describes a Web service in terms of the messages it sends and receives; messages are described independent of a specific wire format using a type system, typically XML Schema. At a concrete level, a binding specifies transport and wire format details for one or more interfaces. SOAP is a lightweight protocol intended for exchanging structured information in a decentralized, distributed environment [23]. XML solves a key technology requirement that appears in many places. By offering a standard, flexible and inherently extensible data format, XML significantly reduces the burden of deploying the many technologies needed to ensure the success of Web services [24]. Web services are stateless services that can not maintain business logic, operation flow, or user state; so, the need of an orchestration layer is addressed [25]. Orchestration layer services include business logic required to take decisions based on previous state on which next Web service to invoke, and what action should take place next. SOA provides a fine granularity and modularity that solves many integration problems, but adds complexity to systems design. SOA utilization provides process level integration based on services, not just data or application integration. The organization of this paper is as follows: In section 2, problem definition is presented. Section 3 introduces proposed architecture. Section 4 focuses on CMS analysis highlighting supported processes. Section 5 illustrates CMS design, which includes designing Web services and software agents. Conclusion and future work are presented in section 6. 2. Problem Definition It is generally a hard job for instructor to prepare electronic course contents [14]. Today’s commercial CMSs do not address the capability of automated search and import of external courses, especially if courses are not free. Courses are about quality, not quantity. Departments want fewer modules that incorporate simulations and interactivity [9]. Educational institutions can increase Return-On-Investment (ROI) by selling courses. Non-functional system requirements, like interoperability, and agility are not addressed clearly within today’s commercial CMSs. Choosing the most suitable architecture to address all those requirements is an important task. It is hard to find enough research and available tools on the content management, due to this; instructor has to manually manage course contents [14]. SOA is a design pattern that helped enterprises overcome integration obstacles, and gain agile and interoperable advantages within architectures. Educational institutions can make use of SOA in integrating CMSs. Integrating CMSs is not about sharing course materials and providing search capabilities among files, but it is concerned with automation of the whole search, import, and payment process. SOA based CMS is presented in order to unleash SOA advantages for educational institutions. 3. Proposed CMS Architecture

Figure 1 depicts the proposed CMS architecture that integrates agents and Web services in order to integrate different CMSs. From architectural perspective, proposed system consists of two main layers: Presentation layer, and Service layer.

3

A g en ts L a yer

Analyzer Tracking Tracker

4

Insert Failed Import

Ranker

Figure 1: Proposed CMS Architecture Insert Exception

Read Failed Import Add Faculty Update Faculty

Discoverer

Add Instructor Update Instructor Update Feedback Read Feedback

F ee d b a ck

Insert Feedback

F ee d b a ck

Manage Rules Process Exc. Manager

F e e d b ack

Pay Search Process Exc. Manager

Exception Manager

In s t ru c to r s

Finance Manager

In s t ru c to r s

Course Manager

F a c u lt ie s

Instructor Portal

F a c u lt ie s

D is p l a y

Business Portal

Log

Discover / Recommend

T r a n s a c t io n s

Check Capability

C o u rs e s (R a n k e d E x te r n a l)

C o u rs e s (R a n k e d In t e r n a l)

P r e s e n t a t io n Lay er

Instructor

Im p o r ts ( F a ile d )

Im p o r ts ( F a i le d )

Update Course R u le s

Manage Courses

C o u rs e s (R a n k e d In t e r n a l)

Retrieve Course

C o u rs e s (R a n k e d E x te r n a l )

Remove Course

C o u rs e s ( Im p o r te d )

Add Course

C o u rs e s ( In t e r n a l)

Rules Manager

C o u rs e s ( E x te rn a l )

Import

C o u rs e s ( Im p o r te d )

Download Course

C o u rs e s (E x te r n a l )

Insert Rule

C o u rs e s (R a n k e d E x te r n a l)

Retreive Rule

C o u rs e s ( Im p o r te d )

Manage Rules

C o u rs e s ( E x te rn a l )

Send Mail

R u le s ( C u r r e n t)

B us in e s s M a n a g e rs

O r c h e s tr a ti o n Lay er

Mail Manager

R u le s (S u g g e s t e d )

R u le s ( S u g g e s ted )

In s t r u c to r s

A p p li c a t i o n S e r v i c e s L a y e r

S e r v ic e L a y e r Portal Business Manager

Faculties Manager Instructors Manager Feedback Manager

Manage Faculties Manage Instructor’s Manage Feedback

3.1 Presentation Layer It is the layer that presents user interface. System scope is limited to instructors and business managers. Display service is the service that is responsible for preparing dynamic output prepared to users, and calling the suitable web page to display data. Display service passes suitable set of data to appropriate pages, and acquires input from users when needed. There is no business logic embedded within this layer. Separation of interface design and implementation from business logic has proven many advantages [25]. 3.2 Service Layer

Service layer consists of three sub layers: Orchestration Layer, Application Services Layer, and Agents Layer. 3.2.1 Orchestration Layer Orchestration layer manages interaction details required to ensure that service operations are executed in a specific sequence [25]. Sequences are determined based on processes supported by system. Orchestras within this layer are: Course Manager, Rules Manager, Exception Manager, Financial Manager, Mail Manager, Faculties Manager, Instructor’s Manager, and Feedback Manager. 3.2.2 Application Services Layer Application Services are set of stateless services that perform certain task. Process is the summation of tasks performed by one or more services of application services layer in the sequence identified and maintained by orchestration layer. Services of Application Services Layer are: Discover/Recommend Display, Check Capability, Import, Insert Rule, Pay, Raise Exception, Manage Rules, Send Mail, Manage Courses, Search Process Exception Manager, Manage Rules Exception Manager, Manage Faculties, Manage Instructors, and Manage Feedback. 3.2.3 Agents Layer Specific task agents are required to serve CMS. Software agents are the optimum solution for track and analysis tasks. Software agents are: Discoverer, Ranker, Analyzer, and Tracker. 4. CMS Analysis

System requirements are either functional or non-functional [26]. Functional requirements are statements of services that systems should provide. Non-functional requirements present requirements that arose as a result of functional requirements. Architecture design is one step of system’s design that shall satisfy non-functional requirements like integration, interoperability, and agility [27]. Proposed CMS utilizes SOA to satisfy functional and non-functional requirements. Proposed CMS addresses two processes namely Search and Manage Rules as depicted in the use case diagram at figure 2. Search process enables instructor and CMS to search for courses within course repositories managed and maintained by internal and external CMSs, import, and display those courses. There are managerial issues that should be addressed to enable this process. Managerial issues are managed at Manage Rules process.

5

CMS Search 1

1

Manage Rules

1 1

Instructor

Business Manager Figure 2: System Processes Use-Case Diagram

4.1 Search Process Analysis Search process is initiated by Instructor, managed and maintained by Course Manager. Figure 3 depicts analysis of Search process. Highlighted shapes within figure 3 present activities performed by course manager. Other shapes present non-course manager activities that represented as stand alone services and called explicitly by course manager. 4.2 Manage Rules Process Analysis Manage Rules process is initiated by Business Manager, managed and maintained by Rules Manager as shown in figure 4. Highlighted shapes within figure 4 present activities performed by rules manager. Other shapes present non-rules manager activities. Non-rules manager activities are presented within the architecture as stand alone services that are called explicitly by rules manager. 5. CMS Design

CMS design includes designing automation of the two mentioned processes, besides designing software agents required to support those processes. Designing processes includes designing composing services for each process, activities performed by each service, and database required to support this service. Database design methodology is required for efficient database design [28]. Figure 5 depicts an overall design view of integrated CMSs over standard Web services technology. Proposed CMS is a collection of stateless Web services in order to obtain advantages of integrating different external CMSs. Unlocking course repositories in front of all educational institutions is a service level integration that should overcome lack of resources limitation.

6

Instructor

R equest Course from Course Manager

D iscover / Recommend

Pass List to Display Service

Display Recommended List to Instructor

Instructor Picks the required course learning objects

Internal course ?

Pass List to Display Service

Y

D isplay

N Check C apability

N

Success ? Y

Raise Exception

Free course ?

Y

Import

N Y Success ? Pay

Success ?

Y

N

end

Figure 3: Search Process Analysis

7

Business Manager

Request Rules from R ules Manager

Retrieve Suggested R ules

Pass List to Display Service

Display Rules to Business Manager

Business Manager edits , approves , and disregards rules

Rule A pproved ?

Y

R emove from Suggested Rules

Insert into Rules

N N

Raise Exception

Success ?

Y

end

Figure 4: Manage Rules Process Analysis

8

Educational Institution

Educational Institution

Educational Institute LMS’s Interface

Educational Institute LMS’s Interface

Download

Download

Search

Deposit

Search

Deposit

Internet UDDI

Figure 5: Design of integrated CMSs

5.1 Search Process Design Figure 6 depicts Search process design that utilizes more than one service. Services that are utilized by Search process are: Discover/Recommend Display, Check Capability, Manage Courses, and Import. Figure 6 depicts a detailed design for activities performed by Course Manager to perform Search process. 5.1.1 Discover/Recommend Service Design It is the service that is responsible for searching internal and external list of ranked courses to prepare a list of ranked courses that satisfies user query. Recommend is the service responsible for ranking results prepared by Discover service by relevance of its keywords and user query keywords. Detailed design for Discover/Recommend activities is depicted in figure 6 under Discover/Recommend side title. Figure 7 depicts tables required by Discover/Recommend to achieve tasks. Courses_External_Ranked, and Courses_Internal_Ranked are the tables required by Discover to prepare list of courses, and Keywords table to rank list by relevance to user’s keywords.

9

N Y

Search for Course

Import Success ?

Selected Course is Internal ?

Pass List to Display

N

Capability Passed ?

Payment Success ? Y

Y Y

Reads External List of Course Providers

Reads Internal List of Course available

Ranked External List of Courses

Ranked Internal List of Courses

Display Message to Instructor

N

List of Recommended Internal and External Courses

Display List to Instructor

List of Recommended Internal and External Courses Rated with Search percentage Relevance

Rank Retrieved List according to Search Keywords

Display Course to Instructor

Instructor Picks the required LO

end

Rules

Read Rules

Manage Courses

Rules Satisfied ?

Return either Passed / Failed

Add to Failed Imports

N

Failed Imports

Call suitable Course Manager Services

Import

Check Capability

Y

Download Course Contents

Retrieve URL

Add Course to Courses DB

Remove Course from External List

Remove Course from External Ranked List

Courses (Imported)

Courses (External )

Courses (External Ranked)

Store Course in internal repository

Deposit Required Amount

Pay

Add Transaction to Transactions DB

Transactions

Raise Exception Search Process

Y

Free Course? N

Display

Discover / Recommend

Course Manager Search Process Business Logic

Search Process

Send Mail to Business Manager

Add to Failed Imports

Add entry

Failed Imports

Log

end

Figure 6: Search Process Design

10

N

KeyWords PK PK

Course_ID Keyword

Courses_External_Ranked

Courses_Internal_Ranked

PK,FK1

PK,FK1

Course_ID Fac_ID Description Rank

Course_ID Name Description Rank

Figure 7: Tables of Discover/Recommend Service

5.1.2 Display Service Design

It is the service that is responsible for preparing data that will be displayed, passing this data to the proper page at presentation layer, and acquiring input from end user. Display service manages different kinds of data. Those data include: • Display list of courses: at presentation layer, there should be a display course page that is waiting for the dataset that will be passed by course manager. • Display Notification message: about rules, there should be a display rules page that is waiting for the dataset that will be passed by course manager. Display service takes input from instructor and business manager. Example of instructor input is Course_ID. Example of Business Manager Input is Rules_Approved. Figure 6 depicts detailed activities performed by Display service to support Search process. 5.1.3 Check Capability Service Design

It determines either the course satisfies organizational rules or not, by doing so, it actually determines if course can be imported or not. Rules not only include financial issues; like limits provided for each instructor, but they also reflect pedagogical aspects of the educational institution. Educational institutions must guarantee certain pedagogical level of courses. Check Capability Service requires database tables depicted in figure 8. 5.1.4 Import Service Design

It consumes two other services: download course and add course. Download Course is responsible for downloading course file and saving it to FTP server.

11

Courses_Charactersitics

Charactersitics PK,FK1

Property _ID

FK1

Property_Name Property_Description Property_Value

PK PK,FK1

Course_ID Property_ID Property_Value

Rules

Characteristics_Values PK PK

PK

Property _ID Property _Value

FK1

Rule_ID Rule_Name Description Priority Property _ID Property _Value

Figure 8: Tables of Check Capability Service

5.1.5 Manage Courses Service Design

Manage Courses refer to the capability to implement basic databases operations upon certain entity. Basic database operations are: insert, update, and delete [29]. As courses are the entity of interest to search process, add, remove, and update operations should be supported. Courses are classified into three categories: Internal, External, and Imported. Internal courses refer to courses developed by institution’s instructors. External courses refer to courses that are available in other educational institutions and have not been imported yet. Imported courses refer to downloaded courses form external sources. Internal and External courses are ranked in different tables. Manage Course Service is capable of performing basic database operations on those different tables. Figure 9 depicts required database tables to support Manage Course Service.

12

Courses_Internal PK

Keywords

Course_ID

PK,FK1,FK2 PK

Name Description

Course_ID Keyword

Courses_External Courses_Internal_Ranked PK,FK1

Name Description Rank

PK

PK

Course_ID

FK1

Fac_ID Description

Course_ID

Courses_Imported

Instructor

PK

Course_ID

Courses_External_Ranked

Inst_ID

FK1 FK2

Fac_ID Inst_ID Description

PK

Course_ID

FK2

Fac_ID Description Rank

Name email Rank Building no . Street City State Zip Code Country

Courses_Inst PK,FK1 PK,FK2

Faculties

Course_ID Inst_ID

PK

Fac_ID

FK1

Name Description Rank Univ_ID

Universities PK

Univ_ID Name Country Description Rank

Figure 9: Tables of Manage Courses Service

5.1.6 Pay Service Design

Responsible for depositing money into accounts determined by the transaction. Figure 6 depicts detailed activities by Pay service. Pay service should manage transactions carefully by adding transaction entry to transactions table before attempting the process for it to be able to rollback non successful transactions. Figure 10 depicts required table to support financial transactions by the Pay service. Transactions PK

Transaction _ID Inst_ID Account Amount Date Time

Figure 10: Table of Pay Service

13

5.1.7 Raise Exception Search Process Service Design

Incase any kind of errors happened during the Search process, a Search Process Exception is raised. Raise Exception Service performs two main functionalities: Adds an entry to Failed Imports table, and adds an entry to Log table. Figure 6 depicts activities performed by Raise Exception Search Process Service. Figure 11 depicts required tables by Raise Exception Search Process Service. Failed Imports

Error Code PK Err_ID Name Description Sevirity

PK

ID

Date Time Inst_ID Course_ID Initiator_Service_ID FK2 Error_Code FK1 Service_ID

Log

Services PK Service_ID Name Description

PK Date PK Time PK,FK1,FK2 Event _ID Description Item Description Item Vale

Events PK Event _ID

Description_Items PK,FK1 Event_ID PK Description_Item

Name Description_Item_Value

Figure 11: Tables of Raise Exception Search Process Service

5.2 Manage Rules Process Design Figure 12 depicts Manage Rules Process Design. Manage rules process is initiated by Business Manager and managed by Rules Manager. Manage Rules Process utilizes the following services: Retrieve Suggested Rules, Display, Insert Rule, and Raise Exception. 5.2.1 Manage Rules Service Design

Manage Rules Service supports basic database operations on rules. There are three rule’s categories: Rules, Analysis Rules, and Suggested Rules. Rules table presents rules of educational institution to rank courses and determining applicability of course import. Analysis rules table holds analysis rules will be used by Analyzer agent to apply them on failed imports, in order to generate suggested rules. Suggested rules table holds either new rules or edited current rules suggested by Analyzer agent and waiting for approval by Business Manager. Figure 13 depicts tables required by Manage Rules Service.

14

Manage Rules Rules Manager Retrieve Suggested Rules Manage Rules Process

N List of Suggested Rules

Manage new Suggested Rules

Rule Approved ?

Y

Success

Retrieve Suggested Rules

Y

end

N

Display

Suggested Rules

Display Rules to Business Manager

Business Manager edits , approves , and discards rules

Insert Rule

Insert Rule

Raise Exception Manage Rules Process

Rules

Send Mail to Business Manager

Add entry

Log

Figure 12: Manage Rules Process

PK

ID Name Description Rule

Rule

Suggested Rules

Analysis Rules PK

Sugg_Rule_ID

PK

Rule_ID

Sugg_Desc_Item Sugg_Desc_Value

FK1 FK2

Description Item ID Description Item Value

Rule Items PK,FK1

Rule_Items_Values

Description_Item _ID Name Description Sugg_Rule_ID

Figure 13: Tables of Manage Rules Service

15

PK PK

Description_Item_ID Description_Item_Value

5.2.2 Raise Exception Manage Rules Service Design

Activities performed by Raise Exception Manage Rules Service are depicted within figure 12. Raise Exception Manage Rules Service requires only log table in order to add entry. Figure 11 includes Log, Events, and Description_Items tables design. 5.3 Software Agents Design There are four software agents required to support proposed system. Software agents have characteristics that fit system requirements, like autonomy and proactivity. There are certain activities that should be continuously running, like discovering new courses providers, courses, and ranking them. Also, tracking instructor’s activities with courses and ensuring feedback is inserted is one activity that requires a software agent. Software agents can have intelligent features that enable them to analyze current systems in order to reach better systems. Software agents required are: Discoverer, Recommender, Tracker, and Analyzer. 5.3.1 Discoverer Agent Design It is the software agent that is responsible for preparing list of external course providers and indexing metadata about courses. Discoverer agent makes use of standard SOAP/XML based Web services that integrates internal and external applications [1]. Discoverer software agent integrates internally with exposed Web services like Course manager in order to insert data and metadata about courses. Figure 14 depicts Discoverer software agent design. There are three main interfaces for Discoverer agent: Internal interface, external interface, and human interface. Discoverer software agent integrates externally with educational institutions exposed Web services in order to initiate and maintain an internal catalog of external courses providers and courses. Web services technologies enabled integration flexibility and maintainability [1]. Internal interface presents integrating Discoverer software agent with CMS’s Web services on service level. Discoverer needs to consume Manage Courses service in order to update courses database. Discoverer is not directly inserting data into courses database. All operations have to be done through Manage Courses Web service in order to obtain service level integration benefits. Human interface is required to enable instructor and business manager insert data about courses and courses’ providers, and programmer interface to inform Discoverer about available external Web services. Universal Description Discovery and Integration (UDDI) provides a platform-independent way of describing services, discovering businesses, and integrating business services using the Internet [30].

16

Educational Institution

Educational Institution

Educational Institution

Search

Search

Search

Internet UDDI

Instructor Discoverer

SOAP/XML

Programmer Business Manager

Manage Courses

My Educational Institution Figure 14: Discoverer Agent Design

5.3.2 Ranker Agent Design It is the software agent that is responsible for ranking different system’s components based on ranking rules. System components that should be ranked are: Universities, Faculties, Instructors, and Courses. Different formulas used to rank each of them. Ranker agent integrates internally with the proposed system on service level via system’s exposed Web services. Ranker agent consumes suitable Web services to insert, update, retrieve, or delete items that to be rank. Figure 15 depicts a Course Ranker process design. Course Ranker consumes two services: Retreive Course, and Update Course.

17

Retrieve External List of Courses (Manage Course )

Retrieve Internal List of Courses (Manage Course )

List of available Internal and External Courses, Providers , and metadata

Ranking Rules

Read Rules

Retrieve Course Feedback (Manage Feedbak )

Apply Ranking Rules and Rank Courses

Updates External Ranked Courses (Manage Course )

Updates Internal Ranked Courses (Manage Course )

end Figure 15: Courses Ranker Process Design

Pedagogical and managerial rules are presented with different priorities to reflect system’s interest. Figure 16 depicts ranking rules required tables. Ranking is either based on instructor’s feedback, or mathematical formula. Courses, Instructors, and Faculties ranking is based on instructors’ feedback for those different items. Several feedback forms with one to five grading are presented to instructors to evaluate different items. Rank items and inserted values are saved, 18

and Ranker gets average of all those items to present final rank of any of the saved items. Thresholds are presented in different tables to enable Ranker to classify ranked item either accepted ‘ranking value over threshold’ or not accepted ‘ranking value is below threshold’. Universities ranking is presented as a formula that is the average of all faculties composing this university ranks. Course_Ranking_Rules Instructor_Courses_Feedback PK PK PK,FK1

Inst_ID Course_ID Rank_Item _ID

FK2

Rank_Item_Value

PK

Inst_ID Fac_ID Rank_Item_ID

FK1

Rank_Item_Value

Instructor_Instructor_Feedback Inst_ID_Evaluator Inst_ID_Evaluated Rank_Item_ID

FK2

Rank_Item_Value

Faculty_Ranking_Rules PK

Rule_ID Name Description Priority Threshold

Rank_Items_Values PK PK

PK PK PK,FK1

Rank_Item _ID Name Description Priority

Instructor_Faculty_Feedback PK PK PK,FK2

Name Description Priority Threshold

Rank_Items PK

Rule_ID

Rank_Item_ID Value

Instructor_Ranking_Rules

Description

PK

Rule_ID Name Description Priority Threshold

Figure 16: Tables of Ranker Software Agent

Examples of Course Ranking Items are: • How good is the information about the course? • How clear is the purpose of the course? • How clear are criteria for moving from one topic to the next? • How good is the course literature? • How good is organization of the course? Examples of Instructors Ranking Items are: • Were instructor’s comments helpful? • How good was instructor’s ability to create intellectually simulating course? • How good was instructor’s encouragement of analytical thinking? 5.3.3 Tracker Agent Design Proposed CMS depends heavily on instructor’s feedbacks to enhance system’s performance. Figure 17 depicts of tracking instructor’s feedback of imported courses process design. 19

Reads Imported Courses (Manage Course )

Reads Instructors’ Feedback (Manage Feedback )

Course with no feedback ?

Y Y

Warnings Over max . Allowed?

Send an email to instructor (Mail Manager )

N

Send an email to instructor

Tracking

N

Send an email to Business Manager (Mail Manager )

Insert New Warning Insert Over Warning Status

Call Remove from Impoted Courses Service (Manage Courses )

end Figure 17: Imported Courses Tracker Process Design

20

Tracking

Tracking systems usage has been widely known and accepted. Tracking data includes number of accesses made to each resource, the history of pages visited, and the number of hits for every day of the course [13]. In proposed system, tracking focuses mainly on instructors filling their feedback forms. Every instructor imported a course should give her/his feedback for this course. Imported courses feedback tracking requires consumption of four Web services: Read Feedback, Retreive Course, Remove Course, and Send Mail. Figure 18 depicts tracking required tables. Tracking PK PK

Inst_ID Imported_Course_ID Warning _Limit Current _Limit

Figure 18: Table of Imported Courses Tracking

5.3.4 Analyzer Agent Design Analyzer is the software agent that is responsible for analyzing previously stored failed imports by detecting the most cause of failed imports and suggesting new conditions to decrease such problem. Suggested rules are inserted temporarily in the suggested rules database, waiting for the approval/denial of business manager. Analysis of failed imports tend mainly to increase system overall performance by adapting system to meet/exceed instructor’s expectations. Figure 19 depicts Analyzer agent design.

Read Failed Imports (Manage Courses )

Apply Analysis Rules to suggest new rules

Insert New Suggested Rules (Manage Rules)

end

Figure 19: Analyzer Agent Design

6. Conclusion and Future Work

This paper presented a proposed CMS that facilitates integration among different CMSs. An automated course search, import, and deposit process is presented. This automated process 21

requires governance of business rules. Business rules might be limiting system efficiency, so they must be monitored and modified when needed. Manage business rules process was presented to achieve this goal. Utilizing SOA to integrate Web services and software agents in CMSs highlighted the unlimited advantages of Web services and its capabilities to facilitate software agents integration within systems. CMS should be thought of as a collection of stateless Web services. SOA provides a fine granularity and modularity that solves many integration problems, but adds complexity to systems design. SOA is a design pattern that helped enterprises overcome integration obstacles, and gain agile and interoperable advantages within architectures. Pedagogical, social, and managerial advantages of added processes include: • Overcome lack of internal courses. • Get use of external, higher pedagogical features courses. • Shareability among different educational institutions. • Competition increment adds to quality (indirect effect). • Increase Return-On-Investment by selling courses. Future work includes ongoing implementation of proposed system in Faculty of Computers and Information Systems in Mansoura University. A comparative analysis will be performed to illustrate the proposed architecture benefits in accordance with available commercial CMS. New processes to CMS will be addressed in order to facilitate integration with different educational institutions applications, like assessment management solutions. 7. References 1. T. Erl, "Service Oriented Architecture: A Field Guide to Integrating XML and Web services", Prentice Hall, 2004. 2. D. K. Barry, "Web Services and Service-Oriented Architecture: The Savvy Manager's Guide", Morgan Kaufmann Publishers, 2003. 3. F. Neto, and F. Bras, "Advances in Computer-supported Learning", IGI Global, 2006. 4. B. Collis and A. Strijker, "New pedagogies and re-usable learning objects: toward a different role for an LMS", Journal of Educational Technology Systems, 2002. 5. J. R. Cole, "Using Moodle: Teaching with the Popular Open Source Course Management System", O'Reilly, 2005. 6. G. Meiselwitz, G. Trajkovski, "Effects of Computer Competency on Usability and Learning Experience in Online Learning Environments",Seventh ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing (SNPD’06), IEEE, 2006. 7. "SCORM 2004 - 3rd edition", ADL - Advanced Distributed Learning, http://www.adlnet.gov/index.cfm. 8. "Understanding AICC Compliance", AICC - Aviation Industry CBT Committee, http://www.aicc.org/pages/primer.html. 9. T. Guerra, and D. Heffernan, "The Guerra Scale", Learning Circuits, ASTD - American Society for Training & Development, http://www.learningcircuits.org/2004/mar2004/guerra.htm. 10. J. Kuo, and L. Chu, "Intelligent Code Analyzer for Online Course Management System", ,Third ACIS Int Conference on Software Engineering Research, Management and Applications (SERA’05), IEEE, 2005.

22

11. Z. Broder, "On the resemblance and containment", Compression and Complexity of Sequences. pp. 21–29, IEEE, June 1997. 12. O. Siew, and J. Shepherd, "WebCMS: AWeb-based Course Management System", 13th International Workshop on Database and Expert Systems Applications (DEXA’02), IEEE, 2002. 13. R. Mazza, and V. Dimitrova, "Generation of Graphical Representations of Student Tracking Data in Course Management Systems", Ninth International Conference on Information Visualisation (IV’05), IEEE, 2005. 14. R. Komatsu, J. Ma and Q. Jin, "A Multi-Agent System for Online Course Content Management", 18th International Conference on Advanced Information Networking and Application (AINA’04), IEEE, 2004. 15. N. Fujii, and N. Koike, "A New Remote Laboratory for Hardware Experiment with Shared Resources and Service Management", Third International Conference on Information Technology and Applications (ICITA’05), IEEE, 2005. 16. M. Hatala, T. Mey, and A. Shah, "Unlocking Repositories: Federated Security Solution for Attribute and Policy Based Access to Repositories via Web Services", First International Conference on Availability, Reliability and Security (ARES’06), IEEE, 2006. 17. C. Mandal, and V. Sinha, "Web-Based Course Management and Web Services", Electronic Journal of E-Learning, Vol. 2, December 2004. 18. M. Wooldridge, "Introduction to MultiAgent Systems",Wiley, 2002. 19. E. Turban, J. Aronson, and T. Liang, "Decision Support Systems and Intelligent Systems", Prentice Hall, 2004. 20. P. Shodjai, "Web services and the Microsoft Platform", Microsoft Software Developers Network (MSDN), June 2006, http://msdn2.microsoft.com/en-us/library/aa480728.aspx. 21. D. Booth, "Web Services Architecture", W3C, February 11, 2004, http://www.w3.org/TR/ws-arch/. 22. R. Chinnici, "Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language", W3C, March 26, 2007, http://www.w3.org/TR/wsdl20/. 23. M. Gudgin, "SOAP Version 1.2 Part 1: Messaging Framework", W3C, June 24, 2003, http:// www.w3.org/TR/soap12-part1/. 24. J. Cowan, and R. Tobin, "XML Information Set (Second Edition)", W3C, February 4, 2004, http://www.w3.org/TR/xml-infoset/. 25. T. Erl, "Service-Oriented Architecture: Concepts, Technology, and Design",Prentice Hall, 2005. 26. I. Sommerville, "Software Engineering", Addison Wesley, 2001. 27. L. Bass, B. John, and J. Kates, "Achieving Usability Through Software Architecture", Software Engineering Institute, 2001. 28. T. Connolly, and C. Begg, "Database Systems: A Practical Approach to Design, Implementation and Management", Addison-Wesley, 2004. 29. C. J. Date, "An Introduction to Database Systems", Addison Wesley Professional, 2004. 30. F. Curbera, D. Ehnebuske, and D. Rogers, "Using WSDL in a UDDI Registry, Version 1.08", uddi.org, OASIS, 2002, http://www.oasis-open.org/committees/uddi-spec/doc/bp/uddispec-tc-bp-using-wsdl-v108-20021110.htm.

23

A Service Oriented Architecture to integrate Web ...

Abstract: One of the critical limitations of a newly established educational institution is the lack .... XML solves a key technology requirement that appears in many.

300KB Sizes 0 Downloads 171 Views

Recommend Documents

IT2401 Service Oriented Architecture -
These three structured activity elements allow us to add conditional logic to our process definition ...... A SOAP message header containing a digital signature.

Topic Overview: Service-Oriented Architecture
Jun 8, 2007 - Key SOA Success Factors: A Starter Kit For SOA. Randy Heffner. ▻ Planned ... Agile Processes Enable SOA Success. Carey Schwaber and ...