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 |
---|
size | M |
---|
name | ESME Technical Architecture |
---|
page | ESME:Index |
---|
align | left |
---|
space | ESME |
---|
|
ScalaScala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages. It is also fully interoperable with Java. Learn more about Scala LiftLift is an expressive and elegant framework for writing web applications. Lift stresses the importance of security, maintainability, scalability and performance, while allowing for high levels of developer productivity. Lift open source software licensed under an Apache 2.0 license. HistoryIf you look at the origins of the ESME project, you will find that the origin was in a plurk (a micro-blogging site like Twitter) conversation that at some point moved to the SAP SDN wiki. The project then moved to Assembla and then Google Code The team involved was originally primarily made of individuals associated with the SAP community but has since expanded to include others from outside that community. The global team includes members from a variety of different nations ranging from India, Spain, Norway, Bulgaria, UK, etc. Highlights FeaturesPresent Features Planned Features A few requested Features - ERP notifictions
- Prioritization
- Show local time for users
- Rabbit Integration
Getting StartedYou are a developerYou are a potential userClientsThere are three types of ESME client. Those that use the internal ESME JSON interface Those that use ESME's REST API PL/SQLAdobe AirVBAABAPJavaAntJavascriptApache JamesZoho CreatorNetWeaverLogger via JavaThose that use the Twitter API to access ESME |