I want to quickly convert an existing GUI or Web Client
application to using Rapide. Do I need to re-design all of my client
windows and procedure steps?

Your existing procedure step designs (action diagram,
dialog flows and window designs) are used by Rapide and will work
unchanged. You will then be able to take advantage of the Rapide runtime
without changes to the models. There are a few minor unsupported
features and we have a plug-in to identify unsupported code as
well as an assessment service to help
identify how easily your models can start to use Rapide. Once you
have started to use Rapide, you can then use the Rapide Designer to
enhance your models to take advantage of advanced
UI capabilities, but only for those client windows that need to
be enhanced.

How can I convert a block mode screen application?

You can use the Rapide Block Mode option to generate a web or mobile application directly from the screen designs in the Gen model or they can be automatically transformed into Window designs with optional support for converting into separate client and server procedure steps.

What versions of CA Gen are supported?

Rapide requires CA Gen 8.0 or higher.

Will Rapide clients work with my existing server code,
and if so, on what platforms and comms protocols?

Yes, Rapide uses standard CA Gen client/server middleware
to communicate to all types of CA Gen servers and using all protocols
supported by the Gen Java runtimes.

Can I develop external action blocks in Rapide?

Yes, the action diagram code for the clients is developed
using CA Gen and generated using the standard CA Gen Java generators.
EABs are supported and can either be developed in Java or in C (using
the Rapide EAB Proxy).

Can I access standard Java libraries without using external
action blocks?

Yes, with Rapide Extension
Libraries. We have implemented libraries for PDF, JasperReports and bar-code
creation and additional libraries can be implemented on demand.

Can I implement web service calls from Rapide?

Yes, either using an EAB or using the
Web Services Consumption feature introduced in Gen 8.5 IR2.

What CA Gen generation targets do I need a licence for?

Rapide utilises the CA Gen Java generators for the action
diagram code, therefore you will need a licence for Java generation.
Note that you do not need to generate the window managers for Web
or WebView generation - just the action block code.

Can I generate and install the application from the
CA Gen toolset?

Yes, a Rapide generator plug-in is available to support
generation and installation from the toolset.

Can I generate and install the application
using GuardIEn on the CSE or HE?

At present support is available for the
CSE. Support for the HE is planned for a future release.

I have implemented customisations in the CA Gen user
exits for client/server flows. Will these be supported?

Rapide uses the standard CA Gen runtime for flows from
the client to server and therefore your existing user exit customisations
will still work with Rapide.

Can I use BLOBs to place pictures on the window?

Yes, with Rapide you can place images contained in a
BLOB view onto the window as either a single image or into a listbox
row. Supported formats are BMP, JPG, GIF and PNG.

Are OCX Controls supported?

OCX controls are supported for a windows desktop application,
but because they are not portable to most mobile devices or available
on all platforms, we recommend that they are not used. Instead the
functionality of OCX controls can be replaced by a combination of
Rapide controls (enhanced listboxes, tree controls, grids, tabbed
frames, etc.) or Java / JavaScript controls. This will then provide a true
cross-platform capability. IET have various approaches to assist in
the conversion of existing OCX usage, so please discuss your specific requirements with us.

Can we implement a browser application
with a standard header and footer?

Rapide has a very powerful new concept
called Frames that allows p-step windows to be embedded within other
windows. Therefore the top level p-step could specify the overall
header, footer and then the individual windows would be loaded into
a frame within this. The concept of frames is very useful when converting
a GUI application to browser because it allows you to host child windows
within frames rather than as separate pop-up dialogs or full screen
pages, which makes the use of a complex multi-windowed application
much more intuitive for a browser application.

Can we use CSS theming to define the look and feel of
the application?

Yes, Rapide uses CSS theming for browser applications
to allow fine control over the windows and widgets, for application
defaults and overrides for subclasses of controls.

I want to convert a GUI application that uses a lot of dot notation
functions to manipulate GUI controls. Is this supported, and what
is the performance implication for a browser application?

A key objective of Rapide is to enable the fast conversion of existing
GUI applications to browser and/or mobile with a minimum of change
to the existing models. Therefore the majority of existing Gen GUI
dot notation functions are supported by Rapide. Dot notation statements that control GUI objects involve a round-trip
to the client device and hence can be slower on a browser/mobile
compared to a windows desktop application. To improve the performance,
Rapide enables events to use an optimisation feature to issue the
statements in a single batch rather than run them serially and hence
significantly improve the performance of heavy manipulation of controls
using action diagram statements.

