Our Technology
The locally installed Java client using Java Web Start provides a tremendous client architecture advantage for Practice Director. This approach enables the use of the robust local client without the traditional pitfalls.
Three-Tier Architecture
Practice Director is developed in a three-tier architecture model. It is accepted as a preferred architecture to enable flexibility and scalability in software deployments. This is further enhanced by the use of Java on the client and server tiers in Practice Director. The choice of Java for these tiers allows Practice Director to be deployed and installed on a wide array of platforms without additional development costs.
Client Tier
Practice Director utilizes a state-of-the-art, locally installed Java client with Java Web Start. It should be noted that Web-based hosted clients have grown in popularity. This was particularly driven by the deployment challenges of client code in traditional client server architectures in the mid to late 1990s. It was difficult to ensure that client computers were running the appropriate version of client code and that the client computer had the required run-time environment. Web-based clients provided relief to this challenge through the use of an internet browser that was pre-installed on the client computer and provided by a third party.
Web-based Challenges
Unfortunately web-based clients have come with their own challenges such as limited functionality and incompatibilities across the different internet browsers. These particular challenges still exist today. One solution to these challenges is writing generic logic for the client to overcome incompatibilities between internet browsers; however, this ultimately reduces the functional capabilities. Another solution is to program to a specific internet browser to increase functional capabilities. However, this in turn restricts what clients can access the application. A third solution is to leverage third-party tools that are installed on the client. These tools enhance the functional capabilities while providing support for multiple internet browsers.
Java Web Start
For these and other reasons, the Java Web Start technology was developed. Java Web Start allows us to leverage all of the benefits of Java, such as platform independence, while leveraging the internet to handle the deployment of the client code and the necessary Java run-time environment. Java Web Start is also browser independent, so the traditional incompatibility issues between internet browsers is not an issue. By addressing the deployment challenges of traditional client server clients, Java Web Start provides a robust solution for installed clients. Java Web Start provides a solution that enables the effective use of locally installed clients such as Practice Director.
Business Logic Tier
The business logic tier uses Enterprise Java (J2EE). Enterprise Java requires an application server run-time that implements the Enterprise Java specification. The application server is JBoss 4.2.3 combined with Hibernate. JBoss and Hibernate are proven solutions in this space. By specification, Enterprise Java provides a very robust run-time environment that provides multi-threading, transaction support and many other key features that an application like Practice Director requires.
Hibernate is such a respected solution in the Object Relational Mapping (ORM) space that a majority of its functionality was used to form the Java Persistence API (JPA) specification. The JPA is emerging as the new specification based ORM solution. However, Hibernate remains a good choice for ORM so a move away from it to the JPA is not something that will greatly enhance an application.
The Practice Director business logic tier is positioned well from a high-level architectural perspective. Other technologies can provide many of the same benefits; however, the platform independence that Enterprise Java offers allows a great deal of flexibility when installing at client sites on client hardware.
Data Tier
The current data tier uses PostgreSQL 8.2, a community based relational database management system (RDBMS). PostgreSQL uses ACID principles making it a extremely robust relation data store solution. It will easily handle the number of transactions that even the largest multi-office Practice Director installation would require.
