Developing applications that harness the Agricultural and Natural Resource Grid (and linking your own data) Matthew Laurenson and Seishi Ninomiya National.

Slides:



Advertisements
Similar presentations
National Agriculture and Food Research Organization National Agricultural Research Center Data Mining and GRID Research TeamTakuji Kiura, Atsushi Yamakawa,
Advertisements

Connecting to Databases. relational databases tables and relations accessed using SQL database -specific functionality –transaction processing commit.
User Interface Localizer: A system for making decision support software “world-compatible” Matthew Laurenson and Seishi Ninomiya National Agricultural.
Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy SOAP-based Web.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Technical Architectures
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
The Horticulture and Food Research Institute of New Zealand Ltd Using MetBroker software with FieldServer Matthew Laurenson.
Introduction to Web Based Application. Web-based application TCP/IP (HTTP) protocol Using WWW technology & software Distributed environment.
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.
A tool to dynamically merge corresponding weather data to crop data Xinwen Yu, Seishi Ninomiya, Atsushi Yamakawa National Agriculture Research Center,
Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.
Lecture 8 Epidemic communication, Server implementation.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
31 January 2007Craig E. Ward1 Large-Scale Simulation Experimentation and Analysis Database Programming Using Java.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
Week 7 Lecture Web Database Development Samuel Conn, Asst. Professor
Fall, Privacy&Security - Virginia Tech – Computer Science Click to edit Master title style Design Extensions to Google+ CS6204 Privacy and Security.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
SSC2: Web Services. Web Services Web Services offer interoperability using the web Web Services provide information on the operations they can perform.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
Postacademic Interuniversity Course in Information Technology – Module C1p1 Contents Data Communications Applications –File & print serving –Mail –Domain.
ISpheres Project. Project Overview iSpheresCore iSpheresImage Demonstration References.
Introduction to Internet Programming (Web Based Application)
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
SITools Enhanced Use of Laboratory Services and Data Romain Conseil
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
Fundamentals of Database Chapter 7 Database Technologies.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Lecture 15 Introduction to Web Services Web Service Applications.
F. Toussaint (WDCC, Hamburg) / / 1 CERA : Data Structure and User Interface Frank Toussaint Michael Lautenschlager World Data Center for Climate.
HTML. Principle of Programming  Interface with PC 2 English Japanese Chinese Machine Code Compiler / Interpreter C++ Perl Assembler Machine Code.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Putting it all together Dynamic Data Base Access Norman White Stern School of Business.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
1 Welcome to CSC 301 Web Programming Charles Frank.
Integrating Digital Libraries by CORBA, XML and Servlet Integrating Digital Libraries by CORBA, XML and Servlet Wing Hang Cheung, Michael R. Lyu and Kam.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Yu Xinwen, CAF Yamakawa, A., Kiura, T. Ninomiya, S., NARC, NARO 基于数据网格的数据共享与集成 Data-Grid based application of data integration and sharing.
Jian Gui WANG New Implementation of Agriculture Models APAN19---Jan New Implementations of Agriculture Models Using Mediate Architecture.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Copyright © 2002 ProsoftTraining. All rights reserved. JavaServer Pages.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
A radiologist analyzes an X-ray image, and writes his observations on papers  Image Tagging improves the quality, consistency.  Usefulness of the data.
SOAP-based Web Services Telerik Software Academy Software Quality Assurance.
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
Web Services An Introduction Copyright © Curt Hill.
TOPIC 7.0 LINUX SERVICES AND CONFIGURATION. ROOT USER Root user is called “super user” because it has power far beyond those of mortal user. As root,
The New Zealand Institute for Plant & Food Research Limited Matthew Laurenson International Environmental Software.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
© 2005 The Horticulture and Food Research Institute of New Zealand Ltd The agmodel project: Live linking between natural resource models and weather databases,
Preservation Data Services Persistent Archive Research Group Reagan W. Moore October 1, 2003.
WEB SERVICES.
Unit – 5 JAVA Web Services
The Client/Server Database Environment
PHP / MySQL Introduction
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Database Management Systems
Web Application Development Using PHP
Presentation transcript:

