Project Listing

Here are some of the projects that I have worked on:


• Redesign of Sales Tax Calculation System as a Web Service – Designed a web-based sales tax calculation service to replace the system I had developed 8 years earlier (see Business Function Servers). Identified a replacement source for U.S. and Canadian sales tax rates (CCH Sales Tax Database). Designed web service methods to support newer web-based systems and iSeries-based systems. Created XML schema definitions and sample payloads. Designed user interface for rate lookup, location nexus table maintenance, and electronic downloads taxable state table. Communicated UI design to JSP programmer and worked to insure compliance with design. Designed oracle database to house CCH ZIPSales data. Created java pseudo-code for using ZIP code and ZIP+4 to extract sales tax rates for district, county, city, and state, for use by programmer to build Data Access Layer. Made changes as needed to java classes to get Oracle Financials data elements needed for determining customer taxability. Worked with programmer creating web service to bring him up-to-speed on sales tax calculation. Changed iSeries RPGLE programs to consume new Sales Tax Calculation web service.

• Integrate iSeries RPGLE Applications to PCI Compliant Credit Card Processing Web Service - This was part of a larger project to replace an existing iSeries-based credit card processing system which supported credit card authorizations and daily settlement of credit card transactions. PCI compliance was accomplished as an integral part of the new system. Completed changes to RPGLE order entry processes to support credit card authorizations. The new credit card processing system used a standardized web screen to securely collect sensitive credit card information and send it to Paymentech for generation of a unique profile ID and for authorizing a financial transaction. An RPGLE application was created to manage a credit card authorization for an order or for credit and collections. First, a web service call is used to pass in non-sensitive information such as order number, dollar amount, cardholder name and address. Next, Internet Explorer is started and the user is prompted to key in sensitive credit card information such as credit card number, expiration date, and card presence identifier. Once the authorization was successfully complete, the user would click on a “Close” button and control is returned to the iSeries green screen application. Finally, a web service call is used to retrieve the authorization results (such as the authorization code).

• Integrate Legacy Customer Hub to PeopleSoft CRMS – Designed and coded an RPGLE program to parse an XML request, process the request, and return a formatted XML response. The request was to merge a list of customers. The merge business rules were applied resulting in one of the customers being designated as the survivor and the remaining customers flagged as inactivated. Designed and coded a Data Quality Exception Management (DQEM) system. The system provided API’s for applications to log errors that occurred during the processing of XML requests. A user interface was provided to enable the Data Quality Librarian to research and resolve exceptions. The XML documents were stored in the i5’s Integrated File System (IFS), while other data elements were stored in a DB2/i5 database.

• Perform Customizations to Food Distribution Software Package - Completed program change requests (PCRs) for clients of Integrated Distribution Solutions. Passed through to clients systems to test and deploy PCR. Coordinated deployment of changes with client representative. Maintained up-to-date copy of client code changes on centralized development system. IDS has clients throughout the United States.

• Installation and Customization of Software Packages - Installed General Ledger, Accounts Payable, Accounts Receivable, Payroll, and Personnel software modules. Customized each module to the customers needs. This usually included writing batch report programs, as well as additional interactive programs. For example, a school district required that the financial modules use the state mandated budget codes. Another example, was a requirement for the Personnel module to include an annual report to the Equal Employment Opportunity Commission.

• Salesman Information System enhancements - Overhauled a Salesman Information system to increase its acceptability and provide more functions. This system was intended for petroleum products salesmen out in the field to gain access to pricing and availability information in support of their client accounts. The prior roll-out of this system met with much criticism because of program bugs, lack of consistent user interface appearance and navigation, insufficient sales reporting functions, and lack of support. A standard set of screen appearances were adopted, then programs and displays were changed to conform to them. Program bugs were identified, then fixed. Additional sales and volumes reports were developed and added to the menus. Existing reporting and inquiry functions in many cases were improved to make accessing information more flexible.

• Helpdesk resource - Provided business and technical support for resolving day-to-day problems of a worldwide network of users in the commodities trading business.

• Taught Class on Systems Management Utility - Provided a two-day informal training class on Systems Management Utility for a bank which intended to use SMU to minimize the need for computer operators at each of their 12 branches. The informal format allowed addressing the specific needs of the banks network of AS/400's and PS/2's.

• Developed Training Materials and Taught Classes - Developed training materials for stand-up presentation on topics such as AS/400 CL programming, AS/400 Database Fundamentals, and AS/400 Backup and Recovery. The classes were presented to groups ranging in size from 4 to 23 at companies in the U.S. and abroad.

• Marketing Plan for IBM's MBNLQ - Performed a competitive analysis of query and report writing products for the AS/400. Developed a prioritized product improvement strategy for IBM's Menu Based Natural Language Query product. The improvements were designed to make MBNLQ competitive with mainstream AS/400 query and report writing tools.

• File Transfer between an AS/400 and a Unisys Mainframe - Developed the AS/400 half of this bi-directional file transfer application. The Programs were coded in CL and COBOL. The AS/400's bisync equivalence link was used to communicate with the Unisys host via 3780 bisync protocol. A CL command (SNDTOUNI) was used to front-end the transfer from the AS/400 to the Unisys host.

• Order Fulfillment System - Developed an approach for implementing an AS/400 based order fulfillment system that had previously been done on an IBM 4381. Coded a skeletal version of the main modules to demonstrate the performance and viability of the design. Once management was sold on the approach, then worked with in-house staff to construct the production Order Fulfillment System. This project was done in CL, DDS, and COBOL on the AS/400.

