<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>IPBabble</title>
    <link rel="alternate" type="text/html" href="http://ipbabble.com/" />
    <link rel="self" type="application/atom+xml" href="http://ipbabble.com/atom.xml" />
    <id>tag:ipbabble.com,2008-09-29://1</id>
    <updated>2008-12-02T23:28:22Z</updated>
    <subtitle>William Henry&apos;s Blog</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.21-en</generator>

<entry>
    <title>MRG Grid and  EC2 Enhanced</title>
    <link rel="alternate" type="text/html" href="http://ipbabble.com/2008/12/mrg-and-ec2-enhanced.html" />
    <id>tag:ipbabble.com,2008://1.35</id>

    <published>2008-12-02T16:30:33Z</published>
    <updated>2008-12-02T23:28:22Z</updated>

    <summary><![CDATA[Last week I blogged on Using MRG Grid and EC2.&nbsp; Since then I've been doing some work testing what we've been calling MRG Grid with EC2 Enhanced.&nbsp; Last week I was submitting an AMI as a job in the cloud.&nbsp;...]]></summary>
    <author>
        <name>William Henry</name>
        <uri>http://www.ipbabble.com</uri>
    </author>
    
        <category term="EC2" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Grid" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="MRG" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Red Hat" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="aws" label="AWS" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="cloudcomputing" label="cloud computing" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="condor" label="condor" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ec2" label="EC2" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="gridcomputing" label="grid computing" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mrg" label="MRG" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="redhat" label="Red Hat" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://ipbabble.com/">
        <![CDATA[Last week I blogged on <a href="http://ipbabble.com/2008/11/mrg-grid-and-ec2.html">Using MRG Grid and EC2</a>.&nbsp; Since then I've been doing some work testing what we've been calling <a href="http://www.redhat.com/mrg/grid/">MRG Grid</a> with <a href="http://aws.amazon.com/ec2/">EC2</a> Enhanced.&nbsp; <br /><br />Last week I was submitting an AMI as a job in the cloud.&nbsp; MRG Grid with EC2 Enhanced is different. In this case the user submits an ordinary (vanilla) job but we have a preference to run it in the cloud (EC2).&nbsp; In this case MRG Grid routes the job from the local grid to the cloud.&nbsp; There are some routing rules depending on the characteristics specified for cloud instances. e.g. the job may require the use of high CPU instance types or 64bit based instances.<br /><br />The job actually causes AMIs (specified in the routing rules) to be launched in the cloud and then uses Web services to transfer data in and out of the running instance. <br /><br />These rules are in hooks that are fired because of certain job characteristics. There are both pre and post job execution hooks.&nbsp; This allows for the transfer of data in and out.<br /><br />Obviously the instance(s) running in the cloud need(s) an extra mechanism to get the jobs to run on it's local condor instance.&nbsp; There is a daemon called caroniad that listens for incoming jobs and uses the AWS Web services. <br /><br />I haven't had to do anything complex yet but so far the MRG / EC2 Enhanced testing has cost be about $4!<br /><br /><pre># Example Job Submission for MRG / EC2 Enhanced<br />universe = vanilla
executable = /home/testuser/ec2_tests/my_ec2_job.sh
output = ec2test.out$(PROCESS)
log = ulog$(PROCESS)
requirements = Arch == "INTEL"
should_transfer_files = yes
when_to_transfer_output = on_exit
transfer_executable = true
+WantAWS = True
+WantArch = "INTEL"
+WantCPUs = 1
queue <br /><br /># More CPU requirements get a large instance type
+WantCPUs = 2
queue 2</pre><br />As I mentioned in the last blog entry this will all be documented in the MRG 1.1 Grid User Guide.&nbsp; I've been providing some input based on my testing.<br /><br />Rob Rati is the Red Hat engineer behind caroniad and he's been a great help getting me through the testing.<br />]]>
        
    </content>
</entry>

