Dynamic Data Exchanges with the Java Flow Processor Presenter: Scott Bowers Date: April 25, 2007.

Slides:



Advertisements
Similar presentations
Raptor Technical Details. Outline Workshop structured by Raptor workflow – Raptor Event model. – ICA log file parsing – ICA/MUA event storage – ICA event.
Advertisements

A Prototype Implementation of a Framework for Organising Virtual Exhibitions over the Web Ali Elbekai, Nick Rossiter School of Computing, Engineering and.
Demystifying the Protocol and Specification v1.1 Prepared for the Node Mentoring Meeting by: Rob Willis, Ross & Associates February.
1.  Understanding about How to Working with Server Side Scripting using PHP Framework (CodeIgniter) 2.
Network Publishing. Node 2.0 and Publishing Node 1.1 Focused on Basic Data Submissions Data Publishing Should Be the Focus for Node 2.0. Data Publishing.
1 HyCon Framework Overview Frank Allan Hansen and Bent Guldbjerg Christensen ! Run this presentation in presentation mode to watch animations.
Inside the GDS The Engine, Activities, Data Resource Implementations and Role Mapping EPCC, University of Edinburgh Tom Sugden First.
Figure 1. Hit analysis in 2002 of database-driven web applications Hits by Category in 2002 N = 73,873 Results Reporting 27% GME 26% Research 20% Bed Availability.
Electronic Reporting: ICIS Data Publishing Presented by: Alison Kittle, U.S. EPA Elisa Willard, Colorado Department of Public Health & Environment Roy.
UNIT-V The MVC architecture and Struts Framework.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
JSP Standard Tag Library
1 Understanding Cocoon2 Pankaj Kumar May 24, 2001 Web Services Organization HPMD, SSO, HP.
Chapter 33 CGI Technology for Dynamic Web Documents There are two alternative forms of retrieving web documents. Instead of retrieving static HTML documents,
Java Database Connectivity (JDBC) Introduction to JDBC JDBC is a simple API for connecting from Java applications to multiple databases. Lets you smoothly.
Building a UI with Zen Pat McGibbon –Sales Engineer.
1 3. Implementing Web Services 1.Create SOAP proxy interfaces and WSDL based service descriptions 2.Register/publish services 3.Stores service descriptions.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
SSC2: Web Services. Web Services Web Services offer interoperability using the web Web Services provide information on the operations they can perform.
SDPL 2002Notes 7: Apache Cocoon1 7 XML Web Site Architecture Example: Apache Cocoon, a Web publishing architecture based on XML technology
1 PHP and MySQL. 2 Topics  Querying Data with PHP  User-Driven Querying  Writing Data with PHP and MySQL PHP and MySQL.
Using JavaBeans and Custom Tags in JSP Lesson 3B / Slide 1 of 37 J2EE Web Components Pre-assessment Questions 1.The _____________ attribute of a JSP page.
OOI CyberInfrastructure: Technology Overview - Hyrax January 2009 Claudiu Farcas OOI CI Architecture & Design Team UCSD/Calit2.
DSpace UI Alexey Maslov. DSpace in general A digital library tool useful for storage, maintenance, and retrieval of digital documents Two types of interaction:
JSTL, XML and XSLT An introduction to JSP Standard Tag Library and XML/XSLT transformation for Web layout.
Extensible Stylesheet Language Chao-Hsien Chu, Ph.D. School of Information Sciences and Technology The Pennsylvania State University XSL-FO XSLT.
OGSA-DAI Architecture The OGSA-DAI Team
Computer Emergency Notification System (CENS)
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
Introduction to the new mainframe © Copyright IBM Corp., All rights reserved. Chapter 12 Understanding database managers on z/OS.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
ICDL 2004 Improving Federated Service for Non-cooperating Digital Libraries R. Shi, K. Maly, M. Zubair Department of Computer Science Old Dominion University.
Mike Jackson EPCC OGSA-DAI Architecture + Extensibility OGSA-DAI Tutorial GGF17, Tokyo.
REDUX – automatic capture, efficient storage Roger S. Barga Microsoft Research (MSR) Luciano Digiampietri University of Campinas, Sao Paolo, Brazil.
Node Mentoring Workshop “Sharing What We Node” CDX Test to Production Flow Steps New Orleans, Louisiana February 9-10, 2004.
1 Java Servlets l Servlets : programs that run within the context of a server, analogous to applets that run within the context of a browser. l Used to.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Spring MVC Essentials Getting started.
Middleware 3/29/2001 Kang, Seungwoo Lee, Jinwon. Description of Topics 1. CGI, Servlets, JSPs 2. Sessions/Cookies 3. Database Connection(JDBC, Connection.
1 Introduction to Servlets. Topics Web Applications and the Java Server. HTTP protocol. Servlets 2.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
What is a Servlet? Java Program that runs in a Java web server and conforms to the servlet api. A program that uses class library that decodes and encodes.
© 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.
Feb 24-27, 2004ICDL 2004, New Dehli Improving Federated Service for Non-cooperating Digital Libraries R. Shi, K. Maly, M. Zubair Department of Computer.
1 Exchange Network Shared Schema Components. 2 Shared Schema Components Topics: Introduction to Shared Schema Components Purpose/value of using Shared.
Chapter 12© copyright Janson Industries Java Server Faces ▮ Explain the JSF framework ▮ SDO (service data objects) ▮ Facelets ▮ Pagecode classes.
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.
Chapter – 8 Software Tools.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
D Copyright © 2004, Oracle. All rights reserved. Using Oracle XML Developer’s Kit.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTEGRATION.
JAFER Toolkit Project Oxford University 1 JAFER Java-based high level Z39.50 toolkit Matthew Dovey; Colin Tatham; Antony Corfield; Richard Mawby Oxford.
Apache Cocoon – XML Publishing Framework 데이터베이스 연구실 박사 1 학기 이 세영.
Programming for RESTful-SOA An introduction to building a SOA System with light-weighted RESTful Web Services (Web Services without SOAP or WSDL) Xiong.
Lecture Transforming Data: Using Apache Xalan to apply XSLT transformations Marc Dumontier Blueprint Initiative Samuel Lunenfeld Research Institute.
Integration Framework of SAP Business One as Platform for Scenario Development January 2016 Public.
ODBC, OCCI and JDBC overview
JSP (Java Server Page) JSP is server side technology which is used to create dynamic web pages just like Servlet technology. This is mainly used for implementing.
z/Ware 2.0 Technical Overview
Writing simple Java Web Services using Eclipse
LOCO Extract – Transform - Load
Creating Novell Portal Services Gadgets: An Architectural Overview
Knowledge Byte In this section, you will learn about:
PHP / MySQL Introduction
Building an Integrable XBRL Portal Daniel Hamm German Central Bank
Plug-In Architecture Pattern
SDMX IT Tools SDMX Registry
Presentation transcript:

Dynamic Data Exchanges with the Java Flow Processor Presenter: Scott Bowers Date: April 25, 2007

2 History of Java Flow Processor (JFP)  Developed in 2004 for NJDEP to facilitate dynamic data publishing and dynamic data submittal services  Used at New Jersey DEP to support  Facility Registry System (FRS) submittal and query services (production),  RCRA Handler and Permitting submittal and query services (production)  Used at Mississippi DEQ to support  FRS submittal and query services (testing only)  Use at Kentucky DEP to support  RCRA Handler, Permitting, and Corrective Action (testing only)  This utility is freely available to any Exchange Network partner!

3 What is the Flow Processor? The Flow Processor:  Is a generic Java application that knows nothing about specific Data Flows.  Is aware that data is retrieved from a database and needs to be formatted as XML.  Is dynamic, allowing SQL Selects and output XML to be changed without modifying the core Java code.  Is extensible, allowing additional Java extensions to be created and assigned to data flows.  Can export or return data (submit to CDX or save to permanent storage) in a variety of formats (XML, ZIP, or TXT).  Can be invoked with or without a Node

4 What is a Flow?  The Flow Processor operates on an entity called a Flow  A Flow is identified by a unique name  The only mandatory component of a Flow is the model  The model consists of a primary SQL query, and  Zero or more detailed queries  The remaining components of a Flow are optional  Zero or more PreProcessors (Java class)  An XML Translation (XSLT)  Zero or more ExportManagers (Java classes)

5 Simple Generic XML Submittal to CDX Get Flow Config Data XML (SQL) JFP Export Generate XML From SQL Transform XSLT Export Mgr Source Execute SQL Temp XML XSLT Final XML CDX *Execution is from Left to Right JFP Step

6 Data Retrieval Processing: Contact Example Primary Query select contact_id “id” from Contacts Where dept=‘Sales’ id Detailed Query 1 select contact_id, address, city, state, zip from Address Where contact_id=#id# Detailed Query 2 select contact_id, home, cell from Phone_Numbers Where contact_id=#id# Detailed Query 3 select contact_id,region from Sales_Regions Where contact_id=#id# Maple Ave. Detroit MI … … Southwest

7 Transformation Step: Contact Example Maple Ave. Detroit MI … … Southwest 100 Maple Ave. Detroit MI XSLT Temporary XML from Data Retrieval Final XML Output Post Transformation

8 Extending the Java Flow Processor  The Flow Processor can be extended by developing custom PreProcessors and ExportManagers classes.  At runtime, the Flow Processor Engine uses Java Reflection to instantiate a PreProcessor or ExportManager class.  A Java class that acts as a PreProcessor must implement the Java Interface FlowPreProcessManager.  A Java class that acts as a ExportManager must implement the Java Interface FlowExportManager.  Several Java extensions are included in the JFP:  DefaultPreProcessManager – Issues zero or more INSERT or UPDATE statements defined in the Flow Processor Settings database tables.  CDXExportManager – Submits an XML payload to a URL.  FileExportManager – Writes the resulting output to a flat file.

9 Flow Processor Complete Processing Steps

10 Deployable Components  The Java Flow Processor engine, default Pre- Processors, and Export Managers are packaged into a single Java Archive file (cgi-flow-process.jar)  It requires several third-party Open Source Java libraries, most notably:  iBATIS – Provides the data access layer from the source database and SQL mapping utilities  Apache – Several Java libraries provide support for XML parsing, XML Transformation, Connection Pooling, and Web Services (AXIS)  Log4J – Provides logging service

11 Invoking the Flow Processor  Invoked from a DOS command line or Unix shell script using the FlowProcessorCmdLine class.  Accepts just one configuration file to configure the Flow Processor  Called within existing Java applications using the FlowProcessor class directly. Two public methods are available:  performSubmit – This requires only a Flow name and returns a message of the resulting operation  performQuery – This requires a Flow name and a Java Map of potential query arguments. This returns the resulting byte stream from the JFP engine.

12 Node Functional Specification 1.1 Dynamic Node Query Services with JFP FlowProcessor class public byte[] performQuery( String flow_code, int start_row, int max_rows, Map arguments) Node query() FlowProcessor performQuery() JFP Engine Byte StreamXML

13 Dynamic Node Query Processing Steps  Convert Node Functional Specifications 1.1 WSDL into Java code (e.g., Node11 class)  public String query(String securityToken, String request, String startRow, String maxRows, String[] parameters)  Modify Node11’s query() method to retrieve an instance of the FlowProcessor class  Either use the incoming request parameter as the Flow code or translate the incoming request into the appropriate Flow code  Convert the incoming parameters array into a Java Map  Call the FlowProcessor’s performQuery() method with correct Flow code and Map of incoming parameters  Convert the returning byte[] into a String and return this as the result of the Query method

14  Using Apache Formatting Object Processing (FOP), stylesheets can transform XML into PDF  SQL Reports can be built and stylesheets can transform output into HTML reports. Other Output Possibilities with JFP

Questions?