ESME Blog

enterprise microsharing in a process context
December 15, 2009

12sprints integration

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

12sprints is a new collaboration tool from SAP that was in stealth mode for a while and now has surfaced with a bang.

12sprints is part of a new product category called collaborative decision-making.  Collaborative decision-making provides tools that bring people together with the latest information and analysis or decision techniques to drive towards a particular outcome.  Unlike products in the market that offer general collaboration platforms like Microsoft SharePoint, Google Wave, or Salesforce Chatter, 12sprints is a specialized application for goal-oriented work that can be used in conjunction with any of these products. [SOURCE]

 12sprints has a REST API that is still in development and which was introduced on SDN recently.

We decided to work on two simple use cases to test out the REST API from 12 sprints.  By using ESME’s action framework  - in particular using the HTTP Post action-  we enabled ESME users to interact with 12sprints via particular message tags.  The responses from the 12sprints REST API are then posted to ESME so that users can take the information and use it for later processing.

Note: The authentication for the 12sprints REST API is currently based on basic authentication. The syntax of the authentication is [username]:[password] that is uuencoded

Note: I would love to show screenshots from 12sprints with the created objects but, since 12sprints is still in beta, publication of screenshots isn’t permitted.

Use case 1:  Creating an activity

The first use case was the creation of a 12sprints activity from ESME.  The action takes the message string and creates a 12sprints activity with the activity title being the message text. The resulting activity id is returned to the user as a message.

The syntax of the action is:

https://[username]%40[password]@beta.12sprints.com/v1/activities
header:Content-Type=text%2fxml
<activity name=”%s”></activity>

12sprints1

 

Use case 2: Creating a decision

The second use case was the creation of a decision in a particular activity and the idea is the tag of the message is the activity ID which is necessary to create data objects. The message contents are then used as the contents of the decision.  The action is fired based on messages that contain the word “choice”.

The syntax of the action is:

https://[username]%40[password]@beta.12sprints.com/v1/activities/%25t/items
header:Content-Type=text%2fxml
<item name=”Decision item from ESME”><method_item><method_type name=”Decision”/><decision_item><goal><description>%s</description></goal></decision_item></method_item></item>

12sprints2

 

Current restrictions

This functionality is currently not part of our committed code base. I used a patch from Ethan Jewett to add the action-related functionality to repost the response of the HTTP Post action.  It isn’t committed, because we are still working on the optimal functionality that doesn’t compromise our existing concepts.

If you want to play with this integration, it is currently live on our Performance Instance in the cloud

Plans

These two uses were just first steps in our planned deeper integration with 12sprints. We decided to use to actions, because they are relatively easy to implement and are easy enough for most end-users to use. For more complicated use cases,  we are looking at ESME bots as the more appropriate programming model.  For example, we have one idea of taking an ESME conversation and creating a 12sprints activity with all the individuals and messages  being transferred to the activity.  Other ideas involve sending status messages from 12sprints (activity changes, etc.)  back to ESME so that users can follow activities without having to login on to 12sprints. Another crazy idea is to use “+1″ and “-1″ in ESME to express positive or negative reactions to particular activities.

 

December 14, 2009

Collaboration with akibot

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

We are now starting a collaboration with akibot.

Akibot is the first semantic actionable micro-blogging platform for the enterprise. Akibot not only allows real-time group collaboration and awareness through short, instant messages (like a Twitter for the company), but it also understands those messages and, if applicable, takes action.

What intrigued me about akibot was the semantic analysis of microblogging messages.

The basic idea is that akibot functionality can complement existing ESME functionality. The ESME community isn’t able to do everything on its own. Therefore, we look for partners who will work with us to further establish microblogging in the enterprise.

I’ve started a wiki page to describe the collaboration. The detail description of the use case that we are currently exploring is also present in the wiki.

As the diagram below illustrates, the use case focuses on the use of akibot’s Contextual Analyzer (C>A) module to semantically analyze messages and provide functionality that is currently not present in ESME’s action framework. The akibot Directive Processor (DP) then decides if additional processing is necessary and what additional actions are required.

akibot collaboration