<entry>
    <title>Using MRG Grid and EC2</title>
    <link rel="alternate" type="text/html" href="http://ipbabble.com/2008/11/mrg-grid-and-ec2.html" />
    <id>tag:ipbabble.com,2008://1.34</id>

    <published>2008-11-24T23:13:40Z</published>
    <updated>2008-11-25T07:09:08Z</updated>

    <summary><![CDATA[I've been testing some MRG Grid capabilities recently.&nbsp; Last week it was using MRG Grid with virtualization and also using MRG Grid with Amazon's EC2.Using Condor's ability to work with virtualization I was able to bring up a Xen image...]]></summary>
    <author>
        <name>William Henry</name>
        <uri>http://www.ipbabble.com</uri>
    </author>
    
        <category term="EC2" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Grid" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="MRG" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Virtualization" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="aws" label="AWS" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="cloud" label="Cloud" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="condor" label="Condor" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ec2" label="EC2" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="grid" label="Grid" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mrg" label="MRG" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://ipbabble.com/">
        <![CDATA[I've been testing some <a href="http://www.redhat.com/mrg/grid/">MRG Grid</a> capabilities recently.&nbsp; Last week it was using MRG Grid with virtualization and also using MRG Grid with Amazon's EC2.<br /><br />Using Condor's ability to work with virtualization I was able to bring up a Xen image as a job on my Grid.&nbsp; This image could have been a complete stack including an application.&nbsp; I was happy enough just to get an existing RHEL 5.2 guest running.&nbsp; <br /><br />Toward the end of the week I was asked to look at our EC2 integration and take it for a test run. My first goal was just to get MRG Grid to launch an image in the cloud.&nbsp; After I created a new AWS (<a href="http://aws.amazon.com/">Amazon Web Services</a>) account&nbsp; I searched and found a Fedora 6 image already up in EC2 so I decided I'd use that as my first test.&nbsp; That way I didn't have to go through the task of building my own AMI (<a href="http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=171">Amazon Machine Image</a>). <br /><br />Next I looked at what changes I'd need to make to MRG Grid's configuration on my laptop - i.e. the local Condor configuration.&nbsp; The plan was that I'd launch my jobs from my laptop into the cloud.&nbsp; It turns out that the current MRG Grid configuration (for MRG 1.1 release in December) already has all the default configuration I need in the global configuration file.&nbsp; So I really had everything that I needed already, in terms of configuration.<br /><br />Then I had to create a job submission file in order to have MRG Grid's scheduler (Condor's schedd) schedule the job in the EC2 cloud. I used something very similar to the folllowing:<br /><br /> <blockquote><pre><font style="font-size: 0.8em;"># Note to submit an AMI as a job we need the grid universe<br />Universe = grid<br />grid_resource = amazon<br /><br /># Executable in this context is just a label for the job<br />Executable  = my_amazon_ec2_job<br />transfer_executable = false<br /><br /># Keys provided by AWS<br />amazon_public_key = cert-ABCDEFGHIJKLMNOPQRSTUVWXYZ.pem<br />amazon_private_key = pk-AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPP.pem<br /><br /># The AMI ID<br />amazon_ami_id = ami-123a456b<br />amazon_user_data = Hello EC2!<br /><br /># The keypair file if needed for using ssh etc<br />amazon_keypair_file = /tmp/keypair<br /># The security group for the job<br />amazon_security_groups = MY_SEC_GRP<br /><br />queue<br /></font></pre></blockquote><font style="font-size: 0.8em;">
</font>The key's I got from my AWS account.&nbsp; The amazon_ami_id is the identifier of an AMI already loaded at EC2. And the security group is only needed if you want to open up certain ports (like 22 for ssh) on the image.&nbsp; All the values for keys, ids and security groups&nbsp; above are merely examples.<br /><br />I then submitted the job and checked using the <a href="http://docs.amazonwebservices.com/AWSEC2/latest/GettingStartedGuide/">EC2 command line tools</a> (I had downloaded earlier) and also using <a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=609">Elasticfox</a> - a Firefox plug-in that provides a web condole to view and manage your AMIs.<br /><br />I did a couple of other steps setting up that security group (above) with the command line tools so that I could ssh into the image. I have to say that running ssh to login to the running image in the cloud made it all seem pretty cool.<br /><br />I then decided that I would write up my steps and submit them to the MRG Grid User Guide technical writer (God bless her).&nbsp; So I wrote up the description of the basic steps of using MRG with EC2.&nbsp; So when MRG 1.1 is released you'll find a more detailed decription of the steps in the MRG Grid User Guide <a href="http://redhat.com/docs/en-US/Red_Hat_Enterprise_MRG">here</a>.<br /><br />This week I have to work on the "Enhanced" MRG/EC2 integration.&nbsp; This is where I take advantage of a running AMI in the cloud and use it as a MRG Grid execute node and therefore deploy jobs into it.&nbsp; Thus making it just another resource available to my Grid, even though it is running externally in the cloud.<br /><br />Oh, by the way all the EC2 testing on Thursday night and Friday morning cost be about $0.50.&nbsp; That will be billed to my Amazon account.&nbsp; <br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>Whitehurst on Cloud, Grid, Virtualization, Open Source</title>
    <link rel="alternate" type="text/html" href="http://ipbabble.com/2008/10/whitehurst-on-cloud-grid-virtualization-open-source.html" />
    <id>tag:ipbabble.com,2008://1.33</id>

    <published>2008-10-20T16:21:20Z</published>
    <updated>2008-10-22T02:41:13Z</updated>

    <summary><![CDATA[There is a great interview with Jim Whitehurst on ZDNet yesterday that starts on the topic of Cloud computing and virtualization and ends up speaking about the merits of open source.&nbsp; Jim's ability to explain the value of these innovations...]]></summary>
    <author>
        <name>William Henry</name>
        <uri>http://www.ipbabble.com</uri>
    </author>
    
        <category term="Grid" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="MRG" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Virtualization" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="cloud" label="Cloud" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="grid" label="Grid" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="opensource" label="Open Source" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="virtualization" label="Virtualization" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://ipbabble.com/">
        <![CDATA[There is a <a href="http://resources.zdnet.co.uk/articles/0,1000001991,39523002-1,00.htm">great interview</a> with <a href="http://www.redhat.com/about/companyprofile/management/whitehurst.html">Jim Whitehurst</a> on ZDNet yesterday that starts on the topic of Cloud computing and virtualization and ends up speaking about the merits of open source.&nbsp; Jim's ability to explain the value of these innovations is really clear and to the point.&nbsp; <br /><br />On the topic of Cloud, Jim explains that he believes that the economics of server farms will win out.&nbsp; He then says <i>"whether they are internal private grids or clouds, or whether those are
public, or semi-private, that's still to be determined, because that's
a lot around specific business models."</i>&nbsp; Therefore flexibility to use private grids or clouds or external clouds will be come very important for many companies.&nbsp; This flexibility is one of the Objectives of <a href="http://www.redhat.com/mrg/grid/">MRG Grid</a>.<br /><br />Jim then does a great job of explaining how virtualization is becoming a commodity and should be moved to the operating system layer.&nbsp; Then he explains the Red Hat business model for open source.&nbsp; Again, he makes it very concise and clear.&nbsp; Worth a read.<br />]]>
        
    </content>
</entry>

<entry>
    <title>Now Available at Red Hat</title>
    <link rel="alternate" type="text/html" href="http://ipbabble.com/2008/10/now-available-at-red-hat.html" />
    <id>tag:ipbabble.com,2008://1.18</id>

    <published>2008-10-09T15:53:17Z</published>
    <updated>2008-10-20T23:35:53Z</updated>

    <summary>My blog difficulties have delayed this blog entry. I wanted to do a &quot;Farewell IONA&quot; blog (and I might do something later) and then an introduction to my new job at Red Hat.After over 11 years at IONA (my couple...</summary>
    <author>
        <name>William Henry</name>
        <uri>http://www.ipbabble.com</uri>
    </author>
    
        <category term="MRG" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Red Hat" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="amqp" label="AMQP" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="condor" label="Condor" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mrg" label="MRG" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="qpid" label="QPID" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="realtimelinux" label="Realtime Linux" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="redhat" label="Red Hat" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://ipbabble.com/">
        <![CDATA[My blog difficulties have delayed this blog entry. I wanted to do a "Farewell IONA" blog (and I might do something later) and then an introduction to my new job at Red Hat.<br /><br />After over 11 years at IONA (my couple of years at Aurora Technologies are officially included) I moved to Red Hat in May of this year.&nbsp; Not long after my move I started hearing rumors of IONA's acquistion. And, of course, now <a href="http://www.iona.com/pressroom/2008/20080912.htm">IONA is part of Progress Software</a>.<br /><br />My move was prompted much less by IONA's fate than by what Red Hat is doing with <a href="http://www.redhat.com/mrg">MRG</a>. It was time for change and MRG represents something very exciting going on in the industry. There is a lot I can and will be saying about MRG on this IPBabble and I'll only give a short introduction in this entry.<br /><br />Red Hat's expansion into emerging technologies is an effort to provide more value to its customers. This work includes, among other things, <a href="http://www.redhat.com/rhel/virtualization/">virtualization</a>, <a href="http://www.redhat.com/systems_management/">management</a> and Messaging, Realtime and Grid (MRG).&nbsp; I'll be explaining more about details in later posts but briefly:<br /><br /><ul><li>Messaging - an open source (<a href="http://cwiki.apache.org/qpid/">Qpid</a>), open standard <a href="http://amqp.org/">(AMQP</a>) based, platform independent, messaging infrastructure.</li><li>Realtime - a predictable, low-latency linux kernel. </li><li>Grid - an open source (<a href="http://www.cs.wisc.edu/condor/">Condor</a>) HPC, HTC platform that provides the flexibility of local grids, remotes grids and cloud computing.</li></ul><br />Of course there are lots more details but that is the very high level view. I'll be diving in a lot more on ipbabble.com. <br /><br />I have a hybrid role: I work for Brian Stevens, the CTO, in the Office of CTO focused on MRG. In that way I'm very much an evangelist and customer focused solution architect. But in the same organization I'm an engineer working on MRG. So I have to contribute to the engineering effort too. It is both a very rewarding and very challenging role.&nbsp; Getting up to speed on all the various aspects of MRG has been a steep learning curve despite my background in distributed computing and messaging. Thankfully I work with a really smart and dedicated team that has been generous with sharing their knowledge.&nbsp; I'm sure I'll be introducing some of them on this blog in the future.<br /><br /><br />UPDATE: Thank you to <a href="http://lanabrindley.blogspot.com/">Lana</a> for spotting the "bog" typo.<br />]]>
        
    </content>
</entry>

<entry>
    <title>Moving blog issues</title>
    <link rel="alternate" type="text/html" href="http://ipbabble.com/2008/10/moving-blog-issues.html" />
    <id>tag:ipbabble.com,2008://1.2</id>

    <published>2008-10-09T00:10:07Z</published>
    <updated>2008-10-09T16:18:17Z</updated>

    <summary><![CDATA[Well I have this new blog set up but I can't figure out how to move all my old blog entries into this blog.&nbsp; I guess I didn't export them correctly and just zipped up the files. If anyone knows...]]></summary>
    <author>
        <name>William Henry</name>
        <uri>http://www.ipbabble.com</uri>
    </author>
    
    <category term="movabletype" label="Movable Type" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://ipbabble.com/">
        <![CDATA[Well I have this new blog set up but I can't figure out how to move all my old blog entries into this blog.&nbsp; I guess I didn't export them correctly and just zipped up the files. If anyone knows how to get old Movable Type based blog entries into a new version of MT then let me know. <br /><br />Update:<br />I'm just loading these manually and setting the date to the original published date.&nbsp; I doubt I'll get around to entering the comments and trackbacks for the old entries. I'll have to see.<br />]]>
        
    </content>
</entry>

<entry>
    <title>IP Babble Will BE Available Again Soon</title>
    <link rel="alternate" type="text/html" href="http://ipbabble.com/2008/09/i-just-finished-installing-movable-type-4.html" />
    <id>tag:ipbabble.com,2008:/my_first_blog//1.1</id>

    <published>2008-09-29T02:32:32Z</published>
    <updated>2008-09-29T03:09:52Z</updated>

    <summary>I have moved IPBabble.com&apos;s hosting service and I&apos;m trying to move all my previous content over.Thank you for your patience....</summary>
    <author>
        <name>William Henry</name>
        <uri>http://www.ipbabble.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://ipbabble.com/">
        <![CDATA[I have moved IPBabble.com's hosting service and I'm trying to move all my previous content over.<br /><br />Thank you for your patience. <br />]]>
        
    </content>
</entry>

<entry>
    <title>More RESTful clarity</title>
    <link rel="alternate" type="text/html" href="http://ipbabble.com/2007/07/more-restful-clarity.html" />
    <id>tag:ipbabble.com,2007://1.8</id>

    <published>2007-07-18T04:43:28Z</published>
    <updated>2008-10-09T04:35:07Z</updated>

    <summary> So I talked, well actually chatted via instant-messaging, with Steve Vinoski and I do need to clear up some points from my last blog entry. Steve pointed out that RPC does NOT require synchronous communications. This is true. One...</summary>
    <author>
        <name>William Henry</name>
        <uri>http://www.ipbabble.com</uri>
    </author>
    
        <category term="REST" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="rest" label="REST" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://ipbabble.com/">
        <![CDATA[<div class="entry-body">
                              <p>So I talked, well actually chatted via instant-messaging, with Steve Vinoski and I do need to clear up some points from my <a href="http://ipbabble.com/2007/07/restful-myths-unraveling-the-confusion.html">last blog entry.</a></p>

<p>Steve pointed out that RPC does NOT require synchronous
communications. This is true. One can simulate the request-response of
a remote procedure using asynchronous communications. But the idea is
that RPC appear synchronous - like a programming language procedure
that blocks. </p>

<p>Some synchronous technology can appear asynchronous. E.g. CORBA has
oneway operations. And many queue based (messaging) technologies use
connection based technology underneath. E.g. Some publish subscribe
technologies are actually connection based. The publisher connects to
the notification service and so does the subscriber when retrieving
messages. They are asynchronous to the application in the sense that
they are decoupled. </p><br /></div>]]>
        <![CDATA[<p>Back to the Steve conversation. Steve maintained that RPC basically
implied location transparency. I'm not sure I agree. Though many RPC
technologies have location transparency I don't think that that the
orginal intent for RPC was that it have location transparency. I
certainly regard come technologies today as RPC that don't have
location transparency. <a href="http://tools.ietf.org/html/rfc707">RFC 707</a>
doesn't mention location transparency and as it works through
command/response, request/reply and procedure call models it speaks of
making it easier but I don't see transparent. In fact in order not to <i>"mislead the application programmer"</i> the paper suggests the model be clarified with  "Local procedure calls are cheap; remote procedure calls are not."</p>

<p>Location transparency is very often a bad thing. (more often than
not as we discovered with novice developers of CORBA and distributed
Java technologies and many more.) Because location transparency hides
the network, this can mislead the developer and also introduces issues
of extra exception handling that the developer has make sure that they
cover. Steve wrote an excellent paper on some of the issues in IEEE's
Internet Computing back in late 2005 - I have a copy but I don't have a
public URL for it, sorry.</p>

<p>But one could argue this both ways. i.e. The technology is not good
because it misleads the programmer OR you could say that one needs
better than average programmers to develop distributed application
architectures using RPC. But it seems that one could say the same thing
about RESTful developers. So before we accept the former (the
technology is not good) let us remember that not all REST developers
are building truly RESTful based applications/services. In fact <i>RESTful Web services</i> points out that most REST based services are REST-RPC and not RESTful.</p>

<p>Again, I wish to point out that I continue to warm to REST and
Resource Oriented Architectures, I see the potential, and look forward
to implementing. I'm just not willing to say that REST is useful in all
situations or that SOAP and WS-* are evil and there is no place for
them. And, as the book points out, there is still a lot of confusion
with REST based on the wide deployment of REST-RPC services rather than
RESTful.</p>

<p>The book has this to say about breaking the uniform interface:  <i>"occasionally it's unavoidable"</i>
(p101). Even while it's undesirable. The section on POST describes this
scenario. And so some "overloading" is required. Does this mean then
that REST is broken? Or should the REST community loosen the definition
of RESTful? Is "reshuffling" the resources acceptable, or a hack that
demonstrates something that needs to be addressed with the model?</p>
                            ]]>
    </content>
</entry>

<entry>
    <title>RESTful Myths: Unraveling the Confusion</title>
    <link rel="alternate" type="text/html" href="http://ipbabble.com/2007/07/restful-myths-unraveling-the-confusion.html" />
    <id>tag:ipbabble.com,2007://1.9</id>

    <published>2007-07-16T16:55:02Z</published>
    <updated>2008-10-09T04:35:56Z</updated>

    <summary> Shame on me for not delving into this deeper, sooner. It was high time I took on some of the myths in the REST community again. First let me say that I like REST. I think the architecture makes...</summary>
    <author>
        <name>William Henry</name>
        <uri>http://www.ipbabble.com</uri>
    </author>
    
        <category term="REST" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="rest" label="REST" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://ipbabble.com/">
        <![CDATA[<div class="entry-content">
                           <div class="entry-body">
                              <p>Shame
on me for not delving into this deeper, sooner. It was high time I took
on some of the myths in the REST community again. </p>

<p>First let me say that I like REST. I think the architecture makes a
lot of sense in many cases and I look forward to implementing my first
RESTful services(s). Having said that the REST community don't do
themselves many favors with the enterprise community, especially those
that have been around the block several times and have built several
flavors of architectures over the years. We know our architectures -we
know our terminology. It seems the REST guys confuse some terms. So I'm
going to target some areas to help unravel the muddle. </p><br /></div></div> ]]>
        <![CDATA[<p>I've decided to base this critique on the new popular book <a href="http://www.amazon.com/RESTful-Web-Services-Leonard-Richardson/dp/0596529260/ref=pd_bbs_1/103-2517997-6719814?ie=UTF8&amp;s=books&amp;qid=1184606665&amp;sr=8-1">RESTful Web services</a>
by Richardson &amp; Ruby. I'm assuming that the REST community stand by
this book - otherwise, sadly, it just adds some more confusion. To the
authors I say thank you, I'm enjoying the book. Don't think I don't
like it just because of this blog. It has not only helped me appreciate
some of the confusion in the industry but it has helped me to
appreciate the RESTful resource oriented approach. </p>

<p>Before I start I'll summarize by saying this. Perhaps much of the
present confusion is that the REST community has changed the semantics
of some popular enterprise computing terminology. We shall address
these below. </p>
                           
                           <div id="more" class="entry-more">
                              <p><b>Myth # 1:</b> (from page 19) <i>"All Web services are message-oriented, because HTTP itself is message oriented."</i>
One could argue, in a very loose way, that HTTP is message oriented but
it's a bit like saying that airplanes are "ground transport" just
because they can travel on the ground. Modern convention says that
airplanes are air transport. Modern, popular conventions says that
message oriented is asynchronous not synchronous. HTTP is a synchronous
transport. Message Oriented Middleware (MOM) is a class of technology
that includes JMS, MQ Series, CORBA's Event Service, etc. Generally
regarded as connectionless technology. So though one could regard HTTP
as message oriented in some general english language sense, those in
the industry a long time would not call HTTP "message oriented". HTTP
is a connection based, synchronous technology. Nothing wrong with that
but it is interesting considering some of the later myths which
criticize RPC style technology, where WS-* is singled out. </p>

<p><b>Myth # 2:</b> <i>REST is not RPC and RPC is in some way bad.</i>
When reading this book and watching or participating in discussions on
REST there is implicit and explicit criticism of RPC based approaches.
But again there is confusion here. The REST folk mean that having an
explicit operation/method name in a message or in the invocation is
what is meant by RPC. However there are two or three ways that this
argument doesn't work and is confusing.</p><ol><li>Again a terminology
confusion. Most people, that have been in the industry for some time,
usually refer to RPC when talking about synchronous, connection based
communication. The emphasis is on that rather than a rich vocabulary of
method names - though that is part of the assumption.</li><li>HTTP is
an RPC model. It's synchronous and connection based. Moreover, it has a
relatively rich set of remote procedure vocabulary - POST, PUT, GET,
DELETE being some of them. Question: So if someone using CORBA used DII
and had an interface with only three or four generic operations like
HTTP, would that make it RESTful?</li></ol>

<p><b>Myth # 3:</b> <i>REST makes things simpler by having a uniform generic interface.</i>
There are two ways to approach this. Again I'd put the example of MOM
based communications (e.g. JMS), or DII in CORBA. All of these
technologies have a uniform interfaces. CORBA has <i>invoke, send_oneway, send_deferred,</i>etc.  JMS has <i>publish</i>.
Does a uniform interface then make it simpler? Not necessarily because
then the application code needs to have more smarts in it for
marshaling and message validation etc. The static interfaces defined by
using CORBA IDL based proxies or Java interfaces with RMI helped remove
this extra work <i>"Let the middleware worry about that,"</i> was a reason to use such things. But this is not <i>pure</i> enough for REST. But for most Web facing applicaitons REST works great! But wait a minute, what's this? From page 25: <i>"Instead,
as a smart programmer you'll quickly notice the patterns underlying
your requests to a given service, and write wrapper methods that
abstract away the details of HTTP access."</i> Surely not! Surely this
is blasphemy! Could the RESTful be advocating some sort of wrapper
proxies? Sounds like it. Hmmmm .... I've said this before in a blog
entry called <a href="http://www.ipbabble.com/2006/03/ive_been_arrested.html">I've been arRESTed!</a> HAving said that I had far less a clue about REST then than I do now.</p>

<p>So some questions for the REST folks:</p>

<p>If I was using JMS and had a different queue defined for each
resource and had four messages defined: add, delete, update, and get,
and I sent XML payloads using these queues, is that RESTful? By
definition it would seem that it is. </p>

<p>I have to conclude the following, just as the REST folks say that
Web services and SOAP is hijacked by WS-*, is REST hijacked by HTTP?
(In fairness the book does not give out to much about SOAP just the way
that most implementations use SOAP.) I mean can RESTful services be
implemented using another transport? And can a uniform interface have
operations similar but different to HTTP's POST, PUT, DELETE and GET?
Is it okay if they map to CRUD?</p>

<p>What about a service where the semantics of HTTP verbs aren't
enough? Is REST only useful in it's purest RESTful way for resources
that basically only have CRUD interface? What about objects that have
richer semantics? Does the semantics (and therefore the verb) get
hidden in the data of a PUT? (And therefore break the rules) Or do we
have to define more finer resources in order to fit the REST model?</p>

<p>Now at the start I made it clear that I like REST. I do! In fact I
think it is really neat. I think it has lots of applications. Again I
look forward to implementing a resource oriented architecture using
REST. And I'll do it just like Richardson and Ruby suggest. It makes
sense.</p>

<p>The bottom line is that REST is a really cool HTTP based and CRUD
based architecural style that works great for web based applications.
It makes one more interface assumption that helps it a great deal - It
assumes that most data is text and so lots of the ugly marshalling
issues that would push you towards using other technologies go out the
window. You don't need them and therefore REST makes sense. So it makes
communiction simple and then you can rely on high speed processors to
do any marshalling into various binary types that you might be using in
your application code. Again nothing wrong with this for a great deal
of applications. </p>

<p>My challenge is that the REST community work with the other
communities, including WS-* (the REST community has cute nicknames for
this community) to help clear up some of the confusion - and I think
some are trying. For example I don't think it's fair to assume that Web
services is just HTTP. HTTP is successful for a number of reasons and
not just the fact that it has a simple, uniform interface. Remember
most enterprise architects got stuck with HTTP because web
administrators didn't like opening up lots of ports - no matter how
secure the alternative transport/protocol might be. As a result people
were doing ugly things like tunneling through HTTP to do B2B. As a
result we just had to resign ourselves to the fact that HTTP was the
"Web" when it came to outside the firewall. But there is no reason that
alternative approaches cannot be used, especially behind the firewall.</p>

<p>And so I think it is important to define some boundaries to where
REST works really well and where it doesn't. Let's be honest about it
an not have so many ideological wars. REST is really really useful ...
so are other approaches.</p>

<p>My expectation is that the response I'll get to this is <i>"he just doesn't get it!"</i> coupled with the <i>"REST can do everything" </i>
answer instead of some clarification, some constructive suggestion on
how the REST community can be more inclusive while at the same time
remaining RESTful, and some best practices. This would not only do a
good service to the larger community, as the RESTful Web services book
has done a good service educating me, but it would also help the REST
community itself because, as the book points out, most REST
implementations are not RESTful but "REST-RPC" based. So there is
plenty of confusion currently and room for improvement. </p>

<p>I'm not claiming to be a REST expert. I'm not claiming REST is bad.
I just want some honest debate and less confusion around the terms.
There is a danger that REST might "go to rest" because there is
confusion and disagreement. I hope to learn more about REST as I
continue to read the book (no doubt some of the above questions are
answered in sections I haven't reached yet.) </p>
                           </div>]]>
    </content>
</entry>

<entry>
    <title>Vista &amp; After The Love Is Gone</title>
    <link rel="alternate" type="text/html" href="http://ipbabble.com/2007/07/vista-after-the-love-is-gone.html" />
    <id>tag:ipbabble.com,2007://1.10</id>

    <published>2007-07-11T17:04:00Z</published>
    <updated>2008-10-09T04:33:50Z</updated>

    <summary>This article should have started &quot;sitting here at the Ballmer&apos;s keynote at Microsoft&apos;s Worldwide Partner Conference in Denver&quot;. Instead, I&apos;m writing it from my home office a day late before I head back up. Before I start I need to...</summary>
    <author>
        <name>William Henry</name>
        <uri>http://www.ipbabble.com</uri>
    </author>
    
        <category term="Microsoft" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="microsoftvista" label="Microsoft Vista" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://ipbabble.com/">
        <![CDATA[<p>This article should have started "sitting here at the Ballmer's
keynote at Microsoft's Worldwide Partner Conference in Denver".
Instead, I'm writing it from my home office a day late before I head
back up.</p>

<p>Before I start I need to point out that I work with Microsoft in
their partner program. I'm committed to that. Microsoft technologies
and products play a big part in the enterprise and will continue to do
so. It's not going away. Microsoft often have some "negative" things to
say about certain products etc. of their partners so I think it's okay
for me to be critical if it's constructive and can lead to better
products. (Also see the disclaimer about these being my opinions and
not that of my company on the right ;-)</p><br />]]>
        <![CDATA[<p>Yesterday I was listening to Mr. Ballmer talk about "optimized
desktops" and "enabling people to realize their potential" (never mind
that the promise of technology to help people realize their potential
seems a bit of a stretch). While I was listening I was shaking my head
in disappointment. I had wanted this to be a positive upbeat,
experience but what had just happened to me had already soured my
perspective.</p>

<p>You see I decided to leave my Mac at home and be a good corporate
citizen and take my newer Dell/Microsoft Vista laptop. Sigh, what a
mistake. Those of you that own a Mac, know how easy it is to just
connect to the internet, especially on WiFi. Well I had being in the
main conf. dining area with my Vista laptop trying to connect for an
hour. I've seen colleagues with this problem before. Now I was
experiencing it first hand. You see I made the mistake of just putting
my laptop to sleep and then opening it, reawakening it (always
hit-or-miss IMO) and trying to connect. Well Vista couldn't see the
WiFi at the conf. center. I scoured the conference information book to
see if there was some SSID I was supposed to be using. I then decided
that perhaps the Colorado Conference Center was a little behind and I
had to be somewhere special Microsoft's Blue Lounge for WiFi access. I
headed outside the dining area.</p>

<p>As I left the dining area I noticed some people sitting around with
laptops and asked if they were online. "Sure" they said. hmmmm... Of
course! I remembered. This is still Windows! See my problem was that I
expected more from Vista in this area. But I needed to reboot. Of
course, I couldn't wake my laptop from sleep - hey, sometimes it wakes
sometimes it doesn't you just don't know. I tried everything and then I
decided that I was going to reboot anyway I might a well do the
horrible hard boot by holding down the power button - not elegant but
some things don't change. (For those of you shutting "user error, user
error" remember I have two degrees in computer science (B.Sc. and
M.Sc.) and have been working on computers since before 1984 in some way
or other. I've programmed Windows, Solaris, Cray, IBM Mainframe, HP/UX,
AIX, OS X, Linux .....)</p>

<p>After the hard reboot sure enough there was the WiFi hotspot
MSFTINET. Yea! I connected! But woops, gotta go into see Mr. Ballmer's
keynote. Hopefully the laptop will remember MSFTINET. Well when I got
around to the overflow room - my delay contributed to missing the main
hall - I discovered that MSFTINET was not visible from here. But that's
fine there was MSFTEVENT and MSFTWAN and some others. Forget it. No
luck. I closed my laptop disappointed and instead watched Mr. Ballmer
jump around the stage like a rock star. Fair play to him - he's a lot
to be excited about.</p>

<p>Ballmer talked about how Microsoft was once a desktop company and
still is but that was once perceived as not-an-Enterprise-company.
However now they are told how they can be a "better enterprise
company", inferring that they are at least an enterprise company now. I
think that is very fair- there is no denying that fact. Microsoft are a
very strong enterprise company. Sun and HP have slipped up in this
area. IBM are still very strong. But I couldn't help thinking, "you
could still be a better desktop/laptop company". Now maybe I'm being
unfair perhaps this is a Dell problem. </p>

<p>So enough about the negative experience. Here are some of the positives. Ballmer introduced <a href="http://www.microsoft.com/silverlight/default01.aspx">Sliverlight</a>
a "cross-browser, cross-platform plug-in for delivering the next
generation of Microsoft .NET-based media experiences and rich
interactive applications for the Web." The technology walkthrough and
demo, performed by someone else (I'm ashamed I can't remember their
name) was very impressive. Actually I decided to download it on my Mac
today to see it work. Some bad news for Microsoft - I promise this was
supposed to be a positive section - it wouldn't install on Safari. The
install reported that I required "10.4.8 or higher" to install and so
it wouldn't install. Well I have 10.4.10!!! Come on guys (MS)!!! I
wanted to try this out and say really positive stuff! Anyway I'm sure
this is a small glitch. I'll try it on Vista later or on Firefox. It
looked really slick.</p>

<p>Microsoft also talked about the Cloud Platform - a place for
developing new service based applications etc. Hmmm... we (at IONA)
have been talking about the cloud for about 3 years. Sounds very
familiar. </p>

<p>So I really need to say something completely positive with no negative strings.  Ah yes, I saw <a href="http://www.microsoft.com/surface/">Surface</a>.
I had seen a YouTube demo of this technology (or like technology ? )
some years ago. It is so very very cool. Honestly it's the type of
technology and product you'd expect from Apple. Congratulations to
Microsoft for swooping this up. Reader, if you haven't seen this yet
check out the cool promotion demos <a href="http://www.microsoft.com/surface/"> here</a>. (Skip the introduction).</p>

<p>So tonight, if they'll still let me, I'll be seeing Earth Wind and
Fire at one of the Microsoft events. Oh you thought that "After the
Love is Gone" was about Vista. No, it's one of my favorite EW&amp;F
hits. </p>

<p>Update: Sigh. So it's not Earth Wind and Fire but instead Earth Wind
Fire and Water, a cover/tribute band. Did someone say, After the Love
is Gone?</p>

<p>Update: Went to a Silverlight presentation and afterwards mentioned
the trouble with downloading Silverlight on Safari (I said it privately
not in the general Q&amp;A) The guy blew me off with "well it's beta!".
Well don't waste my time! It could easily have checked my browser and
said not to bother downloading cause it doesn't really support OS X in
beta. (BTW it wouldn't load for Firefox on OS X either) Instead I went
through the download process to get the crazy message. BTW the
Silverlight demo called <a href="http://www.metaliq.com/portfolio/silverlight.html">Top Banana</a>
was really cool. Beau from Metaliq said that the development was
remarkably easy. They did say that Silverlight will not support WCF.</p>]]>
    </content>
</entry>

<entry>
    <title>Last Week SOCA. This Week Catalyst</title>
    <link rel="alternate" type="text/html" href="http://ipbabble.com/2007/06/last-week-soca-this-week-catalyst.html" />
    <id>tag:ipbabble.com,2007://1.11</id>

    <published>2007-06-27T23:27:53Z</published>
    <updated>2008-10-09T05:42:13Z</updated>

    <summary> Last week I was in L.A. talking about SOA on an expert panel at SOCA 2007. It was an honor to be on the panel. I really enjoyed Prof. Wei-Tek Tsai&apos;s discussion about how the process for developing SOA...</summary>
    <author>
        <name>William Henry</name>
        <uri>http://www.ipbabble.com</uri>
    </author>
    
    <category term="burtongroup" label="Burton Group" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="soca" label="SOCA" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://ipbabble.com/">
        <![CDATA[<div class="entry-body">
                              <p>Last week I was in L.A. talking about SOA on an <a href="http://linux.ece.uci.edu/soca07/panel.php">expert panel at SOCA 2007</a>.
It was an honor to be on the panel. I really enjoyed Prof. Wei-Tek
Tsai's discussion about how the process for developing SOA has not yet
being completely figured out yet. He claims there was a big shift in
methodologies and processes when we went to OO and that a similar shift
is needed in SOA. I mentioned some of my experience in this shift in a
previous blog called <a href="http://www.ipbabble.com/2007/05/trusted_services_network.html">Trusted Services Network</a>. I hope to catch up with Prof. Tsai regarding this in the future.</p>

<p>Today I've just finished my presentation on <a href="http://www.osgi.org/osgi_technology/index.asp?section=2">OSGi</a> at <a href="http://catalyst.burtongroup.com/NA07/agenda.php">Burton Group's Catalyst conference</a>
in San Francisco. My presentation was well received. I'll blog on OSGi
soon. I will say that it was amazing how complimentary the
presentations in my session were. It was almost as if we had rehearsed
the message but we had not. </p>

<p>One of the cool presentations was Jeff Barr's from Amazon regarding
their web services. His discussion on Amazon's approach to web-Scale
Computing really was an eye opener. I'm embarrassed I didn't know about
this before. I knew that Amazon was providing Web service APIs for
developers but I had no idea that they had a complete infrastructure
for organizations to utilize. Hardware and infrastructure as a service.
This is not unlike what some of the large telecommunications companies
are trying to do - i.e. provide their infrastructure for people to
deploy their services. Amazon is providing that and more - the ability
to host your entire IT on their "network".</p>

<p>More on Catalyst later.</p>

<p>BTW I do love San Francisco. What a beautiful town. Not perfect but really beautiful.</p>
                           </div> ]]>
        
    </content>
</entry>

<entry>
    <title>Scratch Programming Language</title>
    <link rel="alternate" type="text/html" href="http://ipbabble.com/2007/06/scratch-programming-language.html" />
    <id>tag:ipbabble.com,2007://1.12</id>

    <published>2007-06-06T19:33:50Z</published>
    <updated>2008-10-09T05:44:57Z</updated>

    <summary> I was reading a post on Feld Thoughts about an new programming language developed at MIT called Scratch. It sounded good, so I thought I better download it and have a look at it to see if it was...</summary>
    <author>
        <name>William Henry</name>
        <uri>http://www.ipbabble.com</uri>
    </author>
    
    <category term="scratch" label="Scratch" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://ipbabble.com/">
        <![CDATA[<div class="entry-content">
                           <div class="entry-body">
                              <p>I was reading a <a href="http://www.feld.com/blog/archives/2007/05/scratch_a_new_p.html">post on Feld Thoughts</a> about an new programming language developed at MIT called <a href="http://scratch.mit.edu/">Scratch</a>.
It sounded good, so I thought I better download it and have a look at
it to see if it was suitable for my eight year old daughter - she's
very bright and I've been trying to find a way to introduce her to
programming for a while but couldn't find the right tool.</p>
                           </div>
                           <div id="more" class="entry-more">
                              <p>I
downloaded Scratch and she was up and playing with it in no time at
all. She created an animation with her own sprites and had them moving
around the screen.</p>

<p>The developers of Scratch clearly put a lot of thought into it. What's cool about Scratch:<br />
</p><ul><li>It has it's own <i>very cool</i> IDE. This includes color coded building blocks for different language construct categories.</li><li>The
building blocks make it very easy for young kids but they aren't too
childish so that even an adult can enjoy playing with it.</li><li>By building in the easy to use animation tools, they have made it fun from the start.</li><li>There
is a community growing around it from their site where kids can share
their creations and use and comment on other people's creations.</li></ul><br />
My daughter enjoyed it so much she now has the other kids in the
neighborhood downloading and playing with it. And I have other friends
and colleagues who have downloaded Scratch for their kids. <p>The website is full of some really neat programs created using Scratch ,including this <a href="http://scratch.mit.edu/projects/Shanesta/9710">Archery</a> game. (Its only drawback being the annoying <i>Scarborough Fair</i> background music).</p>
                           </div>
                        </div> ]]>
        
    </content>
</entry>

<entry>
    <title>The ServerSide Video</title>
    <link rel="alternate" type="text/html" href="http://ipbabble.com/2007/06/the-serverside-video.html" />
    <id>tag:ipbabble.com,2007://1.13</id>

    <published>2007-06-05T03:42:03Z</published>
    <updated>2008-10-09T05:57:42Z</updated>

    <summary> I mentioned in a previous post called TheServerSide Symposium Las Vegas that I was on a SOA expert panel at the show. Well I recieved the link to the video the other day and thought I&apos;d better post it....</summary>
    <author>
        <name>William Henry</name>
        <uri>http://www.ipbabble.com</uri>
    </author>
    
        <category term="SOA" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="serverside" label="ServerSide" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="soa" label="SOA" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://ipbabble.com/">
        <![CDATA[<div class="entry-content">
                           <div class="entry-body">
                              <p>I mentioned in a previous post called <a href="http://ipbabble.com/2007/03/theserverside-symposium-las-vegas.html">TheServerSide Symposium Las Vegas</a>
that I was on a SOA expert panel at the show. Well I recieved the link
to the video the other day and thought I'd better post it. Click on
"Launch Presentation" on <a href="http://event.on24.com/eventRegistration/EventLobbyServlet?target=lobby.jsp&amp;eventid=42970&amp;sessionid=1&amp;partnerref=atssc_sitepost_04_23_07&amp;key=86BCED4FBF76FFB380819D1E2E9B5B8C&amp;eventuserid=10959363">SOA Panel from TheServerSide Symposium</a>. The transcript is also available on the launched panel through a tab.</p>

<p>I won't give you my own opiniion of the panel. You can judge for
yourself. Feedback welcome and appreciated. If you have trouble viewing
it please let me know too.</p>
                           </div>
                           <div id="more" class="entry-more">
                              
                           </div>
                        </div>
                        
                           <span class="post-footers"></span> ]]>
        
    </content>
</entry>

<entry>
    <title>Sun SOA Dog Food?</title>
    <link rel="alternate" type="text/html" href="http://ipbabble.com/2007/05/sun-soa-dog-food.html" />
    <id>tag:ipbabble.com,2007://1.15</id>

    <published>2007-05-24T22:05:28Z</published>
    <updated>2008-10-09T06:01:02Z</updated>

    <summary> Is this article for real? I&apos;m not sure that if I were Sun I&apos;d have a link to an article titled &quot;How Sun sells its SOA dog food to its own employees&quot; on my SOA web page. But that&apos;s...</summary>
    <author>
        <name>William Henry</name>
        <uri>http://www.ipbabble.com</uri>
    </author>
    
        <category term="Sun" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="soa" label="SOA" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="sun" label="SUN" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://ipbabble.com/">
        <![CDATA[<div class="entry-body">
                              <p>Is <a href="http://searchwebservices.techtarget.com/originalContent/0,289142,sid26_gci1247421,00.html">this article</a>
for real? I'm not sure that if I were Sun I'd have a link to an article
titled "How Sun sells its SOA dog food to its own employees" on my SOA
web page. But that's where I found it. Ouch! I personally don't eat <a href="http://iml.jou.ufl.edu/projects/Spring04/Perhach/PetFood/Ingredients.htm">dog food</a>.</p>

<p>Anyway, I guess the bigger question is whether anyone else is eating
this dog foo... I mean JCAPS besides Sun. And from the article it
sounds like Sun had a hard time stomaching it.</p>

<p>This article does a good job in explaining some of the difficulties
that a novice can have trying to sell SOA. Ricigliano, a senior manager
at Sun tries to sell SOA internally. The article says, "he quickly
found that it didn't work to go into a meeting with business users and
talk about SOAP, Web services, UDDI and WSDL, or even the virtues of
Sun's very own SOA tools." He learned his lesson and concluded, "the
trick is not to show business users how SOA works, but how SOA can work
for them." Great quote!</p>

<p>However the article really doesn't give evidence that Ricigliano
actually implemented anything. I can only conclude from the article
that they're still eating. </p>
                           </div> ]]>
        
    </content>
</entry>

<entry>
    <title>Trusted Services Network</title>
    <link rel="alternate" type="text/html" href="http://ipbabble.com/2007/05/trusted-services-network.html" />
    <id>tag:ipbabble.com,2007://1.16</id>

    <published>2007-05-10T09:44:05Z</published>
    <updated>2008-10-09T06:05:26Z</updated>

    <summary> I&apos;ve been visiting several telecommunications companies over the last couple of years about the difficulty in getting to the convergence nirvana. Recently I&apos;ve been discussing the development of the service network with colleagues of mine, including Tony Parker and...</summary>
    <author>
        <name>William Henry</name>
        <uri>http://www.ipbabble.com</uri>
    </author>
    
        <category term="SOA" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="soa" label="SOA" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://ipbabble.com/">
        <![CDATA[<div class="entry-content">
                           <div class="entry-body">
                              <p>I've
been visiting several telecommunications companies over the last couple
of years about the difficulty in getting to the convergence nirvana.
Recently I've been discussing the development of the service network
with colleagues of mine, including Tony Parker and Brian Whittaker. One
of the exciting developments is the idea of opening up their networks
for third party applications offered as services. It's the idea of
providing your network as a marketplace for <a href="http://en.wikipedia.org/wiki/SaaS">Software as a Service (SaaS)</a>.</p><p><br /></p><p>One of the overriding themes Tony, Brian and I have been hearing
lately is the idea that while the technology is more or less available
for the rapid deployment of services on the network, consumers of those
services will have difficulty trusting these services and the network.
And service providers are wary of the impact that consumers or other
service providers can have on their services. In order for the network
provider to be successful the consumers of services must be confident
in the quality of the services on the network. These consumers include
the produces of new services based on composites (mashups) of other
services.</p></div></div> ]]>
        <![CDATA[

<p>The
way to solve this problem, while maintaining the value of rapid service
deployment, is to provide certification of the services. This initially
sounds orthogonal to the idea of rapid service mashups but it can
actually be achieved in an effective way. Technology exists today that
can solve this problem to a great extent.<br />
There are several elements needed:<br />
</p>
                           
                           <div id="more" class="entry-more">
                              <ul><br /><li>Well formed service contracts<br />
</li><li>Certification Kits<br />
</li><li>Accessible Active Repository<br />
</li></ul>

<p><i>Well formed service contracts</i> are required because this is
going to be one of the main selling points for a service. What the
service provides and how it provides it, is crucial to building
confidence with consumers. The design of new services or the
refactoring of old contracts for deployment as new service contracts is
a vital part of the process. Poorly defined services will not be
consumed and will therefore lower the value of the service network.</p>

<p><i>Certification Kits</i> provide the mechanism for rating the
capabilities and therefore the usability of a service. A certified
service, provided it meets the well formed service contract
requirement, will be trusted and therefore consumed. Services are
certified by meeting the requirements of their contract. Obviously this
can have various depths. </p>

<p>Certification kits allow service providers not only to guarantee
their own kits in terms of meeting the contract but also allow
composite/mashup services to gaurantee quality against the services
they consume in the mashup. Certification kits include full emulators
of service consumer and service provider and include the service
contract and the data required for testing. Kits may be black-box or
white-box in terms of the type of logic and data required and
available. Certification kits require good test data. Some of this can
be generated, some can be pulled off of production systems (scrubbed
for privacy reasons) and some may need to be hand input. Test data is
actually the bulk of the work, not the code. </p>

<p><i>An accessible, active repository</i> is required to provide a
place for efficient storing and retrieval of service contracts,
certification kits and certification status. This is not just a look-up
registry. When third parties want to consume services, including for
consumption within mashups, it is necessary for the process of
downloading certification kits to be straightforward. Service network
providers may require a fee but the confidence in the certification
kits and ease of use will make this worth while. An active repository
supports the service lifecycle and will schedule certification tests
when new services are deployed into the test environment and can
version services across test and production networks. At any point in
time consumers and providers can look at the network and see the
"health" of the services deployed and therefore the overall "health" of
the service network.</p>

<p>This is a very high level look at this model. There are greater
details within each of these areas. Feel free to contact me if you are
interested in more details. </p>
                           </div>]]>
    </content>
</entry>

<entry>
    <title>IONA Advances SOA</title>
    <link rel="alternate" type="text/html" href="http://ipbabble.com/2007/03/iona-advances-soa.html" />
    <id>tag:ipbabble.com,2007://1.17</id>

    <published>2007-03-30T17:24:45Z</published>
    <updated>2008-10-09T06:09:56Z</updated>

    <summary> It&apos;s been an exciting month at IONA. First IONA acquired C24 and therefore strengthened both its technology in terms of data services including transformation, but also it&apos;s penetration in the financial services industry. Then this week IONA announced availability...</summary>
    <author>
        <name>William Henry</name>
        <uri>http://www.ipbabble.com</uri>
    </author>
    
        <category term="IONA" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="artix" label="Artix" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="c24" label="C24" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="iona" label="IONA" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="soa" label="SOA" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://ipbabble.com/">
        <![CDATA[<div class="entry-content">
                           <div class="entry-body">
                              <p>It's been an exciting month at IONA. First IONA <a href="http://www.iona.com/pressroom/2007/20070306.htm?WT.mc_id=125781">acquired C24</a>
and therefore strengthened both its technology in terms of data
services including transformation, but also it's penetration in the
financial services industry. Then this week IONA announced availability
of a new product <a href="http://www.iona.com/pressroom/2007/20070326.htm?WT.mc_id=125787">Artix™ Registry/Repository</a> which I believe will have a major impact on how companies will view SOA governance.</p>
                           </div>
                           <div id="more" class="entry-more">
                              <p>The <a href="http://www.c24.biz/aboutc24.htm">C24</a>
acquisition improves IONA's position in the financial services (FS)
sector. Artix has been doing quite will in FS because of it's ability
to help large FS organizations reuse and interoperate their many IT
infrastructure investments. So it's not unusual to see Artix being used
to bridge between different technology gaps in trading systems etc.
What C24 brings is support for so many of the standard types of message
formats that move across these various infrastructure technologies,
power transformation engines to support these formats, and of course
some customers that have invested in C24 products. Artix Data Services
will be a very powerful tool in IONA's SOA story.</p>

<p>Artix™ Registry/Repository is a very powerful innovation for SOAs. I
was fortunate to get an early preview of this in Dublin in January and
was very impressed with the vision and capabilities. The idea here is
that in a distributed SOA infrastructure organizations need a much
better handle on design-time, deploy-time and run-time governance.
Whereas SOA management technologies, such as Amberpoint, help monitor
and manage the flow of messages and data across your SOA, Artix™
Registry/Repository helps insure that the policies on those endpoints
are up-to-date and valid. Artix™ Registry/Repository helps designers
pull together the policies and configuration of endpoints, and then
insure that those policies are maintained. New versions of policies can
be pushed to appropriate endpoints and endpoint groupings. Endpoints
can notify the repository of policy changes and so central governance
can be maintained. So the repository is not just a static collection of
metadata but is really the control center for your distributed SOA
infrastructure. </p>
                           </div>
                        </div> ]]>
        
    </content>
</entry>

</feed>
