Skip to content

Webinars

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

Harmony Core Logo

Harmony Core Webinars

Harmony Core Series

xfBBQ Series

Incorporating Web Services in your Development Strategy

RESTful web services are becoming an increasingly key focus for many business application developers. Watch this previously recorded event to learn more about how our open source framework, Harmony Core, helps Synergy developers easily build RESTful web services to expose Synergy data and business logic. Here we provide a high-level overview of the basic principles of REST and RESTful web services, explain why adopting REST is so important, and present information about how to get started with REST in your Synergy/DE environment, and help you understand some of the extensive benefits that Harmony Core has to offer.

VIDEO: Incorporating Web Services in your Development Strategy

Topics:

  • 00:10 – Introduction
  • 02:40 – Overview and Learning Goals
  • 04:00 – What is a Web Service?
  • 06:50 – Why Incorporate Web Services?
  • 09:00 – What is Harmony Core?
  • 13:10 – Features and Components
  • 17:45 – Why .Net Core?
  • 19:25 – Why Rest?
  • 19:59 – Why OData?
  • 22:14 – Harmony Core Supports…
  • 23:40 – Benefits of Harmony Core
  • 25:21 – Getting Started with Harmony Core
  • 26:19 – Common Reasons to Incorporate Harmony Core
  • 27:14 – How We Can Help You Get Started
  • 28:40 – Upcoming Webinars
  • 30:17 – Question: What is the licensing involved in implementing Harmony Core?

Building and Running a Harmony Core Web Service

RESTful web services are becoming an increasingly key focus for many business application developers. Watch this previously recorded demo where we build and run a web service created via the Harmony Core framework. It's never been easier to expose your Synergy data and business logic!

VIDEO: Building and Running a Harmony Core Web Service

Topics:

  • 00:08 – Introduction
  • 01:25 – Overview and Learning Goals
  • 02:15 – Creating a Basic Solution
  • 10:23 – Enabling OData Support
  • 19:37 – API Documentation
  • 21:19 – OData Query Support
  • 28:35 – Question 1: What’s OData?
  • 29:35 – Question 2: How do I access data on an OpenVMS system?

Harnessing the Power of Harmony Core Web Services

RESTful web services are becoming an increasingly key focus for many business application developers. Using powerful tools like ODATA within the Harmony Core framework you can have full CRUD (create, read, update, and delete) capabilities for your Synergy data from the client of your choice. Watch a demonstration of these powerful features and learn how to implement user authentication.

VIDEO: Harnessing the Power of Harmony Core Web Services

Topics:

  • 00:00 - Introduction
  • 02:23 - Review of Previous Webinar
  • 06:00 - Postman Introduction
  • 17:30 - Creating a Customer (with primary key specified)
  • 23:25 - Updating a Customer (with primary key specified)
  • 25:10 - Deleting a Customer (with primary key specified)
  • 26:20 - Creating a Primary Key Factory/Supporting Post Operations
  • 37:20 - Custom Authentication
  • 1:00:35 - Closing

Integrating Traditional Synergy Logic with Harmony Core Web Services

RESTful web services are becoming an increasingly key focus for many business application developers. Did you know that you can now integrate your traditional Synergy business logic with our Harmony Core framework to be exposed as part of a RESTful web service? No matter what supported platform your logic is on (OpenVMS, Unix/Linux, or Windows), we have you covered with Harmony Core Traditional Bridge. In this webinar, Steve Ives provides an explanation of what Traditional Bridge can do for you as well as a demonstration of implementing this open-source feature.

VIDEO: Integrating Traditional Synergy Logic with Harmony Core Web Services

Topics:

  • 00:00 - Introduction
  • 02:32 - Overview of Traditional Bridge/Tutorial Goals and Setup
  • 09:54 - Add a Traditional Bridge Project
  • 11:43 - Add Traditional Bridge Library Code
  • 15:55 - Add Traditional Bridge Routines
  • 18:55 - Add Dispatcher Classes
  • 31:30 - Add Main Dispatcher Class
  • 33:30 - Add Traditional Bridge Host
  • 42:56 - Add Helper Service Class
  • 48:27 - Add Controller Class
  • 51:57 - Configure Traditional Bridge Environment
  • 55:52 - Test Traditional Bridge
  • 1:01:33 - Question 1: What are the minimum Synergy/Visual Studio version requirements for Harmony Core/Traditional Bridge?
  • 1:04:09 - Question 2: Can you please provide a high-level flow of the process?
  • 1:08:13 - Question 3: Double-check with Steve?
  • 1:12:00 - Question 4: Are you contemplating using CodeGen in this part of Harmony Core?
  • 1:13:41 - Question 5: The examples provided were pretty simple. What if you needed to communicate complex data via Traditional Bridge?
  • 1:16:58 - Question 6: Will every request spin up a separate instance of the Traditional Bridge host?
  • 1:18:23 - Question 7: Please discuss how Traditional Bridge is multithreaded.
  • 1:19:31 - Question 8: How do we go about debugging our exposed Synergy methods, if the code is not in the Traditional Bridge project, using Visual Studio?
  • 1:22:00 - Question 9: Is there any PaaS offering for the Synergex platform now or in the future with these features?
  • 1:25:25 - Question 10: I don’t get the prompt to open the source when I add the source code, and at a breakpoint, it is never reached if I send the request via Postman?
  • 1:28:16 - Wrap-up