• Client/Server Link between Order Management System and Order Fulfillment System - Installed and setup Progress/400 Dataserver. Performed initial evaluation of Dataserver functionality. Developed sample routines for use of in-house staff to illustrate how to use the Progress/400 Dataserver from within a Progress for Windows v7.3B program. Worked with in-house staff and another consultant to design and code a dedicated PC server approach for providing batch processing functions for the Order Management System. Developed each of the server functions which interacted with the AS/400:

1. Submitting fulfillment requests from OMS to the AS/400.
2. Submitting price quotation requests from OMS to the AS/400.
3. Processing report print requests from the AS/400 to Progress Report Builder print routines.
This project used the Progress Client for Windows v7.3B, the Progress/400 Dataserver, and the Client Access/400 for Windows API’s.

• Mailing Label Print Routines - Participated in the design, development, and QC of Market Data Retrieval’s CD ROM based Easy Access National School Directory product. Product provided a Windows 3.1/95 database search interface and a mechanism for exporting or printing records in search results. Developed routines on the AS/400 to extract and format data on all public, private, and parochial schools, K through 12 in the United States. The routines are used for refreshes of the product database. Data was downloaded to a PC, loaded into a proprietary, encrypted format, indexed, then written to a CD ROM. Responsible for design and development of the mailing label print routines and the Windows dialogs for selecting label print options. Coding for this product was done using MS Visual Basic and MS Visual C++. The AS/400 programs were developed using CL and COBOL.

• Year 2000 Testing - Spearheaded the test team on Inacom Corporations Y2K Renovation Project. Researched into available testing tools. Selected IBM’s Workstation Interactive Testing Tool (WITT) for the keystroke record/playback and screen image capture functions. Developed AS/400 software testing tools to automate repetitive testing tasks, maintain integrity of test environments, and for the capture/compare of I/O points (DB changes, data areas, data queues, spooled files). Developed a test coverage reporting tool to identify the percentage of changed source code that had been tested during a Regression test. This was used to quantitatively prove that the renovated code had been tested. The tools provided the framework for running Unit, Baseline, Regression, and Compliance tests. Trained test team members on the test processes and tools. Developed work instructions for testing process and trained test team members to follow them.

• Communications Setup over IBM Advantis Network - Configured communications and coordinated service through IBM Advantis network for an insurance recovery service between an AS/400 and numerous IBM Mainframes. Enabled Mainframe users for 5250 emulated sessions to the AS/400 from their 3270 Mainframe attached terminals. Enabled AS/400 users for 3270 emulated sessions to the Mainframe from their 5250 attached terminals. Configured virtual printing in both directions. Coded APPC programs in ILE RPG and ICFF to process credit information requests through Equifax over the Advantis Network.

• Client/Server Presentation - Was responsible for co-development of this presentation to educate the AS/400 market of client/server technology and tools for building client/server applications. The sponsor for the development and the presentations is IBM. This is an all day presentation that will eventually be taken to IBM branches around the United States. There is interest in taking it to IBM in Europe and Asia as well. The first complete presentation to an audience was in Rochester, Minnesota, on June 19th, 1991.

• AS/400 to Sun Bridge - Assisted in coding routines in IBM's VisualAge for C++ for AS/400 to bridge invoice data from legacy AS/400 database files to an Oracle database on a Sun system.

• Business Function Servers – Developed business function servers to run on iSeries using IBM’s VisualAge for C++ for iSeries. Servers allowed business rules to be centralized for Sales Tax Calculation, Shipping, Invoicing, and Order Data. Worked with other team members to create a cross platform API for invoking business functions. Used IBM’s MQ Series middleware for intra-company cross-platform communications; used Berkley sockets for extra-company communications. Required knowledge of RogueWave Tools.h++ object-oriented tools.

• ASP Access to iSeries - Coded stored procedures in RPGLE and embedded SQL to support database requests coming from a web-based ASP application. Coded a stored procedure to accept a set of selection criteria and return a dataset of records meeting the applied criteria. Coded a stored procedure to use the values passed in to update a database record. Assisted a PC programmer in coding an ASP routine for connecting to the iSeries system, formulating a database request, and retrieving the resulting dataset returned by the stored procedure on the iSeries.

• Technical Support for Conversions to the AS/400 - Assisted companies in the conversion/migration from other hardware platforms to the IBM AS/400. These other platforms include IBM mainframes, IBM S/38's, and Unisys Mainframes. Support for these companies included providing education about the AS/400, helping to develop operational procedures, porting or rewriting applications to run on the AS/400, identifying and evaluating packaged software applications, proposing and implementing a solution that would allow both platforms to coexist until dependence on the old system is past, developing backup and recovery plans, developing security management standards, designing communications networks and installing and configuring the hardware.

• Litigation Support Modifications - Prepared an existing Litigation Support application for marketing. The RPG code was converted to comply with the software vendors programming conventions, several of the main modules of the system were rewritten, and a front-end to the system to provide easy setup of new litigation support applications was written in RPG, CL, and DDS. Worked with marketing to write the user's manual and provide documentation.

• Implementing flexible Save/Restore procedures - Examined company disaster recovery capabilities. Purchased new tapes, disposed of damaged tapes, and wrote RPG and CL programs, making it easy to add/remove libraries in the daily and weekly saves. Operational procedures were drawn up for use in recovering in the event of a disaster.

A good reputation is to be valued far more than rubies or diamonds.