📜 ⬆️ ⬇️

What is the platform Docsvision and our four principles of its development

We, the developers of Docsvision, call this product a platform. It is a platform on the basis of which you can create various design solutions.

To make these solutions easier and faster to create, and later change, for the Docsvision platform, we made various tools (designers, modules, gateways) that allow you to simulate a solution for a specific customer on the platform, taking into account its requirements.

Using the same tools, we also prepared a set of ready-made applications for the Docsvision platform that solve a specific business problem (for example, automating the meeting process). And, if a similar business problem needs to be solved by the customer, then such a ready-made application can be taken as a basis in the implementation process, it will remain only with the help of the same platform tools to customize it.
')
image

Visually, all this can be represented as a four-layer pyramid, where the Docsvision platform (the first layer) lies at the base, various designers, modules and gateways (the second layer) are developed for it, applications (the third layer) are created using them, and the customer gets customized for it design solution (fourth layer).

And such a four-layer structure was not chosen by chance. When designing it, we formulated four principles for ourselves, which we decided to rely on when developing the latest version of Docsvision:

  1. Openness
  2. Flexibility.
  3. Modularity.
  4. Performance.

Next, we would like to reveal these principles and at the same time tell in more detail about each layer of the pyramid in the Docsvision structure. So:

Principle number 1: Openness.


Docsvision platform should be open for development on it.

Therefore, the server part of the Docsvision platform is written based on .NET technologies. The server is a web \ WCF service. There is a mechanism to extend the functionality of the server with the help of connected server extensions that can be written using .NET. These server extensions can be used from the client side using the available API. The client part of the Docsvision platform is written using .NET and COM-technologies.

There are a number of public APIs and interfaces with which you can modify the client part of Docsvision, and for this you can use both widely used modern programming languages ​​(C #, VB.NET) and also popular in the past Visual Basic 6.0 and C ++.

More details about the architecture of the Docsvision platform (including about the kernel, object model, system modules, process engine, etc.) in our one of our next posts.

Principle # 2: Flexibility.


In the Docsvision platform, everything should be customized "for yourself," and there should be tools that allow you to do this without programming.

To do this, in the latest version of Docsvision, we have developed as many as ten designers:

  1. Card Designer.
  2. Process Designer.
  3. Reference Designer.
  4. State constructor.
  5. Role Designer.
  6. Report Designer.
  7. Search query builder.
  8. Script Builder
  9. Constructor of approvals.
  10. Numbering Constructor.

image
Card Designer.

image
Process Designer.

image
Role Designer.

We provide all these designers to our integrating partners for free so that they can create various design solutions for their customers. Operation of a ready-made solution created on the Docsvision platform does not require the customer to purchase these designers, only if the customer wants to independently modify the solution on his own.

We will not discuss in detail the capabilities of each designer, but even their number gives an idea of ​​how flexible the Docsvision platform is, and that many changes in it can be made simply by “setting the necessary ticks.”

In the following posts, we will definitely describe the capabilities of some of the most interesting designers, such as Card Designer, which allows you to simulate your card shapes and modify existing ones.

Principle number 3: Modularity.


The architecture of the Docsvision platform must be modular, so that the customer can purchase only those components that he needs.

At the moment, for the Docsvision platform we have developed the following, so-called, ready-made modules, from which the customer can choose what he needs and use this:

1. A set of ready-made applications

This, for example, applications such as "Contracts", "Meeting Management", "Document Management". These are all independent finished products that add relevant objects to the Docsvision platform - card forms (for example, the Contract card), directories (for example, the Currencies directory), roles (for example, Agreeing, Signatory). As mentioned above, we make all our applications using the design tools of the Docsvision platform, which means that in the design solution these applications can be adapted to the requirements of the customer.

2. A set of integration gateways.

At the moment we have developed gateways to mail (SMTP / POP3), to 1C: Enterprise, to SharePoint and to SAP B1. These are a kind of ready-made connectors, which, due to their configuration, allow Docsvision to integrate with external systems. The main functions of all gateways are monitoring objects in the external system, as well as reading and writing data.
image

3. A set of jobs users.

For the Docsvision platform, we have developed a number of jobs for different user groups. Here is a brief description of them:


Principle number 4: Performance.


The Docsvision platform should be fault-tolerant and productive under load for up to several tens of thousands of users.

To verify and confirm this, we deployed a special multi-server infrastructure designed for load testing the system, which we perform using software emulation of user actions in the Visual Studio Load Test environment.

image

But in more detail about this stand, and also about our technique of testing products, we will already tell in our next post.

Source: https://habr.com/ru/post/223897/


All Articles