- Rational Developer for I (RDI): RDI is the right RPG tool to move forward with in a more productive manner. Other Rational products for System i development that IBM sells just don't make the grade. This is the only one that I consider a winner in value. It's affordable and it greatly improves productivity over other RPG tools with a small learning curve. This tool make RPG development an affordable strategy going forward
- Eclipse Web tools: Eclipse has the best Web tools for System i. I can now build, generate and test Web applications quickly, while rapidly leveraging the best tools. If you're looking to do Web development, in my opinion, you can't do it easier than Eclipse (especially when combined with some other items on this list).
- Enterprise Open-Source Architecture (EOSA): Referring here to "architecture strategy," not software. Open-source has changed everything. Most successful commercial software (Rational tools, WebSphere, IBM HTTP Server and more) are based on open-source software. Now, vendors and service providers are directly supporting open-source with quality support options where needed. EOSA is an architecture strategy to lower the cost and time to build and maintain software while improving quality dramatically based on five principles of development:
- Customer-driven solutions (CDS) -- Wherever practical, remove traditional programming and let users build or customize their own solutions quickly -- see some of the solutions below that don't require programming.
- Test-driven development (TDD) -- Most companies will save a lot of money moving to a TDD approach where requirements are directly modeled as executable test cases first. Then generate or build the supporting application components. Better requirements coverage, shorter development and more automated testing.
- Model-driven generation (MDG) -- A variety of good open-source solutions and tools now generate lots of software (e.g., database designs, data services and data access, business objects, Web pages). In some cases, building a multi-user, Web database application can be faster than building an Excel spreadsheet to meet your needs. Eliminate coding in any language wherever possible. Generate code from models.
- Service-oriented architecture (SOA) -- Think "reuse." My definition of SOA does not match any vendors including IBM. Vendors see SOA as a specific set of their products and tools you buy (SOA tools, servers etc). I don't. A developer building a reusable RPG procedure or service program is doing SOA development. With languages like Groovy, reusability can move to a higher level speeding development and improving quality.
- Managed service architecture (MSA) -- Building services is not new. Building quality services that separate correctly application or business logic from the service management aspects (e.g., connections, error handling, recovery, invocation of lower components, performance and logging) is new for the majority of companies and vendors. Leveraging a combination of inheritance and dependency injection, while building a quality robust service in a language like Groovy is very fast and very simple. The same architecture could be applied to RPG services without quite the same productivity levels.
- Qwiki Web work spaces: Imagine being able to manage work as a team without following email chains, trying to send Word documents and spreadsheets back and forth. With wiki technology it is now easy to do just that. My favorite is the Qwiki platform we've built on top of JSPWiki using their free software and plugins available. I added several plugins to create a Web-based Qwiki project site as shared Web work space running on Apache Tomcat – done in less than a day. Using simple Web word processing, Excel and SQL queries, users accomplished all of the above without any programming. We were able to generate Web content faster than we had with Microsoft SharePoint, an expensive server.
- Web reporting: Web reporting is fast, easy and flexible for users to access data quickly. My favorite solution for Web reporting is BIRT. It not only gets all your System i data, it can access any form of electronic info (databases, documents, spreadsheets and Web services) as data without programming. BIRT is a visual drag and drop toolset and report server, and it's free and can run anywhere in your network, including on System i.
- Web database applications: Web database applications aren't new. Generating them without programming (including the database itself) productively using free software IS new. Grails not only generates Web database applications, it can generate and automate testing of Web applications. It has plugins for every type of Web function you could need. And the generated code is simpler, cleaner and (in my opinion) better designed than any of the commercial software tools you can buy.
- IBM System i virtualization: Yes managing multiple servers is now more efficient and cost-effective with the System i. Running Linux servers in addition to IOS is simpler now.
- IBM WebSphere Community Edition: Finally what everyone wanted: a true, open-standards based Web application server, runs anywhere you can use free of charge from IBM with a full set of support and service plans to match your specific needs. Drops the overall cost of Web application servers in many cases by 80% while providing the same or better quality software and support – a brilliant business value in a tough economic climate.
- Training: Whether it's self study, Googling technical topics, attending user group meetings or getting training from System i Web education providers (such as workshops on new technology), getting good skills has never been more affordable or more critical to improving IT value delivered.
- Web 3.0 – "the Semantic Web": This is a long-term trend. Web 2.0 is over-hyped. Useful but not as critical as software vendors want you to believe. The long-term trend I'm tracking is Web 3.0 – the Semantic Web. It's a long way from being a big payoff to businesses but it will at some point. Web applications, services, content that can actually "understand" the content, and thus eliminate work for users.
That's my list. Take the time to check out some of the options on it and let me know what you think. Thanks!
Share your own ideas of the best new technologies that System i programmers and users should be learning about and using in 2009 and beyond at The iSeries Blog.
ABOUT THE AUTHOR: Jim Mason works at www.ebt-now.com, a System i Web specialist delivering: strategies, solutions, architecture, development, support, and training services for WebSphere and open-source environments. Beyond Web development and teaching QuickWeb workshops, Jim is president of the virtual IBM WebSphere Community Edition user group.
This was first published in January 2009