MYOB Acumatica Cloud xRP Platform

The MYOB Acumatica Cloud xRP Platform is the platform provided by MYOB that is used to build the MYOB Acumatica application itself, any customizations of MYOB Acumatica, the mobile application for MYOB Acumatica, and applications integrated with MYOB Acumatica through the web services API.

The MYOB Acumatica Cloud xRP Platform consists of a number of components, which are highlighted with light blue in the following diagram. These components serve different purposes, which are described in detail in this topic, and can be used either separately or combined to achieve your business purposes.
Figure 1. MYOB Acumatica Cloud xRP Platform


Basic Components and Tools

The base of the MYOB Acumatica Cloud xRP Platform is formed by the components and tools that provide the basic application functionality, such as multitenancy support, role-based access, and localization tools. These components and tools are available out-of-the-box in MYOB Acumatica, any embedded in MYOB Acumatica applications, or applications based purely on MYOB Acumatica Framework applications. This means that you do not need to worry about implementing mechanisms similar to these components during the design or programming of your application based on the MYOB Acumatica Cloud xRP Platform.

MYOB Acumatica Cloud xRP Platform contains the basic components and tools listed in the following table.
Component or Tool Description
Role-based access A set of components responsible for user authorization, access rights verification, and audit on the data access and business logic levels. For more information, see User Roles: General Information in the System Administration Guide.
Multitenancy A component responsible for hosting multiple tenants on a single application server. For details about multitenancy, see Managing Tenants Locally and Managing Tenants by Using the Web Interface.
Localization tools The tools that help you to perform the localization of the application to multiple languages. For more information about localization, see Translation Process.
Help management system The integrated wiki-based help content editing, management, and search system. For details about the help management system, see Wiki Overview.
Document management system The integrated document storage and management system. For details, see Working with Attachments.
Report Designer A separate utility (which can be installed along with MYOB Acumatica or MYOB Acumatica Framework) that you can use to design custom reports. For details on this tool, see MYOB Acumatica Report Designer Guide.

MYOB Acumatica Framework

MYOB Acumatica Framework provides the platform API and web controls for the development of the UI and business logic of an ERP application. The platform API is used for the development of MYOB Acumatica and any embedded applications (that is, customizations of MYOB Acumatica). MYOB Acumatica Framework can also be used to develop an ERP application from scratch.

The platform API provided with MYOB Acumatica Framework is an event-driven programming API, which is traditional in rich GUI applications. This model covers database access, business logic, GUI behavior, and error handling. All coding is done with only C#.

The following code gives an example of the business logic implemented in the business logic controller: The code updates the receipt total when one of the transactions related to the receipt is updated.

public virtual void DocTransation_RowUpdated(PXCache cache,
                                             PXRowUpdatedEventArgs e)
{
    DocTransaction old = e.OldRow as DocTransaction;
    DocTransaction trn = e.Row as DocTransaction;
    if ((trn != null) && (trn.TranQty != old.TranQty ||
                                   trn.UnitPrice != old.UnitPrice))
    {
        Document doc = Receipts.Current;
        if (doc != null)
        {
            doc.TotalAmt -= old.TranQty * old.UnitPrice;
            doc.TotalAmt += trn.TranQty * trn.UnitPrice;
            Receipts.Update(doc);
        }
    }
}

When a user selects a document transaction in the table on a form and updates the settings of the transaction, the RowUpdated event is triggered, and the code above is executed and updates the receipt total.

You can find detailed information about the development of applications with MYOB Acumatica Framework in this guide.

Acuminator

Acuminator is a static code analysis and colorizer tool for Visual Studio that simplifies development with MYOB Acumatica Framework. Acuminator provides diagnostics and code fixes for common developer challenges related to the platform API. Also, Acuminator can colorize and format business query language (BQL) statements, and can collapse attributes and parts of BQL queries. You can find related information and download Acuminator at Visual Studio Marketplace.

MYOB Acumatica Customization Platform

MYOB Acumatica Customization Platform provides customization tools for the development of applications embedded in MYOB Acumatica. Developers that work with MYOB Acumatica Customization Platform use the platform API provided by MYOB Acumatica Framework.

With MYOB Acumatica Customization Platform, you can perform end-customer customizations and create complex solutions for multiple customers. In these customizations, you can modify the user interface, business logic, and database schema without recompilation and reinstallation of the application. Customizations are stored separately from the core application code as metadata and can be modified, exported, or imported. Because customizations are stored separately, they are preserved with the updates and upgrades of the core application.

For details on MYOB Acumatica Customization Platform, see MYOB Acumatica Customization Platform.

Web Services APIs

The MYOB Acumatica Cloud xRP Platform provides multiple types of web services APIs for development of applications integrated with MYOB Acumatica. These applications can perform data migration and data import, integration of MYOB Acumatica with external systems, and execution of long-running operations.

You can use the contract-based REST API, contract-based SOAP API, or screen-based SOAP API to access the same business logic as is accessed in the UI. All types of the web services APIs can be used with any customization applied to MYOB Acumatica. The contract-based REST API supports the OpenAPI 2.0 (formerly known as Swagger 2.0) specification.

For details on the web services APIs, see Contract-Based REST API and Screen-Based Web Services API.

MYOB Acumatica supports the OAuth 2.0 mechanism of authorization for add-on applications that interact with MYOB Acumatica through application programming interfaces (APIs). For details on the authorization of applications, see Authorizing Client Applications to Work with MYOB Acumatica.

Mobile API

MYOB Acumatica provides the MYOB mobile application, which allows a user to work with MYOB Acumatica through the mobile devices. You can customize the mobile application by using the mobile API. For details on the mobile API, see Working with the Mobile Framework.