-
Notifications
You must be signed in to change notification settings - Fork 14
Tutorial 04 01 Implementing Traditional Bridge

Traditional Bridge is a Harmony Core technology that allows you to execute traditional Synergy code (subroutines and functions) during the execution .NET based web service endpoints. In some cases, a traditional Synergy routine may provide all of the business logic necessary to service an entire web service endpoint, but in other cases, the traditional Synergy routine may simply provide supporting functionality, contributing towards some greater functionality.
If you used the harmonydemo solution template to create a fully-configured demo solution, that solution will already contain a configured and working TraditionalBridge example. In that case, you won't be able to follow this tutorial, though you could still read through it as a way of understanding the code that you already have in your solution.
But if you used the harmonycore solution template to create your Harmony Core solution, your solution will not contain any Traditional Bridge components, and this tutorial will walk you through adding a sample Traditional Bridge environment to the solution.
Traditional Bridge is made up of several parts:
-
Traditional Synergy library code
This code is primarily concerned with dealing with the sending and receiving of messages via the Dynamic Call Protocol, dealing with the serialization and deserialization of JSON data, and providing you with useful helper methods to allow you to receive and return parameters and return values on the traditional Synergy side.
You must initially obtain this code from GitHub when you first introduce Traditional Bridge into your environment.
Once you have the code you can use the Harmony Core Project Upgrade Tool to help you ensure that you have the correct version of the code to match your Harmony Core version, and to keep the code up to date.
-
.NET Core Library code
- This code is also primarily concerned with dealing with the sending and receiving of messages via the Dynamic Call Protocol, dealing with the serialization and deserialization of JSON data, and providing you with useful helper methods to allow you to receive and return parameters and return values on the .NET Core side.
- This code is built into the binary Harmony Core code that you receive from NuGet.
-
CodeGen templates
- Various templates that can be used to generate various kinds of useful content, both on the traditional Synergy and Synergy .NET sides.
- Most of these templates are related to xfServerPlus migration, but some may be useful when manually creating solutions, particularly if complex types (records) are being passed around between environments.
- You must initially obtain these templates from GitHub when you first introduce Traditional Bridge into your environment
- https://github.com/Synergex/HarmonyCore/tree/master/Templates/TraditionalBridge
- https://github.com/Synergex/HarmonyCore/tree/master/Templates/SignalR
- Once you have the templates you can use the Harmony Core Project Upgrade Tool to help you ensure that you have the correct version of the templates to match your Harmony Core version, and to keep the templates up to date.
There are two ways to implement Traditional Bridge, and depending on your requirements, you may need to use one, or the other, or both. These two ways are:
-
xfServerPlus Migration
- Use CodeGen to generate an entire Traditional Bridge environment based on xfServerPlus methods defined in a
Synergy Method Catalog.
- Use CodeGen to generate an entire Traditional Bridge environment based on xfServerPlus methods defined in a
-
Custom implementation
- On the traditional Synergy side, the steps will be:
- On the .NET Core side, the steps will be:
This tutorial follows the custom implementation method, and the xfServerPlus Migration Tutorial is coming soon.
Before you start this tutorial, please ensure that you have the latest version of the Harmony Core Updgrade Tool installed.
Next topic: Add Traditional Bridge Project
-
Tutorial 2: Building a Service from Scratch
- Creating a Basic Solution
- Enabling OData Support
- Configuring Self Hosting
- Entity Collection Endpoints
- API Documentation
- Single Entity Endpoints
- OData Query Support
- Alternate Key Endpoints
- Expanding Relations
- Postman Tests
- Supporting CRUD Operations
- Adding a Primary Key Factory
- Adding Create Endpoints
- Adding Upsert Endpoints
- Adding Patch Endpoints
- Adding Delete Endpoints
-
Harmony Core CLI Tool
-
OData Aware Tools
-
Advanced Topics
- CLI Tool Customization
- Adapters
- API Versioning
- Authentication
- Authorization
- Collection Counts
- Customization File
- Custom Field Types
- Custom File Specs
- Custom Properties
- Customizing Generated Code
- Deploying to Linux
- Dynamic Call Protocol
- Environment Variables
- Field Security
- File I/O
- Improving AppSettings Processing
- Logging
- Optimistic Concurrency
- Multi-Tenancy
- Publishing in IIS
- Repeatable Unit Tests
- Stored Procedure Routing
- Suppressing OData Metadata
- Traditional Bridge
- Unit Testing
- EF Core Optimization
- Updating a Harmony Core Solution
- Updating to 3.1.90
- Creating a new Release
-
Background Information