Wikis - Page

The Application Repository and the SBM Ecosystem

0 Likes

SBM Environments and The Application Repository

What is the Application Repository?  How does the Application Repository (AR) fit within the SBM ecosystem?  The Application Repository connects different runtime environments.  It is the common repository for individual design elements, and their versions, from Composer.

The runtime environment is the Application Engine, Orchestration Engine, Common Services, Common Logger and Mail Services.  We connect these runtime environments into groups called environment sets.  Note the phrase environment set is a group of environments connected by the Application Repository. 

Environment Set

Environment: An environment is a named group of servers and services to which you can deploy process apps. Each environment has one Application Engine server and one or more other target servers and endpoints.

Environment Set: One or more environments that share the same code stored in the Application Repository. 

Often, the development environment will be installed on just one server, while the production environment will consist of multiple servers, including possibly, load balanced servers. 

The Application Repository is not part of the runtime environment.  It is the one SBM component that is not needed once the environment is up and running.  We merely use the repository when process application changes need to be created, stored, deployed and promoted.

The Application Repository Setup

The Application Repository is both a server component and a database.  The server component serves the contents of the AR database.  Each SBM environment set should have one and only one Application Repository database and server.  When setting up SBM on each of your servers, do not install the Application Repository server components on each SBM server.  Instead, install the AR components on one and only one server.  

Different environments that have an Application Repository service each pointing to a unique AR database/schema can lead to accidental updates of process application elements to the wrong AR database.  Process apps being published and deployed to different databases can leave a process app in a bad state and cause many hours of lost work.  Of course, there is a valid use case for multiple AR databases, but it beyond the scope and purpose of this blog entry.

Multiple Application Repository service components pointing to the same database will cause anomalous issues.  The reason for the anomalies is that activities processed by the AR are scheduled.  This is not to say that you have literally scheduled AR to deploy a process app at a future time.  When you deploy a process application and do not schedule it, it runs as a scheduled process.  The only time two Application Repository services should point to the same database is when JBOSS/Tomcat clustering has been enabled.

How to Install SBM and the Application Repository

When installing SBM on each of servers, do not use a complete install.  Instead, do the custom install.  The custom install will allow you to deselect the Application Repository server component as necessary.  Select to install the AR component on only one server in the environment set. 

 The SBM Configurator: Components Section

We can just move the Application Repository server component to a new server in the components section, correct?

The SBM Configurator is used to setup the configuration files of each SBM component.  These files tell the component how to contact every other component.  Your Application Repository component may be listed on a separate server under the Components section of the SBM Configurator (see left).  However, if the component is installed on the server, it may still be configured to connect to a database and process commands.

To determine what components are installed on your server, go to the System Information section of your SBM Configurator.  If the Application Repository is listed in this section, it is installed and should be assumed configured to run on this server even if the Components section shows the Application Repository on a different server.

What to do with a Repository Component on Multiple Servers

If your setup has the repository installed on multiple servers, you have options. 

  1. If the repository service does not point to the same AR database, you can continue to run as normal.  Make sure that your team never uses the repository on the extra machine (unless you are using a predefined process for doing so).
  2. If pointing to the same database,
    • Leave your setup as is and expect the unexpected, whatever it is, to may occur.  May annoy you when you least expect it.  --OR--
    • Uninstall / Reinstall SBM to remove the Repository component.  Though, I would consider this a high risk activity. --OR--
    • Change the database login name to one that does not exist.  This will prevent AR from connecting to the database.  Do not try to use an invalid password because you may lock out the account.  This is a low risk activity. --OR--
    • You can remove the MASHUPMGR.WAR directory from JBOSS/Tomcat.  Also, a low risk activity.

How to Remove the MASHUPMGR.WAR Application from JBoss/Tomcat

Step 1: Uninstall the Application Repository Component

  1. Stop the Serena Common JBOSS service.
  2. Move the MASHUPMGR.WAR directory from [SBM Install Directory]CommonJBoss405ServerDefaultDeploy out of the SBM install directory.
  3. Edit the registry to remove the Application Repository value.
    1. Open REGEDIT
    2. Go to the key: HKLMSoftwareSerenaMashupsSuiteComponent Versions
    3. Delete the subkey Mashup Manager
  4. Restart the Serena Common JBOSS service.

STEP 2: Direct SBM to the correct Application Repository component

  1. On the same server as step 1 above, launch the SBM Configurator.
  2. On the left side, switch to the Component Servers view.
  3. This screen shows where to find the components being used. Find the one called Application Repository.
  4. If the Application Repository component is not already configured to point to the correct server:
    • Grab the component with your mouse and drag/drop it to the bottom of the screen.
    • In the Host field, enter the name of the server where the AR component is still installed.
    • In the JBoss section, check the HTTP/HTTPS boxes as needed, and enter the correct HTTP (by default 8085) and HTTPS (by default 8243) ports for your system. If you do not know this information, you can check the same screen on the server where the AR component is still installed.

Step 3: Update any Composer connections

Composer connects to the Application Repository component and stores changes to the process apps. If any users were connecting to an Application Repository that was uninstalled, those users will need to update Composer to connect to the remaining AR.

  1. Open SBM Composer. 
  2. Composer will automatically try to connect to the Application Repository. You will have to wait 2 minutes for it to time out. Then, you will see an error such as:
    Connection attempt failed. Could not connect to the Repository. Please check that the 
    Repository Machine Name and Port are connect.
  3. Click OK. The Composer Options window will open automatically.
  4. In the Machine Name field, enter the name of the remaining Application Repository server.
  5. Use the Test Connection button to verify.
  6. Click OK to save the changes and re-try the connection.

Labels:

How To-Best Practice
Support Tips/Knowledge Docs
Comment List
Related
Recommended