Enterprise Social Messaging Experiment (ESME) 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.
The 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.
ESME is based on Scala and Lift and runs in most J2EE containers.
Scala
Scala 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.
Lift
Lift 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.
If 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
- 2008 SAP TechEd Demo Jam Participant: Las Vegas
- 2008 SAP TechEd Demo Jam Participant: Berlin
- 2008 SAP TechEd Demo Jam Participant: Bangalore
Present Features
- Adobe Air client
- Web client
- Extensive set of built-in actions
- Login via Open-ID
Planned Features
- Federation scenarios
- Groups
A few requested Features
- ERP notifictions
- Prioritization
- Show local time for users
You are a developer
- You can check out the ESME source
- You can contribute patches to the ESME Core
- You can develop your own clients using ESME's own REST API or our Twitter API; Here are the instructions to create your client.
- You can collaborate on the ESME mailing lists
You are a potential user
- You can check out existing ESME installations
- You can install ESME in your own environment;
- Those that use the internal ESME JSON interface
- Those that use ESME's REST API
- Those that use the Twitter API to access ESME