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