Java FX, Java EE, MySQL Case Study


Perth Building Inspection company Choice Building Inspections hired Anahata for the development and ongoing support of an end to end business system to manage the company’s processes.

Sotware Development Process

The system was developed using Agile software development principles where both Choice Staff members and Anahata’s engineers collaborated via screen mockups, wire frames, shared documents, on site meetings and video conferences.

The first version of the system was built in 2014 with about 30% of the functionality the system has at the time of writing this case study. Additional modules and functionality were built incrementally in the next two years.

 



The system has currently the following functionality:

  • Manage product / services offered.
  • Manage users and permissions
  • Dashboard for open and closed Quotes and Jobs
  • Create And email Quotes with editable templates and user editable upsell configurations.
  • Customer Quote acceptance via online web portal.
  • SMS notifications to customers.
  • Scheduling Jobs in Inspectors calendar (Ms Exchange integration) attaching the job sheet to the calendar invitation.
  • Entering details of an inspection and generating an inspection report in PDF, Ms Word or LibreOffice format with photos.
  • Quality control of inspection reports
  • Manage Operational Territories
  • Manage Customers
  • Manage Customer Relationships
  • System parameters and reference data configuration
  • Configure templates used by the system
  • Revenue reporting
  • Australia Post integration for locality and postcode lookup.
  • Australian Taxation Office integration for ABN validation.
  • Basic Auditing

Planned new features

  • Supporting additional services and products such as dilapidation surveys.
  • Accounting package integration

Architecture

The business system is composed of the following components:

  • A JavaFX 8 based desktop interface for staff members deployed via Java Web Start
  • A Web based customer portal
  • A Business Layer running on GlassFish v4.1.1, the Java enterprise Edition Application Server Reference Implementation
  • An SQL compliant database.

The client application is a desktop application compatible with Linux, Mac OS and Windows. With the aid of Java Web Start, application updates are automatically deployed to staff PCs. If the users are logged in at the time of an update, they will be prompted to update, otherwise the application will update automatically on startup.

Hosting

The server component is hosted on a data center in Perth relieving Choice Building inspections from having to manage their own server infrastructure and allowing for faster network speeds when the system is used outside of the office.

Technology

The system is built on cross platform technology and open industry standards such as Java, Java EE and JavaFX allowing both client and server components of the application to run on Linux, Windows and Mac Os.

Licensing

The system runs on free and open source editions of:

  • Oracle Java 8
  • Community Enterprise Linux (Cent OS)
  • Oracle GlassFish (Java EE 7 Application Server)
  • Oracle MySQL Community Edition
  • LibreOffice 5
  • A number of Anahata and 3rd party Open Source Java Libraries licensed under well known open source licenses such as the Apache Software License.

Commerical dependencies:

  • Docmosis. A java document generation library based on LibreOffice. The templates for Reports, Certificates or any other documents or emails generated by the system can be edited by Choice staff members using LibreOffice. While Docmosis is a commercial library, Choice can take advantage of Anahata’s lifetime Docmosis ISV license (valued at $4,900 AUD) and use 2 redundant instances of Docmosis at any point in time at no additional cost.