Blue Elephant Referee Scheduler

 

High-Level Architecture

 

Intro:

Model-View-Controller is an extremely popular buzz-word for web applications.  The problem is that if you ask ten different people what it means, you will get 10 different answers. Still, having some idea of the advatages and importance of this pattern is recommended.  

 

Motivation:

:

 

Usage:

The transactional context pattern is based on the following observation:  transactional API’s generally provide support for ‘database level’ transactions. That is, each time you go to the database, your actions can be treated atomically.  However, what you usually want is Use Case Level  transactions, which are higher level, so that all of the actions that comprise a use case scenario succeed or fail atomically.  Our implementation is taken from chapter 10 of J2EE Design Patterns, and is pretty slick.  This chapter should be considered a must-read before diving into the model area of our application. 

Some key points, along with a running example, are shown below :

UserManagementDelegate del = BusinessDelegateFactory.getUserManagementDelegate();

           
What is returned is actually a proxy, but this is mostly transparent to the client.

 

del.resetPassword(user, newPassword);

 

 

Links:

The primary reference here is Chapter 10 of J2EE Design Patterns.  Chapter 9 is also quite useful as an explanation of the Business Delegate pattern.  This book is available online via Safari, which is free for OSU students.