Initial tests between ESME and akibot have proven successful and we are now further exploring collaborative options.

November 30, 2009

Ripples from Salesforce’s Chatter

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

There were three events in the last few weeks that led to an massive increase in attention about ESME (leading to a record number of page views on our wiki!)

1. On November 19, Salesforce introduced Chatter which

lets employees set up profiles to connect with coworkers, issue status updates to say what they’re up to, and subscribe to feeds from people–and from applications. Also for collaboration, it lets people join groups to share updates and content. And the service integrates with today’s two hot social-networking services, Twitter and Facebook. [Source]

There are similarities between the functionality offered by Chatter and that offered by ESME which caused many individuals to take another look at ESME and its relevance.

2. In his keynote at the SAP UK & Ireland User Group Conference 2009,  analyst Ray Wang compared ESME and Chatter.

3. ZDNet Blogger Dennis Howlett wrote a blog entitled “Fawning over Chatter and how SAP missed its chance”

All three events fit in well with the increased activity in ESME that has occurred in the last few months.  As new contributors join and old contributors become active again, there is definitely a feeling of progress that has energized the extended ESME community.

I’m sure the next few months will be even more exciting.

November 19, 2009

Return of the performance test

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

In the past, we’ve blogged about our performance tests but in the chaos of our various development cycles we never really institutionalized such tests.

We are now reaching the point as we push towards our first release that we need to assure that performance considerations are met. One move in this direction was our use of Hudson as a base for building ESME on a daily basis. Now, we’ve started examining our performance in detail by planning a series of performance tests to examine ESME in various configurations (cloud-based, on-premise, etc.). The goal is to establish a performance testing component as part of our continuous integration efforts. There is now a Apache wiki page where the various performance test configurations and the performance test results will be listed.

We already started with this increased focus on performance tests with an initial test conducted by Markus Kohler on 2009-11-19. Here is a screenshot from this test.

memory_allUsers

The results of this test are described in full detail here.

For us, the most important thing is to establish a structure and format for such tests that makes it easy for us and ESME users to be able to compare results in a logical fashion. It is only so that users can decide what sort of infrastructure is necessary for their respective ESME installations.

November 15, 2009

Our new UI is coming

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

We’ve waited far too long.

After our move to Apache, we were always saying that our Web UI was too primitive and a new one was top priority. Well, the design for the new web UI is finished. The web designer Joy Reyes has been working on the new UI design.

page 1
inside
tabs

The next step is to take this design and bring it to life with our existing code base.

March 9, 2009

Official Siemens SIS Press Release about ESME

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

Siemens SIS has just released an official press release about ESME and about Siemens SIS’ involvement in the project.

The official press release is available here.

February 21, 2009

Accessing ESME via existing Twitter Clients

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

One of the main tasks for the first sprints since we joined Apache has been support of the Twitter API .  The main reason for this functionality is the ability to use existing twitter clients to access ESME. Well, Vassil Dichev  has been working hard to this important task up and running. Using Twitter clients, it is now possible to send messages, receive the public and private timelines as well as view friends/followers.

The use of other Twitter clients to access ESME isn’t always possible, because the client’s configuration must be changed so that the application accesses the Esme server rather than the main Twitter server. Unfortunately, this switch isn’t always possible, because the server which is the basis for messages is usually hardwired.  Those applications that can also access laconi.ca  servers can also be made to access ESME servers

I’ve tried it using Twhirl against the Stax deplyoment with the latest Apache code drop and was pleased to see that it works.

twhirl_esme33

If you want to try it yourself, then you to do the following steps.
1. Create a user on the ESME server at Stax
2. Click on the manage token link and create a token. This is is your password for using the Twitter client
3. Create a new account with twhirl using the laconi.ca type not the identica.ca type.

twhirl_esme41

Use this synatx “apachedick@esmecloudserverapache.dickhirsch.staxapps.net”. Instead of “apachedick” use your own user_id.
4. Click on ”Connect” and set password using your token from step 2.

twhirl_esme_pass1
5. You should now see the public timeline.

