AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part –

Slides:



Advertisements
Similar presentations
Chapter 6 Server-side Programming: Java Servlets
Advertisements

1 CSC 551: Web Programming Spring 2004 client-side programming with JavaScript  scripts vs. programs  JavaScript vs. JScript vs. VBScript  common tasks.
Chapter 3: Editing and Debugging SAS Programs. Some useful tips of using Program Editor Add line number: In the Command Box, type num, enter. Save SAS.
11 Getting Started with ASP.NET Beginning ASP.NET 4.0 in C# 2010 Chapters 5 and 6.
Operating-System Structures
The Web Warrior Guide to Web Design Technologies
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
1 Chapter 12 Working With Access 2000 on the Internet.
ASP Tutorial. What is ASP? ASP (Active Server Pages) is a Microsoft technology that enables you to make dynamic and interactive web pages. –ASP usually.
28/1/2001 Seminar in Databases in the Internet Environment Introduction to J ava S erver P ages technology by Naomi Chen.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Computers: Tools for an Information Age
Guide To UNIX Using Linux Third Edition
1 Java Server Pages Can web pages be created specially for each user? What part does Java play?
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Creating Web Page Forms
ECE356 – Database Systems Lab 1 – Building a Web Project with NetBeans Tiuley Alguindigue Lab Instructor – University of Waterloo, E & CE Dept. Fall 2013.
Using Ant to build J2EE Applications Kumar
Form Handling, Validation and Functions. Form Handling Forms are a graphical user interfaces (GUIs) that enables the interaction between users and servers.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part –
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
Comp2513 Forms and CGI Server Applications Daniel L. Silver, Ph.D.
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.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
Tutorial 10 Adding Spry Elements and Database Functionality Dreamweaver CS3 Tutorial 101.
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 2 INTRODUCTION TO SOFTWARE DEVELOPMENT: PROGRAMMING & LANGUAGES.
Section 17.1 Add an audio file using HTML Create a form using HTML Add text boxes using HTML Add radio buttons and check boxes using HTML Add a pull-down.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
Introduction to Applets CS 3505 Client Side Scripting with applets.
Microsoft Internet Explorer and the Internet Using Microsoft Explorer 5.
HTML. Principle of Programming  Interface with PC 2 English Japanese Chinese Machine Code Compiler / Interpreter C++ Perl Assembler Machine Code.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
Introduction of Geoprocessing Topic 7a 4/10/2007.
Extending HTML CPSC 120 Principles of Computer Science April 9, 2012.
Active Server Pages  In this chapter, you will learn:  How browsers and servers interacted on the Internet when the Internet first became popular 
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Dynamic web content HTTP and HTML: Berners-Lee’s Basics.
Java server pages. A JSP file basically contains HTML, but with embedded JSP tags with snippets of Java code inside them. A JSP file basically contains.
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
Dr. Qusai Abuein1 Internet & WWW How to program Chap.(6) JavaScript:Introduction to Scripting.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
Silberschatz, Galvin and Gagne  Operating System Concepts UNIT II Operating System Services.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
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 Java Server Pages A Java Server Page is a file consisting of HTML or XML markup into which special tags and code blocks are inserted When the page is.
IS2803 Developing Multimedia Applications for Business (Part 2) Lecture 2: Introduction to IS2803 Rob Gleasure
Introduction of Geoprocessing Lecture 9 3/24/2008.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
General Architecture of Retrieval Systems 1Adrienn Skrop.
Development of the EDEX plug-in Ingest overview Manual Endpoint LDM DistributionSrv Plugin decoder Plugin Data Object PersistIndexSrv NotificationSrv.
Teaching slides Chapter 6. Chapter 6 Software user interface design & construction Contents Introduction Graphical user interface – Rich window based.
Labs: Create, deploy and test a simple web service
Advanced Computer Systems
Development Environment
Running a Forms Developer Application
CSCI-235 Micro-Computer Applications
Writing simple Java Web Services using Eclipse
Chapter 2: System Structures
Section 17.1 Section 17.2 Add an audio file using HTML
Processes The most important processes used in Web-based systems and their internal organization.
CMPE419 Mobile Application Development
WEB PROGRAMMING JavaScript.
Teaching slides Chapter 6.
CMPE419 Mobile Application Development
Presentation transcript:

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Advanced Weather Interactive Processing System II (AWIPS II) AWIPS Development Environment (ADE) and the Common AWIPS Visualization Environment (CAVE) Module 3: Micro Engine and Scripts

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Module 3: Micro Engine and Scripts Module 3 Objectives Learn Why the Micro Engine Exists and the Role It Plays Understand the Architectural Pattern of the Micro Engine Learn How to Write and Test Micro Engine Scripts Learn How to Extend the Micro Engine by Writing Micro Engine Tasks Learn About Future Evolution of The Micro Engine

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, uEngine Task Execution Pattern Breaks Up Execution Into Small Reusable Tasks uEngine Vision –Create an execution framework for generating custom products on demand –Customer systems can request products by script requests over a network –The script performs small general units of work that get chained together to produce a customer product

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, uEngine Task Execution Pattern Breaks Up Execution Into Small Reusable Tasks uEngine Implementation –Runs out of an SOA services “ProductSrv” and “AutoBldSrv” that are attached for I/O to ESB endpoints –uEngine executes scripts in a XML language similar to “ANT” –Utilizes the open source project “common-digester” for high- performance XML to object parsing

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, uEngine Used Out of Two SOA Services IngestSrvPersistSrvIndexSrvProductSrv NotifySrvAutoBldSrvSubscribeSrvColabrateSrvGridEditSrv CAVE Visualization Client ADE 1.0 Services Mbean JMX Remote Service Management Client ASCIIIngestSrv GridIngestSrv SBNSatIngestSrv RadarSrv LightingSrv ProductSrv FileSystem RDBMS via JDBC Lucene – Reverse Idx Spatial R-Tree uEngine Scripts Grid Diagnostics SubscriptionNotify AlertNotify Data Rendering Notify Response CAVE Scripting Wx Drawing Wx Warning Data Interrogation Delivered T03 Delivered T05 Enterprise Service Bus – HTTP, JMS, Virtual Memory, File Endpoints Dissemination AdapterSrv Mbean Exec Adapter Hydro Adapter Jini Adapter Hydro Visualization Delivered T04 uEngine Scripts Services Independent of End Points

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, uEngine Design Concepts Idea originated out of ANT files –Think of uEngine tasks as being similar to ANT tasks inside –Most uEngine script tasks are “bodiless” –Simplicity is guiding concept –Tasks get executed from top to bottom in sequence, no controls Added Apache Commons Digester XML parser –Layered on SAX parsing –Improves the performance of XML parsing –Provides rule-based XML to Java Object mapping

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, uEngine Design Concepts Each Task defines its own parsing rules –Rules for a task can be changed with minimal impact on the micro engine –The abstract Task class provides convenience methods for many common rules Class bundle in uEngine identifies tasks –uEngine able to identify tasks included within its jar –Enables new tasks to be added with a system build –New tasks are “pluggable” – they do not require modifications to the existing uEngine

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Commons Digester <query name=“grid_type” value=“22” /> uEngine Task Execution Pattern Common-Digester Based XML Rule Driven Parsing > ProductSrv +receive() {String output = (String) myLaunch.parseAndRun(msg);} > Launcher +parseAndRun() {action = DigesterSingleton.parse(reader); action.executeTasks();} > Action +executeTasks() {Task task = i.next(); task.init(retObj); retObj = task.execute();}

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, <query name=“grid_type” value=“22” /> uEngine Task Execution Pattern Connecting Units of Work Together - ChainDataType termQuery query degribgribMap colorMap Task XML child elements Input ChainDataType Output ChainDataType colorImage colorMap imageOut format fileOutworldFileInfomakeServiceResponse > Task +addRules(Digester) +init(ChainDataType) +ChainDataType execute() Adding a new uEngine Task 1. Extend Task 2. Implement addRules() 3. Implement abstract methods

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, uEngine Task Execution Pattern Data Transformation Into Decision Aids - Scripting mathScript

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Writing and Testing uEngine Scripts General Rules –Remember the KISS principle – scripts generally create a single product –Script generally follow the Input-Process-Output (IPO) pattern –Each script starts with a data query – you need to know the data that may available

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Writing and Testing uEngine Scripts A Scripting Example We want a script that will return the latest TAF for Omaha Eppley Airport. The ICAO for Omaha Eppley is KOMA. The data should be returned to the client as a raw TAF record. Analysis In this case, there is no processing to be performed. We simply retrieve the data and return it to the client. Two uEngine tasks are used: –termQuery, which is used to query the data store –makeResponse, which returns the data to the client

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Writing and Testing uEngine Scripts The Basic Tag Formats: –action – represents the script document. Encloses other tags. –termQuery – defines a query to the data store –makeResponse – prepares the data to return to the client

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Writing and Testing uEngine Scripts The Completed Script This Returns the Raw Data to the Client Will Revisit This One on the Lab

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Writing and Testing uEngine Scripts A Script Example In this example, we again retrieve the latest TAF for KOMA, but in this case we will return the decoded report in XML format. Analysis Two additional uEngine tasks are needed here: –decodeAscii, which is used to decode the record –asciiXML, which converts the decoded report to XML format Note: To be useful, the client needs to “understand” the XML formatting.

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Writing and Testing uEngine Scripts The Basic Tag Formats: –decodeAscii – runs the TAF decoder. We will revisit this one later since it utilizes the plug-in pattern in performing the decoding. –asciiXML – converts the decoded TAF to XML. This one also utilizes the plug-in pattern. Note: Neither tag requires that the ascii report type be identified. This is part of the plug-in pattern.

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Writing and Testing uEngine Scripts The Completed Script Will Revisit This One in the Lab

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Writing and Testing uEngine Scripts Summary –Saw two example scripts that work with ASCII data –More examples in the documentation included on the DVD

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, BREAK

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Hands-On Micro Engine/Scripts Running the Development Version of EDEX Script Builder Web Page Running a Script Debugging a Script Script Editor Web Page

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Install EDEX on Development Computer To Start EDEX: Double Click the Start ActiveMQ, Start Mule, and Start Tomcat Icons on PC Desktop Linux Users: Start Edex From a Terminal Running EDEX 3 2 1

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Script Builder Web Page AWIPS ADE 0.1 Includes a Web Site That Can Be Used to Build/Debug uEngine Scripts –Does not have an empty editor page; we will use the GRIB Retrieval Page Open the Browser. Navigate to uEngineWeb Test Page.uEngineWeb Click GRIB Retrieval Link. Delete Contents of Blue Box. Enter the Script to Test. Steps:

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Running a Script Click the Get Image button Enter the script into the blue box

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Running a Script: Results This is the TAF. The original formatting is retained, but not reflected on page.

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Running a Script: Example 2 Click the Get Image button Enter the script into the blue box

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Running a Script: Results This is the decoded TAF. XML formatting is hidden by the page rendering.

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Debugging a Script uEngine Will Detect Common Scripting Errors –Invalid XML –Invalid search parameters –Missing tags This Error Caused by an Invalid ( uEngine Script Tag

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Script Editor Web Page AWIPS Test Driver Interface may be used as a script builder This interface used create scripts for this demo Expand the page to see the script

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, BREAK

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Extending the uEngine by Adding New Tasks Steps Involved in Writing New uEngine Tasks Writing a “Hello World” Task Testing Your New Task

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, General Rules Remember the KISS principle – each task should perform a single job Most tasks extend Task. May also extend an intermediate class –Jython tasks extend JythonTask rather than Task, but JythonTask extends Jython. Override the static addRules(Digester) method –At a minimum, call the static addBasicRules(…) method Implement the abstract init(ChainData), and execute() methods The abstract test(ChainData) method is currently deprecated and can be implemented by simply returning the input

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, The “Hello World” Task Problem Statement We want to create a uEngine task so that a uEngine script can print a “Hello World” message. Analysis In this case, we will interpret “print” as log a message. This allows for creation of a somewhat more useful task, one that will allow the script writer to log messages. For simplicity, the logging will be at “info” level.

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, The “Hello World” Task The XML Tag Syntax The tag name will be echo. The text to be logged will be provided via the message attribute. The message will be static, i.e., it will be determined at the time the script is written. Log Output Typical log output will be similar to INFO :07:46, 964 [ProductSrv.2] tasks.Echo Message: Hello World!

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, The “Hello World” Task Basic Class Structure –Basic class generated by Eclipse –Import statements added by Eclipse as needed “msg” and setMsg() follow Java bean naming pattern.

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, The “Hello World” Task addRules(Digester) method: “Echo.class” specifies the class and is required since this is a static method Uses the rules method from Task and previously defined constants to simplify code

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, The “Hello World” Task The init(ChainData) and Test(ChainData) Methods Init() simply saves its input for later, “dataChain” is provided by Task. test() has nothing to do, so simply return the input.

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, The “Hello World” Task The Execute() Method –All the action takes place here Use the logger to record the message All Tasks return the dataChain.

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, The “Hello World” Task – Using Eclipse Using the Eclipse Class Creation Wizard to create the basic class.

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, The “Hello World” Task – Using Eclipse At this point, you compile and deploy EDEX Once deployed, test the task in a uEngine script

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, The “Hello World” Task – Test Script Enter the test script as before, and click “Get Image”. Check the system log to see the message.

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, BREAK

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Summary Future Evolution of the uEngine Design

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, Resources On the ADE 0.1 DVD: –micro_engine_task_readme.pdf –micro_engine_scripting_readme.pdf –generic message format.pdf –AWIPS_ADE_EDEX_Build_Procedure.pdf –JavaDoc documentation for plug-ins is available. On the Web: –Apache Commons Digester project: // –Apache Jakarta Commons project: // –Apache Ant project:

AWP.TRG.SWCTR-TO4.ADE-CAVE(Lx)-01.00/02.00 Rev. A This document includes data that shall not be duplicated, used, or disclosed – in whole or in part – outside the Government for any purpose other than to the extent provided in contract DG133W-05-CQ However, the Government shall have the right to duplicate, use, or disclose the data to the extent provided in the contract. This restriction does not limit the Government’s right to use information contained in this data if it is obtained from another source without restriction. The data subject to this restriction are contained in all sheets. Jan. 16, BREAK