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

IMPORTANT: THIS TUTORIAL IS AN INCOMPLETE WORK-IN-PROGRESS. PLEASE DO NOT ATTEMPT TO FOLLOW THIS TUTORIAL UNTIL THIS BANNER IS REMOVED!
Traditional Bridge enables you to expose traditional Synergy external routines (subroutines and functions) via web service endpoints that are part of a Harmony Core service.
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 this 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 comprised of several component 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.
- https://github.com/Synergex/HarmonyCore/tree/master/TraditionalBridge
- 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:
-
Manual implementation
- On the traditional Synergy side, the steps will be:
- On the .NET Core side, the steps will be:
-
xfServerPlus Migration
- Use CodeGen to generate a Traditional Bridge environment based on xfServerPlus methods defined in a
Synergy Method Catalog.
- Use CodeGen to generate a Traditional Bridge environment based on xfServerPlus methods defined in a
This tutorial follows the manual implementation method, and the xfServerPlus Migration method will be covered by an alternate tutorial.
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