Building an End-to-End Browser-Based Application: Part 1

This four-part webinar series features Synergex software engineer Johnson Luong demoing the “official” Synergex barbeque-organizing app, xfBBQ, that was built through incorporating a Synergy back-end, a React and Redux front-end, and Harmony Core web services. This series of webinars will allow you to better understand how you can leverage Harmony Core to make your Synergy data available for use with modern front-end technologies. We’ll discuss how to grow a repository with structures, structure relations, keys, and ISAM files. Then we’ll grill the fruits of our labor by exposing that data with Harmony Core through data access to ISAM files, calculated properties, and Harmony Core’s own Traditional Bridge. Lastly, we’ll top it off by hooking it up with a React and Redux web app.

VIDEO: Building an End-to-End Browser-Based Application: Part 1

Supporting materials:

Topics:

  • 00:00 - Roll-in
  • 00:03 - Introduction
  • 03:10 - Agenda review
  • 04:03 - xfBBQ overview
  • 05:40 - Prerequisites
  • 06:34 - Step 1: Create new React project with create react app/React overview
  • 09:40 – Step 2: Add initial configuration files, test default Create React App loading screen
  • 13:06 – Step 3: Generate new Harmony Core solution from template
  • 17:59 – Step 4: Edit regen.bat and generate files
  • 21:35 – Step 5: Show back-end data via Postman
  • 23:58 – Step 6: Add React components and routing
  • 30:30 – Step 7: View Synergy data from front end using Harmony Core and React API calls
  • 34:30 – Recap
  • 35:00 – Session 2 preview
  • 36:44 – Question 1: Why choose React as a front-end framework?
  • 41:00 – Wrap-up

Building an End-to-End Browser-Based Application: Part 2

This four-part webinar series features Synergex software engineer Johnson Luong demoing the “official” Synergex barbeque-organizing app, xfBBQ, that was built through incorporating a Synergy back-end, a React and Redux front-end, and Harmony Core web services. This series of webinars will allow you to better understand how you can leverage Harmony Core to make your Synergy data available for use with modern front-end technologies. We’ll discuss how to grow a repository with structures, structure relations, keys, and ISAM files. Then we’ll grill the fruits of our labor by exposing that data with Harmony Core through data access to ISAM files, calculated properties, and Harmony Core’s own Traditional Bridge. Lastly, we’ll top it off by hooking it up with a React and Redux web app.

VIDEO: Building an End-to-End Browser-Based Application: Part 2

Supporting materials:

Topics:

  • 00:00 - Introduction
  • 01:45 – Agenda review
  • 02:45 – Step 1: Update regen.bat and regenerate files
  • 07:10 – Step 2: Create primary key generator
  • 09:39 – Step 3: Create UsersController.Custom.dbl file
  • 12:10 – Step 4: Add a user registration form (UserRegistrationForm.jsx) to React project
  • 25:00 – Step 5: Add a login form (UserLogin.jsx) to React project
  • 30:18 – Redux overview
  • 31:53 – Step 6: Add Redux to React project
  • 42:40 – Step 7: Add a logout form (UserLogout.jsx) to React project
  • 44:45 – Step 8: Add user restrictions
  • 47:00 – Session recap
  • 47:24 – Session 3 preview
  • 48:05 – Question 1: Why not use Synergy’s built-in autosequence keys for primary key generation?
  • 51:45 – Question 2: Can you explain UTC date format?

Building an End-to-End Browser-Based Application: Part 3

This four-part webinar series features Synergex software engineer Johnson Luong demoing the “official” Synergex barbeque-organizing app, xfBBQ, that was built through incorporating a Synergy back-end, a React and Redux front-end, and Harmony Core web services. This series of webinars will allow you to better understand how you can leverage Harmony Core to make your Synergy data available for use with modern front-end technologies. We’ll discuss how to grow a repository with structures, structure relations, keys, and ISAM files. Then we’ll grill the fruits of our labor by exposing that data with Harmony Core through data access to ISAM files, calculated properties, and Harmony Core’s own Traditional Bridge. Lastly, we’ll top it off by hooking it up with a React and Redux web app.

