Skip to content

Tutorials

Steve Ives edited this page Jul 16, 2020 · 39 revisions

Harmony Core Logo

Harmony Core Tutorials

To help you learn how to build Harmony Core services, we have developed several self-paced tutorials that will teach you everything from basic concepts to advanced techniques.

Available Tutorials

  • Tutorial 1: Building a Demo Service

    Get a Harmony Core OData web service up and running really quickly by following this short tutorial. You will learn how to use the harmonydemo solution template to create a pre-configured demo environment that you can examine and explore.

  • Tutorial 2: Building a Service From Scratch

    If you are looking for a lot more detail then this tutorial is for you. You will start by creating a bare-bones environment using the harmonycore solution template, and then you will build a comprehensive Harmony Core OData web service from scratch, step-by-step, in bite-sized pieces. Along the way, we will explain the basic concepts, and how everything fits together. By the end of the tutorial, you will have implemented much of the same functionality that the demo tutorial provided, but you will have the satisfaction of having built the service yourself! There won't be any Traditional Bridge functionality, but don't worry, you can learn how to implement that by following the Implementing Traditional Bridge tutorial.

  • Tutorial 3: Authentication via Custom Code

    In this tutorial, you will start with the Harmony Core service that you created during tutorial 1 or tutorial 2. You will then add code-based user authentication to the service. By code-based, we mean that you will have the opportunity to provide custom code to determine which users can be authenticated, and which can not. Authenticated users will have access to your entire service, but unauthenticated users will not be able to access the service at all.

  • Tutorial 4: Implementing Traditional Bridge

    So far it's all been about OData, but Harmony Core can do so much more!. In this tutorial, you will switch gears and start to consider code-centric services, where web service endpoints are backed not by generated data access code, but by custom business logic that you write. There are several ways to do this, but in this tutorial, we will focus on using Traditional Bridge, which is a Harmony Core technology that allows you to leverage business logic written in traditional Synergy as part of your Harmony Core web service.

  • Tutorial 5: Unit Testing Generated OData Services

    In this tutorial, you will add a new unit testing project to your existing Harmony Core environment, and then alter your code generation settings to cause unit tests to be generated for all of your code-generated OData endpoints.

Coming Soon

We're just getting started, and we have several more ideas for future tutorials, some of which you will see listed below. But if you have an idea that you don't see listed here, please get in touch by logging a new documentation issue.

  • Implementing Unit Testing for Harmony Core OData Services

    Back to OData. The default Harmony Core environment also includes several CodeGen templates that allow you to generate repeatable unit tests for the OData controllers and endpoints that you generate. This tutorial will walk you through the process of adding a .NET Core unit testing project to your existing Harmony Core development environment. If you are working with our standard sample repository and data then almost everything you will need is already in place, but there will be some additional work required to get Unit testing up-and-running with your own custom data files and endpoints.

  • Incorporating Custom Code

  • xfServerPlus Migration

  • Debugging Traditional Bridge Methods

  • Authentication with an OAuth 2 Server (Azure AD has been requested as an example).

  • Calling Harmony Core web services from traditional Synergy using the [Synergy HTTP API(https://www.synergex.com/docs/versions/v111/index.htm#lrm/14_HTTP_API.htm).

  • Calling Harmony Core web services from .NET using System.Net.WebClient

Clone this wiki locally