Case Study     java    my SQL    win xp     mac

Java Swings Print cost calculation application

Q3 Technologies developed a desktop based application, which works both in Windows and Mac machine for a Germany based client to compute price and process printing within its printing department.


Q3's global sourcing model gives the maximum benefit to customers in terms of cost savings, improved quality, access to highly talented professionals, flexibility of operations and reduced time to market.

Company Profile


The client is a market leader in Europe for modern printing businesses.

Business Situation

 

The client needed a desktop application which works independently of the operating system to compute price and process printing within their intra department. Using this application the client wanted to store the history of the documents getting printed as well as place order for fresh documents.


Some of the main features of this application are:

 

  • Login page for admin, head of printing department, printing department and customer (end-user).
  • Admin, head of printing department and printing department users are created using DB scripts.
  • Registration page for end users.
  • Admin and head of printing department can place orders on behalf of any user.
  • Place order involves ten different stages and each user has certain role at each stage.
  • Orderer (person who places order) has to input details of the product, page format, page size, number of copies required and email address.
  • Either admin or head of printing department would verify the order and send an e-mail with order details having approved and reject options.
  • Orderer can either approve or reject the order.
  • As soon as orderer approves/rejects a backend thread updates the result in DB and the order is taken to net stage where the head of printing department and printing department does layout and labor cost and finally delivers the order
  • Admin and head of the printing department can close the orders of a particular month and move the entries into history. As well as they can re-open any month and process a delivered order again.
  • Order can also be placed for a manual product.
  • Admin takes the privilege of restoring and taking back-ups of database.

 

Challenges

 

  • Reading e-mails from the backend and updating the result in the database when the application is launched.
  • Creating an installable for Mac machine.
  • Installing MySQL and deploying the application on the client machine.


Solution

 

UI Design

Java is used for developing the entire application as the application has to be platform independent. Swing is used for implementing the UI as it is platform independent both in terms of expression (Java) and implementation (Look-and-Feel). By using swing components, the application’s look and feel reflected according to the underlying OS.

 

DB Design

MySQL DB is used for data storage. Primary data about the products available in-hand are stored under price details table. All orders are saved under order details table which contains some primary fields as Status, IsMonthComplete, ChangeOrder and IsManualEntry.

  • Status field gives the info about the stage completed by the order.
  • IsMonthComplete tracks the record of the orders closed by admin/head of printing department.
  • ChangeOrder is a flag to track orders which are changed after the tenth stage on customer request by admin/head of printing department.
  • IsManualOrder indicates order created using a new product which is not found under price details table.

 

Threads

On every launch of the application, a back end thread is used to read e-mails of admin users and track the orders which are approved and rejected. The subjects of the automated mail sent by the orderer on click of approve and reject contains the status of order along with the order number. This information is in turn used to update order details table with the proper status.

 

Installer creation

For Mac installer, Jar Bundler and PackageMaker applications are used. Jar Bundler bundles all the compiled src code along with libraries used into one single application. PackageMaker would finally provide a .dmg file which is then used to mount the application on any particular drive in your OS.



Tools/ Platforms and Services

 

  • Java 1.6
  • Swings
  • MySQL
  • OS used – Windows XP and Mac OS X 10.6+


Benefits

  • With java swings, the solution provided works independent of OS.
  • Ease of price computation for different products.
  • Enabled order processing between different users.
  • Reduced manual processing.

Customer Speaks

blockquote We specialize in web and mobile software design. For one project that involved 5 CMS technologies, Blackberry and iPhone applications, we were searching for a partner from Europe to India and were seeing solution companies. Last year at CeBIT 2009, we found Q3 Technologies under the Indian Pavilion and we went through a selection process by visiting them and other companies in India. We are now associated with Q3 for more than a year and in Q3 we have found the right partners with all the skills in order to architect, develop, test and finally develop a brand new solution.blockquote
Veniel Sabestian
Director, IBusiness Solutions