VIDEO: Building an End-to-End Browser-Based Application: Part 3

Supporting materials:

Topics:

  • 00:00 - Introduction
  • 01:36 – Agenda review
  • 02:00 – Session 2 recap
  • 02:36 – Step 1: protect front-end from bot attacks with reCAPTCHA
  • 07:15 – Step 2: protect back-end from bot attacks with reCAPTCHA
  • 13:39 – Step 3: add batch order processing and form
  • 26:00 – Step 4: update UI of Orders, Favorites
  • 30:22 – Step 5: add CRUD operations, form, and table UI for BBQ scheduling
  • 36:00 – Step 6: add additional CRUD operations and table UI for user management
  • 41:16 – Recap
  • 41:53 – Session 4 preview
  • 42:31 – Question #1: Can you explain EdmBuilder.custom.dbl?
  • 43:23 – Question #2: Can you explain the logout process in more detail?
  • 45:18 – Additional information on EdmBuilder.dbl

Building an End-to-End Browser-Based Application: Part 4

This four-part webinar series features Synergex software engineer Johnson Luong demoing the “official” Synergex barbeque-organizing app, xfBBQ, that was built through incorporating a Synergy back-end, a React and Redux front-end, and Harmony Core web services. This series of webinars will allow you to better understand how you can leverage Harmony Core to make your Synergy data available for use with modern front-end technologies. We’ll discuss how to grow a repository with structures, structure relations, keys, and ISAM files. Then we’ll grill the fruits of our labor by exposing that data with Harmony Core through data access to ISAM files, calculated properties, and Harmony Core’s own Traditional Bridge. Lastly, we’ll top it off by hooking it up with a React and Redux web app.

VIDEO: Building an End-to-End Browser-Based Application: Part 4

Supporting materials:

Topics:

  • 00:00 - Introduction
  • 01:43 – Agenda review
  • 02:15 – Session 3 recap
  • 02:51 – Server-side authentication step 1: enable authentication (and custom authentication) in regen.bat
  • 06:53 – Server-side authentication step 2: swap hard coded username and password for user table data in AuthenticationController.dbl
  • 10:07 – Server-side authentication step 3: update UserController.Custom.dbl to allow new users to be posted without a token
  • 12:00 – React JWT authentication step 1: add tokenActions.js file to Redux actions folder
  • 13:04 – React JWT authentication step 2: add tokenReducer.js file to Redux reducers folder
  • 13:40 – React JWT authentication step 3: update actionTypes.js file in Redux actions folder
  • 14:20 – React JWT authentication step 4: modify initialState.js file in Redux reducers folder
  • 14:35 – React JWT authentication step 5: modify rootReducer.js file in Redux reducers folder
  • 14:58 – React JWT authentication step 5: add tokenApi.js file to api folder
  • 16:18 – React JWT authentication step 6: add tokenMiddleware.js file to Redux reducers folder
  • 17:15 – React JWT authentication step 7: add redux-persist-expire package and update configureStore.js file to force tokens to expire after one day
  • 19:13 – React JWT authentication step 8: modify apiUtils.js file to send appropriate error when token expires
  • 20:00 – React JWT authentication step 9: add token information to functions inside bbqApi.js, orderApi.js, favoriteApi.js, and userApi.js
  • 21:20 – React JWT authentication step 10: add remove/get token functionality to login and logout components
  • 25:54 – Bootstrap styling step 1: install bootstrap, react-bootstrap, react-router-bootstrap, and bootswatch packages
  • 27:37 – Bootstrap styling step 2: update app title to “xfBBQ” in index.html file
  • 28:00 – Bootstrap styling step 3: modify App.css and index.css files
  • 28:35 – Bootstrap styling step 4: modify App.jsx, import bootswatch and Container component from react-bootstrap
  • 29:28 – Bootstrap styling step 5: modify Header.jsx to include Navbar, LinkContainer, and Nav components
  • 30:24 – Bootstrap styling step 6: incorporate Bootstrap components into the rest of the app pages and forms, create additional CSS files to support form updates.
  • 37:01 – React bundling step 1: create optimized production build of React app with npm
  • 38:28 – React bundling step 2: rename and add build folder to Harmony Core solution
  • 39:57 – React bundling step 3: add Microsoft.AspNetCore.SpaServices NuGet package and modify Startup.Custom.dbl
  • 42:21 - Recap and wrap-up
Clone this wiki locally