Bluemix and Designer Use Case 3 - Hybrid applications

Hybrid Bluemix applications can be defined as ones where your application is deployed on Bluemix but it accesses its data from outside of the boundaries of the Bluemix platform.

Overview

The key characteristic of hybrid applications is that the application data resides outside of Bluemix. The advantages of the hybrid application model is that you can use trusted Domino® server configuration options like password management and directory assistance to help span the cloud and on-premises platforms used in association with Bluemix.

Currently, there are two possible production-level use case options for hybrid applications using this model that Bluemix, XPages, and Domino® Designer supports:

  • Option 1: The application deployed on Bluemix is used to access data from an on-premises Domino® sever.
  • Option 2: The application deployed on Bluemix is used to access Domino® data in a private cloud data source (for example, part of a cloud hosted managed service).

To make it easier to set up and configure hybrid applications for use with Bluemix and Domino® Designer, the following features are provided to help you set up the necessary infrastructure needed to configure and deploy hybrid XPages applications to the Bluemix platform:

  • Hybrid Integration Profiles preferences available in the Domino® Designer Bluemix Preferences panel
  • Expanded Domino® Designer tooling for hybrid application support
  • Additional environment variables for hybrid application support

Domino® Designer Bluemix Preferences provided for hybrid application support

Formerly, a Domino® Designer Preferences page was added where you could define the Bluemix Server connection when using Designer with Bluemix. To open the Bluemix preferences, select File >Preferences and then select Domino Designer >IBM Bluemix.

A Hybrid Integration Profiles section is provided by this specific preference page to assist you in setting up and configuring hybrid applications for use with Bluemix. This section lets you specify a frequently used hybrid configuration that can be easily added to your Bluemix applications using the Bluemix manifest editor. The preferences that you can set in this section of the panel include the following:

  • Remote Data Connection - This section let you specify information about the desired private cloud or on-premises server. In this portion of the panel you specify
    • Server address - specifies the IP address of the desired on-premises or cloud-hosting server (for example, 126.228.15.68).
    • Server name - specifies the name of the desired on-premises or cloud-hosting server (for example, onpremises/yourserver).
  • Runtime Application Container - specifies server credential information related to the desired Runtime Application Container. In this portion of the panel you specify
    • Server name - specifies the name of the runtime application container server (for example, xpagesruntime/runtimeserver).
    • Server ID file - lets you browse for the ID file location that contains the ID file that will be used during application staging (for example, C:\Domino\data\runtime-server.id).
    • Server ID password - specifies the optional password associated with the ID file that will be used during application staging.
  • Enable directory assistance for authentication - Checking this option lets you allow the runtime application server to use a Domino® user directory on the remote server as follows: 1) to authenticate Internet users against the credentials in the directory, 2) to resolve users during NAMELookup calls, and 3) to resolve members of groups when authorizing database access. In this portion of the panel you specify
    • Domain name - specifies the domain name of a Domino® directory on the remote server.
    • Domain directory - specifies the file name of a Domino® directory on the remote server.

Domino® Designer tooling provided for hybrid application support

To make it easier to set up and configure hybrid applications for use with Bluemix and Domino® Designer, tooling options are provided in the IBM® Bluemix Manifest editor.

The IBM® Bluemix Manifest editor is part of the functionality and tooling available in Domino® Designer to provide the infrastructure needed to modify, configure, and deploy XPages applications and hybrid applications to and from Bluemix. An editor is provided in Domino® Designer so that you so that you can locally edit the advanced Bluemix application properties found in the Bluemix application manifest file (named manifest.yml by default).

Specifically related to hybrid applications, the settings and variables you can change via the editor include the following:

  • Hybrid Configuration Settings - This section of the editor lets you specify the application Hybrid Configuration information so that you can set up and configure hybrid applications on Bluemix. The information that you can set in this section of the editor panel include the following:
    • Remote Data Connection - This section lets you specify information about the desired private cloud or on-premises server. In this portion of the panel you specify
      • Server address - specifies the IP address of the desired on-premises or cloud-hosting server (for example, 126.228.15.68).
      • Server name - specifies the name of the desired on-premises or cloud-hosting server (for example, onpremises/yourserver).
    • Runtime Application Container - This section lets you specify server credential information related to the desired Runtime Application Container. In this portion of the panel you specify
      • Server name - specifies the name of the runtime application container server (for example, xpagesruntime/runtimeserver).
      • Server ID file - lets you browse for the ID file location that contains the ID file that will be used during application staging (for example, C:\Domino\data\runtime-server.id).
      • Server ID password - specifies the optional password associated with the ID file that will be used during application staging.
    • Enable directory assistance for authentication - Checking this option lets you allow the runtime application server to use a Domino® user directory on the remote server as follows: 1) to authenticate Internet users against the credentials in the directory, 2) to resolve users during NAMELookup calls, and 3) to resolve members of groups when authorizing database access. In this portion of the panel you specify
      • Domain name - specifies the domain name of a Domino® directory on the remote server.
      • Domain directory - specifies the file name of a Domino® directory on the remote server.
  • XPages Runtime Environmental Variables - Lets you specify the special XPages Runtime environmental variables that will be set for this application. Refer to the appropriate section in this topic for more details on environmental variables available for hybrid applications.
  • User Environmental Variables - Lets you specify your own custom environmental variables that will be set for this application.

Environment variables provided for hybrid application support

With the support of hybrid applications, a group of XPages Runtime Environment Variables are provided to help you work with hybrid application configuration information. The Bluemix Manifest editor includes a Hybrid Configuration section to let you set this group of environment variables to the desired value.

By clicking on the Edit... button in the Hybrid Configuration section of the editor, you can open the Configure a hybrid Domino® connection model panel to make changes to the current hybrid configuration variable settings.

The environment variables related to hybrid applications that can be set include the following:

APP_REMOTE_DATA_SERVER_ADDRESS
Specifies the IP address of the desired remote on-premises or cloud-hosting server (for example, 126.228.15.68)
APP_REMOTE_DATA_SERVER_NAME
Specifies the name of the desired remote on-premises or cloud-hosting server (for example, onpremises/yourserver).
APP_RUNTIME_SERVER_NAME
Specifies the name of the runtime application container server (for example, xpagesruntime/runtimeserver)
APP_RUNTIME_SERVER_IDFILE
Specifies the name of the ID file that will be used during application staging (for example, C:\Domino\data\runtime-server.id)
APP_DA_ENABLED
Specifies whether ID directory assistance has been enabled for your hybrid configuration.
APP_DA_DOMAIN
Specifies the domain name of the on-premises server.
APP_DA_ADDRESS_BOOK
Specifies the domain directory NSF filename needed for authentication in your hybrid application configuration.