Top Banner
Matthew Grove m [email protected]. uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy to use way of consuming web applications within a portal framework. JISC Conference, April 2008
30

Matthew Grove [email protected]@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

Matthew Grove [email protected] Environments for Research in Archaeology Project, University of Reading.

Recycle Bridge: an easy to use way of

consuming web applications within a portal framework.

JISC Conference, April 2008

Page 2: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

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!

Page 3: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

VERA components simplified

A Virtual Research Environment for Archaeology

Digital tools for archaeological excavations

Page 4: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

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.

Page 5: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

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?

Page 6: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

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.

Page 7: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

The VERA website

Page 8: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

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.

Page 9: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

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).

Page 10: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

Vanilla IADB

Page 11: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

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.

Page 12: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

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.

Page 13: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

Wordpress in the Recycle Bridge

Page 14: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

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.

Page 15: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

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.

Page 16: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

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.

Page 17: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

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.

Page 18: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

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.

Page 19: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

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!

Page 20: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

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.

Page 21: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

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.

Page 22: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

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).

Page 23: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

Offline Demo

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

Page 24: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.
Page 25: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.
Page 26: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.
Page 27: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.
Page 28: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.
Page 29: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.
Page 30: Matthew Grove m.grove@rdg.ac.ukm.grove@rdg.ac.uk Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

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).