-
Notifications
You must be signed in to change notification settings - Fork 14
Tutorial 04 02 Add Traditional Bridge Project
This tutorial assumes that you have already followed the Building a Service from Scratch tutorial and that you have a working Harmony Core service that does not include a Traditional Bridge environment.
Adding Traditional Bridge to an existing solution typically involves adding a new traditional Synergy project to the solution, as well as adding code into several of the existing .NET projects in the solution, specifically the Services and Services.Controllers projects, and perhaps also the Services.Models project.
On the traditional Synergy side, a Traditional Bridge environment is usually implemented within a simple console application (DBR) that we refer to as the "Traditional Bridge host program." But you might also choose to organize and deploy some of the code via additional ELB projects. It really depends on how complex your environment is.
The Traditional Bridge host program will
- listen for request messages from Harmony Core, sent via
standard in
(TT:). - decode requests to determine which routine is to be called and to determine values for any inbound parameters.
- execute subroutines and functions as directed, passing all needed parameters.
- construct a suitable response message based on the return values and/or the value of any out parameters.
- send the response back to Harmony Core via
standard out
(TT:).
The format of the request and response messages is defined by a standard protocol called JSON RPC 2.0. This mechanism is described in more detail in the Dynamic Call Protocol topic.
In this tutorial, the Traditional Bridge environment will be implemented on Windows and in the same solution as the Harmony Core services. But remember that this is not always the case. The Traditional Bridge code could be built and run on Windows, UNIX, Linux, or OpenVMS.
-
Open a Windows command prompt and navigate to the directory with the
.sln
file for your Visual Studio solution. -
Enter the following command to open the Harmony Core GUI tool:
harmonycore gui
A message will briefly display indicating that the solution is being loaded.
-
When the "Loading Solution" message disappears, select
Features > Add Traditional Bridge
from the menu.A message will indicate that Traditional Bridge is being added to the solution. When this process is finished, click OK to close the message, and select
File > Quit
from the menu to close the Harmony Core GUI tool.
Unless you have changed it, the .NET code in your solution may be defaulting to being built for Any CPU
, and the TraditionalBridge project that you just added is probably defaulting to being built for x86 (32-bit). Though it's not an absolute requirement, we'll make sure the environment builds the code for x64 (64-bit):
-
In
Solution Explorer
, right-click on the main solution and selectConfiguration Manager...
. -
Make sure the TraditionalBridge
Platform
is set tox64
and the checkbox in theBuild
column is selected. -
Change the
Active solution configuration
toRelease
, then once again make sure the TraditionalBridgePlatform
is set tox64
. -
Click the
Close
button to save your changes and close the dialog.
Your solution now has the basic scaffolding for Traditional Bridge.
Next topic: Add Traditional Bridge Library Code
-
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 Code Generator
-
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