A Middleware Architecture for transactional, object-oriented applications