Java, as an open standard in the world of web application development,
provides a development environment that more and more companies are exploiting
to bring their business processes to the web. mySAP Technology fully embraces
Java over the entire e-business solution lifecycle.
Our new, integrated software tool set offers
comfortable, efficient, and rapid web application development for developing
complex Java software solutions. An open IDE, which is already familiar
to the Java development community, SAP-focused features, an add-on for
multi-language capabilities, and an easy-to-use design round out SAP's
kickoff to its Java-oriented developer tool set. The end result? Efficient
access from Java applications to the business processes in mySAP.com solutions.
The Java IDE - SAP's Choice: Borland's JBuilder
SAP has adapted a Java IDE that is well-known and already in wide use
by the Java developer community: Borland's JBuilder Enterprise Version
(see Figure 1). JBuilder offers a variety of features, including
all the "must haves" of a useful Java development environment.
The following lists just some of the functionality of JBuilder 5, Borland's
latest release, which provides:
- Support for JSP and Servlet development
- Easy EJB and Web development
- A state-of-the-art Java IDE hosted on Java 2 SDK 1.3 (giving the
programmer a choice of Java Development Kit)
- Web archive (WAR) and enterprise deployment enterprise archive (EAR)
support for packaging web applications and sets of components
- A scalable team development environment for simplified, concurrent
management of source code
- Guaranteed platform independence
- A wealth of visual tools and wizards for all common tasks: creating
objects (e.g. projects, classes, interfaces, servlets), implementing
interfaces, creating JAR files, and deploying EJBs
- Code patterns (i.e., if, for, while) for statements
- High-level code navigation
- Two-way editing, so that changes made via the editor are immediately
applied to source code, and source code changes instantly appear in
the special editor
- CodeInsight for streamlined coding, providing support for fast code
analysis and code completion
- Extensibility of the IDE via Open Tools API
||JBuilder 5 Interface
Now, for development of Java web applications
in the SAP environment, SAP has taken the next step, and extended JBuilder's
solid Java development environment with additional, SAP-specific features.
The Interface Between Java and ABAP: JCo
Making communication between Java and the SAP system is the SAP Java
Connector (JCo), a high-performance JNI-based RFC middleware. The easy-to-use
JCo API supports SAP R/3 Release 3.1H and higher, as well as any mySAP.com
components that contain BAPIs or Remote Function Modules. JCo provides
synchronous, transactional, or queued Remote Function Call (RFC) capabilities.
This allows a Java programmer to call SAP functionality (inbound communication)
and an ABAP programmer to call a Java application (outbound communication).
Codepages, data type conversion, connection pooling - the programmer does
not have to handle these interface-specific tasks.1
The SAP Add-Ons
As a global player in e-business, SAP introduces tool enhancements that
can be used for development in J2EE-compliant server environments, including:
for Java-Based Access to SAP Business Processes
Two new SAP add-ons
enable you to take your SAP functionality and use it in your Java web
- The BAPI Browser for an easy connection to the SAP system
- The Java Proxy Generator for quick creation of Java classes
that include SAP functionality
The BAPI Browser is completely integrated
into JBuilder: you can call the browser from your JBuilder menu and connect
quickly to the appropriate SAP system (see Figure 2).
As you can see in Figure 2, the BAPI Browser
allows you to use filters to easily search, select, and display the corresponding
Remote Function Modules or BAPIs. After selecting the objects you need,
you can trigger the proxy interface from the BAPI Browser by simply selecting
the "Generate" button. From there, the Java proxy generation
process begins (see Figure 3).
For these selected function modules, the
XML Generator generates XML files. The XML files are transformed into
Java source files via XSLT (eXtensible Stylesheet Language Transformation).
In addition to being the basis for your web application, the Java proxies
are important for object-oriented control and for encapsulating application
In the future, the XML files for Java applications
will also be stored in the SAP Interface Repository (IFR). From the IFR,
you will be able to work with simple Java classes that contain the business
functionality you need for your Java applications, in addition to the
mySAP.com interfaces already available from the IFR.2
||Java Proxy Generation: An Architectural Model
Java Applications: SAP's Localization Add-On
SAP has used its experience and know-how in language technology and delivery
to develop a translation tool for the J2EE environment. With SAP's localization
add-on, developers have a tool to adapt Java-based web applications
to various languages without having to make any engineering changes, or
recompiling the code. You add the localized data, and the same executable
program code can run for users no matter what their language.
Text elements, such as status messages
and graphical user interface (GUI) components, are stored outside the
source code and retrieved dynamically later on. Country-specific formats
and data, such as date formats and currencies, conform to the end user's
country and language. This SAP add-on also enables the Java programmer
to add important text information that the translator of the user interface
will need later on.
In addition to the benefits to users, the
Java localization process ensures an optimized development workflow. The
files are created automatically, based on so-called resource bundle files,
which are typical Java classes. Additional information is collected in
the Java development environment. The files run through the localization
process, then are converted back into the resource bundle files. These
localization features help provide a solid infrastructure for developing
high-quality, global online applications.
Design for Developers
SAP also provides a sophisticated, pluggable look and feel for
Borland's JBuilder 5 Enterprise version. This user interface is designed
with a familiar, user-friendly layout and comes with a set of tabstrips
that increases ease of use. As a result, users don't have to adjust to
yet another interface when developing SAP web applications in Java. And
you even have the option to customize the user interface via the tool
list through the Open Tools API.
The Java Proxy Generation Process
For each SAP Remote Function Module or BAPI, the Java proxy interface
- A Java proxy class
- One static method
- Several methods within the Java proxy class
- A nested inner class, including complex table or structure parameters
The Java proxy class (e.g., Proxyclassname.java)
generally contains several methods that represent the corresponding
function modules or BAPIs in the SAP system. Complex parameters,
like table or structure, defined in a function module, are represented
as inner classes. These parameter classes provide containers for
parameter definitions and are suitable for hiding the details of
To define the request and response
parameters, a request container class and a response container class
are generated as inner classes. For each global definition of a
referred complex parameter type defined as dictionary structure
or table, the proxy interface generates one separate type definition
class (e.g., TypenameTable.java or TypenameStructure.java).
||Proxy class that contains the methods for corresponding BAPIs
or function modules, with some inner classes defining the container
for complex parameters.
||Separate classes used to map the single Dictionary types.
||Separate classes used to map the single Dictionary types.
SAP will continue to provide more features for comfortable Java web development.
These include enhanced tool support for convenient and efficient modeling
of Java applications, along with implementation of a repository so that
high-functionality features, like where-used lists, are destined to become
standard in any SAP Java development environment. BAPI Browser functionality
will also be extended: a detailed view of the corresponding interfaces
and display of interface documentation are only part of the improvements
planned for the near future. These examples provide just a brief glimpse
of SAP's plans for further tool support of the Java application development
Gesine Raith is with the
Product Management Team of Business Programming Frameworks. She joined
SAP AG in 1991. For further information concerning Java tool support,
she can be reached at firstname.lastname@example.org.
For more information on JCo, see the article "New Features in SAP
Java Connector (JCo) 1.1" by Thomas G. Schuessler in this issue of
SAP Insider. Additional coverage of JCo is available in the Apr-Jun
and Jul-Sep 2001 issues online in the SAP Insider archives at www.SAPinsider.com.
For an introduction to the SAP Interface Repository, see "The SAP Interface
Repository Now Offers Developers 2,000+ mySAP.com XML Interfaces" in the
October 2000 issue of SAP Insider (Vol. 1, No. 2), available online