<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>Open for Business</title>
        <link>http://itgumbo.com/openforbusiness/</link>
        <description>On this blog you&apos;ll find ideas on how to improve your applications, make them integrate better with other applications, and get new ideas for your own area.</description>
        <language>en</language>
        <copyright>Copyright 2008</copyright>
        <lastBuildDate>Wed, 12 Nov 2008 21:27:20 +0200</lastBuildDate>
        <generator>http://www.sixapart.com/movabletype/</generator>
        <docs>http://www.rssboard.org/rss-specification</docs>
        
        <item>
            <title>Total Cost of Ownership TCO - is there a way to reduce it?</title>
            <description><![CDATA[<p align="left"><span style="font-size:14pt"><strong><span style="color:Fuchsia">Hello to my readers,</span></strong></span></p>
<p><span style="font-family: Times New Roman; font-size: 14pt">You all know what TCO is and if you don't, quickly go and read about. Because I have a surprise for you.</span></p>
<p dir="ltr"><span style="font-family: Times New Roman; font-size: 14pt" lang="en-us">Yesterday, I met with the TCO. It was a one hour meeting, but I did manage to characterize for myself.</span></p>
<p dir="ltr"><span style="font-family: Times New Roman; font-size: 14pt" lang="en-us">It is a man, in my case he was European. He has a degree in over-engineering from a well known establishment.</span></p>
<p dir="ltr"><span style="font-family: Times New Roman; font-size: 14pt" lang="en-us">From what he told me, he had many years of experience in high-end applications, mainly in the maintenance of infrastructure.</span></p>
<p dir="ltr"><span style="font-family: Times New Roman; font-size: 14pt" lang="en-us">He spoke gently about the importance of responsibility, accountability and management.</span></p>
<p dir="ltr"><span style="font-family: Times New Roman; font-size: 14pt" lang="en-us">When I explained my wishes, he talked about good process, control, security and procedure.</span></p>
<p dir="ltr"><span style="font-family: Times New Roman; font-size: 14pt" lang="en-us">He did not know much about WEB 2.0, SaaS, Agile and other fancy words in the software world.</span></p>
<p dir="ltr"><span style="font-family: Times New Roman; font-size: 14pt" lang="en-us">In other words, he is a plumber of bytes, and we all need a plumber.</span></p>
<p dir="ltr"><span style="font-family: Times New Roman; font-size: 14pt" lang="en-us">By the way, he earns more than all the memory and disk you could think of for your application.</span></p>
<p dir="ltr"><span style="font-size:16pt"><strong><span style="font-family: Times New Roman" lang="en-us">Now, how to reduce the TCO?</span></strong></span></p>
<p><em><span style="font-family: monospace; font-size: 12pt">Hope you sleep well at night.</span></em></p>
<p><em><span style="font-family: monospace; font-size: 12pt">Yours truly,</span></em></p>
<p><em><span style="font-family: monospace; font-size: 12pt">Noam</span></em></p>
<p><img height="217" style="margin: 5px" width="186" alt="" src="http://itgumbo.com/openforbusiness/Noam_1_smaller.gif" /></p>
<p></p>
<p></p>
<p style="color:#008;text-align:right;"></p>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4968547-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>]]></description>
            <link>http://itgumbo.com/openforbusiness/2008/11/total_cost_of_ownership_tco_is.php</link>
            <guid>http://itgumbo.com/openforbusiness/2008/11/total_cost_of_ownership_tco_is.php</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Software implementation</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Technolgy adaptation</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">reduce</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">TCO</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Total Cost of Ownership</category>
            
            <pubDate>Wed, 12 Nov 2008 21:27:20 +0200</pubDate>
        </item>
        
        <item>
            <title>Increase your system usability and number of users - an idea</title>
            <description><![CDATA[<p align="left"><span style="font-size:14pt"><strong><span style="color:Purple">Hello there,</span></strong></span></p>
<p><span style="font-size:14pt">I hope that by now you read the stream of posts about increasing the number of users.<br /> Previous posts: <a href="http://itgumbo.com/openforbusiness/2008/09/how_to_increase_the_numbers_of.php">1</a>, <a href="http://itgumbo.com/openforbusiness/2008/09/how_to_increase_the_number_of_1.php">2</a>, <a href="http://itgumbo.com/openforbusiness/2008/10/how_to_increase_the_number_of.php">3</a></span></p>
<p><span style="font-size:14pt">Now, I will show an idea that you may use. I do not protect this idea but it would be nice to know if you tried to implement it.</span></p>
<div style="mso-char-wrap:1;mso-kinsoku-overflow: 1" class="O">
<span style="mso-bidi-font-family:Arial;mso-hansi-font-family: Arial;font-size:20pt;color:#FF9900" lang="EN-US"><strong><span style="text-decoration:underline;">Motivation:</span></strong></span><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; font-size:20pt;color:black;mso-color-index:3" lang="EN-US"><strong><span style="text-decoration:underline;"><br /></span></strong></span><span style="mso-hansi-font-family: Arial; color: black; mso-bidi-font-family: Arial; mso-color-index: 3; font-family: Arial" lang="EN-US">All computerized systems have information about the tasks that the end-user need to do.<br /></span><span style="font-family:Arial"><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; color:black;mso-color-index:3" lang="EN-US"><br /></span></span><span style="mso-hansi-font-family: Arial; color: black; mso-bidi-font-family: Arial; mso-color-index: 3; font-family: Arial" lang="EN-US">The information is always <strong><span style="text-decoration:underline">limite</span>d</strong> to what the system designer thought as the<strong><span style="text-decoration:underline">relevant data</span></strong> for the use case.<br /></span><span style="font-family:Arial"><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; color:black;mso-color-index:3" lang="EN-US"><br /></span></span><span style="mso-hansi-font-family: Arial; color: black; mso-bidi-font-family: Arial; mso-color-index: 3; font-family: Arial" lang="EN-US">There are cases where the system does not have the information and a <strong><span style="text-decoration:underline">human contact is required</span></strong>.<br /></span> <span style="font-family:Arial"><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; color:black;mso-color-index:3" lang="EN-US">How does this human contact is found?<br /></span><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; color:black;mso-color-index:3" lang="EN-US"><br /></span><span style="mso-bidi-font-family: Arial;mso-hansi-font-family:Arial;color:black;mso-color-index:3" lang="EN-US">In addition, in the company where the system is installed only<span style="text-decoration:underline"><strong>part of the employees use the system</strong></span>. This is because of specific roles in the company that does not need the system</span> <span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; color:black;mso-color-index:3" lang="EN-US">or use different applications.<br /></span> <span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; color:black;mso-color-index:3" lang="EN-US">How can we encourage them to use our system as well?<span style="mso-spacerun:yes"> </span></span></span>
    <div style="mso-char-wrap:1;mso-kinsoku-overflow: 1" class="O"><span style="mso-hansi-font-family: Arial; color: Green; mso-bidi-font-family: Arial; mso-color-index: 3; font-family: Arial; font-size: 16pt" lang="EN-US">Use-case:</span> <span style="color: Green; font-family: Arial; font-size: 16pt"><span style="mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-color-index: 3" lang="EN-US"><span style="text-decoration:underline;">Late delivery management</span></span></span> <span style="mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; color: black; mso-color-index: 3; font-family: Arial; font-size: 14pt" lang="EN-US">A warehouse manager is waiting for a delivery, but it is late.</span></div>
    <div style="mso-char-wrap:1;mso-kinsoku-overflow: 1" class="O"><span style="mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; color: #FF9900; font-family: Arial; font-size: 14pt" lang="EN-US">The warehouse manager is using the company’s ERP system.</span><span style="font-size:14pt"><span style="font-family:Arial"><span style="mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; color: black; mso-color-index: 3" lang="EN-US"><br /></span></span></span><span style="mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; color: black; mso-color-index: 3; font-family: Arial; font-size: 14pt" lang="EN-US">What information does the warehouse manager has:<br />Advanced supplier notification (ASN)<br />Purchase order<br /></span> <span style="font-family: Arial; font-size: 14pt"><span style="mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; color: black; mso-color-index: 3" lang="EN-US"><br /></span><span style="mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; color: #CC0000" lang="EN-US">Any of the documents have a lot of information but the data is not helpful for the purpose of getting the realistic arrival time.</span></span></div>
</div>
<p><img height="312" style="margin: 5px" width="400" alt="" src="http://itgumbo.com/openforbusiness/truck_log_small.gif" /></p>
<div style="mso-char-wrap:1;mso-kinsoku-overflow: 1" class="O"><span style="mso-hansi-font-family: Arial; color: black; mso-bidi-font-family: Arial; mso-color-index: 3; font-family: Arial; font-size: 18pt" lang="EN-US">How can the warehouse manager find the realistic arrival time?</span></div>
<div style="mso-char-wrap:1;mso-kinsoku-overflow: 1" class="O"><span style="mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; color: black; mso-color-index: 3; font-family: Arial; font-size: 18pt" lang="EN-US">What information will help the warehouse manager ?<br /></span><span style="mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; color: #CC0000; font-family: Arial; font-size: 18pt" lang="EN-US">Any information that enables direct contact to the relevant people.</span></div>
<p><img height="158" style="margin: 5px" width="400" alt="" src="http://itgumbo.com/openforbusiness/challenge_small.gif" /></p>
<p><img height="325" style="margin: 5px" width="400" alt="" src="http://itgumbo.com/openforbusiness/solution1_small.gif" /></p>
<p><img height="334" style="margin: 5px" width="400" alt="" src="http://itgumbo.com/openforbusiness/solution2_small.gif" /></p>
<p><img height="308" style="margin: 5px" width="400" alt="" src="http://itgumbo.com/openforbusiness/solution3_small.gif" /></p>
<p><span style="color: Green; font-family: Courier; text-decoration: underline; font-size: 16pt">Some borring information in text:</span></p>
<div style="mso-char-wrap:1;mso-kinsoku-overflow: 1" class="O"><span style="mso-bidi-font-family:Arial;mso-hansi-font-family: Arial;font-size:16pt;color:black;mso-color-index:3" lang="EN-US"><strong><span style="text-decoration:underline;">Solution to Problem:<br /></span></strong></span><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; font-size:14pt;color:black;mso-color-index:3" lang="EN-US">Any Business Object actually forms a network of Business Objects around it. For example, an Invoice have around it a Quote, a Purchase order, a Vendor etc. Each of the surrounding BO's have a user that entered them in the system</span> <span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; font-size:14pt;color:black;mso-color-index:3" lang="EN-US">and probably a business partner and contact person.<br /></span><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; font-size:14pt;color:black;mso-color-index:3" lang="EN-US">Based on this information we can offer a network of contacts that will enable the truck driver to find the relevant contact in a quick and efficient way.<br /></span><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; font-size:14pt;color:black;mso-color-index:3" lang="EN-US"><br /></span><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial;font-size:16pt; color:black;mso-color-index:3" lang="EN-US"><strong><span style="text-decoration:underline;">Technical solution:<br /></span></strong></span><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; font-size:14pt;color:black;mso-color-index:3" lang="EN-US">The social network will be a standalone web application that enables anybody who is involved in the work process to enter and search.<br /></span><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; font-size:14pt;color:black;mso-color-index:3" lang="EN-US">The social network will be build, based on the specific business (ERP, CRM, SCM…).<br /></span><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; font-size:14pt;color:black;mso-color-index:3" lang="EN-US">Each business application will have a crawler to search the data and produce transmit to the social network database.<br /></span><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; font-size:14pt;color:black;mso-color-index:3" lang="EN-US">The crawler will follow the business objects metadata.<br /></span><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; font-size:14pt;color:black;mso-color-index:3" lang="EN-US"><br /></span><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial;font-size:16pt; color:black;mso-color-index:3" lang="EN-US"><strong><span style="text-decoration:underline;">Benefits to the application vendor<br /></span></strong></span><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; font-size:14pt;color:black;mso-color-index:3" lang="EN-US">1. It will provide a very high level of usability and friendliness. While most systems are focused on the<br /></span><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; font-size:14pt;color:black;mso-color-index:3" lang="EN-US"><span style="mso-spacerun:yes">   </span> business solution and forgetting the user's human contact requirements<br /></span><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; font-size:14pt;color:black;mso-color-index:3" lang="EN-US">2. It would cover cross systems networking.<br /></span><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; font-size:14pt;color:black;mso-color-index:3" lang="EN-US">3. It could be sold an add-on solution.<br /></span><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; font-size:14pt;color:black;mso-color-index:3" lang="EN-US"><br /></span><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial;font-size:16pt; color:black;mso-color-index:3" lang="EN-US"><strong><span style="text-decoration:underline;">Benefit to application vendor customer:<br /></span></strong></span><span style="mso-bidi-font-family:Arial;mso-hansi-font-family:Arial; font-size:14pt;color:black;mso-color-index:3" lang="EN-US">Increase efficiency and reduce time waste<br /></span></div>
<p><span style="font-size:16pt">Keep fighting for your voice to be heard,</span></p>
<p><em><span style="font-size:16pt">With you all the way,</span></em></p>
<p><em><span style="color: Purple; font-size: 16pt">Noam</span></em></p>
<p><img height="217" style="margin: 5px" width="186" alt="" src="http://itgumbo.com/openforbusiness/Noam_1_smaller.gif" /></p>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4968547-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
]]></description>
            <link>http://itgumbo.com/openforbusiness/2008/11/increase_your_system_usability.php</link>
            <guid>http://itgumbo.com/openforbusiness/2008/11/increase_your_system_usability.php</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Application marketing</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">Application</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Marketing</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Sales</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Users</category>
            
            <pubDate>Sun, 02 Nov 2008 01:39:15 +0200</pubDate>
        </item>
        
        <item>
            <title>How to increase the number of users of your system - take 3</title>
            <description><![CDATA[<p align="left"><span style="color:Purple"><strong>Hello to the brave developers,</strong></span></p>
<p>So, did you wait long? I hope the anticipation was not too hard.</p>
<p>Following my<a href="http://itgumbo.com/openforbusiness/2008/09/how_to_increase_the_number_of_1.php"> last post </a>I would like to fulfill my promise.</p>
<p>Last time I stopped the flow of writing with the idea of looking for somebody in the organization that is not the application user.</p>
<p>Also, try to find what in the application, would interest this somebody or even better, assist them to do their work.</p>
<p>I will jump directly to a real life example.</p>
<p>Imagine yourself as a truck driver. You work in an independent logistics firm and sometimes you deliver goods for some company's warehouse.<br />Let's call it SCW. Now, imagine a hot day and you arrive with your truck to SCW. At the gate, the gatekeeper checks your papers and tells you that this delivery is totally unexpected and you cannot unload or even get in because of new security regulations.</p>
<p>Now what? You could park your truck, try to walk into SCW and raise hell until they found out what went wrong. <br />Another alternative for the less aggressive would be to call your office and they will try to get hold of the purchasing guy or the SCW manager and sort it out.<br />Both alternative will take a lot of time and the day is hot.</p>
<p>Now back to your reality as a developer. What would the truck driver need out of your application? It is simple, the person that can help and solve the problem.<br />How would he get it? simple, he got a paper with a Delivery number, this paper was issued from the application. Someone created it, probably it has a reference to a Purchase order or Sales order. There must be some contacts there.</p>
<p>If you, the developer, could expose this information to the driver via extranet, that would be great and by doing one phone call the problem is solved.</p>
<p>Now the only task is, how to expose this data. I think you already know how. After all, you developed the application.</p>
<p>One last request from my side: You are welcome to add your comments and ideas in the comments section.</p>
<p>See you next time,</p>
<p><span style="color:Red"><strong>Noam</strong></span></p>
<p><img height="217" style="margin: 5px" width="186" alt="" src="http://itgumbo.com/openforbusiness/Noam_1_smaller.gif" /></p>
<p></p>
<p style="color:#008;text-align:right;"></p>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4968547-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>]]></description>
            <link>http://itgumbo.com/openforbusiness/2008/10/how_to_increase_the_number_of.php</link>
            <guid>http://itgumbo.com/openforbusiness/2008/10/how_to_increase_the_number_of.php</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Application marketing</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Software implementation</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Technolgy adaptation</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">Application</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">idea</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">ROI</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">sales</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">users</category>
            
            <pubDate>Tue, 14 Oct 2008 22:56:58 +0200</pubDate>
        </item>
        
        <item>
            <title>How to increase the number of users of your system - take 2</title>
            <description><![CDATA[<p align="left"></p>
<p>Hello to all developers out there.</p>
<p>Back to the question of increasing the number of users of your system.</p>
<p>Following my previous post <a href="http://itgumbo.com/openforbusiness/2008/09/how_to_increase_the_numbers_of.php">http://itgumbo.com/openforbusiness/2008/09/how_to_increase_the_numbers_of.php</a>.</p>
<p><span style="color:Blue"><strong>Lets start with a protest:</strong></span> <br /><span style="color:Purple">This is a BLOG for developers. You may think that this kind of ideas should be raised by your friendly Product Definition colleague.<br />Now would you?<br />No! I say, developers should take responsibility into their own hands. Ideas for new functionality can come up by simply looking at your users.</span></p>
<p>So, back to reality. What is required is to get familiar with non-users in the customer's organization.</p>
<p>For example, you probably know the accounting department because they call you all the time.</p>
<p>Now the question is, who are they serving? who serves them? within that periphery you should find at least one who is not a user of your system.</p>
<p>This guy (or girl) is not your user but he interacts with users, so maybe there is some need there. </p>
<p>Maybe these poor fellows who need the service of the accounting department (poor them) need some information in that area but it is not accessible to them.</p>
<p>So, my dear developer, you should know your customers, go and find out these guys and characterize them.</p>
<p>Once you do it, the next idea will pop.</p>
<p>I promise that in the next posts, I will share one idea of mine that you will be able to use.</p>
<p>Power to the developer!</p>
<p>Noam</p>
<p><img height="217" style="margin: 5px" width="186" alt="" src="http://itgumbo.com/openforbusiness/Noam_1_smaller.gif" /></p>
<p style="color:#008;text-align:right;"></p>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4968547-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>]]></description>
            <link>http://itgumbo.com/openforbusiness/2008/09/how_to_increase_the_number_of_1.php</link>
            <guid>http://itgumbo.com/openforbusiness/2008/09/how_to_increase_the_number_of_1.php</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Application marketing</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Technolgy adaptation</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">Application</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">idea</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">ROI</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">sales</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">users</category>
            
            <pubDate>Mon, 29 Sep 2008 23:50:37 +0200</pubDate>
        </item>
        
        <item>
            <title>How to increase the number of users of your enterprise application?</title>
            <description><![CDATA[<p align="left"><strong>Hello all,</strong></p>
<p align="left">Most enterprise applications, ERP, CRM and others are charged by the number of users.</p>
<p>So, the main challenge of these software vendors is how to increase the number of users.</p>
<p>Even in the cases that the customer is charged by usage, the purpose is to increase the number of transactions that users are doing.</p>
<p>There are traditionally two ways:</p>
<ol>
    <li>Add more functionality that will appeal to more users</li>
    <li>Wait until the customer organization will grow and increase the number of users.</li>
</ol>
<p>I would guess that the latter is realistic but requires too much endurance.</p>
<p>So, what is the functionality to add? again there are two alternatives:</p>
<ol>
    <li>Add to the application modules that will cover new areas of business</li>
    <li>Offer new services on top of the existing data and functionality</li>
</ol>
<p>Personally, I would prefer the latter. This alternative is requires less effort and more creative thinking.</p>
<p>I have one idea that I will share in another posts. But in the meanwhile, I would start with the following direction:</p>
<p>How many employees in an organizations are also users of ERP, CRM etc? I would guess that no more than 50% in any given organization for any given application.</p>
<p>It could be that most employees are using some application, but you, my dear, are concerned only with one application. <em><strong>Your own!!</strong></em>.</p>
<p>So the direction is to find who are the employees that are not using your application and what would they need out of it. <strong>Simple daa!!!</strong></p>
<p>See you in the next post,</p>
<p><strong><span style="color:Blue">Noam</span></strong></p>
<p><img height="217" style="margin: 5px" width="186" alt="" src="http://itgumbo.com/openforbusiness/Noam_1_smaller.gif" /></p>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4968547-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>]]></description>
            <link>http://itgumbo.com/openforbusiness/2008/09/how_to_increase_the_numbers_of.php</link>
            <guid>http://itgumbo.com/openforbusiness/2008/09/how_to_increase_the_numbers_of.php</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Application marketing</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Software implementation</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">Application</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">ROI</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">sales</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">users</category>
            
            <pubDate>Sat, 13 Sep 2008 17:55:24 +0200</pubDate>
        </item>
        
        <item>
            <title>Why do we still read the books on paper</title>
            <description><![CDATA[<p align="left"><strong><span style="color:Fuchsia">Hello,</span></strong></p>
<p>I was in a philosophical mood this week and I wondered why do we still read the books on paper?</p>
<p>Wasn't there a promise, 10-20 years ago, that in a very short time we will not need any paper?</p>
<p>It really took me sometime and effort to realize why - <strong>It is not comfortable</strong>.</p>
<p>I am not saying that the devices are not comfortable, some would think they are. I do not argue with that.</p>
<p>I am saying, we do not feel comfortable enough to read a book without paper. Again, some would argue about it.</p>
<p>So I have my killer argument:</p>
<p><strong>How many of you who feel comfortable to read a book from your comfortable laptop, would take the laptop to the toilet?</strong></p>
<p><strong><span style="color:Red">I got you there.</span></strong></p>
<p>Please take it as a metaphor for any time you hear about some technology that grab hold on our existing habits.</p>
<p><strong><span style="color:Purple">Your truly,</span></strong></p>
<p><strong><span style="color:Purple">Noam</span></strong></p>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4968547-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>]]></description>
            <link>http://itgumbo.com/openforbusiness/2008/09/why_do_we_still_read_the_books.php</link>
            <guid>http://itgumbo.com/openforbusiness/2008/09/why_do_we_still_read_the_books.php</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Technolgy adaptation</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">adaptation</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">e-book</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">New technology</category>
            
            <pubDate>Tue, 02 Sep 2008 22:56:28 +0200</pubDate>
        </item>
        
        <item>
            <title>Modeling vs coding</title>
            <description><![CDATA[<p style="color:#008;text-align:left;" align="left"><span style="color:Blue"><strong>Hello,</strong></span></p>
<p>Today I would like to discuss the modeling trend.</p>
<p>You all heard about modeling that will replace coding. Or maybe you didn't?</p>
<p>So, quick explanation. Modeling creates metadata. The metadata is interpreted by some framework or engine. The framework or engine run something according to the metadata thus, according to the modeling.</p>
<p>Nice, no coding for the one who model, very sophisticated coding for the one who writes the engine.</p>
<p>But is it true, is this really the next step in world of software development?</p>
<p>First, what does it mean to model?</p>
<p>You start with a modeling environment, hopefully, a graphic one. You start to draw some model. After the easy graphic phase of drawing some shapes and name them, you start with the details.</p>
<p>The details are never easy. You think about the relationship between the shapes you just draw, you think about the process that these shapes are part of.</p>
<p>Congratulations, you are programming!!!</p>
<p>It is not code, it is partially graphical, but it is coding in a new language.</p>
<p>So, what would you prefer? </p>
<p>Coding or Modeling?</p>
<p><span style="color:Fuchsia"><em><strong>Please leave your answer in the comments below.</strong></em></span></p>
<p><span style="color:Blue"><strong>Thanks,</strong></span></p>
<p><span style="color:Blue"><strong>Noam</strong></span></p>
<p>Just before farewell: UI design is a different discussion.</p>
<p></p>
<p style="color:#008;text-align:right;" align="left"><small><em>Powered by</em> <a href="http://www.qumana.com/">Qumana</a></small></p>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4968547-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>]]></description>
            <link>http://itgumbo.com/openforbusiness/2008/08/modeling_vs_coding.php</link>
            <guid>http://itgumbo.com/openforbusiness/2008/08/modeling_vs_coding.php</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Software implementation</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">coding</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">engine</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">framework</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">IDE</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">metadata</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Model</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">software</category>
            
            <pubDate>Sun, 10 Aug 2008 22:14:38 +0200</pubDate>
        </item>
        
        <item>
            <title>Why do we need to expose the SOA service in multiple protocols and technologies?</title>
            <description><![CDATA[<p align="left"><span style="color:Blue"><strong>Hello to you, the service developer!</strong></span></p>
<p align="left">So, after the lengthy discussion about the need for multiple technologies, is there a good reason for it?</p>
<p align="left">Beside the simple fact that this enables you to handle the same business content with multiple technologies I could see 2 more benefits:</p>
<ol>
    <li>
        <p align="left">When the business logic application is a legacy system, it could be not service friendly.<br />You could still manage the business content of the service in the same development tool of the legacy application and let modern tools with interoperability to the legacy application to handle the service ennoblement.</p>
    </li>
    <li>
        <p align="left">Normally, business logic is more sustainable than technology. I think you would agree that the Purchase order content that you know, haven't changed much during all your career. Technologies do change. We are not yet finished implementing with SOAP and suddenly there comes JSON.<br />If you decouple service technology from business content, you will have less work when service technology will change.</p>
    </li>
</ol>
<p align="left">Just for nostalgia and also to prove a point, I got this Purchase order from 1937. Anyone can now compare it the Purchase order they know.</p>
<p><img height="632" style="margin: 5px" width="482" alt="" src="http://itgumbo.com/openforbusiness/Purchase_order_1937_s.gif" /></p>
<p align="left"><a href="http://legacy.library.ucsf.edu/action/document/page?tid=fbn31a00">http://legacy.library.ucsf.edu/action/document/page?tid=fbn31a00</a></p>
<p align="left">I got it from:<a href="http://legacy.library.ucsf.edu/">http://legacy.library.ucsf.edu/</a> . This is a good site if you are interested in business archeology.</p>
<p align="left">Have a good week and service well.</p>
<p align="left"><span style="COLOR: fuchsia"><strong>Yours truly,</strong></span></p>
<p align="left"><span style="COLOR: fuchsia"><strong>Noam</strong></span></p>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4968547-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>]]></description>
            <link>http://itgumbo.com/openforbusiness/2008/08/why_do_we_need_to_expose_the_s.php</link>
            <guid>http://itgumbo.com/openforbusiness/2008/08/why_do_we_need_to_expose_the_s.php</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Service design</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Service implementation</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Service technology</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">email</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">FTP</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Service provider</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">SOA</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">SOAP</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">technology</category>
            
            <pubDate>Fri, 08 Aug 2008 13:51:26 +0200</pubDate>
        </item>
        
        <item>
            <title>SOA service enablement in multiple protocols and technologies</title>
            <description><![CDATA[<p style="COLOR: #008; TEXT-ALIGN: left" align="left"><span style="COLOR: fuchsia"><strong>Hello to all service enablers,</strong></span></p>
<p align="left">I would like to elaborate the discussion about service enabling.</p>
<p align="left">It is tempting and also less work expose the service in a specific technology e.g. HTTP/SOAP.</p>
<p align="left">As seen in my another post:</p>
<p><img height="365" style="MARGIN: 5px" width="598" alt="" src="http://itgumbo.com/openforbusiness/Naive_Service_architecture.jpg" /></p>
<p align="left">This should work.</p>
<p align="left">The question now is: Is this satisfactory? Do you really can plan of having only a single technology?</p>
<p align="left">The answer as you could expected, is <strong>NO</strong>.</p>
<p align="left">In real life we are working in more than one service consumption technology. Just take the good old Purchase order. We want to query it with HTTP/SOAP for our Portal, we want to download it to a file, we want send it by mail and this just contemporary technologies that we are working with now.</p>
<p align="left">The sad truth is that we accumulate legacy technologies over time and we cannot dispose them. For example: EDI, SQL views, FTP.<br />Should I mention more?</p>
<p align="left">So, the conclusion is: for the same business content we need more than one exposure technology. That brings me to the following:</p>
<p><img height="360" style="MARGIN: 5px" width="508" alt="" src="http://itgumbo.com/openforbusiness/full_Service_enablement_architecture.jpg" /></p>
<p align="left">The layer of Service logic is focused only on producing and processing the service business content, the message.</p>
<p align="left">The Service technology layer knows how to handle data object that could be processed by the Service logic layer.</p>
<ul>
    <li>
        <p align="left">In case of inbound calls, the Service technology layer will handle the call and create the data object and pass it to an object in Service logic layer to process it.</p>
    </li>
    <li>
        <p align="left">In case of outbound calls, an object in the Service logic layer will prepare the data object and will pass it to Service technology object that will handle the sending.</p>
    </li>
</ul>
<p align="left">Have a good week and service well.</p>
<p align="left"><span style="COLOR: fuchsia"><strong>Yours truly,</strong></span></p>
<p align="left"><span style="COLOR: fuchsia"><strong>Noam</strong></span></p>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4968547-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>]]></description>
            <link>http://itgumbo.com/openforbusiness/2008/08/multiple_technolgies_service_e_1.php</link>
            <guid>http://itgumbo.com/openforbusiness/2008/08/multiple_technolgies_service_e_1.php</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Service design</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Service implementation</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">EDI</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">FTP</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">layer</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Protocol</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Service</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">service logic</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Service provider</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Service technology</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">SOA</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">SOAP</category>
            
            <pubDate>Sat, 02 Aug 2008 03:46:00 +0200</pubDate>
        </item>
        
        <item>
            <title>Service enablement for existing application</title>
            <description><![CDATA[<p class="MsoNormal"><strong><span style="color:Blue">Hello to all service enablers,</span></strong></p>
<p class="MsoNormal">In the last post I discussed the service content and logic. I will return to that in future posts in greater details.</p>
<p class="MsoNormal">Now it is time to get more practical. Let’s have one roundtrip of development around the service block.</p>
<p class="MsoNormal">I will try to explain my view on the best practice of service enablement architecture.</p>
<p class="MsoNormal">I already discussed the difference between the application's Business logic and the Service logic. This logic separation already suggests the architecture but there is also a twist in the plot.</p>
<p class="MsoNormal">It should be clear by now that the Service logic is coded based on the Business logic without changing it. This would mean a layer on top of the Business logic.</p>
<p class="MsoNormal">First, you need to identify your Business logic layer. Naturally you would look on your application and say: there it is!</p>
<p class="MsoNormal">Let’s make life easy and assume that the Business logic you need resides in that single application. If there are more applications involved, you are in the cloudy zone of words like mash-ups and composites.</p>
<p class="MsoNormal">Back to that single application, how do you connect to the Business logic?</p>
<p class="MsoNormal">A bit of pessimism: it may be, that the Business logic layer is not so clear. This is typical in legacy systems and other systems that are simply not designed for API. I am sorry that I cannot give any solution here. Every case is different and every solution is innovative by itself.</p>
<p class="MsoNormal">The only idea I can contribute is the following diagram:</p>
<p><img height="241" style="margin: 5px" width="349" alt="" src="http://itgumbo.com/openforbusiness/API_relevance.jpg" /></p>
<p>If you are lucky, you are on the tip of the arrow. If not, look for the less friendly Classes, function or database tables.</p>
<p class="MsoNormal">And now, to the architecture. To complete the task of service enablement.</p>
<p><img height="365" style="margin: 5px" width="598" alt="" src="http://itgumbo.com/openforbusiness/Naive_Service_architecture.jpg" /></p>
<p>Please note the important details:</p>
<ol>
    <li>
        <p class="MsoNormal">The Business objects in the Business logic layer may not really exist. If you want to be ready for the future, it would be a nice idea to wrap your Assets of Business logic as objects.</p>
    </li>
    <li>
        <p class="MsoNormal">The Service providers layer is a separate component for coding and deployment. In case of a legacy system with older technology, consider to code the Service layer in a modern technology that can interoperate with the older technology.<br />Trying to use older technology for SOAP services could be frustrating but challenging.</p>
    </li>
</ol>
<p class="MsoNormal">In my next post I will show the twist in the plot that I mentioned.</p>
<p class="MsoNormal">Wish you all a great job and interesting projects.</p>
<p class="MsoNormal">Noam</p>
<p style="color:#008;text-align:right;"><small><em>Powered by</em> <a href="http://www.qumana.com/">Qumana</a></small></p>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4968547-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>]]></description>
            <link>http://itgumbo.com/openforbusiness/2008/07/service_enablement_for_existin.php</link>
            <guid>http://itgumbo.com/openforbusiness/2008/07/service_enablement_for_existin.php</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Service design</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Service implementation</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">best practice</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">ESB</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Legacy application</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Service</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">service design</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">service logic</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Service provider</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">SOA</category>
            
            <pubDate>Fri, 25 Jul 2008 13:07:45 +0200</pubDate>
        </item>
        
        <item>
            <title>The logic behind the service</title>
            <description><![CDATA[<p style="COLOR: #008; TEXT-ALIGN: left" align="left"><strong><span style="COLOR: blue">Hello to the service creators,</span></strong></p>
<p>I would like to follow-up my previous post and elaborate on the service design and implementation.</p>
<p>Let's take the "Create Sales order" service. After the decision about what data would be used in the service message, there is the time to find how to process it.</p>
<p>When you create a simple Sales order you have the header with dates, addresses, totals and customer data. On the order lines you would have the products, prices and quantity.</p>
<p>Let's focus on the header. How would the customer be represented in the message?</p>
<p>Basically, there are 2 alternatives:</p>
<ol>
<li>With the required customer data such as Name, address, phone etc. This is comprehensive approach but costly.</li>
<li>With a customer key. This is good only if you have created the Customer first and also <span style="TEXT-DECORATION: underline">shared the data</span> with the service consumer.</li></ol>
<p>Actually in a generic design, both alternatives should be used.</p>
<p>So what next? Now it is the time to design the service provider.</p>
<p>First you need to allocate the underlying business objects. That could vary from database tables and up to a set of classes that manage the business object.</p>
<p>In our example it would be at least: Sales order, Customer and Product.</p>
<p>Why don't we just expose each business object and let the consumer decide what to do?</p>
<p>The answer is simple, there is some logic that we know about in the underlying business objects. This logic originate from the associations between those and required validation and other functionality. For example, we do not want to confuse our service consumer with questions like: Is the order total comply to the Customers profile? We normally do not want to expose the fact that we have a Customer profile.</p>
<p>We want to keep the control of that logic and make the consumer work easier.</p>
<p>So, I would like to suggest the term: Service logic. This is the logic that is specific for the service functionality while based on the underlying business logic.</p>
<p>In my previous post I mentioned the resembles to UI design. So, if there is UI logic, there should be Service logic.</p>
<p>In my next post I will elaborate on the technical implementation that is derived from this.</p>
<p>I have a small request, I would like to discuss these ideas. If you feel that this is new, old, trivial, fantastic or any other opinion, I would like to read it in the comment.</p>
<p>Thanks for your interest,</p>
<p><em><strong>Noam</strong></em></p>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4968547-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>]]></description>
            <link>http://itgumbo.com/openforbusiness/2008/07/the_logic_behind_the_service.php</link>
            <guid>http://itgumbo.com/openforbusiness/2008/07/the_logic_behind_the_service.php</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Service design</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Service implementation</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Service logic</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">application</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">best practice</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">ESB</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">message</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">request</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">response</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">service design</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">service logic</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">SOA</category>
            
            <pubDate>Fri, 11 Jul 2008 07:54:41 +0200</pubDate>
        </item>
        
        <item>
            <title>What do you really expose as a service?</title>
            <description><![CDATA[<p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">Hello you Service oriented designers,</span></p>
<p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">Today I would like to discuss a very basic issues that could sound trivial.</span></p>
<p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">When we decide to expose something as a service, <span style="text-decoration: underline;">what exactly do we expose</span>?</span></p>
<p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">Normally, you have some application or engine that has the functionality you want to expose.</span></p>
<p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">For example, you want to expose the ability to create a Sales order over the web. So, design a message for the service.</span></p>
<p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">Now is the time to think, do you expose the Sales order as it appears in the server or maybe in the UI?</span></p>
<p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">Usually these alternatives are far from each other.</span></p>
<ul>
    <li>
        <p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">The</span> <strong><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">server side Sales order</span></strong> <span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">has a normalized data structure including the separation of Product and&nbsp;Customer&nbsp;to different objects.</span></p>
    </li>
    <li>
        <p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">The</span> <strong><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">UI Sales order</span></strong> <span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">is aimed for the user comfort and not keeping any strict data design rules.</span></p>
    </li>
</ul>
<p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">Sometimes it seems that requirements are clear because they came directly from the service consumer. This is very tempting but you have to think about reusability of the service. What another consumer would need a similar service but with slightly different Response?</span></p>
<p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">So, back again, what will you expose?<br /><br style="" />I would like to suggest the following approach:</span></p>
<ol>
    <li>
        <p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">Think as a UI designer. The UI designer thinks about the end users and the way they would work with the&nbsp;&nbsp;system. You are the "UI" designer for your fellow developers that will consume the service.</span></p>
        <ul>
            <li>
                <p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">Think about usability</span><span style="font-size: 7pt; font-family: &quot;Times New Roman&quot;; color: rgb(51, 51, 51);">&nbsp;</span><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">How easy it would be to understand what the service is actually doing.</span></p>
            </li>
            <li>
                <p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">Are the data types you use in the Request and Response&nbsp;clear? Use known terms, not internal terms.</span></p>
            </li>
            <li>
                <p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">Do you provide enough content in the Response?</span></p>
            </li>
        </ul>
    </li>
    <li>
        <p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">Think about the use case you are solving. There are different ways to expose a service for "Create Sales order"</span></p>
        <ul>
            <li>
                <p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">For</span> <span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">B2B,</span> <span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">you will probably add more information to the data type&nbsp;such as&nbsp;Product name and description.</span></p>
            </li>
            <li>
                <p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">For</span> <span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">A2A,</span> <span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">you could assume some common master data repository, so the Product could be represented only by its key.</span></p>
            </li>
        </ul>
    </li>
    <li>
        <p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">Try to guess the future requirement from that service. Making the service more genric will increase its reusability and reduce any future changes.</span></p>
    </li>
    <li>
        <p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 7pt; font-family: &quot;Times New Roman&quot;; color: rgb(51, 51, 51);">&nbsp;</span><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">And finally, review your service with colleagues that are not developers, preferably, product managers. They will be able to rate the usability from the business point of view.</span></p>
    </li>
</ol>
<p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">In my next post, I will talk more about the implementation regarding service exposure.</span></p>
<p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">Best wishes,</span></p>
<p style="text-align: left; direction: ltr; unicode-bidi: embed;" class="MsoNormal"><span style="font-size: 10pt; font-family: Arial; color: rgb(51, 51, 51);">Noam</span></p>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4968547-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>]]></description>
            <link>http://itgumbo.com/openforbusiness/2008/07/what_do_you_really_expose_as_a.php</link>
            <guid>http://itgumbo.com/openforbusiness/2008/07/what_do_you_really_expose_as_a.php</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Service design</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">message</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">request</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">response</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">service design</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">SOA</category>
            
            <pubDate>Sun, 06 Jul 2008 01:30:03 +0200</pubDate>
        </item>
        
        <item>
            <title>Introduction of the person and the blog</title>
            <description><![CDATA[<p><strong>Hello to all software application lovers.</strong></p>
<p>I am a software architect with 12 years experience in applications development.</p>
<p>I worked in companies from large enterprises such as Motorola and SAP down to start-up's that you will never hear about.</p>
<p>My motivation for this blog is to share my experience and ideas about application development, integration and process management.</p>
<p>I hope that you will benefit from this blog.</p>
<p>See you in the next post,</p>
<p><em>Noam</em></p>
<p>&nbsp;</p>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>

<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4968547-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>]]></description>
            <link>http://itgumbo.com/openforbusiness/2008/07/introduction_of_the_person_and.php</link>
            <guid>http://itgumbo.com/openforbusiness/2008/07/introduction_of_the_person_and.php</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">architect</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Introduction</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">software</category>
            
            <pubDate>Tue, 01 Jul 2008 14:25:31 +0200</pubDate>
        </item>
        
        <item>
            <title>Inauguration of Open For Business!</title>
            <description><![CDATA[<span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Georgia; font-size: 16px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">Welcome to Open For Business, a blog where you'll find ideas on applications integration.</span><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Georgia; font-size: 16px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"></span></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Georgia; font-size: 16px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br /></span></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Georgia; font-size: 16px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">I am a senior software architect with experience in business application from all their aspects. From infrastructure up to BPM. I have 12 year experience in large and small companies including start-ups.</span></div>]]></description>
            <link>http://itgumbo.com/openforbusiness/2008/06/inauguration_of_open_for_busin.php</link>
            <guid>http://itgumbo.com/openforbusiness/2008/06/inauguration_of_open_for_busin.php</guid>
            
            
            <pubDate>Mon, 23 Jun 2008 13:07:28 +0200</pubDate>
        </item>
        
    </channel>
</rss>
