1 / 30

Matthew Grove m.grove@rdg.ac.uk

Recycle Bridge: an easy to use way of consuming web applications within a portal framework. Matthew Grove m.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. JISC Conference, April 2008. Background – the VERA project.

clancy
Download Presentation

Matthew Grove m.grove@rdg.ac.uk

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Recycle Bridge: an easy to use way of consuming web applications within a portal framework. Matthew Grove m.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. JISC Conference, April 2008

  2. Background – the VERA project • Virtual Research Environment for Archaeology. • A JISC funded collaboration. • Building on VRE 1 project. • Developing computer-based tools for archaeologists. • VERA took part in the 2007 Silchester excavation. • It rained a lot!

  3. VERA components simplified A Virtual Research Environment for Archaeology Digital tools for archaeological excavations

  4. Outline • This talk describes our experiences integrating web applications into portal frameworks. The talk is split into two parts: • Part 1 explains why you would want to do this integration and what the issues are. • Part 2 introduces the Recycle Bridge, which is our solution to this problem. • The message is: we don’t want re-write or fork code and you don’t have to. • The VRE II VERA project is used as an example throughout the talk.

  5. What do we mean by integration? • There are a huge number of well maintained web applications which have had a lot of time and money invested in them. • Many of these applications could be used to fulfill the needs of research projects. • By integration we mean assembling a system from several existing web applications and making the whole system look / behave the same from a users perspective. • We don't want to re-write everything or fork established projects if possible. If we fork things, who is going to maintain them? Do we have the money to maintain them?

  6. Two approaches to integration • You could take the existing application and make a theme (or skin) so it looks like the rest of your portal. • You could embed an existing application inside a portal without re-writing the application (using bridges and scrapers). • In the VERA project we have tried both skinning a portal to integrate it with an existing system and embedding web applications inside a portal.

  7. The VERA website

  8. Embedding apps inside portals • The tricky bit is how to get a web application to act like a normal portlet from a user perspective without rewriting the whole thing! • There are existing tools such as the Portlet Bridge (now un-maintained) which let you embed some web applications inside portlets by using web scraping techniques.

  9. When web scraping fails... • VERA is committed to getting an application called the IADB inside a standards compliant container. • The IADB is 15 thousand lines of PHP and JavaScript, we are not going to re-write it. • We have worked with the web scraping tools during VRE I, and we know that the existing web scraping tools can't cope with a site like the IADB. Mainly because of the nested iframes and complex JavaScript that the IADB uses. • In this kind of scenario other people have tried using iframes but you can end up with an application which does not integrate well into the portal from a users perspective. The main issue is the lack of single sign-on (you log into the portal then have to log into the embedded application again).

  10. Vanilla IADB

  11. Single sign-on for embedded apps • The elegant part of our solution is to use the client (web browser) to link the authentication information between the portal and the embedded application being consumed. • We wrote a portlet called the Recycle Bridge which sets a cookie containing the username of the user logged into the portal.

  12. Recycle Bridge cont. • The Recycle Bridge uses an iframe to display the embedded application inside the portal. • You have to write an authentication plugin or patch for the application that is embedded to use the cookie (and suppress the applications log in screen). • From the users perspective the application looks like part of the portal. • There are settings for the Recycle Bridge to alter the appearance of the iframe to try and make the integration seamless from the users perspective.

  13. Wordpress in the Recycle Bridge

  14. Security for the cookie • Essentially the web application needs to have a way to trust the cookie contains authentic user information. • The Recycle Bridge shares a secret security token (salt) with any web application you want to embed. When you set things up you must provide a unique salt in the configuration files. • The Recycle Bridge includes an MD5 hash with the cookie based on the salt and username to provide a way for the authentication plugin to check that the cookie has not been tampered with.

  15. Writing the authentication plugins • This plugin approach is language agnostic - we can support any language that can read a cookie. • We have split the process into two steps: • We have a generic library which provides the functions to read the cookie and check it is valid. • You will need a plugin or patch for the specific application you want to embed.

  16. Plugins cont. • We have written the authentication library for PHP and had external contributors provide Python and Ruby versions. • We have plugins for: • MediaWiki (runs Wikipedia). • Wordpress which is a very popular blogging app. • We also wrote a patch for IADB, we have check in access to the IADB source repo.

  17. We want your code! • The Recycle Bridge portlet, plugins and libraries are all released under the GPL. • We want more plugins and libraries. • The Recycle Bridge SVN repo is set up to make it very easy for us to accept code from you. • Even if you write a plugin for some obscure application, if you split the cookie functions out into a separate file (library) you will be helping anyone who wants to embed an application written in that language. • We are happy to help you write your plugin, especially if it uses a language we don't yet have the library for.

  18. Contributions so far • After the last talk on the Recycle Bridge we received some external contributions: • Python library from Hugo Mills (OMII UK). • Ruby library from David Newman (MyExperiment). • The SVN repository is hungry for more.

  19. We also want your portals! • The Recycle Bridge is a JSR-168 portlet. • As uou may know, unfortunately portal containers do not have standard XML files for portlet deployment. • We want help testing Recycle Bridge in your container, we don't have the manpower to install and test every container. • If you tweak anything to get the Recycle Bridge to work in a portal, we want your changes!

  20. Summary • In this talk we have tried to convince you not to re-invent the wheel when it is not necessary when developing web portals. • We introduced the Recycle Bridge which is one tool that can be used to integrate existing web applications in to your portal.

  21. Future work • We hope the Recycle Bridge will be useful for other people who are heavily invested in applications they don't want to / can't afford to re-write as portlets or who want to use web applications which are maintained by the community (like MediaWiki). • We would like your help writing adding support for more applications to the Recycle Bridge.

  22. Links • http://vera.rdg.ac.uk/software/ - Recycle Bridge homepage (with code). • http://vera.rdg.ac.uk/ - Virtual Environments for Research in Archaeology (VERA) project. • http://www.portletbridge.org/ - Portlet Bridge (best of the web scrapers).

  23. Offline Demo • These screen shots are from the live, working site.

  24. Links • http://vera.rdg.ac.uk/software/ - Recycle Bridge homepage (with code). • http://vera.rdg.ac.uk/ - Virtual Environments for Research in Archaeology (VERA) project. • http://acet.rdg.ac.uk/~mjeg/blog.php - Blog aggregating all of my research activities. • http://www.portletbridge.org/ - Portlet Bridge (best of the web scrapers).

More Related