Skip to main content
Skip table of contents

Bridge 7 Migration Guide

In order to migrate to Bridge 7, find below a summary of all migration issues you need to keep in mind.

Software Versions

MagicDraw Version

Builder 7 is designed for MagicDraw UML 18.0. If you need to migrate BUILDER projects from older MagicDraw versions, refer to Migrating Builder Projects to MagicDraw 18.

E2E Software

Bridge 7 contains many new features and improvements that lead to dependencies between Builder, Analyzer and Bridge versions. Please make sure that you update all components to version 7. You cannot e.g. deploy services that have been compiled with Bridge 7 to an older E2E Bridge.

Update all software components to Bridge 7, Bridge first, then Builder and Analyzer.

Apache

With Bridge 7 we updated Apache to version 2.4. Refer to the Apache pages for more information on behavior changes. If you have changed the proxy templates of your Bridge installation, you will need to merge your modifications with the new templates provided with Bridge 7.

If you have modified the proxy templates as described on Configuring the Proxy,  your proxy template modifications will be kept after a Bridge update. The system templates (folder <your Bridge data directory>/proxies/system_templates), however, will be updated to the new Apache version.
Your changes may not fulfill the needs of Apache 2.4, and you may need to re-apply your changes to the new templates. In this case, copy the newly provided templates from folder system_templates to folder templates and merge your changes to the new template.

Java

In order to run the Bridge installer, you need  a specific Java version: since Bridge 7.2.0 use Java version 11 or newer.

Bridge License

To use Bridge 7, you need a new Bridge license - please contact our support for more information.
The Bridge installer will check your Bridge license. When updating a Bridge to a new version (e.g. Bridge 6 to Bridge 7), you need to apply the new license before updating the system.

Bridge Certificates

Bridge 7 uses Tomcat 9 or newer. This means that the Bridge will no longer accept certificates using the insecure MD5 algorithm. Before updating your Bridge, you need to update the Bridge certificate, and the proxy certificate with new ones using e.g. SHA256.
How to do this is described on Managing the Bridge Certificate and Managing Bridge Proxy Server Certificates pp.

Service Repositories

Migrating to Bridge 7 does not mean you have to migrate all of your service at once:

All old repositories of Bridge 5.1 and Bridge 6.0 that have been compiled with older compilers, will still run on Bridge 7.

However, services that have been compiled with BUILDER 7 can only be run on a Bridge 7.

BUILDER / Compiler

As already stated above, you do not need to migrate your services to Bridge/Builder 7 at once, but if you want to migrate a service, mind the following:

Old Component Diagrams

With introduction of Bridge 6 in 2013, we deprecated the old component and deployment diagram and replaced them by a new, simplified component diagram:

As of Bridge 7, we removed the support for the old component and deployment diagram from the E2E Compiler - only models with the new component diagram will compile. Before compiling such a model with E2E Compiler 7, you need to replace the old component and deployment diagrams by the simplified ones as described on The Components Wizard. If your service contains more than one deployment, please refer to Defining More Than One Deployment.

Other changes regarding the compiler are downward compatible. This means that your services will still compile and run, but you may get warnings regarding deprecated features or options, e.g. the <<FileSystemAlias>> has been replaced by a <<DirectoryAlias>> and a <<FileAlias>>. You can still use the old service implementation for the time being, but you should rework it it near future. The outdated features/options may be removed in future versions.

Local Variable Re-declaration

As of Builder 6.0.29 / 7.2.0, the Compiler reports an error, if a local variable is re-declared within Action Script. You will need to change your implementation, if the Compiler points you to an implementation like this.

Refer to Compiler Reports Error: Local variable is re-declared for more information.

DateTime Parsing

With Runtime 2018.2, we have rewritten the parsing of DateTime expressions. The old implementation silently ignored if a DateTime pattern did not match the given string and tried to parse it anyway. This lead to undefined results for not-matching strings.

With the new implementation, the parseDateTimeExpression() Operation expects that the given string conforms to the given format. If the string does not match with the given format, the xUML Runtime will raise an exception (FUDSM/9, see System Errors) and not parse the string. This is the correct behavior in this case.
If conformity to the format is not guaranteed, you can use the match() Operation on the string to check.

These Runtime changes will only be enabled for services that have been compiled with Builder 7.0.0-beta2 or newer. In this case, you need at least to check the logs for FUDSM/9 when testing the service. We recommend to search your model for DateTime parsing and implement a match check with subsequent error handling.

Node.js

With Bridge 7, we updated the integrated Node.js to version 8 (Carbon, 8.9.1 ). If you are running own Node.js services, please make sure that they are Node.js 8 compatible.

REST

With Bridge 7, we introduced a new option jsonCompact on the <<RESTAlias>> and <<REST service>> components (see REST Service Reference and REST Adapter Reference). With this option, you can control the generation of JSON: pretty or compact.

If you compile a service using REST with a Bridge 7 compiler, this option defaults to true (= compact JSON). This is in contrast to Bridge 6, where pretty JSON was generated in absence of this option. Set this option to false, if you need pretty JSON to be generated.

Migration Checklist

(tick)ToDoDocumentation Link

Check compatibility with Node.js 8 (before updating the Bridge)

Check certificates, if using secure algorithm
Updating the Bridge

Order a new Bridge license and apply itRequest a new BRIDGE license

Install Java 11

Merge proxy template modifications with new templatesConfiguring the Proxy

Run the Bridge installerBridge Installation Guide
Migrating the xUML Services

Install the BUILDER

Migrate BUILDER projects to MagicDraw 18Migrating Builder Projects to MagicDraw 18

Compile all used libraries from bottom up

Replace old component diagramThe Components Wizard

Check for date time parsing issuesDateTime Parsing

Check, if REST needs to output pretty JSON
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.