Team for Capella Server installation

1. Installation Architecture

There are two main ways to install Team for Capella:

  • Local clients:

    • server computer runs the Team for Capella Server and Scheduler,

    • n client computers run the Team for Capella Clients,

      image

  • Remote clients:

    The same computer runs the Team for Capella Server and Scheduler and n Team for Capella Clients (users connect to this computer using RDP). This allows to make the exchanges between the clients and the server independent of the network’s bandwidth.

    In this configuration, the client and server can either be installed on the server computer or separated in two virtual machines. The latter is the recommended installation:

    • Client and server separated in two virtual machines:

      image

    • Client and server on the same server machine:

      image

If you installed a tool to act as a scheduler, it is mandatory to run it on the same computer as the Team for Capella Server.

For successful installation of Team for Capella Server, your computer must meet the following requirements:

  • Local client installation (server side only):

    • 2 GHz processor,

    • RAM: 4 GB for the Team for Capella server + 3GB for the importer client

    • 15 GB of available hard disk space

  • Remote client installation:

    • Multicore processor (2GHz)

      • 2 cores for Team for Capella Server, scheduler and license server

      • 1 core per running Team for Capella Client,

    • RAM:

      • 4 GB for the Team for Capella server + 3GB for the importer client

      • 3 GB per Team for Capella Client,

    • 15 GB of available hard disk space + 2 GB per Team for Capella Client,

    • 2 hard drives are recommended:

      • The first containing system files and software installation files (a SSD hard drive is mandatory if more than 8 users),

      • The second containing the Team for Capella Server file.

  • System requirements:

    • Microsoft Windows 10/11 64 bits

      • no known issues with Windows 7/8

    • Microsoft Windows Server 2019/2022 64 bits

      • no known issues Windows Server 2008/2012/2016

    • Compatibility with Open JDK 17, see Capella Online Installation Guide

      • Capella and Team for Capella are configured to use the JRE provided by Capella (Eclipse Adoptium Open JDK 17.0.11, JDK)

    • Jenkins LTS 2.440.3 installed as a service on the server computer.

  • Team for Capella database must be stored on a local hard drive,

  • Security policies:

    • Virus scanner:

      • Team for Capella Server database files must not be scanned (*.db).

      • In addition, it should not be activated either on Capella models files: *.aird, \*.capella, *.airdfragment, \*.capellafragment and \*.afm ,

      • The license server hosts a collection of licenses stored in several encrypted .ols files. Those licenses pools must not be scanned.

      • Periodic analyses should not be launched when users are working (launch them at night),

    • Firewall:

      • At least 2 ports must be opened: the Team for Capella Server port (by default 2036) and the license server port (by default 9999),

      • In addition, the Scheduler port (by default 8036), the license server monitoring port (8086) and the Admin server port (8080)

  • The computer should be fully dedicated to Team for Capella.

For successful installation of Team for Capella Client, your computer must meet the following requirements:

  • 2 GHz processor

  • 3 GB for Team for Capella client

  • Microsoft Windows 10/11 64 bits

    • no known issues with Windows 7/8

  • Compatibility with Java Runtime Environment 17 (Eclipse Adoptium Open JDK 17.0.11 is provided by Capella)

  • Security policies:

    • Virus scanner:

      • It should not be activated on Capella models files: *.aird, \*.capella, *.airdfragment, \*.capellafragment and \*.afm.

3. Deployment recommendations

3.1. Network

3.1.1. Latency: Client and Team Server

It is recommended to provide a network with the lowest possible latency between the client and the server: in the order of 1 to 10 ms for a round-trip.

3.1.2. Latency: Team server and DB server

It is strongly recommended that the Team server and the DB server are located on the same physical server as latency between the Team server and DB server will impact greatly the overall performances of the solution.As such the best performing deployment is achieved by using the H2 database in embedded mode with its .db database file located on the same disk than the Team server.

If there is a requirement on the database that prevents from using H2, make sure that the latency is as low as possible.

3.1.3. Network stability

VPN are not recommended (it is a latency factor) as well as other network elements that could drop connections which are more or less inactive. As such wireless connection are also not recommended as any loss of connectivity might lead to instability in the product and loss of data. However, if a network element of this kind is mandatory, an SSH tunnel could be used as a workaround to avoid client/server disconnections.

3.1.4. Server isolation

