210 likes | 227 Views
Explore the Migrating Desktop (MD) framework presented at the BalticGrid All-Hands Meeting. Learn about its general concepts, user-friendly Java application, and essential functionality for advanced job management on the grid. Discover the MD's unique structure with plug-ins and intuitive features for efficient job submission, monitoring, and output processing. Delve into the seamless integration of plug-ins through OSGi technology, enabling easy access to resources and enhancing user interactions. Join the journey through the development, deployment, and timeline of this adaptable desktop environment.
E N D
Migrating Desktop The Graphical Framework for BalticGrid Applications Bartek Palak bartek@man.poznan.pl 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Questions Thank you for your attention! Any questions? The First BalticGrid All-Hands Meeting, Vilnius, 26-28th 2006