Matthew Grove Virtual Environments for Research in Archaeology Project, University of Reading. Recycle Bridge: an easy.

Slides:



Advertisements
Similar presentations
May 21, A Developers Viewpoint Prof Mark Baker School of Systems Engineering University of Reading Tel:
Advertisements

Chapter 17: WEB COMPONENTS
Using Evernote and Google Docs in your web or mobile application (and potentially Dropbox and Skydrive) By Peter Messenger Senior Developer – Triple Point.
Easy Website Creation Using WordPress Welcome and Thank You to our Sponsors.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Joomla!!! Joomla! is a free and open source content management system. It compromises a model-view-controller (MVP). (WIKI) Joomla is written in PHP and.
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
The easy way to a nice looking website design By a total non-designer (Me!)
Tutorial -01. Objective In this session we will discuss about : 1.What is MVC? 2.Why MVC? 3.Advantages of MVC over ASP.NET 4.ASP.NET development models.
WEB SECURITY WORKSHOP TEXSAW 2013 Presented by Joshua Hammond Prepared by Scott Hand.
Joomla… Everywhere! Source:
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
EDUCATION YOU CAN TRUST ® Windows SharePoint Services Course Review Review provided by: DNS Computing Services, LLC
Background The Encyclopedio of Life (EOL) is an ROR open source project to create a free, online reference source and database for every one of the 1.8.
Ruby & rails by Nicholas Belotti. What is ruby Ruby is an object orientated scripting language. In Ruby...everything is an object! Ruby was released in.
NODEJS, THE JOOMLA FRAMEWORK, AND THE FUTURE IAN MACLENNAN.
Web-based Virtual Research Environments (VRE): Supporting Collaboration in e-Science Xiaobo Yang, Rob Allan CCLRC e-Science Centre Daresbury Laboratory,
Integrating with UCSF’s Shibboleth system
SBS Essentials Integration. ExchangeDefender has partnered up with Microsoft SBS 2011 Essentials to give microbusiness clients a way to centrally mange.
Embedding CenterView and Hosting External Content.
With the Help of the Microsoft Azure Platform, Awingu’s Web-Based Workspace Aggregator Enables Concrete and Easy Mobility Scenarios MICROSOFT AZURE ISV.
Configuration Management (CM)
A DΙgital Library Infrastructure on Grid EΝabled Technology ETICS Usage in DILIGENT Pedro Andrade
Week seven CIT 354 Internet II. 2 Objectives Database_Driven User Authentication Using Cookies Session Basics Summary Homework and Project 2.
CSE Waitlist Made By: Peng Hu, Zhicheng Lin, Mark Mosby, Robert Pittman, and Derek Robati.
Tutorial 7 Working with Multimedia. New Perspectives on HTML, XHTML, and XML, Comprehensive, 3rd Edition 2 Objectives Explore various multimedia applications.
10 Reasons to Choose the Yii Framework. The development of Yii framework began on January 1, 2008.Yii framework It is an open source application that.
Slide 1.NET Development for Project 2003 Samples from the Project 2003 SDK Jim Corbin Programmer Writer Office Developer Documentation Microsoft Corporation.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
A portal interface to my Grid workflow technology Stefan Rennick Egglestone University of Nottingham
Bells, Whistles, and Alarms: HCI Lessons Using AJAX for a Page-turning Web Application Juliet L. Hardesty, Indiana University.
Sponsors Gold Silver Bronze Custom REST services and jQuery AJAX Building your own custom REST services and consuming them with jQuery AJAX.
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
Rob Allan Daresbury Laboratory A Web Portal for the National Grid Service Xiaobo Yang, Dharmesh Chohan, Xiao Dong Wang and Rob Allan CCLRC e-Science Centre,
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Chapter 4: Working with ASP.NET Server Controls OUTLINE  What ASP.NET Server Controls are  How the ASP.NET run time processes the server controls on.
Claims-Based Identity Solution Architect Briefing zoli.herczeg.ro Taken from David Chappel’s work at TechEd Berlin 2009.
MEMBERSHIP AND IDENTITY Active server pages (ASP.NET) 1 Chapter-4.
Evolving Interfaces to Impacting Technology: The Mobile TeraGrid User Portal Rion Dooley, Stephen Mock, Maytal Dahan, Praveen Nuthulapati, Patrick Hurley.
M Gallas CERN EP-SFT LCG-SPI: SW-Testing1 LCG-SPI: SW-Testing QMTest test framework LCG AppArea meeting (16/07/03) LCG/SPI LCG Software.
Cole David Ronnie Julio. Introduction Globus is A community of users and developers who collaborate on the use and development of open source software,
Discover the Newest Solution from Expertime: Magento + PimCore Running on Microsoft Azure MICROSOFT AZURE ISV PROFILE: EXPERTIME Expertime works with clients.
Matthew Grove Portal Developers Workshop, February 2008 Portal integration and code reuse in portlets.
Optimal Pipeline Using Perforce, Jenkins & Puppet Nitin Pathak Works on
PHP, Databases, and Cookies Dave Pease IDS496 12/2/2003
Esri UC 2014 | Demo Theater | Using ArcGIS Online App Logins in Node.js James Tedrick.
TOPIC 7.0 LINUX SERVICES AND CONFIGURATION. ROOT USER Root user is called “super user” because it has power far beyond those of mortal user. As root,
November Virtual Research Environment for Archaeology (VERA) Prof Mark Baker School of Systems Engineering University of Reading.
Rendering Syndicated Library Content in an Institutional Portal: Integrating MyLibrary into uPortal John Fereira: Cornell University Eric Lease Morgan:
Virtual Environments for Research in Archaeology  JISC VRE II funded project  Aims to produce a fully-fledged virtual research environment for the archaeological.
INFSO-RI JRA2 Test Management Tools Eva Takacs (4D SOFT) ETICS 2 Final Review Brussels - 11 May 2010.
Active X and Signed Applets Chad Bollard. Overview ActiveX  Security Features  Hidden Problems Signed Applets  Security Features  Security Problems.
 David Hietpas  Library Web Developer  University of Wisconsin - Polk Library.
Basics Components of Web Design & Development Basics, Components, Design and Development.
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
Expertsfromindia for Joomla Development. Introduction Joomla is an open source and free content management system (CMS) for publishing content on the.
Discover How You Can Increase Collaboration with External Partners While Reducing Your Cost in Managing an Extranet from the Azure Cloud MICROSOFT AZURE.
Vera.rdg.ac.uk The VERA Project Virtual Research Environment for Archaeology. A JISC funded collaboration. Building on VRE 1 project. Developing computer-based.
Portals: Background, Development & Conversion
Extend user interfaces with new portlets
A portal interface to myGrid workflow technology
Web Development Using ASP .NET
RSP Embedding Guide and Self Assessment Tool
Configuration management suite
Western Mass Microsoft Technology Users Group
Yale Digital Conference 2019
Web Application Development Using PHP
Presentation transcript:

Matthew Grove 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

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!

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

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.

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?

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.

The VERA website

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.

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

Vanilla IADB

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.

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.

Wordpress in the Recycle Bridge

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.

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.

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.

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.

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.

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!

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.

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.

Links - Recycle Bridge homepage (with code). - Virtual Environments for Research in Archaeology (VERA) project. - Portlet Bridge (best of the web scrapers).

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

Links - Recycle Bridge homepage (with code). - Virtual Environments for Research in Archaeology (VERA) project. - Blog aggregating all of my research activities. - Portlet Bridge (best of the web scrapers).