Application_integration - Migrating Desktop

Download Report

Transcript Application_integration - Migrating Desktop

Migrating Desktop
The Graphical Framework
for
BalticGrid Applications
Bartek Palak
[email protected]
Poznan Supercomputing and Networking Center
Outline
■ General concepts of the Migrating Desktop
■ Application main requirements
■ The Migrating Desktop functionality overview
■ Plug-ins: idea and architecture
■ Plug-ins „step-by-step” – guidelines for developers
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
2
Migrating Desktop
■ The product timeline







2002:
Start of development within EU CrossGrid Project and
national Progress project (Proof of concept)
2005:
Chosen as key component of the CrossGrid
Nov 2005: Start of deployment in EU BalticGrid project
Feb 2006: Selected for deployment in local Gridge project
Apr 2006: Deployment in IrelandGrid
May 2006: Continuation of development in EU int.eu.grid project
…plans for deployment in EGEE2, future developments and
deployments
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
3
Migrating Desktop
■ General concept





Intuitive user’s working environment
Product independent of a hardware platform and the operating
system
Advanced user-friendly Java application based on web services
A flexible personalised environment available independently of
the user location,
Easily extendable framework
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
4
Applications main requirements
About 30 BalticGrid applications were analysed
■ Preparation of input


Intuitive file management
Availability of tools for processing input files
■ Job submission





Easy definition of job parameters
Simple specification of job files
Submission of parallel jobs (MPICH, MPICH-G2, etc)
Running batch and interactive job
Running multiply (interdependent) jobs
■ Job monitoring

Easy tracking of submitted jobs
■ Processing the output



Possibility of presenting partial results
Visualising output files
Processing results
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
5
MD functionality overview
■
Processing input files




GridCommander – intuitive file manager
Easy access to grid resources
Transparent support for various protocols
Built-in file viewers and editors
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
6
MD functionality overview
■ Job submission
 Selecting job type
 Specifying job definition
 Choosing requirements
 Deciding on ranking policy
 Picking input and/or output files
 Defining specific job parameters (plug-in!)
 Pre-processing job parameters (plug-in!)
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
7
MD functionality overview
■ Job monitoring
 Tracking status of the job
 Checking job parameters
 Tracing job logs
 Examining detailed job status
 Possibility of interaction with user
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
8
MD functionality overview
■ Processing job output
 Presenting partial results (plug-in!)
 Visualising job output files (plug-in!)
 Processing results (plug-in!)
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
9
MD plug-ins
■ Motivations
 Easy extension of the framework
 Standardization of integration with „third party”
modules
 Making Migrating Desktop not so „heavy”
 Integration points between Migrating Desktop and
applications
 To give to integrated modules easy access to
resources
■ Migrating Desktop plug-ins
 Set of OSGi bundles with well-defined interface,
described by XML file and loaded „on demand” from
a network
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
10
OSGi
■ OSGi
 Open Services Gateway Initiative  OSGi™ Alliance
 More than 35 companies from various areas (Sun,
IBM, Ericsson, Nokia, Philips, BMW, etc.)
 Technology designed to provide a general-purpose,
secure, and managed Java framework supporting the
deployment of extensible and downloadable modules
known as bundles that usual provide services - a
collection of interfaces and their implementations.
 Standard with several implementations (Equinox,
Knoplerfish, etc)
 Used as engine for open source Eclipse IDE
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
11
OSGi
■ OSGi bundles

A bundle is a JAR file that contains:
►
►


The resources necessary to provide some functionality.
A manifest file describing the contents of the JAR file and
providing information about the bundle.
Bundles can be remotely installed, started, stopped, updated or
uninstalled on the fly
Bundles can share Java packages among an exporter bundle
and an importer bundle in a well-defined way.
■ OSGi services




OSGi service is a java object instance, registered into an OSGi
framework with a set of properties.
Any java object can be registered as a service,
Service implements a well-known interface
Bundles can register services, search for them, or receive
notifications when their registration state changes.
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
12
Plug-in architecture
■ Plug-in

independent module providing well-defined API that can be
easy implemented and integrated with Migrating Desktop
■ Container

graphical component in which plug-in (implementing java panel)
is nested.
■ Toolkit

interface defining set of auxiliary methods that can be used by
plug-in for gaining access to local or remote resources, etc.
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
13
Plug-in „step-by-step”
■ Do I need a plug-in?
■ What kind of plug-in shall I choose?
 Job input plug-in - defining job specific parameters
 Job process plug-in - pre-processing job input
parameters
 Job viewer plug-in - visualisation of job results
 File viewer plug-in - viewing files of different formats
 Tool plug-in - integration of any type of java applet or
application within Migrating Desktop framework
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
14
Plug-in „step-by-step”
■
Do I need a java plug-in to specify job input
parameters?

■
Ready-to-use plug-in that create input panel based
on XML schema
Implementing a plug-in






…Plugin
– interface that contains plug-in API
…PluginFactory – serves an implementation of plug-in
…PluginActivator – bundle activator that starts a OSGi bundle
and register a plug-in as a service
…PluginToolkit
– toolkit providing set of auxiliary methods
…PluginContainer – set of methods which can be used for
interaction between plug-in and
container
…PluginConstants – auxiliary class
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
15
Plug-in „step-by-step”
■ Implementing a plug-in
Sequence of container calls of plug-in methods:

setToolContainer - sets container;

setToolkit
- passes reference to the toolkit

init
- plug-in initialization;

setProperties
- sets parameters (specific to plug-in type);

getPluginPanel - gets plug-in main panel for displaying;

start
- starts plug-in execution;

…
- plug-in specific methods;

stop
- plug-in stops its execution
(sequence of calls start – stop, can be called in a loop);

destroy
- “cleaning” actions;
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
16
Plug-in „step-by-step”
■
Creating an OSGi bundle


Preparing manifest
Creating java archive (JAR) file
■
Signing a bundle
■ Publishing a plug-in


Creating XML description
Registration
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
17
MD Tutorial
■ Migrating Desktop tutorial:


28 Apr, Friday (tomorrow!), 10:45–11:30
Prepare your BalticGrid certificate, please!
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
18
IST 2006
■ IST 2006 Event:



Helsinki, 21-23th November 2006
Two applications: GAMESS, ShgSolve;
Integration with MD is planned
Untill 1 September 2006 detailed plan of integration is needed.
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
19
Additional information
■ BalticGrid

http://www.balticgrid.org/
■ PSNC

http://www.man.poznan.pl/
■ Product homepage

http://desktop.psnc.pl/
■ CVS Repository

http://ras.man.poznan.pl/cgi-bin/viewcvs.cgi/
■ The OSGi Alliance

http://www.osgi.org/
■ The World Wide Web Consortium

http://www.w3c.org/
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
20
Questions
Thank you for your attention!
Any questions?
The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006
21