Home Page -> PerX -> Embedding PerX Toolkit in BlackBoard VLE

The PerX BB (Building Block) will allow users to search a PerX service directly from Blackboard. Our aim is that users can apply search results to select specific learning resources and embed links to them in their Blackboard VLE. We hope that the PerX BB will be a real integration between Blackboard and PerX by taking advantage of the new SRU search interface being developed within the PerX project.

PerX and Blackboard VLE Integration

The core software component of this pilot is a SOA-compliant middleware, which bridges the PerX toolkit functionality with the VLE system interfaces. Basically this middleware will be a portlet running on the VLE local servlet. Intentionally, the middleware would know nothing about the hosting VLE environment and thus can potentially be reusable within any VLE framework. Its only function will be to provide a "live bridge" between the toolkit functionality and the VLE system database. However, the middleware will need to be recognised by the VLE as one of its components. In this case, that means encapsulating the middleware in a Blackboard "Building Block" of the Blackboard Learning System. This is accomplished by issuing a manifest XML configuration file to identify the middleware as a Blackboard "Building Block," and by including Blackboard proprietary Java class Tag libraries to abstract user interface components.

Below there is a sketch of the most likely architecture to be used for the integration.

PerX and Blackboard VLE Integration Diagram

First Try: (Dec. 06)

We now can install a BB that can accept queries and return messages telling you "your query is blah blah.." But the problem is that the VLE security policy does not allow me to do an SRU request to the PerX toolkit. We have tried a couple of set combinations for socket permissions in the bb-manifest, but the error is still there:

java.security.AccessControlException: access denied (java.net.SocketPermission perxServerName:80 connect,resolve)

I think the solution may be that the VLE people grant to the Perx BB the ability to connect to the server/port where is running our SRU service, so that it can connect and send/receive data via HTTP. I am thinking they add in the VLE Tomcat security policies something like: permission java.net.SocketPermission "perxServerName:80-","connect,accept,listen,resolve";

Experience say that when you get java.security.AccessControlException: access denied (<type> <name> <actions>), you may plug it into the permission element in the bb-menifest.xml file, as a rule of thumb.

Second Try: (Jan. 07)

Yep, the above rule has proven the be true again: the problem was in the bb-manifest.xml file. The error has been fixed and we now can send SRU request to the PerX toolkit and, receive a "raw" string as a reply. There is nothing extraordinary to show yet, but that means that we can now write a proper middleware able to handle messages travelling between the VLE and the PerX toolkit.

Third Try: (March 07)   Success !

Our last try was with a DL-VLE integration architecture using a three-tier design model. Ahem, ahem :-)
In fact, we have just made use of our new SRU server to receive queries and send back results to a small java server page (jsp) installed in the VLE server. Full information on the work done has been reported in this Embedding and Reuse Report. We have used the OPAC and a sample of subscribed databases from the University library to prototype the feasibility and potential of using PerX embedded in a Blackboard VLE. Currently academic staff and students of the University are testing the prototype from the VLE and so far more than 20 online questionnaires have been completed. The below sketch can give an idea of the three-tier design model used for the embedding.

DL-VLE integration architecture using a three-tier design model

Below are two screenshots showing how the results are displayed from the VLE using PerX:

DL-VLE integration architecture screenshot


DL-VLE integration architecture screenshot

Last Updated 10-May-07