In principle any version of Windows + Internet Information Server (IIS) will do. We've got the software to run on IIS Express edition for demonstration purposes. We offer the following formal guidelines:
Component | Minimum | Suggested |
---|---|---|
Operating System | Windows 2016 Server | Windows 2022 Server |
Web Server | IIS 7.5 | IIS 10.0 |
.Net Framework | 4.7.2 | 4.7.2 |
RDBMS | Microsoft SQL Server 2014 | Microsoft SQL Server 2019 |
The application requires the Full-Text Search feature to be installed and available.
SQL Server Express can be used but poses two limitations which have to be taken into account:
Component | Minimum | Suggested |
---|---|---|
CPU cores | 4 | 16 |
RAM | 8GB | 16GB |
Disk | 250GB HDD | 500GB SSD |
Cache disk | 100GB HDD | 1TB HDD |
Network interface | 100MBps | 1Gigabit |
SQL Server can also be installed in a separate machine. The requirements for the computer hosting only SQL Server are the following:
Component | Minimum | Suggested |
---|---|---|
CPU cores | 4 | 8 |
RAM | 8GB | 16GB |
Disk | 250GB HDD | 500GB SSD |
Network interface | 100MBps | 1Gigabit |
PMA.core does not offer any intrusion detection system. When installing the system on premises, it is highly recommended to review the security policies of the host computer and the network it belongs to and configure it accordingly.
PMA.core relies on the host computer's date and time for all operations that involve the current time, such as logging events. Hence, in order for the system to operate correctly and reliably, it is mandatory to configure the system's time correctly and have it periodically sync with a time server.
When installing PMA.core on AWS, it is highly recommended to use RDS to host SQL Server instead of installing it on the VM that PMA.core will be installed.
Component | Minimum | Suggested |
---|---|---|
PMA.core VM size | t3.large | t3.xlarge |
SQL Server RDS VM size | t3.medium | t3.large |
Cache disk | 100GB EBS | 1TB EBS |
Additionally, slides can be stored either on local disks attached to the VM or in S3 buckets.
When installing PMA.core on Azure, it is highly recommended to use the Azure SQL Server service to host SQL Server instead of installing it on the VM that PMA.core will be installed.
Component | Minimum | Suggested |
---|---|---|
PMA.core VM size | D2as v5 | D4as v5 |
Azure SQL Server RDS VM size | A2m v2 | A4 v2 |
Cache disk | 100GB standard HDD | 1TB standard HDD |
Additionally, slides can be stored either on local disks attached to the VM or in Azure Blob Storage. When possible, it is recommended to prefer Azure Data Lake Storage Gen2 over plain Azure Blob Storage, as this type of service performs directory management operations, such as moving and renaming slides and directories, a lot faster.
Regardless of the choice or combination of the storage media used, the system requires some space on a local or network disk where cache data will be stored and accessed. PMA.core allows you to define the cache retention policy and informs you about it's size. As a general rule of thumb, the cache capacity should be around 10% of the total size of the available whole slide images.
During development our software is continuously tested on the Microsoft Windows Operating System using the following browsers: Internet Explorer 10+ and the latest versions of Google chrome, Safari and Firefox.
The minimum requirements in terms of processor speed and memory (for end-users) are hard to determine. We are pretty sure that every computer younger than 5 years will be able to interface with the platform using a webbrowser without any problems. In case of doubt, we refer to the particular system requirements that apply to the specific version of flavor of webbrowser that is being used.
A hosted web application is consulted through a (usually) remote computer on the internal company network (or Internet). To allow the delivery of content to as many clients as possible, we have very relaxed requirements in terms of client hardware and software requirements. Key is that we don't require any additional webbrowser-plugins such as Flash, Silverlight, WebGL, or Java.Nor do we depend on or do we install any additional browser add-ons (BHO - Browser Helper Objects) ourselves. You will need a modern HTML5-capable webbrowser. This means that your browser must be configured to allow JavaScript and accept cookies. Besides that, we've tested our software extensively on a host of different web browser environments, and found it to operate under almost all, except Internet Explorer 10 or lower. For the best user experience, we recommend using Mozilla Firefox, Microsoft Edge or any Chromium based browser such as Google Chrome and Opera. On a Mac, you are welcome to use Safari, Firefox or, again, any Chromium based browser.When a browser is not supported, an error message follows. Because of content delivery through a web browser, interfacing with our software is not limited to Windows-only machines (though the web applications themselves run on Microsoft infrastructure). Our communication implementation is based on REST web services and the standard HTTP protocol, so you can truly use our software from anywhere, any time
Our software uses dialogs as a means to interact with the end-user. These dialogs are implemented based on “best practice” industry standards (including libraries such as React and jQuery). These dialogs are not pop-ups, and during testing, no interference with known pop-up blockers was ever observed. That being said, it is possible that at some point in the future these pop-up blockers pick up features in our site and label them as popups, subsequently rendering them ineffective. If this happens, you should let us know and we will help resolve the issue in collaboration with you popup blocking software vendor. The same reasoning applies to webbrowser plugins that block advertisements. These oftentimes already target the kind of technology that we use ourselves to interact through dialogs (such as iframes). There is a large variety of possible interpretations of such features (in a website), and while we haven't come across this yet, it is possible that at some point a certain feature of our site gets interpreted as commercial content. If this happens, you should let us know and we will help resolve the issue in collaboration with you advertisement blocking software vendor. If you experience problems on your installation, please let us know and we will find a solution to resolve your particular issues
The system's response time can be greatly improved by installing it on a solid state disk. The cache directory should also be kept on an SSD as well. Thus an optimal setup would be to install the operating system and the application on an SSD while storing digital slides in regular hard disks (or network shares). Do not underestimate the importance of the regular disks' performance, where slides are stored, though. Whenever possible use 6Gbit SATA III disks.
Multiple NICs may be installed onto the server machine to increase network bandwidth. The system can utilize multiple IP addresses or host names out of the box, thus special load balancing configurations are not required.
The system is built to process requests in parallel and its performance depends on the available cores per processor, the performance per core, as well the total number of processors in the system. In environments with more than 50 simultaneous users, two processors should at least be available in the system.
When possible, it is recommended to prefer Azure Data Lake Storage Gen2 over plain Azure Blob Storage, as this type of service performs directory management operations, such as moving and renaming slides and directories, a lot faster.