RPG Chart Engine. Exploit the power of open source java from RPG. Krengel Technology Inc. Leverage Java from your RPG to save time and money!
|
|
|
- Godwin Kevin Page
- 10 years ago
- Views:
Transcription
1 Exploit the power of open source java from RPG Leverage Java from your RPG to save time and money! RPG Chart Engine Copyright Aaron Bartell 2011 by Aaron Bartell Krengel Technology Inc.
2 Abstract This session explains how RPG's Java interface extensions can be used to exploit the wealth of Open Source Java applications. Step through the basic RPG syntax extensions and see how the interface works through practical examples. Understand how to interface with the Twitter API to easily send tweets (a.k.a. status updates) from your RPG programs. Find out how to create QR codes interfacing with ZXing APIs from the community and Google. Get best practices for building pie charts, bar graphs, and more by interfacing to the JFree.org APIs. Leave this session with an understanding of how the performance of such Java utilities can be improved through the use of server job and data queue interfaces.
3 RPG direct to Java 1) V5R1 introduced the O, or Object, data type to RPG IBM s docs for RPG s Object data type: 2) Example of prototyping a Java method Djava2RPGStr pr 65535a varying D extproc(*java:'java.lang.string':'getbytes') /free RPGStrVar = getbytes(javastrvar); /end-free 3) Java operates within a JVM (Java Virtual Machine). Think of this as Java having it s own operating system runtime on top of the IBM i operating system, though it is much smaller. 4) The JVM doesn t start with the RPG cycle and instead starts when the first Java method is invoked with the RPG program.
4 MowYourLawn.com Inception: Free and Open SourceTools OpenRPGUI - RPG talks to web and mobile RPGMail - from RPG RPG Chart Engine - Bar, pie, line charts from RPG RPG To Desktop - Communicate with the desktop TweetMe4i - Send twitter updates from RPG QR4i - Create QR codes from RPG HTML2PDF4i - Create PDF files from HTML ( control System i SVN Client(source WebServiceTester - Lightweight client for testing web services
5 TweetMe4i What,Why,How? What: An RPG and *CMD interface over some custom Java I wrote that communicates status updates to a Twitter.com account. Why: Twitter is becoming something and is being used more and more in business scenarios for notifying customers and marketing purposes. How: Make use of open source Java project
6 TweetMe4i Example H dftactgrp(*no) D TweetMe4i pr extpgm('tweetme4ir') D pptxt 140a const D ppresult likeds(gresult) D gresult ds qualified D code 10a D text 5000a /free *inlr = *on; TweetMe4i( 'Where are my feathers! Time:' + %char(%timestamp): gresult ); if gresult.code <> 'SUCCESS'; dsply 'Error occurred'; // review gresult.text for Java error. endif; /end-free
7 TWEETME4IR - Java setup Prime the Java environment. Note that this only needs to be called once per job. Calling it again will simply have no affect. What is a CLASSPATH you ask? Very similar to a library list. monitor; cmd = 'ADDENVVAR ENVVAR(CLASSPATH) VALUE(' + qte + '/java/tweetme4i' + ':/java/tweetme4i/tweetme4i.jar' + ':/java/tweetme4i/twitter4j-core jar' + qte + ')'; QCMDEXC(%trimr(cmd): %len(%trimr(cmd)) ); cmd = 'ADDENVVAR ENVVAR(QIBM_RPG_JAVA_PROPERTIES) ' + 'REPLACE(*YES) VALUE(' + qte + '-Djava.version=1.5;' + qte + ')'; QCMDEXC(%trimr(cmd): %len(%trimr(cmd)) ); on-error; endmon;
8 TWEETME4IR - Invoke Java The TweetM34i_sendUpdate() prototype is configure in the glocal D-specs of TWEETME4IR source member. RPG strings need to be converted to Java strings using newstr(). Java strings need to be converted to RPG strings using getbytes(). monitor; jstr = TweetMe4i_sendUpdate( newstr(pptxt) ); gresult = getbytes(jstr); on-error ; gresult.code = 'ERROR'; gresult.text = 'An error occurred during the call to TweetMe4i_sendUpdate. ' + 'Check the joblog for more information.'; endmon; select; when %parms = 1 and gresult.code <> 'SUCCESS'; Error_throw(gResult.code: gresult.text); when %parms = 2; ppresult = gresult; endsl; Determine if we were called by the *CMD and if so, throw an error on the call stack and job log.
9 TweetMe4i_sendUpdate Prototype that allows RPG to call the sendupdate() Java method within Java class TweetMe4i. D jstrconst c 'java.lang.string' D TweetMe4i_sendUpdate... D pr o class(*java: jstrconst) static D extproc( D *java: D 'com.mowyourlawn.twitter.tweetme4i': D 'sendupdate') D ptxt o class(*java: jstrconst) const DgetBytes pr 65535a varying D extproc(*java:jstrconst:'getbytes')
10 Configure TweetMe4i TweetMe4i requires a twitter account and twitter application be created. That process is described in this article:
11 TweetMe4i *CMD Location: TWEETME4I/QCLSRC,TWEETME4I CMD PARM PROMPT('TweetMe4i') KWD(TXT) TYPE(*CHAR) LEN(140) PROMPT('Tweet Text') MIN(1) From the command line... TWEETME4I TXT('Where are my feathers!?!') NOTE: Twitter has mechanisms in place to prevent duplicate postings! So you can t send the same message repeatedly if you are looking to just test the API.
12 TweetMe4i.java Guts Example Java program that shows how to make use of the TweetMe4i.java object which is contained within /java/tweetme4i/tweetme4i.jar. The twitter4j API by itself wasn t able to be quickly implemented in other Java programs so an additional Java wrapper (TweetMe4i.java) was added to lessen the number of API calls on the RPG side. public static String sendupdate(string tweettext) { String result = ""; } try { Twitter twitter = new TwitterFactory().getInstance(); if (!twitter.getauthorization().isenabled()) { result = resultds("fail", "OAuth consumer key/secret is not set."); } Status status = twitter.updatestatus(tweettext); result = resultds( "SUCCESS", "Successfully updated the status to [" + status.gettext() + "]."); } catch (Exception te) { result = resultds("fail", "Java Exception:" + stacktracetostring(te)); } return result;
13 QR4i What,Why,How? What: An RPG and *CMD interface over some custom Java I wrote that creates QR codes on the fly. Why: QR codes are becoming popular because of the major boom in smart phones. How: Use (Zxing)
14 Supported Barcodes Zxing (pronounced zebra crossing ) UPC-A and UPC-E EAN-8 and EAN-13 Code 39 Code 93 Code 128 QR Code ITF Codabar RSS-14 (all variants) Data Matrix PDF 417 ('alpha' quality) Aztec ('alpha' quality)
15 QR4i Example H dftactgrp(*no) D QR4i pr extpgm('qr4ir') D pptxt 4296a const D ppfile 1024a const D ppwidth 10i 0 const D ppheight 10i 0 const D ppfmt 10a const D ppresult likeds(gresult) NOTE: Max QR code size is 4296 bytes. D gresult ds qualified D code 10a D text 5000a D gtxt s 4296a varying D gfile s 1024a varying D gwidth s 10i 0 inz(200) D gheight s 10i 0 inz(200) D gfmt s 10a inz('png') /free Ex: Text string with new line character gtxt = 'Aaron Bartell\n150 Center Mountain Drive\nMankato, MN 56001'; gfile = '/java/qr4i/newline.png'; QR4i(gTxt: gfile: gwidth: gheight: gfmt: gresult);...
16 QR4i Example... Ex: Business Card gtxt = 'MECARD:N:Bartell,Aaron;ADR:Center Mountain Drive, Mankato,MN' + ' 56001;TEL: ; [email protected];;'; gfile = '/java/qr4i/mecard.png'; QR4i(gTxt: gfile: gwidth: gheight: gfmt: gresult); Ex: Pre-filled gtxt = 'MATMSG:TO:[email protected];SUB:QR4i Test;' + 'BODY:Hi Aaron, Do you want my winning lottery ticket?;'; gfile = '/java/qr4i/matmsg.png'; QR4i(gTxt: gfile: gwidth: gheight: gfmt: gresult); Ex: URL gtxt = ' gfile = '/java/qr4i/url.png'; QR4i(gTxt: gfile: gwidth: gheight: gfmt: gresult);
17 QR4iR - Java setup Prime the Java environment. Note that this only needs to be called once per job. Calling it again will simply have no affect. What is a CLASSPATH you ask? Very similar to a library list. monitor; cmd = 'ADDENVVAR ENVVAR(CLASSPATH) REPLACE(*YES) VALUE(' + qte + '/java/qr4i' + ':/java/qr4i/qr4i.jar' + qte + ')'; QCMDEXC(%trimr(cmd): %len(%trimr(cmd)) ); cmd = 'ADDENVVAR ENVVAR(QIBM_RPG_JAVA_PROPERTIES) ' + 'REPLACE(*YES) VALUE(' + qte + '-Djava.version=1.5;' + '-Djava.awt.headless=true;' + qte + ')'; QCMDEXC(%trimr(cmd): %len(%trimr(cmd)) ); on-error; endmon; The Zxing code is compiled into the QR4i.jar file because they didn t offer a separate.jar file on their site. When on a machine without a graphical display attached.
18 QR4IR - Invoke Java The TweetM34i_sendUpdate() prototype is configure in the glocal D-specs of TWEETME4IR source member. RPG strings need to be converted to Java strings using newstr(). Java strings need to be converted to RPG strings using getbytes(). monitor; jstr = QR4i_create( newstr(pptxt): newstr(ppfile): ppwidth: ppheight: newstr(ppfmt)); gresult = getbytes(jstr); on-error ; gresult.code = 'ERROR'; gresult.text = 'An error occurred during the call to QR4i_sendUpdate. Check ' + 'the joblog for more information.'; endmon; select; when %parms = 5 and gresult.code <> 'SUCCESS'; Error_throw(gResult.code: gresult.text); when %parms = 6; ppresult = gresult; endsl; Determine if we were called by the *CMD and if so, throw an error on the call stack and job log.
19 QR4i *CMD Location: QR4I/QCLSRC,QR4I CMD PARM PROMPT('TweetMe4i') KWD(TXT) TYPE(*CHAR) LEN(140) PROMPT('Tweet Text') MIN(1) From the command line... QR4I TXT('This is a test') FILE('/java/QR4i/test.png') WIDTH(200) HEIGHT(200) FMT(PNG) NOTE: You can also produce JPEG files.
20 MowYourLawn.com RPGChartEngine - What, Why and How? What: A set of RPG sub procedures (say service program) that can create graphical charts with ease from your IBM i RPG program to be used in other mediums (i.e. PDF, Excel, Word, www, etc). Why: Personal challenge and after reviewing the Java API s I realized it wouldn t be that hard. Also wanted to learn and show how to have RPG talk to Java through data queues. How: utilize the JFreeChart API's from
21 MowYourLawn.com RPG Chart Engine Approach 1 Make calls to RCE_* sub procedures which in turn do WRITE s to RCEHDRPF and RCEDTAPF. 2 Execute RCE_run which in turn writes a record with a unique key to data queue DQRCE. RPG program immediately goes to wait for a response on the same data queue for the same unique key. 3 Java program RPGChartEngine.java is listening for new entries on data queue DQRCE. 4 Java uses unique key from data queue entry to do an SQL select out to tables RCEHDRPF and RCEDTAPF to obtain the information necessary to produce the appropriate graph. 5 Using the information in RCEHDRPF the Java program knows which type of chart to create and uses data from RCEDTAPF to produce the data detail aspect of the chart. The result is placed in the IFS at the location your RPG program specified. If debugging is turned on the Java program will also trickle statements into that file during processing. 6 Java program completes and writes the result of the chart creation back to the data queue. 7 RPG program receives response and continues processing based on the result.
22 Data Queue Definition CRTDTAQ DTAQ(&LIB/DQRCE) MAXLEN(32766) SEQ(*KEYED) KEYLEN(15) AUTORCL(*YES) Data queue DQRCE is used to connect the RPG and Java programs. Two data queues could have been created, one for requests and one for responses, but it is stated in IBM documentation that having a single *KEYED data queue is a better practice if the situation can facilitate it. A keyed data queue is neat because you can tell your RPG program to listen for ANY entry or only entries with a specific key. In RPG Chart Engines case the Java program is listening for ALL entries, and the RPG program that made the request is waiting for specific uniquely keyed response.
23 MowYourLawn.com Starting The Java Process PGM DCL DCL DCL DCL DCL DCL DCL DCL DCL PARM(&HOST &USER &PW &DTALIB &DQLIB &DQNAM &DQWAIT &DBG &DBGFLR) VAR(&HOST) TYPE(*CHAR) LEN(100) VAR(&USER) TYPE(*CHAR) LEN(10) VAR(&PW) TYPE(*CHAR) LEN(10) VAR(&DTALIB) TYPE(*CHAR) LEN(10) VAR(&DQLIB) TYPE(*CHAR) LEN(10) VAR(&DQNAM) TYPE(*CHAR) LEN(10) VAR(&DQWAIT) TYPE(*CHAR) LEN(5) VAR(&DBG) TYPE(*CHAR) LEN(5) VAR(&DBGFLR) TYPE(*CHAR) LEN(256) SBMJOB CMD(RUNJVA CLASS(com.mowyourlawn.os.RPGChartEngine) PARM(&HOST &USER &PW &DTALIB &DQLIB &DQNAM &DQWAIT &DBG &DBGFLR) + CLASSPATH('/java/rce/RPGChartEngine.jar:/java/rce/jcommon jar:/java/rce/ jfreechart jar:/java/rce/jt400.jar') PROP((java.version 1.4) (java.awt.headless true)) OPTION(*VERBOSE)) JOB(RCERUNJVA) ENDPGM Calling the below command will in turn call CL program STRRCEC which submits a RUNJVA command. ('/ DBGFLR('/java/rce RCE/STRRCE DTALIB(RCE) DQLIB(RCE) DQNAM(DQRCE) DQWAIT(-1) DBG(TRUE) With DBG(TRUE) specified, text will be trickled into /java/rce/rce_debug_2011-apr-09.log ( WRKACTJOB ) RPG Chart Engine jobs running Subsystem/Job User Type CPU % Function Status QBASE QSYS SBS.0 DEQW QJVACMDSRV AARON BCI.0 JVM-RPGChartEn JVAW RCERUNJVA AARON BCH.0 CMD-RUNJVA TIMW
24 MowYourLawn.com Example Program Copy in RCECP from library RCE source physical file QSOURCE. This contains all the necessary RPG prototypes. Variable uid is used to keep track of a particular charts data in the RCEHDRPF and RCEDTAPF physical files. Currently there are three charts from JFreeChart that are implemented Bar, Pie, and XY charts. To add new charts would require RPG and Java programming.
25 MowYourLawn.com Bar Chart First execute RCE_newBarChart and pass in parameters to initialize values specific to your business need. A unique number will be passed back that will be used on subsequent calls to RCE_addBarChartData so that when data is written to RCEDTAPF it can be related.
26 MowYourLawn.com Pie Chart Pie Chart First execute RCE_newPieChart and pass in parameters to initialize values specific to your business need. A unique number will be passed back that will be used on subsequent calls to RCE_addPieChartData so that when data is written to RCEDTAPF it can be related. The number and data types of parameters for RCE_addPieChartData are different than RCE_addBarChartData, but in the end they all go to the same physical file RCEDTAPF. Separate procedures were created to more easily understand what was required for detail data concerning each chart.
27 Line Chart First execute RCE_newXYLineChart and pass in parameters to initialize values specific to your business need. A unique number will be passed back that will be used on subsequent calls to RCE_addXYLineChartData so that when data is written to RCEDTAPF it can be related.
28 Innards Each API starting with RCE_new* has a specific set of parms it calls for and those parms will be placed in the appropriate fields of physical file RCEHDRPF. The unqnbr() sub procedure is locally defined and increments a value in a data queue by one and returns the new value. The remainder of the RCE_new* sub procedures have the same concept, just different parms that are place in different header fields.
29 MowYourLawn.com Java Communication RCE_run is where the communication with Java starts. At this point there is data in RCEHDRPF and RCEDTAPF that provides all the information necessary for the Java side to create a chart. SndDtaQ is simply writing the unique key
30 Java Guts - RPGChartEngine.java When STRRCE is executed it instantiates the RPGChartEngine Java object and attaches to the DQRCE data queue waiting for entries. Instantiates simply means the Java program goes through it s initial execution much akin to *INZSR in RPG. As you can see in the code there is a debug statement. This will write out to a file in the IFS if debugging was turned on during startup of this Java process. As soon as an entry is received the processentry() method is called.
31 MowYourLawn.com Java Guts - processentry Method processentry s purpose is to obtain the unique key value and start a new Java thread. Starting a thread is similar to submitting a job in OS/400; you pass some priming input parms and disconnect from the process so it can do it s own processing apart from the main process. This enables better throughput as multiple charts can be created at the same time. If any errors occur during this process then a text message will be placed in the debug file residing in the IFS.
32 MowYourLawn.com Java Guts - JFreeChartTransaction The content of inner class JFreeChartTransaction is too big to place here, so only the finer points will be noted. To create the chart at hand the program obviously needs to gain access to the physical file data. Below is the Java code necessary to read the data into result sets. Result sets are very similar to a result set in RPG when using embedded SQL.
33 MowYourLawn.com Java Guts - JFreeChartTransaction... The following code is where physical file data meets the actual chart. The chart type is determined and then the appropriate Java classes are called to build the chart. Once the chart variable has been loaded appropriately it can be placed into a JPEG file in the IFS.
34 MowYourLawn.com Java Guts - JFreeChartTransaction... The last step from the Java side is to write a response entry to data queue DQRCE. If an error occurs then the RPG program waiting for the response will simply have to time out and appropriately generate a notification so somebody knows the process failed.
35 Other Open Source Java Utilities Try one of these guys out for yourself to see what you can do! (Graphical charts) (Excel Spreadsheets) (PDF creation) (Reports) (check out for a ( project start to this ( Reporting )
36 Other Open Source Sites
37 We have reached the end! Aaron Bartell ( ) lead developer of RPG-XML Suite and owner of and check out his latest effort at
Excel Spreadsheets from RPG With Apache's POI / HSSF
Excel Spreadsheets from RPG With Apache's POI / HSSF Presented by Scott Klement http://www.scottklement.com 2007-2012, Scott Klement There are 10 types of people in the world. Those who understand binary,
Introduction to Web services for RPG developers
Introduction to Web services for RPG developers Claus Weiss [email protected] TUG meeting March 2011 1 Acknowledgement In parts of this presentation I am using work published by: Linda Cole, IBM Canada
Instrumentation Software Profiling
Instrumentation Software Profiling Software Profiling Instrumentation of a program so that data related to runtime performance (e.g execution time, memory usage) is gathered for one or more pieces of the
User Guide. 6533 Flying Cloud Drive, Suite 200 Eden Prairie, MN 55344 Phone 952/933-0609 Fax 952/933-8153 www.helpsystems.com
AnyDate 2.0 User Guide A Help/Systems Company 6533 Flying Cloud Drive, Suite 200 Eden Prairie, MN 55344 Phone 952/933-0609 Fax 952/933-8153 www.helpsystems.com Copyright 2012, Help/Systems-IL, LLC. COPYRIGHT
FileMaker 11. ODBC and JDBC Guide
FileMaker 11 ODBC and JDBC Guide 2004 2010 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc. registered
BARCODE LABELING SOFTWARE
BARCODE LABELING SOFTWARE TM The Labeling Answer The Industry Leader. B Bar Code Labeling Software ar code labeling has become an integral part of nearly every industry. The demand for an accurate, reliable,
Smart Shopping- An Android Based Shopping Application
Smart Shopping- An Android Based Shopping Application 1 Adarsh Borkar, 2 Madhura Ansingkar, 3 Monali Khobragade, 4 Pooja Nashikkar, 5 Arti Raut 1,2,3,4 Department of Computer Science and Engineering, 5
Extending XSLT with Java and C#
Extending XSLT with Java and C# The world is not perfect. If it were, all data you have to process would be in XML and the only transformation language you would have to learn would XSLT. Because the world
ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY
ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY Suhas Holla #1, Mahima M Katti #2 # Department of Information Science & Engg, R V College of Engineering Bangalore, India Abstract In the advancing
Sisense. Product Highlights. www.sisense.com
Sisense Product Highlights Introduction Sisense is a business intelligence solution that simplifies analytics for complex data by offering an end-to-end platform that lets users easily prepare and analyze
Manual. Netumo NETUMO HELP MANUAL WWW.NETUMO.COM. Copyright Netumo 2014 All Rights Reserved
Manual Netumo NETUMO HELP MANUAL WWW.NETUMO.COM Copyright Netumo 2014 All Rights Reserved Table of Contents 1 Introduction... 0 2 Creating an Account... 0 2.1 Additional services Login... 1 3 Adding a
FreeForm Designer. Phone: +972-9-8309999 Fax: +972-9-8309998 POB 8792, Natanya, 42505 Israel www.autofont.com. Document2
FreeForm Designer FreeForm Designer enables designing smart forms based on industry-standard MS Word editing features. FreeForm Designer does not require any knowledge of or training in programming languages
FileMaker 14. ODBC and JDBC Guide
FileMaker 14 ODBC and JDBC Guide 2004 2015 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and FileMaker Go are trademarks of FileMaker,
Anyone remember this old banner ad? (it was for Net Nanny Pornography? On *MY* Computer? It s more likely than you think. )
Anyone remember this old banner ad? (it was for Net Nanny Pornography? On *MY* Computer? It s more likely than you think. ) Mentioned product names may be trademarks and / or copyrighted by their respective
FileMaker 13. ODBC and JDBC Guide
FileMaker 13 ODBC and JDBC Guide 2004 2013 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks of FileMaker, Inc.
FAQ CE 5.0 and WM 5.0 Application Development
FAQ CE 5.0 and WM 5.0 Application Development Revision 03 This document contains frequently asked questions (or FAQ s) related to application development for Windows Mobile 5.0 and Windows CE 5.0 devices.
Accesssing External Databases From ILE RPG (with help from Java)
Accesssing External Databases From ILE RPG (with help from Java) Presented by Scott Klement http://www.scottklement.com 2008-2015, Scott Klement There are 10 types of people in the world. Those who understand
www.virtualians.pk CS506 Web Design and Development Solved Online Quiz No. 01 www.virtualians.pk
CS506 Web Design and Development Solved Online Quiz No. 01 Which of the following is a general purpose container? JFrame Dialog JPanel JApplet Which of the following package needs to be import while handling
DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service
DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service Achieving Scalability and High Availability Abstract DB2 Connect Enterprise Edition for Windows NT provides fast and robust connectivity
Creating and Using Databases for Android Applications
Creating and Using Databases for Android Applications Sunguk Lee * 1 Research Institute of Industrial Science and Technology Pohang, Korea [email protected] *Correspondent Author: Sunguk Lee* ([email protected])
www.orati-systems.com
www.orati-systems.com Table of Contents Summary Features Requirements Installation and configuration Rebuild and deploy Java Debugging Summary isftp is an open source toolset developed by Orati Systems
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
FileMaker 12. ODBC and JDBC Guide
FileMaker 12 ODBC and JDBC Guide 2004 2012 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks of FileMaker, Inc.
CS420: Operating Systems OS Services & System Calls
NK YORK COLLEGE OF PENNSYLVANIA HG OK 2 YORK COLLEGE OF PENNSYLVAN OS Services & System Calls James Moscola Department of Physical Sciences York College of Pennsylvania Based on Operating System Concepts,
3.5. cmsg Developer s Guide. Data Acquisition Group JEFFERSON LAB. Version
Version 3.5 JEFFERSON LAB Data Acquisition Group cmsg Developer s Guide J E F F E R S O N L A B D A T A A C Q U I S I T I O N G R O U P cmsg Developer s Guide Elliott Wolin [email protected] Carl Timmer [email protected]
PHP Batch Jobs on IBM i. Alan Seiden Consulting alanseiden.com
alanseiden.com Alan s PHP on IBM i focus Consultant to innovative IBM i and PHP users PHP project leader, Zend/IBM Toolkit Contributor, Zend Framework DB2 enhancements Award-winning developer Authority,
Barcodes principle. Identification systems (IDFS) Department of Control and Telematics Faculty of Transportation Sciences, CTU in Prague
Barcodes principle Identification systems (IDFS) Department of Control and Telematics Faculty of Transportation Sciences, CTU in Prague Contents How does it work? Bulls eye code PostNet 1D Bar code 2D
Agility Database Scalability Testing
Agility Database Scalability Testing V1.6 November 11, 2012 Prepared by on behalf of Table of Contents 1 Introduction... 4 1.1 Brief... 4 2 Scope... 5 3 Test Approach... 6 4 Test environment setup... 7
Rational Developer for IBM i (RDI) Distance Learning hands-on Labs IBM Rational Developer for i. Maintain an ILE RPG application using
IBM Software Rational Developer for IBM i (RDI) Distance Learning hands-on Labs IBM Rational Developer for i Maintain an ILE RPG application using Remote System Explorer Debug a CL/RPG program member Lab
OPERATING SYSTEM SERVICES
OPERATING SYSTEM SERVICES USER INTERFACE Command line interface(cli):uses text commands and a method for entering them Batch interface(bi):commands and directives to control those commands are entered
An Overview of Java. overview-1
An Overview of Java overview-1 Contents What is Java Major Java features Java virtual machine Java programming language Java class libraries (API) GUI Support in Java Networking and Threads in Java overview-2
Java Language Tools COPYRIGHTED MATERIAL. Part 1. In this part...
Part 1 Java Language Tools This beginning, ground-level part presents reference information for setting up the Java development environment and for compiling and running Java programs. This includes downloading
B M C S O F T W A R E, I N C. BASIC BEST PRACTICES. Ross Cochran Principal SW Consultant
B M C S O F T W A R E, I N C. PATROL FOR WEBSPHERE APPLICATION SERVER BASIC BEST PRACTICES Ross Cochran Principal SW Consultant PAT R O L F O R W E B S P H E R E A P P L I C AT I O N S E R V E R BEST PRACTICES
FileMaker Server 12. FileMaker Server Help
FileMaker Server 12 FileMaker Server Help 2010-2012 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc.
Java the UML Way: Integrating Object-Oriented Design and Programming
Java the UML Way: Integrating Object-Oriented Design and Programming by Else Lervik and Vegard B. Havdal ISBN 0-470-84386-1 John Wiley & Sons, Ltd. Table of Contents Preface xi 1 Introduction 1 1.1 Preliminaries
Getting Started with SandStorm NoSQL Benchmark
Getting Started with SandStorm NoSQL Benchmark SandStorm is an enterprise performance testing tool for web, mobile, cloud and big data applications. It provides a framework for benchmarking NoSQL, Hadoop,
SQL Basics for RPG Developers
SQL Basics for RPG Developers Chris Adair Manager of Application Development National Envelope Vice President/Treasurer Metro Midrange Systems Assoc. SQL HISTORY Structured English Query Language (SEQUEL)
The Sun Certified Associate for the Java Platform, Standard Edition, Exam Version 1.0
The following applies to all exams: Once exam vouchers are purchased you have up to one year from the date of purchase to use it. Each voucher is valid for one exam and may only be used at an Authorized
The IBM i on Rails + + Anthony Avison [email protected]. Copyright 2014 PowerRuby, Inc.
The IBM i on Rails + + Anthony Avison [email protected] Copyright 2014 PowerRuby, Inc. Rails on the the IBM i + + Anthony Avison [email protected] Copyright 2014 PowerRuby, Inc. There's something
Starting User Guide 11/29/2011
Table of Content Starting User Guide... 1 Register... 2 Create a new site... 3 Using a Template... 3 From a RSS feed... 5 From Scratch... 5 Edit a site... 6 In a few words... 6 In details... 6 Components
PHP Batch Jobs on IBM i
PHP Batch Jobs on IBM i Alan Seiden PHP on IBM i consultant/developer email: [email protected] blog: http://alanseiden.com Strategic Business Systems, Inc. Developing Web apps on IBM i (and iseries, i5...)
MySQL for Beginners Ed 3
Oracle University Contact Us: 1.800.529.0165 MySQL for Beginners Ed 3 Duration: 4 Days What you will learn The MySQL for Beginners course helps you learn about the world's most popular open source database.
New Features for Sybase Mobile SDK and Runtime. Sybase Unwired Platform 2.1 ESD #2
New Features for Sybase Mobile SDK and Runtime Sybase Unwired Platform 2.1 ESD #2 DOCUMENT ID: DC60009-01-0212-02 LAST REVISED: March 2012 Copyright 2012 by Sybase, Inc. All rights reserved. This publication
VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR
VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR Andrey V.Lyamin, State University of IT, Mechanics and Optics St. Petersburg, Russia Oleg E.Vashenkov, State University of IT, Mechanics and Optics, St.Petersburg,
Evaluator s Guide. PC-Duo Enterprise HelpDesk v5.0. Copyright 2006 Vector Networks Ltd and MetaQuest Software Inc. All rights reserved.
Evaluator s Guide PC-Duo Enterprise HelpDesk v5.0 Copyright 2006 Vector Networks Ltd and MetaQuest Software Inc. All rights reserved. All third-party trademarks are the property of their respective owners.
Introduction to TightVNC. Installation. TightVNC for Windows: Installation and Getting Started. TightVNC Version 2.6 Copyright 2012 GlavSoft LLC.
TightVNC for Windows: Installation and Getting Started Introduction to TightVNC TightVNC Version 2.6 Copyright 2012 GlavSoft LLC. TightVNC is a remote desktop software application. It lets you connect
Tool - 1: Health Center
Tool - 1: Health Center Joseph Amrith Raj http://facebook.com/webspherelibrary 2 Tool - 1: Health Center Table of Contents WebSphere Application Server Troubleshooting... Error! Bookmark not defined. About
There are also IBM Knowledge Base documents available on the internet at the following location. Search for SMTP to view the relevant documents:
Technical Document Document No: 14-02001 Document Title: Configuring Email on the AS/400 Category: Hints, Tips & FAQ Functional Area: Miscellaneous - Email OS/400 Release: V4.3 Document Description: E-Mail
Introduction to WebGL
Introduction to WebGL Alain Chesnais Chief Scientist, TrendSpottr ACM Past President [email protected] http://www.linkedin.com/in/alainchesnais http://facebook.com/alain.chesnais Housekeeping If you are
1 Introduction FrontBase is a high performance, scalable, SQL 92 compliant relational database server created in the for universal deployment.
FrontBase 7 for ios and Mac OS X 1 Introduction FrontBase is a high performance, scalable, SQL 92 compliant relational database server created in the for universal deployment. On Mac OS X FrontBase can
Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner
1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi
Fundamentals of Java Programming
Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors
FileMaker Server 10 Help
FileMaker Server 10 Help 2007-2009 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker, the file folder logo, Bento and the Bento logo
Migrate AS 400 Applications to Windows, UNIX or Linux
Migrate AS 400 Applications to Windows, UNIX or Linux INFINITE Corporation White Paper prepared for Infinite Product Group date January 2012 Abstract: This paper is a discussion of how to create platform
Transaction Monitoring Version 8.1.3 for AIX, Linux, and Windows. Reference IBM
Transaction Monitoring Version 8.1.3 for AIX, Linux, and Windows Reference IBM Note Before using this information and the product it supports, read the information in Notices. This edition applies to V8.1.3
Resource Utilization of Middleware Components in Embedded Systems
Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system
WebSphere Business Monitor V6.2 KPI history and prediction lab
Copyright IBM Corporation 2009 All rights reserved IBM WEBSPHERE BUSINESS MONITOR 6.2 LAB EXERCISE WebSphere Business Monitor V6.2 KPI history and prediction lab What this exercise is about... 1 Lab requirements...
Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone - 2012
Android Development Lecture 1 Android SDK & Development Environment Università Degli Studi di Parma Lecture Summary - 2 The Android Platform Android Environment Setup SDK Eclipse & ADT SDK Manager Android
Risks with web programming technologies. Steve Branigan Lucent Technologies
Risks with web programming technologies Steve Branigan Lucent Technologies Risks with web programming technologies Abstract Java applets and their kind are bringing new life to the World Wide Web. Through
MATLAB in Production Systems, Database Integration, and Big Data Eugene McGoldrick
MATLAB in Production Systems, Database Integration, and Big Data Eugene McGoldrick 2013 The MathWorks, Inc. 1 Agenda MATLAB Production Server and Excel Integrating MATLAB Production Server into Database
CS3600 SYSTEMS AND NETWORKS
CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 2: Operating System Structures Prof. Alan Mislove ([email protected]) Operating System Services Operating systems provide an environment for
PTC System Monitor Solution Training
PTC System Monitor Solution Training Patrick Kulenkamp June 2012 Agenda What is PTC System Monitor (PSM)? How does it work? Terminology PSM Configuration The PTC Integrity Implementation Drilling Down
BIRT Application and BIRT Report Deployment Functional Specification
Functional Specification Version 1: October 6, 2005 Abstract This document describes how the user will deploy a BIRT Application and BIRT reports to the Application Server. Document Revisions Version Date
Scan to Network and Scan to Network Premium
Scan to Network and Scan to Network Premium Administrator's Guide Important: This guide is intended for MX6500e. March 2013 www.lexmark.com Contents 2 Contents Overview...3 Configuring Scan to Network...4
CS346: Database Programming. http://warwick.ac.uk/cs346
CS346: Database Programming http://warwick.ac.uk/cs346 1 Database programming Issue: inclusionofdatabasestatementsinaprogram combination host language (general-purpose programming language, e.g. Java)
Effective Java Programming. efficient software development
Effective Java Programming efficient software development Structure efficient software development what is efficiency? development process profiling during development what determines the performance of
Java Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
Scan to Network and Scan to Network Premium. Administrator's Guide
Scan to Network and Scan to Network Premium Administrator's Guide March 2015 www.lexmark.com Contents 2 Contents Overview...3 Configuring the application...4 Configuring a destination...4 Configuring destination
System i Windows Integration Solutions
System i Windows Integration Solutions Jim Mason Cape Cod Bay Systems Quick Web Solutions [email protected] 508-728-4353 NEMUG - 2011 What we'll cover Introduction Windows Integration use cases Windows
How To Port A Program To Dynamic C (C) (C-Based) (Program) (For A Non Portable Program) (Un Portable) (Permanent) (Non Portable) C-Based (Programs) (Powerpoint)
TN203 Porting a Program to Dynamic C Introduction Dynamic C has a number of improvements and differences compared to many other C compiler systems. This application note gives instructions and suggestions
Migrate AS 400 Applications to Linux
Migrate AS 400 Applications to Linux Infinite Corporation White Paper date March 2011 Abstract: This paper is a discussion of how to create platform independence by executing i OS (AS/400) applications
GTask Developing asynchronous applications for multi-core efficiency
GTask Developing asynchronous applications for multi-core efficiency February 2009 SCALE 7x Los Angeles Christian Hergert What Is It? GTask is a mini framework to help you write asynchronous code. Dependencies
Protect, License and Sell Xojo Apps
Protect, License and Sell Xojo Apps To build great software with Xojo, you focus on user needs, design, code and the testing process. To build a profitable business, your focus expands to protection and
Web Dashboard User Guide
Web Dashboard User Guide Version 10.2 The software supplied with this document is the property of RadView Software and is furnished under a licensing agreement. Neither the software nor this document may
Microsoft SQL Server Features that can be used with the IBM i
that can be used with the IBM i Gateway/400 User Group February 9, 2012 Craig Pelkie [email protected] Copyright 2012, Craig Pelkie ALL RIGHTS RESERVED What is Microsoft SQL Server? Windows database management
Information Server Documentation SIMATIC. Information Server V8.0 Update 1 Information Server Documentation. Introduction 1. Web application basics 2
Introduction 1 Web application basics 2 SIMATIC Information Server V8.0 Update 1 System Manual Office add-ins basics 3 Time specifications 4 Report templates 5 Working with the Web application 6 Working
BI 4.1 Quick Start Java User s Guide
BI 4.1 Quick Start Java User s Guide BI 4.1 Quick Start Guide... 1 Introduction... 4 Logging in... 4 Home Screen... 5 Documents... 6 Preferences... 8 Web Intelligence... 12 Create a New Web Intelligence
Runtime Monitoring & Issue Tracking
Runtime Monitoring & Issue Tracking http://d3s.mff.cuni.cz Pavel Parízek [email protected] CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Runtime monitoring Nástroje pro vývoj software
Safewhere*Identify 3.4. Release Notes
Safewhere*Identify 3.4 Release Notes Safewhere*identify is a new kind of user identification and administration service providing for externalized and seamless authentication and authorization across organizations.
Accounts Payable Workflow Guide. Version 11.2
Accounts Payable Workflow Guide Version 11.2 Copyright Information Copyright 2013 Informa Software. All Rights Reserved. No part of this publication may be reproduced, transmitted, transcribed, stored
IBM SDK, Java Technology Edition Version 1. IBM JVM messages IBM
IBM SDK, Java Technology Edition Version 1 IBM JVM messages IBM IBM SDK, Java Technology Edition Version 1 IBM JVM messages IBM Note Before you use this information and the product it supports, read the
Configuring a Random Weight Bar Code
Configuring a Random Weight Bar Code Procedure You can set up bar codes for variable weight items, such as prepared foods, and have these bar codes printed on a label or a customer receipt. Note The UPC
PHP Debugging. Draft: March 19, 2013 2013 Christopher Vickery
PHP Debugging Draft: March 19, 2013 2013 Christopher Vickery Introduction Debugging is the art of locating errors in your code. There are three types of errors to deal with: 1. Syntax errors: When code
ORACLE BUSINESS INTELLIGENCE WORKSHOP
ORACLE BUSINESS INTELLIGENCE WORKSHOP Integration of Oracle BI Publisher with Oracle Business Intelligence Enterprise Edition Purpose This tutorial mainly covers how Oracle BI Publisher is integrated with
AppConnect FAQ for MobileIron Technology Partners! AppConnect Overview
AppConnect FAQ for MobileIron Technology Partners! AppConnect Overview What is AppConnect? AppConnect is a MobileIron product that secures and protects enterprise mobile apps. It manages the complete lifecycle
WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE
WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE Contents 1. Pattern Overview... 3 Features 3 Getting started with the Web Application Pattern... 3 Accepting the Web Application Pattern license agreement...
Perceived Performance Test Toolkit
Perceived Performance Test Toolkit for Citrix Servers TMurgent Technologies Perceived Performance Test Toolkit Version 1.5 December 2005 Table of Contents Table of Contents... 2 Introduction... 3 Contents...
Hypercosm. Studio. www.hypercosm.com
Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks
SimWebLink.NET Remote Control and Monitoring in the Simulink
SimWebLink.NET Remote Control and Monitoring in the Simulink MARTIN SYSEL, MICHAL VACLAVSKY Department of Computer and Communication Systems Faculty of Applied Informatics Tomas Bata University in Zlín
Business Application Services Testing
Business Application Services Testing Curriculum Structure Course name Duration(days) Express 2 Testing Concept and methodologies 3 Introduction to Performance Testing 3 Web Testing 2 QTP 5 SQL 5 Load
Java Troubleshooting and Performance
Java Troubleshooting and Performance Margus Pala Java Fundamentals 08.12.2014 Agenda Debugger Thread dumps Memory dumps Crash dumps Tools/profilers Rules of (performance) optimization 1. Don't optimize
SAIP 2012 Performance Engineering
SAIP 2012 Performance Engineering Author: Jens Edlef Møller ([email protected]) Instructions for installation, setup and use of tools. Introduction For the project assignment a number of tools will be used.
Computing Concepts with Java Essentials
2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann
Running a Program on an AVD
Running a Program on an AVD Now that you have a project that builds an application, and an AVD with a system image compatible with the application s build target and API level requirements, you can run
Unit 4 i5/os Work Management
Introduction to IBM System i Unit 4 i5/os Work Management Copyright IBM Corporation, 2006. All Rights Reserved. This publication may refer to products that are not currently available in your country.
IT Best Practices Audit TCS offers a wide range of IT Best Practices Audit content covering 15 subjects and over 2200 topics, including:
IT Best Practices Audit TCS offers a wide range of IT Best Practices Audit content covering 15 subjects and over 2200 topics, including: 1. IT Cost Containment 84 topics 2. Cloud Computing Readiness 225