Developing applications that harness the Agricultural and Natural Resource Grid (and linking your own data) Matthew Laurenson and Seishi Ninomiya National Agricultural Research Center Tsukuba Japan

Contents Concepts –Remote Procedure Calls (RPC) –Brokers Using a broker –Metadata requests –Data requests –Issues –Linking your own data SOAP New brokers and future enhancements

Overall Goal: To help you make “portable” software applications (DSS).

Current Situation: Web-based but… Applications closely coupled to databases Limited range of applications at each site Duplicated development at each site

Soils Ag and NR Grid – a “Hotel Room” for Agricultural and Natural Resource DSS Room Weather Elevation Maps Connectors for local data DSS User interface in national language

New Zealand Soils Weather Elevation Map s

地 気象 地面の高 さ 地図 日本

中国 土壤 气象 海拔 交通图

Goal of Ag and NR Grid: To provide this “hotel room” in your country, so you can use models developed by others (and they can use your models).

Distributed Computing Concepts Remote Procedure Calls Brokers to handle heterogeneous databases

Remote Procedure Calls (RPC) RPCs let a program execute a procedure on a remote computer as if it were local.

Remote Procedure Call My Computer remote=findRemote() A=5 B=6 C=remote.add(A,B) Print C... Remote Computer procedure add(x,y) return x+y }...

Remote Procedure Calls (RPC) RPCs let a program execute a procedure on a remote computer as if it were local. Newer RPC mechanisms let programs send and receive data objects. RPC mechanisms: CORBA,.NET, Java RMI, SOAP... RMI – only Java programs can use SOAP – used by other languages as well

RPC vs Local Calls Latency (delay) –RPCs much slower than local calls –difficult to predict how long call will take May fail –network problems –problems with other computer (“server”) Security issues –firewalls...

But... Can distribute processing and data over multiple machines Great when multiple users must share the same dynamic data item or communicate with each other.

Mediated Architecture – “Brokers” Broker Domain Databases (Heterogeneous) Applications Consistent data access (using RPC mechanism)

MetBroker Korea Japan New Zealand Weather Databases Data Retrieval Applications South Africa USA Data Retrieval Servlet Weather Risk Crop Growth Disease Risk Web Browsers

Contents Concepts –Remote Procedure Calls (RPC) –Brokers Using a broker –Metadata requests –Data requests –Issues –Linking your own data SOAP New brokers and future enhancements

Data and Metadata Requests Metadata request Metadata result Broker Database (various) Application Standard request DB-specific query DB-specific result Standard result Metadata Data Interaction between applications and brokers uses objects – data packages

Example - MetBroker Services Weather Data –Single station –All stations in a region Metadata (data about data) –Database details (coverage of globe, login req.) –Regions within databases –Station details (latitude, longitude, start date, end date, elements recorded, resolution...)

Elements of a Station Data Request Weather station Required weather elements Time interval Username/password Resolution Allow summarizing

Send Request to MetBroker and Receive Result Data Result Tsuchiura Operated 1976-present 1999/1/3 06: /2/1 00: , -0.2, , 3.8, , -1.5, To MetBroker  Data Request amedas rain, air temperature 1999/1/1-1999/2/1 daily OK to summarize

Query Results - Single Station Station & query details rainair temp.solar rad. Station details and data sequences are encapsulated in a single result object

Broker Temperature Rainfall Radiation Client Spatial Request

Wakayama Rainfall DB AMeDAS Daily max/min temperatures & rainfall for all stations in region Spatial Request Background map dynamically retrieved from

Query results - multiple stations

Using Brokers – Implementation Issues

RMI Blocked by Firewalls Client Application Java Broker Server Machine Client Application Java Wrapper Servlet HTTP RMI Client-side firewalls

