The AMSeT deliverables have been more about creating the infrastructure to be able to use Alfresco in Web service learning designs. However, here we discuss the benefits of this approach and describe developments in implementation of workflow learning design.


There are four principal technical benefits that can accrue from the types of workflow that AMSeT addresses.


1. The use of repository metadata ('aspects') for file manipulation.

2. The use of external Web services in the workflow.

3. Server side service assembly mashups.

4. The incorporation of additional functionality using ESB components.

1. The use of repository metadata ('aspects') for file manipulation #

It is possible to create custom data models for Alfresco. Folders and files can be associated with what are termed aspects. Files can then be harvested, copied and moved according to aspect metadata as well as file names.


This might be used in a learning design by a tutor for aggregating different types of student resource generated as part of the a particular project. If a student attaches the appropriate aspect value to a resource that labels a particular project, then a workflow operation can retrieve copies of all a student's project files even though they are in different resource locations in the content management system. The aggregated files can then be placed in a tutor's folder for consideration.

2. The use of external Web services in the workflow #

Any WSDL-based Web service can be incorporated into a BPEL workflow. This provides the ability to import data into a workflow which might take the form, for example, of experimental data from services in bioinformatics, astronomy or geographical information systems.


A Web service might provide tutors and students with transcripts of chat sessions or videocasts of live chat sessions in an immersive 3D environment.


Note that an ESB can provide an HTTP Binding Component (BC) that enables WSDLs to contain operations that have HTTP GET and POST bindings. In other words, ESB workflows can encompass RESTian services.

3. Server side service assembly mashups#

Mashups on the client side (in the browser) are proving to be very popular in creating Web 2.0 functionality. Mashups on the server side in the application server are also possible and offer more scope for integration into a Web service process. Service Component Architecture (SCA), a set of OASIS specifications, is not particularly well-known but offers a framework for server side mashups that can be used with JBI.]


BPEL workflows in the GlassFishESB are deployed as composite application service assemblies projects that can be combined with other components using SCA to form mashups. The output of a BPEL workflow might be a set of documents that could be deposited in a repository using a SWORD component, for example. Or a set of assessment results might be combined with other results and entered in a grade book.


4. The incorporation of additional functionality using ESB components #

The HTTP GET and POST binding has been mentioned above. Other operation bindings in the WSDL are available; file operations, email, Java DataBase Connectivity (JDBC), File Transfer Protocol (FTP), Lightweight Directory Access Protocol (LDAP), Java Messaging Service (JMS), Really Simple Syndication (RSS) and Universal Description Discovery and Integration (UDDI), for example. These technologies, therefore, can be used as input and output ramps for the ESB. For example, an output message from a Web service operation in a BPEL workflow might be saved directly to a file system.


In the GlassFishESB, BPEL workflows are carried out by the Java for Business Integration (JBI) BPEL Service Engine (SE). An XSLT SE is also available.


There is no concept of a human worker in the BPEL specification, and this has prompted the development of a Worklist Manager (WLM) SE which provides for tasklist creation and human participation in a workflow process.



A Prototype Learning Design#

What is the Protein Folding Problem? is a first attempt at an extensive Web service learning design. It has been described in a recent publication which is available from the Connexions web site: A Service-Oriented Virtual Learning Environment.


As more experience is garnered in designing and implementing learning design using Web service workflows some interesting observations and questions are arising. These will briefly be discussed below and illustrated using our prototype.


The first point to make is that the aim is not to control and manage the student but to control and manage the teaching process. Using an analogy from the world of athletics, learning designs are more akin to an orienteering process than to running round a track. With track-style learning design, all students progress along precisely the same path. With orienteering-style learning design, students are allowed to find their own way to the finishing point (intended learning outcomes satisfied) with the option of reporting to one or more checkpoints on the way to make sure that no-one is getting horribly lost.


These checkpoints might consist of some sort of consideration by a tutor of an interim deliverable, a progress report, for example.


These checkpoint activities can be external to the BPEL process which can be suspended then re-started by a message to the process from the tutor.


The logical connection between the BPEL process and the checkpoint activities is maintained using a database that underlies the learning design. Each run of a learning design is represented by a database object which can hold interim reports (or references to these in an external repository such as Alfresco).


An example is provided below from the What is the Protein Folding Problem? (WPFP) learning design.


At the first checkpoint, a student is asked to submit first considerations on the problem. This can be done either using a Web application or through creating a file in Alfresco. The tutor then uses the markr tool to scrutinize the contribution and provide feedback. Here is a markr tool demo(info) (7 MB, 5 min).


Enhanced-BPEL Learning Design#

Below is a list of points emerging in what might be called enhanced-BPEL learning design.


1. The BPEL process is enriched by the use of an ESB through the ability to introduce JBI service engines and binding components.
2. SCA + BPEL offers opportunities for enhancing learning design through the creation of enterprise mashups (composite applications).
3. BPEL forms a basic thread of execution for the learning design around which 'checkpoint' activities can be implemented.
4. One of the problems with BPEL is that it can be difficult to modify the workflow once the process is underway, adding another student to a cohort, for example. Designing the workflow around an underpinning database can help overcome this problem.
5. Enhanced-BPEL learning design needs a management, monitoring and control system. The natural tool for this is the extended service registry, a recognised component in SOA. An example of this type of product in the commercial sector is provided by AmberPoint. The natural technologies for this type of application are Java for Management Extensions (JMX) and UDDI.
6. The present Open Source (OS) visual design tools for BPEL are excellent (see the Intalio Designer and the NetBeans BPEL Designer used in this project). Although these are very much tools for those with some experience in Web services and BPEL, it would be within the scope of a modest development project to use these tools as a starting point to produce a drag-and-drop design tool that uses techniques such as convention before configuration and intelligent defaults to produce a tool for use by the non-expert that could produce learning designs from a basic set of tools and services.


Future work will be built around the points listed above. Presently, the results of the AMSeT project are being incorporated into the prototype WPFP learning design.

Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
png
FirstFrame-markr3.png 64.0 kB 1 13-Dec-2009 17:09 clayton
swf
expressInstall.swf 0.8 kB 1 13-Dec-2009 17:09 clayton
html
index-markr3.html 5.3 kB 1 13-Dec-2009 17:06 clayton
mp4
markr3.mp4 6,724.5 kB 1 13-Dec-2009 17:08 clayton
swf
player.swf 446.5 kB 1 13-Dec-2009 17:09 clayton
js
swfobject.js 9.8 kB 1 13-Dec-2009 17:09 clayton
« This page (revision-) was last changed on 12-Aug-2010 16:36 by clayton