Internship at the Middleware Systems Research Group of the University of Toronto with BPM Scholarship.

Middleware Systems Research Group (MSRG), University of Toronto

Project time: May 2013 - October 2013


I was awarded with a BPM EduNet Scholarship funded by the European Commission and Canada. In the internship I worked on an iOS client of PADRES. For that a new serializer was needed that is compatible with Java and iOS. I decided to try Kryo and I also contributed to the Kryo iOS project.

PADRES (Publish/Subscribe Applied to Distributed Resource Scheduling) is an enterprise-grade event management infrastructure that is designed for large-scale event management applications. Ongoing research seeks to add and improve enterprise-grade qualities of the middleware.

Technologies used:

  • Java
  • Objective-C
  • Kryo Serialization
  • Subversion
  • CF Sockets

Example Tasks:

1. Supporting the Kryo serializer for PADRES in Java:

Before PADRES only supported Java RMI (Remote Method Invocation) and Java Serializable to transmit instances from clients and brokers. Kryo is optimized for speed and high compression.

2. Extending the Kryo iOS project:

This included solving some issues and adding all neeeded serializer to achieve compability between Java and iOS versions of PADRES.

3. Implementing the PADRES client as iOS Framework:

The framework allows developers to use the PADRES middleware in iOS apps to communicate with other systems running PADRES in Java.