360 likes | 506 Views
Gateway System (new generation WebFlow). NPAC Syracuse University. Overview. What is WebFlow? Start with examples Why improve a good product? Emerging Standards: DATORR Architecture of the new WebFlow Gateway Requirements Deliverables. WebFlow Mission.
E N D
Gateway System(new generation WebFlow) NPACSyracuse University
Overview • What is WebFlow? • Start with examples • Why improve a good product? • Emerging Standards: DATORR • Architecture of the new WebFlow • Gateway Requirements • Deliverables T. Haupt
WebFlow Mission • The visual HPDC framework that offers an intuitive Web browser based interface and a uniform point of interactive control for a variety of computational modules and applications, running at various labs on different platforms. • Our technology goal is to build a high-level user friendly commodity software based visual programming and runtime environment for HPDC. T. Haupt
WebFlow Implementation • WebFlow is implemented as a modern three-tier system • Tier 1 is a high-level front-end for visual programming built on top of the Web and OO commodity standards. • Distributed object-based, scalable, and reusable Web server and Object broker Middleware forms Tier 2. • Back-end services comprise Tier 3. In particular, high performance services are implemented using the metacomputing toolkit of Globus. T. Haupt
Mesh of Web Serversrunning servlets that manage and coordinate distributed computation. Session Manager, Module Manager, Connection Manager. Front End Middle-Tier T. Haupt
In order to run WebFlow over Globus there must be at least one WebFlow node capable of executing Globus commands, such as globusrun Jobs that require computational power of massively parallel computers are directed to the Globus domain, while others can be launched on much more modest platforms, such as the user’s desktop or even a laptop running Windows NT. Bridge between WebFlow and Globus WebFlow over Globus T. Haupt
WebFlow Applications • Quantum Simulations • Alliance/NCSA • demonstrated at Alliance ‘98 meeting • technical paper presented at SC’98 • Landscape Management System • CEWES: MSRC/PET Both require desktop access to remote resources T. Haupt
Quantum Simulations T. Haupt
QS: WebFlow implementation T. Haupt
QS: Front-End T. Haupt
LMS: Changes in Vegetation • A decision maker (the end user of the system) wants to evaluate changes in vegetation in some geographical region over a long time period caused by some short term disturbances such as a fire or human’s activities. • One of the critical parameters of the vegetation model is soil condition at the time of the disturbance. • This in turn is dominated by rainfalls that possibly occur at that time T. Haupt
Data retrieval Data preprocessing Simulation: two interacting codes EDYS CASC2D Visualization LMS: Changes in Vegetation DEM Land Use Soil Texture Vegetation WMS EDYS CASC2D T. Haupt
LMS Front-End T. Haupt
Why do we need to change anything? • Middle tier is based on a custom protocol implemented directly on top of sockets • not scalable • difficult to implement security features, fault tolerance, monitoring • impossible to take advantage of new technologies • non-standard T. Haupt
Remedy • New, CORBA based middle tier • robust ORB implementations available now (including JWORB) • Event driven system that follows the JavaBeans model • based on industry standards for distributed objects technologies • similar to JINI and EJB T. Haupt
Java Grande: DATORRDesktop Access to Remote Resources • Development of WebFlow coincides with DATORR standardization initiative • Could lead to definition of CORBA facilities or Java framework for computing services • Defines: • Abstract Task Specification (“user view”) • Metacomputing Services API (“system view”) • Security Standards T. Haupt
CORBA based WebFlow (suggested Gateway implementation)
WebFlow Objectives • To provide seamless and secure access to remote (HPCC) resources • single web-based point of access • access policies imposed and monitored by stakeholders • no modifications of the current security model and implementation • integration with the existing authoring tools T. Haupt
Implementation Strategy • Follow industry standards • distributed objects: CORBA, Java, JavaBeans, EJB, … • security: https, PKI, GSSAPI, SSL, Keberos5 • CORBA services: naming (LDAP), lifecycle, security, transactions,… • Participate in creation of standards • DATORR, Alliance PKI T. Haupt
Implementation Strategy • Use commodity components (commercial and academic). Examples: • secure WebServer (Jigsaw, Apache, JWORB) • ORB (ORBacus, JWORB) • Java 2 (EJB, JINI) • AKENTI • Globus, Globus-GSSAPI • PBS, Condor T. Haupt
Multi-tier Architecture of Gateway T. Haupt
Gateway Components • Front End (Java Applets) • many different “plug-ins” implementing WebFlow API • Middle Tier (CORBA) • Back End modules (anything from JBDC to HPF) • JavaBeans model • Proxy Modules • Access to remote HPCC resources T. Haupt
Security Model Front End Applet Stakeholders https Layer 1: secure Web delegation Layer 2: secure CORBA Gatekeeper SECIOP Layer 3: Secure access to resources authentication & authorization GSSAPI GSSAPI HPCC resources Policies defined by resource owners T. Haupt
Gatekeeper T. Haupt
Gateway Portal Page • https • mutual authentication • X.509 certificates • access policies • AKENTI, (LDAP, DB) • controlled by stakeholders • returns front-end applet T. Haupt
Initialization of a session Portal Page Mutual authentication Secure Web Server AKENTI start Credentials Globus Cert. Front End Applet User Context WebFlow Server IIOP ORBacus ORB Netscape’s ORB T. Haupt
WebFlow API PSE Data Flow OO Command Line WebFlow API (Abstract Task Specification) Middle-tier Back-End Services T. Haupt
Middle Tier T. Haupt
Building an application Application Context Applet List of servers Add module List of modules local remote List of events List of methods Adapter LLM M Attach Event E IIOP Netscape ORB ORBacus ORB T. Haupt
Adding a remote module Local Host Remote Host FE request Add module Add module Module Factory Module Factory Proxy Module Module T. Haupt
WebFlow Modules • Are CORBA objects • conform to JavaBeans specification • mimic Java 1.1 (JavaBeans) event model • implemented using Dynamic Invocation Interface (DII) and Dynamic Skeleton Interface (DSI) (thus more general than BeanBox, similar to JINI and EJB) T. Haupt
Event binding Event Source Adapter Event Target addEventListener rmEventListener fireEvent(E,M) method M binding table Event DII DSI ORB T. Haupt
Applet Module Controls Controlling a module IIOP Module ActionButton1 ActionButton2 …. Proxy Module T. Haupt
Modules • Similar to JavaBeans • full power of Java (or C++) to implement functionality • can encapsulate legacy applications • May serve as Proxies • JDBC • metacomputing services (such as Globus) • schedulers (such as PBS, CONDOR, etc) T. Haupt
Summary of features • Single web-based access via Gateway portal • Security based on standards: https, PKI, secure ORB, GSSAPI (SSL/Keberos5) • Access policies controlled by stakeholders • WebFlow API allows implementation of many different front-ends • Modern three-tier architecture (distributed objects) • Access to HPCC through metacomputing services T. Haupt