<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>Eric Newcomer&apos;s Weblog</title>
   <link rel="alternate" type="text/html" href="http://blogs.iona.com/newcomer/" />
   <link rel="self" type="application/atom+xml" href="http://blogs.iona.com/newcomer/atom.xml" />
   <id>tag:blogs.iona.com,2008:/newcomer//3</id>
   <updated>2008-09-23T17:55:00Z</updated>
   <subtitle>SOA, Software Standardization, Web Services, and Transactions</subtitle>
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.31</generator>

<entry>
   <title>IASA New England Meeting October 2</title>
   <link rel="alternate" type="text/html" href="http://blogs.iona.com/newcomer/archives/000575.html" />
   <id>tag:blogs.iona.com,2008:/newcomer//3.575</id>
   
   <published>2008-09-23T18:06:14Z</published>
   <updated>2008-09-23T17:55:00Z</updated>
   
   <summary> Sorry for getting this out a bit late, have been on the road the past couple of weeks... I just wanted to let everyone in the Boston area know we&apos;re having the next meeting of the IASA New England chapter next Thursday, October 2 from 5:00pm-8:00pm at the Microsoft office at 201 Jones Road, Waltham, MA 02451. I will be talking about why interoperability is so hard, and then Brian Kelly and Yev Bronshteyn will be giving an overview and demo of the new Artix WCF product, which provides native interoperability between WCF and Java. Click here for an abstract of the presentation and registration information. Hope to see you there!...</summary>
   <author>
      <name>eric</name>
      <uri>http://www.iona.com/newcomer/</uri>
   </author>
         <category term="Software Architecture" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="250" label="architecture" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="130" label="Artix" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="373" label="IASA" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="13" label="interoperability" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="265" label="WCF" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.iona.com/newcomer/">
      <![CDATA[<p>
Sorry for getting this out a bit late, have been on the road the past couple of weeks...
</p><p>
I just wanted to let everyone in the Boston area know we're having the next meeting of the <a href="http://www.iasahome.org/web/home/home">IASA</a> New England chapter next Thursday, October 2 from 5:00pm-8:00pm at the Microsoft office at <a href="http://maps.google.com/maps?f=q&hl=en&geocode=&q=201+Jones+Road,+Waltham,+MA&sll=42.64373,-71.64931&sspn=0.00977,0.022488&ie=UTF8&z=16&iwloc=addr">201 Jones Road, Waltham, MA 02451</a>. 
</p><p>
I will be talking about why interoperability is so hard, and then Brian Kelly and Yev Bronshteyn 
will be giving an overview and demo of the <a href="http://www.iona.com/products/artix/artix_connect_wcf/welcome.htm">new Artix WCF product</a>, which provides native interoperability between WCF and Java. 
</p><p>
<a href="http://iasanewengland.eventbrite.com">Click here</a> for an abstract of the presentation and registration information.
</p><p>
Hope to see you there! 
</p>]]>
      
   </content>
