Application architecture to simplify application configuration

I am looking for information about the direction that needs to be taken to create an accounting application. The application must provide high customization, sometimes it is necessary to change entire processes.

I want to make changes without recompiling the entire application when the client has a specific change request. The internal database will be an SQL database. Most likely, SQL Server Express is for cost reasons. The front interface will be C #.

I am thinking of an event-based system that will have events when various types of actions are taken, such as recordings. Then I will have a plugin that handles the event. I may need to have several processes apply in a specific order to the data before they are finally saved. It should also trigger other processes.

I want my base application to be the same that works for most clients, but has an elegant way to load user processes that other specific clients have.

I am open to all suggestions. Even if they think of completely different ways to solve the problem. Our current development talent is .NET and MS SQL Server. I do not know a software template that can fit this situation.

Additional information: This is not a completely empty slate system; it will have functionality that works for a large number of clients. For various reasons, the requirements vary depending on the state and even at the level of the region and city where adjustment may be required.

I would like to be able to plug in additional pre-compiled modules. When I started exploring possible options, I presented an empty handler that could insert code through a plugin. So let's say, for example, a new entry is entered in the General Ledger that triggers an event. A handler is called, but the handler code comes from a plugin, which may be my initial process, which suits 80% of clients. If the client wants to perform a custom operation, I can add a plugin that completely replaces the original one, or add an additional post-processing step through another plugin after the initial launch. This seems to be a stratification process.

+3
source share
3 answers
+2

Windows Workflow Foundation (WF) ( .NET Framework) . , script -lets, /.

WF Biztalk , .

, WF4.

.

0

, , MEF (+1 @) - , "" , , . "", , .

, , , -, , .

Thus, you need to seriously think about your system architecture, be abstract enough for various points of the plug-in and fully implement this architecture, do not execute only part of the system and start coding with it.

I hope you understand what I wanted to say, because English is not my native language.

0
source

All Articles