As part of my work at CGI, I participated in a project at Aimia (Aeroplan) to help create a service that evaluates the value of an Aeroplan reward versus the requested item (airplane flights).


  • Analyze business needs versus data that can be obtained and used.
  • Develop business rules based on available data.
  • Design and develop a part of the solution.


  • Application using Java and Spring Source.
  • Create jUnits tests for everything that is developed.
  • Create tools to help testing with jUnit:
    • Tool loading JSON data to compare the desired results.
    • Tool to validate the format of the REST requests and responses.
    • Tool to validate the contents of the database after a test.
  • Create the database DAO for DB2:
    • Create the domain objects classes.
    • Use JDBC Template with RowMappers to read data.
    • Use JDBC Template to write the data.
  • Create the business classes and the mappers between those classes and the DB domain classes.
    • Have the business rules to compute the useful data.
  • Access web services using RestTemplate to retrieve information such as the equivalent points of a reward and the price for trips.
  • Create XSLT to transform a JSON request to a SOAP message and the reverse for the response.
  • Create a web application to help testing manually:
    • View all the values in the tables for a specific entry in the database.
    • Delete all the values in the tables for a specific entry in the database to be able to retry inserting it.
    • Compare views and tables of the database.
    • Post a request in the queues (the entry point of the developed solution).
    • View the messages in the queues.
Technologies: , , , , , , ,