</entry>
<entry>
   <title>Early Draft OSGi V4.2 Docs Available</title>
   <link rel="alternate" type="text/html" href="http://blogs.iona.com/newcomer/archives/000574.html" />
   <id>tag:blogs.iona.com,2008:/newcomer//3.574</id>
   
   <published>2008-08-26T22:20:31Z</published>
   <updated>2008-08-26T22:20:36Z</updated>
   
   <summary> As of this week you can download an early release draft document containing 11 design documents we&apos;ve been working on for the past year or so as the result of the OSGi enterprise initiative. This is important because according to OSGi Alliance rules, only members are allowed access to working drafts of documents. This is the first time we&apos;ve released any of these drafts publicly. As a board member and EEG co-chair, I&apos;m very pleased to see this happen because (a) I often get asked about what&apos;s going on and why we can&apos;t (in this age of open source) release details of what we&apos;re doing and (b) I&apos;m very interested in feedback from the broader OSGi community. The enterprise edition activity started in January, 2007 with a review of requirements gathered at the enterprise workshop event. Following the OSGi Alliance process, the newly formed enterprise expert group members began...</summary>
   <author>
      <name>eric</name>
      <uri>http://www.iona.com/newcomer/</uri>
   </author>
         <category term="OSGi" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="377" label="distributed OSGi" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="178" label="OSGi" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="252" label="OSGi Enterprise" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.iona.com/newcomer/">
      <![CDATA[<p>
As of this week you can <a href="http://www.osgi.org/download/osgi-4.2-early-draft.pdf">download</a> an early release draft document containing 11 design documents we've been working on for the past year or so as the result of the OSGi <a href="http://www.osgi.org/EEG/HomePage">enterprise</a> initiative. 
</p><p>
This is important because according to OSGi Alliance rules, only members are allowed access to working drafts of documents. This is the first time we've released any of these drafts publicly. As a <a href="http://www.osgi.org/About/BoardAndOfficers">board</a> member and EEG co-chair, I'm very pleased to see this happen because (a) I often get asked about what's going on and why we can't (in this age of open source) release details of what we're doing and (b) I'm very interested in feedback from the broader OSGi community. 
</p><p>
The enterprise edition activity started in January, 2007 with a review of <a href="http://www.osgi.org/EnterpriseWorkshop/Requirements">requirements gathered at the enterprise workshop</a> event. Following the <a href="http://www.osgi.org/Main/HomePage">OSGi Alliance</a> process, the newly formed enterprise expert group members began writing Request for Proposal (RFP) documents. After an RFP on a particular topic is formally accepted, members can begin writing the Request for Comments (RFC) documents to design solutions to one or more of the RFPs.  The early draft contains some of the RFCs that are far enough along to be released - in fact this represents a majority of current work items.  
<P><p>
One major work item that is not far enough along, BTW, is the Java EE mapping to OSGi.  (Not that I'm trying to put any pressure on any of the members of the group to hurry up and finish their work or anything ;-)
</p><p>
The draft is divided into two major sections, like the work: Core and Enterprise (reflecting requirements taken on by the <a href="http://www.osgi.org/CPEG/HomePage">CPEG</a> and EEG, respectively), pretty much (but not strictly) depending on whether the RFC affects the core, or something mapped to the core. 
</p><p> 
From here, the RFPs (which I call the design docs) are fed into the formal specification drafting process.  So it is a great time to submit your comments (please be sure review the <a href="http://www.osgi.org/Main/OSGiDistributionAndFeedbackLicense">feedback form</a> before you do - this basically defines the IP protections and rights involved).
</p><p>
Of course I am particularly interested in any feedback you may have on the <a href="http://blogs.iona.com/newcomer/archives/000569.html">distibuted OSGi </a>document (RFC 119), but you may also be interested in:
</p><p>
<ul>
<li>
 the Spring-DM inspired component model design (RFC 124)
</li>
<li>
or some of the proposed security enhancements (RFC 120)
</li><li>
the new command line capability (RFC 132)
</li><li>
the new service registry hooks (RFC 126)
</li><li>
the bundle tracker (RFCs 121 and 125)
</li><li>
transaction support (RFC 98)
</li><li>
or the DS updates (RFC 134)
</li>
</ul>
</p><p>
It's almost 300 pages, but there's some good stuff there, and 18 months into the task, I think we have a pretty good handle on some things. But then again, maybe not...
</p><p>
 The big new areas of course are the distributed OSGi and the "Spring-inspired" component model.  And of course, as always, I am very interested in any comments or feedback about the suitability of the OSGi programming model for the enterprise, especially given some of these proposed enhancements. 
</p>]]>
      
   </content>
</entry>
<entry>
   <title>Abstraction and control in REST vs RPC</title>
   <link rel="alternate" type="text/html" href="http://blogs.iona.com/newcomer/archives/000572.html" />
   <id>tag:blogs.iona.com,2008:/newcomer//3.572</id>
   
   <published>2008-07-25T22:30:48Z</published>
   <updated>2008-07-25T18:36:42Z</updated>
   
   <summary>One of the biggest debates in the software industry is about getting the level of abstraction right. By this I mean a level of interaction with computers higher than binary code or machine language - in other words, anything that presents humans with a more natural or intuitive abstraction of a CPU&apos;s instruction set and binary data storage format. Computers are after all fundamentally stupid electrical systems that have to be told exactly what to do. At the end of the day, everything is just 1s and 0s - the bit is either on or off. But it is really hard for us humans to work with computers at that level, so we keep trying to make it easier for people to tell computers what to do. Getting the abstraction right is key to developer productivity, but it&apos;s a constant struggle. Abstraction layers typically remove flexibility and control from one...</summary>
   <author>
      <name>eric</name>
      <uri>http://www.iona.com/newcomer/</uri>
   </author>
         <category term="Software Architecture" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="390" label="abstraction" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="377" label="distributed OSGi" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="178" label="OSGi" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="391" label="productivity" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="157" label="REST" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="389" label="RPC" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.iona.com/newcomer/">
      <![CDATA[One of the biggest debates in the software industry is about getting the level of <a href="http://en.wikipedia.org/wiki/Abstraction_layer">abstraction</a> right. By this I mean a level of interaction with computers higher than <a href="http://en.wikipedia.org/wiki/Binary_numeral_system">binary</a> code or <a href="http://en.wikipedia.org/wiki/Machine_language">machine language</a> - in other words, anything that presents humans with a more natural or intuitive abstraction of a CPU's instruction set and binary data storage format.   
</p><p>
Computers are after all fundamentally stupid electrical systems that have to be told exactly what to do. At the end of the day, everything is just 1s and 0s - the bit is either on or off. But it is really hard for us humans to work with computers at that level, so we keep trying to make it easier for people to tell computers what to do. Getting the abstraction right is key to developer productivity, but it's a constant struggle. Abstraction layers typically  remove flexibility and control from one level in order to simplify things at the next.    
</p><p>
Years ago you could hear developers saying they would never use <a href="http://en.wikipedia.org/wiki/COBOL">COBOL</a> because it was much too slow and verbose compared to assembler. Yet COBOL remains a very <a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=266156&intsrc=kc_rfavs">widely used</a> language.  
</p><P>
It was not too long ago you heard the same complaint about relational databases - they were just too slow compared to hierarchical and <a href="http://en.wikipedia.org/wiki/Network_model">network</a> databases. And don't forget the Web - I remember when we called it the "world wide wait" since it took so long to render a basic page. 
</p><p>
In other words, it is sometimes more important to make it easier for people to tell computers what to do than it is to give them complete control.  When we introduced high-level "English-like" language abstractions for the the Digital business software product set on <a href="http://en.wikipedia.org/wiki/OpenVMS">VMS</a> in the late 80s (which included an RPC in the <a href="http://h71000.www7.hp.com/commercial/acms/index.html">ACMS</a> product) we endured constant complaints from developers who wanted more flexibility and control. In those days distributed computing programmers were used to the fine-grained control over remote conversations available in the dominant <a href="http://en.wikipedia.org/wiki/IBM_LU6.2">LU6.2</a> peer-to-peer protocol.  
</p><p>
In fact at the time most transaction processing people thought we were nuts to base a TP monitor on RPC. They thought the only way to do distributed computing was to explicitly program it. We thought it was more important to make the developer's life easier by abstracting the distributed programming steps into what we called the Task Definition Language (TDL). You still knew you were calling a program in another process, but you didn't have to open the channel, establish the session, format the data, check that every send that needed one had a reply, etc. (ACMS is still in production in some pretty demanding environments.)
</p><p>
This afternoon I finally caught up up on Steve Vinoski's recent <a href="http://steve.vinoski.net/pdf/IEEE-Convenience_Over_Correctness.pdf">article</a> and <a href="http://steve.vinoski.net/blog/category/rpc/">blog entries</a> about the "evils" of RPC. If you aren't already among those who have read them thoroughly, I'd encourage you to. Including the comments, it's one of the best discussions of the merits and demerits of RPC and REST that I've ever seen.  The core of his argument is that the RPC abstraction is not helpful - in fact the opposite. Explicit programming is preferable when creating distributed applications.  
</p><p>
As someone in the middle of designing another RPC based system (Distributed OSGi), though, I'd like to weigh in with a few thoughts.  ;-)
</p><p>
As I've said <a href="http://blogs.iona.com/newcomer/archives/000505.html">before</a>, the distributed OSGi design does not really represent a new distributed computing system. The goal of distributed OSGi is to standardize how existing distributed software systems work with OSGi, extending the OSGi programming model to include remote services (today the standard only describes single JVM service invocations).
</p><p>
Because the design center for OSGi services is the Java interface, RPC or request/response systems are a more natural fit than asynchronous messaging. In fact because we are trying to finish up our work this year ;-) we have postponed tackling the requirement for asynchronous communication systems to the next version.
</p><p>
Anyway, after carefully reading the article and blog entries, I believe Steve is not against RPC per se.  He wants people to <em>think</em> before just automatically using it because it's convenient.  He wants to be sure anyone involved in building a highly scalable, highly distributed system considers the superior approaches of REST and Erlang, which were designed specifically for those kinds of applications.  Absolutely no argument there.  I am a big proponent of using the right tool for the right job, and RPC is not always the right tool.  
</p><p>
In the OSGi work, we acknowledged early on in the process that transparent distribution is a myth. We recognize that constraints may be imposed upon an OSGi service when it is changed from a local service to a remote service, including data type fencing, argument passing semantics, latency characteristics, and exception handling. All of this has been the subject of lively debate, but the benefits of introducing distributed computing through configuration changes to an OSGi framework far outweigh the liabilities. 
</p><p>
In our case, therefore, making it easier for OSGi developers to create and deploy distributed services is more important than the loss of flexibility and control available when using local services only. The biggest cost of software development is still human labor, and providing helpful abstractions, incluiding RPC, continues to be an important goal.  
</p><p>
This isn't to say anyone should blindly use RPC, or use RPC in place of REST where REST is more appropriate.  It is simply saying that ease of use - making it easier for humans to do something like distributed computing - can sometimes be more important than technical concerns such as being too verbose or too slow. 
</p><p>  
]]>
      
   </content>
</entry>
<entry>
   <title>It&apos;s Progress, After All</title>
   <link rel="alternate" type="text/html" href="http://blogs.iona.com/newcomer/archives/000570.html" />
   <id>tag:blogs.iona.com,2008:/newcomer//3.570</id>
   
   <published>2008-06-25T19:05:07Z</published>
   <updated>2008-06-25T19:05:42Z</updated>
   
   <summary> It definitely seems like a long time since the process started, but this is about as good an outcome as we could have hoped for. The number of employees who have both IONA and Progress on their LinkedIn page is probably a couple dozen or even more. We have been neighbors in the Boston area for a long time and there has been a lot of cross-pollination. Although we have been competing in the ESB and SOA space, we have had a common vision and very similar positioning in the market. It&apos;s a bit like two former rivals of the basketball court, each with different strengths and skills, finally getting put on the same team. And it&apos;s actually this aspect that&apos;s the most interesting - putting together two strong teams with complementary expertise. I started thinking about this because one of the questions we keep getting on the analyst...</summary>
   <author>
      <name>eric</name>
      <uri>http://www.iona.com/newcomer/</uri>
   </author>
         <category term="IONA" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="387" label="Actional" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="130" label="Artix" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="141" label="IONA" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="383" label="Progress" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="385" label="Sonic" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.iona.com/newcomer/">
      <![CDATA[<p>
It definitely seems like a long time since the <a href="http://www.ebizq.net/news/9012.html">process started</a>, but this is about as good an <a href="http://www.eweek.com/c/a/Web-Services-and-SOA/Progress-Software-Acquires-Iona/">outcome</a> as we could have hoped for. 
</p><p>
The number of employees who have both IONA and Progress on their LinkedIn page is probably a couple dozen or even more. We have been neighbors in the Boston area for a long time and there has been a lot of cross-pollination. 
</p><p>
Although we have been competing in the ESB and SOA space, we have had a common vision and very similar positioning in the market.  It's a bit like two former rivals of the basketball court, each with different strengths and skills, finally getting put on the same team.  And it's actually this aspect that's the most interesting - putting together two strong teams with complementary expertise.  
</p><p>
I started thinking about this because one of the questions we keep getting on the analyst briefings is how we plan to combing the <a href="http://www.iona.com/products/artix/welcome.htm">Artix suite</a> and the <a href="http://www.sonicsoftware.com/products/sonic_esb_family/index.ssp">Sonic ESB family</a>.  
</p><p>
First, it's interesting to note that both companies have been moving away from a "pure" ESB positioning toward a "suite" or "family" of products for SOA. So the question is actually a bit broader: how can we sensibly combine multiple product components and create the best independent and comprehensive "anti-stack" SOA offering?  
</p><p>
Some of the specific details are yet to be worked out, but we have always known that even while we were promoting Artix as a unique, configurable microkernel aimed at endpoint integration requirements, the Sonic family's approach, based on leading JMS technology, is something that meets a lot of different and equally important SOA requirements. The Artix suite's focus on distributed service enablement actually adds a lot to the Sonic family, and even as we positioned ourselves competitively in the past I think we each always knew this somehow. 
</p><p>
One of the more interesting aspects is the future of the <a href="http://open.iona.com/">FUSE</a> product line and the view of the combined company toward the open source projects with which we've been involved.  We have already seen this commment on the <a href="http://www.theserverside.com/news/thread.tss?thread_id=49851">Server Side</a>.  As one of the folks who champoined getting involved in open source I am glad to say the Progress folks I've spoken with are very interested and enthusiastic supporters, and see a lot of value in the announced acquisition in helping to get more involved in open source. 
</p><p>
We have also worked together as partners. A few years ago we were resellers of the Progress <a href="http://www.sonicsoftware.com/products/sonicmq/index.ssp">Sonic MQ</a> product, and Artix still offers native integration with Sonic MQ, as does the recently released <a href="http://www.iona.com/products/artix/artix_connect_wcf/welcome.htm">WCF Connect</a> product. And more recently we had begun integrating the <a href="http://www.sonicsoftware.com/products/actional-sonic-esb/index.ssp">Actional SOA Managemen</a>t product line with the Artix suite and selling them jointly. 
</p><p>
A couple of years ago I had the unusual situation of being asked to share a half-day SOA tutorial with someone from Progress. For the first couple of hours we took turns saying exactly the same things about SOA, application architecture, and the unnecessary complexity of Java EE application servers.  Then we each took a turn describing how our respective products met the same requirements, and served exactly the same segment of the industry (i.e. SOA infrastructure) with different approaches. Instead of arguing over that, we can now agree 100% and are part of the same team. 
</p>
]]>
      
   </content>
