Forward Solutions Fuels Its ERP Refresh with Harmony Core

Challenge

Forward Solutions is the UK’s leading independent national supplier of software and e-commerce solutions to the freight and logistics industry. Forward Office, their well-established enterprise resource planning (ERP) system, was first released in 1986 and had seen steady development over the subsequent 30-plus years to keep pace with customers’ business needs. Due to some technology challenges, however, the user interface (UI) needed work. Forward Solutions knew they needed to refresh the UI to keep this feature-rich enterprise solution on track as a leader in its industry.

Goals

To meet this challenge, Forward Solutions initiated a revitalization project with assistance from Synergex. Their goals for this project were the following:

  1. Revitalize the UI to improve existing customers’ experience with the application and present an improved experience to prospective customers—i.e., a more modern look, good UX, and good performance
  2. Retain the existing level and quality of application functionality
  3. Define a realistic time-to-market with minimal risk and good ROI
  4. Minimize the application code changes needed to update the UI

Download case study as a PDF.

Solution

At the heart of the challenge Forward Solutions faced was this problem: how can a large application built around Synergex’s UI Toolkit product (which often mixes business logic and UI code) be refurbished with a new UI without rewriting the application, a generally complex and risky undertaking?

In early 2021, Forward Solutions explored answers to this question in a meeting with members of Synergex’s Sales team and Professional Services Group (PSG). Synergex suggested some tools and technologies that had proven successful for other Synergy-based ERPs. They explained how Synergex’s Harmony Core product with Traditional Bridge exposes Synergy business logic via a web service, making it possible to add a web-based UI to existing business logic without an application rewrite.

Glossary

Harmony Core. A framework for making Synergy code and data available through web services accessed via OData endpoints and SignalR endpoints. Not only does Harmony Core provide REST, OData, scalability, logging, and many other industry-standard features and technologies, but it also does this with native access to Synergy data.

Traditional Bridge. A Harmony Core component that enables Synergy logic to be accessed via RESTful endpoints or SignalR endpoints. RESTful endpoints provide stateless access. SignalR endpoints enable Synergy code to maintain state, which can be especially important for UI Toolkit code. Synergy logic accessed via Traditional Bridge can be local to the web service or remote.

OData. An industry-standard open protocol for accessing (querying and updating) data. OData is REST-based and uses specially formatted URLs as the mechanism for accessing data, enabling SQL-like queries to be submitted for server-side database processing. For Harmony Core, OData endpoints provide ODBC-like access to Synergy data.

JSON (JavaScript Object Notation). A human-readable data interchange format. JSON has become the de facto standard for text-based data interchange on the web, and web services created with Harmony Core accept and serve data in this format.

xfServerPlus. A Synergex product used to handle remote execution of Synergy routines from Synergy Java and .NET clients via a proprietary protocol.

RESTful APIs, stateless access. RESTful APIs are web service APIs that adhere to the REST (Representational State Transfer) architectural style. URLs with a specified format access specific web service resources, which are made available in a stateless environment—i.e., no connection is maintained to the client, and no session information persists on the server (which improves performance and scalability). Consequently, each URL request is independent, and resources are served up without reference to prior access.

SignalR, stateful access. SignalR is Microsoft’s technology for maintaining application state in a web environment, enabling applications to push content updates to connected clients as it becomes available, rather than waiting for clients to request new data. To maintain application state, SignalR creates and maintains a connection between the web service and the client for the duration of a session.

Angular. A JavaScript framework for building single-page web applications. Single-page web applications offer a rich user experience by only loading a single web document that is continuously updated via JavaScript APIs during the user session.

DevExtreme. A collection of UI components for Angular, React, and other JavaScript frameworks and libraries.

"It was very positive [to work with PSG]. Very knowledgeable members of staff technically, but also appreciative of what we were trying to achieve. Seemingly they have come across this kind of challenge before and they just seemed to get it, really."

