One of the first questions asked by a prospective customer when evaluating a possible ERP solution is: Can I customize this software?
Whether the need to customize is real or not, it is often an important consideration in terms of “future-proofing” the chosen ERP solution.
Proprietary ERP is often interchangeable with “Commercial” in any discussion around Open Source vs Commercial. In this blog, we are using another definition of “Proprietary”, one where the ERP solution is developed by its publisher using a unique database or tools, without any connectivity or integration opportunities to any other application, and without any options for in-house customization. Often, these are called “orphan” systems.
If you find exactly what you need in a proprietary ERP solution, and believe you can rely on the publisher to incorporate any changes you require, it may be a good option for you. If that proprietary solution gives you limited or no options for customization, you will, however, be beholden to the publisher for all your customizations. That means you are reliant on them to take into account your customizations, and those for all their other customers, whenever they produce a software upgrade. You may end up using an application that has more sticking plaster on it than skin.
A Platform ERP solution is one which is written using the most common tools, and based on one of the most common databases. It has an SDK, a Software Development Toolkit, which contains various tools to make development possible, and allows development using a range of common development environments.
At the simplest level, your ERP solution should allow you to rename field names on your screen to match the language of your industry. It should allow you to change the order of fields within a grid, and allow you to add new fields to screens, making them mandatory-entry if required. It may even allow you to add new screens, storing the information entered on them in the database.
None of the above should require a full SDK, they should be inherent in your ERP solution.
With an SDK, we introduce the concept of “Publisher as Platform”. An SDK should contain interfaces, sample code, documentation and development tools. It provides application programming interfaces (APIs) that allow developers to create enhancements and add-ons that work seamlessly with the ERP system.
One major advantage of this approach is that the publisher can concentrate on constantly improving their core ERP to the benefit of all users, without getting involved in any customization themselves. This keeps the core ERP ‘clean’, pure skin, no sticking plaster.
OptiProERP chooses to develop on the SAP Business One platform. With more than 50,000 customers, and close to 1 million users, worldwide, together with 41 country localizations and 21 languages, SAP Business One is the ideal platform for the 300 plus developers providing more than 500 solutions on this platform.
A number of those developers are now, like OptiProERP, OEM Partners with SAP. This means we develop a complete solution on the SAP Business One platform and market it as such. SAP provides all the same version upgrades, so the core application backing OptiProERP is always the same as any other SAP Business One installation. Not all OEM relationships in the market have such a close partnership. There are some ERP systems that licensed a core ERP to base their development on many years ago, and that core has never been updated since. You need to ask the question….
The APIs provided in the SAP Business One SDK are:
- User interface API
- Data interface API
- Java connector
The user interface API (UI-API) enables developers to modify SAP Business One by creating new windows, redesigning existing windows, adding menus, or adding dialog boxes. Modifications can be as simple as hiding or disabling a field, or as complex as adding a new type of transaction to SAP Business One. The UI-API provides access to system events that occur in the client application for SAP Business One. The UI-API is a COM-based interface. Some aspects of this API are inherent in SAP Business One, enabling trained super users to perform some of these tasks.
The data interface API (DI-API) is a COM-based business logic layer that enables developers to build real-time links between SAP Business One and external applications. By providing a programmatic interface to SAP Business One through a set of fully functional business objects, the DI-API gives you the power to connect applications and automate processes. The DI-API can be used independently from the front-end for SAP Business One to access a company, enabling developers to create real-time links to existing custom or third-party applications.
The Java connector gives developers all the power and flexibility of the DI-API for use in a Java development environment.
The SAP Business One SDK can be used with a variety of development environments, including Microsoft Visual Studio 6.0 (Visual Basic, Visual C++) and Microsoft Visual Studio.NET (C#, Visual Basic.NET, and ASP.NET).
The SAP Business One SDK includes a screen painter utility that allows developers to design custom windows for SAP Business One in an intuitive graphical interface
Applications such as OptiProERP can be certified by SAP, and this is your guarantee of quality and correct integration.