What Is a Red App and Red App Bundle
Red Apps are Sabre's branded version of an Eclipse plug-in. Red App developers design and code these applications, and then wrap them as plug-ins for integration into Sabre Red 360. These Red Apps extend the capabilities of Sabre Red 360.
You can build Red Apps with a variety of internet and programming technologies, and you can add communication with Sabre data stores and other Red Apps via the SRWRuntime communication bus. Red Apps can be visually integrated into Sabre Red 360 or collect data and perform tasks behind the scenes.
This topic introduces the following:
Components of a Red App
Red Apps consist of a main plug-in project and one or more dependent plug-in projects. Generally, the main plug-in project has the most important or significant functionality, although dependent plug-ins can also include many types of functionality. All communications in a Red App must be included in the main plug-in.
Every plug-in project in a Red App has a
plugin.xml file located at the root of the project.
As you add classes, extension points with properties and values, and dependencies to a plug-in project, Eclipse generates the
plugin.xml file and formats these elements as XML.
plugin.xml file in the main project will have several extension points that are not present in dependent plug-in projects. These extension points are specific to Red Apps:
As a Red App provider, your Red App must include support contact information. This information gets published in Sabre Red 360 along with your Red App to enable your customers to contact you if needed.
By using Eclipse IDE to create your Red App, Eclipse generates
build.properties files in all plug-in projects within a Red App. Eclipse adds a
META-INF folder to the root of the plug-in. This folder includes the
The manifest in the main plug-in is of special importance to a Red App because Eclipse adds the Plug-in ID and other information that some Sabre processes use. This is explained in more detail in Plug-in Project Properties. From this topic you can follow links to other topics that provide more details.
A Red App can execute functionality in the form of background processes, for example, logging or operations on the first run of a plug-in.
UI or Workspace Elements
A Red App can have user interface or workbench elements. The choices are editors (rendered as tabs in Sabre Red 360), views (rendered as assistant tools panels), menu contributions, status lines, pop-up dialogs, and notifications.
Red App ID
After Sabre accepts your application and Red App proposal, and after all agreements are signed between you and Sabre, Sabre assigns a unique Red App ID to your Red App. This ID is associated with your proposal. You will use this Red App ID in the
redapp.xml configuration file, and when you submit your Red App for certification. You will also use this same ID to submit any subsequent corrections to previously failed Red App bundles and patch releases.
redapp.xml Configuration File
This configuration file registers your unique Red App ID and all access and use of communications in a Red App. Communications include authorization to consume services that Sabre and other Red Apps register with the SRWRuntime communications bus, registration of event listeners, and published Event IDs. Every project has a single
redapp.xml file that is located in the root of the main plug-in project.
Eclipse creates a build.properties file at the root of all plug-in projects. This file includes all files and properties that create a binary build. Eclipse automatically updates this file when you add files and other properties to your project.
All Web Modules must be placed in the
It’s forbidden to Red App to have a
web directory. Red App with a
web directory in its structure will be rejected by Dev Centre during the validation and certification process.
Custom Folders and Files
If a Red App has certain types of functionality, the plug-in project will include custom folders and files at the root of the plug-in project.
These special folders and files may be any of the following:
imagesfolder with image files that the Red App accesses
resourcesfolder for message properties in a Red App that has translation services
Plug-in properties files for Red Apps that include translation
A folder for scripts or executables, for example, Red Apps that include Sabre Scribe will have a
For more information, see Project Layout Requirements.
Communications Services, Event Listeners, and Events
redapp.xml configuration file in the main plug-in project implements communications in a Red App.
A Red App can include authorization to use services that are registered with the SRWRuntime bus and to publish its own events. A Red App can also register its own services, event listeners, and events in this file.
A Red App obtains an authentication token in the Java code to use services that are registered with SRWRuntime and to publish events. It does not authenticate to use its own services. Registration of an event listener also accomplishes authentication.
A Red App can publish events. When the event occurs, the SRWRuntime bus notifies other event listeners about the event.
See Communications in_ Red Apps_ Overview for an introduction of communications.
Red App Bundle File
When you are done with all development and local testing, you create a Red App bundle ZIP file that consists of all plug-in JARs, a custom
bundle.properties file, and a
bundle.crt file. The bundle and all JARs are signed with your digital certificate. You submit the bundle ZIP file to Sabre on the Dev Centre for validation and certification.
You can either create your bundle ZIP file manually or use the Red App Bundle Wizard to create and secure the bundle.
|You are strongly encouraged to use the Red App Bundle Wizard in the Sabre Red 360 Developer Toolkit to create a Red App bundle and ZIP file automatically.|
This properties file includes important metadata about the Red App, described as follows:
redapp.bundle.idis the Plug-in ID of the main Red App plug-in project.
redapp.bundle.versionis the 4-part version number of the main Red App plug-in.
bundle.crt file is the valid digital certificate of the provider of the Red App. This file is the actual certificate that you use to sign the files. You must purchase a digital certificate from from the vendors approved by Sabre.