<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1074120823611208144</id><updated>2012-01-14T08:17:43.822-08:00</updated><category term='RPG Modernization'/><category term='Legacy RPG Modernization'/><category term='Business Logic Analysis'/><category term='RPG'/><category term='Business Rules'/><title type='text'>What's Next on IBM i</title><subtitle type='html'>Opinions, observations, comments, ideas and directions about business applications written in RPG COBOL or SYNON on AS/400 iSeries IBM i from Databorough people around the world.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://databorough.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://databorough.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Databorough</name><uri>http://www.blogger.com/profile/17557823820575170615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://1.bp.blogspot.com/__EH8SeaGxHY/SpV2PVZAysI/AAAAAAAAABk/HW-_ETSwQAg/S220/X.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1074120823611208144.post-3628888558543123798</id><published>2011-12-04T09:23:00.000-08:00</published><updated>2011-12-04T09:23:18.885-08:00</updated><title type='text'>How bad is your RPG Code</title><content type='html'>I've recently participated in a number of discussions that appear on various forums discussing RPG, its future, and value.&amp;nbsp; Frequently these discussions are led by highly skilled professional programmers who utilize the latest features and facilities of RPG and write good structured modular code leveraging procedures, service programs and advanced features of ILE.&lt;br /&gt;&lt;br /&gt;I absolutely agree that the most current version of the RPG language has the capabilities of being a superb procedural language and can offer the best structure and results that one could expect from a procedural language.&lt;br /&gt;&lt;br /&gt;After thinking about this and looking the realities of most IBM i shops, the simple reality is that most shops do not have programmers of the quality of the folks that write these arguments favoring RPG.&amp;nbsp; In a weird tribute to RPG, it is a language that can be learned, used, and implemented by people with very little training and a virtually no background in computers, technology, or systems.&lt;br /&gt;&lt;br /&gt;In fact the vast majority of RPG programmers were blue collar workers without college degrees or training who learned RPG in in-house IBM sponsored training classes, Junior college courses, or 3rd party taught classes.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;The vast majority of programmers have never written an RPG program from scratch (i.e. an empty SEU or RDp file) but rather copy and modify existing programs, sample programs obtained from IBM redbooks,or articles in various books, magazines, and publications.&amp;nbsp; Few of these sample programs were examples of good code.&lt;br /&gt;&lt;br /&gt;Over the years (and many of you have programs that were originally written 40 to 50 years ago and modified numerous times over the years written by people with all sorts of skills.&lt;br /&gt;&lt;br /&gt;Cleaning or replacing this code base is the challenge faced by most IBM i customers.&amp;nbsp; Some vendors including IBM advocate code conversion to EGL (enterprise generation language) or Java.&amp;nbsp; There are many vendors who offer conversion to other language including various Windows technologies.&lt;br /&gt;&lt;br /&gt;Straight conversion can cost as much as $1 per line of code resulting in project prices of several million dollars.&amp;nbsp; Conversion projects are extremely risky as the vendor will convert your code from RPG to another language, but they are not responsible for testing or insuring that the new language based system still works and performs well.&lt;br /&gt;&lt;br /&gt;Most companies have hundreds of thousands of lines of redundant code, code that is never executed, or should otherwise be cleaned up and improved before any conversion is undertaken.&lt;br /&gt;&lt;br /&gt;Some vendors (including IBM) advocate using their conversion tools to convert 5250 green screen applications to web based applications.&amp;nbsp; They argue that you can enhance the web presentation after the conversion.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Vendors like IBM or the many others have superbly skilled programmers and architects.&amp;nbsp; They have no experience with corporate systems built and modified over 40 to 50 years and really have no idea what a company's system portfolio contains.&amp;nbsp; They would be shocked and horrified at that 12,000 line monster that drives one of your critical business applications with&amp;nbsp; the User Interface, business rules, and database access as well as control logic all embedded somewhere in the beast (along with commented out code from previous generations and code that can never be executed).&lt;br /&gt;&lt;br /&gt;I recommend use of tools like Databorough's X-Analysis along with a rigorous methodology that mandates restructuring and modernization of each program as current projects require the program to be modified.&amp;nbsp; I also advocate a rigorous program of peer review carefully organized to insure that your very best programmers are reviewing others code.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;If you don't want to invest in X-Analysis, then use Hawkeye or at a minimum use DSPPGMREF to an outfile and write some programs to produce reports on the structure of your systems.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Once again, it is only a matter of time until IBM drops support for IBM i and therefore RPG (which only runs on the IBM i operating system).&amp;nbsp; You have time to modernize and replace your RPG based systems but you need to start now.&amp;nbsp; When IBM does drop support for IBM i they will generally support it for 3 years after they announce that the product is discontinued.&amp;nbsp; Even then you can still run your systems and tools as long as you don't need to upgrade your machine or operating system.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;The key is to realize that IBM i and RPG will eventually be withdrawn and support discontinued by IBM.&amp;nbsp; They are offering their own tools to convert to Java and modernize now.&amp;nbsp; You need to take the path that makes most sense for you, but you need to move on this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1074120823611208144-3628888558543123798?l=databorough.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databorough.blogspot.com/feeds/3628888558543123798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://databorough.blogspot.com/2011/12/how-bad-is-your-rpg-code.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/3628888558543123798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/3628888558543123798'/><link rel='alternate' type='text/html' href='http://databorough.blogspot.com/2011/12/how-bad-is-your-rpg-code.html' title='How bad is your RPG Code'/><author><name>Bob</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_YSZEiwoAWRI/SqfS8NM_r_I/AAAAAAAAAeA/crp4FstVHzg/S220/bob.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1074120823611208144.post-8679516746558497349</id><published>2011-12-02T04:45:00.000-08:00</published><updated>2011-12-02T06:23:11.805-08:00</updated><title type='text'>Will complacency kill IBM i?</title><content type='html'>While most westerners rejoiced the recent events of unrest and social reform in the middle east, i am sure many also asked "what took them so long?"&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When I tried to answer the question myself about why a large group of intelligent, educated people would accept such leadership, and along with it a stranglehold on their innovation and freedom for so long, i realized that all communities fall into that trap at some stage. Its called complacency.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The IBM i community is no exception.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Think about it for a moment. there has been no real innovation our of IBM i that is directly relevant to the IBM i community since the 80's. in fact there have been some serious misdemeanors on their part. here's a couple: ILE - what's the point of that? if you going to go OO, go OO, don't just poke at it with a long stick! a friend of mine who worked on the RPG compiler team at that time told me that there was a real plan to go the whole way, and truly modernize RPG, but it was vetoed by management. here's another: webfacing - no further comment needed. what about WDSc? basically it destroyed your PC just to get a notepad style code editor up! no wonder people still use SEU. EGL? Great idea, even pretty good implementation for IBM, totally pointless in reality. Scenario: "Hey IBM i have 5 million lines of RPG, and aging work force. i love the platform and IBM. what should i do? answer: Rewrite your entire code base in a language no one uses, using a work force that doesn't exist. huh?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What exactly is a third party vendor? I have asked this question of many people, Mike Smith (ex IBM Chief Architect), Jon Paris, myself, Rich Hume, end users, developers, ISV's, in fact anyone i can ambush into listening to me. The answer it seems is: "not IBM"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So what IP grew the IBM i community to its current size? Firstly of course OS/400 and RPG. But from that moment on: MAPICS, BPICS, JDE, System 21, SYNON, LANSA, PRMS, essentially third party vendors. or rather "not IBM".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are many in the IBM i community that would skip a system i news mag article about the science of business rules recovery of RPG systems with &lt;a href="http://www.databorough.com/Visual-Guide-to-Business-Rules-Reuse.html"&gt;X-Analysis&lt;/a&gt; because it is labeled"Advertorial", in favor of 15 pages of how RDi miraculously helps them edit the one program they write per year these days. Similarly there are some who whinge to Jon Paris about third party vendors lowering the tone of his events and events like his.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;the last few publications and events that remain as the conduits to the IBM i community, and who still support the "not IBM" mantra as a given are thankfully giving way to more viral and real communities such as we see on some linked in groups.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I don't think complacency will kill the IBM i community, but hopefully it will kill the bovine leaches who are too lazy to listen to anything but the PR drivel that mostly comes from IBM these days.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1074120823611208144-8679516746558497349?l=databorough.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databorough.blogspot.com/feeds/8679516746558497349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://databorough.blogspot.com/2011/12/will-complacency-kill-ibm-i.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/8679516746558497349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/8679516746558497349'/><link rel='alternate' type='text/html' href='http://databorough.blogspot.com/2011/12/will-complacency-kill-ibm-i.html' title='Will complacency kill IBM i?'/><author><name>Stuart</name><uri>http://www.blogger.com/profile/06942589051622550272</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://1.bp.blogspot.com/_GB892jllY90/SpV21t_XrYI/AAAAAAAAAAM/5sRTbCQl83s/S220/stuartm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1074120823611208144.post-3041484755337167862</id><published>2011-11-21T01:53:00.000-08:00</published><updated>2011-12-02T06:26:26.749-08:00</updated><title type='text'>RPG Job Trend Stats</title><content type='html'>Here are two interesting graphs about the trend of RPG jobs. Whatever the implications are for the future of the IBM i, it certainly does provide little or no incentive for anyone to learn RPG.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="width:540px"&gt;&lt;a href="http://www.indeed.com/jobtrends?q=rpg" title="rpg Job Trends"&gt;&lt;img width="540" height="300" src="http://www.indeed.com/trendgraph/jobgraph.png?q=rpg" border="0" alt="rpg Job Trends graph" /&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;table width="100%" cellpadding="6" cellspacing="0" border="0" style="font-size:80%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.indeed.com/jobtrends?q=rpg"&gt;rpg Job Trends&lt;/a&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;a href="http://www.indeed.com/jobs?q=Rpg"&gt;Rpg jobs&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="width:540px"&gt;&lt;a href="http://www.indeed.com/jobtrends?q=rpg%2C+java%2C+C%23%2C+PHP" title="rpg, java, C#, PHP Job Trends"&gt;&lt;img width="540" height="300" src="http://www.indeed.com/trendgraph/jobgraph.png?q=rpg%2C+java%2C+C%23%2C+PHP" border="0" alt="rpg, java, C#, PHP Job Trends graph" /&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;table width="100%" cellpadding="6" cellspacing="0" border="0" style="font-size:80%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.indeed.com/jobtrends?q=rpg%2C+java%2C+C%23%2C+PHP"&gt;rpg, java, C#, PHP Job Trends&lt;/a&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;a href="http://www.indeed.com/jobs?q=Rpg"&gt;Rpg jobs&lt;/a&gt; - &lt;a href="http://www.indeed.com/jobs?q=Java"&gt;Java jobs&lt;/a&gt; - &lt;a href="http://www.indeed.com/jobs?q=C%23"&gt;C# jobs&lt;/a&gt; - &lt;a href="http://www.indeed.com/jobs?q=PHP"&gt;PHP jobs&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1074120823611208144-3041484755337167862?l=databorough.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databorough.blogspot.com/feeds/3041484755337167862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://databorough.blogspot.com/2011/11/here-are-two-interesting-graphs-about.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/3041484755337167862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/3041484755337167862'/><link rel='alternate' type='text/html' href='http://databorough.blogspot.com/2011/11/here-are-two-interesting-graphs-about.html' title='RPG Job Trend Stats'/><author><name>Stuart</name><uri>http://www.blogger.com/profile/06942589051622550272</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://1.bp.blogspot.com/_GB892jllY90/SpV21t_XrYI/AAAAAAAAAAM/5sRTbCQl83s/S220/stuartm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1074120823611208144.post-2273941996114352055</id><published>2011-11-21T01:50:00.000-08:00</published><updated>2011-12-04T23:34:01.884-08:00</updated><title type='text'></title><content type='html'>Here are two interesting graphs about the trend of IBM i Jobs:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="width:540px"&gt;&lt;br /&gt;&lt;a href="http://www.indeed.com/jobtrends?q=rpg" title="rpg Job Trends"&gt;&lt;br /&gt;&lt;img width="540" height="300" src="http://www.indeed.com/trendgraph/jobgraph.png?q=rpg" border="0" alt="rpg Job Trends graph" /&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table width="100%" cellpadding="6" cellspacing="0" border="0" style="font-size:80%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.indeed.com/jobtrends?q=rpg"&gt;rpg Job Trends&lt;/a&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;a href="http://www.indeed.com/jobs?q=Rpg"&gt;Rpg jobs&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1074120823611208144-2273941996114352055?l=databorough.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databorough.blogspot.com/feeds/2273941996114352055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://databorough.blogspot.com/2011/11/here-are-two-interesting-graphs-about_21.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/2273941996114352055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/2273941996114352055'/><link rel='alternate' type='text/html' href='http://databorough.blogspot.com/2011/11/here-are-two-interesting-graphs-about_21.html' title=''/><author><name>Stuart</name><uri>http://www.blogger.com/profile/06942589051622550272</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://1.bp.blogspot.com/_GB892jllY90/SpV21t_XrYI/AAAAAAAAAAM/5sRTbCQl83s/S220/stuartm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1074120823611208144.post-5416745397412276890</id><published>2011-02-10T13:09:00.000-08:00</published><updated>2011-02-10T13:22:58.861-08:00</updated><title type='text'>How should we be developing applications for the IBM i today?</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: georgia; "&gt;&lt;span class="Apple-style-span" &gt;This is a response to a discussion started by Gary Lewis on Linked In - &lt;a href="http://lnkd.in/EUFmNi"&gt;http://lnkd.in/EUFmNi&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  &gt;&lt;/span&gt;&lt;/p&gt;&lt;h3 class="groups" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-weight: inherit; font-style: inherit; vertical-align: baseline; color: rgb(51, 51, 51); line-height: 12px; "&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); line-height: normal; font-size: medium; "&gt;We have been working on this specific subject since 1998. Here’s a little historical and contextual framework:&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  &gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  &gt;While we have built RPG based re-engineering tools since 1987, in 1999 we started a project to develop tooling to completely re-engineer an RPG application into an event driven MVC model with a web/gui front end. Oddly enough this was inspired after we wrote a tool to put RPG into SYNON at the request of IBM way back then. The objective of the new project was not to just to technically achieve a modern GUI on as/400 based system, but to produce reworked code that was more maintainable than previously, and also adopted the most mainstream technologies for development and deployment.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  &gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  &gt;It has been a long road that includes writing an IBM Redbook on the subject &lt;a href="http://www.redbooks.ibm.com/redpieces/abstracts/redp4046.html"&gt;(click here)&lt;/a&gt; &lt;span&gt; &lt;/span&gt;and various technology/development partnerships including Rational, Oracle, Microsoft, MyEclipseBlue, Fiserv, Mapics, SSA Global, and various other end user companies. We have built technologies for generating View Controller layers in Java Servlets and generated HTML, RCP on Eclipse. Java Swing fat client, JSON/Web2.0 dynamic web client, EGL JSP's, JSP and JSF using Spring/Hibernate, ASP, Silverlight, Flex, and more recently RPGLE. We have tried and tested almost all tactical technologies such as wefacing, emulation, special files, Dynamic Screen Mangement API’s, even CGi as part of the R&amp;amp;D effort. Also know we have assessed these approaches on many of the largest existing as/400 apps on the world, a good number of which are our customers. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  &gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  &gt;Now let me share our findings and evolved best practices by answering your points more directly. These results are not just about technology fads or personal preferences, but the accumulation of literally 12 years of R&amp;amp;D specially on this subject, just so we can build sellable tools reengineer effectively into this new environment. I won’t elaborate on why with all points, but just to give you an example of lessons learned: What we discovered was that when building increasingly sophisticated UI’s as technologies and user requirements advanced, a critical mass was soon reached where the code used to render server generated screens became too complicated to maintain productively. Turn it on it’s head and build the view and Controller in a modern language(using event driven languages tightly integrated with screen actions like VB), and ongoing maintenance and development was much simpler and could be deskilled significantly for typical business apps. The reason target IDE &amp;amp; Technology was a big part of the R&amp;amp;D is that what made the as/400 big in the first place: The development ecosystem productivity PLUS the reliability, scalability etc. So any company that would potentially buy our re-engineering tooling would have that expectation built into the requirement.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  &gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" &gt;&lt;span class="apple-style-span"&gt;&lt;span style="color: rgb(51, 51, 51); " &gt;Gary's questions included:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="apple-style-span"&gt;&lt;span style="color: rgb(51, 51, 51); "&gt;How would the application architecture look like?&lt;/span&gt;&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="color: rgb(51, 51, 51); "&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" &gt;&lt;span class="apple-converted-space"&gt;&lt;span style="color: rgb(51, 51, 51); " &gt;Model View Controller – VC in any modern UI language, Model in RPGLE-Free, and DB2/i for all the good stuff&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" &gt;&lt;span style="color: rgb(51, 51, 51); " &gt;&lt;span class="apple-style-span"&gt;Should we just use the IBM i as a database?&lt;/span&gt;&lt;span class="apple-converted-space"&gt;&lt;br /&gt;no. Business logic/Model layer too&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" &gt;&lt;span class="Apple-style-span" &gt;&lt;span style="color: rgb(51, 51, 51); "&gt;&lt;span class="apple-style-span"&gt;Should business rules be in the DB, stored procedures or application logic?&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: georgia; "&gt;Application Logic – this can be implemented and used as stored procedures simultaneously. Implementing in the DB works for pure constraints, but the dev tooling and process is slowed down by over engineering where you put business logic&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" &gt;&lt;span class="Apple-style-span" &gt;&lt;span&gt;&lt;span class="apple-style-span" style="color: rgb(51, 51, 51); "&gt;Where should the application logic reside?&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: georgia; "&gt;User driven and system, Navigational logic in the Controller, Conditional navigation logic in the Model – This should not always be strictly adhered to in all instances.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" &gt;&lt;span style="color: rgb(51, 51, 51); " &gt;&lt;span class="apple-style-span"&gt;What language and IDE would you use?&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  &gt;VC : VS2010, MyEclipseBlue, and the one that has impressed us the most in 12 years: &lt;a href="http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/adfoverview/adfoverview.htm"&gt;Oracle ADF&lt;/a&gt;&lt;br /&gt;Model: RDp&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="color: rgb(51, 51, 51); "  &gt;&lt;span class="apple-style-span"&gt;DB design - Should we use surrogate keys?&lt;/span&gt;&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;br /&gt;Only on new databases where possible. &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1074120823611208144-5416745397412276890?l=databorough.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databorough.blogspot.com/feeds/5416745397412276890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://databorough.blogspot.com/2011/02/how-should-we-be-developing.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/5416745397412276890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/5416745397412276890'/><link rel='alternate' type='text/html' href='http://databorough.blogspot.com/2011/02/how-should-we-be-developing.html' title='How should we be developing applications for the IBM i today?'/><author><name>Databorough</name><uri>http://www.blogger.com/profile/17557823820575170615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://1.bp.blogspot.com/__EH8SeaGxHY/SpV2PVZAysI/AAAAAAAAABk/HW-_ETSwQAg/S220/X.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1074120823611208144.post-5542740307197502850</id><published>2010-03-26T20:34:00.000-07:00</published><updated>2010-03-26T20:34:43.655-07:00</updated><title type='text'>RPG Free or Fixed?  OR Modernize your code base</title><content type='html'>As most of you who read this blog know I am no fan of RPG.&amp;nbsp; I in fact urge you to create plans to move away from RPG as fast as is feasible for your business.&amp;nbsp; I also recognize that this cannot be done overnight and that any realistic plan is really a 7 to 10 year plan.&lt;br /&gt;&lt;br /&gt;I'm writing this blog tonight after a long hiatus after reading a somewhat disturbing discussion on one of the Linkedin forums about whether or not folks should using free form RPG.&lt;br /&gt;&lt;br /&gt;While the creators and contributors were well intentioned, they are really missing the key point.&amp;nbsp; Namely the need to restructure, and modernize their existing application systems into modular ILE base reusable modular code.&lt;br /&gt;&lt;br /&gt;I would personally take a close look at Databorough LTD's X-Analysis and related suite of products as a first step in discovery, analysis, simplification, and modernization.&amp;nbsp; I would then look at tools to refactor code into modular resuable components that can be leverage in web services and other modern technologies.&amp;nbsp; This initiative which can be highly automated can greatly reduce the cost, complexity, and risk of moving away from RPG and eliminating your dependency on IBM i.&lt;br /&gt;&lt;br /&gt;It can also enable you to leverage your existing systems and modern service based applications and provide significant value to your organization.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1074120823611208144-5542740307197502850?l=databorough.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databorough.blogspot.com/feeds/5542740307197502850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://databorough.blogspot.com/2010/03/rpg-free-or-fixed-or-modernize-your.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/5542740307197502850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/5542740307197502850'/><link rel='alternate' type='text/html' href='http://databorough.blogspot.com/2010/03/rpg-free-or-fixed-or-modernize-your.html' title='RPG Free or Fixed?  OR Modernize your code base'/><author><name>Bob</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_YSZEiwoAWRI/SqfS8NM_r_I/AAAAAAAAAeA/crp4FstVHzg/S220/bob.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1074120823611208144.post-284661715642680752</id><published>2009-12-16T11:17:00.000-08:00</published><updated>2009-12-16T11:17:39.679-08:00</updated><title type='text'>The Internet is Running out of IP Addresses</title><content type='html'>According to the folks at http://bit.ly/6QK89F we will run out of IP4 Internet addresses on Oct 25, 2012.&lt;br /&gt;&lt;br /&gt;This is so typical of the IT industry.&amp;nbsp; Back in 1995 when the Internet was opened for commercial use work was well underway to support IPV6 and most hardware and software companies including IBM with the iSeries have had support for IPV6 for years.&amp;nbsp; This is pristine software as virtually NO ONE has ever used it!&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Oh well, the world needs a new crisis!&amp;nbsp; Maybe Al Gore who as you will recall invented the Internet will step up to the plate and fix this!&amp;nbsp; Oh yes, of course those other companies will change their addressing schemes to IPV6 and we will still be able to use IPV4!&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Right!&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Well folks this one will be interesting!&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1074120823611208144-284661715642680752?l=databorough.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databorough.blogspot.com/feeds/284661715642680752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://databorough.blogspot.com/2009/12/internet-is-running-out-of-ip-addresses.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/284661715642680752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/284661715642680752'/><link rel='alternate' type='text/html' href='http://databorough.blogspot.com/2009/12/internet-is-running-out-of-ip-addresses.html' title='The Internet is Running out of IP Addresses'/><author><name>Bob</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_YSZEiwoAWRI/SqfS8NM_r_I/AAAAAAAAAeA/crp4FstVHzg/S220/bob.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1074120823611208144.post-2620267467733236239</id><published>2009-12-03T11:51:00.000-08:00</published><updated>2009-12-03T11:56:19.067-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Legacy RPG Modernization'/><category scheme='http://www.blogger.com/atom/ns#' term='RPG Modernization'/><category scheme='http://www.blogger.com/atom/ns#' term='RPG'/><title type='text'>Databorough Announces X-Analysis Lite</title><content type='html'>&lt;p class="MsoBodyText" align="center" style="margin-top:0cm;margin-right:4.05pt; margin-bottom:0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:center; mso-outline-level:1"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;mso-bidi-font-size: 12.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;X-Analysis Lite offers the industry’s most powerful cross referencing at budget prices &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-top:0cm;margin-right:4.05pt;margin-bottom: 0cm;margin-left:0cm;margin-bottom:.0001pt;text-align:justify;text-indent:36.0pt; tab-stops:93.0pt"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;mso-bidi-font-size: 12.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;span style="mso-tab-count:1"&gt;                   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-top:0cm;margin-right:3.95pt;margin-bottom: 0cm;margin-left:0cm;margin-bottom:.0001pt"&gt;&lt;span lang="EN-GB" style="font-size: 10.0pt;mso-bidi-font-size:12.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-top:0cm;margin-right:3.95pt;margin-bottom: 12.0pt;margin-left:0cm;text-align:justify"&gt;&lt;span lang="EN-GB" style="font-size: 10.0pt;mso-bidi-font-size:12.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Toronto, Canada&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;-- Thursday, 03 December 2009, -- Databorough, a leading vendor of tools for IBM i, today announced a cut-down version of X-Analysis its flagship product, the recognized world leader in analysis, documentation, design recovery and reengineering tools for system i.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-top:0cm;margin-right:3.95pt;margin-bottom: 12.0pt;margin-left:0cm;text-align:justify"&gt;&lt;span lang="EN-GB" style="font-size: 10.0pt;mso-bidi-font-size:12.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;X-Analysis Lite is Databorough’s response to the demand from the broad community of smaller IBM i shops that love the X-Analysis functionality, but don’t have budgets that stretch to the enterprise versions of the product. Along with a set of proven and powerful analysis features, the Lite package includes three of the most popular and productive features from the enterprise versions of X-Analysis. They are: Application Mapping, Variable Tracing Technology, and Interactive Graphical Diagramming, and provide critical functionality to thousands of RPG and COBOL developers using X-Analysis 8 on IBM i worldwide. X-Analysis Lite also comes with bi-directional interfaces to IBM’s WDSc and RDi products, as well as stand-alone versions for traditional SEU users. An introduction discount for upgrades from Hawkeye is available.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-top:0cm;margin-right:3.95pt;margin-bottom: 12.0pt;margin-left:0cm;text-align:justify;mso-outline-level:1"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;IBM is now hosting a configuration of the Lite on the IBM Enterprise Modernization Sandbox for i, see:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-top:0cm;margin-right:3.95pt;margin-bottom: 12.0pt;margin-left:0cm;text-align:justify"&gt;&lt;span lang="EN-GB" style="font-size: 10.0pt;mso-bidi-font-size:12.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;a href="http://www.ibm.com/developerworks/rational/library/08/dw-r-rdixanalysis/?S_TACT=105AGX23&amp;amp;S_CMP=RAT"&gt;IBM Enterprise Modernization for System i: Discover and understand RPG applications with X-Analysis&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-top:0cm;margin-right:3.95pt;margin-bottom: 12.0pt;margin-left:0cm;text-align:justify"&gt;&lt;span lang="EN-GB" style="font-size: 10.0pt;mso-bidi-font-size:12.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Application Mapping builds a complete map of an entire application and stores it in a readable DB2/400 database library. All objects are cross referenced first, and then every single source member of any type is parsed and mapped down to individual variables and how they relate to other variables, not just fields. A number of X-Analysis users, ISV’s, and partners have already developed their own add-ons and services using the Application Map Repository.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-top:0cm;margin-right:3.95pt;margin-bottom: 12.0pt;margin-left:0cm;text-align:justify"&gt;&lt;span lang="EN-GB" style="font-size: 10.0pt;mso-bidi-font-size:12.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Variable Tracing Technology uses the Application Map to programmatically trace variables and fields across and entire system. This means that impact analysis for changes can be done for multiple levels, or variants of a field or variable, in a single inquiry. This unique to X-Analysis feature, has saved many companies thousands of man hours in analysis time. See our Case Studies for details. It is also one of the key features that prompts users of legacy tools such as Hawkeye to upgrade. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-top:0cm;margin-right:3.95pt;margin-bottom: 12.0pt;margin-left:0cm;text-align:justify"&gt;&lt;span lang="EN-GB" style="font-size: 10.0pt;mso-bidi-font-size:12.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Interactive Graphical Diagramming is the most commonly used and popular feature of the X-Analysis suite. Developers, analysts and support teams can see structure and process in interactive, graphical color-coded diagrams. Drill down capability into color coded source browsing and navigation through diagrams across the entire application. “GPS for Legacy Applications!” as one user described it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-top:0cm;margin-right:3.95pt;margin-bottom: 12.0pt;margin-left:0cm;text-align:justify"&gt;&lt;span lang="EN-GB" style="font-size: 10.0pt;mso-bidi-font-size:12.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Running over RPGII/III/IV/Free, CL and COBOL on IBM i X-Analysis Lite is available direct from Databorough or through our extensive partner network.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-top:0cm;margin-right:0cm;margin-bottom:12.0pt;margin-left: 0cm"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;mso-bidi-font-size:12.0pt; font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Additional information is available on the Web at &lt;a href="http://www.digitalunion.com/"&gt;&lt;/a&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;&lt;a href="http://www.databorough.com/lite"&gt;http://www.databorough.com/lite&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-top:0cm;margin-right:4.05pt;margin-bottom: 12.0pt;margin-left:0cm;mso-outline-level:1"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;About Databorough&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-top:0cm;margin-right:4.05pt;margin-bottom: 12.0pt;margin-left:0cm"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;mso-bidi-font-size: 12.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Databorough Ltd. is a leading vendor of innovative software tools enhancing IBM i legacy applications and taking them into a 21&lt;sup&gt;st&lt;/sup&gt; century environment. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-top:0cm;margin-right:4.05pt;margin-bottom: 12.0pt;margin-left:0cm"&gt;&lt;span lang="EN" style="font-size:10.0pt;mso-bidi-font-size: 12.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-ansi-language:EN"&gt;Databorough’s&lt;/span&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt; software is developed and maintained by development teams in &lt;st1:country-region st="on"&gt;Canada&lt;/st1:country-region&gt;, &lt;st1:country-region st="on"&gt;UK&lt;/st1:country-region&gt;, &lt;st1:country-region st="on"&gt;France&lt;/st1:country-region&gt; and &lt;st1:country-region st="on"&gt;&lt;st1:place st="on"&gt;India&lt;/st1:place&gt;&lt;/st1:country-region&gt;. It is at work, worldwide, in companies including market leaders in the manufacturing, distribution, retail, services and financial and application software sectors. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBodyText" style="margin-top:0cm;margin-right:4.05pt;margin-bottom: 12.0pt;margin-left:0cm"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;mso-bidi-font-size: 12.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Databorough is headquartered in Weybridge, near &lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;London&lt;/st1:city&gt;, &lt;st1:country-region st="on"&gt;United Kingdom&lt;/st1:country-region&gt;&lt;/st1:place&gt;. The company’s main North American office is in &lt;st1:city st="on"&gt;Toronto&lt;/st1:city&gt;, &lt;st1:country-region st="on"&gt;Canada&lt;/st1:country-region&gt; and its main R&amp;amp;D centre is in &lt;/span&gt;&lt;st1:place st="on"&gt;&lt;st1:city st="on"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;   font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Lucknow&lt;/span&gt;&lt;/st1:city&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;, &lt;st1:country-region st="on"&gt;India&lt;/st1:country-region&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" align="center" style="margin-bottom:12.0pt;text-align:center"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:black"&gt;###&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-top:0cm;margin-right:0cm;margin-bottom:12.0pt;margin-left: 0cm"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;All product and company names may be trademarks or registered trademarks of their respective holders.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0cm;margin-bottom:.0001pt;tab-stops:55.5pt"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;span style="mso-tab-count:1"&gt;                   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0cm;margin-bottom:.0001pt;mso-outline-level:1;tab-stops:161.25pt"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;CONTACTS:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin:0cm;margin-bottom:.0001pt;tab-stops:161.25pt"&gt;&lt;span lang="EN-GB" style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:&amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Databorough:&lt;br /&gt;Stuart Milligan, Tel: (917) 267-7523&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;br /&gt;email: &lt;a href="mailto:stuartm@databorough.com"&gt;stuartm@databorough.com&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1074120823611208144-2620267467733236239?l=databorough.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databorough.blogspot.com/feeds/2620267467733236239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://databorough.blogspot.com/2009/12/databorough-announces-x-analysis-lite.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/2620267467733236239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/2620267467733236239'/><link rel='alternate' type='text/html' href='http://databorough.blogspot.com/2009/12/databorough-announces-x-analysis-lite.html' title='Databorough Announces X-Analysis Lite'/><author><name>Stuart</name><uri>http://www.blogger.com/profile/06942589051622550272</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://1.bp.blogspot.com/_GB892jllY90/SpV21t_XrYI/AAAAAAAAAAM/5sRTbCQl83s/S220/stuartm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1074120823611208144.post-6889349467983050083</id><published>2009-09-05T05:49:00.000-07:00</published><updated>2009-09-05T05:53:21.307-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Business Logic Analysis'/><category scheme='http://www.blogger.com/atom/ns#' term='Legacy RPG Modernization'/><category scheme='http://www.blogger.com/atom/ns#' term='Business Rules'/><category scheme='http://www.blogger.com/atom/ns#' term='RPG Modernization'/><category scheme='http://www.blogger.com/atom/ns#' term='RPG'/><title type='text'>How much RPG application code is still relevant &amp; unique</title><content type='html'>&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;This is the most important question that many CIO's who have as/400 applications are asking themselves. Why are they asking this?&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cost and risk. It costs a lot more money to write your own applications in house than it does generally to buy one off the shelf. The reason being that you have to hire people to write and maintain the code. That's where the risk comes in. If i lose the person who wrote the code then i also potentially impact my ability to enhance and support that same code at the same costs and quality.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Since the introduction of the as/400 in 1988 a lot of custom code has been written on the platform in RPG. The fact that the majority of this code is still around and in use, is testament toRPG itself which makes it possible for analysts with business knowledge, to write a large portion of the code.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In helping customers worldwide to analyse and re-engineer their RPG applications over the last 25 years Databorough has accrued a fairly unique knowledge of the size and characteristics of the this code base in general. we estimate that there is at least one billion lines of custom code in existence on as/400's worldwide.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Before any CIO can make an informed decision on what application strategy to adopt: rewrite, modernize, replace, exactly how much of this code is still relevant and unique to the business must be known. This is in terms of business rules, data model design and flow/process logic. Extracting this information quantitatively, narrating it and documenting it on a million lines ofRPG code that has been written over 20 years, would take 5 people who would need excellentRPG and analysis skills, at least one year working full time.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That's at least half a million dollars direct cost. That is of course if there were enough such people available to do this work over and above ongoing support and maintenance demands on these same applications.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Over the last decade Databorough has been enhancing X-Analysis to the point where it can now automatically extract, narrate and document business rules, data models and process/flow logic for entire systems. Some of the systems X-Analysis runs over currently have in excess of 50 million lines of code, some as little as half a million. The difference in extraction time is usually a couple of hours.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The added benefit is that these extracted specifications can then be used to map to off-the shelf apps, as input specs for rewriting the unique and relevant parts, and even to automatically re-engineer the existing code where necessary.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This might make it clearer as to why IBM promote and use X-Analysis themselves in conjunction with their own tools, a few links to this are detailed below. There are also a few of our partners and independent agents who are offering modernization assessment services which help start this process. Some of these include, Sirius, ADC-AustinTech, IBM Global Services, and Oxford International.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So CIO's don't need to guess or accept others guesswork. They can make these critical decisions on provable, current, accurate and quantifiable information.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here are a couple of useful links:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.databorough.com/products/xextract.html"&gt;X-Analysis Design Recovery&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.redbooks.ibm.com/redpieces/abstracts/redp4046.html"&gt;IBM Redbook on X-Analysis&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www-01.ibm.com/software/rational/solutions/em/systems/i/applications/"&gt;IBM Modernisation Strategy&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.databorough.com/downloads/Articles_White_Papers/Application_Modernization_Concepts_Guide_1.2.3.pdf"&gt;Modernization Concepts Guide&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Stuart&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1074120823611208144-6889349467983050083?l=databorough.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databorough.blogspot.com/feeds/6889349467983050083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://databorough.blogspot.com/2009/09/how-much-rpg-application-code-is-still.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/6889349467983050083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/6889349467983050083'/><link rel='alternate' type='text/html' href='http://databorough.blogspot.com/2009/09/how-much-rpg-application-code-is-still.html' title='How much RPG application code is still relevant &amp; unique'/><author><name>Stuart</name><uri>http://www.blogger.com/profile/06942589051622550272</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://1.bp.blogspot.com/_GB892jllY90/SpV21t_XrYI/AAAAAAAAAAM/5sRTbCQl83s/S220/stuartm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1074120823611208144.post-8668351877003938032</id><published>2009-09-04T07:22:00.000-07:00</published><updated>2009-09-04T07:41:54.835-07:00</updated><title type='text'>How much RPG code is Relevant?</title><content type='html'>Stuart started an excellent post on the value of a company's inventory of RPG.  In my life before I went to work for IBM, I was CTO for a major insurance company who developed most of their systems in-house.  We had a legacy of RPG code dating back over 40 years beginning with an IBM System III and RPG-II. &lt;br /&gt;&lt;br /&gt;While we had some excellent RPG programmers over the years we also had many that were not so excellent and wrote code that worked but was quite frankly not very maintainable. This code would read like an English language conversation, had incredible amounts of  redundant IO -- yes the same record read each time an edit, validation, or field was changed on a single screen. &lt;br /&gt;&lt;br /&gt;The screen handling IO was embedded with business logic to the point that it was virtually impossible to segregate business logic form 5250 IO from Database access.  In other words, spaghetti code.&lt;br /&gt;&lt;br /&gt;As a company moves toward modern UI's and services like Web 2.0 and Web Services, it would be incredibly desirable to leverage existing business logic in existing RPG code.  Extracting viable bits of code into reusable components can be a daunting task making a total rewrite of the application a better choice for many CIO's. &lt;br /&gt;&lt;br /&gt;Databorough's X-Analysis offers some hope and tools to facilitate harvesting of business rules into reusable components (ILE modules, procedures, or at least subroutines).  It also provides via its English Language psuedo code a way to facilitate a straight rewrite of code if that's the route you choose in the same or different language. &lt;br /&gt;&lt;br /&gt;BTW, don't blame the programmers totally for the code you are stuck with.  Much of the code you see in your shop are based on IBM examples from REDBOOKS or other "experts" BOOKS leveraging changing positions on performance over the years. &lt;br /&gt;&lt;br /&gt;At one time you wanted your code totally sequential and in-line with no subroutines to optimize how the CPU would process your code.   &lt;br /&gt;&lt;br /&gt;Some of you may be stuck with code generated by 4GL's that is virtually unreadable.  Quite often the code was generated using a 4GL vendors tools and your programmers then had to manually modify the code to add functionality that the 4GL did not provide.  Once this was done you had code that could no longer be maintained by the 4GL tools.  These programs have hundreds of lines of redundant unnecessary code. &lt;br /&gt;&lt;br /&gt;The best solution are tools that can analyze and help you identify what is relevant and what is not. &lt;br /&gt;&lt;br /&gt;What about RPG II code?  I know that in my previous life a huge number of my RPG Programs were written in RPG II.  Depending on your business requirements it may be worthwhile to first move your old RPG II or OPM RPG III code to ILE before doing anything else. &lt;br /&gt;&lt;br /&gt;If you still have programmers writting in the old RPG II style you have some major skills problems to deal with as well as the code. &lt;br /&gt;&lt;br /&gt;Databorough's tools are not a silver bullet, but they can definitely help you understand what you have and form a modernization strategy based on facts and provide CIO's with a means of managing a modernization project in an objective manner that minimizes risk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1074120823611208144-8668351877003938032?l=databorough.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databorough.blogspot.com/feeds/8668351877003938032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://databorough.blogspot.com/2009/09/how-much-rpg-code-is-relevant.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/8668351877003938032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/8668351877003938032'/><link rel='alternate' type='text/html' href='http://databorough.blogspot.com/2009/09/how-much-rpg-code-is-relevant.html' title='How much RPG code is Relevant?'/><author><name>Bob</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://1.bp.blogspot.com/_YSZEiwoAWRI/SqfS8NM_r_I/AAAAAAAAAeA/crp4FstVHzg/S220/bob.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1074120823611208144.post-1511637214457033423</id><published>2009-08-24T05:58:00.000-07:00</published><updated>2009-09-02T00:09:03.800-07:00</updated><title type='text'>X-Analysis 8 produce System Documents as PDF</title><content type='html'>PDF format is the defacto standard when it comes to sharing the documents. X-Analysis 8 can now produce System documentation as PDF.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1074120823611208144-1511637214457033423?l=databorough.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://databorough.blogspot.com/feeds/1511637214457033423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://databorough.blogspot.com/2009/08/x-analysis-can-now-produce-system.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/1511637214457033423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1074120823611208144/posts/default/1511637214457033423'/><link rel='alternate' type='text/html' href='http://databorough.blogspot.com/2009/08/x-analysis-can-now-produce-system.html' title='X-Analysis 8 produce System Documents as PDF'/><author><name>Databorough</name><uri>http://www.blogger.com/profile/17557823820575170615</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='27' src='http://1.bp.blogspot.com/__EH8SeaGxHY/SpV2PVZAysI/AAAAAAAAABk/HW-_ETSwQAg/S220/X.png'/></author><thr:total>0</thr:total></entry></feed>
