- multiple independent requests must be handled simultaneously in multiple threads within one process
- the Engine runs under a server operating system on a high-performance multi-CPU computer
- using special accounts (Network Service, Local Service, ASP.NET).
The detailed information about using Engine object into a server application is available in "Developer’s Help" → "Guided Tour" → "Advanced Techniques" → "Programming Aspects" → "Using in Server Applications" and in this article.
The sample of web-service implementation 'Data Capture Web Service' can be found in ABBYY FlexiCapture Engine distribution. It represents a model for a server application. The sample processes image files using the procedure described in the 'FlexiCapture Processors Pool' sample — a pool of initialized out-of-process FlexiCapture processors are used. You can also use ABBYY FlexiCapture Engine directly inside your server application (this procedure is included in the source code, but is not used in the application).
In FineReader Engine 11 and above, there is a sample “EnginesPool” which provides an implementation of processors pool in a multi-threaded application. Using Engine in multiple processes allows you to create a pool of objects that work simultaneously and use the full CPU power of the server computer. This is the optimal approach in most server scenarios. To fit your need you can start developing your own application by modifying this sample.