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