ESME Blog

enterprise microsharing in a process context
November 27, 2008

Useful OpenID Provider for internal installations

Author: dick - Categories: Design, Vision - Tags:

Currently, ESME just supports OpenID for authentication purposes (Note: we are currently working on other authentication modes). Many corporations, however, don’t yet have OpenID providers available internally. Although there are a variety of OpenId providers externally,  internal security restrictions may hamper easy access to these sites.

I was looking for an easy alternative on an OpenId provider that could be deployed within the firewall.  I found a list of potential candidates and decided to try out a few.  I wanted a very simple provider that was easy to install but still worked with ESME.

I finally found one that was ideal for these requirements: java-based WSO2 Identity Solution (WSO2 IS). I was able to download the software and install it within 20 minutes. It is exceeding easy to install and worked out of the box without having to make any changes.  I installed the solution on my laptop where my test installation of ESME is running.  I was able to register as a new user, receive a OpenID and use this OpenID within ESME in approx. 10 minutes.   

WS02 is also based on the Apache 2.0 license which makes it easy to use in enterprise settings.

If you are trying to get an installation of ESME up and running rapidly, this solution is perfect for you.

November 26, 2008

ESME Client for Oracle via Stored Procedure

Author: dick - Categories: Design, Integration - Tags: , ,

In an earlier blog I wrote about database integration for ESME. I’ve just created a prototype for sending messages to ESME via a stored procedure in Oracle. I’ve used PL/SQL to create the stored procedure and implemented the HTTP calls via the UTL_HTTP package.

The prototype is primitive and doesn’t use any input parameters but this would be relatively easy to implement. Just change the login token and you will ready to integrate this code into your own applications.

The code is available on the GoogleCode site.

November 25, 2008

Analysis of ESME UI Design from Bill Fernandez

Author: dick - Categories: Background, Design, Vision - Tags: ,


Bill Fernandez created a long analysis (over 72 pages!) of ESME and its UI design. 

From Wikipedia:

Bill Fernandez is a user interface architect who was Apple Computer’s first employee when they incorporated in 1977. He worked on both the Apple I and Apple II personal computers, and in the 1980s was a member of the Apple Macintosh development team.

The analysis is split into various chapters including:

  • The Rationale for ESME
  • Conceptual Model
  • User Interface Preliminaries

There are long descriptions of various UI components in the next generation user interface of ESME.

If you have comments concerning the new UI, please add them to the esme-dev Google Group.

November 19, 2008

Quick Thoughts on Database Integration

Author: dick - Categories: Design, Development, Integration - Tags: ,

Note: This blog doesn’t have any code but focuses on ideas. Later blogs will have code examples.

This morning, I started considering other possibilities to integrate ESME into the enterprise IT environment. Previously, I’ve looked at clients based on development languages (Java, etc.). This time, I would like to discuss a few ideas regarding integration of ESME into database applications.

The basic idea is to use trigger mechanisms to send messages when certain events occur.  For this scenario to work a database must support triggers and support HTTP-based communication. Initially, I looked at Microsoft Access (thought it might be “low-hanging fruit”) but unfortunately, it appears that it doesn’t support triggers.

I then looked at Oracle and found two examples of PL/SQL applications that send twitter messages and another example that reads the twitter message stream.  Both are linked to the OraTweet application and use the PL/SQL package UTL_HTTP to communicate via HTTP. Based on these examples, a simple ESME client for ORACLE  should be easy.

October 26, 2008

The Big Picture

Author: dick - Categories: Design - Tags:

The following diagram gives a big picture of the basic usage scenarios in  ESME. 

The ESME message cloud contains all messages that are created.

Note: This simplistic description is based in the assumption that there is just one ESME server instance. In reality, a federated environment may be present increasing the environment’s complexity as well its architectural possibilities to meet more sophisticated enterprise requirements 

The following users are present:

  • Bob: This user creates messages. Bob is following no one and has created no actions to filter messages based on tags
  • Sue: This user just receives messages. She is following Bob; therefore she receives all his messages
  • CRM System Zeus: This user sends messages into the ESME message cloud based on certain business events. The messages’ contents and tags are set according to the particular business event that originated them.
  • John: This user has created an action based on the tag “Acme”. John performs a certain activity (for example, sending him an email) when messages with the tag “Acme” are present in the cloud.  Although John does not know Bob and is not following him, John receives a message from Bob that is tagged with the word “Acme”.  Although John does not the CRM System Zeus and is not following it, John receives a message from this user that is tagged with the word “Acme”.  John also creates messages.
  • Bot Timesheet: This user watches the ESME message cloud for messages with the tag “Hours” and receives messages that are tagged in this way. This user receives a message from John, processes the message, converts into a more appropriate format and passes it on to a back-end system – in this case, a xRPM system.