I’ve only tried accessing ESME via twhirl. If anyone has success using other clients, then please add a comment.

Please note that we have not yet done everything in the Twitter API, so some things still aren’t working (for example following users). Other functional characteristics of Twitter like DMs aren’t yet part of the ESME architecture.

Please also note that the Web UI at Stax doesn’t work properly, so bear with us. The Stax deployment is the latest code drop from Apache which means it might include bugs.

February 8, 2009

ESME Mention in Keynote at “Open Source Meets Business” Conference

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

ESME got a nice mention in Mark Yolton’s (Senior Vice President of the SAP Community Network ) keynote at “Open Source Meets Business” (OSMB) conference. Take a look at Mark’s blog about his presentation (slides are here). The slides are interesting, because they describe the changing relationship between open- and closed-source software. This discussion is obviously relevant to the manner in which ESME evolves.

January 29, 2009

Results: ESME’s First Load Test

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

In a previous blog, I described our use of the Stax Cloud to perform load tests for ESME. Well, Daniel Koller has just finished his analysis of the results of this initial test series and has made a few interesting discoveries. For the ESME team, these initial tests were primarily focused on gaining experience with Stax as an environment to perform such tests (including the use of clusters) as well as creating a test bed for future ESME tests.  The tests used both the REST-API and the Web UI.

Now you may be thinking the main focus should be on measuring ESME performance. True. However, the ESME version that we used is based on a older Scala library with a known memory bug. Thus, the test results are not really representative of the current ESME code base.

If you look at other microblogging platforms (including Twitter) – irregardless of whether they are focused on the enterprise or not, you’ll be hard pressed to find any load test results that are published and available to potential users. However, such tests are usually mandatory for IT projects, especially for larger companies with many potential users.  Thus, we would like start publishing our results so that those interested in ESME can make better sizing decisions.

We will soon be starting a new round of load tests based on the Apache code base and a new Scala library, so expect a blog in the future with these results.

For those interested in performing the tests themselves, Daniel has also made the test scripts available

View more presentations or upload your own.

December 7, 2008

ESME accepted into prestigious Apache Incubator

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

ESME (Enterprise Social Messaging Experiment) has been officially accepted into the prestigious Apache Incubator – http://incubator.apache.org/projects/esme.html.

ESME is a microblogging tool and community project which originated in conversations amongst members of the SAP Community, moved to Google Code, and was the first submission in the history of SAP TechEds which was present at all three Demo Jams (Las Vegas, Berlin and Bangalore) in one year.

The Apache Incubator is the entry path into The Apache Software Foundation (ASF) for projects and codebases wishing to become part of the Foundation’s efforts. All code donations from external organizations and existing external projects wishing to join Apache enter through the Incubator. The Apache Software Foundation (ASF) provides organizational, legal, and financial support for a broad range of open source software projects. The Foundation provides an established framework for intellectual property and financial contributions that simultaneously limits contributors potential legal exposure.

Apache projects are considered the top open-source projects and many of have become standards in software development (Tomcat, Struts, etc.)

Why the inclusion of ESME in the Apache Incubator is ImportantAs I described in my last blog about innovation and the SCN community, I’d like to suggest that the evolution of ESME proves that the potential of the SCN community lies in looking beyond borders of the community itself and must include the experience gained from other communities in order to evolve itself. Although I am very much an Apache novice, I’ve been fascinated by the processes and policies that are present in this organization. For example, there is much that we (SCN) can learn from how Apache deals with IP-related issues. This cross-pollination is especially relevant based on the various open-source-related discussions occurring in background in the SCN.

 As SAP’s participation (including Senior Vice President of the SAP Community Network Mark Yolton) in the Open Source Meets Business (OSMB) Congress demonstrates, there is an increasing awareness that the relationship of corporations to open-source software should be more than just as consumers but also as contributors. This changing role requires a great deal of re-thinking in terms of corporate policies (legal, organizational, etc.); thus, the experience of the ESME team (many of whom are SAP mentors) in Apache will flow back into our involvement with the SCN as well as assist our respective corporations to deal with this new opportunity.

Note: This blog was also posted on the SDN.