Version 8.3.4

Some Background Information

This document covers the following topics:


If you Change the Adapter

You can now add more functions to your "Hello World!" application by yourself. This means that you will both work with the layout description inside the Layout Painter as well as change the code of the adapter.

Changing the adapter's code requires that you replace your existing class files in the <installdir>/tomcat/webapps/cis/cisyourfirstproject/appclasses/classes directory by new ones. What does this mean for the runtime environment? The runtime does not see these recompiled classes because it already loaded the existing classes. So there is no difference how the application performs by default.

However, you can explicitly force the server to reload all application classes and to use the newest class version. The server is clever enough to keep old classes for existing sessions, which means that users who are already logged on will not be disturbed. But new sessions will get the newest classes.

The task to update the classes is directly triggered from the Layout Painter by choosing the save button. This tells the runtime to use new classes for new sessions. Since the preview area always opens a new session, it will be up-to-date whenever you choose the preview button.

Therefore, you can develop continuously, without restarting the GUI-server Tomcat environment.

For fast readers:

The class loader management mentioned above is designed to be used at design time. At runtime, especially if running in non-Tomcat environments, you should use the application server's web class loader to load the adapter classes. Details are provided in other sections of the Application Designer documentation.

Top of page

Name Binding between Controls and Adapter

Which are the critical parts when building the "Hello World!" application?

There is a name binding between the layout definition and its corresponding adapter. This is the simple and effective approach of the Application Designer's development process: The adapter represents a logical abstraction of what the page displays. All layout definitions are kept in the page - all the logic is kept in the adapter. (Or better: behind the adapter. The adapter itself should only be a facade to the "real" application logic.)

Top of page

Data Exchange at Runtime

What happens at runtime?

With a standard HTTP connection, only the changed content of the screen is passed when operating on one page. The layout is kept stable in the browser. Consequently, there is no flickering of the page due to page reloading.

All steps described in the list above are done completely transparent to your adapter; i.e. you do not have to cope with session management, stream parsing, error management, building up HTML on the server, etc. You just have to provide an intelligent HTML page by defining it in the Layout Painter and an adapter class.

Top of page

Files and their Locations

Have a look at the files created for your "Hello World!" application and take notice of the directory in which they are located.

All files are located in the directory <installdir>/tomcat/webapps/cis/cisyourfirstproject. The /cis directory is the directory of the web application instance. The /cisyourfirstproject directory is the directory that has been created for your new project

The directory locations described in this section are the default locations. See also Directories in the Development Workplace documention.

Top of page

Application Project Management

Use the project "cisyourfirstproject" only for your first steps. For real development, create your own projects. Working inside your own projects, you can be sure that your project files will never be touched by any Application Designer updates. Therefore, patches or enhancements to Application Designer can be installed by just copying them over the existing Application Designer installation.

Keep all your files inside the project directory during the development cycle. Even if this might work correctly: for example, do not put jar files into the server (Tomcat) directories, but place them into the corresponding /appclasses/lib directory of your project.

There are some rare cases in which you have to position jar files explicitly inside the Tomcat environment: for example, if classes of a jar file access native libraries (such as DLLs) by the JNI interface. They can only be loaded once by the class loader. Because both Tomcat and Application Designer have class loaders which may load a class multiple times, you have to position these classes, for example, into the /tomcat/lib directory. However, these are the exceptions. Do not put any classes outside of the Application Designer project directories unless there is a reason for it.

Top of page

Usage of Enhanced Development Tools

You may already have noticed that there are various other tools inside the development workplace. See the Development Workplace documentation for detailed information on how to use these tools.

Top of page