White Paper System Architecture v7.8
White Paper System Architecture v7.8
Disclaimer
The content of this guide is furnished for informational use only, is subject to change
without notice, and should not be construed as a commitment by DocuWare GmbH.
DocuWare GmbH assumes no responsibility or liability for any errors or inaccuracies that
may appear in the informational content contained in this guide.
DocuWare GmbH
Planegger Straße 1
82110 Germering
Germany
www.docuware.com
Contents
1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1 Objectives of this White Paper. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Document management and workflow automation with DocuWare. . . . . . . . . . . . . . 5
1.3 Fit for the future thanks to cutting-edge technology and integration capability. . . . 6
1.4 Three-tier architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5 System requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.6 Using client licenses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.7 Using server licenses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2. Client applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1 Web-based applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Windows-based applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Mobile clients. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3. Frontend Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1 Platform Service and Web Client. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 Settings Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3 Identity Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4. Backend services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.1 Authentication Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 Settings Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.3 Background Process Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.4 Workflow Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.5 Administrative applications and services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
7. Communication technologies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7.1 Protocols. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7.2 Client-server communication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3
7.3 Server-server communication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.4 Message bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
9. Additional components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.1 Intelligent Indexing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.2 Cloud service: Signature Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
10. Integration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
11. Setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
11.1 Server setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
11.2 Client setup and DocuWare Update. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
12. Scalability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
12.1 Scaling forms of the system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
12.2 Data management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
12.3 Load balancing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
12.4 Availability and data backup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4
Introduction
1 Introduction
5
Introduction
6
Introduction
The term server here refers to a software service, not to a piece of hardware. A DocuWare
system therefore invariably consists of several (software) servers, all of which can – as a
minimal solution – simultaneously run on one hardware system.
Web Client
DocuWare supports the latest versions of Firefox, Chrome and Edge Chromium browsers.
DocuWare servers
The servers of the DocuWare system are implemented on the basis of Microsoft's .NET
architecture. They can therefore be run on all platforms that support a common version of
Windows.
Infrastructure components
For databases, DocuWare supports the latest versions of Microsoft SQL Server, Oracle, and
MySQL.
Terminal Server
The Microsoft Terminal Server and Citrix Metaframe can be used as extensions of the
DocuWare system. However, the DocuWare Desktop Apps are not intended for use on a
terminal server by default. In order to be able to use the Desktop Apps remotely on a
terminal server, you have to make manual settings for each terminal server. You can find
more information here.
Use of the DocuWare Desktop Apps as remote apps is not supported.
7
Introduction
Windows
Web Connect
DocuWare Module Platform Explorer Mobile
Client* to Outlook
Client
Connect to Outlook X
Mobile X
PaperScan
X
(for access to DocuWare)
SDK X
Connect to DATEV X
* Per browser on one device. In terms of the license requirement, whether a tab within a
browser is classified as a separate browser varies depending on the browser.
The following applications do not require any client license:
• Desktop Apps (Printer, Import, Scan)
• DocuWare Administration
8
Introduction
• DocuWare Configuration (provided it is not opened via the Web Client, but directly,
e.g. via the right mouse menu belonging to the DocuWare Desktop Apps in the
Windows taskbar)
• Workflow Designer
• Web Client ReadOnly
• Additional function "Public form" (web forms in general, however, require client
licenses)
9
Client applications
2 Client applications
The DocuWare system comprises three types of client applications:
• Web-based applications
• Windows-based applications
• Applications for mobile end devices
The following sections provide information about components in these various areas.
Web Client
The Web Client is at the heart of DocuWare's client applications from a user's point of
view. It allows you to access the DocuWare system online without having to install a client
application.
The Web Client offers all the possibilities of modern document management and workflow
automation. You can store and search the documents in a file cabinet (among other
places) and display and edit them in the DocuWare viewer. You can also perform many of
the same actions as with paper storage, such as combining several documents into a
single file. Furthermore, you can handle all your document-based processes in automated
workflows, for example your invoice approval process.
The feature set of the Web Client has more functions – such as the workflow task list or the
Task Manager – depending on the modules, which can be licensed in addition to the
standard DocuWare features.
The Web Client is based on HTML5 technology. The component is integrated in the
Platform Service (page 16), which it uses to communicate with backend servers.
The Web Client uses the Desktop Service to communicate with the components of the
DocuWare Desktop Apps.
Configuration
DocuWare Configuration consolidates the configuration interfaces of the applications, also
called modules, within a DocuWare system. The applications are based on HTML5.
The DocuWare Configuration technically consists of two components: the user interface
with the application components and the Settings Service (page 17) for saving the
settings.
In each configuration module, you can
• create, edit and delete configurations
• assign permissions for the configurations to other users
10
Client applications
11
Client applications
The processes of the DocuWare Desktop Apps and other components that use these
processes
Desktop Apps are installed on the client PC directly from the Web Client.
Desktop Service: Desktop Service is required for operating DocuWare Desktop Apps. It
runs once on each computer connected to a DocuWare installation and establishes the
connection between DocuWare Desktop Apps and DocuWare servers. The service serves
as host for various local services and allows them to access interfaces.
The Desktop Service retrieves the processing configurations for importing, processing,
and storing documents in DocuWare from the Settings Service.
The Desktop Service transfers the documents to the Platform Service (page 16) for
storage in the file cabinet. The fulltext generated by the DocuWare Desktop Apps is also
stored at the storage location by the Desktop Server using the Platform Service.
The component is installed with the Client setup as part of the Desktop Apps.
Edit & Send: The Edit & Send application allows DocuWare Web Client to open and edit
documents in the user’s default application for the corresponding file type and to transfer
documents to the standard email client.
The application runs in the background without any user interface.
Export: With DocuWare Export, you export index data of documents for data exchange
with third party applications. This is especially useful to integrate DocuWare with ERP and
accounting systems. For example, export invoice index data to import them into your
accounting system. Any accounting and ERP system capable of accepting a flat CSV file as
input can utilize the data export.
DocuWare Export is configured in DocuWare Configuration under Export Data.
Exports are started using the DocuWare Export app, which is a standalone Desktop App.
12
Client applications
Import: DocuWare Import monitors selected directories in the file system or network and
moves the files stored there automatically to DocuWare document trays or file cabinets.
Processing documents when importing, for example indexing, can be controlled using
document processing configurations, which are determined in the DocuWare
Configuration under Document processing.
Printer: DocuWare Printer allows you to archive documents in DocuWare using the print
function of your third-party applications. The documents can also be printed out on paper
on a printer. Processing documents when printing, for example indexing, can also be
controlled using configurations, which are determined in the DocuWare Configuration
under Document Processing.
The component technically consists of a virtual print driver that generates PDFs. DocuWare
Printer only appears in the printer list of third-party applications and is not a visual
component by DocuWare Desktop Apps.
Scan: With DocuWare Scan, the user can scan paper documents, import the document
scans in DocuWare, and store them in the PDF/A long-term archiving format in his or her
default document tray or in a DocuWare file cabinet. Any scanner installed on the user's
PC (which has TWAIN and WIA drivers) can be used for this.
The user defines the settings for Scan directly in the client application. In order to be able
to store the documents in a DocuWare file cabinet, the user must also be assigned a
suitable processing configuration, which is created in the DocuWare Configuration under
Document Processing.
Smart Connect: You can use DocuWare Smart Connect to connect any Windows
application you like with the DocuWare file cabinet without any programming. It helps the
user search for documents in DocuWare and index documents from third-party
applications. To do this, Smart Connect reads content from the user interface of any
application of your choice, and transfers this to DocuWare as a search or index entry.
When applying Smart Connect, a configuration created in DocuWare Configuration is
always executed.
Connect to Outlook: With Connect to Outlook, you archive your emails directly in
DocuWare from Microsoft Outlook and use quick search to access stored emails.
Configurations for Connect to Outlook are defined in the DocuWare Configuration.
The component accesses the DocuWare servers using the Platform Service.
Both the 32 and 64-bit versions of Microsoft Outlook as well as Office 365 are supported.
Windows Explorer Client: The Windows Explorer Client integrates DocuWare file cabinets
into the Windows file directory and shows the file cabinets in the folder file structure that
users are accustomed to. The Windows Explorer Client is implemented as a Windows
Explorer name range enhancement and loaded with this process.
The component draws the connection information for the DocuWare system from
DocuWare Desktop Apps. It receives the settings via the Settings Service. Windows
Explorer Client accesses the DocuWare servers using the Platform Service.
Administrative applications (Windows)
13
Client applications
14
Client applications
The component draws the connection information for the DocuWare system from
DocuWare Desktop Apps.
User Synchronization: With this component, you automatically synchronize users and
groups with your DocuWare system from Microsoft Active Directory via LDAP (Lightweiht
Directory Access Protocol) or from Microsoft Graph.
The user synchronization does not obtain the connection information to the DocuWare
system from the Desktop Apps, but these must be explicitly specified and stored. This
ensures that the user synchronization is performed without the Desktop Apps and
unattended.
URL Creator: The DocuWare URL Creator is a wizard for creating URL integration. The tool
automatically compiles the URL and adopts the Base64 coding required for certain
parameters and the encryption.
Index Cleaner: Index Cleaner is a wizard for cleaning file cabinet index entries for which
various spellings have accumulated.
The component draws the connection information for the DocuWare system from
DocuWare Desktop Apps.
DocuWare
You can also access all documents, participate in workflows and store documents, images
and files on your smartphone, even from other apps. The free app is connected to your
DocuWare system via QR code.
The app requires an active connection to your DocuWare system. Files are stored locally
on the mobile device.
DocuWare Mobile connects directly to the platform service.
PaperScan
With the PaperScan app, you can scan documents with the highest quality and upload
them to Dropbox, Google Drive or DocuWare, allowing other users to access them when
needed. The scans are only stored locally. Only when the user stores them in one of the
cloud services mentioned above, the data is transferred to an external server.
PaperScan connects directly to DocuWare's Platform Service.
15
Frontend Services
3 Frontend Services
The DocuWare Frontend Services are based largely on the Internet Information Services
(IIS), a service platform by Microsoft. This allows the services to be easily operated with
TLS/SSL encryption by adjusting the IIS configuration.
The following sections provide information about the components associated with the
DocuWare Web Servers:
• Platform Service and Web Client
• Settings Service
• Identity Service
Load balancing is possible for all three services.
Information on installing and managing the Web Servers can be found in the Server Setup
(page 48) section.
16
Frontend Services
The Platform Service supports a diverse array of procedures which speed up HTTP-based
web applications. HTTP caching methods bring a significant increase in speed across
many scenarios. The platform also supports transparent compression and works behind
proxies.
For more information, see the DocuWare Developer Documentation.
Web Client
Web Client, which provides DocuWare's graphic user interface for working with
documents (see also the section Web Client in the chapter "Client Applications"), is
integrated in the Platform Service.
The Web Client can be accessed under the address https://<Server name>/DocuWare/
Platform/WebClient and uses the same services provided by the Platform Service.
17
Frontend Services
within DocuWare, you can also indirectly force users to use MFA, as long as MFA is set up
at the identity provider (e.g. Azure AD or ADFS).
The Identity Service accesses the database directly and communicates with Platform
Service, Settings Service and Authentication Server.
If you use the internal mySQL database of DocuWare, a version 2 or higher is needed. If
you use an individual MySQL installation it must be updated to MySQL version 5.6 or
higher.
18
Backend services
4 Backend services
Backend services are the servers in a DocuWare on-premises system that are managed via
DocuWare Administration. They are used to run all background processes and access
document storage locations as well as databases.
You will find information on backend services in the following:
• Authentication Server
• Background Process Service
• Workflow Server
Information on installing and managing the backend services can be found in the Server
Setup (page 48) section.
19
Backend services
DocuWare uses a role concept for permissions. A role for user groups or individual users
on one side connects to permissions profiles or individual permissions on the other.
Individual users can be assigned individual permissions independently from this process.
Settings Service is therefore used by:
• One or more organizations each with
• At least one or more users
Additional information on the permissions concept
Autoindex
The Background Process Service checks the saved user ID against the Authentication
Server, calls up data from configured sources, and communicates with the Platform Service
for indexing. It also automatically starts Autoindex at a defined file cabinet event, for
example the storage of a new document.
Control of workflows
The Background Process Service stores and manages workflow configurations and
workflow instances from the Workflow Manager module.
One new workflow instance is generated per edited document. These workflow instances
are controlled by entries in the DWSYSTEM.DWTasksWFE table. The workflow
configurations and workflow instances are stored by the Background Process Service in the
DWWORKFLOWENGINE database and called up from there.
20
Backend services
All settings that affect permissions and other sensitive data are called up by the
Background Process Service from the Authentication Server.
Fulltext structure
The Background Process Service is responsible for extracting fulltext in the event that this
data is not included by the client during the storage process. This is the case for several
DocuWare Desktop Apps. The Background Process Server stores the fulltext in the
DWDATA database and forwards it to the Fulltext server at the same time.
Deletion Policy
The Background Process Service manages the rules for deleting documents. These rules
are defined through filters.
Document Export
The Background Process Service exports file cabinets or partial file cabinets by creating a
copy of a file cabinet or individual documents. A DocuWare file cabinet export includes
both the documents and the database entries.
The target of the export are file cabinets within the DocuWare system. You can export into
new or existing file cabinets within the DocuWare system.
Email Notifications
The Business Process Service manages email notifications for the Workflow Manager and
the Task Manager modules. If a trigger setting is set for a processed document, the
DocuWare servers generate an event. There are two possible trigger settings:
• A document is stored.
• A document's index data changes.
• A time trigger was set.
The DocuWare server generate an entry in the database table (DWSYSTEM.DWTASKS).
The process reads the task from there and processes it.
Depending on which database subscriptions have been set up, the process multiplies the
events for email notifications and sends the notification using its SMTP connection.
General Email
For storage, the Background Process Service sends the documents to the Platform Service.
Intelligent Indexing
If there are conditions saved for the hosted Intelligent Indexing Service, the Background
Process Service starts the document indexing order, creates structure data, and sends it to
the Intelligent Indexing Service.
After indexing, the Intelligent Indexing Service returns the meta data, which the
Background Process Service stores in the data store after the suggested index data has
been corrected by the user.
Finally, the Background Process Service sends the corrected data to the Intelligent
Indexing Service, which takes it into account for future queries.
21
Backend services
User synchronization
DocuWare permits the synchronization of its users and groups, both with Windows
directories and through LDAP. Configurations for the synchronization with external user
directories are specified on the system level and can be made available to the individual
organizations.
The configurations set up on the system level are used to set up the workflows. The
scheduling for the Synchronization workflow is also set on this level. The organization
administrator also assigns DocuWare groups and users of his organization to external
groups and users as the basis for the synchronization.
The component is managed in DocuWare Administration.
22
Backend services
• Migration of documents
With the Document Tool you can migrate documents within a file cabinet to another
disk with another disk number. As a rule, a migration is started in order to reduce the
disk sizes within a file cabinet or to combine disks. For example, a file cabinet can be
saved to disks in the same size as a CD/DVD in order to prepare the transfer to
external media.
• Index restores
With the Document Tool, you can restore the index entries of a DocuWare file cabinet
in the database from the stored documents. The database structure must be available
in order to restore the database information using the saved document.
23
Databases, storage locations, and fulltext index
5.1 Databases
For its operation, DocuWare requires several relational databases. These databases are
used for storing the structured index data of the documents, for searching them and for
the full-text index. In addition, DocuWare stores all essential system information (such as
Authentication Server data) in a database or saves workflow information there.
24
Databases, storage locations, and fulltext index
25
Databases, storage locations, and fulltext index
Counterpart in
Name Mandatory Usage DocuWare Versions up
to 6.12
<FCName>_
Per table field Table-field table
<TableFieldName>[nn]
26
Databases, storage locations, and fulltext index
Name Usage
27
Databases, storage locations, and fulltext index
DocuWare also supports special storage systems. DocuWare delivers software that can be
used to incorporate storage systems as DocuWare file deposits in the same way as in a file
cabinet, as is possible with Windows file deposits. You can set specific options to
determine whether files will be written directly to the target medium, which in the case of
WORM for example will ensure maximum security, or whether to go via the intermediary of
the virtual disk.
NetApp storage
The NetApp storage solutions are based on NetApp's own operating system and can be
integrated in various storage area networks similarly to hard disks (NAS, SAN, iSCSI). They
are especially intended to manage large volumes of data and for the long-term archiving
of WORM documents. NetApp Storage can be used with DocuWare for storing
28
Databases, storage locations, and fulltext index
documents. Files in NetApp storages cannot be edited and are assigned the "Read Only"
attribute. Even if disks on NetApp storage solutions can be set to different types in the
DocuWare Administration, we recommended to select the type "WORM" because it is best
suited for the NetApp behavior.
29
Architecture of the file cabinets
30
Architecture of the file cabinets
The structure of a document that contains two files: one with three and one with two pages
Example 1:
A 3-page paper document that was scanned into DocuWare consists of a 3-page PDF/A
file.
Example 2 (see graphic above):
For a document, a 3-page PDF/A file generated by DocuWare and a 2-page Word file are
clipped together in the document tray.
Example 3:
For one document, a PDF/A file generated by DocuWare, a 3-page Word file and a 2-page
PDF file are clipped together in the tray. The document then consists of three files:
1. File of the document: PDF/A file with page 1
2. File of the document: Word file with pages 1, 2, and 3
3. File of the document: PDF file with pages 1 and 2
Annotations can be made on every page of a file within a document, on multiple
annotation levels if required. Annotations are stored with their characteristics and
additional attributes and reproduced for the duration by the DocuWare Viewer.
Each document in DocuWare can have a maximum of 999 document files.
Documents scanned and printed with DocuWare applications are stored in the DocuWare
file cabinets as PDF/A files. All other documents that are read into DocuWare, such as PDF
and MS Office files, are stored in their original formats.
31
Architecture of the file cabinets
Each document file has a unique name (GUID). When a document file is updated, the file
in the memory is not overwritten. Instead, a new unique name (GUID) is generated. After
the new file is created, the old one is deleted.
32
Architecture of the file cabinets
With DocuWare version 7, the file structure of the documents has changed. If you were
already using DocuWare version 6.12 or earlier and are now working with version 7 or
higher, your documents are stored in different structures.
• Since DocuWare version 7: The metadata is automatically stored in the file cabinet
database. Copies of this data can optionally be saved in a ZIP-based file format
(extension .DWX) in the file cabinet storage location. (However, if the option is not
used, this may result in a performance gain). The DWX files are updated
asynchronously and not as part of the document change.
• Up to DocuWare version 6.12: The metadata was always automatically stored in a
header file per document in the file cabinet storage location.
Documents stored with a DocuWare version 6.x or earlier are only transferred to the
new storage structure if they are edited or their index entries are changed. The
storage structure of documents stored with a DocuWare version 6.x or earlier is
therefore not changed and their header files continue to be used.
If such a document is changed in DocuWare version 7 or higher (e.g. if an annotation
is added in the viewer), the metadata of the document is copied to the database and
the header file is deleted. If the option to save DWX files is activated, a DWX file is
saved. The new file naming convention (GUID) is used.
33
Architecture of the file cabinets
34
Architecture of the file cabinets
Each of these document directories contains all pages (files) of a document, and the
header file in XML format. The document directories are given the name of the DocID (a
10-digit document number which is unique within the file cabinet), which is also sequential
(from 0000000001 to (2 high 31)-1 = 2,147,483,647 ˜ 2.15b). With the DocID, each
document receives a unique sequential number which increases automatically by 1 for
each new document.
The header file is always called <Document number>.XML and has no size restriction.
The document files are always called F (File), followed by a sequential number starting
with 0, and the file extension (e.g. docx, xlsx, pdf), so for example F0.doc. A document that
consists of several parts would therefore be represented like this:
\00000001\ 0000000001.XML
\ F0.docx
\ F1.xlsx
\ F2.pdf
\ F3.pdf
You can create up to 999,999 DocuWare disks, though not within one directory, since
Windows limits the number of sub-directories within each directory.
The example below shows the file structure within a DocuWare file cabinet. Here it is
assumed that all documents are stored on a single DocuWare disk.
Example file structure of a DocuWare file cabinet on the file system level
D:\File_cabinets\Document.000001\
D:\File_cabinets\Document.000001\000\
D:\File_cabinets\Document.000001\000\000\
D:\File_cabinets\Document.000001\000\000\000\
D:\File_cabinets\Document.000001\000\000\000\0000000001\ (first document in file
cabinet)
D:\File_cabinets\Document.000001\000\000\000\0000000001\0000000001.XML
D:\File_cabinets\Document.000001\000\000\000\0000000001\F0.doc
D:\File_cabinets\Document.000001\000\000\000\0000000001\F1.xls
D:\File_cabinets\Document.000001\000\000\000\0000000001\F2.pdf
...
D:\File_cabinets\Document.000001\000\000\000\0000000002\ (second document in file
cabinet)
D:\File_cabinets\Document.000001\000\000\000\0000000002\0000000002.XML
D:\File_cabinets\Document.000001\000\000\000\0000000002\F0.xls
...
...
D:\File_cabinets\Document.000001\000\000\000\0000000256\ (last document in
000\000\000)
D:\File_cabinets\Document.000001\000\000\000\0000000256\0000000256.XML
D:\File_cabinets\Document.000001\000\000\000\0000000256\F0.pdf
...
D:\File_cabinets\Document.000001\000\000\001\
D:\File_cabinets\Document.000001\000\000\001\0000000257\ (first document in
000\000\001)
D:\File_cabinets\Document.000001\000\000\001\0000000257\0000000257.XML
35
Architecture of the file cabinets
D:\File_cabinets\Document.000001\000\000\001\0000000257\F0.doc
...
...
D:\File_cabinets\Document.000001\000\000\001\0000000511\ (last document in
000\000\001)
...
...
D:\File_cabinets\Document.000001\000\000\002\
D:\File_cabinets\Document.000001\000\000\002\0000000512\ (first document in
000\000\002)
...
...
D:\File_cabinets\Document.000001\000\000\255\
D:\File_cabinets\Document.000001\000\000\255\0000065535\ (last document in
000\000\255)
...
D:\File_cabinets\Document.000001\000\001\000\
D:\File_cabinets\Document.000001\000\001\000\0000065536\ (first document in
000\001\000)
...
...
D:\File_cabinets\Document.000001\000\255\255\
D:\File_cabinets\Document.000001\000\255\255\0016777215\ (last document in
000\255\255)
...
...
D:\File_cabinets\Document.000001\001\000\000\
D:\File_cabinets\Document.000001\001\000\000\0016777216\ (first document in
001\000\000)
...
...
D:\File_cabinets\Document.000001\127\255\255\
D:\File_cabinets\Document.000001\127\255\255\2147483647\ (last document in file
cabinet)
Header File
Every document stored with a DocuWare Version up to 6.12 and not modified after
storage has a header file in XML format. The header contains the meta and index data
assigned for the document, as well as annotations, stamps, signatures, etc.
For each file that is part of a DocuWare document the header file contains a separate
section.
Within the header file, the elements "Document description," "meta data," and "page
information" can be fundamentally distinguished:
36
Architecture of the file cabinets
• Document description:
Information relating to the whole document, such as signatures and encryption
• Meta data (Document meta data)
- All described data required by DocuWare for management from the system's point
of view (system properties), e.g. the Document ID. This data is identical to the index
data which the database maintains for every file.
- All described data on the document required from the user's point of view: index
data, field properties
- Store Properties contains information about the history and the logical file cabinet of
the file.
- Application Properties are information that is required for integration with other
applications, for example with SAP.
• Page descriptions:
Page-specific information, such as written or spoken annotations, levels, stamps, etc.
37
Architecture of the file cabinets
38
Architecture of the file cabinets
The comparison between the file cabinets simply takes place in a text field column and so
it also only takes a short amount of time. The synchronization process is executed through
Cloud-compatible HTTPS by the Background Process Service.
39
Communication technologies
7 Communication technologies
The DocuWare System components communicate with each other according to the latest
standards. The following sections tell you about the protocols used and which individual
components exchange information about which standards.
7.1 Protocols
DocuWare uses the following TCP-based protocols for communication among the
individual software components.
• HTTPS (transmission of HTML or binary data)
HTTP is unencrypted by default. To communicate securely over the internet, you must
encrypt it with TLS/SSL (HTTPS). To do so, a certificate on the server with the IIS
(Internet Information Services) is required.
• HTTPS with REST (Representational State Transfer)
In particular, the DocuWare Platform Service is fully REST-based.
• HTTPS with SOAP (Simple Object Access Protocol)
SOAP is for sharing messages based on the XML Information Set. In the DocuWare
System, SOAP is used by various Frontend Services for communication with client
applications.
Communication between the layers of client applications, Frontend Services, and Backend
Services
40
Communication technologies
41
Communication technologies
42
Communication technologies
The Message Bus is used for communication between the Frontend Services and a part of
the Backend Services.
The DocuWare setup installs the Windows functions "Microsoft Message Queue" and
"Multicast support". Multicast is not supported by all virtualized networks but it is required
for DocuWare Multi-server installations because messages need to be exchanged
between servers. Multicast support is not required for installations on a single server.
If DocuWare is to be installed on Microsoft Azure, DocuWare will be happy to assist you
with the setup. For more information, see the DocuWare Knowledge Base or contact the
DocuWare Support.
43
Security and external access
Required ports
If you set up external access to your DocuWare system, only the ports of the Web Client
(by default port 80 or 443) need to be approved in the firewall of your DocuWare system.
More information about ports can also be found in the "Server-Server Communication"
matrix (page 42) in the "Communication Technologies" chapter.
HTTPS (TLS/SSL)
The DocuWare Web Client and the DocuWare Desktop Apps support all current HTTPS. To
configure the DocuWare Web components for HTTPS (TLS/SSL), you must carry out the
following steps in IIS manager:
• Import the certificate or certificates ("server certificate", "Import" action)
• Adapt the website link and make it accessible via TLS
• Remove the HTTP link for security reasons
If you use a self-signed certificate, you must also ensure that your certification center is
defined as a trusted certification center on all clients. To do so, import the certificate into
the certificate store of all computer and user accounts in your domain, for example using a
Group Policy Object (GPO) from Microsoft.
Split DNS
To be able to use the Identity Service of DocuWare, you must have set up Split DNS. This is
the only way to resolve the host name to an IP address in the internal network and another
IP address in the external network and to avoid certificate error messages.
44
Security and external access
45
Additional components
9 Additional components
46
Integration
10 Integration
The individual integration options make various functions available for archiving,
searching, synchronization, and importing. There are generally three integration options
for DocuWare on-premises:
• Generic or universal integration: This group includes integration options for multiple
programs or device types, for example DocuWare Printer (virtual printer driver), Smart
Connect or Autoindex.
• Connectors connect a specific software or specific device to DocuWare and enhance
these external components with numerous document management functions. These
connectors only work in combination with this one external component. Example are
Connect to Outlook, Connect to Teams or Connect to SAP.
• Programming can be used to integrate individual DocuWare resources and create
individual programs that provide extended DocuWare functionality in any third-party
applications, via URL integration or Platform/Platform .NET API.
The DocuWare "Integration" White Paper provides detailed information about all options
for the web integration of applications in DocuWare.
47
Setup
11 Setup
The setup of the individual DocuWare components is split into Server Setup and Client
Setup. In addition to the Client Setup, DocuWare Update is available to update client
applications.
48
Setup
DocuWare Update
DocuWare Update automatically checks whether updates or hotfixes are available for the
applications installed on a client and reports the result to the user. If required, the client
setup opens so the user can install updated versions. In the update, the version numbers
are compared with the locally installed version numbers.
49
Scalability
12 Scalability
The DocuWare system is highly scalable and can be tailored to meet a wide range of
requirements. For smaller application scenarios, DocuWare can be installed as a
standalone system with all servers, databases and storage locations on a single computer.
In contrast, for very complex application scenarios, the entire system can be duplicated
except for certain areas.
The following factors play a role in determining which form the DocuWare system should
be scaled in:
• Number of simultaneously active users
• Availability requirements
• Number of business processes covered by DocuWare and of document types
• Number of "living documents", i.e. documents that are simultaneously used in
workflows
The extent to which the DocuWare system scaling and load balancing measures described
in this chapter can be realized depends on the server edition bought.
XS S M L XL
50
Scalability
DocuWare systems on two servers: Databases, fulltext functionality, and storage locations
are outsourced
51
Scalability
A load balancer is connected upstream of the complete DocuWare system. This can be
installed on separate machines or on the front-end machines Server 1 and Server 2. The
balancing can take place on Layer 7 (e.g. through Application Request Routing, ARR) or on
Layer 4 (e.g. through Network Load Balancing Services, NLBS).
To ensure that Servers 1-3 work independently of each other and can also be restarted, all
Authentication Servers work in "Local Mode." There is no further machine-to-machine
communication.
To enable Local Mode, in the configuration file of each Authentication Server, add the
value true to the element AuthenticationServerSettings as follows:
<DWConfig>
<AuthenticationServerSettings LocalServersOnly="true" />
</DWConfig>
Server 1 and Server 2 handle both user requests and background tasks. Therefore, the
processing of user requests may be delayed if there are many background tasks (e.g.
many incoming documents, rebuilding the full text).
For this scaling form you need either an ENTERPRISE server license or two PROFESSIONAL
server licenses.
52
Scalability
To ensure that Servers 1-5 work independently of each other and can also be restarted, all
Authentication Servers work in "Local Mode." There is no further inter-machine
communication.
To enable Local Mode, in the configuration file of each Authentication Server, add the
value "true" to the element AuthenticationServerSettings as follows:
<DWConfig>
<AuthenticationServerSettings LocalServersOnly="true" />
</DWConfig>
For this scaling form you need either an ENTERPRISE server license or two PROFESSIONAL
server licenses.
53
Scalability
To enable Local Mode, in the configuration file of each Authentication Server, add the
value true to the element AuthenticationServerSettings as follows:
<DWConfig>
<AuthenticationServerSettings LocalServersOnly="true" />
</DWConfig>
For this scaling form you need either two ENTERPRISE server licenses or four
PROFESSIONAL server licenses.
54
Scalability
Scenario 1
Many DocuWare users are accessing the system at the same time, e.g. conducting
searches or processing tasks.
In this case, you need a scaling form with more frontend services and you should increase
the number of machines.
Scenario 2
Many predefined or some very extensive workflows run simultaneously, or many
documents that need to go through the fulltext are being filed at the same time. This may
apply to a system migration, for example.
In this case, you need more backend services and the workflow server should be installed
multiple times. The workflows must be explicitly assigned to different Workflow Servers in
order to distribute the load. (These are workflows specified in DocuWare Administration,
not workflows from the Workflow Manager module.) See also the notes on fail-safety (page
55).
Availability
Since a document management system is usually embedded in a heterogeneous IT
infrastructure, a failure can nevertheless occur for reasons that initially have nothing to do
with the DMS - for example due to a hardware crash or an infection of client computers in
the company with malware.
DocuWare can prevent both of these problems through its scalability: servers and other
components can be installed multiple times, so that redundant components can
seamlessly take over the functions that have failed in the event of a hardware crash (see
previous chapter).
55
Scalability
The tasks of the Workflow Server are an exception: user synchronization, backup, and
restore as well as synchronization of file cabinets (synchronization version 2).
Several Workflow Servers can be installed, but the workflows are assigned to fixed
individual Workflow Servers. If a Workflow Server fails, the workflows must be manually
configured for another server.
Geographically dispersed systems: A geographically dispersed solution requires a lot of
effort to implement and is therefore only recommended with the close support and
guidance of DocuWare Professional Services.
Data backup
Backup runs should be established for the data and documents in the DocuWare system
so that the data can be restored immediately in the event of a hardware crash.
The backup of DocuWare databases and storage locations is the responsibility of the
corporate IT department. There is no DocuWare mechanism that automatically backs up
databases and storage locations.
The following DocuWare components must be backed up externally so that they are
available again in the event of a hardware crash:
Databases
• DWSYSTEM: data relevant to the system and organization
• DWDATA: internal information for searching and finding documents
• DWNOTIFICATION: email notifications
Contents of the storage locations
A storage location is a file directory in the network or in a CAS system (Content Addressed
Storage), in which documents and files from file cabinets and document trays, among
others, are stored.
Fulltext text shots
The fulltext server stores the text shots in catalog files and uses them for the search
queries. By default, they are stored on the computer on which the fulltext server is also
installed. These catalog files can also be backed up as part of a backup and can be easily
restored.
Metadata
All metadata of documents such as index data, annotations, stamps and signatures are
automatically stored in the database and can be restored via an external database backup
after hardware damage.
In addition, it is possible to save the metadata in the ZIP-based DWX format (page 30) in
the file cabinet's storage location. With the console application Restore Index Data, these
redundantly stored metadata can be restored.
56