Stuff about DX/GS. Overview Installation of client/server packages 1 Complex installation: pydxs (pydxc) package into …/lib/python2.4/site- packages/

Slides:



Advertisements
Similar presentations
CACORE TOOLS FEATURES. caCORE SDK Features caCORE Workbench Plugin EA/ArgoUML Plug-in development Integrated support of semantic integration in the plugin.
Advertisements

1 Opentest Architecture Table of Content –The Design Basic Components High-Level Test Architecture Test Flow –Services provided by each Layer Test Mgt.
Building Applications using ASP.NET and C# / Session 1 / 1 of 21 Session 1.
Introduction To System Analysis and Design
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
NDT Tools Tutorial: How-To setup your own NDT server Rich Carlson Summer 04 Joint Tech July 19, 2004.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
A GUIDE TO SHAREPOINT 2007 CUSTOMIZATION OPTIONS Heather Solomon, WSS MVP.
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
Sys Prog & Scripting - HW Univ1 Systems Programming & Scripting Lecture 15: PHP Introduction.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
The SAM-Grid Fabric Services Gabriele Garzoglio (for the SAM-Grid team) Computing Division Fermilab.
Overview of Mini-Edit and other Tools Access DB Oracle DB You Need to Send Entries From Your Std To the Registry You Need to Get Back Updated Entries From.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
Exlibris: Developers Meet Developers Feb. 1-2, 2010 Voyager To NUFinancials ( peoplesoft ) System ( for Invoice Payment ) Michael North Northwestern University.
W. Sliwinski – eLTC – 7March08 1 LSA & Safety – Integration of RBAC and MCS in the LHC control system.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
CSCI 6962: Server-side Design and Programming Introduction to Java Server Faces.
Introduction to Programming the WWW I CMSC Summer 2004 Lecture 6.
Lecture 19 Web Application Frameworks Boriana Koleva Room: C54
CSCI 6962: Server-side Design and Programming Web Services.
K. Harrison CERN, 20th April 2004 AJDL interface and LCG submission - Overview of AJDL - Using AJDL from Python - LCG submission.
1 Thomas Lippert Senior Product Manager - Mobile What’s new in SMC 5.0.
Javascript Cog Kit By Zhenhua Guo. Grid Applications Currently, most grid related applications are written as separate software. –server side: Globus,
Computer Emergency Notification System (CENS)
1 Some initial Design suggestions… Getting started… where to begin? Find out whether your design architecture will work… as soon as possible. If you need.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
Architecture of the web Client Server retrieved or generated web page.
An application architecture specifies the technologies to be used to implement one or more (and possibly all) information systems in terms of DATA, PROCESS,
Cohesion and Coupling CS 4311
Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by.
CSC 2720 Building Web Applications Server-side Scripting with PHP.
Copyright © 2012 UNICOM Systems, Inc. Confidential Information z/Ware Product Overview illustro Systems International A Division of UNICOM Global.
COWS CEDA OGC Web Services Framework Stephen Pascoe.
Server-side Programming The combination of –HTML –JavaScript –DOM is sometimes referred to as Dynamic HTML (DHTML) Web pages that include scripting are.
David Lawrence 7/8/091Intro. to PHP -- David Lawrence.
Implementing and Using the SIRWEB Interface Setup of the CGI script and web procfile Connecting to your database using HTML Retrieving data using the CGI.
J.P. Wellisch, CERN/EP/SFT SCRAM Information on SCRAM J.P. Wellisch, C. Williams, S. Ashby.
 Previous lessons have focused on client-side scripts  Programs embedded in the page’s HTML code  Can also execute scripts on the server  Server-side.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
ClearQuest XML Server with ClearCase Integration Northwest Rational User’s Group February 22, 2007 Frank Scholz Casey Stewart
MNP1163/MANP1163 (Software Construction).  Minimizing complexity  Anticipating change  Constructing for verification  Reuse  Standards in software.
HalFILE 2.1 Planned Features / User Feedback Session II.
K. Harrison CERN, 22nd September 2004 GANGA: ADA USER INTERFACE - Ganga release status - Job-Options Editor - Python support for AJDL - Job Builder - Python.
Meeting Scheduling System Capstone Project - Team#5 Fall2007.
INFSO-RI Enabling Grids for E-sciencE /10/20054th EGEE Conference - Pisa1 gLite Configuration and Deployment Models JRA1 Integration.
Web Services using PHP. web services (recap) Web services today are frequently just Application Programming Interfaces (API) or web APIs that can be accessed.
1 Configuration Database David Forrest University of Glasgow RAL :: 31 May 2009.
Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the Web presented by Kedar Desai Differential Technologies,
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
Software tools for digital LLRF system integration at CERN 04/11/2015 LLRF15, Software tools2 Andy Butterworth Tom Levens, Andrey Pashnin, Anthony Rey.
DLSLUG Presentation: Firefox extensions. DLSLUG Presentation: Firefox extensions, Roger Trussell ● My address is
Introduction to Python for System Administrators Toshio Kuratomi May 2011.
CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I.
Architecture Review 10/11/2004
CISC103 Web Development Basics: Web site:
z/Ware 2.0 Technical Overview
Outline SOAP and Web Services in relation to Distributed Objects
GLAST Release Manager Automated code compilation via the Release Manager Navid Golpayegani, GSFC/SSAI Overview The Release Manager is a program responsible.
Outline SOAP and Web Services in relation to Distributed Objects
Testing REST IPA using POSTMAN
ASP.NET Module Subtitle.
Architecture of the web
NICOS – IBEX Interactions
Sending data to EUROSTAT using STATEL and STADIUM web client
Presentation transcript:

