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
).
- Server address - specifies the IP address of the desired
on-premises or cloud-hosting server (for example,
- 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.
- Server name - specifies the name of the runtime application
container server (for example,
- 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
).
- Server address - specifies the IP address of the desired
on-premises or cloud-hosting server (for example,
- 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.
- Server name - specifies the name of the runtime application
container server (for example,
- 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.
- 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
- 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.