Technology behind the Next Generation WebApps for Government

The next generation web applications for Governments are using frameworks like Ruby of app development. Server scalability using the Amazon Cloud and other services Amazon RDS and Amazon SES. Here is latest list published by the UK Government which is working on the Gov.Uk Portal as a one place for all data. Now the scope has also been expanded to include private data sources also and is made available in an API. Licensing is an factor to think about in this emerging area. The more open the better. Here is the technology stack for Gov.Uk portal reproduced from Cabinet Office Blog, UK.

gov.uk

Hosting and Infrastructure
  • DNS hosted by Dyn.com
  • Servers are Amazon EC2 instances running Ubuntu 10.04LTS
  • Email (internal alerts) sending via Amazon SES and Gmail
  • Miscellaneous file storage on Amazon S3
  • Jetty application server
  • Nginx, Apache and mod_passenger
  • Jenkins continuous integration server
  • Caching by Varnish
  • Configuration management using Puppet
Languages, Frameworks and Plugins
  • Most of the application code is written in Ruby, running on a mixture of Rails and Sinatra
    Rails and Sinatra gave us the right balance of productivity and clean code, and were well known to the team we’ve assembled. We’ve used a range of gems along with these, full details of which can be found in the Gemfiles at https://github.com/alphagov
  • The router is written in Scala and uses Scalatra for its internal API
    The router distributes requests to the appropriate backend apps, allowing us to keep individual apps very focussed on a particular problem without exposing that to visitors. We did a bake-off between a ruby implementation and a scala implementation and were convinced that the scala version was better able to handle the high level of concurrency this app will require.
Databases
  • MongoDB
    We started out building everything using MySQL but moved to MongoDB as we realised how much of our content fitted its document-centric approach. Over time we’ve been more and more impressed with it and expect to increase our usage of it in the future.
  • MySQL hosted using Amazon’s RDS platform
    Some of the data we need to store is still essentially relational and we use MySQL to store that. Amazon RDS takes away many of the scaling and resilience concerns we had with that without requiring changes to our application code.
  • MaPit geocoding and information service from mySociety
    MaPit not only does conventional geocoding (what’s the lon/lat for a postcode) but also gives us details of all the local government areas a postcode is in, which lets us point visitors to relevant local services
Frontend
  • HTML & CSS (naturally), with elements from HTML5 & CSS3 where appropriate
  • Javascript uses jQuery, jQuery UI, Chosen, and a variety of other plugins
  • Gill Sans provided by fonts.com
  • Google web font loader
Misc

 

Source:  http://digital.cabinetoffice.gov.uk/colophon-beta/

The following two tabs change content below.
Bureaucrat exploring the intersection of Technology,Society and Soul. Government 2.0 Advocate, Open Gov believer, Open Source enthusiast, Father, Husband. *** A Knowledge sharing initivative. Opinions are personal ********

About Nagarajan M

Bureaucrat exploring the intersection of Technology,Society and Soul. Government 2.0 Advocate, Open Gov believer, Open Source enthusiast, Father, Husband. *** A Knowledge sharing initivative. Opinions are personal ********

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill this....please * Time limit is exhausted. Please reload the CAPTCHA.