r8 - 09 Mar 2006 - 14:05:58 - DanieleTuriYou are here: myGrid wiki >  Mygrid Web  > WorkInProgress > SecurityArchitecture > SecurityArchitectureNotes > DeploymentArchitecture

Deployment Architecture

This section illustrates and discusses the current (myGrid 0.6) deployment architecture, in terms of the principal software components.

The big picture


myGrid-0.6-components.jpeg

Understanding the diagram

The diagram uses (abuses?) conventions, where I"ve used the following stereotypes to classify the components (toothed boxes):
<>
A relational databases, managed by MySQL?.

<>
A WSDL-based web service, deployed as a WAR file in Tomcat

<>
A Java application started from the command line or by double-clicking some file in a file system explorer

<>
A Java API, implemented as a JAR file and loaded in the context of a webapp or Executable
One component can make use of another: this is shown by a dashed arrow. Such a dependency can be direct via some proprietary API (as for Hibernate), or more usually via some interface. Interfaces are denoted by lollipos: small circles linked to a component that supports the interface. Interfaces to webapps are WSDL port type; the "interface" to a database is the Java JDBC API; and to libraries as genuine Java interfaces (package names omitted for brevity). Thus the MIR-Taverna-Plug-in is a Java JAR file containing a class that implements the Taverna-defined WorkflowEventListener interface, and is loaded inside the JVM running Taverna itself.

An overview of the sytem

The primary user interaction with the myGrid tolkit is via the Taverna based workbench. The MIRBrowser plugin allows the user to explore and update the MIR; The MIR-Taverna-Plug-in and KAVE-Taverna-Plug-in capture "audit trail" and "knowledge" provenance from running workflows and store them in the MIR and KAVE respectively. The MIR stores workflows, raw data and workflow results, structured according to the myGrid InformationModel. KAVE is essentially an annotation service, holding (domain-specific) knowledge about MIR entities in an RDF repository. The three services lsid-authority, lsid-dataservice and lsid-metadata between them support four of the port types.
  • The lsid-authority allows users to locate the lsid-dataservice and lsid-metadata service, and also assigns LSIDs as the unique keys for entities stored in the MIR

  • The lsid-dataservice service gives an alternative means of accessing the *MIR*"s content

  • The lsid-metadata service supplies the known metatadata for some entity, given its LSID: it aggregates this metadata from KAVE and the MIR.

Behind the lsid-authority, KAVE and MIR services are three relational databases.

Noteworthy points

In principle, the relational databases should be "implementation details" behind pure service interfaces. However, the LSID data and metadata services both go behind the MIR service interface either directly to the relational database or via the Hibernate object-relational layer. This points to the need for some form of more flexible MIR query interface, either as an extension to the existing MIR service port type or as a separate port type. Main:NedimAlpdemir has investigated various alternatives, and proposed using the OGSA-DAI service in its WS-I realization. See http://www.mygrid.org.uk/wiki/pub/Mygrid/MyGridInformationRepository/MIR-GenericQuery-Opts.pdf. Note also that LSIDs for MIR-maintained entities are created outside the service itself (in the separate lsid-authority service). For example, it is possible to use the myGrid project"s deployed lsid-authority instance and have all LSIDs allocated by under the www.mygrid.org.uk authority. Thus the whole LSID is the primary key of each entity. Is it better always to require that each MIR instance uses a different authority, and auto-generates simple integer primary keys that appear, stringified, as the object identification components in its LSID? If so, it suggests that the MIR service should itself implement the LSID assigning service and data service port types, rather than have implement these in two distinct services. Should KAVE similarly implement the LSID metadata port type? If this approach is adopted, only the LSID authority service would be separate.

-- NickSharman - 14 Dec 2004

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r8 < r7 < r6 < r5 < r4 | More topic actions
 
Powered by myGrid wiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding myGrid wiki? Send feedback