</entry>
<entry>
   <title>First Ever Demo of Distributed OSGi</title>
   <link rel="alternate" type="text/html" href="http://blogs.iona.com/newcomer/archives/000569.html" />
   <id>tag:blogs.iona.com,2008:/newcomer//3.569</id>
   
   <published>2008-06-11T11:00:32Z</published>
   <updated>2008-06-11T11:22:53Z</updated>
   
   <summary> Yesterday David Bosschaert and I gave the first demo of the new design for distributed OSGi, based on the current draft of the Enterprise Expert Group&apos;s RFC 119, at the OSGi Community Event in Berlin. Download PDF of Demo Overview &quot;Demo Dolly&quot; David Explains Distributed OSGi Demo The goal of distributed OSGi is to extend the OSGi framework for distributed computing capabilities by configuring an existing distributed computing software system (such as Web services, CORBA, or Eclipse ECF) behind an OSGi service. The demo showed a Web services solution using Apache CXF as the distribution software, but the design should work with any distributed computing system. The demo used Apache Felix for the OSGi framework and shows the configuration and publication of a remote OSGi service and uses CXF facilities to generate a WSDL file and consumer and provider proxies for the service. The goal of distributed OSGi is...</summary>
   <author>
      <name>eric</name>
      <uri>http://www.iona.com/newcomer/</uri>
   </author>
         <category term="OSGi" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="377" label="distributed OSGi" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="381" label="enterprise expert group" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="178" label="OSGi" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="379" label="OSGI Community Event" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.iona.com/newcomer/">
      <![CDATA[<p>
Yesterday David Bosschaert and I gave the first demo of the new design for distributed OSGi, based on the current draft of the <a href="http://www.eclipsecon.org/2008/sub/attachments/Enterprise_Expert_Group_Status_Report.ppt">Enterprise Expert Group's</a> RFC 119, at the <a href="http://www.osgi.org/CommunityEvent/HomePage">OSGi Community Event</a> in Berlin.
</p><p>
<a href="http://blogs.iona.com/newcomer/OSGiCommunityEvent-DistOSGi.pdf">Download PDF of Demo Overview</a>
</p><p>
<img alt="OSGiBerlin0001.JPG" src="http://blogs.iona.com/newcomer/OSGiBerlin0001.JPG" width="640" height="480" />
</p><p>
<strong>"Demo Dolly" David Explains Distributed OSGi Demo</strong>
</p><p>
The goal of distributed OSGi is to extend the OSGi framework for distributed computing capabilities by configuring an existing distributed computing software system (such as Web services, CORBA, or <a href="http://www.eclipse.org/ecf/">Eclipse ECF</a>) behind an OSGi service. The demo showed a Web services solution using <a href="http://cxf.apache.org/">Apache CXF</a> as the distribution software, but the design should work with any distributed computing system.
</p><p>
The demo used <a href="http://felix.apache.org/site/index.html">Apache Felix</a> for the OSGi framework and shows the configuration and publication of a remote OSGi service and uses CXF facilities to generate a WSDL file and consumer and provider proxies for the service.
</p><p>
The goal of distributed OSGi is to allow a service running in one OSGi framework to invoke a service running in another, potentially remote, OSGi framework (meaning a framework in a JVM).  Today the OSGi standard defines how services talk to each other only within a single JVM.  Extensions are needed to allow services to talk with each other across multiple JVMs - thus the requirements for distributed OSGi on which the design is based. 
</p><p>
We did not want to invent a new distributed computing system, since so many already exist. (In fact we had pretty strong feedback on that point!) The design introduces some new OSGi properties to identify a service as remote and a discovery service through which a local service can find a remote service and obtain the metadata necessary to interact with that remote service. The design is intended to support any communication protocol and data format (with some constraints of course, having to do with the use of Java request/response interfaces as the service contract). Another goal of the design is to allow services in an OSGi framework to interact with services external to OSGi, both as client and server. 
</p><p>
The design uses SCA intents to express a service's capabilities, and a requester can use these intents as a filter to help discover services with the required capabilities (e.g. security or reliability).
</p><p>
Overall we recieved good feedback, and a lot of questions pertaining to work that still needs to be done. We hope to be able to publish the code to Apache and publish a draft of the design doc this summer, perhaps in August, after we have a chance to formally review the initial implementation with the EEG membership, and get their blessing (no doubt there will be some changes as well since this is just the start). 
</p>
]]>
      
   </content>
</entry>
<entry>
   <title>OSGi Community Event June 11-12</title>
   <link rel="alternate" type="text/html" href="http://blogs.iona.com/newcomer/archives/000568.html" />
   <id>tag:blogs.iona.com,2008:/newcomer//3.568</id>
   
   <published>2008-06-06T17:10:51Z</published>
   <updated>2008-06-06T17:38:13Z</updated>
   
   <summary> I&apos;m sorry to post this so late, but hopefully it&apos;s not too late to join the fun, especially if you&apos;re in Europe. The OSGi Community Event is next week, June 11-12, hosted by Deutsche Telekom in Berlin. There are a lot of interesting topics and speakers on the program, running the gamut from enterprise application servers and databases, to distributed computing, to converting legacy code to OSGi, home automation, trains, telecommunications, embedded applications for mobile devices, etc. David Bosscheart and I will be giving a demonstration of the first prototype of the RI for distributed OSGi (I have previously blogged about this part of the EEG activity), which together with Spring Dynamic Modules represents one of the big features for the upcoming Enterprise Edition. Hope to see you there!...</summary>
   <author>
      <name>eric</name>
      <uri>http://www.iona.com/newcomer/</uri>
   </author>
         <category term="OSGi" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="377" label="distributed OSGi" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="178" label="OSGi" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="379" label="OSGI Community Event" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="252" label="OSGi Enterprise" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.iona.com/newcomer/">
      <![CDATA[<p>
I'm sorry to post this so late, but hopefully it's not too late to join the fun, especially if you're in Europe.
</p><p>
The <a href="http://www.osgi.org/CommunityEvent/HomePage">OSGi Community Event</a> is next week, June 11-12, hosted by Deutsche Telekom in Berlin. 
</p><p>
There are a lot of interesting topics and speakers on the <a href="http://www.osgi.org/CommunityEvent/Program">program</a>, running the gamut from enterprise application servers and databases, to distributed computing, to converting legacy code to OSGi, home automation, trains, telecommunications, embedded applications for mobile devices, etc.
</p><p>
David Bosscheart and I will be giving a demonstration of the first prototype of the RI for distributed OSGi (I have <a href="http://blogs.iona.com/newcomer/archives/000553.html">previously blogged</a> about this part of the EEG activity), which together with <a href="http://springframework.org/osgi">Spring Dynamic Modules</a> represents one of the big features for the upcoming Enterprise Edition.
</p><p>
Hope to see you there!
 
]]>
      
   </content>
