TIBCO Silver Fabric Continuity User s Guide Software Release 1.0 November 2014 Two-Second Advantage
Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE. USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN THE LICENSE FILE) OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USER LICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE LICENSE FILE(S) OF THE SOFTWARE. USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BE BOUND BY THE SAME. This document contains confidential information that is subject to U.S. and international copyright laws and treaties. No part of this document may be reproduced in any form without the written authorization of TIBCO Software Inc. TIBCO, Two-Second Advantage, TIBCO Silver, TIBCO Silver Fabric, and TIBCO Continuity are either registered trademarks or trademarks of TIBCO Software Inc. in the United States and/or other countries. Enterprise Java Beans (EJB), Java Platform Enterprise Edition (Java EE), Java 2 Platform Enterprise Edition (J2EE), and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the U.S. and other countries. All other product and company names and marks mentioned in this document are the property of their respective owners and are mentioned for identification purposes only. THIS SOFTWARE MAY BE AVAILABLE ON MULTIPLE OPERATING SYSTEMS. HOWEVER, NOT ALL OPERATING SYSTEM PLATFORMS FOR A SPECIFIC SOFTWARE VERSION ARE RELEASED AT THE SAME TIME. SEE THE README FILE FOR THE AVAILABILITY OF THIS SOFTWARE VERSION ON A SPECIFIC OPERATING SYSTEM PLATFORM. THIS DOCUMENT IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. THIS DOCUMENT COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS OF THIS DOCUMENT. TIBCO SOFTWARE INC. MAY MAKE IMPROVEMENTS AND/OR CHANGES IN THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THIS DOCUMENT AT ANY TIME. THE CONTENTS OF THIS DOCUMENT MAY BE MODIFIED AND/OR QUALIFIED, DIRECTLY OR INDIRECTLY, BY OTHER DOCUMENTATION WHICH ACCOMPANIES THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO ANY RELEASE NOTES AND "READ ME" FILES. Copyright 2014 TIBCO Software Inc. ALL RIGHTS RESERVED. TIBCO Software Inc. Confidential Information
Table of Contents Introduction...2 Concepts...3 Brokers...4 Profiles...5 Artifacts...6 Variables...7 Settings...8 Users...9 System Administration...10
Introduction TIBCO Silver Fabric Continuity centrally manages global variables and similar configuration data for TIBCO platforms running under TIBCO Silver Fabric. With Continuity, you create a repository of variables, associate different values for given variables according to a distinct profile, and from those profiles generate variable providers that can be loaded into your TIBCO Silver Fabric broker. At that point, Silver Fabric will substitute variables at runtime, based on the variable providers you have created, and any runtime metadata you are using to further choose from the profiles available inside those variable providers. By using Silver Fabric and Continuity, you can seamlessly promote applications from development to test to production or any other environments that you need without changing the application or its configuration. All configuration is managed centrally so you have complete control over your different environments. TIBCO Silver Fabric Continuity is part of the TIBCO Silver Fabric product suite and requires you to use TIBCO Silver Fabric to manage your platforms. This document assumes you are entirely comfortable with the concepts and use of TIBCO Silver Fabric. Further, it assumes that you are familiar with running Java web servers, in particular Apache Tomcat. When using Silver Fabric Continuity, you will often see a context sensitive information icon next to data entry fields. Mouse over this icon to get detailed descriptions of data fields you are expected to enter. You can find updated documentation for TIBCO Silver Fabric Continuity at the TIBCO product download site http://edelivery.tibco.com and the TIBCO documentation site http://docs.tibco.com. Look for more examples of using TIBCO Silver Fabric Continuity, including video demonstrations, on TIBCOmmunity and the TIBCO Product channel on YouTube.
Concepts Broker is a TIBCO Silver Fabric broker. Continuity can be used with more than one broker. Silver Fabric 5.5.0 or higher is recommended so that the REST API can be used to synchronize variables with the broker. Variables are TIBCO Silver Fabric runtime context variables. They will be substituted at runtime by Silver Fabric. Typically, variables are mapped onto global configuration information in your TIBCO platform, such as TIBCO Active Matrix Business Works global variables. Artifacts are application level build artifacts that are deployed onto platforms managed by Silver Fabric. A typical example would be a Business Works EAR file. Continuity uses artifacts as a convenience to help you find the variables that you want to manage. When you upload an artifact to Continuity, it will introspect it and give you the option to select some variables to be managed, and then you can edit the values that will be assigned to those variables in different profiles. Variable Providers are TIBCO Silver Fabric variable providers. When Silver Fabric is substituting variables at runtime, it looks up the variable name in a variable provider and finds the value to be used in the substitution. Continuity creates dynamic variable providers and synchronizes them to the brokers. In general, variable providers have broker scope, and need to be enabled through the Silver Fabric broker's administrative UI. Profiles are used to coordinate all of the other parts of the system. You will create several profiles, typically one for each of your target environments. Then for any given variable name, you can associate a value for that variable with each profile. Profiles are then used to generate variable providers, which are how the variable values are communicated to the brokers. You can create unique per-broker values for any variable in the Broker View action of the profile. You can also have multiple values for any variable on the same broker, by selecting a Profile Key in the Broker definition.
Brokers On the brokers page you can create a mapping to your Silver Fabric brokers. To create a new broker, click the '+' icon at upper right. Fill out the fields to match an existing Silver Fabric broker installation. Most of these fields are self-explanatory, and you can learn more from the information mouseover. When you plan to use more than one profile on a broker, the Profile Key tells the broker which field from the running Fabric context will be used to select the correct variable provider. For instance, you could use component.description to select different variable values based on the optional Fabric component description field. See the Silver Fabric SDK for more information on the context available to the dynamic variable providers. From the actions dropdown you can delete a broker, edit a broker to go back to a similar dialog as the create broker dialog, and copy a broker. Also from the actions dropdown, you can view all profiles available on that broker. In the view all profiles page you can see the profiles, as well as a list of all the variables that are defined in those profiles, and the values of those variables in each profile. Finally, from the actions dropdown, you can synchronize the profiles to the broker, using the broker's REST API. You must set the REST API credentials in the create broker or edit broker screen.
Profiles On the profile tab you can create a new profile and view or edit existing profiles. To create a new profile, click the '+' icon at upper right. Give your profile a unique name. By default, the variable provider name is the same as the profile name, but you can override the variable provider name. You might do this to put multiple profiles into the same variable provider, so that multiple profiles could be used on the same broker, chosen at runtime based on the broker's profile key. Select the broker that you want this profile deployed from the combo box. You can also add new variables that are not present in managed artifacts. In this case, be sure to click 'Add Variable' before you update the profile. The profile list shows all the profiles that have been created so far. From the Actions drop down, you can delete an existing profile, copy a profile, or edit a profile to go back to a similar dialog as creating a profile. Perhaps the most important action is the broker view activity. This is where you can view and change the values for variables on a per-broker basis. By using a profile key on the broker, you can even have multiple values for the same variable on the same broker, selected at runtime based on the Silver Fabric runtime context. In order for an application to use different profiles at runtime, you need to configure the TIBCO Silver Fabric so that either (a) a different variable provider is used when a different profile is desired; or (b) some part of the runtime context is used to switch between different profiles in the variable provider generated by Continuity. One way to configure Fabric to use different variable provider per runtime environment is to give each of your runtime environments its own Fabric broker. This approach will likely only be chosen for very large deployments. Another way to configure Fabric to use different variable providers is to associate an (continuous) archive deployment with the desired variable provider by specifying the variable provider in the deployment XML file. Switching between different profiles in the same variable provider is achieved by specifying a profile key in the Continuity broker specification. The generated variable provider will use the contents of the profile key to pick which profile to use. For instance, if the profile key is component.description, then any Fabric components created with the description DEV will use the DEV profile, and any created with the description QA will use the QA profile.
Artifacts In the artifacts page, you can upload TIBCO ActiveMatrix Business Works EAR files and select existing variables in your Business Works EAR files that you want to manage through Continuity. Click the '+' icon at upper right to upload and add a new EAR file to Continuity. Once you upload the EAR file you can see all of its global variables. Select the profiles that you want to be associated with this artifact. (If you don't select any profiles, none of the artifact's variables will be manageable through Continuity.) Then, in the artifact variables you can select which variables you want to manage by marking them for export. From the actions dropdown, you can edit the artifact to get a similar dialog to creating an artifact, delete and artifact, or upload a new version of an artifact. Also from the actions dropdown, you can preview the broker specific settings of an artifact. In the preview page, you will see a tab for each profile that is associated with this artifact. Click on the tabs to see the different values for all the variables in that profile. You can click the edit button to change the values for that profile. You can also see variables that have no default value in the artifact, and add them to the profiles if you want to provide values.
Variables The variables top-level dropdown menu allows you to view, delete, or export variables. The profile variables dropdown shows all variables that have exist in profiles, including variables that were manually created in the profiles, rather than being exported from an artifact. You can delete a variable from a profile here. The artifact variables dropdown shows all variables that were found in the artifacts uploaded to Continuity. You can export a variable from an artifact here. The variables dropdown shows variables on a per-profile, per-broker basis. It's where you can view every variable and value generated by Continuity.
Settings From the top-level settings dropdown you can change some system settings or set up LDAP authorization for Continuity. See the information mouseover to learn more about the settings in the systems settings dropdown. The LDAP settings dropdown enables the use of an LDAP server. The settings are typical for configuring LDAP authentication and authorization. Only one LDAP tree can be used. All LDAP users are given readonly user role by default, but once an LDAP user logs in their role can be managed through the users page.
Users If Continuity is not configured to use LDAP, you can add new users here. You can also delete users. Users can either have full administrative rights or strictly readonly user rights. If Continuity is configured to use LDAP, for any LDAP user who has logged in to Continuity, you can modify their role here. The user created on initial installation and startup is considered to be the Continuity root user. Do not delete the root user. Do not change the root user role to readonly user.
System Administration Continuity has a REST API. You can find the API documentation in continuity/docs/sfctadmin.html. TIBCO Silver Fabric Continuity runs inside a bundled Apache Tomcat application server. To modify web configuration of Continuity, follow standard practices for modifying a Tomcat server, such as editing the conf/server.xml file to change the HTTP port. By default, Continuity uses an embedded HSQL database. The HSQL database is persisted to continuity/db as testdb. The location and database name can be changed in the datasource.url in the tibconf/continuity.properties file. You can find information on backing up an HSQL database on the HSQL website at http://hsqldb.org. Continuity can also use MS-SQL, Oracle, and Sybase databases, set by changing the datasource.url, datasource.username, datasource.password, and datasource.driverclassname properties in tibconf/continuity.properties. Continuity will try to create a new database schema if it doesn't find one, so you must give the datasource.username user permission to create a schema (tables, etc) in the database referenced by datasource.url. The JAR file for the JDBC driver referenced by datasource.driverclassname must be added to webapps/continuity/web-inf/lib. You must encrypt the datasource.password as follows: The scripts are in dbtools dir: Usage encrypt.bat password. or encrypt.sh password. Open tibconf/continuity.properties file and replace the value for datasource.password with the result from above command.