<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='W/&quot;CEcFRXYycCp7ImA9WhdTEEU.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453</id><updated>2011-07-07T16:40:14.898-07:00</updated><title>Jesper Joergensen's BEA blog archive</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default?redirect=false&amp;v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>66</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry gd:etag='W/&quot;A0UESX09fyp7ImA9WxBVFks.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-8106755576951300270</id><published>2008-09-09T00:16:00.000-07:00</published><updated>2010-02-20T04:33:28.367-08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-02-20T04:33:28.367-08:00</app:edited><title>Customer Commitment (Honeymoon phase warning)</title><content type='html'>3 weeks in, I think it still counts as the honeymoon phase of my new job although I wish my own honeymoon lasted that long. So bear with me while I muse over something I find truly great in my new habitat.&lt;br /&gt;&lt;br /&gt;Today I stumpled upon &lt;a href="http://sfdc.arrowpointe.com/2008/08/21/ideas-coming-in-the-winter-09-release/"&gt;this post by Scott Hemmeter&lt;/a&gt; who figured out the URL that would return all the &lt;a href="http://ideas.salesforce.com/popular/coming_in_winter_09"&gt;entries on ideas.salesforce.com that have been implemented in the next upcoming release&lt;/a&gt; (Winter '09).&lt;br /&gt;&lt;br /&gt;First of all, it's great to see this information pulled out and emphasized by a 3rd party. But to me, still learning the ropes here, it's even more astonishing that this list actually exists.&lt;br /&gt;&lt;br /&gt;Think about it. Not only can you go and find all the feedback, ideas and complaints that people have provided for the salesforce.com products on &lt;a href="http://ideas.salesforce.com/"&gt;ideas.salesforce.com&lt;/a&gt;. You can actually see which of these ideas will be implemented in the next release. That, to me, is true commitment. Commitment from customers to the platform (telling salesforce.com what they love and hate). And commitment from salesforce.com to customers that the company is listening and responding.&lt;br /&gt;&lt;br /&gt;If you know of other companies that are doing an equal or better job at this, drop me a comment. Like I said, I know I am in my honeymoon phase, but I am not sure there are many companies out there that take this commitment as seriously.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-8106755576951300270?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/8106755576951300270?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/8106755576951300270?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/09/customer-commitment-honeymoon-phase.html' title='Customer Commitment (Honeymoon phase warning)'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author></entry><entry gd:etag='W/&quot;A0UAQXY_fCp7ImA9WxBVFks.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-2092307514458407126</id><published>2008-08-29T19:45:00.001-07:00</published><updated>2010-02-20T04:34:00.844-08:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2010-02-20T04:34:00.844-08:00</app:edited><title>Voting with my feet: Can anyone ignore SaaS anymore?</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;On Aug 11, my little break after BEA Systems ended when I started as product manager at Salesforce.com for the Integration and API product areas in the platform group. I think my new gig will give me a lot to write about and I hope to get some writing done, but we'll see how it pans out.&lt;/p&gt;&lt;p&gt;I don't think it's particularly visionary to go work for a SaaS company at this point. It's been pretty obvious for some time that SaaS will be a paradigm shift in the enterprise software world. Of course this doesn't mean the big enterprise software vendors will go out of business or move wholesale to SaaS any time soon. SaaS is still pretty new, particularly in the enterprise. And on-premise software will probably never go away completely, so we'll just have to wait and see where the new equilibrium will end up at.&lt;/p&gt;&lt;p&gt;There is a &lt;a href="http://resources.zdnet.co.uk/articles/0,1000001991,39466346,00.htm"&gt;hilarious article on ZDNet&lt;/a&gt; where Lawson's CEO, Harry Debes predicts the demise of SaaS in 2 years. It's not so much the prediction as his reasoning that put me on the floor dying from laughter:&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;"Getting signed up as a SaaS customer is fast, but getting out is just&lt;br /&gt;as fast, whereas traditional software is like cocaine — you're hooked.&lt;br /&gt;It's too difficult and expensive to switch providers once you've&lt;br /&gt;invested in one. If it were easier to jump ship, a lot of people&lt;br /&gt;would've hit the eject button on SAP a long time ago."&lt;/blockquote&gt;(there's more silly stuff in the article). So on-premise is a better model because it's more like cocaine? You can't make this stuff up.&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;a href="http://www.appirio.com/blog/2008/08/lawson-ceo-traditional-software-is-like.php"&gt;Ryan Nichols over at Appirio wrote up a nice rebuttal&lt;/a&gt; including this description of the joy of being a product manager in a SaaS company:&lt;br /&gt;&lt;blockquote&gt;"Now look at the happy life of a SaaS product manager. After launching a&lt;br /&gt;new feature, they get immediate, direct feedback on real-life usage&lt;br /&gt;patterns. They see what works and what doesn't. They can even launch&lt;br /&gt;two versions of a feature to see which works better. Their development&lt;br /&gt;teams can fix problems instantly, without having to issue patches or&lt;br /&gt;service packs."&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;This is his words, not mine. But it sums up pretty nicely why I am really excited about my new job.&lt;br /&gt;&lt;br /&gt;So what about BPM? Well, it's as relevant as ever, but I will no longer be focusing on on-premise BPM Suite style products. As a "hobby" I will be thinking about how to bring more powerful, yet easy-to-use process modeling to the force.com platform but my main focus will be on the API and integration features.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-2092307514458407126?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/2092307514458407126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=2092307514458407126' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/2092307514458407126?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/2092307514458407126?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/08/voting-with-my-feet-can-anyone-ignore.html' title='Voting with my feet: Can anyone ignore SaaS anymore?'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>7</thr:total></entry><entry gd:etag='W/&quot;CkICQHYzfCp7ImA9WxdXEE4.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-7688571598980128718</id><published>2008-06-20T23:42:00.001-07:00</published><updated>2008-06-20T23:42:41.884-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-06-20T23:42:41.884-07:00</app:edited><title>Can Spectral Clustering Help Partition Social Networks?</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Twitter has lots of problems with their architecture that they're trying to solve and the service can undoubtedly be made to perform well by fixing the most obvious problems they have today.&lt;br/&gt;&lt;br/&gt;But ultimately Twitter will run into a scaling problem that's much harder to solve: It will have to efficiently partition the social graph, so it can serve segments of the graph on different servers while minimizing the communication between these servers. This problem is more difficult than the usual cases where caching and user partitioning will fix it all. In fact, the more pure mathematical solutions to the problem happen to be NP-complete, which means that you won't know how long time it will take for a computer to solve them.&lt;br/&gt;&lt;br/&gt;However, I came across a post on &lt;a href='http://socialmedia.typepad.com/blog/2008/03/spectral-graph.html'&gt;Spectral Clustering for Graph Partitioning over on the Social Media Research blog&lt;/a&gt; which describes how spectral clustering can be used to segment social graphs. The methods have been developed for other areas where graph partitioning is of interest and I am not sure if they can be applied as successfully to a problem like Twitter or even larger networks like LinkedIn and Facebook. Specifically I don't know how large the computations would get when you apply the algorithms to a network like LinkedIn with 22M nodes and 120M edges (&lt;a href='http://hurvitz.org/blog/2008/06/linkedin-architecture'&gt;as reported by Oren Hurvitz from LinkedIn's session at JavaOne&lt;/a&gt;). Another problem seems to be that algorithms like &lt;a href='http://www.stanford.edu/%7Edgleich/demos/matlab/spectral/spectral.html'&gt;this one in MATLAB&lt;/a&gt; seem to apply only to symmetric, undirected graphs whereas Twitter is asymmetric, directed (you can follow people without them following you).&lt;br/&gt;&lt;br/&gt;But I am pretty excited that there might exist a practical way to do social graph partitioning and I'd like to look more into it. I am curious if anyone out there have thought along the same lines...&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-7688571598980128718?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/7688571598980128718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=7688571598980128718' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/7688571598980128718?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/7688571598980128718?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/06/can-spectral-clustering-help-partition.html' title='Can Spectral Clustering Help Partition Social Networks?'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>1</thr:total></entry><entry gd:etag='W/&quot;D0AHQng4fSp7ImA9WxdQF0o.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-8099640636368243816</id><published>2008-06-18T00:55:00.001-07:00</published><updated>2008-06-18T00:55:33.635-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-06-18T00:55:33.635-07:00</app:edited><title>More Twitter: Wouldn't this work or am I missing something?</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Pouring through more posts on the Twitter problem, I still didn't see anyone suggesting &lt;a href='http://jesperatwork.blogspot.com/2008/06/if-twitter-wants-to-support-two-usage.html'&gt;the solution I proposed&lt;/a&gt;. They seem satisfied with stating that this is a hard problem to solve.&lt;br/&gt;&lt;br/&gt;&lt;a href='http://www.hueniverse.com/hueniverse/2008/03/on-scaling-a-mi.html'&gt;Hueuniverse&lt;/a&gt; describes the problem from a base assumption that messages are not duplicated out to individual subscribers and correctly states that, with this architecture, delivery of messages is simple while retrieval is very hard to scale (because you have to execute complex queries across distributed databases to retrieve a time line).&lt;br/&gt;&lt;br/&gt;The option of duplicating messages is rather bluntly dismissed:&lt;br/&gt;&lt;blockquote&gt;One simple but painfully restrictive solution is to duplicate the data for each user. Basically what this means is turning the service into an email system. Each user is given a mailbox and whenever someone they are following publishes a status, it is copied into their inbox, as well as into all the other followers’ inboxes. This brings the solution in line with existing systems such as webmail services where data partitioning alone can accomplish great scaling. But this comes at a price. First the data storage grows significantly faster and requires much more disk space, together with increased backup cost. Second, it makes other actions much more complex such as erasing a message once sent.&lt;br/&gt;&lt;br/&gt;[...]&lt;br/&gt;&lt;br/&gt;A big problem with this solution isn’t technical but business-wise. If building a scalable microblogging service simply means a heavy investment in servers and storage, and little actual hardcore technology, the only barrier left for competitors is user acquisition.&lt;br/&gt;&lt;/blockquote&gt;&lt;br/&gt;The blog post continues over 3 parts and ends without offering an alternative solution which leaves me asking: What's so bad about duplicating messages if it keeps Twitter in the air? Who cares if it's "hardcore technology" or user acquisition that gives them a competitive edge?&lt;br/&gt;&lt;br/&gt;I am not sure what kind of usage pattern the author had in mind because there are no examples (i.e. are we talking Scoble or just John Doe). &lt;a href='http://assetbar.wordpress.com/2008/02/08/twitter-proxy-any-interest/'&gt;This post by Israel L’Heureux&lt;/a&gt; comes closer to describing the real problem with duplicating messages:&lt;br/&gt;&lt;blockquote&gt;Nothing is as easy as it looks. When Robert Scoble writes a simple “I’m hanging out with…” message, Twitter has about two choices of how they can dispatch that message:&lt;ol&gt;&lt;li&gt; PUSH the message to the queue’s of each of his 6,864 followers, or&lt;/li&gt;&lt;li&gt; Wait for the 6,864 followers to log in, then PULL the message.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The trouble with #2 is that people like Robert also &lt;i&gt;follow &lt;/i&gt;6,800 people. And it’s unacceptable for him to login and then have to wait for the system to open records on 6,800 people (across multiple db shards), then sort the records by date and finally render the data. Users would be hating on the HUGE latency.&lt;/p&gt;So, the twitter model is almost certainly #1.&lt;br/&gt;&lt;/blockquote&gt;   &lt;br/&gt;(btw, I am convinced Twitter's model is closer to #2 today, but it's irrelevant to the point about duplication). Israel's point is that when you have a LOT of followers, duplication becomes a really big problem. There is a certain point where you can no longer dismiss the amount of disk resources and DB writes required with this model:&lt;br/&gt;&lt;blockquote&gt;&lt;p&gt;Do you see a scaling problem with this scenario?&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;b&gt;&lt;a target='_blank' href='http://twitter.com/Scobleizer'&gt;Scoble&lt;/a&gt;&lt;/b&gt; writes something–boom–&lt;i&gt;6,800 writes&lt;/i&gt; are kicked off. 1 for each follower.&lt;/p&gt; &lt;p&gt;&lt;b&gt;&lt;a target='_blank' href='http://twitter.com/TechCrunch'&gt;Michael Arrington&lt;/a&gt;&lt;/b&gt; replies–boom–another &lt;i&gt;6,600 writes&lt;/i&gt;.&lt;/p&gt; &lt;p&gt;Jason &lt;a target='_blank' href='http://twitter.com/JasonCalacanis'&gt;&lt;b&gt;Calacanis&lt;/b&gt;&lt;/a&gt;  jumps in –boom–another &lt;i&gt;6,500 writes&lt;/i&gt;.&lt;/p&gt;&lt;/blockquote&gt;[...]&lt;br/&gt;&lt;p&gt;And here’s the kicker: that giant processing &amp;amp; delivery effort–possibly &lt;b&gt;a combined 100K disk IOs&lt;/b&gt;– was caused by 3 users, each just sending one, tiny, 140 char message.  How innocent it all seemed.&lt;/p&gt;&lt;/blockquote&gt; Since Israel wrote this, Scoble's fan base has grown to &lt;span class='stats_count numeric' id='followers_count'&gt;27,000+&lt;/span&gt; followers, so this problem is just getting bigger.&lt;br/&gt;&lt;br/&gt;These two blog posts are pretty representative of what I've read about Twitter in the blogosphere. People "get" the problem but they don't really propose a solution to it. &lt;br/&gt;&lt;br/&gt;So I am curious what people think about &lt;a href='http://jesperatwork.blogspot.com/2008/06/if-twitter-wants-to-support-two-usage.html'&gt;the hybrid solution I proposed&lt;/a&gt;:&lt;br/&gt;&lt;br/&gt;&lt;blockquote&gt;So let's look at it another way. Scoble is actually an example of a different usage pattern, let's call it "broadcasting". So why not create a hybrid architecture to support each separately? For "sparse populations" (few connections, few posts) a copy scheme is used. But broadcasters" should be identified and treated differently. For example, the top 10% by number of followers could be treated as broadcasters. A broadcaster's messages are stored centrally and each user pulls them when building the view. Caching increases performance and sharding helps too. Broadcaster's messages can either be pushed to or pulled from each shard, so individual user queries do not have to cross nodes. This would only create as many copies as there are shards/nodes.&lt;br/&gt;&lt;/blockquote&gt;I haven't seen anybody else propose something similar, so I am guessing there is some obvious flaw. Let me know...&lt;br/&gt;&lt;br/&gt;By the way, I think this hybrid solution is really just an example of coming up with a design that matches the usage pattern. If you design a communication solution so it optimizes the use of resources according to the way people tend to naturally communicate, then you're system will be more resource efficient and thus more competitive.&lt;br/&gt;&lt;br/&gt;Social graphs should look similar to how we are socially organized in real life. They have clusters of strong interconnectedness (neighborhood, work, school) with fewer links between these clusters. Overlaying this is a "one-to-many" pattern where many people are also connected to a few "celebrities".&lt;br/&gt;&lt;br/&gt;Optimized communication is a matter of detecting these patterns in the graph and adapt the way messages are delivered and consumed accordingly.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;a rel='tag' href='http://technorati.com/tag/Twitter%20Architecture' class='performancingtags'/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-8099640636368243816?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/8099640636368243816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=8099640636368243816' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/8099640636368243816?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/8099640636368243816?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/06/more-twitter-wouldn-this-work-or-am-i.html' title='More Twitter: Wouldn&amp;#39;t this work or am I missing something?'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DEAEQXo7eCp7ImA9WxdQFUo.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-7728124583210492120</id><published>2008-06-15T17:38:00.001-07:00</published><updated>2008-06-15T17:38:20.400-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-06-15T17:38:20.400-07:00</app:edited><title>I am a Jetty Contributor (I almost forgot)</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Back in the startup days around 1998, we decided at one point to build our next project in Java Servlets (this was before J2EE) and migrate away from the mix of perl and C that we had been using until then.&lt;br/&gt;&lt;br/&gt;Our most successful app was a Chat Server written in C and being used at the busiest public Web Chat Servers in Denmark. We had spent a long time tuning this app for performance and we wanted to get the best possible performance out of Java as we migrated.&lt;br/&gt;&lt;br/&gt;At the time, the &lt;a href='http://jetty.mortbay.org'&gt;Jetty Servlet Engine&lt;/a&gt; was already of high quality and definitely the best choice on the market. I suddenly remembered that I actually contributed a little bit of code to the software. During profiling we found that Java's built-in method for case-insensitive string comparison took up a non-trivial amount of time during request parsing and processing, so I replaced it with some more optimized code (I honestly can barely remember how it looked) and this put me on the &lt;a href='http://jetty.mortbay.org/jetty5/contributors.html'&gt;list of contributors&lt;/a&gt; where I apparently still am today!&lt;br/&gt;&lt;br/&gt;It pleases me to see that Jetty has done well since we started using it about 10 years ago. My hat off to &lt;a href='http://blogs.webtide.com/gregw'&gt;Greg Wilkins&lt;/a&gt; and everyone else on that team.&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-7728124583210492120?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/7728124583210492120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=7728124583210492120' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/7728124583210492120?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/7728124583210492120?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/06/i-am-jetty-contributor-i-almost-forgot.html' title='I am a Jetty Contributor (I almost forgot)'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CkEGRHo9fCp7ImA9WxdRFkw.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-4089785788859100874</id><published>2008-06-04T13:17:00.001-07:00</published><updated>2008-06-04T13:17:05.464-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-06-04T13:17:05.464-07:00</app:edited><title>If Twitter wants to support two usage patterns, it should use a hybrid approach</title><content type='html'>&lt;p&gt;If you're sufficiently tuned into the geek channel, you're probably getting either tired of or curious about the same old song playing again and again: the one about Twitter and its ongoing performance problems. If you're like me, then you can't stop yourself from trying to come up with a better strategy for them even though you're not getting paid for it and they probably have thought of it all already (since this is what they wake up to every morning).&lt;/p&gt; &lt;p&gt;Anyways, just for my own pure satisfaction, I thought about it and I will share my thoughts here even if I am repeating other blogs or if the Twitter boys have already figured it out.&lt;/p&gt; &lt;p&gt;First of all &lt;a href="http://www.slideshare.net/Blaine/scaling-twitter"&gt;the presentation by Blaine Cook&lt;/a&gt; (who is no longer with Twitter) from last year shows that the Twitter team knows all the right strategies.&lt;/p&gt; &lt;div id="__ss_41197" style="width: 425px; text-align: left"&gt;&lt;embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=scaling-twitter-12758" width="425" height="355" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always"&gt;&lt;/embed&gt; &lt;div style="font-size: 11px; padding-top: 2px; font-family: tahoma,arial; height: 26px"&gt;&lt;a href="http://www.slideshare.net/?src=embed"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin-bottom: -5px; border-left: 0px; border-bottom: 0px" alt="SlideShare" src="http://static.slideshare.net/swf/logo_embd.png"&gt;&lt;/a&gt; | &lt;a title="View Scaling Twitter on SlideShare" href="http://www.slideshare.net/Blaine/scaling-twitter?src=embed"&gt;View&lt;/a&gt; | &lt;a href="http://www.slideshare.net/upload?src=embed"&gt;Upload your own&lt;/a&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;Blaine comes up with 5 parts to a better future. Although to me they read more like these 7:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Testing and benchmarking&lt;/li&gt; &lt;li&gt;Getting the 101 stuff right, no bad coding, correct indexing&lt;/li&gt; &lt;li&gt;Denormalization&lt;/li&gt; &lt;li&gt;Partitioning&lt;/li&gt; &lt;li&gt;Caching&lt;/li&gt; &lt;li&gt;Messaging&lt;/li&gt; &lt;li&gt;Dealing with abuse&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;These are all important areas, some of which Twitter has already addressed. I am going to focus on partitioning and then broaden out from there.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Moving to a partitioned model&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Twitter needs to move to a "user shards" distributed database and server architecture. It's clear that they understand this and it's also clear it's not an easy rewrite. But it's essential.&lt;/p&gt; &lt;p&gt;With user shards, users have a "home node" where their data is stored and a load balancer directs a user to his home node when logging on. This helps isolate problems and load surges and it can be beefed up with a master-slave or master-master configuration per node. There will no longer be one big database holding all messages for all users. Each user will for the most part not traverse nodes when reading or writing.&lt;/p&gt; &lt;p&gt;&lt;a href="http://highscalability.com/unorthodox-approach-database-design-coming-shard"&gt;Read more about sharding on highscalability.com&lt;/a&gt;&lt;/p&gt; &lt;p&gt;User shards makes it possible to scale horizontally, but it's not quite a slam dunk due to the messaging/social nature of the app. It brings up another important point that has been discussed a lot: Should messages be copied out to each individual user or should they be "stored once" using queries to build individual views?&lt;/p&gt; &lt;p&gt;User shards only make sense if you copy messages out to each individual user and I personally think this is the right approach. As far as I can tell, this is not what Twitter is doing today.&lt;/p&gt; &lt;p&gt;The common argument against copying is the amount of storage needed and the difficulty of updating messages (deleting them, changing access rigthts, etc). Let me address both of these:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Updating messages&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Updating messages is not impossible, it's just harder when you've copied them out. I don't think this is a big deal. Messages get updated very rarely and when they do, latency can be tolerated so the update process can run at lower priority and decoupled from the front-end.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Storage&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I have a hard time believe this is really a problem for the &lt;em&gt;average user.&lt;/em&gt; To pull some numbers out of a hat, let's say the average user has 50 followers and posts 20 messages a day. A message is 140 chars, so let's say it takes 500 bytes to store it (unicode plus overhead). This means each user will produce 500kb of data each day or about or 15MB a month. I just don't see this amount of data as a problem.&lt;/p&gt; &lt;p&gt;Now the heavy users are a different story. Take Robert Scoble. &lt;a href="http://tweetstats.com/graphs/Scobleizer"&gt;On his top month he posted over 2000 messages&lt;/a&gt; or 70 a day on average and he has 26,000 followers. This results in 1GB+ a month of data if you copy all his messages out to all his followers. Is this too much storage consumption? There are two ways of looking at it. One, it's not really Robert who consumes this much storage. It's the 26,000 followers, so on a per user basis, it's not that big a deal. But for a startup like Twitter, I can certainly understand that they would not be happy with this kind of storage requirements.&lt;/p&gt; &lt;p&gt;So let's look at it another way. Scoble is actually an example of a different usage pattern, let's call it "broadcasting". So why not create a hybrid architecture to support each separately? For "sparse populations" (few connections, few posts) a copy scheme is used. But broadcasters" should be identified and treated differently. For example, the top 10% by number of followers could be treated as broadcasters. A broadcaster's messages are stored centrally and each user pulls them when building the view. Caching increases performance and sharding helps too. Broadcaster's messages can either be pushed to or pulled from each shard, so individual user queries do not have to cross nodes. This would only create as many copies as there are shards/nodes.&lt;/p&gt; &lt;p&gt;The Twitter team seems to be on top of caching and messaging. Both are crucial to ensure proper response times, but as some has pointed out, they won't solve all problems alone. Partitioning and the hybrid approach described above will help make it work.&lt;/p&gt; &lt;p&gt;Finally, I don't understand why Twitter hasn't imposed limits on number of followers or friends. Over time they would want to increase these limits, but meanwhile they should impose limits that help keep the system running.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-4089785788859100874?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/4089785788859100874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=4089785788859100874' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/4089785788859100874?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/4089785788859100874?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/06/if-twitter-wants-to-support-two-usage.html' title='If Twitter wants to support two usage patterns, it should use a hybrid approach'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;A08FQ3wzeip7ImA9WxdRFU8.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-2520427829396268699</id><published>2008-06-03T14:49:00.001-07:00</published><updated>2008-06-03T14:50:12.282-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-06-03T14:50:12.282-07:00</app:edited><title>Next Steps: Life after BEA</title><content type='html'>&lt;p&gt;Oracle completed its acquisition of BEA in the beginning of May and I decided to take the opportunity to move on and look for something new after 5 1/2 good years at BEA.&lt;/p&gt; &lt;p&gt;If you are interested in BPM topics and that's why you're reading this blog, then stay tuned. I may very well stay in this important and growing market and continue to cover it here.&lt;/p&gt; &lt;p&gt;I have not yet decided what the next step will be and I will take some time to look around before making a decision. During this time, I expect to blog more frequently, but on broader topics.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-2520427829396268699?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/2520427829396268699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=2520427829396268699' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/2520427829396268699?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/2520427829396268699?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/06/next-steps-life-after-bea.html' title='Next Steps: Life after BEA'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>5</thr:total></entry><entry gd:etag='W/&quot;C08AQ3wyeyp7ImA9WxdSGEs.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-5028071160284793461</id><published>2008-05-26T21:17:00.001-07:00</published><updated>2008-05-26T21:17:22.293-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-05-26T21:17:22.293-07:00</app:edited><title>New Blog Location</title><content type='html'>&lt;p&gt;This site has been living a quiet existence as a "mirror" of my main blog over on dev2dev.bea.com. But I am now changing over and making this site my main blog location. To those of you who have followed me over from dev2dev, I hope you will continue to enjoy my posts. I am currently in a transition phase, so I will probably not be posting much about BPM in the coming weeks, but stay tuned. I will keep you updated on what's happening.&lt;/p&gt; &lt;p&gt;As always, comments are very welcome, either here or on &lt;a href="http://friendfeed.com/jesperfj"&gt;FriendFeed&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-5028071160284793461?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/5028071160284793461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=5028071160284793461' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/5028071160284793461?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/5028071160284793461?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/05/new-blog-location.html' title='New Blog Location'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;D0cBSXc-eSp7ImA9WxdSE08.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-314771419745930730</id><published>2008-05-20T16:10:00.001-07:00</published><updated>2008-05-20T16:10:58.951-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-05-20T16:10:58.951-07:00</app:edited><title>Over 125 people in our BPM labs at Participate!</title><content type='html'>&lt;p&gt;Oracle|BEA Participate is over. At the event we had well over 125 people visiting our BPM labs to do hands-on exercises. This a huge percentage of the total 600+ attendees, particularly when you consider that 4 parallel tracks of really interesting sessions were taking place at the same time. Tough competition!&lt;/p&gt; &lt;p&gt;We are really impressed and happy with this interest and we hope that everybody enjoyed the lab exercises. We used a VMWare image to host the configuration of AquaLogic BPM Studio and the projects used in the exercises, so we cannot easily distribute this (yet). But here are the PDFs for all the exercises:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;a href="http://jesperfj.googlepages.com/1-ModelingandSimulation.pdf"&gt;Modeling and Simulation&lt;/a&gt; (Business - Basic)  &lt;li&gt;&lt;a href="http://jesperfj.googlepages.com/2-BusinessUserWorkSpaceandDashboard.pdf"&gt;Business User WorkSpace and Dashboard&lt;/a&gt; (Business - Basic)  &lt;li&gt;&lt;a href="http://jesperfj.googlepages.com/3-YourFirstBPMProject.pdf"&gt;Your First BPM Project&lt;/a&gt; (Technical - Basic)  &lt;ol&gt; &lt;li&gt;&lt;a href="http://jesperfj.googlepages.com/3.1-YourFirstModificationofaBPMProje.pdf"&gt;Your First Modification of a BPM Project&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt; &lt;li&gt;&lt;a href="http://jesperfj.googlepages.com/4-AdvancedModeling.pdf"&gt;Modeling Best Practices&lt;/a&gt; (Technical - Basic)  &lt;li&gt;&lt;a href="http://jesperfj.googlepages.com/5-DivingDeepIntoWorkSpace.pdf"&gt;Diving Deep into the WorkSpace&lt;/a&gt; (Technical - Basic)  &lt;li&gt;&lt;a href="http://jesperfj.googlepages.com/6-ProcessDebugging.pdf"&gt;Testing and Debugging Processes&lt;/a&gt; (Technical - Advanced)  &lt;li&gt;&lt;a href="http://jesperfj.googlepages.com/7-DeploymentandConfiguration.pdf"&gt;Deployment and Configuration&lt;/a&gt; (Technical - Advanced)  &lt;li&gt;&lt;a href="http://jesperfj.googlepages.com/8-ALSBIntegration.pdf"&gt;BPM and Enterprise Service Bus&lt;/a&gt; (Technical - Advanced)&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Finally, big kudos to the team who pulled this off: Mariano, Mateo, Nicolas, Juan, Fernando and the many others who helped during the show! &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-314771419745930730?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/314771419745930730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=314771419745930730' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/314771419745930730?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/314771419745930730?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/05/over-125-people-in-our-bpm-labs-at.html' title='Over 125 people in our BPM labs at Participate!'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>2</thr:total></entry><entry gd:etag='W/&quot;D04DSXk8cSp7ImA9WxdTEkU.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-1512309685914321704</id><published>2008-05-08T15:27:00.001-07:00</published><updated>2008-05-08T15:32:58.779-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-05-08T15:32:58.779-07:00</app:edited><title>Want the real deal? Try BPM hands-on at BEA Participate BPM Labs</title><content type='html'>&lt;p&gt; &lt;/p&gt; &lt;p&gt;I have almost wrapped up my homework for &lt;a href="http://bea.com/participate"&gt;BEA Participate&lt;/a&gt; and I am fired up and ready to go.&lt;/p&gt; &lt;p&gt;This year, I won't be speaking in any of the sessions. Instead I have devoted my time to our Participate BPM Hands-on Labs. The lab is open Tuesday after lunch and all Wednesday and you will be able to pick between 8 lab exercises that target beginners as well as advanced users and cover both the business and IT side.&lt;/p&gt; &lt;p&gt;So this is not just a propeller head thing. If you are on the business side and you are wondering why in the world you should care about BPM software or you've asked yourself "How does this look like in real life?" then you should stop by the labs and find out.&lt;/p&gt; &lt;p&gt;Here are the list of lab exercises:&lt;/p&gt; &lt;table border="1" cellpadding="2" cellspacing="0" width="587"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td rowspan="2" valign="top" width="149"&gt;Business Focused&lt;/td&gt; &lt;td valign="top" width="220"&gt;Modeling and Simulation&lt;/td&gt; &lt;td valign="top" width="216"&gt;Learn how a business analyst uses AquaLogic BPM to analyze and optimize processes&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="219"&gt;Business User WorkSpace and Dashboard&lt;/td&gt; &lt;td valign="top" width="216"&gt;Explore how ALBPM gives business users visibility and control over processes&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td rowspan="3" valign="top" width="151"&gt;Technical - Basic&lt;/td&gt; &lt;td valign="top" width="219"&gt;Your First BPM Project&lt;/td&gt; &lt;td valign="top" width="216"&gt;From "File -&amp;gt; New Project" to a running process&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="219"&gt;Modeling Best Practices&lt;/td&gt; &lt;td valign="top" width="216"&gt;Explore further the capabilities of process modeling&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="219"&gt;Diving Deep into the WorkSpace&lt;/td&gt; &lt;td valign="top" width="216"&gt;Create a complete new look and feel for your end-users application&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td rowspan="3" valign="top" width="151"&gt;Technical - Advanced&lt;/td&gt; &lt;td valign="top" width="219"&gt;Testing and Debugging Processes&lt;/td&gt; &lt;td valign="top" width="216"&gt;Step though a live engine and troubleshoot a running process&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="219"&gt;Deployment and Configuration&lt;/td&gt; &lt;td valign="top" width="216"&gt;Create and maintain a BPM Infrastructure using scripts&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="219"&gt;BPM and Enterprise Service Bus integration&lt;/td&gt; &lt;td valign="top" width="216"&gt;Integrate business processes with the SOA infrastructure.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;The lab is located in the &lt;strong&gt;New Orleans room&lt;/strong&gt; on the &lt;strong&gt;Gold Level&lt;/strong&gt; of the Hyatt Regency, Chicago. That's right here:&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/jesperfj/SCN-THJpkMI/AAAAAAAAAB8/aOEwVl5_HSs/s1600-h/labs_location%5B6%5D.png"&gt;&lt;img style="border: 0px none ;" alt="labs_location" src="http://lh6.ggpht.com/jesperfj/SCN-TXJpkNI/AAAAAAAAACE/gE04yhHeOEg/labs_location_thumb%5B4%5D.png?imgmax=800" border="0" height="415" width="565" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;Looking forward to seeing you all there!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-1512309685914321704?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/1512309685914321704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=1512309685914321704' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/1512309685914321704?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/1512309685914321704?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/05/want-real-deal-try-bpm-hands-on-at-bea.html' title='Want the real deal? Try BPM hands-on at BEA Participate BPM Labs'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/jesperfj/SCN-TXJpkNI/AAAAAAAAACE/gE04yhHeOEg/s72-c/labs_location_thumb%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;D0cDSXw_eyp7ImA9WxZaFEQ.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-958537285806435921</id><published>2008-04-29T10:49:00.001-07:00</published><updated>2008-04-29T11:51:18.243-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-04-29T11:51:18.243-07:00</app:edited><title>Sneak preview of BPMN support in next BPM release</title><content type='html'>&lt;p&gt;Alex Toussaint just posted a sneak preview of the new Studio look and feel in our next release of the BPM Suite. &lt;a href="http://www.brsilver.com/wordpress/2008/04/28/bea-edging-toward-bpmn/"&gt;Bruce Silver&lt;/a&gt; was looking for a bit more bling in the diagram, so here's another screen shot showing a little more rich use of BPMN specific icons:&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/jesperfj/SBdfjhUpdjI/AAAAAAAAABo/wSiIoFPMpRk/s1600-h/BPMN%5B4%5D.jpg"&gt;&lt;img style="border-width: 0px;" alt="BPMN" src="http://lh4.ggpht.com/jesperfj/SBdfjxUpdkI/AAAAAAAAAB0/3UxTlYHzJtk/BPMN_thumb%5B2%5D.jpg?imgmax=800" border="0" height="327" width="454" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;We've kept the curved transitions to make it easier for our existing users to keep their "classic" style if they want.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:03fe20a4-7555-4a19-b4e6-71688ea12092" style="margin: 0px; padding: 0px; display: inline;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/BPMN" rel="tag"&gt;BPMN&lt;/a&gt;, &lt;a href="http://technorati.com/tags/BEA" rel="tag"&gt;BEA&lt;/a&gt;, &lt;a href="http://technorati.com/tags/BPM" rel="tag"&gt;BPM&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-958537285806435921?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/958537285806435921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=958537285806435921' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/958537285806435921?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/958537285806435921?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/04/sneak-preview-of-bpmn-support-in-next.html' title='Sneak preview of BPMN support in next BPM release'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/jesperfj/SBdfjxUpdkI/AAAAAAAAAB0/3UxTlYHzJtk/s72-c/BPMN_thumb%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;CkAFRn4yeyp7ImA9WxZbEk4.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-4557468828361864166</id><published>2008-04-14T20:38:00.001-07:00</published><updated>2008-04-14T20:38:37.093-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-04-14T20:38:37.093-07:00</app:edited><title>Andrew McAfee, Verizon, Proctor &amp; Gamble at BPM and Social Computing Event, May 12-15 in Chicago. iPod Touch for all attendees.</title><content type='html'>&lt;p&gt;If you're a current BEA ALBPM or ALUI customer, I hope you've already heard about &lt;a href="http://www.bea.com/participate"&gt;BEA Participate&lt;/a&gt; (if not, then hurry up and check it out, you definitely want to be at this event). If you're currently evaluating some of BEA's BPM and Social Computing products, then you should definitely check out this event and talk to your sales rep about participating.  &lt;p&gt;&lt;strong&gt;Yes. The title is correct: At the low price of $1295 for registration, you will get a free iPod Touch to use at the event AND take home after if you want.&lt;/strong&gt;  &lt;p&gt;Here's what's happening:  &lt;ul&gt; &lt;li&gt;&lt;b&gt;Keynotes:&lt;/b&gt; Andrew &lt;u&gt;McAfee&lt;/u&gt; on Enterprise 2.0, Procter &amp;amp; Gamble on portal &amp;amp; social computing, and &lt;u&gt;Verizon&lt;/u&gt; on the industry’s largest BPM deployment. &lt;br&gt; &lt;li&gt;&lt;b&gt;Customer speakers:&lt;/b&gt; Novartis, McKesson, University of Pittsburgh, US Office of Secretary of Defense, JPMorgan, Boeing, Weyerhaeuser, Screwfix, United Healthcare Group and many more which is featured in the &lt;a href="http://www.bea.com/participate/track_session.jsp"&gt;agenda&lt;/a&gt;.&lt;br&gt; &lt;li&gt;&lt;b&gt;Agenda: &lt;/b&gt;a packed &lt;a href="http://www.bea.com/participate/track_session.jsp"&gt;agenda&lt;/a&gt; with sessions ranging from KM in modern workplace, business rules, APIs galore, integration with packaged apps and many more. There’s something for everyone whether you’re a developer, coder, LOB, architect, IT mgr, business analyst or project mgr so no one will get left behind. &lt;br&gt; &lt;li&gt;&lt;b&gt;iPod Touch:&lt;/b&gt; more social applications then you know what to do with at this conference and all on ALI 6.5. And yes, attendees get to keep the iPod Touch (unless you don’t want it). &lt;br&gt; &lt;li&gt;&lt;b&gt;Product Experts:&lt;/b&gt; more BEA experts, engineers and architects flowing around to chat with and join in the white-boarding style sessions in between breakouts and meals. &lt;br&gt; &lt;li&gt;&lt;b&gt;Customer&lt;/b&gt;&lt;b&gt; Briefing Center&lt;/b&gt;&lt;b&gt;:&lt;/b&gt; schedule intimate one-on-one meetings with BEA executives and product gurus&lt;br&gt; &lt;li&gt;&lt;b&gt;Accenture:&lt;/b&gt; Accenture and BEA has teamed up to create an Accenture Innovation Center for BEA based solutions. This group will be at Participate and you can schedule a meeting with them to discuss your project needs.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;This will truly be a unique event. We hear it over and over again from our customers: You don't want to just listen to us. You want to talk to your peers and tap into the collective experience. The feedback from last year's event was very positive. This is the best learning and networking opportunity for the users of BEA's BPM and Social Computing products.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.register123.com/event/profile/form/index.cfm?PKformID=0x489688852f"&gt;Sign Up!&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:05b0d2f7-3b40-463b-ab3e-6864800caa16" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/BEA" rel="tag"&gt;BEA&lt;/a&gt;, &lt;a href="http://technorati.com/tags/BPM" rel="tag"&gt;BPM&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Social%20Computing" rel="tag"&gt;Social Computing&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-4557468828361864166?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/4557468828361864166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=4557468828361864166' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/4557468828361864166?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/4557468828361864166?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/04/andrew-mcafee-verizon-proctor-gamble-at.html' title='Andrew McAfee, Verizon, Proctor &amp;amp; Gamble at BPM and Social Computing Event, May 12-15 in Chicago. iPod Touch for all attendees.'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;A08NQHwzcCp7ImA9WxZbEk8.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-1812711083082397863</id><published>2008-04-14T20:24:00.001-07:00</published><updated>2008-04-14T20:24:51.288-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-04-14T20:24:51.288-07:00</app:edited><title>You can serialize BPMN into BPEL, but BPEL should not be the serialization standard</title><content type='html'>&lt;p&gt;Bruce has &lt;a href="http://www.brsilver.com/wordpress/2008/04/04/more-on-bpmn-to-bpel/"&gt;written another chapter&lt;/a&gt; (and &lt;a href="http://www.brsilver.com/wordpress/2008/04/05/automating-the-bpmn-bpel-interleaving-solution/"&gt;follow-up&lt;/a&gt;) in the developing story of BPMN and BPEL in a response to a post by &lt;a href="http://kswenson.wordpress.com/2008/04/03/wydiwye-the-answer-to-bpel-transform-problems/"&gt;Keith Swenson&lt;/a&gt;. Bruce is, as always, spot on. (I just wish he would include AquaLogic BPM when he mentions products that can execute BPMN.)&lt;/p&gt; &lt;p&gt;As Bruce explains, BPMN is not always easy to map to BPEL and the reason is that BPMN allows you to draw a full graph while BPEL is block oriented (Bruce's examples illustrates it well). The pro-BPEL folks say that this is not a problem because you can always devise a strategy&amp;nbsp; to "unfold" the graph into a block structure. That's true, you can always find a way to represent a BPMN diagram in BPEL. But &lt;em&gt;the way&lt;/em&gt; you choose to do this is likely to be &lt;em&gt;your way. &lt;/em&gt;It will not be standardized. Therefore, the same BPMN diagram will end up looking different in BPEL depending on your tool/engine/custom method. &lt;/p&gt; &lt;p&gt;In theory, when the process executes, this doesn't matter. The "unfolding" should not change the behavior specified by BPMN, so the result of the execution should be the same if two different strategies are chosen. But the problem is that the strategy is proprietary. For example, A BPMN compliant BAM tool doesn't know how to show process trace for a process executed in BPEL. A BPMN compliant simulation tool cannot take the BPEL file and turn it back into the original BPMN file because it doesn't know the strategy used to go from BPMN to BPEL.&lt;/p&gt; &lt;p&gt;Now you might say: Why don't we just create a standardized mapping from BPMN to BPEL?&lt;/p&gt; &lt;p&gt;Yup. That would work. It would solve those problems. But the thing is, then we need to create this new standard. And if we need to create a new standard, then the whole reason for trying to use BPEL as the serialization standard (reason being that the standard already exists) disappears. &lt;/p&gt; &lt;p&gt;&lt;em&gt;To use BPEL as a serialization standard for BPMN, we will have to create another standard anyway. That standard being the mapping of BPMN to BPEL.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;The other approach is to create from scratch a serialization format for BPMN, aka a meta model; basically a schema for how to represent a BPMN diagram as a data structure. I like this approach much better. &lt;/p&gt; &lt;p&gt;The importance of BPMN lies in the need for a familiar visualization of business processes that is maintained across repositories, execution engines, BAM tools (process auditing), modeling environments etc. I believe this &lt;em&gt;requires&lt;/em&gt; a BPMN-centric meta model. Let me explain: Say you don't have a BPMN meta model, but you have BPEL plus a standardized serialization method. If you're building a BAM tool where you want to show alerts, queue sizes etc. rendered on the process diagram itself, you will have to take the BPEL and apply the de-serialization strategy to turn it back into BPMN (remember, no one will be familiar with the BPEL for visualization because it was not used to build the original model, it was generated from BPMN using the serialization method). Doing this will require you to invent your own meta model for BPMN so you can store and render the resulting BPMN diagram in your application. It's pretty likely that no two applications will invent the same BPMN meta model and thus the diagrams will look and/or behave different even if it wasn't intended. This is the wrong track. It is too error-prone, requires unnecessary duplication of work (many meta models) and it forces too much focus on BPEL when BPEL is really mostly relevant for execution. BPEL is not suitable for business process modeling because it's too restrictive and machine oriented. This has been acknowledged pretty widely in the industry, so I hope it's not a controversial statement.&lt;/p&gt; &lt;p&gt;This is not a criticism of BPEL as an execution format. But it appears much more sensible to standardize a meta model for BPMN and then let vendors build implementation specific mappings to BPEL from there.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8093b15e-31db-43d9-af66-1357f043b0bd" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/BPMN" rel="tag"&gt;BPMN&lt;/a&gt;, &lt;a href="http://technorati.com/tags/BPEL" rel="tag"&gt;BPEL&lt;/a&gt;, &lt;a href="http://technorati.com/tags/BPM" rel="tag"&gt;BPM&lt;/a&gt;, &lt;a href="http://technorati.com/tags/BEA" rel="tag"&gt;BEA&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-1812711083082397863?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/1812711083082397863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=1812711083082397863' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/1812711083082397863?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/1812711083082397863?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/04/you-can-serialize-bpmn-into-bpel-but.html' title='You can serialize BPMN into BPEL, but BPEL should not be the serialization standard'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>3</thr:total></entry><entry gd:etag='W/&quot;A0cNQnc5fip7ImA9WxZbEk8.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-8648389742621709044</id><published>2008-04-14T20:06:00.000-07:00</published><updated>2008-04-14T20:11:33.926-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-04-14T20:11:33.926-07:00</app:edited><title>Integrated BPM Suite from IBM? I am not quite sold yet...</title><content type='html'>&lt;p&gt;IBM has been marketing their plethora of BPM related products as one integrated BPM Suite for some time. With the acquisition of FileNet it became even more difficult to select which product to get from IBM for BPM.&lt;/p&gt; &lt;p&gt;Now &lt;a href="http://www-03.ibm.com/press/us/en/pressrelease/23821.wss"&gt;they've announced&lt;/a&gt; that they're really getting serious about integrating these components. &lt;a href="http://www.brsilver.com/wordpress/2008/04/08/ibm-announces-a-bpm-suite/"&gt;Bruce Silver has offered his perspective on this&lt;/a&gt; (&lt;a href="http://www.brsilver.com/wordpress/2008/04/09/ibm-bpms-announcement-decoded/"&gt;and followed up with more&lt;/a&gt;). From a competitor's perspective this is a really interesting announcement because on one side it acknowledges the importance of an integrated BPMS (such as &lt;a href="http://www.bea.com/bpm"&gt;AquaLogic BPM&lt;/a&gt;) and on the other side it admits that IBM does not have this yet.&lt;/p&gt; &lt;p&gt;Now if they could only catch up quickly, it shouldn't be such a big deal right? &lt;/p&gt; &lt;p&gt;Right, but it's not going to be easy for IBM to bring all those pieces together. We're talking dozens of products, home-grown and acquired, built on different architectures for different use-cases and now owned by different product groups, marketed under different brands and maybe even sold by different sales teams. There are overlaps and conflicts of interests all the way up and down the stack from engineering to sales, not to mention the headache of supporting existing customers. They have to align at least 4-5 executives and their organizations to make this happen and that's a hard thing to do in any company.&lt;/p&gt; &lt;p&gt;I'll be looking forward to seeing some execution on this.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a425b3db-28ef-4bb0-a9ed-88a6477678a7" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/BEA" rel="tag"&gt;BEA&lt;/a&gt;, &lt;a href="http://technorati.com/tags/BPM" rel="tag"&gt;BPM&lt;/a&gt;, &lt;a href="http://technorati.com/tags/IBM" rel="tag"&gt;IBM&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-8648389742621709044?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/8648389742621709044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=8648389742621709044' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/8648389742621709044?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/8648389742621709044?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/04/integrated-bpm-suite-from-ibm-i-am-not.html' title='Integrated BPM Suite from IBM? I am not quite sold yet...'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;Dk4HRH47fip7ImA9WxZVFE0.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-8649680739423124085</id><published>2008-03-24T17:27:00.001-07:00</published><updated>2008-03-24T17:28:55.006-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-03-24T17:28:55.006-07:00</app:edited><title>Amazon EC2: A bullet-proof demo environment that facilitates collaborative and iterative development</title><content type='html'>&lt;p&gt;Over the last couple of months, I've been spending some time on &lt;a href="http://aws.amazon.com/ec2"&gt;Amazon EC2&lt;/a&gt;. I started by &lt;a href="http://jesperatwork.blogspot.com/2008/02/installing-aqualogic-bpm-enterprise.html"&gt;installing ALBPM Enterprise with an Oracle DB and it went pretty smooth&lt;/a&gt;. I moved on to installing ALI, ALIC, ALBPM Enterprise and Oracle on another image and while it took a little longer to get all the parts together I've now also got that one up and running minus a few last items. I took extensive notes but most of my experience will be outdated very soon when we release ALI 6.5 and ALBPM 6.1. These new releases will radically simplify the combined setup and instead of spending the time to clean up and double check my install notes, I am going to wait for this new release and write a post on how to run it on EC2.&lt;/p&gt; &lt;p&gt;I promised in my earlier post that I would discuss the reasons and pros and cons of using Amazon EC2. Here are some of the use cases I see for the service in increasing order of complexity/applicability/uncertainty of value:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;A bullet-proof demo environment that facilitates collaborative and iterative development of demos  &lt;li&gt;A bullet-proof test environment that is highly scalable and can be heavily automated  &lt;li&gt;Extra capacity for on-premise systems that are already exposed to external users as well as internal systems (but security implications must be considered)  &lt;li&gt;Primary hosting vehicle for certain external and internal solutions configured and managed on premise (for internal solutions, security implications must be considered)  &lt;li&gt;Hosting platform for independent service providers (highly dependent on cost structure and value added by the services of the ISV, in some ways this is just a special case of 3 and 4)&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;The rest of this post describes the first of these use cases.&lt;/p&gt; &lt;h3&gt;A bullet-proof demo environment that facilitates collaborative and iterative development of demos&lt;/h3&gt; &lt;p&gt;Building and giving demos of enterprise software can be quite a daunting task. A demo often needs to show more than just the basic features. It needs to show how a product works with other products and it can be quite complex to get all this software installed and configured properly. Moreover, often the demo itself will change the state of the system which in best case will require you to "undo" or reset it in some way, in worst case it can make the system unstable and cause future demos to fail. Now, you might say that good quality software shouldn't behave like this. But keep in mind that the software wasn't designed for demos but rather for large-scale, perpetual deployments and requirements are very different for these two scenarios. To be more accurate, software vendors actually do consider demo requirements as part of product planning, but they don't always get high priority and even if they do, there is an important use case for complex demos at the cutting edge that cannot be planned for in advance.&lt;/p&gt; &lt;p&gt;One approach used widely today is to use vmware. With vmware you can build a demo on a vmware image, then "snapshot" it and now you can rerun it as many times as you like without anything breaking.&lt;/p&gt; &lt;p&gt;The problem with the vmware image is that it requires a lot of resources on your local laptop. It can tend to run slower than you'd like and the image often takes up many gigabytes of hard drive space. With an 80-120 GB hard drive, you won't be able to store a whole lot of images, so most people have a separate external hard drive for this purpose. This is annoying in itself, but the thing most people complain about is that it's not easy to share the image with your fellow demoers (pre-sales engineers for example).&lt;/p&gt; &lt;p&gt;Building demos should really be a collaborative and incremental activity. You start with a v1.0, your buddy then adds Gadget X which makes it even cooler. He shares it with the team and other people come up with further improvements and so on. This is really hard if you rely on &lt;a href="http://en.wikipedia.org/wiki/Sneakernet"&gt;sneakernet&lt;/a&gt; for sharing images. If you're a pre-sales engineer, you're often on the move and it just takes too long to download multi-gigabyte images over some hotel connection. You definitely don't want to rely on it for your demo the next day, and you will rarely have the time to snapshot and upload any improvements you've made. The result is that this just doesn't work. In our SE organization I think only a few people rely on vmware images for demos and they all really wish they could collaborate more.&lt;/p&gt; &lt;p&gt;Amazon EC2 makes this possible. It has all the benefits of a vmware image and on top of that it is stored in the cloud and it runs in the cloud. With a little additional magic you can even build demo configurations consisting of multiple hosts that talk to each other and emulate, say an SOA. Your images are stored on and loaded from S3, Amazon's storage service. So you never have to download to / upload from your laptop. As with vmware, your image can be booted over and over again and you will always start with the exact configuration that you want, so you know your demo will run smoothly.&lt;/p&gt; &lt;p&gt;But the most interesting advantage is that you can share your images with other EC2 users. Say a friend on your team would like to use your demo for a meeting the next day and she wants to add a few bells and whistles to it. Here's how you do it:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;a href="http://docs.amazonwebservices.com/AWSEC2/2007-08-29/DeveloperGuide/AESDG-chapter-sharingamis.html"&gt;You add access privileges&lt;/a&gt; to your image for your friend's EC2 account.The image is still stored on your S3 account and is read-only, so nothing will happen to it.  &lt;li&gt;Your friend can now boot up an instance from your image  &lt;li&gt;Once booted your friend adds some new cool features and bundles up the new configuration as a new image stored on her own S3 account.  &lt;li&gt;Your friend demos the new stuff to a customer. Everything goes smoothly because the demo is booted from an image that was tested the night before. It can be repeated endlessly without breaking.  &lt;li&gt;Now your friend can share this new image with you and everybody else on the team. Everyone can now benefit from these new enhancements with having to shuttle gigabytes of data over the wires or meet in person for some hard drive sharing.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;I am not sure if this sounds like modest benefits to existing vmware users. But I am convinced that this model has the potential to dramatically increase creativity and "prototype/demo innovation" which I think is really important to competitive enterprise software sales. I am very interested in feedback from SEs and people in similar roles that may be using this approach or just agree/disagree with this use case.&lt;/p&gt; &lt;h3&gt;Costs and limitations&lt;/h3&gt; &lt;p&gt;Of course Amazon EC2 comes with some costs and some limitations. The costs are pretty straight forward (copied directly from the &lt;a href="http://www.amazon.com/gp/browse.html?node=201590011"&gt;EC2 page&lt;/a&gt;):&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;a name="top"&gt;&lt;/a&gt; &lt;p&gt;&lt;strong&gt;Instances&lt;br&gt;&lt;/strong&gt;&lt;br&gt;$0.10 - Small Instance (Default)  &lt;ul&gt;1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB of instance storage, 32-bit platform &lt;/ul&gt; &lt;p&gt;$0.40 - Large Instance  &lt;ul&gt;7.5 GB of memory, 4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each), 850 GB of instance storage, 64-bit platform &lt;/ul&gt; &lt;p&gt;$0.80 - Extra Large Instance  &lt;ul&gt;15 GB of memory, 8 EC2 Compute Units (4 virtual cores with 2 EC2 Compute Units each), 1690 GB of instance storage, 64-bit platform &lt;/ul&gt; &lt;p&gt;Pricing is per instance-hour consumed for each instance type. Partial instance-hours consumed are billed as full hours.  &lt;p&gt;One EC2 Compute Unit provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor. This is also the equivalent to an early-2006 1.7 GHz Xeon processor referenced in our original documentation. &lt;a href="http://www.amazon.com/gp/browse.html?node=201590011#measure"&gt;See Measuring Compute Resources&lt;/a&gt; for a complete description of an EC2 Compute Unit.  &lt;p&gt;See &lt;a href="http://www.amazon.com/b/ref=sc_fe_c_0_201590011_2?ie=UTF8&amp;amp;node=370375011&amp;amp;no=201590011&amp;amp;me=A36L942TSJ2AJA"&gt;Amazon EC2 Instance Types&lt;/a&gt; for details on available instance configurations.  &lt;p&gt;&lt;strong&gt;Data Transfer&lt;/strong&gt;  &lt;p&gt;$0.10 per GB - all data transfer in  &lt;p&gt;$0.18 per GB - first 10 TB / month data transfer out&lt;br&gt;$0.16 per GB - next 40 TB / month data transfer out&lt;br&gt;$0.13 per GB - data transfer out / month over 50 TB  &lt;p&gt;Data transfer "in" and "out" refers to transfer into and out of Amazon EC2.  &lt;p&gt;Data transferred within the Amazon EC2 environment, or between Amazon EC2 and Amazon S3 or Amazon SimpleDB, is free of charge (i.e., $0.00 per GB), except data transferred between Amazon EC2 and Amazon S3-Europe, which will be charged at regular rates. All other Amazon S3 storage and request charges will still apply.  &lt;p&gt;Amazon S3 usage is billed separately from Amazon EC2; charges for each service will be billed at the end of the month.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;With respect to limitations, here's what comes to my mind:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;EC2 requires network connectivity. This is potentially a severe limitation because when you're on site at a customer you may not be able to get online. But I am suspecting that it's becoming less of a problem as Internet access becomes more pervasive with corporate guest WI-FI networks and 3G mobile network access.  &lt;li&gt;EC2 is not optimal for demonstrating desktop components: If you want to demo an Eclipse plug-in or a full-fledged desktop app, EC2 might not be the right choice. But it's not impossible. I've seen people &lt;a href="http://mediakey.dk/~cc/howto-install-windows-xp-vista-on-xen/"&gt;putting Windows images on EC2&lt;/a&gt; and you can also get X11 forwarding up and running fairly easily.  &lt;li&gt;EC2 runs Linux (mostly): Like I said above, I've actually seen descriptions for how to get Windows running, but I am not sure how easy it is. Anything that runs on RedHat/Fedora is pretty easy to put on EC2. If you need Windows or Mac, EC2 may provide less benefits.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Anything I've missed?&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:06ba89b4-8af3-41cf-af14-a7f3806db10e" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Amazon%20EC2" rel="tag"&gt;Amazon EC2&lt;/a&gt;, &lt;a href="http://technorati.com/tags/BPM" rel="tag"&gt;BPM&lt;/a&gt;, &lt;a href="http://technorati.com/tags/BEA" rel="tag"&gt;BEA&lt;/a&gt;, &lt;a href="http://technorati.com/tags/virtualization" rel="tag"&gt;virtualization&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-8649680739423124085?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/8649680739423124085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=8649680739423124085' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/8649680739423124085?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/8649680739423124085?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/03/amazon-ec2-bullet-proof-demo.html' title='Amazon EC2: A bullet-proof demo environment that facilitates collaborative and iterative development'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;D04FQns5fCp7ImA9WxZVE0U.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-6637154547313730504</id><published>2008-03-24T12:11:00.001-07:00</published><updated>2008-03-24T12:11:53.524-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-03-24T12:11:53.524-07:00</app:edited><title>Learning more about fraud-detection from the Eliot Spitzer case</title><content type='html'>&lt;p&gt;&lt;a href="http://www.technologyreview.com/Infotech/20435/"&gt;This article&lt;/a&gt; in Technology Review, published by MIT has even more information about the anti-money laundering systems that caught Eliot Spitzer. We regularly get requests for what role a BPM Suite plays in anti-money laundering solutions and the article provides a good context to understand the role of BPM.&lt;/p&gt; &lt;p&gt;First you need to funnel an enormous stream of events from their sources (credit card transactions, account transfers, deposits, etc) to a system that applies all the sophisticated algorithms that detect unusual patterns. This part requires complex event processing as a foundation, but CEP itself is probably not enough and BPM Suite technology is most likely not relevant at all for this job.&lt;/p&gt; &lt;p&gt;A BPM Suite is more likely to be involved when the algorithm detects suspicious activity. This triggers a business process that routes the case to a dedicated group of people for review. The BPM Suite can enrich the record with any relevant information on the customer before it's presented for review. Reviews could be tiered or scheduled in parallel (for additional fidelity) or both. All this would be modeled as a business process and with a BPM Suite this process can be easily integrated to the upstream fraud-detection system that triggered it, the downstream systems that would further process the case (such as the FinCen) and systems in between that can provide additional data or that needs to be updated as part of the process. The human workflow controlled by the task management component of the BPMS and all activity can be monitored to measure resource utilization, guarantee internal SLAs and document regulatory compliance.&lt;/p&gt; &lt;p&gt;In 2006, banks filed a record 567,080 "Suspicious Activity Reports" (SARs) and 2007 is on track set a new record. These are the &lt;em&gt;filtered&lt;/em&gt; activities after bank personnel has reviewed activity flagged by the fraud-detection algorithms. For each of these reports, the bank has reviewed many times more activities flagged by their internal systems. This is the work that the BPM Suite can automate, manage and measure.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d2962e7e-5960-488a-896c-08f8a9413cdb" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/BEA" rel="tag"&gt;BEA&lt;/a&gt;, &lt;a href="http://technorati.com/tags/BPM" rel="tag"&gt;BPM&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Event%20Processing" rel="tag"&gt;Event Processing&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Fraud%20Detection" rel="tag"&gt;Fraud Detection&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-6637154547313730504?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/6637154547313730504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=6637154547313730504' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/6637154547313730504?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/6637154547313730504?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/03/learning-more-about-fraud-detection.html' title='Learning more about fraud-detection from the Eliot Spitzer case'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;A0EDSHc_eyp7ImA9WxZWGUk.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-8513912987412789283</id><published>2008-03-19T11:01:00.001-07:00</published><updated>2008-03-19T11:01:19.943-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-03-19T11:01:19.943-07:00</app:edited><title>BPM Breakfast seminar, Mar 27, New York</title><content type='html'>&lt;p&gt;&lt;a href="http://dev2dev.bea.com/blog/jesperfj/archive/2008/02/we_did_the_hard.html"&gt;As mentioned earlier&lt;/a&gt;, we've recently released our &lt;a href="http://www.bea.com/bpmstateofthemarket"&gt;State of the BPM Market white paper&lt;/a&gt; and we are currently touring 13 cities in the US to meet with business and IT professionals interested in learning about BPM and future trends.&lt;/p&gt; &lt;p&gt;I will be speaking at the &lt;a href="http://bea.com/framework.jsp?CNT=BPM_market_27mar08.htm&amp;amp;FP=/content/news_events/events"&gt;upcoming New York&lt;/a&gt; event taking place at the Ritz Carlton New York, Central Park. We kick off at 8:30am with breakfast and then I will present on BPM market trends followed by Accenture who will talk about customer success with BPM.&lt;/p&gt; &lt;p&gt;I hope we will get a good discussion going. If you are going and have any questions up front, please leave a comment on this post.&lt;/p&gt; &lt;p&gt;If you would like to go and you haven't signed up yet, you can still &lt;a href="http://bea.com/framework.jsp?CNT=BPM_market_27mar08.htm&amp;amp;FP=/content/news_events/events"&gt;register here.&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-8513912987412789283?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/8513912987412789283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=8513912987412789283' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/8513912987412789283?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/8513912987412789283?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/03/bpm-breakfast-seminar-mar-27-new-york.html' title='BPM Breakfast seminar, Mar 27, New York'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;D0YBR3c-fip7ImA9WxZVFE0.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-3295839688673063423</id><published>2008-03-12T10:24:00.000-07:00</published><updated>2008-03-24T17:32:36.956-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-03-24T17:32:36.956-07:00</app:edited><title>Event Processing and Eliot Spitzer</title><content type='html'>&lt;p&gt;An &lt;a href="http://blogs.zdnet.com/BTL/?p=8211"&gt;interesting article on zdnet blogs&lt;/a&gt; explains how the banks' reporting of suspicious transactions to the treasury played a part in revealing Eliot Spitzer's dealings.&lt;/p&gt; &lt;p&gt;Suddenly boring, dry stuff like Complex Event Processing comes to life in a new way. It's probably well-known that banks monitor and report transactions over $10,000. But it turns out they also look for patterns of transactions below the threshold that could indicate foul play. This is obviously a perfect job for a CEP engine combined with some BPM technology and it sounds like there are opportunities for technology investments by the banks:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Institutions must have processes and trained staff in place to identify when and if a CTR (currency transaction report) is required, including the ability to aggregate same-day cash transactions made by or on behalf of the same person, and to file CTRs correctly. &lt;strong&gt;While automation has made these tasks less difficult, most institutions reported that their processes still include “manual” steps&lt;/strong&gt;; for example, most institutions reported that their CTRs are reviewed by branch managers or compliance officers before being sent electronically to FinCEN or by mail to IRS. &lt;strong&gt;Institutions we contacted were generally unable to quantify their costs for meeting CTR requirements&lt;/strong&gt;, in large part because they use the same personnel and processes for meeting other BSA requirements or for other purposes and do not separately account for CTR-related costs.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;(emphasis mine). Interesting. So it looks like there are some money to be saved here, but lack of visibility into the real costs of the manual processing prevents the banks from seeing the potential ROI.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Shameless plug:&lt;/strong&gt; If anyone in anti-money laundering, compliance or fraud detection is reading this, go check out &lt;a href="http://bea.com/framework.jsp?CNT=index.htm&amp;amp;FP=/content/products/weblogic/event_server/"&gt;WebLogic Event Server&lt;/a&gt; and &lt;a href="http://www.bea.com/bpm"&gt;BEA AquaLogic BPM&lt;/a&gt;. This is the technology you need to automate these compliance requirements.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:bffefd91-3028-4ca6-919b-09444c58d0e8" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/BEA" rel="tag"&gt;BEA&lt;/a&gt;, &lt;a href="http://technorati.com/tags/BPM" rel="tag"&gt;BPM&lt;/a&gt;, &lt;a href="http://technorati.com/tags/CEP" rel="tag"&gt;CEP&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Event%20Processing" rel="tag"&gt;Event Processing&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Anti-money%20laundering" rel="tag"&gt;Anti-money laundering&lt;/a&gt;, &lt;a href="http://technorati.com/tags/fraud%20detection" rel="tag"&gt;fraud detection&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-3295839688673063423?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/3295839688673063423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=3295839688673063423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/3295839688673063423?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/3295839688673063423?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/03/event-processing-and-eliot-spitzer.html' title='Event Processing and Eliot Spitzer'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;AkAMSX4-fCp7ImA9WxZWGEs.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-5974284519609196590</id><published>2008-03-10T10:37:00.000-07:00</published><updated>2008-03-18T12:33:08.054-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-03-18T12:33:08.054-07:00</app:edited><title>Ray Ozzie plugs Amazon Web Services</title><content type='html'>&lt;p&gt;Gigaom posted &lt;a href="http://gigaom.com/2008/03/10/the-gigaom-interview-ray-ozzie-microsoft-corp/"&gt;an interview with Ray Ozzie&lt;/a&gt; containing the following question and answer (taken a bit out of context):&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;OM&lt;/strong&gt;: &lt;em&gt;It (mesh-oriented apps) sounds like a great idea, but in reality can we actually deliver that kind of a mesh app architecture, and how soon?&lt;/em&gt; &lt;/p&gt;    &lt;p&gt;&lt;strong&gt;RAY OZZIE&lt;/strong&gt;: I think that you&amp;#8217;ll see is over the course of this year, to 18 months, you&amp;#8217;ll see the incumbents and startups, both, do their first big volleys of services platform, apps tools, runtimes, various things. &lt;strong&gt;It really isn&amp;#8217;t being taken seriously right now by anybody except Amazon. They&amp;#8217;ve done the world a service by putting out there some fairly provocative, interesting services.&lt;/strong&gt; &lt;/p&gt;    &lt;p&gt;(emphasis mine)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This is &lt;em&gt;exactly&lt;/em&gt; how I feel about Amazon's web services after having played around with EC2. &lt;/p&gt;  &lt;p&gt;After &lt;a href="http://dev2dev.bea.com/blog/jesperfj/archive/2008/02/installing_aqua.html"&gt;going through my experience&lt;/a&gt; I brought it up in conversations with many different people inside and outside BEA. Some people knew about EC2, very few, if any, knew exactly how it worked and it took a bit of time to explain. People used to working with VM images (mostly from VMware) understand the virtual OS image part, but the whole thing about command lines that boot up virtual computers in the cloud and all the aspects that come with it take a bit of time to &amp;quot;get&amp;quot;. It did for me too, but once you get it, you can't stop thinking of what kind of opportunities it offers. &lt;/p&gt;  &lt;p&gt;I am not saying that it's the best thing since sliced bread and you're waaay behind if you haven't already built your business model on it. What fascinates me is a sense that we don't know yet how this will be used. People will build businesses on Amazon's services and we don't know if the approach will be a niche or main stream. It could greatly speed up innovation and delivery of services without ending up as a mainstream platform. Or it could be copied and perfected by another company. I think it's a wide open field right now and I don't think we get to experience a wide open field that often. So I am excited. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1a31e1e6-dc78-4538-bd0b-3c59b58753b3" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SaaS" rel="tag"&gt;SaaS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Amazon%20EC2" rel="tag"&gt;Amazon EC2&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-5974284519609196590?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/5974284519609196590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=5974284519609196590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/5974284519609196590?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/5974284519609196590?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/03/ray-ozzie-plugs-amazon-web-services.html' title='Ray Ozzie plugs Amazon Web Services'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;AkAAQXY-eyp7ImA9WxZWGEs.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-6546784652578307683</id><published>2008-02-25T08:31:00.000-08:00</published><updated>2008-03-18T12:32:20.853-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-03-18T12:32:20.853-07:00</app:edited><title>BPM Excellence Awards to BEA Government Customers</title><content type='html'>&lt;p&gt;Congratulations to two of our government customers, Supreme Court of Louisiana and Government of Bermuda. During the &lt;a href="http://www.bpmfocus.org/events/Nashville.aspx"&gt;BPM Awards and Technology Showcase in Nashville&lt;/a&gt; this week, they will be named silver winners of the Global Excellence in Business Process Management and Workflow Award.&lt;/p&gt;  &lt;p&gt;We are naturally proud to be part of this success. We are seeing strong adoption of BPM across governments and public sector entities across the world and it's great to see some of these innovative organizations get credited for their hard work and bold bets.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://biz.yahoo.com/prnews/080225/aqm059.html?.v=38"&gt;Read more in the press release.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d365798e-a8de-4f03-82f8-57ef02db8db2" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/BEA" rel="tag"&gt;BEA&lt;/a&gt;, &lt;a href="http://technorati.com/tags/BPM" rel="tag"&gt;BPM&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Government%20IT" rel="tag"&gt;Government IT&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-6546784652578307683?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/6546784652578307683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=6546784652578307683' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/6546784652578307683?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/6546784652578307683?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/02/bpm-excellence-awards-to-bea-government.html' title='BPM Excellence Awards to BEA Government Customers'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;AkENQnY6eip7ImA9WxZWGEs.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-289701883217412875</id><published>2008-02-20T14:17:00.000-08:00</published><updated>2008-03-18T12:31:33.812-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-03-18T12:31:33.812-07:00</app:edited><title>We did the hard work for you. Read all about it our new State of the BPM Market report</title><content type='html'>&lt;p&gt;BPM has become a fast-growing market with lots of hype and lots of real trends to keep up with. It can be quite overwhelming to chew through all the research that is published in a never-ending stream.&lt;/p&gt;  &lt;p&gt;Therefore we decided to help out. We have synthesized all the research from the last 12 months to give you an aggregate picture of where BPM as a discipline is today. And we did more than that. We also surveyed our own customer base. With over 200 responses from people who are doing BPM today, this is one of the biggest surveys of its kind. We asked them questions about ROI drivers, top product selection criteria, biggest challenges and more.&lt;/p&gt;  &lt;p&gt;The report is available for free &lt;a href="http://www.bea.com/bpmstateofthemarket"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;For more overview info, read the &lt;a href="http://bea.com/framework.jsp?CNT=pr01900.htm&amp;amp;FP=/content/news_events/press_releases/2008&amp;amp;WT.ac=hp_news_bpm_market"&gt;press release&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:de6266f1-9fad-49aa-97c6-907a74591415" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/BEA" rel="tag"&gt;BEA&lt;/a&gt;, &lt;a href="http://technorati.com/tags/BPM" rel="tag"&gt;BPM&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-289701883217412875?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/289701883217412875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=289701883217412875' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/289701883217412875?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/289701883217412875?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/02/we-did-hard-work-for-you-read-all-about.html' title='We did the hard work for you. Read all about it our new State of the BPM Market report'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;AkEAQ3Y7fip7ImA9WxZWGEs.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-7918983002613460792</id><published>2008-02-18T21:37:00.000-08:00</published><updated>2008-03-18T12:30:42.806-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-03-18T12:30:42.806-07:00</app:edited><title>Installing AquaLogic BPM Enterprise Server on Amazon EC2</title><content type='html'>&lt;p&gt;This post details how to install AquaLogic BPM Enterprise on Amazon EC2. But before you get all excited let me point out the &lt;u&gt;limitations&lt;/u&gt; up front:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You will be installing a &lt;u&gt;trial version limited to 60 days and not suitable for production use&lt;/u&gt;. &lt;/li&gt;    &lt;li&gt;A live instance of this installation will only keep its data until you shut it down. There is no persistent storage outside of the instance and therefore &lt;u&gt;you will lose all process data in a shutdown&lt;/u&gt; (intended or unintended). This can actually be an advantage in some scenarios. I will discuss this in a later post. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;With the disclaimer in place we can now get started. As a prerequisite you need to&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Set up an account for Amazon EC2 and S3 &lt;/li&gt;    &lt;li&gt;Download EC2 tools &lt;/li&gt;    &lt;li&gt;Generate certificate and encryption keys &lt;/li&gt;    &lt;li&gt;acquire a basic understanding of EC2 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The best way to accomplish this is by following the &amp;quot;Getting Started Guide&amp;quot; on the EC2 Developer Connection Site. &lt;a href="http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=84"&gt;From the front page&lt;/a&gt;, click on &amp;quot;Get Started&amp;quot; and follow the instructions in the guide. Once you have completed the guide you are ready to go.&lt;/p&gt;  &lt;h3&gt;Start with a base image&lt;/h3&gt;  &lt;p&gt;I use the basic fedora-core4 image provided by Amazon, but others will probably work too. Get the handle of this image:&lt;/p&gt;  &lt;p&gt;&lt;font face="cou"&gt;ec2-describe-images -o amazon&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;This will return a list of images including one looking something like&lt;/p&gt;  &lt;p&gt;IMAGE&amp;#160;&amp;#160; ami-XXX&amp;#160;&amp;#160;&amp;#160; ec2-public-images/fedora-core4-base.manifest.xml amazon&amp;#160; available&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public&lt;/p&gt;  &lt;p&gt;The ami-XXX is the handle. Now boot this image with the command:&lt;/p&gt;  &lt;p&gt;ec2-run-instances ami-XXX -k &amp;lt;keypair&amp;gt;&lt;/p&gt;  &lt;p&gt;where &amp;lt;keypair&amp;gt; is the encryption key pair you created in the Getting Started Guide. Once booted (check with ec2-describe-instances), log in using ssh as you configured it in the Getting Started Guide. In the Getting Started Guide you authorized access to your default group on port 22. You will need to open up access to the following ports as well: 1521 (Oracle DB access), 8080 (Oracle web console) and 8686 (ALBPM Enterprise web applications). Use:&lt;/p&gt;  &lt;p&gt;ec2-authorize default -p 1521    &lt;br /&gt;ec2-authorize default -p 8080     &lt;br /&gt;ec2-authorize default -p 8686&lt;/p&gt;  &lt;p&gt;If you want, you can revoke 1521 access once you're done with configuration.&lt;/p&gt;  &lt;h3&gt;Set up hostnames&lt;/h3&gt;  &lt;p&gt;Every time you load a new EC2 instance of your image it will get a new internet address, hostname and domain name. Everything is pretty dynamic in EC2. But the apps we're installing here need to know what those names are. So we need to set something up to make this possible.&lt;/p&gt;  &lt;p&gt;First pick a local hostname for your image. This won't change and is just an internal name. Let's pick &amp;quot;cloud1&amp;quot; for this exercise.&lt;/p&gt;  &lt;p&gt;Now let's create a script that runs at boot to set up the local hostname and also adds our internet hostname to the hosts file. The script looks like this:&lt;/p&gt;  &lt;p&gt;echo 127.0.0.1 `curl &lt;a href="http://169.254.169.254/latest/meta-data/public-hostname"&gt;http://169.254.169.254/latest/meta-data/public-hostname&lt;/a&gt; 2&amp;gt; /dev/null` cloud1 localhost &amp;gt; /etc/hosts &lt;/p&gt;  &lt;p&gt;hostname cloud1 &lt;/p&gt;  &lt;p&gt;The first line uses Amazon's metadata service to find the internet hostname for the instance and creates a new /etc/hosts file that contains this information. The second line sets the instance local hostname to cloud1.&lt;/p&gt;  &lt;p&gt;Save this script in a file called &amp;quot;setEC2hostnames&amp;quot; in the /etc/rc.d/init.d directory. Then change directory to /etc/rc.d/rc4.d and create a symbolic link:&lt;/p&gt;  &lt;p&gt;ln -s ../init.d/setEC2hostnames S79setEC2hostnames&lt;/p&gt;  &lt;p&gt;This will make sure this script is run just before the Oracle database starts.&lt;/p&gt;  &lt;h3&gt;Download and install Oracle 10g XE&lt;/h3&gt;  &lt;p&gt;AquaLogic BPM Enterprise requires a database and we will use Oracle 10g XE. This is a free version of Oracle's database that you can download from their web site. All you have to do is create a free account. You should download &lt;em&gt;Oracle 10g Express Edition (Universal) for RedHat&lt;/em&gt;. &lt;a href="http://download.oracle.com/otn/linux/oracle10g/xe/10201/oracle-xe-univ-10.2.0.1-1.0.i386.rpm"&gt;Here is a deep link&lt;/a&gt; that may break in the future.&lt;/p&gt;  &lt;p&gt;There are several ways you can get the download package onto your EC2 instance. I used Firefox to navigate through Oracle's web site all the way until the download begins. Then I do the following:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Cancel the download &lt;/li&gt;    &lt;li&gt;Copy the URL of the download package onto the clipboard &lt;/li&gt;    &lt;li&gt;Use scp (secure copy) to copy the cookies.txt file from Firefox onto the EC2 instance. on Windows, this file is in C:\Documents and Settings\&amp;lt;user&amp;gt;\Application Data\Mozilla\Firefox\Profiles\&amp;lt;some name&amp;gt;\cookies.txt. &lt;/li&gt;    &lt;li&gt;On the EC2 instance use wget to download the installer package directly with the command      &lt;br /&gt;&amp;gt; wget --load-cookies cookies.txt &amp;lt;paste URL&amp;gt; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Now the installer package will download directly to the EC2 instance which is both faster and cheaper (you pay per transfer).&lt;/p&gt;  &lt;p&gt;Before you can run the installer, you will have to do a few other things. You need to download and install libaio which is an asynchonous IO library. I googled it and found it on rpmfind.net and installed with the command:&lt;/p&gt;  &lt;p&gt;rpm -Uvh ftp://rpmfind.net/linux/fedora/core/4/i386/os/Fedora/RPMS/libaio-0.3.104-2.i386.rpm&lt;/p&gt;  &lt;p&gt;Next you will need to set up more swap space. The installer requires more than the default swap space. This requires 3 steps:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Create a swap file with the dd command:      &lt;br /&gt;dd if=/dev/zero of=/mnt/swapfile bs=1024 count=1310720 &lt;/li&gt;    &lt;li&gt;Make it a swap file with:      &lt;br /&gt;mkswap /mnt/swapfile &lt;/li&gt;    &lt;li&gt;Turn on the swap with      &lt;br /&gt;swapon &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Now you're ready to run the installer. It's a simple RPM package followed by an additional configuration step:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;rpm -Uvh &lt;a name="univ_xe10201rpmBaseDLink"&gt;&lt;font color="#000000"&gt;oracle-xe-univ-10.2.0.1-1.0.i386.rpm&lt;/font&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;/etc/init.d/oracle-xe configure &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;The &lt;a href="http://download.oracle.com/docs/cd/B25329_01/doc/install.102/b25144/toc.htm"&gt;installation guide&lt;/a&gt; has additional information if necessary, but the default options in the installation script should be good enough. Make sure you configure it to start up at boot time.&lt;/p&gt;  &lt;p&gt;Check that the local hostname (&amp;quot;cloud1&amp;quot; or whatever you picked) is the one used in the listener.ora and tnsnames.ora files in the /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin/ directory. It should &lt;em&gt;not&lt;/em&gt; be &amp;quot;localhost&amp;quot; or something like &amp;quot;domU...&amp;quot;. If the hostname is not cloud1, then edit the files and restart the database. You can start and stop the database with &lt;/p&gt;  &lt;p&gt;/etc/init.d/oracle-xe start    &lt;br /&gt;/etc/init.d/oracle-xe stop&lt;/p&gt;  &lt;p&gt;Next, go to the APEX admin web console on &lt;a href="http://&amp;lt;your-EC2-hostname&amp;gt;:8080/apex"&gt;:8080/apex&amp;quot;&amp;gt;:8080/apex&amp;quot;&amp;gt;http://&amp;lt;your-EC2-hostname&amp;gt;:8080/apex&lt;/a&gt;, select &amp;quot;Manage HTTP Access&amp;quot; under the Administration drop-down. Set HTTP access to be &amp;quot;Available from local server and remote clients&amp;quot;.&lt;/p&gt;  &lt;h3&gt;Download and install AquaLogic BPM Enterprise&lt;/h3&gt;  &lt;p&gt;AquaLogic BPM Enterprise (ALBPM Enterprise) is the BPM server that runs business processes as. You should already have AquaLogic BPM Studio installed on your own laptop / desktop and you should also have AquaLogic BPM Enterprise installed there because you will need it for this installation. AquaLogic BPM Studio is used to model, implement and test business processes.&lt;/p&gt;  &lt;p&gt;Use the same trick as described above for downloading ALBPM Enterprise. &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Start at the &lt;a href="http://commerce.bea.com/products/aqualogic/bpm/albpm.jsp"&gt;ALBPM download page&lt;/a&gt;, &lt;/li&gt;    &lt;li&gt;Pick the latest version of ALBPM Enterprise, e.g. AquaLogic BPM Enterprise Server 6.0MP2 - Standalone &lt;/li&gt;    &lt;li&gt;Pick RedHat Linux (4.x, x86) 32-bit &lt;/li&gt;    &lt;li&gt;Log in or create a new account if you don't have one &lt;/li&gt;    &lt;li&gt;Continue until downloading, copy URL to clipboard, cancel download and do it directly from the EC2 instance with wget like before. You will need to copy over your cookies.txt file again. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Make the downloaded package executable by executing &lt;/p&gt;  &lt;p&gt;chmod +x ALBPMEnterpriseSA602_lin_jvm32.bin&lt;/p&gt;  &lt;p&gt;Run it in console mode:&lt;/p&gt;  &lt;p&gt;ALBPMEnterpriseSA602_lin_jvm32.bin -i console&lt;/p&gt;  &lt;h3&gt;Configure AquaLogic BPM Enterprise&lt;/h3&gt;  &lt;p&gt;For this next step, you will need to use your own desktop/laptop installation of ALBPM Enteprise:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Start the Enterprise Admin Center from the Start Menu &lt;/li&gt;    &lt;li&gt;Select &amp;quot;Configuration&amp;quot; &lt;/li&gt;    &lt;li&gt;Select &amp;quot;Add...&amp;quot; to add a new directory configuration &lt;/li&gt;    &lt;li&gt;Leave defaults on the next two screens and click Next &lt;/li&gt;    &lt;li&gt;In &amp;quot;Directory Provider Selection&amp;quot; select an admin password. Leave Directory Provider the default which should be &amp;quot;BEA's Oracle Driver...&amp;quot; &lt;/li&gt;    &lt;li&gt;On the next screen&amp;quot;      &lt;ol&gt;       &lt;li&gt;Set host to your EC2 internet hostname &lt;/li&gt;        &lt;li&gt;Pick a password &lt;/li&gt;        &lt;li&gt;Set SID to XE &lt;/li&gt;        &lt;li&gt;Leave the rest unchanged &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt;    &lt;li&gt;Provide the dba user and password that you set for your database installation &lt;/li&gt;    &lt;li&gt;Click next twice until on the &amp;quot;Process Engine Provider Configuration&amp;quot; screen. Set passwords and leave the rest unchanged. &lt;/li&gt;    &lt;li&gt;On the next screen provide the Oracle dba system user and password again and click next. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Now the configuration tool is setting up the users, schemas and data used by ALBPM Enterprise. It is also creating a set of configuration files &lt;em&gt;locally&lt;/em&gt; that you must now copy over to your EC2 instance. The files are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;ALBPM_HOME/enterprise/conf/default.dirxml &lt;/li&gt;    &lt;li&gt;ALBPM_HOME/enterprise/conf/directory.xml &lt;/li&gt;    &lt;li&gt;ALBPM_HOME/enterfuegoautostartEnterpriseprise/conf/enterprisePreferences.xml &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Copy those files over to the same location on your EC2 instance. Once copied over, you will need to manually edit them and change the host name from the internet hostname you provided during configuration to &amp;quot;cloud1&amp;quot;, the localhost name you provided previously.&lt;/p&gt;  &lt;p&gt;The directory.xml file also needs to be copied into the WEB-INF folder of all the web applications. They reside in ALBPM_HOME/enterprise/webapps. Use something like&lt;/p&gt;  &lt;p&gt;cd ALBPM_HOME/enterprise/webapps    &lt;br /&gt;cp ../conf/directory.xml workspace/WEB-INF/.&lt;/p&gt;  &lt;p&gt;Repeat the cp command for every webapp.&lt;/p&gt;  &lt;p&gt;The final step is to set up autostart of ALBPM Enterprise. Copy the autostart script into /etc/init.d (and rename it):&lt;/p&gt;  &lt;p&gt;cp ALBPM_HOME/enterprise/bin/fuegoautostartEnterprise /etc/init.d/albpm&lt;/p&gt;  &lt;p&gt;Edit the script and set FUEGO_HOME to point to ALBPM_HOME/enterprise and set FUEGO_SERVICE_USER to root (it should be straightforward to set up another user if you're paranoid).&lt;/p&gt;  &lt;p&gt;Now go to /etc/rc4.d and create a link to the script:&lt;/p&gt;  &lt;p&gt;ln -s ../init.d/albpm S81albpm&lt;/p&gt;  &lt;p&gt;Since Oracle is S80, S81 will ensure that ALBPM Enterprise will start after the Oracle database. Also set up stop scripts in /etc/rc0.d and /etc/rc6.d:&lt;/p&gt;  &lt;p&gt;ln -s ../init.d/albpm K04albpm&lt;/p&gt;  &lt;h3&gt;Test it&lt;/h3&gt;  &lt;p&gt;Now you should be all set. You can test the instance by rebooting it:&lt;/p&gt;  &lt;p&gt;shutdown -r now&lt;/p&gt;  &lt;p&gt;This will reboot the instance but will not wipe any of your changes to it (remember if you terminate the instance using EC2 tools, then everything you just did will be lost).&lt;/p&gt;  &lt;p&gt;If everything goes well, Oracle and ALBPM Enterprise should start up, and you should be able to access the Oracle APEX interface on:&lt;/p&gt;  &lt;p&gt;http://&amp;lt;your-EC2-public-hostname&amp;gt;:8080/apex,&lt;/p&gt;  &lt;p&gt;the ALBPM Admin Console on:&lt;/p&gt;  &lt;p&gt;http://&amp;lt;your-EC2-public-hostname&amp;gt;:8686/webconsole&lt;/p&gt;  &lt;p&gt;and the ALBPM Workspace on:&lt;/p&gt;  &lt;p&gt;http://&amp;lt;your-EC2-public-hostname&amp;gt;:8686/workspace&lt;/p&gt;  &lt;h3&gt;Create a new image&lt;/h3&gt;  &lt;p&gt;There's quite a few tricky things that can go wrong, so I am sure you will have to troubleshoot somewhere in the process. But now to the neat part.&lt;/p&gt;  &lt;p&gt;Once you have everything working, you can create an image of your new instance and you can then bring up a cleanly installed new instance any time you want. You can even share it with your friends!&lt;/p&gt;  &lt;p&gt;The Getting Started Guide explains how to create a new Amazon Machine Image. Just make sure you have shut down Oracle and ALBPM Enterprise and cleaned up the disk space (delete installer files) before you do it.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-7918983002613460792?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/7918983002613460792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=7918983002613460792' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/7918983002613460792?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/7918983002613460792?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/02/installing-aqualogic-bpm-enterprise.html' title='Installing AquaLogic BPM Enterprise Server on Amazon EC2'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>3</thr:total></entry><entry gd:etag='W/&quot;AkINQno_eCp7ImA9WxZWGEs.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-4572730326175754333</id><published>2008-02-08T16:24:00.000-08:00</published><updated>2008-03-18T12:29:53.440-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-03-18T12:29:53.440-07:00</app:edited><title>RSS Feed for ALBPM hot fixes</title><content type='html'>&lt;p&gt;&lt;a href="http://feed43.com/"&gt;Feed43&lt;/a&gt; is a nice little service for scraping web pages and turning them into feeds.&lt;/p&gt;  &lt;p&gt;I scraped the ALBPM Studio hotfix download page and turned it into a feed, so now you can get notified in your feed reader when new hot fixes become available. Get the feed here:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://feed43.com/albpmhotfixes.xml" href="http://feed43.com/albpmhotfixes.xml"&gt;http://feed43.com/albpmhotfixes.xml&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-4572730326175754333?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/4572730326175754333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=4572730326175754333' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/4572730326175754333?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/4572730326175754333?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/02/rss-feed-for-albpm-hot-fixes.html' title='RSS Feed for ALBPM hot fixes'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;AkMDRn0yeip7ImA9WxZWGEs.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-2501067663225371087</id><published>2008-02-05T07:06:00.000-08:00</published><updated>2008-03-18T12:27:57.392-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-03-18T12:27:57.392-07:00</app:edited><title>Six Sigma is like so tired</title><content type='html'>&lt;p&gt;(when it comes to BPMS)&lt;/p&gt;  &lt;p&gt;I didn't study Six Sigma that hard, but since it's not really rocket science I'll pretend I'm a black-belt for a moment. It's about minimizing the variance of your output measured by some appropriate parameters (known bugs for example if you're in software). Six Sigma as a discipline (invented at Motorola) is about implementing this focus across the company and managing towards this kind of goal.&lt;/p&gt;  &lt;p&gt;While this stuff appeals to me, I have not been able to figure out how it could work out in the software industry (my line of work). After all, this place is not easy to predict and put on formula. It relies heavily on ideas, trial and error, &amp;quot;tinkering&amp;quot; and other non-linear types of progress (think no progress at all most of the time, then suddenly a break-through that puts you back in black). Some level of control is obviously crucial, but will Six Sigma ever be a dominant management form in the software industry? &lt;/p&gt;  &lt;p&gt;I don't think so.&lt;/p&gt;  &lt;p&gt;Six Sigma assumes that deviations in a production process follow a normal distribution. But this is not really guaranteed. A normal distribution of errors typically occurs when the cause of the error is truly random. In most processes, this is not the case, but many manufacturing processes are close enough and they have a high &lt;strong&gt;n&lt;/strong&gt; (units produced) which increases the certainty of observations. E.g. GM sold 3.87M vehicles in 2007. That gives them a pretty good base to measure unit production quality and variance. If you only ship 5-10 products a year (like a software company), then you can't measure your variance very well even if it was normal-distributed.&lt;/p&gt;  &lt;p&gt;And the biggest problem here is that errors in software production processes does not follow a normal distribution. For example, what is the probability of:&lt;/p&gt;  &lt;p&gt;1) Your software product shipping late, given that your are currently on schedule?&lt;/p&gt;  &lt;p&gt;2) Your software product shipping 2 months late given that it's already one month behind schedule?&lt;/p&gt;  &lt;p&gt;You will likely find that your probability of shipping 2 month late is higher when you're already 1 month late than the probability for shipping 1 month late when you're on schedule. This is contrary to normal error distributions.&lt;/p&gt;  &lt;p&gt;This makes it hard (read: not really helpful) to apply Six Sigma and related principles to software production.&amp;#160; &lt;/p&gt;  &lt;p&gt;This is important beyond just the software industry. Software production is an example of a larger (and growing) class of knowledge-intensive production processes. Any knowledge-intensive business will exhibit similar characteristics and hence Six Sigma will apply poorly to this whole class. Tom Davenport wrote an interesting article, &lt;a href="http://discussionleader.hbsp.com/davenport/2008/01/why_six_sigma_is_on_the_downsl.html"&gt;&amp;quot;Why Six Sigma Is on the Downslope&amp;quot;&lt;/a&gt; that touches on this issue.&lt;/p&gt;  &lt;p&gt;This is significant because in the developed world, knowledge-intensive businesses are growing much faster than the rest. &lt;a href="http://www.mckinseyquarterly.com/The_next_revolution_in_interactions_1690_abstract"&gt;McKinsey showed in 2005&lt;/a&gt; [requires for-pay subscription] that the US economy created 4.5M new knowledge-intensive jobs (what McKinsey called &amp;quot;tacit interaction&amp;quot; jobs) from 1998 to 2005. During the same time, &amp;quot;transactional&amp;quot; jobs (think routine office work) grew by 1.9M and &amp;quot;transformational&amp;quot; jobs (think factory worker) declined by 2.9M.&lt;/p&gt;  &lt;p&gt;In my line of work (peddling BPM software) this has additional significance. BPM technologies (such as AquaLogic BPM) is primarily applied to processes that hasn't already been automated. While the manufacturing sector has done a pretty good job at automating its processes, the services sectors such as banking, insurance and government are only now beginning to optimize processes and these sectors are big users of BPM. They also happen to have much more knowledge-intensive processes than the manufacturing sector.&lt;/p&gt;  &lt;p&gt;So, to make a long story short. Because Six Sigma doesn't apply well to knowledge-intensive processes and because these are exactly the types of processes that are being automated using BPMS technology, Six Sigma is rarely a driving initiative behind BPMS adoption.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:cd59af3c-17d8-4598-81e8-1cbb91eaa782" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/BPM" rel="tag"&gt;BPM&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Six%20Sigma" rel="tag"&gt;Six Sigma&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-2501067663225371087?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/2501067663225371087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=2501067663225371087' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/2501067663225371087?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/2501067663225371087?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/02/six-sigma-is-like-so-tired.html' title='Six Sigma is like so tired'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;AkUNSX07fyp7ImA9WxZWGEs.&quot;'><id>tag:blogger.com,1999:blog-1222364855025539453.post-5466052088376512490</id><published>2008-02-05T06:50:00.000-08:00</published><updated>2008-03-18T12:24:58.307-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2008-03-18T12:24:58.307-07:00</app:edited><title>At Gartner BPM Summit, Las Vegas</title><content type='html'>&lt;p&gt;The &lt;a href="http://www.gartner.com/it/summits/bpm5/index.jsp"&gt;Gartner BPM Summit, Las Vegas 2008&lt;/a&gt; has been kicked off and I will be here for the whole show. You can find me and the rest of the BEA crew at our booth during booth hours.&lt;/p&gt;  &lt;p&gt;If you want to read about the sessions at the show, Sandy Kemsley usually does an excellent job at covering the conference on &lt;a href="http://www.column2.com/"&gt;her blog&lt;/a&gt;. Sandy will be happy to find out that there is wireless here. It is working in the ballroom I am in right now. Hopefully it will be consistent throughout the area.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e1d5a730-62bd-4c64-8ea5-9d3715cbf3d7" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/BPM" rel="tag"&gt;BPM&lt;/a&gt;, &lt;a href="http://technorati.com/tags/BEA" rel="tag"&gt;BEA&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Gartner" rel="tag"&gt;Gartner&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1222364855025539453-5466052088376512490?l=jesperatwork.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jesperatwork.blogspot.com/feeds/5466052088376512490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1222364855025539453&amp;postID=5466052088376512490' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/5466052088376512490?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1222364855025539453/posts/default/5466052088376512490?v=2'/><link rel='alternate' type='text/html' href='http://jesperatwork.blogspot.com/2008/02/at-gartner-bpm-summit-las-vegas.html' title='At Gartner BPM Summit, Las Vegas'/><author><name>Jesper Joergensen</name><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry></feed>