</entry>
<entry>
   <title>Kicking off New England IASA</title>
   <link rel="alternate" type="text/html" href="http://blogs.iona.com/newcomer/archives/000567.html" />
   <id>tag:blogs.iona.com,2008:/newcomer//3.567</id>
   
   <published>2008-06-05T23:40:52Z</published>
   <updated>2008-06-06T16:47:41Z</updated>
   
   <summary> Apparently they are still working on the homepage for the New England chapter of IASA, but at least the date and agenda for the initial meeting are set (register here). The first meeting is set for June 17th from 5-8 pm at the Microsoft Office in Cambridge. The topic is &quot;Software Factories,&quot; which is one of my favorite subjects due to its relationship to domain specific languages. The speakers are directly involved in developing and applying concepts researched and implemented within the Microsoft Factory initiative, which should provide a very interesting, &quot;practitioner-oriented&quot; view. Many of you may be familiar with the sometimes heated back and forth discussions in the blogosphere over the years around the different approaches to the problem, whether MDA. MDA/UML, or what Microsoft is doing. This is one of those &quot;holy grails&quot; of software, which is to improve the level of abstraction at which we humans...</summary>
   <author>
      <name>eric</name>
      <uri>http://www.iona.com/newcomer/</uri>
   </author>
         <category term="Software Architecture" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="373" label="IASA" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="375" label="software architecture" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="371" label="software factories" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="215" label="software industry" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.iona.com/newcomer/">
      <![CDATA[<p>
<img alt="IASA.jpg" src="http://blogs.iona.com/newcomer/IASA.jpg" width="244" height="96" />
</p><p>
Apparently they are still working on the homepage for the New England chapter of <a href="http://www.iasahome.org/web/home/home">IASA</a>, but at least the date and agenda for the initial meeting are set (register <a href="http://www.prestoregister.com/cgi-bin/order_attendee.pl?ref=iasaNewEngland&fm=1&or=268909&Ttaxstate=&TShipMethod=&ct=&pd">here</a>).
</p><p>
The first meeting is set for June 17th from 5-8 pm at the <a href="<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=1+Memorial+Drive,+Cambridge,+MA&amp;sll=42.37373,-71.11907&amp;sspn=0.160297,0.351562&amp;ie=UTF8&amp;ll=42.371354,-71.077251&amp;spn=0.01002,0.021973&amp;z=14&amp;iwloc=addr&amp;output=embed&amp;s=AARTsJrVkhS3rSaz77vnNw4WowRKRx4h1A"></iframe><small><a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=1+Memorial+Drive,+Cambridge,+MA&amp;sll=42.37373,-71.11907&amp;sspn=0.160297,0.351562&amp;ie=UTF8&amp;ll=42.371354,-71.077251&amp;spn=0.01002,0.021973&amp;z=14&amp;iwloc=addr&amp;source=embed" style="color:#0000FF;text-align:left">Microsoft Office in Cambridge</a></small></a>. 
</p><p>
The topic is "<a href="http://www.theserverside.net/tt/articles/showarticle.tss?id=SoftwareFactories">Software Factories</a>," which is one of my favorite subjects due to its relationship to <a href="http://en.wikipedia.org/wiki/Domain_Specific_Language">domain specific languages</a>.   
</p><p>
The speakers are directly involved in developing and applying concepts researched and implemented within the <a href="http://en.wikipedia.org/wiki/EFx_Factory">Microsoft Factory initiative</a>, which should provide a very interesting, "practitioner-oriented" view. 
</p><p>
Many of you may be familiar with the sometimes heated back and forth discussions in the blogosphere over the years around the different approaches to the problem, whether MDA. MDA/UML, or what Microsoft is doing. This is one of those "holy grails" of software, which is to improve the level of abstraction at which we humans deal with computers, improve our productivity, and help reduce the overall labor costs of software development. 
</p><p>
The meeting starts at 5 with a reception, followed by an introduction to IASA at 6.  After that <a href="http://portal.acm.org/author_page.cfm?id=81312484076&coll=&dl=&trk=0&CFID=30987144&CFTOKEN=26602546">John Slaby</a> of Raytheon and <a href="http://blogs.msdn.com/jezzsa/default.aspx">Jezz Santos</a> of Microsoft will let us know what's going on with software factories.
</p><p>
I think it's great that we're starting a local chapter of the association of software architects, and hope to see you there! 
</p><p>
<em>Update 6/6, see <a href="http://blogs.msdn.com/bobfamiliar/archive/2008/05/27/iasa-opens-a-new-england-chapter.aspx">Bob's blog</a> for additional details.</em>
</p>]]>
      
   </content>
</entry>
<entry>
   <title>Saturday&apos;s Tribute to Jim Gray</title>
   <link rel="alternate" type="text/html" href="http://blogs.iona.com/newcomer/archives/000566.html" />
   <id>tag:blogs.iona.com,2008:/newcomer//3.566</id>
   
   <published>2008-06-02T19:35:01Z</published>
   <updated>2008-06-02T20:04:44Z</updated>
   
   <summary>Hearing today from a friend who attended, I find myself wishing I&apos;d gone out for it. Pat had even sent me an early draft of his contribution. I really should have. I understand the video will be posted in a couple of days - I will definitely check back for them. In the meantime, John Markoff has published a nice writeup after the fact, and the LA Times di a good front page piece the day before (I notice Stonehenge also made page 1 that day). I didn&apos;t know Jim that well, but I knew him well enough to remember his exceptional kindness, friendship, and dedication. And as I have said many times, no one helped us more with our TP book than Jim. The last time I heard from him, in fact, was his (as usual) helpful review of our proposal for a second edition, which we are still...</summary>
   <author>
      <name>eric</name>
      <uri>http://www.iona.com/newcomer/</uri>
   </author>
         <category term="Transaction Processing" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="162" label="Jim Gray" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.iona.com/newcomer/">
      <![CDATA[Hearing today from a friend who <a href="http://www.eecs.berkeley.edu/IPRO/JimGrayTribute/">attended</a>, I find myself wishing I'd gone out for it. <a href="http://blogs.msdn.com/pathelland/default.aspx">Pat</a> had even sent me an early draft of <a href="http://blogs.msdn.com/pathelland/archive/2008/04/25/knowledge-and-wisdom-a-tribute-to-jim-gray.aspx">his contribution</a>.  I really should have. 
</p><p>
I understand <a href="http://webcast.berkeley.edu/event_details.php?webcastid=23082">the video will be posted in a couple of days</a> - I will definitely check back for them.
</p><p>
In the meantime, John Markoff has published <a href="http://bits.blogs.nytimes.com/2008/05/31/a-tribute-to-jim-gray-sometimes-nice-guys-do-finish-first/?hp">a nice writeup</a> after the fact, and the LA Times di a good <a href="http://blairwestlake.com/community/blogs/articles/archive/2008/05/30/los-angeles-times-missing-yet-still-a-presence.aspx">front page piece</a> the day before (I notice Stonehenge also made page 1 that day).  
</p><p>
I didn't know <a href="http://en.wikipedia.org/wiki/Jim_Gray_(computer_scientist)">Jim</a> that well, but I knew him well enough to remember his exceptional kindness, friendship, and dedication.  And as I have said many times, no one helped us more with <a href="http://books.google.com/books?id=G-e7tvWJxZoC&dq=principles+of+transaction+processing&pg=PP1&ots=f8CLC3COY1&sig=rOldFTjLJ7YrwUGKKee7J6A3jRw&hl=en&prev=http://www.google.com/search%3Fhl%3Den%26q%3Dprinciples%2Bof%2Btransaction%2Bprocessing&sa=X&oi=print&ct=title&cad=one-book-with-thumbnail#PPP1,M1">our TP book</a> than Jim. The last time I heard from him, in fact, was his (as usual) helpful review of our proposal for a second edition, which we are still trying to finish (hopefully this summer).  
</p><p>
The best tribute I can think of is to do the kind of job he'd want me to do.  I am just sorry it doesn't really look like I will be hearing from him directly (and kindly, of course) how and where I didn't quite measure up... 
</p> ]]>
      
   </content>
