Integration of Live Access Server with Climate Data Analysis Tools (CDAT)‏ Velimir Mlaker LLNL 30-May-2007 LAS CDAT for WCRP CMIP3 Multi-Model Data.

Slides:



Advertisements
Similar presentations
JLab Lattice Portal – Data Grid Web Service Ying Chen, Chip Watson Thomas Jefferson National Accelerator Facility.
Advertisements

Presenter: James Huang Date: Sept. 29,  HTTP and WWW  Bottle Web Framework  Request Routing  Sending Static Files  Handling HTML  HTTP Errors.
Using Evernote and Google Docs in your web or mobile application (and potentially Dropbox and Skydrive) By Peter Messenger Senior Developer – Triple Point.
The Basic Authentication Scheme of HTTP. Access Restriction Sometimes, we want to restrict access to certain Web pages to certain users A user is identified.
Authentication and Security Joshua Scotton.  Sessions  Login and Authentication.
Securing web applications using Java EE Dr Jim Briggs 1.
Using JavaServer Pages Harry R. Erwin, PhD CIT304/CSE301.
WEB2P security Java web application security Dr Jim Briggs.
An introduction to Java Servlet Programming
UPortal and the Yale Central Authentication Service Drew Mazurek ITS Technology & Planning Yale University JA-SIG Summer Conference ‘04 Denver, CO June.
18-Jun-15 JSP Java Server Pages Reference: Tutorial/Servlet-Tutorial-JSP.html.
Information Networking Security and Assurance Lab National Chung Cheng University 1 Top Vulnerabilities in Web Applications (I) Unvalidated Input:  Information.
Stanford University EH&S A Service Oriented Architecture For Rich Internet Applications Sheldon M. Heitz.
Objectives:1. Investigate the Web application deployment descriptor 2. Install and deploy Tomcat and struts 3. Design and deploy a struts application Struts.
Apache Struts Technology A MVC Framework for Java Web Applications.
LDS Account and the Java Stack. Disclaimer This is a training NOT a presentation. – Be prepared to learn and participate in labs Please ask questions.
Java Enterprise Edition Java Web Development Structure of a web project Introduction to Web Applications The first project Introduction to Java Web Development.
Gayle J Yaverbaum, PhD Professor of Information Systems Penn State Harrisburg.
Web Proxy Server. Proxy Server Introduction Returns status and error messages. Handles http CGI requests. –For more information about CGI please refer.
UNIT-V The MVC architecture and Struts Framework.
Lecture 2 - Struts ENTERPRISE JAVA. 2 Contents  Servlet Deployment  Servlet Filters  Model View Controllers  Struts  Dependency Injection.
W3af LUCA ALEXANDRA ADELA – MISS 1. w3af  Web Application Attack and Audit Framework  Secures web applications by finding and exploiting web application.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
SDPL 2002Notes 7: Apache Cocoon1 7 XML Web Site Architecture Example: Apache Cocoon, a Web publishing architecture based on XML technology
COP 4991 Component Based Software Development Lecture #4 Java Web Services Onyeka Ezenwoye.
Introduction to MVC and the Jakarta Struts Framework By Gyanendra Dwivedi Software Consultant.
OOI CyberInfrastructure: Technology Overview - Hyrax January 2009 Claudiu Farcas OOI CI Architecture & Design Team UCSD/Calit2.
Chapter 5 Java Servlets. Objectives Explain the nature of a servlet and its operation Use the appropriate servlet methods in a web application Code the.
Basic Struts Architecture Client Server Database Request Response Control View Model Server Struts Framework.
Standalone Java Application vs. Java Web Application
ESP workshop, Sept 2003 the Earth System Grid data portal presented by Luca Cinquini (NCAR/SCD/VETS) Acknowledgments: ESG.
MCS 270 Spring 2014 Object-Oriented Software Development.
JAVA SERVER PAGES. 2 SERVLETS The purpose of a servlet is to create a Web page in response to a client request Servlets are written in Java, with a little.
Struts J2EE web application framework “ Model 2 ” Model View Controller Controller Servlet Key features XML metadata Struts taglib Simplified form validation.
Stanisław Osiński, 2002JSP – A technology for serving dynamic web content Java Server Pages™ A technology for serving dynamic web content Stanisław Osiński,
Online Service 1. Authorization Request (Start URL) 2. Login page 3. Credentials 4. Authorization page 5. User decision 6. Authorization.
1 ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe confidential. 1 Building Portlets with ColdFusion Pete Freitag Foundeo, Inc.
JSP Filters 23-Oct-15. JSP - FILTERS A filter is an object that can transform a request or modify a response. Filters are not servlets; they don't actually.
How to Build a Struts Application with JBuilder 9.
A Flexible Component based Access Control Architecture for OPeNDAP Services Philip Kershaw STFC Rutherford Appleton Laboratory.
ESafe Open Modules Overview Open modules implementing the eSafe document exchange protocol.
Integrating and Troubleshooting Citrix Access Gateway.
Web Portal Design Workshop, Boulder (CO), Jan 2003 Luca Cinquini (NCAR, ESG) The ESG and NCAR Web Portals Luca Cinquini NCAR, ESG Outline: 1.ESG Data Services.
Struts Framework Anna Paščenko. What is Struts?  An open source framework for building Java web applications.
A Data Access Framework for ESMF Model Outputs Roland Schweitzer Steve Hankin Jonathan Callahan Kevin O’Brien Ansley Manke.
Servlet Filters JAVA Enterprise Edition. Servlet Filters Servlet Filters are Java classes that can be used in Servlet Programming for the following purposes:
Shell Interface Shell Interface Functions Data. Graphical Interface Graphical Interface Command-line Interface Command-line Interface Experiments Private.
Access control 2/18/2009. TOMCAT Security Model Declarative Security:  the expression of application security external to the application, and it allows.
Michael Dalton, Christos Kozyrakis, and Nickolai Zeldovich MIT, Stanford University USENIX 09’ Nemesis: Preventing Authentication & Access Control Vulnerabilities.
Web2.0 Secure Development Practice Bruce Xia
©SoftMoore ConsultingSlide 1 Filters. Filters can be used in a web application to intercept, examine, and possibly transform requests or responses associated.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
1 Accomplishments. 2 Overview of Accomplishments  Sustaining the Production Earth System Grid Serving the current needs of the climate modeling community.
13 Copyright © 2004, Oracle. All rights reserved. Adding Validation and Error Handling.
Vakgroep Informatietechnologie – Onderzoeksgroep (naam) Web Centric Design of Distributed Software.
11 Copyright © 2004, Oracle. All rights reserved. Customizing Actions.
LAS and THREDDS: Partners for Education Roland Schweitzer Steve Hankin Jonathan Callahan Joe Mclean Kevin O’Brien Ansley Manke Yonghua Wei.
15 Copyright © 2004, Oracle. All rights reserved. Adding JAAS Security to the Client.
The Chain of Responsibility Pattern (Behavioral) ©SoftMoore ConsultingSlide 1.
Securing Web Applications Lesson 4B / Slide 1 of 34 J2EE Web Components Pre-assessment Questions 1. Identify the correct return type returned by the doStartTag()
What was done for AR4. Software developed for ESG was modified for CMIP3 (IPCC AR4) Prerelease ESG version 1.0 Modified data search Advance search Pydap.
Session 11: Cookies, Sessions ans Security iNET Academy Open Source Web Development.
OOSD Using Java CBTS Framework. 11/2/04CBTS2 Servlet  A servlet is a Java program that can extends Web server’s functionality.  Servlets interact with.
Apache Struts Technology A MVC Framework for Java Web Applications.
World Wide Web has been created to share the text document across the world. In static web pages the requesting user has no ability to interact with the.
Daniel Doubrovkine (dblock[at]dblock[dot]org) Single Sign-On w/ Tomcat & WAFFLE 6/8/2010 Tomcat -> Waffle ->
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
Authentication Interact Cloud.
World Wide Web policy.
The J2EE Framework Java Technologies External Application.
Presentation transcript:

