If you are mailing thousands of customers a month then the cost of postage matters. Royal Mail offers substantial discounts to companys that can sort their mail based on the Royal Mail Mail Sort algorithm.

One such OpenText StreamServe customer in 2010 had this request and Abacus Hill was asked to produce a black box application that would receive a list of addresses with a letter ID and sort and collate them and return the sorted list of IDs. This list was returned to OpenText StreamServe which could then output all the letters in the correct order.


The highlights include:

  • Pass your unordered address data as a CSV and receive ordered CSV based data.
  • Import new Royal Mail Mailsort data automatically.
  • Standalone application, can be run as a service or a one off instance.


  • Java based import engine: This reads in the data, queries the internal database for the route information and outputs the sorted data.
  • Spring 3.0: The Spring framework offers so much to a developer! We have used it to simplify development, allowing injection of our objects into the application using the Spring container and IOC, and lastly for transaction management.
  • Hibernate 3.3: Makes database access a dream, modelling the database in objects in a snap! Then access the database programmatically, it speeds up access and development of a database driven project. We use the criteria queries mainly, with a few HQL and native SQL statements thrown in the mix when things get complicated!
  • Apache Derby database: Used to store both the Royal Mail Mailsort data and as a temporary storage for the addresses from OpenText StreamServe. This is a great choice for a small database, requiring no installation and maintence for the customer.
  • Maven: Maven makes getting libraries and updates so easy, why shouldn’t we use it!


If you want more information about the jSort web application, please contact us.