Stuff about DX/GS

Overview

Installation of client/server packages 1 Complex installation: pydxs (pydxc) package into …/lib/python2.4/site- packages/ dxs (dxc) into /usr/local/…/dxs/ - holds config file, dataset listings, utility scripts, log dir etc. Client has web content: /srv/www/htdocs/dx/ Requires >15 paths/variables to be set pre- installation.

Installation of client/server packages 2 Re-using python’s distutils package: When creating source distribution: python setup.py sdist When unpacking/building: tar –xvzf …tgz cd … python setup.py install [options] All complexity of installing in different locations is done in setup.py

Utilities 1 DateTimeManager.py: Python utils for date/time objects with: add(, ) functionality createList(,,, ) String formatting of time objects Simple Calendar support SessionObject.py Session management via a python shelve object written to a file.

Utilities 2 LogManager.py: Uses python’s logging package

Configuration Configuration files and vars: I used *.py config files. Moving towards using python’s ConfigParser I use UPPER_CASE to show vars are from config file. In order to allow multiple

Overlap CSML and DX/GS have overlap: Date/time funcs Subset to multiple files/single file rules File-naming rules Identify axis etc rules Feature (GML) analysis – sort of

Error Handling Server hierarchy based on: DXError Error raised may be caught elsewhere in the system. Administrator will be mailed Need sensible object to send back to client (I’ve used string for errors). But still dysfunctional! CGI uses DEBUG switch to determine if using cgitb module.

DX/GS walk through DX(GS)Controller class: def __init__(self, args): - takes a set of arguments controls flow of request. def _parseArgs(self, args): - parses arguments. They may be selections or actions. def _checkSecurity(self): - if required, calls security code to check what user is allowed to do. def _constructSessionObject(self): - constructs a session object (new or saved on server) to store user session info. def _generateOptions(self): - generate a list of lists containing the next set of options available to user based on existing session object. def _checkCredit(self): - check user has enough credit to get what they’ve requested. def _createOutput(self, costOnly=None): - create output file(s).

DX Server Details 1 (old)

DX Server Details 2 (old)

Handling multiple data models in the DX DX now has standard interfaces (internally) for multiple models: DataHandler.py: openDataFile(…), getVariables(…), getDomain(…), readVariableSubsetIntoMemory(…) OutputHandler.py: writeVariable(…), writeGlobalAttributes(…)

Python style Creating large packages, makes sense for UML to look like content, hence: 1 class per module Class name same as module name, e.g.: CDMSDataHandler.py holds class “CDMSDataHandler” Class names begin with capital Methods being with lower case Internal only methods prefixed with “_”.

Security Interface Agnostic to type of security used Understands concept of roles and users so access could be restricted by either/both. Can switch on/off Interface: (roles, token)=validate(username, password, token) (roles, users)=ResourceAccess( )

Experience I have Build cycle for Python Web Service: Change, build, deploy, test Web Service testing with command-line clients Unit testing with: if __name__==“__main__”: Allows me to test each component Encourages me to keep interface objects simple

ZSI experience Change of interface slightly with version 2.0 Have encoded version specifics: if zsiversion>=2.0: response=response[0][0] Error catching problem: Error stack ‘gets lost’ with ZSI unless I define error classes.

Web interface issues Have traditionally kept Javascript minimal Ajax paradigm means time to move forward. CSS should be doing all styling and should be consistent for all NDG web look and feel. Can we identify third-party libraries to build upon: rico, prototype, x library etc.

Ongoing issues (feedback?) WSDL never settling down: Requirements of server interface expanding Future (WFS/WCS) requirements suggest all should be XML rather than SOAP-Arrays which are currently being used. Job submission/queuing: Not an operational solution yesterday – maybe have a basic one (sQimPy).

Things I’d like us to do Use one python installation across NDG (needs to be CDAT though!?) Use common GUI styling Use common code for date/time/data object manipulation Use common feature identification code