Apache ESME (Enterprise Social Messaging Experiment (ESMEEnvironment) is a secure and highly scalable microsharing and micromessaging platform that allows people to discover and meet one another and get controlled access to other sources of information, all in a business process context. You can hardly turn a web page these days without seeing a story that describes how people are using social networks, whether it is Twitter, Facebook or some other service to develop and build their personal communities. In business, we increasingly see blogs and wikis demonstrating utility in problem solving and communications but the real time nature of business process problem solving largely remains untouched by social networking tools. Existing services, while attractive do not scale well and have proven unreliable. This is unacceptable to business which must be 'Always On' and able to support people in their daily working lives. Such applications must therefore be scalable and reliable but also provide a lot more. When solving problems, how good might it be if a user was able to tap into the collective knowledge of her peers or surrounding groupsof groups of people with whom she might naturally network in the workplace setting? How much quicker and with greater precision might she be able to solve daily problems? What if there was a communications mechanism that takes the best of what services like Twitter offers and co-mingled that with readily recognizable business processes? That solution is Apache ESME. The Apache ESME blog has more details about ESME as well as project news. OverviewThe ESME server is written in Scala and uses the Lift web framework to produce a browser-based user interface and also to expose a REST API. The ESME architecture has been devised to meet the business requirements associated with reliability and scalability. The use of the Scala programming language and the Lift web framework on the server provides rapid development capability as well as browser push functionality ("Comet") as standard. The open server side architecture allows other messaging environments - internal (Alerts, Enterprise Services, etc.) as well as public (Twitter, external web-services, etc.) - to be consumed as messaging sources. An event-driven actions framework within ESME allows users to filter their information flow as well as to forward ESME messages to other systems via HTTP or email. We have a created a blog entry that displays an overview of the system. Technical architectureESME is based on Scala and Lift and runs in most J2EE containers. Gliffy Diagram |
---|
|