Source code lives for a long time. During this time demands change and new technologies appear. In order to keep up with the rigorous schedule of IT a sofware architecture has to bend without breaking. Our server components are therefore totally independent of our client products.
Our curaSmartClient for example uses the same open access REST and WebService APIs as any 3rd Party tool can use. The curaArchive is designed as a software fortress in an n-tier manner and accessed entirely through WebServices and/or HTTP REST.
The server and client designs are based on singular modules which act totally independently and can also be serviced independently. That way each independent module can be reworked, retooled and refreshed to keep current. Over time this keeps the entire architecture fresh and relevant even under changing conditions and requirements.
Currently for example some of our archiving components are incorporating new capabilities to sync with internet cloud storage services such as Amazon S3 and Microsoft Azure as well as our own. While not yet usable in the healthcare field, the underlying principles of off-site storage need to be addressed today.
Our servers are designed to be black-boxes for most customers, but they rely on Windows 2008 Server technology and the .NET 3.5SP1/.NET 4.0 framework. Our client software is based on .NET 3.5SP1 and requires Windows XP SP2 or higher.
We make best use of the underlying software layers such as Windows and the .NET components as much as we can to achieve great stability and reduce our internal testing requirements.
Our solution is database agnostic in principle(*) but we have had very positive results using Microsoft SQL Server as our baseline database for relational data. Even tough we use several levels of caching and non relational databases in a lot of cases.
(*) Tag-based search is currently only available on SQL Server due to specific features in SQL Server 2008.
Our client is a native WPF Windows application and distributed via a single MSI file. The client can be updated via Windows Group Policy, our own deployment services or any other Installer distribution technology available on site. The end-user does not have to do anything. Thus combining the flexible updates of web technology with the performance of local windows applications.
We develop our solutions in-house and all business specific source code used in creating our solutions are our own. We have our own server technology, dicom libraries, multimedia viewer modules etc..
External components that we license, such as JPEG 2000 libraries, are always integrated in source, which translates to adjust-ability in every customer scenario.