Towards a Javascript CoG Kit Gregor von Laszewski Fugang Wang Marlon Pierce Gerald Guo

Slides:



Advertisements
Similar presentations
Building Portals to access Grid Middleware National Technical University of Athens Konstantinos Dolkas, On behalf of Andreas Menychtas.
Advertisements

Contrail and Federated Identity Management
SWIM WEB PORTAL by Dipti Aswath SWIM Meeting ORNL Oct 15-17, 2007.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
Reference and Instruction Automated Statistics Gathering and Reporting System Members: Patrick Chen (pyc7) Soo-Yung Cho (sc444) Gregg Herlacher (gah24)
Open Grid Computing Environments Marlon Pierce, Suresh Marru, Gregor von Laszewski, Mary Thomas, Maytal Dahan, Gopi Kandaswamy, and Wenjun Wu.
Jefferson Ridgeway 2, Ifeanyi Rowland Onyenweaku 3, Gregor von Laszewski 1*, Fugang Wang 1 1* Indiana University, Bloomington, IN 47408, U.S.A.,
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Construction of efficient PDP scheme for Distributed Cloud Storage. By Manognya Reddy Kondam.
E-Science Workflow Support with Grid-Enabled Microsoft Project Gregor von Laszewski and Leor E. Dilmanian, Rochester Institute of Technology Abstract von.
Cyberaide Virtual Appliance: On-demand Deploying Middleware for Cyberinfrastructure Tobias Kurze, Lizhe Wang, Gregor von Laszewski, Jie Tao, Marcel Kunze,
Assignment 3: A Team-based and Integrated Term Paper and Project Semester 1, 2012.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
National Computational Science National Center for Supercomputing Applications National Computational Science MyProxy: An Online Credential Repository.
Riccardo Bruno INFN.CT Sevilla, Sep 2007 The GENIUS Grid portal.
DIRAC Web User Interface A.Casajus (Universitat de Barcelona) M.Sapunov (CPPM Marseille) On behalf of the LHCb DIRAC Team.
A Web 2.0 Portal for Teragrid Fugang Wang Gregor von Laszewski May 2009.
Holding slide prior to starting show. A Grid-based Problem Solving Environment for GECEM Maria Lin and David Walker Cardiff University Yu Chen and Jason.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
1. Introduction  The JavaScript Grid Portal is trying to find a way to access Grid through Web browser, while using Web 2.0 technologies  The portal.
TeraGrid Science Gateways: Scaling TeraGrid Access Aaron Shelmire¹, Jim Basney², Jim Marsteller¹, Von Welch²,
Grids and Portals for VLAB Marlon Pierce Community Grids Lab Indiana University.
23:48:11Service Oriented Cyberinfrastructure Lab, Grid Portals Fugang Wang April 29
Through the development of advanced middleware, Grid computing has evolved to a mature technology in which scientists and researchers can leverage to gain.
07/06/11 New Features of WS-PGRADE (and gUSE) 2010 Q Q2 Miklós Kozlovszky MTA SZTAKI LPDS.
GridFE: Web-accessible Grid System Front End Jared Yanovich, PSC Robert Budden, PSC.
Towards a unified Cyberaide architecture Fugang Wang May 29, 2009.
Scalable Systems Software Center Resource Management and Accounting Working Group Face-to-Face Meeting October 10-11, 2002.
1 Overview of the Application Hosting Environment Stefan Zasada University College London.
FI-CORE Data Context Media Management Chapter Release 4.1 & Sprint Review.
Javascript Cog Kit By Zhenhua Guo. Grid Applications Currently, most grid related applications are written as separate software. –server side: Globus,
The PROGRESS Grid Service Provider Maciej Bogdański Portals & Portlets 2003 Edinburgh, July 14th-17th.
ILDG Middleware Status Chip Watson ILDG-6 Workshop May 12, 2005.
Apache Airavata (Incubating) Gateway to Grids & Clouds Suresh Marru Nov 10 th 2011.
Experiment Management with Microsoft Project Gregor von Laszewski Leor E. Dilmanian Acknowledgement: NSF NMI, CMMI, DDDAS
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
Using Cyberaide JavaScript to develop Ajax based Grid Apps – A Tutorial for Grid App Developers Gregor von Laszewski Fugang Wang Jun 22, 2009.
1 Grid Portal for VN-Grid Cu Nguyen Phuong Ha. 2 Outline Some words about portals in principle Overview of OGCE GridPortlets.
Holding slide prior to starting show. A Portlet Interface for Computational Electromagnetics on the Grid Maria Lin and David Walker Cardiff University.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
© Geodise Project, University of Southampton, Geodise Middleware & Optimisation Graeme Pound, Hakki Eres, Gang Xue & Matthew Fairman Summer 2003.
EGEE User Forum Data Management session Development of gLite Web Service Based Security Components for the ATLAS Metadata Interface Thomas Doherty GridPP.
Biomedical and Bioscience Gateway to National Cyberinfrastructure John McGee Renaissance Computing Institute
10:47:46Service Oriented Cyberinfrastructure Lab, Grid Job Management with Microsoft Project Leor Dilmanian
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
© Geodise Project, University of Southampton, Geodise Middleware Graeme Pound, Gang Xue & Matthew Fairman Summer 2003.
Grid Interoperability Update on GridFTP tests Gregor von Laszewski
ESG-CET Meeting, Boulder, CO, April 2008 Gateway Implementation 4/30/2008.
What Is XSS ? ! Cross-site scripting (XSS) is a type of computer security vulnerability typically found in Web applications. XSS enables attackers to.
National Energy Research Scientific Computing Center (NERSC) Visportal : interface to grid enabled NERC resources Cristina Siegerist NERSC Center Division,
MGRID Architecture Andy Adamson Center for Information Technology Integration University of Michigan, USA.
Application Web Service Toolkit Allow users to quickly add new applications GGF5 Edinburgh Geoffrey Fox, Marlon Pierce, Ozgur Balsoy Indiana University.
Clarens Toolkit Building Blocks for a Simple TeraGrid Gateway Tutorial Conrad Steenberg Julian Bunn, Matthew Graham, Joseph Jacob, Craig Miller, Roy Williams.
Tutorial on Science Gateways, Roma, Catania Science Gateway Framework Motivations, architecture, features Riccardo Rotondo.
Remote Api Tutorial How to call WS-PGRADE workflows from remote clients through the http protocol?
The eCSG Mobile App Mario Torrisi INFN – Division of Catania 24 June 2013 Webinar on the eCSG 1.
Antonio Fuentes RedIRIS Barcelona, 15 Abril 2008 The GENIUS Grid portal.
Overview on the work performed during EPIKH Training Faiza MEDJEK /INFN, CATANIA 1.
BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management Java and WebDAV Juergen Pill Team Leader Software AG Remy Maucherat Software Engineer.
ArcGIS for Server Security: Advanced
Open Grid Computing Environment Summary
Writing Grid Portlets.
Shaowen Wang1, 2, Yan Liu1, 2, Nancy Wilkins-Diehr3, Stuart Martin4,5
CMPE 280 Web UI Design and Development October 24 Class Meeting
Testing REST IPA using POSTMAN
DUCKS – Distributed User-mode Chirp-Knowledgeable Server
Building Science Gateways and Managing Workflows with the Open Grid Computing Environment Toolkit Marlon Pierce, Suresh Marru, Zhenhua Guo, Fugang Wang,
SIF 3.x Concepts & Terms, xPress & RicOne API
AMGA Web Interface Vincenzo Milazzo
…and web frameworks in general
Presentation transcript:

Towards a Javascript CoG Kit Gregor von Laszewski Fugang Wang Marlon Pierce Gerald Guo Please note not everything is yet available. This is a prototype and shows that we can handle Grid Jobs via Javascript. The APIs are not yet released.

Outline Why JavaScript? - Alternatives Design Implementation Javascript CoG API Demonstration Future Conclusion

Demonstration Goal: – Develop simple demonstration program to evaluate if a Javascript CoG Kit is possible – Answer is yes Status: – We are taking our demonstration and develop now APIs for reuse in Javascript.

Demo: Grid Job Execution Uses Java CoG Kit Uses Myproxy Works on Teragrid Uses a server on which we installed the serice

Authenticate

Simple workflow

Job History

Waiting for results

Viewing the result

Ad-hoc Grid / Cloud Computing Managing your own Grid

Preparing for Cloud services Easily access information about the resources and computing power of clusters and grids. Cloud Services – Collect Grid Data – Serve Grid Data – Coordinate User Benchmarks Cloud Service Client – Table – Google Maps – Javascript Cloud server Cloud server Cloud client Grid Benchmark Execute

Alternatives Current OGCE distribution Java CoG Kit … other Grid related solutions …

DISCLAIMER What comes next is under development and not yet officially available.

Why JavaScript CoG Benefit: Lower the entry threshold for Grid computing –Enable user friendly Grid Web 2.0 portals –Zero installation in client side –Seamless upgrade Challenge –Restricted privilege due to the security model MVC model. –Client side provides only a view. –Data and control is through the API and mediator service –Security Cross-site Scripting (XSS), Cross-site Request Forge (XSRF) What we need to do: A set of design rules to deal with these. Verification, Input sanitation, Output sanitation, etc.