Integration of Live Access Server with Climate Data Analysis Tools (CDAT)‏ Velimir Mlaker LLNL 30-May-2007 LAS CDAT for WCRP CMIP3 Multi-Model Data

About the data World Climate Research Programme's Coupled Model Intercomparison Project Phase 3 Used by IPCC scientists in preparation for AR4 35 TB 80,000 files 12 experiments, 23 models Institutions from 13 countries contributed model output Used in publishing of about 250 scientific papers Over 1000 registered users worldwide LAS CDAT for WCRP CMIP3 Multi-Model Data Climate Data Analysis Tools Open source object-oriented data analysis in Python About CDAT LAS version armstrong-1.0 addXML-1.2

Changes to configuration: addXML1.2 Experiment Model Run Variable addXML.java MyAuthenticator.java public static void main(String[] args) {... java.net.Authenticator.setDefault( new MyAuthenticator(username, password));... } public class MyAuthenticator extends java.net.Authenticator{ private String username, password; public MyAuthenticator (String user, String pass){...} protected java.net.PasswordAuthentication getPasswordAuthentication (){...} } The command: addXML.sh -u -p -t Enhanced addXML THREDDS reader to access metadata on secure pyDAP server. LAS CDAT for WCRP CMIP3 Multi-Model Data Model Output NetCDF addXML pyDAP THREDDS Server las_from_addXML.xml

