Member of the ExperTeam Group Ralf Ratering Pallas GmbH Hermülheimer Straße 10 50321 Brühl, Germany

Slides:



Advertisements
Similar presentations
UNICORE – The Seamless GRID Solution Hans–Christian Hoppe A Member of the ExperTeam Group Pallas GmbH Hermülheimer Straße 10 D–50321 Brühl, Germany
Advertisements

LEAD Portal: a TeraGrid Gateway and Application Service Architecture Marcus Christie and Suresh Marru Indiana University LEAD Project (
Professional Toolkit V2.0 C:\Presentations - SmartCafe_Prof_V2.0 - bsc page 1 Professional Toolkit 2.0.
Security Daniel Mallmann MWSG meeting Amsterdam December 2005.
Utilizing the GDB debugger to analyze programs Background and application.
Tutorial 12: Enhancing Excel with Visual Basic for Applications
1 OBJECTIVES To generate a web-based system enables to assemble model configurations. to submit these configurations on different.
Member of the ExperTeam Group Ralf Ratering Pallas GmbH Hermülheimer Straße Brühl, Germany
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
UNICORE Programming Client Plug-ins Grid Summer School, July28, 2004 Ralf Ratering Intel Parallel and Distributed Solutions Division (PDSD)
The Microsoft View: Module 1: Getting Started. Copyright Course 2559B, Introduction to Visual Basic®.NET Programming with Microsoft®.NET. Lecture 1 Microsoft.
Using Visual Basic 6.0 to Create Web-Based Database Applications
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
UNICORE Introduction to the Intel Client …and a look behind the scenes HLRS, May 5, 2004 Ralf Ratering Intel Parallel and Distributed Solutions Division.
UNICORE Introduction to the Intel Client and a look behind the scenes… Grid Summer School, July 28, 2004 Ralf Ratering Intel Parallel and Distributed Solutions.
Hands-On Microsoft Windows Server 2003 Administration Chapter 5 Administering File Resources.
UNICORE Programming Client Plug-ins HLRS, May 5, 2004 Ralf Ratering Intel Parallel and Distributed Solutions Division (PDSD)
70-270, MCSE/MCSA Guide to Installing and Managing Microsoft Windows XP Professional and Windows Server 2003 Chapter Nine Managing File System Access.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Member of the ExperTeam Group Ralf Ratering Pallas GmbH Hermülheimer Straße Brühl, Germany
ModelBuilder at ArcGIS 9.2 Lyna Wiggins Rutgers University May 2008.
1 Chapter Overview Introduction to Windows XP Professional Printing Setting Up Network Printers Connecting to Network Printers Configuring Network Printers.
Introducing JavaBeans Lesson 2A / Slide 1 of 30 JDBC and JavaBeans Pre-assessment Questions 1.Which of the given symbols is used as a placeholder for PreparedStatement.
Form Handling, Validation and Functions. Form Handling Forms are a graphical user interfaces (GUIs) that enables the interaction between users and servers.
Arc: Programming Options Dr Andy Evans. Programming ArcGIS ArcGIS: Most popular commercial GIS. Out of the box functionality good, but occasionally: You.
A First Program Using C#
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
- 1 - Grid Programming Environment (GPE) Ralf Ratering Intel Parallel and Distributed Solutions Division (PDSD)
Manchester Computing Supercomputing, Visualization & e-Science CS 602 — eScience and Grids John Brooke Donal Fellows
Database-Driven Web Sites, Second Edition1 Chapter 8 Processing ASP.NET Web Forms and Working With Server Controls.
1 CS 3870/CS 5870 Static and Dynamic Web Pages ASP.NET and IIS.
K. Jamroendararasame*, T. Matsuzaki, T. Suzuki, and T. Tokuda Department of Computer Science, Tokyo Institute of Technology, JAPAN Two Generators of Secure.
Using Visual Basic 6.0 to Create Web-Based Database Applications
Arc: AddIns Dr Andy Evans. Java Direct access to ArcObjects Framework inside and outside Arc. Ability to add components to the GUI. Ability to communicate.
Chapter 1: A First Program Using C#. Programming Computer program – A set of instructions that tells a computer what to do – Also called software Software.
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
Java Server Pages A JSP page is a text-based document that contains two types of text: static template data, which can be expressed in any text-based format,
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
LLRP GUI Client User Guide
Chapter 8 Introduction to HTML and Applets Fundamentals of Java.
1 Overview of the Application Hosting Environment Stefan Zasada University College London.
Introduction to Eclipse CSC 216 Lecture 3 Ed Gehringer Using (with permission) slides developed by— Dwight Deugo Nesa Matic
Execute Workflow. Home page To execute a workflow navigate to My Workflows Page.
Active Server Pages  In this chapter, you will learn:  How browsers and servers interacted on the Internet when the Internet first became popular 
AE6382 Computing Sys Engr Lab – October 22, 2008 Taeyun P. Choi (*) Aerospace Systems Design Laboratory Georgia Institute of Technology Atlanta, Georgia,
CERN - IT Department CH-1211 Genève 23 Switzerland t DB Development Tools Benthic SQL Developer Application Express WLCG Service Reliability.
V. Serbo, SLAC ACAT03, 1-5 December 2003 Interactive GUI for Geant4 by Victor Serbo, SLAC.
Technical Presentation
UNICORE Plugins – How to Design Application Specific Interfaces Krzysztof Benedyczak Michał Wroński.
LHCb Software Week November 2003 Gennady Kuznetsov Production Manager Tools (New Architecture)
EUROGRID – An Integrated User–Friendly Grid System Hans–Christian Hoppe, Karl Solchenbach A Member of the ExperTeam Group Pallas GmbH Hermülheimer Straße.
Core Java Introduction Byju Veedu Ness Technologies httpdownload.oracle.com/javase/tutorial/getStarted/intro/definition.html.
Migrating Desktop Bartek Palak Bartek Palak Poznan Supercomputing and Networking Center The Graphical Framework.
Shell Interface Shell Interface Functions Data. Graphical Interface Graphical Interface Command-line Interface Command-line Interface Experiments Private.
07/21/97 MOSS Project Introduction and Definition -Senior Project-
Chapter 5 Introduction To Form Builder. Lesson C Objectives  Use sequences to automatically generate primary key values in a form  Create lists of values.
1 P-GRADE Portal hands-on Gergely Sipos MTA SZTAKI Hungarian Academy of Sciences.
Technical lssues for the Knowledge Engineering Competition Stefan Edelkamp Jeremy Frank.
IBM Express Runtime Quick Start Workshop © 2007 IBM Corporation Deploying a Solution.
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Java IDE Dwight Deugo Nesa Matic
1 RIC 2009 Symbolic Nuclear Analysis Package - SNAP version 1.0: Features and Applications Chester Gingrich RES/DSA/CDB 3/12/09.
Principles of Software Development
Chapter 2: System Structures
Chapter 3: Using Methods, Classes, and Objects
Initial job submission and monitoring efforts with JClarens
Java IDE Dwight Deugo Nesa Matic Portions of the notes for this lecture include excerpts from.
Presentation transcript:

Member of the ExperTeam Group Ralf Ratering Pallas GmbH Hermülheimer Straße Brühl, Germany The UNICOREpro Client Programming Client Plug-Ins

© Pallas GmbH. No distribution without authorization. Starting Point: The Lattice Boltzmann Application Scenario: A site wants to make new application available on the Grid Example: Lattice Boltzmann –Simulation of fluent mixing –Output: a gif animation –Intermediate sample files are generated –A control file can change parameters while application is executing Integrate Boltzmann application into Client GUI with a Plugin!

© Pallas GmbH. No distribution without authorization. Overview Step 1 –Use Command Task to run application –Specify input and output files in import/export panels Step 2 –Write a specialized Boltzmann plugin task Step 3 –Edit and automatically send the input file –Automatically set output file export Step 4 –Get sample files while application is executing –Visualize sample files in outcome area

© Pallas GmbH. No distribution without authorization. Step1: Executing a Command Task Job Directory (Uspace) Input Output.gif Local GridSchool/examples/BoltzmannInput.txt Output.gif Boltzmann Application Resource Export Import

© Pallas GmbH. No distribution without authorization. Writing Task Plugins Disadvantages of Command task –Input file has to be edited outside Client –Imports and Exports have to be specified manually –No integrated GUI for parameters –Results have to be visualized outside client –No additional functionality possible (sample and control files) Write a specialized Boltzmann Plugin Task!

© Pallas GmbH. No distribution without authorization. Task Plugins Add a new type of task to the Client GUI New task can be integrated into complex jobs Application support: CPMD, Fluent, Gaussian, etc. Add task item Settings item Icon Plugin info

© Pallas GmbH. No distribution without authorization. Writing a Task Plugin Implement 3 Classes –Main plugin class –Plugin Container –JPAPanel Build a Jar Archive named „*Plugin.jar“ Sign the Jar with your Certificate

© Pallas GmbH. No distribution without authorization. Main Plugin Class Start and stop plugin Manage plugin objects Icon Format

© Pallas GmbH. No distribution without authorization. Plugin Container Build Abstract Job Object (AJO) Manage imports, exports and execution Hold parameters Keep status Check errors

© Pallas GmbH. No distribution without authorization. AbstractJob AJOs and Containers AJO is the low-level „UNICORE language“ Client containers encapsulate complex AJOs ActionGroup IncarnateFiles MakePortfolio ExceuteScriptTask DeletePortfolio ActionGroup ImportTask RenameFile DeclarePortfolio ImportTask RenameFile ActionGroup MakePortfolio ExportTask RenameFile MakePortfolio SpoolTask

© Pallas GmbH. No distribution without authorization. Container Hierarchy Add your own container

© Pallas GmbH. No distribution without authorization. Implementing the Container

© Pallas GmbH. No distribution without authorization. Using Application Resources ClientNJS IDB Plugin APPLICATION Boltzmann 1.0 Description „Boltzmann Simulation“ INVOCATION [ /usr/local/boltzmann/bin/linuxExec.bin ] END Memory (64, 128, 32000)... APPLICATION Boltzmann 1.0 APPLICATION CPMD Context MPI... Resource Set Boltzmann resource available? Add to AJO UserTask Display message

© Pallas GmbH. No distribution without authorization. JPAPanel Set parameters in container Document/View paradigm Sub class of javax.swing.JPanel Implements interface Applyable Follow Java Look and Feel Design Guidelines ContainerJPAPanel applyValues resetValues updateValues

© Pallas GmbH. No distribution without authorization. Import and Export Panels Specify file imports and exports from the GUI Use out of the box New Import Remove Import Browse file systems

© Pallas GmbH. No distribution without authorization. Step 2: Writing the Boltzmann Plugin Execute the application with an AJO UserTask Specify input file in import panel Specify output file in export panel 1.Unpack Code 2.Compile Code 3.Build Jar 4.Sign Jar 5.Deploy Jar 6.Run Client GO!

© Pallas GmbH. No distribution without authorization. Remote Text Editor Load, edit and save files from remote and local file spaces Use out of the box public class PluginJPAPanel extends JPAPanel { private PluginContainer container; private RemoteTextEditor textEditor; private buildComponents() { textEditor = new RemoteTextEditor(); JScrollPane editorScrollPane = new JScrollPane(textEditor); } public void applyValues() { container.setText(textEditor.getText()); } public void updateValues(boolean vsiteChanged) { if(vsiteChanged) { textEditor.setVsite(container.getVsite()); }

© Pallas GmbH. No distribution without authorization. File Transfers in the AJO Storage Server USpace Temp Root Home Local Spool Alternate USpace IncarnateFiles

© Pallas GmbH. No distribution without authorization. Step 3: Transferring input and output files Edit the input file with the RemoteTextEditor Plugin sends the input file with IncarnateFiles User adds output file in export panel 1.Unpack Code 2.Add IncarnateFiles task to execution ActionGroup 3.Compile Code 4.Run Client GO!

© Pallas GmbH. No distribution without authorization. Boltzmann Job USpace AJO Portfolios Wrap files in Uspace in portfolios Pass portfolios between tasks Plugin Input IncarnateFiles UserTask submit get outcome Output.gif submit get outcome GetSample Job MakePortfolio CopyPortfolioToOutcome USpace Sample.gif

© Pallas GmbH. No distribution without authorization. Additional outcome panels Make your outcome panel a sub class of JPanel Implement interface IPanelProvider in Container Implement interface IApplyable in outcome panel Use com.pallas.unicore.client.panels.ImagePanel to display sample.gif

© Pallas GmbH. No distribution without authorization. Step 4: Getting intermediate results Get sample files with MakePortfolio and CopyPortfolioToOutcome (use GetFilesFromUSpace!) Visualize sample files in additional outcome panel 1.Unpack Code 2.Add GetFilesFromUspace request 3.Compile Code 4.Run Client GO!

© Pallas GmbH. No distribution without authorization. Step 5: Free-Style Write a Boltzmann Wizard –Add GUI elements to specify input parameters –Generate input file from GUI entries Automatically export output.gif –Add a FileExport object in Plugin Code Send Control files to running application –Add a control panel to outcome area –Write a SendFilesToUspace request...???