GeneXus JAVA Generator

Latest Update: 2009

GeneXus JAVA Generator

Copyright  Artech Consultores S. R. L. 1988-2009.

All rights reserved. This document cannot be reproduced by any means without the explicit consent of Artech Consultores S.R.L. The information contained in this document is for personal use only.

Registered Trademarks

Artech and GeneXus are trademarks or registered trademarks of Artech Consultores S.R.L. All other trademarks mentioned in this document are the property of their respective owners.

Page 1

GeneXus JAVA Generator

GeneXus JAVA Generator ...... 3

Execution in Multiple Tiers ...... 3 Deployment Wizard ...... 4

Application Servers ...... 4 Servlet Generation ...... 4

GeneXus and J2EE ...... 5 1. EJB (Enterprise Java Beans) ...... 5

2. EAR Deployment Wizard ...... 5 3. JTA (Java Transaction API) ...... 6

GeneXus for iSeries ...... 6 1. iSeries as a Java Application Server and Database Server ...... 6

2. iSeries as Database Server ...... 7 3. iSeries as a centralized Application Server ...... 8

Page 2

GeneXus JAVA Generator

GeneXus JAVA Generator

The GeneXus JAVA Generator is an intelligent code generator for building JAVA-based applications, which generates standard JAVA source code.

The GeneXus JAVA Generator enables the development of two types of applications:

• Web applications (servlets) • GUI applications (2 and 3-tier)

Key Features:

Feature Web applications GUI applications

Execution in Multiple Tiers χ √

Deployment Wizard √ √

Application Servers √ √

Servlet Generation √ χ

Execution in Multiple Tiers You can distribute the code's execution between the client and the application server. Communication among different tiers can be achieved through Remote Method Invocation (RMI), Common Object Request Broker Architecture (CORBA), HTTP or Distributed Component Object Model (DCOM).

Page 3

GeneXus JAVA Generator

Applications can also be generated in two tiers, using a traditional client/server scheme that accesses the database through Java Database Connectivity (JDBC).

Deployment Wizard A Deployment Wizard is distributed with the GeneXus JAVA Generator. The purpose of this Wizard is to simplify application distribution.

Key features:

• Automatic definition of client and server code • Creation of packages that can be automatically installed from a browser URL • Automatic version control and upgrading at execution time • Transfer of results to the application or FTP servers

Application Servers When using HTTP between client and server, you should use a Servlet Engine on the server side. GeneXus JAVA Generator supports all the Servlet Engines and J2EE Servers available, including: Resin, Tomcat and WebSphere.

If you choose RMI, CORBA or DCOM, some application server features are included in the GeneXus JAVA Generator:

• Execution on any platform, with the possibility of starting it as a Windows NT service. • Simultaneous support of RMI, CORBA or DCOM clients (only in Windows). • Management of a connection pooling to the database. This allows having an unlimited number of clients that share a limited number of connections to the database. • Remote management and monitoring from any machine connected to the Internet.

Servlet Generation The GeneXus Web Objects (Web Panels or Web Transactions) enable the design of dynamic HTML pages with database access. The Java generator allows generating Web Objects using a technology called 'Servlets'.

Java Web Objects have the following features:

• Connection pooling: connections are shared between different Web Objects • Session management support • Sending of compressed HTML pages to browsers that support it (Internet Explorer 4.x or higher, Netscape 4.x or higher)

Page 4

GeneXus JAVA Generator

GeneXus and J2EE

Although GeneXus applications -Servlets, JDBC, and so on- already comply with many J2EE specifications, the new features included in the latest version of GeneXus take its J2EE compatibility to a new level.

GeneXus Yi, has important new features regarding support for the J2EE platform:

1. EJB (Enterprise Java Beans) 2. EAR Deployment Wizard 3. JTA (Java Transaction API)

1. EJB (Enterprise Java Beans) EJB Technology enables rapid and simplified development of distributed, transactional, secure, and portable applications based on Java Technology.

GeneXus Yi enables GeneXus users to generate procedures as Session Beans or Message Driven Beans to be used by third parties or by the GeneXus application itself. GeneXus doesn’t generate Entity Beans because they don’t add value for its users, since they don’t manually code the data access. The rest of the database accesses, such as loading a web panel, are performed using JDBC directly from the Java servlets.

The Yi version also generates GeneXus transactions that may be used in batch mode from procedures (Business Components). These components may be exposed as Session Beans or Web Services.

2. EAR Deployment Wizard The EAR Deployment Wizard is a utility that allows building an EAR (Enterprise Archive Resource) of your GeneXus EJB Application, for one of the following J2EE Servers:

• JBoss 3.x • J/RUN 4.x • Oracle 9iAS • Sun One 7.x • WebSphere 5.0 • WebLogic

Page 5

GeneXus JAVA Generator

3. JTA (Java Transaction API) JTA specifies standard Java Interfaces between a transaction manager and the parties involved in a distributed transaction system: the resource manager, the application server, and the transactional applications.

GeneXus distributed transactions are provided thanks to this new feature.

GeneXus for iSeries

The first two GeneXus Generators released for GeneXus were the RPG and COBOL generators for OS/400. Today, you can also generate state-of-the-art JAVA applications that run on your iSeries servers. The applications can be full-Java or a mix of Java and RPG/COBOL batch programs, enabling the developer to select the best technology in each case.

Find below an overview of three different scenarios that describe how to make the most of your iSeries with GeneXus.

1. iSeries as a Java Application Server and Database Server The GeneXus JAVA Generator enables the development of Web applications and GUI applications on 2 and 3 tiers, either on IBM WebSphere or Jakarta Tomcat can be used in the middle-tier.

The database used can be either DB2/400 or Informix.

Page 6

GeneXus JAVA Generator

2. iSeries as Database Server In many cases, GeneXus customers choose to use their iSeries servers (with DB2/400) as database servers due to their unequaled reliability.

The generated applications can run in two tiers or in multiple tiers. For two tiers applications you can use

: database access is done through ODBC • Visual FoxPro: database access is done through ODBC • Java: database access is done through Java Database Connectivity (JDBC) • .NET: database access is done through ODBC

Applications can also be generated in 3 tiers where the application server is not run in the AS/400. If you use the Java generator, you can have a server running in any Java- supported platform (Linux, Windows, etc). If you use the .NET generator, the application server must run in Windows.

Page 7

GeneXus JAVA Generator

3. iSeries as a centralized Application Server GeneXus customers have been using the GeneXus RPG and COBOL Generators since 1989 to develop and maintain their applications running on OS/400. Today, these generators offer the most productive, cost-efficient, and best performance to develop, maintain, and run your back end processes.

Page 8