Changes to system: User Authentication Part 1 web.xml SecurityFilter.java SecurityFilter security.SecurityFilter SecurityFilter /servlets/* public class SecurityFilter implements javax.servlet.Filter{ public void doFilter(...){ String username = (String)session.getAttribute("username"); if(username != null){ chain.doFilter(hreq,hres); }else{ hres.sendRedirect("/login.jsp"); } SecurityFilter.java Tomcat security filter restricts website content to only allow registered users. LAS CDAT for WCRP CMIP3 Multi-Model Data Model Output NetCDF LAS PS pyDAP THREDDS Server Client browser LAS UI Server CDAT Service Filter configuration: Named object Path restriction Filter implementation: 1) Try to authorize session by lookup 2) Proceed if o.k. 3) Redirect to login page if failed

Changes to system: User Authentication Part 2 login.jsp LAS CDAT for WCRP CMIP3 Multi-Model Data Model Output NetCDF LAS PS pyDAP THREDDS Server Client browser LAS UI Server CDAT Service public class LogonAction extends org.apache.struts.action.Action { public ActionForward execute(...){ String username = PropertyUtils.getSimpleProperty(form,"username"); String password = PropertyUtils.getSimpleProperty(form,"password"); if (authenticate(username, password)){ session.setAttribute("username", username); session.setAttribute("password", password); return mapping.findForward("success"); }else{ return mapping.findForward("failure"); } struts-config.xml LogonAction.java <action path="/SubmitLogon" type="security.LogonAction" name="LogonForm" input="logon"> Forwarding to login page is defined in the Struts framework.

Changes to system: Credentials Propagation Files affected: luis/XmlRequester.java luis/LogoutBean.java VM_global_library.vm username = session.getAttribute("username"); password = session.getAttribute("password"); xml.setCredentials(username, password); sendRedirect(xml); DataBean.java (UI)‏ ProductRequest.java (PS)‏ username = request.getRootElement().getChild("username"); password = request.getRootElement().getChild("password"); backendRequest.addContent("username", username); backendRequest.addContent("password", password); user1 pass1... UI to PS TO BACKEND SERVICE LAS CDAT for WCRP CMIP3 Multi-Model Data Model Output NetCDF LAS PS pyDAP THREDDS Server Client browser LAS UI Server CDAT Service

Service implemented in Python Uses open-source SOAPpy library Direct inline calls to CDAT SOAPpy.SOAPServer(("esgcet.llnl.gov", "6155"))‏ server.registerKWFunction (getProduct, "LASBackend")‏ server.serve_forever()‏ Namespace from ProductWebService.java XML parameter as indicated in ProductWebService.java user1 pass1 def getProduct(**kw)‏ request = kw["lasBackendRequest"] doc = xml.dom.minidom.parseString(request).documentElement username = doc.getElementsByTagName("username")‏ password = doc.getElementsByTagName("password")‏ data = + url)‏ vcs.canvas.plot(...) FROM PS Start the backend SOAP service CDAT Callback CDAT reads netCDF via pyDAP server CDAT generates plot LAS CDAT for WCRP CMIP3 Multi-Model Data CDAT Backend Service Model Output NetCDF LAS PS pyDAP THREDDS Server Client browser LAS UI Server CDAT Service Service details from productserver.xml.gif

LAS CDAT for WCRP CMIP3 Multi-Model Data