Over the years, the demands placed on IT have grown, computing environment complexity has increased, and IT professionals have become more expensive. These trends have given rise to a pressing need to improve application development productivity, particularly in complex environments where skills may be fragmented across various platforms. GeneXus, from ARTech, addresses this need.
GeneXus is a Rapid Application Development (RAD) tool for creating and maintaining software for use on a variety of operating systems—including OS/400, i5/OS, Linux, UNIX, and Windows—and databases—including DB2 UDB, Informix, SQL Server, Oracle, PostgreSQL, and MySQL. GeneXus generates Java, C#, C/SQL, COBOL, RPG, Visual Basic, and Visual FoxPro applications that run on a J2EE, .NET or .NET Mobile platform. Platform support is illustrated in the Create Model Wizard illustrated in Figure 1.
(Click image to view full size)
Figure 1: Genexus offers broad technology support.
One of the departures that GeneXus has taken from the industry norm is that it does not impose any runtime costs, which further serves to reduce significantly its total cost of ownership relative to its competitors.
Automated Coding and Maintenance
The philosophy behind GeneXus is that the tool should automate as much of the development lifecycle as possible so that organizations can spend more time and resources on their core business functions rather than on coding. To this end, GeneXus operates at the level of business knowledge. It uses "patterns," which define business problems and their solutions and describe when the solution should be applied as a means of facilitating not only code reuse, but also business knowledge reuse.
This approach provides a rapid application prototyping technique that makes it possible to get functionality out quickly, test it in the real world, and then add to it. Thus, the typical development process starts by capturing user requirements and storing them as business knowledge. GeneXus then uses that to generate 100% of the application code, which can immediately be put into users' hands for validation. Using this methodology, complete applications are built through successive generations that accommodate each phase of the business requirements learning process. Because applications are generated in standard languages, there's no need for a runtime license to implement the results.
(Click image to view full size)
Figure 2: With Genexus, you can reverse engineer existing databases.
As illustrated in Figure 2, Legacy applications can benefit from GeneXus' ability to reverse-engineer existing databases. A reverse-engineered database is not changed in any way. Instead, GeneXus simply reads the existing database's structure and relationships. That information is stored in the GeneXus Knowledge Base, with pointers to the database.
(Click image to view full size)
Figure 3: Maintenance is 100% automated.
Facilitating User Productivity
GeneXus provides a number of features that make it easy to create applications that enhance user productivity. For example, its "no codes" feature allows developers to free users from the need to look up hard-to-remember values such as customer codes. The developer simply sets the CustomerCode InputType property to "Description" and sets CustomerName as the Description attribute. Then, users need only enter the customer name. The application will automatically look up the corresponding code, without the developer having to create any code to implement that function.
Other built-in user-productivity features include auto-complete capabilities for fields and linked combo and list boxes. The latter allows the contents of a drop-down box to be populated based on the selection the user makes in another field. For instance, a developer can easily include the functionality needed to build a list of cities after the user selects a country.
Boosting IT Productivity
Another benefit of GeneXus is its ability to significantly enhance IT efficiency. ARTech reports productivity gains of up to 500% for customers using GeneXus. The most obvious Figure 3 - 100% automated maintenance
reason for this is the automated generation of code, but GeneXus also fully automates many maintenance functions, such as database reorganizations, as illustrated in Figure 3. In addition, because GeneXus manages the full development lifecycle, any changes to business processes are automatically propagated to existing data models, databases, and applications, thereby eliminating many sources of human error and significantly reducing maintenance costs.
GeneXus also reduces the cost of introducing new technologies into an organization. Developers need only learn GeneXus, which then generates applications for the appropriate operating system and execution environment, in whatever language is required. Consequently, new platforms can be chosen based on their operating characteristics, without regard to the application development skill sets that currently exist in the organization and without the need to hire or train for new development skills when acquiring new technologies.
It should be noted that, while it offers automated code facilities, GeneXus doesn’t limit programmers in any way. They can still call external programs and incorporate hand-written code, if necessary.
GeneXus for iSeries
In the iSeries world, GeneXus can generate RPG, COBOL, Java, or mixed Java and RPG/COBOL applications. Typical scenarios include using iSeries as both a Java application server and a database server, as just a database server, or as a centralized application server.
When iSeries is used as an application and database server, Web and GUI applications can be deployed on two or three tiers, with IBM WebSphere or Jakarta Tomcat used as the middle tier. The database can be either DB2/400 or Informix.
iSeries is often chosen as a database server because of its superior reliability and data management capabilities. In these situations, the generated applications can run on two tiers or multiple tiers.
GeneXus has been used to generate OS/400 RPG and COBOL applications since 1989. These are still the choice for high performance and low-cost development of back-end processes running on a centralized iSeries application server.
AJAX Support
The latest version of GeneXus 9.0 includes automatic generation of AJAX, which is now the default. The following AJAX features are included:
- Input type "Values" or "Descriptions"
- Suggest (intellitips)
- Web client-side validation
- Dynamic combo boxes with filters
GeneXus supports EJB, EAR, and JTA, and applications can be generated in two or three tiers, with the middle tier being either IBM WebSphere or Jakarta Tomcat. In addition, there is simultaneous support of RMI, CORBA, or DCOM clients.
GeneXus is a well-proven technology, with more than 50,000 licenses, 5,500 customers and more than 5 million users of GeneXus-generated applications. Check out Genexus' limited-time iSeries offer by clicking here.
Joel Klebanoff is a consultant, a writer, president of Klebanoff Associates, Inc., a Toronto, Canada-based marketing communications firm, and author of BYTE-ing Satire. Joel has 25 years experience working in IT, first as a programmer/analyst and then as a marketer. He holds a Bachelor of Science in computer science and an MBA, both from the University of Toronto. Contact Joel at
GeneXus USA
400 N. Michigan Ave., Suite 1600
Chicago, IL 60611
USA
Web: www.genexus.com
Email:
Tel: 312.836.9152
Fax : 312.836.9153
LATEST COMMENTS
MC Press Online