It is strongly discouraged to deploy the server on a public WAN. Team for Capella should be the only way to edit the information stored in the database.

3.2. Scalability and size of models

Scalability and performances are highly dependent on the design of the domain metamodel, the implementation of this metamodel and the Viewpoint Specification Models. The following figures are given with an Ecore model and the EcoreTools tooling which applies the Sirius best practices.

The minimum physical memory dedicated to the Team server is 4 GB for a deployment where the expected model size is in the order of 300 000 model elements. The heap memory available for the server should be increased to support bigger models: 8GB should support 600 000 model elements.

The memory usage of the clients will increase when the model which is shared among the clients grows as such these resources might need to be increased for larger models with 8GB being expected for models with 600000 elements (the exact value might vary depending on the amount of information each model element holds).

The latency of end user operations requiring a full analysis of the model increase as the model grow, this includes: opening and closing a project, deleting model elements and representations, launching a transformation or a code generation. Opening a project (and hence collecting the model from the network) might take up to 1 min for a model with 500K elements.

Models having 1 000 000 model elements are the considered the upper limit for a Collaborative Server deployment.

A given server is expected to be used by 10 to 20 users simultaneously depending on their level of activity.

3.3. Disclaimer

Notwithstanding what was stated previously, Team for Capella product is not warranted to run without any error or interruption. Obeo does not make any warranty regarding the statements that are under the chapter Deployment recommendations, this chapter is provided for information purposes.

You acknowledge and accept the risks involved in using these products which could include without limitation, downtime, loss of connectivity or data, system crashes, bad performances or performance degradation.

4. Installation procedure

The date/time and the time zone of the server must be correct to make the scheduler work as expected.

To use existing models in a new version of Team for Capella, copies of these models have to be kept (in files format) before removing the old version.Once the new version is installed, the migration procedure will be performed on these models.

4.1. Team for Capella Server installation procedure

4.1.1. Installation

Preparation steps:

  1. Extract the archive TeamForCapella-7.0.0-win32.win32.x86_64.zip in a given directory.It contains a TeamForCapella directory with 5 sub-folders and 1 file:

    • lic-server: contains a floating license server which allows several users to share the same product licenses.Each license can be used by only one user simultaneously.

    • server: the Team for Capella server

    • tools: contains some scripts, properties files and pre-configured jobs to configure a Jenkins as scheduler

    • updateSite: the Team For Capella update site for the client

    • license.html

  2. Download the Capella 7.0.0 bundle from eclipse.org repository.

Client Installation

  1. Unzip Capella bundle.

  2. Move the capella and samples folders into the TeamForCapella directory.

  3. Resulting structure of TeamForCapella

    • capella

    • lic-server

    • samples

    • server

    • tools

    • updateSite

  4. Navigate to the tools folder and execute installTeamForCapellaInCapella.bat The installation script will install the Team for Capella features in Capella, update the splash screen and update some properties in capella.ini and config.ini.

