This project was done for an Austrian based company (Financial Leasing), that has its branches across eastern and south-eastern Europe (Slovenia, Croatia, Serbia, Montenegro, Macedonia, Bulgaria, Romania etc.). Company needed quick and relatively cheap document management solution which will cover DM needs of all branches in E-SE Europe. Main reason why this had to be centralized solution is that some branches where not big enough to finance implementation of their own DM solutions, or they didn't have enough human resources to do that.
Another reason was reduced IT costs of all branches. All branches are using the same leasing LOB/ERP system, but with separate installations localized for specific country.
Requirements for DM system where as follows:
- to be able to communicate in some way with ERP.
- has to store documents meta-data and document files in a secure and scalable manner.
- has to be as scalable as possible
- has to be implemented as web application (+ some windows services on server)
- searching for documents must be implemented via meta-data
- beside it's archiving features, it must implement document templating and creating features.
- it must allow integration with existing Ms Office solutions (Excel, PPT, Word).
- It must allow integration with other application systems that are used or will be used by branches.
- It must allow conversion of multiple documents into one PDF document.
- documents security and access permission had to be based on document type, for specific user, role, group, company, department and job function.
Implementation and technologies
- Existing technologies used by company branches: Ms Office 2010, Sql Server 2005, .NET Framework
- DM system was implemented as ASP.NET MVC web application with as much as possible rendering
- For application data storage it uses Ms Sql Server relational database
- For documents meta-data storage it uses MongoDb
- Document files are stored in MongoDb-s GridFS because of easier backup. It also reduces number of system IO operations thus prolonging HDD life.
- DM uses our existing organizational structure management solution for managing company,
- branches, departments, users, groups, roles, job functions data.
Integration with other systems is implemented via JSON web API. Integration with MsOffice is done via Office Add-in's.
A few windows services are implemented to. One service is for bulk import of documents, another is for bulk conversion of documents into PDF, and third is for import of e-mail messages and attachments into DMS. All company branches are using this system on daily bases since its implementation in 2010. Number of stored documents till 2015 was approx. 15 000 000 documents. The number of documents didn't affected the search speed thanks to MongoDb indexes. DM system is hosted on one server machine with one multicore Intel Xeon CPU and 32GB of RAM. MongoDB is hosted on another two server machines each having 32 GB of RAM. One server is used just for real-time replication of MongoDb data.