</entry>
<entry>
   <title>Enterprise Integration Patterns for Security</title>
   <link rel="alternate" type="text/html" href="http://blogs.iona.com/newcomer/archives/000565.html" />
   <id>tag:blogs.iona.com,2008:/newcomer//3.565</id>
   
   <published>2008-05-30T21:22:20Z</published>
   <updated>2008-05-30T21:49:51Z</updated>
   
   <summary> It seems like the Enterprise Integration (Security) Patterns Fred came up with went over pretty well at the Unatek Conference earlier this month. Last October Fred and I published an article on Handling Multiple Credentials in an Heterogenous SOA Environment and since that was well recieved I thought it might be a good topic for the conference keynote. Naturally, I asked Fred to help ;-) and he came up with the following three enterprise integration security patterns: Message Protection Token Propagation Token Mediation These patterns capture solutions to common security challenges when dealing with multiple protocols and credential formats. These challenges frequently occur in an SOA environment that integrates multiple middleware technologies, such as Web services and CORBA, or Web services and J2EE (which actually amounts to pretty much the same thing since J2EE incorporates CORBA&apos;s interoperability protocol, IIOP, and the security credential format from CSI_V2, another CORBA standard)....</summary>
   <author>
      <name>eric</name>
      <uri>http://www.iona.com/newcomer/</uri>
   </author>
         <category term="Security" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="365" label="credentials" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="364" label="enterprise integration patterns" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="95" label="patterns" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="152" label="security" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="369" label="WS-Policy" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="367" label="WS-Security" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.iona.com/newcomer/">
      <![CDATA[<p>
It seems like the Enterprise Integration (Security) Patterns Fred came up with <a href="http://www.eweek.com/c/a/Security/New-Technologies-Help-Improve-SOA-Security/">went over pretty well</a> at the <a href="http://www.unatekconference.com/webservices_home.php">Unatek Conference</a> earlier this month.  
</p><p>
Last October Fred and I published an article on <a href="http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/mags/sp/&toc=comp/mags/sp/2007/05/msp05toc.xml&DOI=10.1109/MSP.2007.110">Handling Multiple Credentials in an Heterogenous SOA Environment</a> and since that was well recieved I thought it might be a good topic for the conference keynote. 
</p><p>
Naturally, I asked Fred to help ;-) and he came up with the following three enterprise integration security patterns:
</p><p>
<ul>
<li>
Message Protection
</li>
<li>
Token Propagation
</li>
<li>
Token Mediation
</li>
</ul>
<p>
These patterns capture solutions to common security challenges when dealing with multiple protocols and credential formats. These challenges frequently occur in an SOA environment that integrates multiple middleware technologies, such as Web services and CORBA, or Web services and J2EE (which actually amounts to pretty much the same thing since J2EE incorporates CORBA's interoperability protocol, IIOP, and the security credential format from CSI_V2, another CORBA standard).
</p><p>
Consider the scenario in which a service request using SOAP/HTTP invokes a second request using CORBA or J2EE in order to complete its work.  Security considerations include the use of an encrypted form of HTTP (i.e. HTTPS) and IIOP with SSL to protect the message content, but with two different protocols there's a potential vulnerability at the intermediary (i.e. the place where the HTTPS connection ends and the IIOP/SSL connection begins). The message protection pattern defines how you address this scenario. 
</p><p>
<a href="http://blogs.iona.com/newcomer/MessageProtection.html" onclick="window.open('http://blogs.iona.com/newcomer/MessageProtection.html','popup','width=960,height=720,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">Message protection diagram</a>

</p><p>
Another challenge is handling multile credential types, for example the username/password format in WS-Security and the CSI_V2 format in CORBA/J2EE.  Multiple credentials can be aggregated into a common data structure and included in the request context, or one credential can be mapped to another at an intermediary.  But the credentials are vulnerable to impersonation at the intermediary. Another alternative is to use WS-Trust or the equivalent to "federate" the incoming token with the new token.  The token propagation and token mediation patterns describe the solutions for these. 
</p><p>
<a href="http://blogs.iona.com/newcomer/TokenPropagation.html" onclick="window.open('http://blogs.iona.com/newcomer/TokenPropagation.html','popup','width=960,height=720,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">Token propagation diagram</a>
</p><p>
<a href="http://blogs.iona.com/newcomer/TokenMediation.html" onclick="window.open('http://blogs.iona.com/newcomer/TokenMediation.html','popup','width=960,height=720,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">Token mediation diagram</a>
</p><p>
WS-SecurityPolicy can also help, although to be really useful in heterogenous environments extensions may need to be added to represent credential and key information not in the current spec.  However since WS-Policy is essentially a publishing mechanism that describes the capabilities of a service provider, care must be taken to protect sensitive information. 

]]>
      
   </content>
</entry>
<entry>
   <title>Conference Season - Upcoming Speaking Engagements</title>
   <link rel="alternate" type="text/html" href="http://blogs.iona.com/newcomer/archives/000564.html" />
   <id>tag:blogs.iona.com,2008:/newcomer//3.564</id>
   
   <published>2008-04-30T22:04:56Z</published>
   <updated>2008-04-30T22:35:29Z</updated>
   
   <summary> The snow is finally gone and the new, yellow-green leaves are starting to emerge... Yes, that&apos;s right, it&apos;s conference season again! Here&apos;s a list of conferences at which I&apos;ll be speaking during the next couple of months, followed by a summary of the topics: May 7, Practical Software Quality and Testing, Las Vegas May 13, Web Services Security and SOA Conference, Baltimore June 24, SOA World, New York I hope to see you at one or more of these events. Testing topic Next Wednesday at the Practical Software Quality and Testing conference I&apos;ll be giving the opening keynote on &quot;Meeting New Challenges in Testing Service Oriented Architectures.&quot; We have been doing a lot of work with our customers recently on SOA testing strategies, and in the course of that work have built some technologies to help, in particular interface simulation tooling. The challenge in moving to an SOA environment...</summary>
   <author>
      <name>eric</name>
      <uri>http://www.iona.com/newcomer/</uri>
   </author>
         <category term="Conferences" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="362" label="end of middleware" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="152" label="security" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="156" label="security federation" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="2" label="SOA" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="360" label="SOA testing" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.iona.com/newcomer/">
      <![CDATA[<p>
The snow is finally gone and the new, yellow-green leaves are starting to emerge...  Yes, that's right, it's conference season again!  
</p><p>
Here's a list of conferences at which I'll be speaking during the next couple of months, followed by a summary of the topics:
<ul>
<li>
May 7, <a href="http://www.psqtconference.com/2008west/">Practical Software Quality and Testing</a>, Las Vegas 
</li>
<li>
May 13, <a href="http://www.unatekconference.com/webservices_home.php">Web Services Security and SOA Conference</a>, Baltimore
</li>
<li>
June 24, <a href="http://www.soaworld2008.com/">SOA World</a>, New York
</li>
</ul>
I hope to see you at one or more of these events.
</p><p>
<strong>Testing topic</strong>
</p><p>
Next Wednesday at the Practical Software Quality and Testing conference I'll be giving the opening keynote on "Meeting New Challenges in Testing Service Oriented Architectures."  We have been doing a lot of work with our customers recently on SOA testing strategies, and in the course of that work have built some technologies to help, in particular interface simulation tooling.  
</p><p>
The challenge in moving to an SOA environment is to find a good way to validate service contracts. A good service contract is key to a successful SOA, and consequently the focus of SOA governance (and I mean this in the logical sense, as in the desired result of a successful governance effort). 
</p><p>
One of the great benefits of a good service contract agreement is that the work to implement the contract can be divided between teams developing the application requesting the service and the team developing the service being requested (especially when such a service gets reused). But then it's necessary to ensure that all of the teams involved in such a distributed or divided development effort interpret the service contract the same way. This is the goal of SOA testing, and the summary of the additional testing challenge SOA adds to an IT environment. That is, getting the all-important service contract from definition to successful deployment. 
</p><p>
As with any testing strategy, the sooner errors can be caught, the easier it is to fix them. Because an SOA environment introduces new artifacts, and requires new techniques for developing services (especially reusable services), it also introduces new requirements for testing systems.
</p><p>
<strong>Security topic</strong>
</p><p>
Tuesday, May 13 I'l be giving the opening keynote at the Web Services and SOA Security Conference on "Handling Multiple Credentials in a Heterogeneous SOA Environment," based on <a href="http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/mags/sp/&toc=comp/mags/sp/2007/05/msp05toc.xml&DOI=10.1109/MSP.2007.110">this article</a> that I wrote with Fred Dushin. 
</p><p>
An interesting aspect of an SOA environment is that it can abstract away many of the differences among hetrogeneous IT environments using a common interfacing technology (e.g. IDL or WSDL). Lots of companies have Java, Microsoft, mainframes, and other types of systems that need to be brought together in new applications.
</p><p>
Such heterogeneity represents a challenge for security technologies, since each environment tpically has a different approach to security. And in some cases more than one approach. When a service request message touches multiple technologies, it usually means encountering multiple security domains, which have to be federated and mapped in order to implement effective solutions for single sign on and authorization.  
</p><p>
A valuable tool for dealing with this situation is a data structure associated with a service request that can be used to pass along multiple credentials, in whatever format they happen to appear, endorsing them if they arrive from a secure source (such as an encrypted communication channel). This way the service provider not only has all the security related information needed to call out to a security server, the application can also tell which of the credentials arrived from a trusted source. This can help resolve questions about the relative significance of a credential when multiple are in play. 
</p><p>
Another interesting question in the world of security is whether is should be it possible for a policy unaware requester to interact with a policy-aware provider?  I mean, if the requester does not specify any security policy, but the provider does, should the services still be allowed to interoperate?
</p><p> 
<strong>Middleware topic</strong>
</p><p>
At SOA World on June 24th (<a href="http://www.soaworld2008.com/general/session0608.htm?id=30">Tuesday, 2:30 pm</a>) I'll be talking about IONA's view of the middleware world. We have recently packaged an <a href="http://www.iona.com/solutions/it_solutions/interoperability.htm">interoperability 
solution</a> which some of us are calling "middleware for middleware" and that others will call our "universal adapter."  
</p><p>
The basic concept is that people have enough middleware already, and they don't need more middleware if all they need is to get their existing middleware based applications and systems to work together. Instead, they need just the right amount of software to service enable the existing middleware, reusing that middleware's communications protocol, data format, and qualities of service as much as possible. The IONA solution is configurable for small footprint and high performance, and supports multiple deployment options (in the same address space as the existing application, in a different address space at the requester side, provider side, or in the middle) for C++ or Java (and COBOL and PL/I on the mainframe).  And best of all it is priced accordingly - you just pay for the plug ins you need. 
</p><p>
I delivered a version of this for a Webcast last year, the link to which you can find on our <a href="http://www.iona.com/info/aboutus/events/webcasts/welcome.htm">Webcast page</a>.  You can also check out <a href="http://www.iona.com/info/aboutus/events/pdfs/Gartner-Presentation-11-07.ppt">the presentation</a>. 
</p><p>
A configurable, micro-kernel based solution implementing the call-chain interceptor pattern just seems like the best approach to SOA infrastructure. It offers the best match to the widest variety of requirements and does not impose on the solution any of the architectural constraints you get with a hub-and-spoke, server based, or mid-tier solution.
</p><p>
And yes, it supports SOA testing and security federation...
]]>
      
   </content>
