<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ESME &#187; Integration</title>
	<atom:link href="http://blog.esme.us/category/integration/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.esme.us</link>
	<description>enterprise microsharing in a process context</description>
	<lastBuildDate>Sun, 24 Jan 2010 14:12:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Integration with Apache OFBiz</title>
		<link>http://blog.esme.us/integration-with-apache-ofbiz/</link>
		<comments>http://blog.esme.us/integration-with-apache-ofbiz/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 10:02:50 +0000</pubDate>
		<dc:creator>dick</dc:creator>
				<category><![CDATA[Integration]]></category>
		<category><![CDATA[Vision]]></category>
		<category><![CDATA[ofbiz]]></category>

		<guid isPermaLink="false">http://blog.esme.us/?p=769</guid>
		<description><![CDATA[Introduction
I have just finished integrating ESME into Apache OFBiz which is an open-source ERP platform. 
The Apache Open For Business Project is an open source enterprise automation software project licensed under the Apache License Version 2.0. By open source enterprise automation we mean: Open Source ERP, Open Source CRM, Open Source E-Business / E-Commerce, Open [...]]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>I have just finished integrating ESME into <a href="http://ofbiz.apache.org/">Apache OFBiz</a> which is an open-source ERP platform. </p>
<blockquote><p>The Apache Open For Business Project is an open source enterprise automation software project licensed under the Apache License Version 2.0. By open source enterprise automation we mean: Open Source ERP, Open Source CRM, Open Source E-Business / E-Commerce, Open Source SCM, Open Source MRP, Open Source CMMS/EAM, and so on.</p>
</blockquote>
<p>I used OFBiz’s event environment to plug-in ESME functionality. </p>
<blockquote><p>ECAs are pretty straight forward: when an Event occurs, if the Condition(s) are met then Action(s) are performed.  The Events supported currently are Entity (EECA) events which basically correspond to database record CRUD events, Service (SECA) events which correspond the various stages of a given service&#8217;s invocation (invoke, validate, commit, return, etc.) and Mail (MECA) events which occur when an email is received.</p>
</blockquote>
<p>I used the entity “<strong>Facility</strong>” as a prototype but any entity would be possible. I also selected that the events would just be sent when new facilities were created but I could have just as easily responded to other entity-related events (deletes, updates, etc.)</p>
<p>My goal was to easily integrate the two environments as quickly as possible.  Once I figured out what to do, the integration was relatively easy. I used a local ESME instance that was separate from the OFBiz instance.  </p>
<h2>Screenshots</h2>
<p><a href="http://blog.esme.us/wp-content/uploads/2010/01/ofbiz1.jpg"><img src="http://blog.esme.us/wp-content/uploads/2010/01/ofbiz1-300x189.jpg" alt="ofbiz1" title="ofbiz1" width="300" height="189" class="aligncenter size-medium wp-image-772" /></a></p>
<p>Here I create a new facility <em>https://localhost:8443/facility/control/CreateFacility</em>.</p>
<p>Here is the screenshot from ESME that shows the message that was sent in response to the creation of a new facility.</p>
<p><a href="http://blog.esme.us/wp-content/uploads/2010/01/ofbiz2.jpg"><img src="http://blog.esme.us/wp-content/uploads/2010/01/ofbiz2-300x187.jpg" alt="ofbiz2" title="ofbiz2" width="300" height="187" class="aligncenter size-medium wp-image-773" /></a></p>
<h2>Technical details</h2>
<p><strong>Authorization</strong></p>
<p>The use of the ESME REST API requires a token. I’ve manually stored this token in the externalAuthId value of the UserLogin entity.  <em>https://localhost:8443/webtools/control/ViewGeneric?entityName=UserLogin&#038;userLoginId=system</em></p>
<p>I added a token to the system user to be used in the ESME REST API calls.</p>
<p><a href="http://blog.esme.us/wp-content/uploads/2010/01/ofbiz3.jpg"><img src="http://blog.esme.us/wp-content/uploads/2010/01/ofbiz3-300x219.jpg" alt="ofbiz3" title="ofbiz3" width="300" height="219" class="aligncenter size-medium wp-image-783" /></a></p>
<p><strong>Message Contents</strong></p>
<p>I’ve selected just three attributes of the Facility entity to be displayed in the ESME message. I looked at the details of the entity and just selected those that were easiest to use. Other attributes could also be used as well.  <em>https://localhost:8443/webtools/control/ViewGeneric?entityName=Facility&#038;enableEdit=true</em></p>
<p><a href="http://blog.esme.us/wp-content/uploads/2010/01/ofbiz4.jpg"><img src="http://blog.esme.us/wp-content/uploads/2010/01/ofbiz4-300x298.jpg" alt="ofbiz4" title="ofbiz4" width="300" height="298" class="aligncenter size-medium wp-image-788" /></a></p>
<h2>Implementation Details</h2>
<p>For details on the implementation, see the Apache ESME wiki page <a href="http://cwiki.apache.org/ESME/simple-use-case-ofbiz-sends-message-to-esme.html">here</a></p>
<h2>Improvements</h2>
<p>1.	 Use of externalAuthId to store the ESME token.  The use of SSO would probably be better</p>
<p>2.	 Use of <em>system </em>as service user. For some reason, the user who fired the event was always “system” rather than the actual user who created the facility.</p>
<p>3.	No OFBiz UI. Right now there is no UI in OFBiz to display the ESME messages.</p>
<p>4.	Ideally, there should be a common service that sends the message to ESME and entity-specific services that compose the message to be sent.</p>
<p>5.	Use of the new Streaming API to send to a specific pool rather than the public pool. Right now, I’m using the Twitter API to send the message. Ideally, the new API should be used to send to a specific pool.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.esme.us/integration-with-apache-ofbiz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>12sprints integration</title>
		<link>http://blog.esme.us/12sprints-integration/</link>
		<comments>http://blog.esme.us/12sprints-integration/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 16:09:19 +0000</pubDate>
		<dc:creator>dick</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Vision]]></category>
		<category><![CDATA[actions]]></category>

		<guid isPermaLink="false">http://blog.esme.us/?p=741</guid>
		<description><![CDATA[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.  [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://beta.12sprints.com">12sprints </a>is a new collaboration tool from SAP that was in stealth mode for a while and now has surfaced with a bang.</p>
<blockquote><p>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. [<a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/17022">SOURCE</a>]</p></blockquote>
<p> 12sprints has a <a href="https://beta.12sprints.com/api/Table_of_Contents.html">REST API</a> that is still in development and which was introduced on SDN <a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/17022">recently</a>.</p>
<p>We decided to work on two simple use cases to test out the REST API from 12 sprints.  By using ESME&#8217;s <a href="http://cwiki.apache.org/ESME/actions.html">action framework </a> - 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.</p>
<p><strong>Note</strong>:<em> The authentication for the 12sprints REST API is currently based on </em><a href="https://beta.12sprints.com/api/Authentication.html"><em>basic authentication</em></a><em>. The syntax of the authentication is [username]:[password] that is </em><a href="http://netzreport.googlepages.com/online_tool_for_url_en_decoding.html"><em>uuencoded</em></a></p>
<p><em><strong>Note</strong>: I would love to show screenshots from 12sprints with the created objects but, since 12sprints is still in beta, publication of screenshots isn&#8217;t permitted. </em></p>
<h2>Use case 1:  Creating an activity</h2>
<p>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.</p>
<p>The syntax of the action is:</p>
<address style="PADDING-LEFT: 30px"></address>
<address style="PADDING-LEFT: 30px">https://[username]%40[password]@beta.12sprints.com/v1/activities</address>
<address style="PADDING-LEFT: 30px">header:Content-Type=text%2fxml</address>
<address style="PADDING-LEFT: 30px">&lt;activity name=&#8221;%s&#8221;&gt;&lt;/activity&gt;</address>
<p><a href="http://blog.esme.us/wp-content/uploads/2009/12/12sprints11.jpg"><img class="aligncenter size-full wp-image-744" title="12sprints1" src="http://blog.esme.us/wp-content/uploads/2009/12/12sprints11.jpg" alt="12sprints1" width="559" height="271" /></a></p>
<p><a href="http://blog.esme.us/wp-content/uploads/2009/12/12sprints1.jpg"></a> </p>
<h2>Use case 2: Creating a decision</h2>
<p>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 &#8220;choice&#8221;.</p>
<p>The syntax of the action is:</p>
<address style="PADDING-LEFT: 30px"></address>
<address style="PADDING-LEFT: 30px">https://[username]%40[password]@beta.12sprints.com/v1/activities/%25t/items</address>
<address style="PADDING-LEFT: 30px">header:Content-Type=text%2fxml</address>
<address style="PADDING-LEFT: 30px">&lt;item name=&#8221;Decision item from ESME&#8221;&gt;&lt;method_item&gt;&lt;method_type name=&#8221;Decision&#8221;/&gt;&lt;decision_item&gt;&lt;goal&gt;&lt;description&gt;%s&lt;/description&gt;&lt;/goal&gt;&lt;/decision_item&gt;&lt;/method_item&gt;&lt;/item&gt;</address>
<p><img class="aligncenter size-full wp-image-743" title="12sprints2" src="http://blog.esme.us/wp-content/uploads/2009/12/12sprints2.jpg" alt="12sprints2" width="572" height="280" /></p>
<p> </p>
<h2>Current restrictions</h2>
<p>This functionality is currently not part of our committed code base. I used a patch from <a href="http://www.esjewett.com/">Ethan Jewett </a>to add the action-related functionality to repost the response of the HTTP Post action.  It isn&#8217;t committed, because we are still working on the optimal functionality that doesn&#8217;t compromise our existing concepts.</p>
<p>If you want to play with this integration, it is currently live on our <a href="http://esmecloudperf.esme.staxapps.net">Performance Instance</a> in the cloud</p>
<h2>Plans</h2>
<p>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 &#8220;+1&#8243; and &#8220;-1&#8243; in ESME to express positive or negative reactions to particular activities.</p>
<p> </p>
<p><a href="http://esmecloudperf.esme.staxapps.net/action_view/"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.esme.us/12sprints-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Collaboration with akibot</title>
		<link>http://blog.esme.us/collaboration-with-akibot/</link>
		<comments>http://blog.esme.us/collaboration-with-akibot/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 15:25:11 +0000</pubDate>
		<dc:creator>dick</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Vision]]></category>

		<guid isPermaLink="false">http://blog.esme.us/?p=727</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>We are now starting a collaboration with akibot.</p>
<blockquote><p><a rel="nofollow" href="http://akibot.blogspot.com/">Akibot</a> 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.</p>
</blockquote>
<p>What intrigued me about akibot was the semantic analysis of microblogging messages.</p>
<p>The basic idea is that akibot functionality can complement existing ESME functionality. The ESME community isn&#8217;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.</p>
<p>I&#8217;ve started a <a href="http://cwiki.apache.org/ESME/collaboration-with-akibot.html">wiki page</a> to describe the collaboration.  The <a href="http://cwiki.apache.org/ESME/akibot-use-case-description.html">detail description</a> of the use case that we are currently exploring is also present in the wiki. </p>
<p>As the diagram below illustrates, the use case focuses on the use of akibot&#8217;s Contextual Analyzer (C>A) module to semantically analyze messages and provide functionality that is currently not present in ESME&#8217;s action framework.  The akibot Directive Processor (DP) then decides if additional processing is necessary and what additional actions are required. </p>
<p><a href="http://blog.esme.us/wp-content/uploads/2009/12/akibot-collaboration.jpg"><img src="http://blog.esme.us/wp-content/uploads/2009/12/akibot-collaboration-300x153.jpg" alt="akibot collaboration" title="akibot collaboration" width="300" height="153" class="aligncenter size-medium wp-image-732" /></a></p>
<p>Initial tests between ESME and akibot have proven successful and we are now further exploring collaborative options.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.esme.us/collaboration-with-akibot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ESME&#8217;s new REST API takes shape</title>
		<link>http://blog.esme.us/esmes-new-rest-api-takes-shape/</link>
		<comments>http://blog.esme.us/esmes-new-rest-api-takes-shape/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 12:41:10 +0000</pubDate>
		<dc:creator>dick</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[REST API]]></category>

		<guid isPermaLink="false">http://blog.esme.us/?p=602</guid>
		<description><![CDATA[ESME has a REST API that is necessary for clients to access data / functionality. There was some degree  of debate / criticism &#8211; some of it rather critical  &#8211; of this initial interface. Ethan Jewett has blogged about a suggestion for a new REST API for ESME which not only provides an examination of [...]]]></description>
			<content:encoded><![CDATA[<p>ESME has a REST API that is necessary for clients to access data / functionality. There was some degree  of debate / criticism &#8211; <a href="http://tech.groups.yahoo.com/group/rest-discuss/message/11862" target="_blank">some of it rather critical </a> &#8211; of this initial interface. Ethan Jewett has <a href="http://www.esjewett.com/blog/a-restful-esme-api" target="_blank">blogged about a suggestion for a new REST API for ESME</a> which not only provides an examination of main points of REST-related debate but also the foundation for a new REST API.  Ethan is planning on moving the discussion over to the Apache wiki for further discussion.</p>
<p>Please join us in creating the best possible REST API for ESME.</p>
<p><em>Note: I don&#8217;t currently have the link for the page in Apache wiki with the discussion but I will update this blog when I have the link.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.esme.us/esmes-new-rest-api-takes-shape/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Improved Java API moved to Apache</title>
		<link>http://blog.esme.us/improved-java-api-moved-to-apache/</link>
		<comments>http://blog.esme.us/improved-java-api-moved-to-apache/#comments</comments>
		<pubDate>Sat, 14 Feb 2009 13:55:30 +0000</pubDate>
		<dc:creator>dick</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[bot]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://blog.esme.us/?p=556</guid>
		<description><![CDATA[Darren Hague has moved the ESME Client based on the Java Api from the Google Code repository to our Apache repository. He also added additional methods including the critical &#8221;getMessages&#8221; method which was previously missing. It is now possible to easily create bots that integrate with existing environments.  Darren has also provided a test application (with code) that shows how to use [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.twitter.com/dhague" target="_blank">Darren Hague</a> has moved the ESME Client based on the Java Api from the Google Code repository to our <a href="http://svn.apache.org/viewvc/incubator/esme/trunk/esme-java-client/" target="_blank">Apache repository</a>. He also added additional methods including the critical &#8221;getMessages&#8221; method which was previously missing. It is now possible to easily create <a href="http://blog.esme.us/esme-bots/" target="_blank">bots</a> that integrate with existing environments.  Darren has also provided a <a href="http://svn.apache.org/viewvc/incubator/esme/trunk/esme-java-client/src/test/" target="_blank">test application (with code) </a>that shows how to use the API.</p>
<p>The JAVA API is still a work in progress but the most important parts are now present.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.esme.us/improved-java-api-moved-to-apache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use case: ESME Wiki Bot</title>
		<link>http://blog.esme.us/use-case-esme-wiki-bot/</link>
		<comments>http://blog.esme.us/use-case-esme-wiki-bot/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 09:23:14 +0000</pubDate>
		<dc:creator>dick</dc:creator>
				<category><![CDATA[Integration]]></category>
		<category><![CDATA[Vision]]></category>
		<category><![CDATA[bot]]></category>
		<category><![CDATA[Wiki]]></category>

		<guid isPermaLink="false">http://blog.esme.us/?p=512</guid>
		<description><![CDATA[I’ve been thinking about how to integrate various collaboration tools into ESME based on the use case that users wish to exploit a particular ESME conversation (starting from a single ESME message to series of related messages) as the basis for another type of collaboration (discussion, wiki entry, document, etc.).  By the way, I’ve discussed [...]]]></description>
			<content:encoded><![CDATA[<p style="margin: 0cm 0cm 0pt;">I’ve been thinking about how to integrate various collaboration tools into ESME based on the use case that users wish to exploit a particular ESME conversation (starting from a single ESME message to series of related messages) as the basis for another type of collaboration (discussion, wiki entry, document, etc.).  <em>By the way, I’ve discussed such </em><a href="https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/7555" target="_blank"><em>interactions in other contexts </em></a><em> in SAP SDN blogs.</em></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"> </p>
<p style="margin: 0cm 0cm 0pt;">I’ve come up with two basic options:</p>
<ol style="margin-top: 0cm;" type="1">
<li style="margin: 0cm 0cm 0pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt;">The ESME UI is adapted to add new functionality via a new icon on each message panel.</li>
<li style="margin: 0cm 0cm 0pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt;"> Use of an <a href="http://blog.esme.us/esme-bots/" target="_blank">ESME bot </a> that listens for messages with certain tags and then performs various activities on the part of users. </li>
</ol>
<p style="margin: 0cm 0cm 0pt;">Of the two options, the first involves changes in the ESME core that might cause problems inasmuch as additional functionality might lead to a cluttered UI which would reduce the ease of use associated with a simple UI. The second option appears to be more applicable to a variety of use cases and doesn’t require UI changes based on every new use case. </p>
<p style="margin: 0cm 0cm 0pt;">  </p>
<p style="margin: 0cm 0cm 0pt;"><strong>A Concrete Use Case</strong> </p>
<p style="margin: 0cm 0cm 0pt;">I’d like to sketch out the steps associated with the use of such a bot. Let’s focus on the use case where an ESME conversation is being used to create a wiki page with the contents of the conversation</p>
<p style="margin: 0cm 0cm 0pt;"><span id="more-512"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"> <em>Demand</em> </p>
<ol>
<li>
<div style="margin: 0cm 0cm 0pt;">Based on an ESME conversation, a wiki page should be created in a particular wiki. Users who have contributed to the ESME conversation should have write access to the page.</div>
</li>
<li>
<div style="margin: 0cm 0cm 0pt;">The contents of the ESME conversation should be present on the page in the form of a list.</div>
</li>
<li>
<div style="margin: 0cm 0cm 0pt;">Users who participated in the conversation should receive a link to the wiki page when it is created. </div>
</li>
</ol>
<p style="margin: 0cm 0cm 0pt;"><em>Assumptions</em></p>
<ol>
<li>
<div style="margin: 0cm 0cm 0pt;">A user has participated in an ESME conversation and would like to create a wiki page based on this conversation.</div>
</li>
<li>
<div style="margin: 0cm 0cm 0pt;">The user adds the tag “create_wiki” and resends the last message</div>
</li>
<li>
<div style="margin: 0cm 0cm 0pt;">The ESME bot receives the message with the tag “create_wiki”</div>
</li>
<li>
<div style="margin: 0cm 0cm 0pt;">The ESME bot uses the conversation id from the tagged message and retrieves the whole conversation via the REST-API</div>
</li>
<li>
<div style="margin: 0cm 0cm 0pt;">The ESME bot creates the wiki page and fills the page with contents from the messages in the conversation</div>
</li>
<li>
<div style="margin: 0cm 0cm 0pt;">The ESME bot sets the permissions on the wiki page based on those user_ids taken from the messages in the conversation</div>
</li>
<li>
<div style="margin: 0cm 0cm 0pt;">The ESME bot sends a message to those users who participated in the conversation with a link to the wiki page.</div>
</li>
<li>
<div style="margin: 0cm 0cm 0pt;">The ESME bot also sends an message to its followers describing the new wiki page [optional] </div>
</li>
</ol>
<p style="margin: 0cm 0cm 0pt;"><em>Open issues</em></p>
<ol style="margin-top: 0cm;" type="1">
<li style="margin: 0cm 0cm 0pt; mso-list: l0 level1 lfo4; tab-stops: list 36.0pt;">What happens when errors occur?</li>
<li style="margin: 0cm 0cm 0pt; mso-list: l0 level1 lfo4; tab-stops: list 36.0pt;">Should users have the ability to track the requests they have sent?</li>
</ol>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"> <em>Note: Since this is obviously a use case related to a workflow, this seems to be perfect opportunity to create a bot that starts a process (perhaps one associated with SAP’s Guided Procedures or </em><a href="https://www.sdn.sap.com/irj/sdn/nw-bpm" target="_blank"><em>SAP’s new BPM environment </em></a><em>).</em></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><em></em> </p>
<p style="margin: 0cm 0cm 0pt;"><strong>Other use cases</strong></p>
<p style="margin: 0cm 0cm 0pt;">Other user cases might involve ESME installations that involve interactions with existing and potential customers. The use of bot could be used to create complaints on back-end systems or create opportunities in CRM systems. The idea is that the particular pieces of micro-blogging conversations are not lost but can be followed up / tracked via back-end systems that are more focused on such tasks.</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.esme.us/use-case-esme-wiki-bot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A context-sensitive ESME client</title>
		<link>http://blog.esme.us/a-context-sensitive-esme-client/</link>
		<comments>http://blog.esme.us/a-context-sensitive-esme-client/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 09:06:53 +0000</pubDate>
		<dc:creator>dick</dc:creator>
				<category><![CDATA[Integration]]></category>
		<category><![CDATA[Vision]]></category>
		<category><![CDATA[Client]]></category>

		<guid isPermaLink="false">http://blog.esme.us/?p=505</guid>
		<description><![CDATA[One idea that we’ve kicking around is an ESME client that is context-sensitive.  The idea would be that just ESME messages are displayed that reflect the particular contents on the page on which the ESME client is running.
 
For example, an ESME client is running on an internal blog page that deals with sales problems with [...]]]></description>
			<content:encoded><![CDATA[<p style="margin: 0cm 0cm 0pt;">One idea that we’ve kicking around is an ESME client that is context-sensitive.  The idea would be that just ESME messages are displayed that reflect the particular contents on the page on which the ESME client is running.</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"> </p>
<p style="margin: 0cm 0cm 0pt;">For example, an ESME client is running on an internal blog page that deals with sales problems with a particular customer “Patriot Chairs”. The ideal situation would be that the ESME client shows all messages that are tagged with the words “sales”, “Patriot Chairs”. The idea is those reading the page could get a feeling for the corporate “heart-beat” dealing with these areas.  The blog reader would be able to see other messages relating to the particular customer in question and sales issues in general.  If desired, the blog reader could then interact with those individuals talking about these matters.</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"> </p>
<p style="margin: 0cm 0cm 0pt;">To meet these requirements, the ESME client would have to respond to how a particular blog page is tagged. Whether this tag is based on URL-based tags or another mechanism would be implementation-specific and would in all likelihood be based on the details of the integration environment.</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"> </p>
<p style="margin: 0cm 0cm 0pt;">This use case would also probably require new REST API functions (for example, “<span style="text-decoration: line-through;">GetFilteredMessages</span>” <a href="http://esme.example.com/messages?tag=sales">http://esme.example.com/messages?tag=sales</a>) to be able to search the public timeline for particular tags.  Another option would be to have a client that performs the filtering actions in the JSON transformation.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.esme.us/a-context-sensitive-esme-client/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Email Integration for ESME via Apache James</title>
		<link>http://blog.esme.us/email-integration-for-esme-via-apache-james/</link>
		<comments>http://blog.esme.us/email-integration-for-esme-via-apache-james/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 09:43:10 +0000</pubDate>
		<dc:creator>dick</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[James]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[Mailet]]></category>

		<guid isPermaLink="false">http://blog.esme.us/?p=484</guid>
		<description><![CDATA[Daniel Koller has created a  ESME Mailet is a plugin for the Open source Mail Server Apache James which allows users of an ESME infrastructure (both humans and technical systems) to send email messages to an ESME instance using their own identity. Messages sent through the mailet show up as personal messages from these end users, [...]]]></description>
			<content:encoded><![CDATA[<p>Daniel Koller has created a <span lang="EN"> ESME Mailet is a plugin for the Open source Mail Server <a href="http://james.apache.org/server/" target="_blank">Apache James</a> which allows users of an ESME infrastructure (both humans and technical systems) to send email messages to an ESME instance using their own identity. Messages sent through the mailet show up as personal messages from these end users, so people following you get them in the respective blogging timeline.  The <a href="http://docs.google.com/Doc?id=df96bz6v_18cw9vrcwr" target="_blank">install guide is available</a> on Google Docs. </span></p>
<p><span lang="EN">This new functionality is especially useful for integrating legacy applications into the ESME environment inasmuch as many such applications might not be able to integrate via the REST API but usually have the ability to send emails. Furthermore, an email interface also allows users to post ESME messages with mobile devices. This is a useful functionality until native ESME clients for mobile platforms are available. </span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.esme.us/email-integration-for-esme-via-apache-james/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Use Case for Microsoft Communicator Integration</title>
		<link>http://blog.esme.us/a-use-case-for-microsoft-communicator-integration/</link>
		<comments>http://blog.esme.us/a-use-case-for-microsoft-communicator-integration/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 08:06:55 +0000</pubDate>
		<dc:creator>dick</dc:creator>
				<category><![CDATA[Integration]]></category>
		<category><![CDATA[Vision]]></category>
		<category><![CDATA[Communicator]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://blog.esme.us/?p=460</guid>
		<description><![CDATA[In a recent blog about Enterprise Twitter,  Mike Giotta of the Burton Group described 10 questions that enterprises will ask regarding the use of microblogging tools. One question was &#8220;Integration with Microsoft Communicator and IBM Sametime&#8221;. At first, I disregarded the idea and thought &#8220;who needs an integration? They are two tools based on two [...]]]></description>
			<content:encoded><![CDATA[<p>In a <a href="http://mikeg.typepad.com/perceptions/2008/12/enterprise-versions-of-twitter.html" target="_blank">recent blog about Enterprise Twitter</a>,  Mike Giotta of the Burton Group described 10 questions that enterprises will ask regarding the use of microblogging tools. One question was &#8220;Integration with Microsoft Communicator and IBM Sametime&#8221;. At first, I disregarded the idea and thought &#8220;who needs an integration? They are two tools based on two different collaborative metaphors&#8221;.  After a round of sauna, I started to think about ways that the two might complement one another.  Based on this &#8220;heated&#8221; discussion with myself, I set out and tried to create use cases for this integration.</p>
<p><span id="more-460"></span><strong>Note</strong>: Although I haven&#8217;t had the &#8220;pleasure&#8221; of using the Microsoft Communicator, I was an avid user of Microsoft Messenger until I discovered Twitter.</p>
<p>I&#8217;ve created a ton on simple ESME clients (ranging from VBA to PL/SQL to Zoho Creator) and usually the integration focuses on sending messages. An integration of an IM client based on this foundation doesn&#8217;t make sense, because both systems are too closely related to one another at this level. A deeper integration might be necessary.  Another possible integration might be one in which groups from Microsoft Communicator might be used to create groups in ESME and vice-versa.</p>
<h2>Use Cases</h2>
<p>Let&#8217;s look at a few more use cases and see where the integration might lead to.</p>
<p><strong>Use Case 1: Basic integration</strong></p>
<p><em>Assumptions</em></p>
<ol>
<li>Both systems are present in a large multinational enterprise with multiple divisions.</li>
</ol>
<p><em>Steps:</em></p>
<ol>
<li>A sales person gets a question from a customer about a new product &#8220;Lumberjack&#8221; from an another division.  The sales person herself has no knowledge about this product.</li>
<li>The sales person asks fellow sales reps via an IM session in MS Communicator and they also have no idea about the new product. Thus, the sales person&#8217;s own social network is of no help.</li>
<li>The sales person opens his ESME pane in the MS Communicator and searches for the word &#8220;Lumberjack&#8221; in the ESME stream.</li>
<li>The sales person sees a list of messages that either contain the word &#8220;Lumberjack&#8221; or are tagged with the word &#8220;Lumberjack&#8221;.</li>
<li>By clicking on a particular ESME message, the sales person can see the latest ESME messages from this individual.</li>
<li>The sales person can then reply via ESME  to individuals who have created the relevant messages.</li>
</ol>
<p>This loose integration is primarily based on embedding the ESME UI into the UI of the Microsoft Communicator</p>
<p><strong>Use Case 2: Tighter integration</strong></p>
<p><em>Assumptions</em></p>
<ol>
<li>ESME and the Microsoft Communicator environments have a common user-id base. Without a common identity pool, the integration isn&#8217;t going to work.</li>
<li>Both systems are present in a large multinational enterprise with multiple divisions.</li>
</ol>
<p><em>Steps:</em></p>
<p>This use case continues at the end of the first use case.</p>
<ol>
<li>When the sales person selects an ESME message, the user interface also shows communications-relevant information (including presence data) from Microsoft Communicator.  If the user is available, then the sales person could start a video-conference or call that individual via Microsoft Communicator.</li>
</ol>
<p>The integration is deeper and involves merging the data from ESME and Microsoft Communicator. In all likelihood, this integration would use ESME&#8217;s REST-API in a Microsoft development environment.  I had a quick look for details on extending MS Communicator UI functionality but didn&#8217;t find anything. I assume that it is there.</p>
<p>There is also a <a href="http://communicatorteam.com/archive/2008/05/13/229.aspx" target="_blank">Unified Client Communications API (UCC API) for the Microsoft Communicator </a>which might allow ESME bots to use UCC functionality.</p>
<h2>Summary</h2>
<p>It is the combination of the two collaborative metaphors that has the greatest value.  As Mike Giotti <a href="http://mikeg.typepad.com/perceptions/" target="_blank">suggests </a> there should be movement towards a tighter integration between &#8220;unified communications and collaboration platforms&#8221; . I&#8217;m assuming that many purely micro-blogging platforms will not survive.  I think ESME&#8217;s focus on being a white-label microblogging tool that be easily integrated into a variety of platforms and tools (just take a look at posts in the ESME blog about clients) has  in the long term a greater chance for success.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.esme.us/a-use-case-for-microsoft-communicator-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ESME in the Cloud: It works!</title>
		<link>http://blog.esme.us/esme-in-the-cloud-it-works/</link>
		<comments>http://blog.esme.us/esme-in-the-cloud-it-works/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 13:41:26 +0000</pubDate>
		<dc:creator>dick</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Vision]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[stax]]></category>

		<guid isPermaLink="false">http://blog.esme.us/?p=429</guid>
		<description><![CDATA[In my last blog, I mentioned my tests with the Stax.net cloud as hosting opportunity for ESME.  Well, after fighting various issues dealing with proxies and request timeouts,  I finally got ESME installed at Stax, then logged in via OpenID and posted my first cloud-based ESME message.

I really think the Stax environment is great once [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://blog.esme.us/esme-in-the-cloud-stax/" target="_blank">my last blog</a>, I mentioned my tests with the Stax.net cloud as hosting opportunity for ESME.  Well, after fighting various issues dealing with proxies and request timeouts,  I finally got <a href="http://esmecloudserver.dickhirsch.staxapps.net/" target="_blank">ESME installed at Stax</a><a href="http://blog.esme.us/wp-content/uploads/2008/12/stax-app-console.pg"></a>, then logged in via OpenID and posted my first cloud-based ESME message.</p>
<p style="TEXT-ALIGN: center"><a href="http://blog.esme.us/wp-content/uploads/2008/12/esmecloud1.jpg"><img class="aligncenter size-full wp-image-433" title="esmecloud1" src="http://blog.esme.us/wp-content/uploads/2008/12/esmecloud1.jpg" alt="esmecloud1" width="501" height="276" /></a></p>
<p>I really think the Stax environment is great once you get the hang of it.</p>
<p>To get ESME working, I used the sample application from Stax and then copied the files from the ESME war file from the Google Code site. I copied all the esme files into the &#8220;webapp&#8221; directory and then did a &#8220;stax deploy&#8221; command to load it all up into the Stax system.  I had to make some adjustments to the ant build file for the Stax deployment, because I have a limitation on the size of files that I can send via HTTP ( Therefore, the source code currently available in Stax is missing all the Jar files.)  Besides that problem, everything worked out well.</p>
<p>I also was able to use the cloud-database in the Stax environment rather than the existing Derby implementation. If you wanted to use a remote DB (for example, behind the firewall), you just have to change the details.</p>
<p>I just added the following snippet to the web.xml file:</p>
<blockquote><p>&lt;resource-ref&gt;<br />
&lt;res-ref-name&gt;esme&lt;/res-ref-name&gt;<br />
&lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;<br />
&lt;res-auth&gt;Container&lt;/res-auth&gt;<br />
&lt;/resource-ref&gt;</p></blockquote>
<p>and the following snippet to the stax-application.xml</p>
<blockquote><p>&lt;resource name=&#8221;esme&#8221; auth=&#8221;Container&#8221; type=&#8221;javax.sql.DataSource&#8221;&gt;<br />
&lt;param name=&#8221;username&#8221; value=&#8221;esme_2&#8243; /&gt;<br />
&lt;param name=&#8221;password&#8221; value=&#8221;xxx&#8221; /&gt; <em>[password is hidden for this blog]</em><br />
&lt;param name=&#8221;url&#8221; value=&#8221;jdbc:stax://esme&#8221; /&gt;<br />
&lt;/resource&gt;</p></blockquote>
<p>Now, that ESME is installed, it is possible to perform operations-related tasks -all from my browser.</p>
<p style="TEXT-ALIGN: center"><a href="http://blog.esme.us/wp-content/uploads/2008/12/stax-app-console.pg"><img class="aligncenter size-full wp-image-432" title="stax-app-console" src="http://blog.esme.us/wp-content/uploads/2008/12/stax-app-console.pg" alt="stax-app-console" width="501" height="351" /></a></p>
<h3>Still open</h3>
<ul>
<li>There are still exceptions dealing with file-based activities.  For example. the search interface via Compass currently doesn&#8217;t work, because it uses file. These have to be changed as well to have a fully functional application.</li>
<li>It would be cool to be able to clone this application(including database)  for others.</li>
<li>It would be useful to have the ability to restrict access to particular IP addresses (maybe, this is a function for which Stax could charge?)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.esme.us/esme-in-the-cloud-it-works/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