The Architecture

Grid Abstractions We introduce a convenient subset of abstractions that we found useful within the CoG Kits We developed new abstractions that increase the functionality and abstraction level to the users Abstractions are expressed in Javascript through “objects”

JavaScript CoG Objects - Job / Authentication “Executable” is an abstraction for all executable entities, jobs or workflows. –It has fields Attributes, and Provider. Provider could be system, Karajan or another workflow engine’s name. Attributes would be commands or the content of the workflow description while using workflow stated in Provider. “Authenticator” is used to do the authentication. –It has fields Attributes, and Provider. And function authenticate(). Provider could be MyProxy for example, while Attributes contains necessary info to authenticate the user through the specified provider.

Javascripit CoG Workflow “KarajanWorkflow” represents a Karajan workflow. It supports hierarchical workflow, which means a workflow can be a “job” in another workflow. –addJob (jobname, job) – A new job is appended to this workflow. –deleteJob (jobname) – The job with the name specified by parameter jobname is deleted. As a result, all related dependency is deleted as well. –listJobs( ) – List all jobs in a workflow. –searchByName(jobname) – Search job in terms of name. –addDependency (jobparent, jobchild) – Add dependency which says that job jobparent should be executed before job jobchild. –removeDependency(jobparent, jobchild) – Remove dependency between job jobparent and job jobchild.

JavaScript CoG Workflow Queue “WFQueue” represents a client side queue of Executable objects that have no dependency on each other. –addWorkflow(name, workflow)– Append the workflow specified by parameter to a workflow queue. –removeWorkflowByIndex(index) – Remove a workflow according to parameter index. –removeWorkflowByName(name) – Remove a workflow with name specified by parameter name. –clearAll( ) – Remove all workflows in the queue. –searchByName(name) – Return the index of the workflow with the name specified by parameter. If no corresponding workflow exists, return -1.

JavaScript CoG API Jobs and their status (“CoGJob”) –authenticate(Authenticator) – The Authenticator’s authenticate() function will be called to authenticate the user. –execute(Executable, resources) – Submit a workflow to server side to execute. The resources specify necessary resources associated with the jobs. –transfer(from, source, to, dest) – transfer data “source” from “from” to “dest” in “to”. –query( ) – Get state of all workflows that were submitted to execute by the user. –query(workflowids) – Get state of specified workflows that were submitted to execute by the user.

JavaScript CoG API “CoGQueue” - Collaboration Queue –listQueues( ) – List all the public queues and/or queues that the user are participating. –grantAccess(queueID, userlist) – The owner of a queue can give some other users access privilege to the queue. –add(queuename, Executable) – Submit a workflow to store for future use or share with other users. –remove(queueID, sharedWorkFlowID) – The owner of a workflow can remove it. list(queueID); list all workflows’ metadata shared in the queue. –listParticipants(queueID) – List all the participants of the queue. –listByUser(queueID, username) – List the workflows’ metadata owned by a user from one queue.

JavaScript CoG API “CoGQueue” - cont’d –getStatus(queueID, sharedWorkFlowID) – Query the specified workflow’s status. It could be being edited by other user or not. –browseWorkflow(queueID, sharedWorkFlowID) – Download the workflow to client side to browse. –obtainWriteToken(queueID, sharedWorkFlowID) – The user try to obtain the write token. –editWorkflow(queueID, sharedWorkFlowID) – The user will try to obtain the write token and then to edit the workflow. –updateWorkflow(queueID, sharedWorkFlowID, workflowObj) – Update the workflow when complete editing.

…… Ownership of a queue Ownership of a workflow Currently editing shared workflow workflow being edited user Scenario for the use of collaboration queue Collaboration Queue

Implementation We have developed a prototype of the system –Authenticate users from a web client through (a TeraGrid) MyProxy server. –Handles job submission and job status queries from a web client. –Contains a prototype client side GUI-based environment to mange and edit the jobs/workflows to demonstrate it works. –The services are currently integrated into Axis2 and Tomcat as part of a standard web service.

Demo Web page:

Conclusion and Future Work Mediator service – handles credential management, job submission, status query – Workflow preprocess on the server side and persistence using DB4O Web services interface Client side web services consuming JavaScript Cog API Defined a collaborative job queue Service/API

Planned and current activities RESTful result retrieval (via Jersey) Finer grained status query Use of Dojo to enhance client side workflow composition Reorganize client side JS code to form API User account management Collaboration queue implementation (and integration with GridShib) Integrate Grid information service Multiple workflow types support Alternative authentication and authorization approach