</entry>
<entry>
   <title>More on the Software Assembly Question- Do Patterns Help?</title>
   <link rel="alternate" type="text/html" href="http://blogs.iona.com/newcomer/archives/000562.html" />
   <id>tag:blogs.iona.com,2008:/newcomer//3.562</id>
   
   <published>2008-04-12T18:45:27Z</published>
   <updated>2008-04-12T19:16:14Z</updated>
   
   <summary> Since I posted the initial entry questioning the validity of the Henry Ford analogy for improving software productivity through interface standardization, there&apos;s been some good posts by Hal and Richard, and some good feedback to the Sys Con site that syndicated the entry. While I have to say I think the posts and comments make excellent points about the value of design, and the differences between mass producing hard goods and creating individual applications, I am not sure any clear recommendation is emerging for how to improve the software development process. So now I am wondering whether we can get at this progblem through patterns. One aspect of the debate over software productivity and assembly is whether or not visual tools can help. I think that they do - visual abstractions can be very meaningful - but I do not know of any visual system that actually solves the...</summary>
   <author>
      <name>eric</name>
      <uri>http://www.iona.com/newcomer/</uri>
   </author>
         <category term="Software Evolution" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="352" label="assembly" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="356" label="Camel" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="354" label="DSLs" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="22" label="integration" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="326" label="integration patterns" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="95" label="patterns" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="93" label="reuse" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="2" label="SOA" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.iona.com/newcomer/">
      <![CDATA[<p>
Since I posted <a href="http://blogs.iona.com/newcomer/archives/000554.html">the initial entry questioning the validity of the Henry Ford analogy</a> for improving software productivity through interface standardization, there's been some good posts by <a href="http://www.tensegrity.hellblazer.com/2008/02/mass_production_is_not_mass_de_1.html">Hal</a> and <a href="http://adaptevolve.blogspot.com/2008/02/henry-ford-and-software-assembly-having.html">Richard</a>, and some good feedback to the <a href="http://soa.sys-con.com/read/494742_f.htm">Sys Con site</a> that syndicated the entry.
</p><p>
While I have to say I think the posts and comments make excellent points about the value of design, and the differences between mass producing hard goods and creating individual applications, I am not sure any clear recommendation is emerging for how to improve the software development process.  So now I am wondering whether we can get at this progblem through patterns. 
</p><p>
One aspect of the debate over software productivity and assembly is whether or not visual tools can help.  I think that they do - visual abstractions can be very meaningful - but I do not know of any visual system that actually solves the complete problem (i.e none have solved the customization/round trip problem).  UML tools are furthermore too object oriented for some applications - such as services and REST- although of course I will get an argument from the UML (and MDA?) folks that models are the way to go anyway, and UML and MDA are being changed to be more data and document oriented (i.e. sequence diagrams could be improved in this direction).
</p><p>
I admit I am not up to date with the latest in UML and MDA.  But I also don't know of any reason to change my view that they do not provide the answer. I have yet to see any graphical system entirely able to replace any human oriented language, and I do not think programming languages are any different.  People still need text, even when the graphics and icons are superb. 
</p><p>
So noting the growing adoption of software patterns, including <a href="http://www.enterpriseintegrationpatterns.com/">integration patterns</a> and <a href="http://www.eaipatterns.com/ramblings/52_soapatterns.html">SOA patterns</a>, and observing the fact that software systems such as <a href="http://activemq.apache.org/camel/enterprise-integration-patterns.html">Apache Camel</a> for example, are starting to be built around them, I can't help wondering whether the solution might be found there. 
</p><p>
The fundamental issue seems to be identifying the right abstractions.  Software is the way people have of telling computers what to do, and it is still too hard, requiring way too much work. 
</p><p>
In the Henry Ford analogy, the API (or interface) is seen as the right abstraction.  As long as the interface to a program is standardized, its implementation can contain any code. With a standardized interface, programs can be assembled with predictable results (i.e. other programs know what to expect when invoking the interface).  This led to the idea of reuse, of libraries of components, objects, and services that someone could sell and others could use in building applications.  And this has happened to some extent, but there are also many unfulfilled promises in this area (as David Chappell, among others, <a href="http://www.davidchappell.com/HTML_email/Opinari_No16_8_06.html">has pointed out</a>).
</p><p>
Now if we look at patterns, and how Camel is representing them in software, we see a different type of abstraction being used - basically a variation on the theme of <a href="http://en.wikipedia.org/wiki/Domain-specific_programming_language">domain specific languages</a>. The domain in this case being integration, and the realization of integration patterns in particular. 
</p><p>
One of the challenges of DSLs is integration in fact - that is, how do you join together programs written using different DSLs into a system or application? It sounds like a crazy idea, but what if we were to use integration techniques, such as patterns, themseleves implemented using DSLs, to join programs together written using other DSLs?
</p><p>
Would we have the abstractions right?  I.e. in the language instead of in pictures or interfaces? And would we be able to assemble programs together quickly and easily?  Maybe we need some patterns specifically for application assembly?

]]>
      
   </content>
