Archives / 2018 / November
  • Performance difference in Acumatica between MS SQL and MySQL

    Hello everybody,

    today I want to write a few words about performance difference between MySQL and MS SQL in Acumatica.

    Relatively recently Acumatica provided possibility to use MySQL as it's database. For some unknown reason

    I didn't notice anybody who decided to use MySQL as their database solution. If you know any, please let me know,

    how they like their experience. 

    For me as developer it become interesting to check performance of MySQL vs MS SQL. Especially from standpoint of servers. 

    Take note on how one of mine task managers look like:

    as you can see I have 40 logical cores or 20 physical cores. Try to guess what is price of license for MS SQL for using at such a computer? … more

  • How to handle time consuming operations in Acumatica from code

    Hello everybody,

    today I want to make a short note on how to handle cases if you need to execute some kind of long operation in Acumatica. Once I had a task, create code that executes some kind of web requests that take some amount of time. When I used simple button, that approach died because of time out. In order to handle it I've decided to use PXLongOperation.StartOperation.

    Below goes full sample of code:

    public class SOOrderEntryExt : PXGraphExtension<SOOrderEntry>


        public PXAction<SOOrder> Test;

        [PXProcessButton(Tooltip = "Test")]

        [PXUIField(DisplayName = "Test")]

        public virtual IEnumerable test(PXAdapter adapter)


            PXLongOperation. … more

  • ISV solutions for Acumatica

    Hello everybody,

    today I want to write a few words about ISV solutions for Acumatica. ISV stands for Independent software vendor so ISV Solution means independent software vendor solution for Acumatica. 

    All ISV solutions are now splitted in three categories:

    Embedded - based only on Acumatica xRP Framework and Customization tools

    Connected - based only on Acumatica WEB services API

    Composite - has combination of embedded and connected features

    Acumatica will provide to their partners with excel file, which is needed to be filled before Acumatica gives it's approval on the solution. For each of those categories Acumatica will request different input from ISV, but if to summarize … more

  • How to use Reliable State manager in Azure Fabric

    Hello everybody,

    today I want to describe a bit how to use Reliable State Manager in Azure Fabric.

    First of all, I want to say that reliable state manager is some kind of entity which for me is very very similar to MongoDB collections. The only diffference is that it allows to have transactions, while in MongoDb you can't have them. In case if you need to use it in your class, you'll need to have reference to it's basic interface. For example like this:

    class ServiceFabricStudentRepository : IStudentRepository


            private IReliableStateManager _stateManager;

            private object cancellationToken;

            public ServiceFabricProductRepository(IReliableStateManager  … more

  • Azure Fabric Service Lifecycle

    Hello everybody,

    today I want to write few words about Azure Fabric Services lifecycle.

    Initially I'll describe what is going to happen in words, and then later I'll add picture. In any service creation participates two actors: Azure Service Fabric runtime and Service instance which will be created by Azure Service Fabric. Basically for each stateless as well as statetfull service following 5 steps are happening:

    1. Azure Service Fabric will create instance of your service

    2. Then Azure Service Fabric will ask your service to create listeners

    3. Azure Service Fabric will get list of your listeners.

    4. For each listener in the array Azure Service Fabric will try to open listener

    5. … more

  • How to make WPF ViewModel that will not crash during design time

    Hello everybody,

    today I want to describe following WPF use case: you make your View in xaml, then add some ViewModel in which instantiate reading from repository, and then try to open some that ViewModel in designer and see error message. Pretty disappointing situation, isn't it?

    In order to avoid such a situation, inside of your constructor of your ViewModle use DesignerProperties class, and it's method GetIsInDesignMode. If it returns true, it means that you try to see control in design mode, and then instead of executing some produciton code you can either return some hardcoded values for design time, or at least return from the construction. 

    For example like this:

    public class  … more

  • How to make alias for jar command

    Hello everybody,

    today I want to write few words about aliases in Powershell. First of all, why somebody may need aliases? Need in aliases arises, when you have some kind of big cumbersome commands. For example recently I've got a need to execute something like this:

    java -jar f:\utils\ANTLR\tpantlr2-code\code\antlr-4.7.1-complete.jar

    As you can see from the length, to type such a long string is pretty hard, even if you copy/paste it. In that case I've decided to use aliases. 

    My initial approach was like this:

    Set-Alias antlr4 'java -jar f:\utils\ANTLR\tpantlr2-code\code\antlr-4.7.1-complete.jar

    But when I've tried to execute such alias, Ive got the following error message:

    antlr4 : … more

  • WPF Controls are lookless

    Hello everybody,

    today I want to drop a note about WPF controls. For me it was very shoking to discover that WPF controlls are lookless ( that's official term from Microsoft ). That sounds countr-intuitive. Especially if you make code like this:

    <Window x:Class="Lookless.MainWindow"







            Title="MainWindow" Height="450" Width="800"> … more

  • Observable in microservices

    Hello everybody,

    today I want to document one important feature of implementing microservices. It is Correlation ID. Basically if you have ten microservices exeucting, and want to know how data is transformed between services, it is good idea to make some value which will travel between services. In that case it will be easy for you to see, what was condition of the systmem in case if you'll make some kind of analysis. It can be order filling with some information. Also that correlation id can be preserved in Central logging of microservices. more

  • Some notes on Microservices

    Hello everybody,

    today I want to write a few words about microservices and why they

    become so popular in our days. 

    First of all, take a look at the following picture,

    it shows how monlitic service look like:

    At this picture we have following elements: customer, which uses web site.

    Web site in turn has two parts: UI for customers and for company support.

    And inside of the web site quite often you will see interconnections between

    Accounts, orders, promotions, discounts, inventory, products and so on.

    And on separate computer as usually lives database.

    Now imagine that you need to modify part related to promotions. What will happen in case of upgrade? You'll need not just … more

  • Shared Access Signatures

    Hello everybody,

    today I want to write few words about Shared Access Signature for blob storage in Azure.

    First of all, I'd like to point that SAS is token, that provides access to blog item. And it has very interesting features. For example:

    You can give access which will start from some date time and finish at some date time.

    Limit access by IP addresses

    Allow file to be accessed by Https protocol or Https and Http.

    You can assign permissions to it. For example Read, Write, Delete, List, Add, Create, Update, Process.

    Pretty cool? I think yes.

    And one of the cool features is that you can create SAS in C# code.

    For example you can do it like this:

    Create in your class member … more

  • Azure cloud storage types

    Hello everybody,

    today I want to write a short notice about storage types in Azure. Here are they:

    Blob storage. Blob is abbreviation of binary large objects. But you can store there anything you like: small, big, binary, image etc information there. 

    Table storage. If to put simply it is Dictionary, but on Azure. Key/value pairs which you can persist. Can be useful for scalability apps.

    Queue storage. Storing and retrieving messages. As previous item from the list can be useful for scalable applications.

    File storage. That storage allows you to store SMB files to the system. SMB stands for Server message blocks. 

    Disc storage. Store any kind of information on hard drive that is … more

  • Staff that I plan to read in Accountancy

    Hello everybody,

    here I want to leave staff related to accountance that I plan to read in near future:

    “Accounting for Inventories”

    “Receivables Valuation”

    “Non-current Assets”

    “Liabilities, General Issues”

    “Shareholders' Equity”


    “Tax Accounting”