David Mount Owner, texAS400 Computer Consulting www.texas400.com Normal presenter at MMSA is an expert on the subject matter I was lucky winner of MMSA trip to Common Conference May 6-9, 2012 in Anaheim, CA at the Disneyland Resort Cost of a conference is around $1,300 My first Common Conference 4 days of presentations A dozen or so concurrent presentations Some presentations in ballrooms, some in small classrooms Vendor exhibition hall with all the usual suspects Free lunch (cocktail party food) in exhibition hall as a way to see vendors and mingle with attendees Final evening included an outdoor Bar-B-Q with C&W band Middle aged geeks everywhere Note – about 35 slides in this presentation Will try to demo the Wikis and SoapUI Spend 4 days with AS/400 users and experts See presentations on topics near and dear to you See presentations on topics that you have a casual curiosity about (but no time to learn about) Like going to 20 MMSA meetings in a row (but in a good way) For me, the worst presentation usually has a couple of ideas that make it worth hearing Most of these presentations have lots of really good information Get to see the movers and shakers of the AS/400 world In Grand Ballroom About 2 hours Common President, Pete Massiello Welcome presentation by Pete Pete is in NY area Slide presentation by IBM Presentation by Disney One hour business motivational speech Topic was “why Disney is successful” Mentioned Often php Functions that use Java objects Open source (php and Java) IBM i Mobile Apps “Modernize” your system Aaron Bartell and Scott Klement Not mentioned EGL Cobol Scott Klement Jon Paris and Susan Ganter (Partner400) Richard J Schoen (RJS Software) David Gibbs (Host of www.midrange.com) Trevor Perry (Former president of MMSA) Charles Guarino (Central Park Data Systems) Bruce Vining (API expert and author) Paul Tuohy’s presentation to MMSA He referred to OPO rather than OOP Other People’s Objects vs Object Oriented Programming I’ve spent 12 years avoiding Java ILE gives up ability to call Java objects Opens door to using Open Source code Poi.apache.com for Excel Spreadsheets JDBC drivers to talk to databases Jasper reports to mimic Crystal Reports Ruby on Rails Accessing IFS from RPG Consuming Web Services Excel Spreadsheets External Databases RPG Does TCP/IP RPG User Defined Functions How to use API’s to: Open IFS file Read IFS file Write to IFS file Get directory of IFS folder Check for object Most exciting concept at conference for me More on this later Free access to Scott’s HTTPAPI program Use RPG to retrieve information using web services UPS Tracking Info program included (requires free UPS user ID from UPS web site) At Klement Sausage, green screen login screen includes the 5 day weather forecast SOAPUI overview Free tool for working with WSDL and SOAP A “key to the kingdom” of Web Services Examples of how to create Excel spreadsheets using RPG Fairly long (40 slide) presentation on using poi.apache.org Not related to apache server This topic also covered in Partner400 (Jon Paris and Susan Ganter) presentation at MMSA Another example of using ILE to call Java objects (OPO – other people’s objects) Database manufacturers make drivers for Java JDBC connection Oracle, MY SQL, Microsoft SQL JDBCR4 – RPG wrapper to call JDBC Includes instructions for installing the Java .jar which has the JDBC drivers 39 slides including samples of how to use JDBCR4 to insert, select, update and delete records 41 slides on how to use OS/400 API’s to create socket connections Read and Write to almost any device that can make a socket connection Scott uses it to program the display sign in front of the Klement Sausage Factory Presented by IBM’r Jesse Gorzinski It’s free, no strings attached. Fully supported by IBM Service. –User forum on Web is monitored by IBM developers. Lets any Java app, anywhere on your LAN, –Access and exploit your IBM i resources. Thoroughly documented on the Web. In use by IBM and customers since V4R2 (1998). –Used under-the-covers in many other IBM products. Jasper Reports Open source, java equivalent to Crystal Reports “Modernize” your reports Green bar print outs as old fashioned as green screen PC Based IDE with graphic designer A lot of work but very attractive reports Various distribution options: PDF HTML Text RTF (Rich Text Format) Another open source, java option Ruby is an open source, object oriented language Similar to Perl, Smalltalk, Python Ruby on Rails (sometimes called Rails) is a web application framework of Ruby Groupon and Hulu are Rails applications Tons of open source and templates About 1/3 as popular as php Good example of something I was interested in but don’t have time to learn (yet) Bruce Vining – former IBM’r who wrote many of the API’s Author of API book V7.1: @ 50 new, @ 80 changed V6R1: @170 new, @ 250 changed V5R4: @ 90 new, @ 170 changed V5R4 Message Watch A little like reply list entries STRWCH, ENDWCH, WRKWCH Includes sample code for exit programs V6 Call Job Interrupt Program (QWCJBITP) Allows you to run an exit program in the initial thread of another job See what’s in the QTEMP library Update objects such as a *DTAARA in QTEMP Basically run whatever the current caller of the API is authorized to Can be very dangerous when in the wrong hands woo-hoo! User Customized Options for WRKOUTQ, WRKSPLF Lets you define options for WRKSPLF similar to the way you add user options to PDM You could make option “EM” to email the spool file Older but clever tips and techniques Using prestart jobs to run monitor type jobs User cannot end job They can end it but it starts up again Use Database trigger to populate last date and time changed Also mentioned a trick to write a message and then read it as a way of determining program that changes data See slide 28 Includes short overview of journaling Random WRKSPLF fun fact V5R4 adds filter to select by date range Update data area with each step of nightly job If job abends, data area has last successful step Create QSYSMSG message queue Only serious messages get written to QSYSMSG Lots more clever tips Wiki comes from Hawaiian word for fast Web pages that can be updated by users Everyone knows what Wikipedia is Pages can be changed by users Audit trails are kept and changes can be reversed Wikipedia runs a php application “MediaWiki” Open source Lots of forums A bit complicated Simple enough that I could do it Drew works for an Alaskan Railroad His company is not Sarbanes Oxley compliant He recognized that their company documentation was in hard copy in a storage room Inaccessible and obsolete He replaced the company documentation with MediaWiki Users enter and modify documentation constantly Software allows users to upload documents and images Written in php Could run it on your AS/400, PC (WAMP or LAMP) More on MediaWiki It uses a markup language that it very simple ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ = Heading 1 = == Heading 2 == === Heading 3 === Automatically builds clickable table of contents at top of page [[ links to another wiki page ]] [[http:// links to internet page ]] Lots of other simple formatting rules Also supports html Go to www.texas400.com:82/wiki to see the one running on my PC Wiki on a Stick Very small The idea is that you can keep all of your info on a USB flash drive It is really just an updatable html document I used it for 3 days It self destructed – it cleared the document I am using ZimWiki It is really just a note taker Even simpler formatting rules Not intended as a group product ▪ It’s for me only I am creating a knowledge base so I can be replaced by a machine ▪ ▪ ▪ ▪ ▪ ▪ ▪ Phone #’s AS/400 tips Copy and paste articles and source code Projects I’m working on Testing tips (use Invoice # 5564 to test) Easy to search complete database Working well for me to organize information especially when I an interrupted My thought is that the AS/400 is capable of doing almost all “modern” things but often requires bolt-on software Consume web services with Klement’s HTTPAPI Parse XML with XML-SAX Run php with free Zend software Things to consider: Php server with open source applications like MediaWiki, help desk software (Mantis400 or osTicket), or SugarCRM Consume web services – I’ve added Scott Klements UPS Tracking application to one of my clients system in 4 hours Magento Web Services Mobile Apps – I’ve written a demo mobile app for Order Entry Web development – I’ve written a demo shopping cart application that included learning why CSS is so cool Help start a movement to re-re-re-rename the i i sounds like an Apple product Android OS is named ios Can’t be googled Hated by everyone I’ve ever met Encourages people to believe that AS/400 is no longer produced In fact, the AS/400 is no longer produced AS/400 Version 7.1 AS/400 Generation 2012 Trevor Perry has URL www.i4everyone.com Maybe start a site www.bringbackas400.com Select some high profile reports and “modernize” them For example ▪ Take daily sales report ▪ Rewrite as a pretty report (use AFPDS or Jasper or Excel) ▪ Convert it to pdf and email it to CFO every morning ▪ Or rewrite it to output to a static html file so CFO can view the report online Use CGIDEV2 or php to rewrite a screen or two as a browser page You do not need to convert everything, only a few things Add things to your system that will make upper management afraid to migrate away “you mean your PC system doesn’t even include the 5 day forecast on the login screen?!?” As a Common attendee, I have a user ID to download presentations from the conference I attended I could see topics from previous conferences but could not download them Many of the presentations are re-runs I contacted Common to see if it was OK to share the downloads with MMSA They had never been asked about this They said that they were merely providing access to the presentations and that I could do whatever I liked with the material. Copyright issues were up to me. I took the view that almost all of the presenters would be flattered. I did not include Partner400 presentations since Jon and Susan make a living out of their presentations. Go to www.texas400.com Click on last link on left side of home page labeled MMSA Download about 78mb that includes 44 pdf’s