</entry>
<entry>
   <title>The Artix Connect for WCF Beta Experience</title>
   <link rel="alternate" type="text/html" href="http://blogs.iona.com/newcomer/archives/000561.html" />
   <id>tag:blogs.iona.com,2008:/newcomer//3.561</id>
   
   <published>2008-04-03T23:15:45Z</published>
   <updated>2008-04-03T23:46:38Z</updated>
   
   <summary> A couple of days ago we announced the Artix Connect for WCF product, and posted a beta on our Website. Today I finally got around to downloading it and trying it out with VS 2005. I am very pleased to say that it worked the first time! ;-) The kit comes with a sample project that uses two connections: one to a CORBA based application and another to a JMS based application. The CORBA software comes in the kit, and you can use just about any JMS -- FUSE Message Broker ( which is a supported version of Apache ActiveMQ) is the default, which is open source and freely available. You can run everything on the same machine, per the instructions, but to use Connect in a multi-machine environment you would just reconfigure the network addresses of the CORBA and JMS software systems. The way I usually talk about...</summary>
   <author>
      <name>eric</name>
      <uri>http://www.iona.com/newcomer/</uri>
   </author>
         <category term="Microsoft Software" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="130" label="Artix" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="348" label="Artix Connect" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="350" label="Artix ESB" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="351" label="Interoperability" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="239" label="Java" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="89" label="Microsoft" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="265" label="WCF" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.iona.com/newcomer/">
      <![CDATA[<p>
A couple of days ago we <a href="http://www.iona.com/pressroom/2008/20080401.htm">announced the Artix Connect for WCF product</a>, and <a href="http://www.iona.com/products/artix/artix_connect_wcf/welcome.htm">posted a beta</a> on our Website.  Today I finally got around to downloading it and trying it out with VS 2005.  I am very pleased to say that it worked the first time!  ;-)
</p><p>
The kit comes with a sample project that uses two connections: one to a CORBA based application and another to a JMS based application. The CORBA software comes in the kit, and you can use just about any JMS -- <a href="http://open.iona.com/products/fuse-message-broker/">FUSE Message Broker </a>( which is a supported version of <a href="http://activemq.apache.org/">Apache ActiveMQ</a>) is the default, which is open source and freely available. You can run everything on the same machine, per the instructions, but to use Connect in a multi-machine environment you would just reconfigure the network addresses of the CORBA and JMS software systems. 
</p><p>
The way I usually talk about this is that <a href="http://www.microsoft.com/net/wcf.aspx">WCF</a> is for connecting to all things Windows, and Artix is for connecting to everything else.  More precisely, Artix Connect for WCF is a Java-* interoperability tool that can be used from <a href="http://www.microsoft.com/biztalk/technologies/wcflobadaptersdk.mspx">line of business adapters</a> in Visual Studio 2005 and BizTalk Server 2006.  One of the things you can connect to is <a href="http://www.iona.com/products/artix/esb/welcome.htm">Artix ESB</a>, which connects to Java and native Tibco, Tuxedo, WebSphere MQ, C++ applications, etc. You can also connect to <a href="http://www.iona.com/products/artix/artix_zos.htm">Artix Mainframe</a> for accessing IMS and CICS based applications. And finally, Artix ESB can also be used to Web service enable all these existing systems and more, so if you are a WCF developer you have a lot of options for connecting to virtually anything non-Windows, while still coding as if you were using WCF. 
</p><p>
The user's guide takes you step by step through how to set up the CORBA and JMS servers,  configure the line of business adapter in Visual Studio, uncomment a few lines of C# code, and build and run the project. And there you go. WCF talking to CORBA and JMS.  It's pretty fast, too, once it's all up and running.
</p><p>
This is pretty exciting. I've been briefing reporters about it.  I have a lot of friends at Microsoft (including on the WCF team), and have been <a href="http://blogs.iona.com/newcomer/archives/000559.html">blogging</a> and talking about the recent interoperabilty announcements from Microsoft.  Some folks have taken a "glass half empty" view but I am definitely in the "half full" camp.  I think these are very positive changes in direction for Microsoft, and I am very hopeful that Artix Connect will be very positively embraced by the Microsoft community.
</p><p>
Anyway, if you get a chance to try it out, let us know what you think.  We have a month or two before GA, so there's still time to change things (and yes, I know, the EJB connector still needs to be finished).  I had a good experience with it, but I am very curious to know what others think. 
</p><p>
]]>
      
   </content>
