eMarine Information Infrastructure


Welcome to eMII!


 Your main access to IMOS data is through the IMOS Ocean Portal.


Marine data and information are the main products of IMOS, and data management is therefore a central element to the project's success. eMII provides a single integrative framework for data and information management that allows discovery and access of the data by scientists, managers and the public.


The AODN Portal web application is built largely on Grails and ExtJS. Grails is an opensource framework for web development using Groovy. We chose Grails as our core framework because we need to rapidly respond to changing user requirements and feature requests.  Grails is one of the modern frameworks that allow the rapid development of web applications using approaches such as “convention over configuration”. This approach allows Grails (rather than the developer) to manage the configuration of the underlying components. Grails is built on reliable Java technologies such as Spring (for controller logic, run-time configuration, transactions etc) and Hibernate (for object-relational mapping) - all of which are managed by the Grails framework. Groovy (the programming language used by Grails) works with existing Java libraries. For this reason, it fits well with the eMII environment, which includes many Java based applications. Grails uses the popular MVC (Model, View, Controller) design pattern, and encourages the separation of business logic into service classes. The portal's administrator interface is built with straight Grails. The client-side user interface is built using ExtJS, which is an opensource JavaScript library. The map functionality is implemented using OpenLayers, which is an opensource JavaScript library for displaying interactive maps.


The portal application is backed by a PostgreSQL database, and uses the Grails Object Relational Mapping (GORM) implementation to persist the domain objects. The search functionality, however, is delivered by GeoNetwork, which is a Java based metadata catalog for geospatial data. eMII is an active member of the GeoNetwork opensource community. The spatial search aspect of the portal's broader search capability has been further enhanced by a custom (Grails based) spatial search index that sits in-between the portal and the catalog. This was developed to ensure that search results from spatial queries not only overlap the bounding box supplied by the user, but that spatial features actually exist in the requested region.


Authentication is implemented using OpenID, which is an open standard that allows users to consolidate their digital identities. OpenID is provided by many large web sites including Google. There is an IMOS OpenID provider. The solution allows portal users to access the help forum (and potentially other IMOS web apps) using a single IMOS (or other OpenID) identifier. Authorisation (ie. access to features once logged in) within the portal is implemented with Apache Shiro (using a Grails plugin).


The help forum is based on Drupal, which is a popular content management system.


Unit testing and integration testing of the Grails components is implemented using the Grails unit testing framework (which uses the popular Java unit testing framework jUnit). The JavaScript is tested using Jasmin. Continuous integration is configured with Jenkins.


There are separate instances of the portal application for IMOS, the AODN and state regional views. The separate instances have been re-skinned and configured to point to the appropriate GeoNetwork and WMS servers. All instances run on Apache Tomcat under CentOS.


Map layers are delivered via servers supporting the OGC WMS standard. The metadata records that describe the IMOS data conform to the ISO19115 Marine Community Profile. The IMOS data is largely stored as NetCDF files. The netCDF files are served by THREDDS.


The IMOS Ocean Portal is an opensource project and is available on GitHub https://github.com/aodn/aodn-portal


For more information please contact info(at)emii.org.au

To top