Applet Using Multiple Brokers Spatial Risk Applet MetBroker DEMBroker ChizuBroker Background maps Elevation data Meteorological data Resource Server Application text

Without Multiple Threads - Sequential MetBroker DEMBroker ChizuBroker Background maps Elevation data Meteorological data Resource Server Application text 12 seconds Spatial Risk Applet

With Multiple Threads – Parallel MetBroker DEMBroker ChizuBroker Background maps Elevation data Meteorological data Resource Server Application text 5 seconds Spatial Risk Applet

JavaBeans for Java GUI programs For rapid GUI development in Java can use existing MetBeans Transparently handle firewalls, latency... Making a simple data retrieval application takes about 30 minutes Used in many MetBroker demo applications

Easy Development of New Applications

Databases Linked Using “Drivers” Databases Applications Broker

Linking a Database to a Broker Need to write one Java class (a “driver”) with two or three main methods Typically use Java Database Connectivity (JDBC) drivers to query relational databases Can reuse existing classes for Oracle, Postgres, and MySQL JDBC. Drivers can read data from files via HTTP, or parse HTML tables. “Test harness” available for driver development

How much work? Add a new database to MetBroker –roughly working - 3 days –tested more thoroughly – 1 week –(assuming that database is readily accessible) Make a MetBroker applet –working prototype in one day –(assuming basic science is “done”)

Developer Resources Demos, documentation, downloads, pictures – Mailing lists – subscribe at web site Brokers are open source under the GNU Lesser General Public License. –Can be used in commercial applications –Any improvements must be released under same license

Linking your data to the grid lets you use grid tools developed by others. It doesn’t mean you must share your data with everyone (password protection). The key to interoperability is the interface Reminders

Contents Concepts –Remote Procedure Calls (RPC) –Brokers Using a broker –Metadata requests –Data requests –Issues –Linking your own data SOAP New brokers and future enhancements

SOAP An XML-based RPC mechanism Independent of programming language SOAP toolkits for C++, Visual Basic, Delphi, Java, ASP, PHP, Perl, Python… Firewall-friendly Basis of Microsoft.NET architecture A SOAP Web service is described in standard format using a.WSDL file (Web Services Description Language)

Visual Basic client application Application code MS SOAP Toolkit VB function calls VB objects MetSOAP SOAP over HTTP MetBroker Delphi client application Application code Borland SOAP Toolkit Delphi function calls Delphi objects SOAP over HTTP RMI Example - MetSOAP

SOAP Summary Positives: –Opens brokers to a range of programming languages –Already the standard for Web-based RPC –Avoids most firewall issues Negatives –Can’t reuse Java classes - must “mirror” in each language –Interoperability is still imperfect (but improving fast) –Inefficient for large data sets

Typical Array in SOAP

Model Deployment Options - Summary Java applet –flexible, responsive once loaded but requires plug-in Java servlet –simple browsers, rapid load, but clunky interface SOAP –direct access for Delphi, VB… Existing models (FORTAN,C,BASIC) –Use simple Java app. to retrieve data and write to a file

Contents Concepts –Brokers –Remote Procedure Calls (RPC) Using a broker –Metadata requests –Data requests –Issues –Linking your own data SOAP New brokers and future enhancements

New Brokers DEM Broker - Digital Elevation Model data –Japan 50m resolution –World 1km resolution ResourceServer –Internet-based service for software localization ChizuBroker – Web map services – (Japan) – (New Zealand) SoilBroker – soils data

Future enhancements Broker-side interpolation (using DEMBroker) –temporal –spatial

Server Temperature Rainfall Radiation Client “Virtual station” Broker-side interpolation at single site

Future enhancements Broker-side interpolation (using DEMBroker) –temporal –spatial Other brokers –Place names –Crops and crop models (prototyped) –Agrichemicals

Final Points The Grid provides a stable, powerful foundation for Ag and NR software You can now develop grid applications in your favourite programming language. NARO is keen to help you to both develop new applications and link new databases. Database owners around the world will be keen to evaluate your applications.

Thank you