</entry>
<entry>
   <title>Annoyances (2): CTO is not CIO</title>
   <link rel="alternate" type="text/html" href="http://blogs.iona.com/newcomer/archives/000547.html" />
   <id>tag:blogs.iona.com,2008:/newcomer//3.547</id>
   
   <published>2008-03-31T21:25:13Z</published>
   <updated>2008-03-31T21:57:19Z</updated>
   
   <summary> Would someone please tell everyone who has apparently acquired my name and phone number from a marketing database service that I am not IONA&apos;s CIO? I drive the company&apos;s technology strategy and our standards participation. I do not buy servers, database management systems, operating systems (well, except for myself), phone systems, backup systems, SAP consulting, or broadband services. You can take me off your spam list. My role is advisory -a classic software industry CTO position. (I do realize that a lot of CIOs are using the CTO title now, but that doesn&apos;t mean we have to forget the classic definition, does it?) I do not hire developers (especially not in India!) and I do not hire consultants or market research companies. I do not buy mailing lists, I do not need help optimizing my Web site, and I do not want to attend your executive event. You can...</summary>
   <author>
      <name>eric</name>
      <uri>http://www.iona.com/newcomer/</uri>
   </author>
         <category term="Annoyances" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="346" label="CIO" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="344" label="CTO" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.iona.com/newcomer/">
      <![CDATA[<p>
Would someone please tell everyone who has apparently acquired my name and phone number from a marketing database service that I am not IONA's CIO?  
</p><p>
I drive the company's technology strategy and our standards participation.  
</p><p>
I do not buy servers, database management systems, operating systems (well, except for myself), phone systems, backup systems, SAP consulting, or broadband services. You can take me off your spam list. 
</p><p>
My role is advisory -a classic software industry CTO position.  (I do realize that a lot of CIOs are using the CTO title now, but that doesn't mean we have to forget the classic definition, does it?)
</p><p>
I do not hire developers (especially not in India!) and I do not hire consultants or market research companies.  I do not buy mailing lists, I do not need help optimizing my Web site, and I do not want to attend your executive event. You can stop calling. 
</p><p>
I am very sorry about all of that, since I know what it's like to cold call.  But unfortunately, I can't respond to any of your numerous voicemails and emails, because that would just make things worse. And I'm sorry but I can't refer you to someone else, either.
</p><p>
Maybe you can get a refund from whoever sold you my name.  If someone has included my name on a list of sales prospects, that is an error -perhaps it's simply list padding.
</p><p>
I also wish I had a good way to let you know - unfortunately I also doubt very much that you're reading my blog.
</p> ]]>
      
   </content>
</entry>
<entry>
   <title>Microsoft Interoperability and Open Source</title>
   <link rel="alternate" type="text/html" href="http://blogs.iona.com/newcomer/archives/000559.html" />
   <id>tag:blogs.iona.com,2008:/newcomer//3.559</id>
   
   <published>2008-03-20T16:47:17Z</published>
   <updated>2008-03-20T17:21:36Z</updated>
   
   <summary> At EclipseCon this week Microsoft announced cooperation with Eclipse, among other things supporting the SWT technologies on Vista&apos;s presentation framework, effectively allowing Eclipse developers to generate GUIs for Vista. Like many of their recent announcements concerning interoperability and open source, some observers are enthusiastic while others criticize the fact they didn&apos;t go farther and suggest they never will. However to me this continues to be a glass-half-full situation, in which take Microsoft&apos;s efforts in the context of their culture and history. These are big steps for them, and I think they represent a serious and significant change. Last fall I attended an ISV event at Redmond, which we were invited to because of our interoperability solutions bewteen Microsoft, Java, and other environments. I couldn&apos;t help but notice that Ray Ozzie&apos;s name was mentioned several times by the presenters. That&apos;s why I made the 2008 prediction for Sys-Con that I...</summary>
   <author>
      <name>eric</name>
      <uri>http://www.iona.com/newcomer/</uri>
   </author>
         <category term="Microsoft Software" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="67" label="Eclipse" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="13" label="interoperability" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="89" label="Microsoft" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="117" label="open source" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.iona.com/newcomer/">
      <![CDATA[<p>
At <a href="http://www.eclipsecon.org/2008/">EclipseCon</a> this week <a href="http://www.eweek.com/c/a/Application-Development/Microsoft-Silverlight-Eclipse-Link-Possible/">Microsoft announced cooperation with Eclipse</a>, among other things supporting the <a href="http://www.eclipse.org/swt/">SWT technologies</a> on Vista's presentation framework, effectively allowing Eclipse developers to generate GUIs for Vista.  
</p><p>
Like many of their recent announcements concerning <a href="http://www.microsoft.com/presspass/press/2008/feb08/02-21ExpandInteroperabilityPR.mspx">interoperability</a> and <a href="http://news.zdnet.co.uk/software/0,1000000121,39352937,00.htm">open source</a>, some observers are enthusiastic while others criticize the fact they didn't go farther and <a href="http://www.infoworld.com/article/08/03/18/Microsoft-Eclipse-finally-playing-nice-Whats-in-store_1.html?source=rss&url=http://www.infoworld.com/article/08/03/18/Microsoft-Eclipse-finally-playing-nice-Whats-in-store_1.html">suggest they never will</a>.  However to me this continues to be a glass-half-full situation, in which take Microsoft's efforts in the context of their culture and history. These are big steps for them, and I think they represent a serious and significant change. 
</p><p>
Last fall I attended an ISV event at Redmond, which we were invited to because of our interoperability solutions bewteen Microsoft, Java, and other environments.  I couldn't help but notice that Ray Ozzie's name was mentioned several times by the presenters. That's why I made the <a href="http://java.sys-con.com/read/478303_4.htm">2008 prediction for Sys-Con</a> that I did about Microsoft and the enterprise. It seemed to me as if Ray Ozzie's influence is starting to be felt.  <a href="http://www.burtongroup.com/AboutUs/Bios/AnalystBios.aspx">Burton Group</a> analyst <a href="http://pbokelly.blogspot.com/">Peter O'Kelly</a> was also quoted as saying so in the <a href="http://www.infoworld.com/article/08/02/25/09NF-microsoft-new-leaf_1.html">InfoWorld follow up article</a>.
</p><p> 
Does this mean that Microsoft is starting to become more serious about their interests in interoperability and open source? In the past I always got the impression that it was hampered  by the fact that it would imply their recognizing the legitimacy of a platform other than Windows. Perhaps Ray Ozzie is able to bring a helpful external perspective. Perhaps reality is sinking in that the world of heterogeneous platforms is unlikely to change. 
</p><p>
The main news for <a href="http://www.iona.com/partners/microsoft/welcome.htm">those of us offering interoperabilty solutions</a> is that Microsoft is opening up some of its internal APIs and publishing their proprietary extensions to standards, which will make it easier to integrate with their products.  
</p><p>
They are also allowing “reasonable licensing” terms on their patents – not sure how much benefit this is but they have also loosened up the terms and conditions under which other vendors can develop products that “infringe” on a Microsoft patent – i.e. they don’t have to get a license up front now, but instead only have to negotiate a “reasonable” fee when they ship.
</p><p>
The recent steps toward improved interoperability support and improved relationship with open source communities may strike some as insufficient or incomplete, but to me they represent a signficant change in tone and strategy for Microsoft.
</p> 
]]>
      
   </content>
</entry>
<entry>
   <title>Epitome of the Style</title>
   <link rel="alternate" type="text/html" href="http://blogs.iona.com/newcomer/archives/000560.html" />
   <id>tag:blogs.iona.com,2008:/newcomer//3.560</id>
   
   <published>2008-03-05T20:50:43Z</published>
   <updated>2008-03-05T21:24:53Z</updated>
   
   <summary>Yes, they are both about 60 years old, and many in the audience were, like me and my brother Tor and our friends Merrill and Brett, no longer the young rock &apos;n&apos; roll fans we once were. But this nonetheless had to be the epitome of classic rock, Steve Winwood and Eric Clapton together, playing everything from the blues, to soul music, Traffic, Hendrix, Blind Faith, Derek &amp; the Dominoes, and various solo numbers from each other&apos;s back catalogues. I have heard and seen many comments to the effect of this being the best concert ever... Certainly one of the best concerts I&apos;ve ever been to. The two masters are each great in their own right but clearly enjoyed playing together and just nailed tune after tune after tune...with a great rhythm section, no big band or backup singers this time. Like one of the reviewers said, this was a...</summary>
   <author>
      <name>eric</name>
      <uri>http://www.iona.com/newcomer/</uri>
   </author>
         <category term="Music" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="336" label="Clapton" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="342" label="classic rock" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="340" label="MSG" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="247" label="Music" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="338" label="Winwood" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.iona.com/newcomer/">
      <![CDATA[Yes, they are both about 60 years old, and many in the audience were, like me and my brother <a href="http://www.tornewcomer.com/">Tor</a> and our friends Merrill and Brett, no longer the young rock 'n' roll fans we once were.
</p><p>
But this nonetheless had to be the epitome of classic rock, <a href="http://www.whereseric.com/tour/special-gigs/28-February-2008_steve-winwood-eric-clapton-madison-square-garden-new-york-ny.html">Steve Winwood and Eric Clapton together</a>, playing everything from the blues, to soul music, Traffic, Hendrix, Blind Faith, Derek & the Dominoes, and various solo numbers from each other's back catalogues.  I have heard and seen many comments to the effect of this being the best concert ever...  Certainly one of the best concerts I've ever been to. The two masters are each great in their own right but clearly enjoyed playing together and just nailed tune after tune after tune...with a great rhythm section, no big band or backup singers this time.  Like one of the reviewers said, this was a different Eric Clapton than with <a href="http://blogs.iona.com/newcomer/archives/000222.html">Cream in 2005</a>.  Much better - and it has to be Winwood, and the result of a collaboration rather than competition. 
</p><p>
I know I am late, at least in blogosphere time, in posting this but better late than never.  Same with putting the videos up on You Tube.
</p><p>
Actually quite a lot has been <a href="http://www.youtube.com/results?search_query=Eric+Clapton+Steve+Winwood+MSG&search_type=">posted on You Tube from the three nights</a>, and many comments as well.  Here's the most popular one that I posted:
</p><p>
<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/WFFeuJ2CqsY"></param><embed src="http://www.youtube.com/v/WFFeuJ2CqsY" type="application/x-shockwave-flash" width="425" height="350"></embed></object>
</p><p>
<strong>Excerpt of Winwood & Clapton playing Hendrix tune "Little Wing" at MSG 2/28</strong>
</p><p>
This was definitely one of the highlights.  "Voodoo Chile" and "Double Trouble" were two others - with Clapton absolutely nailing two of the best guitar solos of all time during the latter. The organ/guitar jam on the former was incredible, and made me wish there had been more organ solos.  Winwood is so versatile though - such a great singer, piano player, and such a great guitar player, trading solos with Clapton on several songs, including "Cocaine" and "Dear Mr. Fantasy" (the encore last Thursday) and certainly holding his own.  In fact not many guitar players are better than Winwood, Clapton being among a relatively small handful. 
</p><p>
Our seats were great, about halfway up the risers toward the back of the MSG floor, on the right, with a clear view of the stage.  One piece of bad luck - a very loud mouthed New Yorker and his friends sat directly in back of us.  "OH MY GAWD!" "HE STILL HAS HIS SEVENTIES VOICE!" "HE IS JUST AS GOOD AS WHEN WE SAW HIM IN THE 70s MAYBE BETTER" "WOW IT'S 'LITTLE WING' " etc. and on and on at the top of his lungs, as if he could onl enjoy the show by constantly talking over it.  No doubt he will be bragging to all of his friends what a great show it was, despite the fact he didn't really listen to it.
</p><p>
I can't wait for the DVD.  I hope they get all the songs on it, not like Crossroads where they cut out a bunch of stuff, and changed the order on some others (not that anyone who wasn't there would notice, but still). 
</p><p>
Afterwards we walked up to Times Square to an excellent <a href="http://www.yelp.com/biz/bxl-belgian-cafe-new-york#hrid:1K5ZpO7V60ALDhyfjOJt9Q/query:belgian%20beer">Belgian beer bar</a> to rehash the evening.
</p><p>
The weather was a bit cold and windy outside, but the memories are still warm.]]>
      
   </content>
</entry>

</feed>