It is configured by default to retrieve the Team For Capella update site in the folder: TeamForCapella\updateSite`

The repository property can be updated in the script to reference it from another location.

This Capella client (capella folder) should be used only for the Scheduler jobs: it must not be moved or renamed as its .exe files are referenced from the pre-configured jobs (Scheduler) and scripts (tools folder).

It can also be zipped and provided to user in case of local client installation, Team for Capella Client installation procedure.

In remote clients installation, you need to copy the full capella folder and rename it into capella_client. Then this client can be started on Windows Server and accessed with Remote Desktop. If you want to install additional functionality, it will have to be done on capella_client. and will not impact the capella folder.

4.2. Extensions installation

If meta-model extensions or add-ons are needed, use one of the following ways to install them:

  • Use the Help > Install New Software… wizard if the extension are provided as update sites

  • Otherwise if they are provided as dropins

    • Either unzip/copy their binary files in the folder TeamForCapella\capella\dropins

    • Or:

      • Unzip/copy them in any folder (it can be a shared folder between this server installation and client installations)

      • Modify the configuration file TeamForCapella\capella\capella.ini by adding the following parameter, after -vmargs :

        -Dorg.eclipse.equinox.p2.reconciler.dropins.directory=<ExtensionFolder>

Exactly the same extensions have to be installed on and on all clients and on the server (capella and capella_client). Installation of a new version of an addon may require a migration, see Capella Addon migration.

4.3. Jenkins scheduler installation

Team for Capella provides applications to manage the CDO repositories with the shared projects.

These applications can be triggered from Capella, but Team for Capella also provides Jenkins jobs in order to manage them with a web interface.

See how to install Jenkins and our specific jobs in the documentation System Administrator Guide > Jenkins Installation.

4.4. Administration features installation

For system administrators, it is useful to install administration features such as the "Durable Lock Management" and "User Management" views and the "User Profiles" feature to manage users access rights.

Two ways to install these features in the Team for Capella Client:

  • (recommended) Execute the script TeamForCapella\tools\installAdminFeatures

  • install them manually from the Team for Capella client

    • "Help > Install New Software"

    • select the T4C update site and check the features under "Team for Capella - Administration".

For more details about administration views and User Profiles, please refer to the documentation in System Administrator Guide > Server Administration > Administration Views and System Administrator Guide > Access Control (User Profiles).

4.5. License server installation

4.5.1. Server installation

  1. The license server is provided in the TeamForCapella-7.0.0-win32.win32.x86_64.zip archive. After the preparation steps (see Team for Capella Server installation procedure), it is located in the folder TeamForCapella\lic-server

  2. Unzip the OLS.zip archive in TeamForCapella\lic-server\OLS, the OLS folder should contain 4 .ols files.

  3. You can choose to:

    • either launch the license server from the scheduler’s job License Server - Run (disabled by default)

    • or directly launch the tool using the command lic-server -keys ./OLS -verbose

Additional parameters and documentation can be found in the DOCUMENTATION.txt file located in TeamForCapella\lic-server\.

The server configuration and more especially the .ols files should not be modified, moved or even accessed while the server is operating.Stop the license server before doing such operation.

4.6. Client configuration

In order to connect Team for Capella instances with the license server, a connection key must be used to retrieve its address and port.

You should have received this key with the license server bundle and your .ols files.If not please contact the support and provide the IPaddress and port to use to connect to the machine that will host the server in your local network.

The capella\capella.ini file has to be modified with the following line to define the configuration of the server (after -vmargs):

-DOBEO_LICENSE_SERVER_CONFIGURATION=<connection key>

This must be done on all clients.

A license token is retrieved at the first connection attempt done by Team for Capella. It is then revoked when the last connected Capella project is closed or when Team for Capella closes. This license is verified from times to times with the server while you are using Team for Capella.

Clients are programmatically throttled and will not send requests to the server more frequently than once every minute. This throttling means some of the client actions might have a delay before being distributed to the server, for instance if one user stops using a given feature, 2 minutes of delay at most can be necessary for another user to be able to get the token.

The client/server communication is request based, no connection is kept alive for longer than just a request.

4.7. Installation verification

  1. Connect to the scheduler admin page using the default URL http://localhost:8036,

  2. Check that the job Server – Start has been automatically launched.

    image

    On the scheduler main page, the job Server - Run should appear the Build Executor Status section:

    image

  3. Once the server is started, it can be used to check the Team for Capella Client installations (see Team for Capella Client installation procedure),

  4. Launch the Server - List connected projects and check its Console output,

  5. Launch the Database – backup job from the Backup and Restore tab,

  6. Stop the server using the Server - Stop job and the Server - Run job should be stopped.

5. Team for Capella server configuration

The Team for Capella Server is provided with a basic configuration. You can find all the documentation to configure it further in System Administrator Guide > Server Configuration. By default, the server authentication is based on a users file.

As a first step of server configuration, it is recommended to check the different authentication methods provided by Team for Capella, such as

Also, instead of the default TCP connection, you can further increase security by having the connection to the server using WSS (see in Specific Team for Capella configuration, Tools adaptations, and Client adaptations).

To manage your repository with its shared project, it is recommended to check the documentation of the Jenkins scheduler in Project Administrator Guide > Jenkins Configuration.

5.1. How to Reuse previous server configuration when configuring v7.0.x server

When installing a new version of Team for Capella, some parts of the server/client configurations of the previous version can be reused.

5.1.1. Procedure

  • Manually import your data or launch the backups jobs.

  • Launch the Server – Stop job, terminate the License Server - Run job or end tasks server.exe and lic_server.exe in task manager (processes sheet)

  • If you were using a Team for Capella version before 7.0.x, stop TeamForCapellaScheduler (service sheet) and remove it (see Uninstallation procedure).

  • Keep the entire Team For Capella installation which contains all the files you may reuse.

  • Choose among the following configuration you want to reuse

5.1.2. Server CDO

  • Copy part of the C:\xxx\T4C\server\configuration\cdo-server.xml file which contains

    • the acceptor tag can be reused

    • the repository configurations can be reused except for userManager, securityManager tags.

  • if the server was configured with the authenticated configuration, the content of C:\xxx\T4C\server\configuration\users.properties can be kept as is.

  • If the server was configured with the user profile configuration, the user profile model can be reused. Follow the steps described in System Administrator Guide > Access Control > User Profiles > Import/Export User Profiles Model.

  • You may also consider all properties or parameters you may have set in the server.ini file.

  • If you are doing a new installation with the same version, you can reuse the database. Copy the C:\xxx\T4C\server\eclipse\db folder. Note that the database cannot be reused if the Audit mode activation changes between both installations.

5.1.3. Scheduler

  • In previous versions (before 5.1.0, included), the scheduler was packaged inside Team for Capella, in the C:\xxx\T4C\scheduler\jenkins_home folder

    • config.xml contains the global Jenkins configuration which can be reused

    • jobs\ contains the jobs definition with the build history. jobs\<xxxjob>\config.xml can be reused modulo some parameter changes that may be needed (for example for importer executable call).

  • Since 5.2.0, Team for Capella does not pack a third party tool to manage the repository content (such as Jenkins). You will need to access its installation folder or Home directory.

  • Customization made on those files/folders might be reported on your new custom installation made for this version.

  • Check the modification done in each job with the Job configuration history available in each job.

  • It is possible to create a v6.1 folder in the Scheduler interface, move the existing jobs in this folder, and check the Jenkins scheduler installation section to update Jenkins to the recommended version and install the new jobs. Then compare your v6.1 jobs with v7.0 jobs.

5.1.4. Tools

  • You may consider all system properties or parameters you may have set in the importer.bat file (or importer.ini for older versions). That information has to be transferred and adapted

    • From C:\xxx\T4C14\capella\eclipse*importer.bat* or C:\xxx\T4C52\tools*importer.bat*

    • To C:\xxx\T4C\tools*importer.bat.*

  • Do the same for other scripts you have modified In C:\xxx\T4C52\tools\\: maintenance.bat,command.bat.

5.1.5. Client (in remote clients installation)

  • You may consider all properties or parameters you may have set in the eclipse.ini file. That information have to be transferred to C:\xxx\T4C\capella_client\capella.ini.

  • If the IP address of the server did not change, you can keep the OBEO_LICENSE_SERVER_CONFIGURATION property system (just copy -DOBEO_LICENSE_SERVER_CONFIGURATION=11616856647338552998511484….)

5.1.6. License server

  • The license server version is now provided in the Team for Capella archive.

  • The *.ols files may have been thought up to be reusable for your new Team For Capella version. In this case, you can keep your \*.ols files.

5.1.7. User Accounts Management

Several modes of access control can be used for each repository on the server:

  • Identification (default mode): each user defined in the file user.properties is authorized to read and/or modify all models present on the repository.

  • User Profiles: discriminating user rights are defined in a User Profiles model stored in the database.

  • LDAP Authentication: this mode allows to authenticate with a LDAP server. It can be also used with authenticated or with user profiles.

  • Not Authenticated Access: anyone can read and/or modify all models on the repository.

For the complete access control configuration documentation, refer to the documentation System Administrator Guide in chapters:

In the current version, Team for Capella is configured with the “Identification” access control mode, ie. passwords are not encrypted. Refer to System Administrator Guide > Access Control if you need Authentication or Authorization mechanisms.

6. Uninstallation procedure

To uninstall Team for Capella:

  1. Do a backup of projects stored on the Team for Capella Server,

  2. Stop the server,

  3. Stop the scheduler,

  4. If a Windows Service was created, remove it:

    1. Using a Windows Command Line (as administrator), go to the scheduler directory,

    2. Execute the following command: sc delete TeamForCapellaScheduler (alternative command: modify the winservice.bat to comment the installation steps and uncomment the uninstallation steps).

  5. If you installed a third party tool to manage your repository, such as Jenkins, uninstall it.

  6. Remove the installation directory.