Richard Litchfield, Managing Director

Plotting a course with Harmony Core and Traditional Bridge

Forward Solutions decided to pursue this path and asked Synergex to conduct a system assessment. A team of PSG consultants carefully analyzed Forward Office and its environment, drew up recommendations, and filled in critical details on how the new system could work. From this assessment, Forward Solutions developers learned how Harmony Core with Traditional Bridge could be the foundation of a web service that exposed existing Synergy business logic via RESTful OData endpoints and SignalR endpoints. They also learned how Microsoft’s SignalR technology could be used to accommodate application state inherent in a UI Toolkit application, obviating the need to heavily rework sections of UI Toolkit code to make it stateless for REST access. The result: an industry-standard interface that could be consumed by any modern web development technology and would be immediately familiar to web developers. Furthermore, the proposed architecture would simplify application deployment, make it possible to use better cloud and hosted offerings, and allow the solution to be run on different platforms. And as the new code would be an add-on to existing software, no business logic would be lost in the process, and the risk on rollout would be considerably lessened.

As a bonus, the PSG team discovered during the system assessment that the business logic needed for this project had already been exposed via Synergex’s xfServerPlus product. This made it even easier to prepare for access via Traditional Bridge, since the process to convert xfServerPlus routines for this access is largely automated by code generation. After generating code and configuring the environment, these routines could be called using JSON RPC 2.0, making the application ready for a new web front end. No new business logic would be needed, and none of the logic would be coded in the front end. It would all be available via the web service. And if it became necessary in the future to use business logic that had not been in these xfServerPlus routines, it would be a straightforward task to isolate the code and prepare it for Traditional Bridge, making it available to the web solution.

With this new architecture and methodology, not only would Forward Solutions retain the code for their carefully crafted business logic and clear the way for a new UI, but they also could now adopt a defined, phased product development path that would include only the areas of the ERP that would really make a difference to their customers.

Collaborating to prove the concept

It was a compelling plan, but would the proposed technologies come together in a performant way and enable Forward Office’s UI to be updated with an acceptable ROI and on a reasonable timeline?

To answer this question, Forward Solutions engaged PSG to help them develop a proof of concept (POC). As the basis for the POC, Forward Solutions chose a frequently used cost estimate module, one that had enough complexity to test performance and enable the development team to explore different UI approaches, while being well enough defined to avoid slippage in the project’s scope. Forward and PSG then drew up a project plan for the POC. 

The plan included screen mockups, described the flow and processing of the module, and addressed issues such as back-end data and logic access, validation, defaults, lookups, performance, usability, access from different clients, needed repository changes, environment requirements, and project resources.

It was decided that the new web UI would be built using the Angular framework and DevExtreme components. And the POC would support reading, writing, and editing data and would demonstrate how Harmony Core would perform as a middle layer. The latter requirement was especially important due to the many calls made to the Synergy logic (via SignalR) for validation. Forward chose the Pomelo EF Core Provider for accessing their MySQL data from Harmony Core’s OData layer.

Outcome

At the outset, Forward Solutions and PSG came up with a three-month timeline to design and implement the POC, and by the end of April 2021, they had completed the project. The POC was then presented to Forward’s leadership and quickly won approval, leading to the first phase of Forward Office’s revitalization. This phase, which continued the collaboration between Forward Solutions and PSG, provided a web front end to Forward Office’s most used features. It started in June of 2021, and was completed in January of 2022. And when this first phase came to a conclusion, Forward Solutions and PSG embarked on a second phase to continue extending and fine-tuning the functionality.

Forward Solutions was able to meet the goals they set for this project, and they have established a foundation of industry-standard technologies for the future of Forward Office, providing a new lease on life for a feature-rich ERP that has served its industry well for many years and is now poised to continue for many more.

Download case study as a PDF.

How Synergex Can Help

Synergex can help you implement these solutions and more.

Contact Us Today