Last night (technically early this morning) I finished the S400 Introduction to Acumatica Technology course. This course mainly focused on two things: the Customization Engine and Web Services.
It feels a lot like climbing into the cockpit of an airplane. There are lots of options to choose from.
Acumatica Customization Engine
You can do A LOT with the Acumatica Customization Engine. I don’t know all the customization features that are available in other midmarket ERP products, but I wouldn’t be surprised if Acumatica has the most powerful Customization Engine out of all of them.
The main thing to note about the Acumatica Customization Engine is that this is not source code modification. It allows you to customize the user interface directly from your web browser without needing to know how to use Microsoft Visual Studio. You use something called Page Design Mode to make very extensive behind-the-scenes changes to form elements, add new elements, and even change form behavior. In the latest version of Acumatica, 5.0, you can even create entirely new forms using the Customization Engine. This kind of thing is usually reserved for developers who know programming languages. But with Acumatica, a power user can use the Customization Engine to do some amazing things without needing to even involve a developer.
Of course, if you are a developer, you can still use Microsoft Visual Studio to do even more amazing things, but you really need to know what you’re doing.
What does Page Design Mode look like? Here is a screenshot of Page Design Mode on the Journal Transactions (GL301000) screen:
In the screenshot above, I right-clicked on the Description field. If you choose the Control Tree… option, it will take you to a list of all the properties available for that field. When I looked at the number of different properties available for the Description field above, I counted over 115 of them. I can’t take a screenshot of all of them because there are so many, but here is a screenshot of the first page (that’s a lot of properties!).
The box in the Customized column gets checked next to any properties that you modify.
In addition, when you customize properties, the Acumatica Customization Engine automatically generates the necessary code for you which you can view by clicking the Aspx… button in the screenshot above. That opens a separate window which allows you to view the code that Acumatica automatically generated. Notice the highlighted portion of code which was automatically generated when I customized the BorderStyle property.
If you really know what you’re doing and you want to get fancy, you can click the Attributes… button in the screenshot above and add your own code. I’m not that fancy though so I just typed in a sentence, “type in some custom code here,” which would give me an error if I were to try to save it to the form.
If you really, really know what you’re doing and you want to get really fancy, you could choose the Code Editor… option in the first screenshot which opens a new window that would allow you to type in your own custom C# code. But notice, we’re still in the web browser! No Microsoft Visual Studio needed, although there is a button on the top of the screenshot below called Visual Studio that would allow you to take your code into Microsoft Visual Studio if you wanted. I personally am not a C# developer, but it’s nice to know that this kind of extensive modification is possible, all within the Acumatica Customization Engine!
One last thing, if you select the Add Data Event… option in the first screenshot, you can add event handlers which modify how the screen responds to different events. I don’t remember what all these do, but here is a screenshot of the different options:
There are a lot more things that you can do with the Acumatica Customization Engine, including adding columns to grids and lookup windows. But hopefully this gives you an idea of how powerful the functionality is.
Acumatica Web Services
Web Services is a feature available in many modern applications. Basically, it allows computer programs to talk to each other in a common language, regardless of the platform (Windows, Mac, Linux, etc.) or the device (Laptop, Tablet, Phone, etc.) that you are using. I like to think of it as “the English language” for computers. Regardless of what you think of gluttonous America, you have to admit that English is the common language for international commerce. If a business transaction is being conducted internationally, the chances are that it will be conducted in English. It doesn’t matter what the language is so much as the fact that there is a standard. Just as the English language greatly facilitates international business transactions, Web Services greatly facilitates communication between computer programs.
This allows existing software packages like FusionWMS to seamlessly integrate with Acumatica without having to invest tons of time and money to learn the “Acumatica language”. FusionWMS can simply speak the “common language of Web Services” to allow data to easily flow between the two applications. And Web Services also has the added benefit of picking up existing security within Acumatica.
Azuqua, announced at the recent Acumatica Partner Summit (click here), took this to another level. As far as I can tell, Azuqua acts like a “Customization Engine” for Web Services in that you can graphically leverage the power of Web Services without having to be a programmer.
But, just like with the Customization Engine, if you are a programmer you can of course do even more powerful things with Web Services. I personally don’t know too much about the technical details except that Acumatica Web Services utilize SOAP and WSDL and they can be accessed by pretty much any current programming environment or integration tool.