Implemented service locator pattern

Service locator pattern for encapsulating services lookup over JNDI and provide a caching mechanism to reduce JNDI lookups and increase performance
This should point to the master repository, not the fork.