How does Rapide help to build UIs for different
platforms that meets the specific user behaviors on these platforms?
GUIs for Windows or Browsers often have a lot of information on their
screens. Apps for Tablets and Phones typically have fewer fields per
screen and less informative text. Can different GUI designs share
same Gen client code?

With Rapide you can provide multiple UI designs for a single p-step
for different form factors and device types to cater for different
screen sizes and also design standards. You have control over this using different dialect designs
for the saem p-step. By default we recommend the following:

DEFAULT - used for desktop and normal web applications

SMALLWEB - small web browser (i.e. on a phone or small tablet)

TABLET - iOS or Android Tablet

PHONE - iOS or Android Phone

You can further differentiate between iOS and Android devices and
have different UI designs if you want, and you have control over
what is small vs. large, i.e. at what size of device is it a PHONE
vs. a TABLET based on screen resolution.

Mobile

What are the requirements to develop mobile apps

For mobile apps, the implementation is split between
a Rapide client app that is installed on the device and the actual
application logic that resides on the app server. The implementation
of the device-side app is a one-off activity per app. For Android
devices you will need an Eclipse workbench with the Android Development
Kit. For Apple iOS, you will need an Apple OSX machine with xcode
and an Apple Developer licence.

Can I distribute the mobile app from the Apple App Store
or Google Play Store?

Yes, as long as your app complies with the store vendor's
rules and requirements.

How are mobile apps updated?

Once the Rapide client has been installed on the mobile
device, no further device updates are required for application changes
since the client logic resides on the app server and not on the device.
If the application uses a new version of the Rapide client runtime,
then this will need to be distributed as an update to the device.

Are the mobile apps secure?

With Rapide there is no data stored on the mobile device and the data
transferred between the mobile device and the app server can be encrypted
using HTTPS, so there is a much lower security risk compared with apps that store data on the device or use a non-standard method of securing the data exchange to the back end services.

Will a mobile application work off-line?

At present Mobile apps built with with Rapide require
a connection to the application server that hosts the client business
logic. However you can develop an app that combines Rapide and your
own code to develop a hybrid solution. In the future we plan to enable an offline capability as well.

If the mobile app has to always communicate with an app server, does this slow it down?

The communication between the app on the mobile device and the app server is fast and has a low bandwidth requirement because it uses optimised JSON messages that only have to synchronise state between the user interface objects on the device and their counter-part objects in the Rapide runtime on the app server. This means that the messages only transfer changes to data and not the entire view of data on the client.

The majority of business applications will require a connection to a corporate data centre. With a Rapide app, the communication over the public network is between the device and the app server and then the ‘client logic’ runs on the app server and communicates using internal (fast) networks to the back end servers and the databases. This can often be more efficient than having the device communicate directly with the back end services since the data exchanged between the device and the app server is only the state change data and not all of the data that is transferred to the client logic from the back end service.

Can I mix my own app development code with Rapide apps?

Yes, you can develop a native app using Objective C
(iOS) or Java (Android) and invoke Rapide functions from within the
app.

Can Rapide apps invoke other apps and exchange data?

At present a Rapide app can launch another app. We plan to investigate mechanisms to allow a Rapide app to invoke another app
and pass data and then receive data back from the other app.

Can a Rapide app use push notification messages?

Yes, Rapide apps can use Apple Push Notification services and Google Cloud Messaging to receive push notifications even when they are not active.

Can a user print a document from a Rapide mobile client?

Yes, print support is provided for pdf documents or images using AirPrint on iOS or with Android 4.4 or later.

Browser

What browsers are supported?

Most browsers are supported, for example Internet Explorer, Edge, Chrome,
Firefox, Opera, Android or Safari.
The key requirement is Javascript
support. No browser plugins are required.

Application Server

What application servers are supported?

Any JEE compliant application server is supported. Deployment can
either be performed using traditional war files or as OSGi bundles.

Is load balancing supported on the app server?

Load balancing to distribute workload across
multiple nodes is supported. When setting up a load balancer, it must
be configured to use session affinity so that once a session is started,
the same server serves all subsequent requests for that session.

Desktop

What desktop platforms are supported?

Windows, Linux, UNIX Motif and Apple OSX.

What third party requirements are there for desktop
installation?

A Java Virtual Machine (JVM) must be installed on the
machine or as part of installing the application. Rapide does not
require the separate installation of any other third party runtimes,
since all of the required runtime software is provided with the Rapide
runtime.

How easy is it to update the application?

Once the application has been deployed to the desktop
machine, the software can be easily and automatically updated by refreshing
the .jar files or serving them over the network. Updates do not require
any reboots.