Slide: Human- vs. Machine-based Interation

Author: dick - Categories: Design, Development, Vision - Tags: , ,

One of the interesting exercises when considering integration patterns for ESME is to distinguish between human and machine-based scenarios.

I wanted to share a picture that summarizes the interesting possibilities of both types.

October 10, 2008

Opportunities, Opportunities

Author: dick - Categories: Design, Development, Marketing, Vision - Tags: , , ,

Often when a new micro-blogging tool for the enterprise, the focus is just on the benefits for the end-users. With ESME, we’ve realized that our open-source model opens a variety of opportunities for others as well.

For IT suppliers

  • You can host ESME either for internal or external customers. You make sure the ESME server(s) is running and has great performance and provide this service to end-users. 
  • You can provide expert support on configuration and other trouble-shooting issues for corporations that have their own ESME installations.

For consultants

  • You can provide advice to enterprise users on how they can best integrate ESME into their existing processes.
  • You can suggest which ESME architecture is most appropriate for the requirements of that company or division. Based on ESME’s flexibility, there is definitely not one configuration that fits all use cases.

For developers

  • Create an ESME client. The REST API is available although it is still in Alpha status. We already have clients for the web (scala-based), ABAP and AIR.  There are still a variety of platforms / development languages and use cases for which it should be possible to write new clients. I’m especially interested in Sharepoint integration and assume there is a lot of potential here.
  • Create an internal ESME extension. Don’t forget that ESME is open-source. You can take ESME and add functionality to its Scala / lift core.  Submit it as a patch to the Google Code group to hopefully have it added to main trunk.
  • Create a external ESME extension. Via the REST API, you can hook into ESME’s feature set from a variety of applications.   I’ve already created two simple clients for VBA and Javascript. We also have APIs for Java (Coming soon) and ABAP.  Based on these examples, it should be easy to integrate ESME into most applications.  If you have a good enough idea, you might even be able to sell it and make a fortune. 

For end-users

  • Take ESME and use it to improve your internal communication either within a development team, project or division.
  • Take ESME and use it to improve your communication with customers or business partners. Since ESME is open-source, you (or your internal IT) can take ESME and install it inside the firewall, the DMZ or in the cloud.

What are other opportunities that you see for ESME?

October 6, 2008

Architecture Patterns: Internet, Extranet, Intranet

Author: dick - Categories: Design, Vision - Tags:

Lately, I’ve been spending some time considering the various possibilities to use ESME in the enterprise setting.  Based on these ruminations, I’ve created a series of possible variants on the uses of ESME in the Internet (cloud-based), in an extranet and in an intranet. I’ve also looked at different configurations for ESME’s database as well as its user managment functionality (”Corporate LDAP”).

The variants are currently only depicted graphically.  A more detailed description (for example,  to determine advantages and disadvantages, the situations in which a particular variant should be used, etc.)  is still missing.

My main intention is initiate a discussion of this topic.

I’ve created a PDF file with the variants here.

Two new contributors to Google Code repository

Author: dick - Categories: Design, Development - Tags: , ,

We would like to announce that we have just added two new contributors to our Google Code repository.

  • Vassil Dichev has been contributing some very interesting work on actions . His new event-hooks give ESME functionality that no other tool currently has.      

  • Thomas Jung has been working on cool ABAP – related code.   For example, the WebDynpro ESME client below with XCelsius-based graphics.
ESME WebDynpro

ESME WebDynpro

September 24, 2008

So you want an easy AIR install?

Author: dennis - Categories: Design - Tags:

We all love AIR clients don’t we? Much better than web clients most of the time. If you’d like to try the ESME AIR client AND have your token to hand then click this link to get the ESME Installer Badge and it should work pretty much automagically. Sweet.

BTW – if there are any ’stuck’ issues, then please let us know and/or click this link for the ’slow’ download method. We are still testing this so it *may* be a tad buggy. :)