<?xml version="1.0" encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="https://raibledesigns.com/roller-ui/styles/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" 
      xmlns:app="http://www.w3.org/2007/app"
      xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/">

    <title type="html">Search for [&amp;quot;css 2006&amp;quot;] in weblog rd</title>
    <subtitle type="html">Search results for [&amp;quot;css 2006&amp;quot;] within weblog Raible Designs</subtitle>
    <id>https://raibledesigns.com/rd/feed/entries/atom?q=%26amp%3Bquot%3Bcss+2006%26amp%3Bquot%3B</id>

    <link rel="self" type="application/atom+xml" 
        href="https://raibledesigns.com/rd/feed/entries/atom?q=%26amp%3Bquot%3Bcss+2006%26amp%3Bquot%3B" />

    <link rel="alternate" type="text/html" 
        href="https://raibledesigns.com/rd/search?q=%26amp%3Bquot%3Bcss+2006%26amp%3Bquot%3B" />

    <link rel="search" type="application/opensearchdescription+xml" 
        href="https://raibledesigns.com/roller-services/opensearch/rd" />
    <opensearch:Query role="request" searchTerms="&amp;quot;css 2006&amp;quot;" startPage="1" />

    <link rel="first" type="application/atom+xml" href="https://raibledesigns.com/rd/feed/entries/atom?q=%22css+2006%22" />
    <updated>2026-05-25T13:53:18-06:00</updated>
    <generator uri="http://roller.apache.org" version="5.0.3 (1388864191739:dave)">Apache Roller</generator>

        <entry>
        <id>https://raibledesigns.com/rd/entry/css_2006_mike_milinkovich_s</id>
        <title type="html">[CSS 2006] Mike Milinkovich&apos;s Keynote</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/css_2006_mike_milinkovich_s"/>
        <published>2006-10-26T22:39:24-06:00</published>
        <updated>2009-06-04T20:08:35-06:00</updated> 
        <category term="/Java" label="Java" />
        <category term="softwaresummit" scheme="http://roller.apache.org/ns/tags/" />
        <summary type="html">I&apos;m sitting in Mike Milinkovich&apos;s Keynote at the &lt;a href=&quot;http://softwaresummit.com&quot;&gt;Colorado Software Summit&lt;/a&gt; in Keystone, Colorado. Mike is the Executive Director of the Eclipse Foundation - his picture can be seen on his &lt;a href=&quot;http://www.itconversations.com/shows/detail167.html&quot;&gt;IT Conversations&lt;/a&gt; page. Mike had fun getting up here - driving through the snow - and waiting on the freeway for a couple hours while the &quot;rock slide&quot; was cleared.
&lt;br/&gt;&lt;br/&gt;
Mike&apos;s presentation is titled &quot;All About Platforms, Lessons learned from Eclipse&quot;. Mike used to work for Oracle, and he&apos;s been at the Eclipse Foundation for 2 years.  Before that, he was at WebGain. The company that &quot;would not believe that Visual Cafe sucked&quot;. He&apos;s been in the Tools Business for a long time, and has never bothered to learn Java. He used to do a lot in SmallTalk and that&apos;s they last time he programmed. The &quot;repository thingy&quot; in Visual Age for Java was his fault.</summary>
        <content type="html">I&apos;m sitting in Mike Milinkovich&apos;s Keynote at the &lt;a href=&quot;http://softwaresummit.com&quot;&gt;Colorado Software Summit&lt;/a&gt; in Keystone, Colorado. Mike is the Executive Director of the Eclipse Foundation - his picture can be seen on his &lt;a href=&quot;http://www.itconversations.com/shows/detail167.html&quot;&gt;IT Conversations&lt;/a&gt; page. Mike had fun getting up here - driving through the snow - and waiting on the freeway for a couple hours while the &quot;rock slide&quot; was cleared.
&lt;br/&gt;&lt;br/&gt;
Mike&apos;s presentation is titled &quot;All About Platforms, Lessons learned from Eclipse&quot;. Mike used to work for Oracle, and he&apos;s been at the Eclipse Foundation for 2 years.  Before that, he was at WebGain. The company that &quot;would not believe that Visual Cafe sucked&quot;. He&apos;s been in the Tools Business for a long time, and has never bothered to learn Java. He used to do a lot in SmallTalk and that&apos;s they last time he programmed. The &quot;repository thingy&quot; in Visual Age for Java was his fault.
&lt;br/&gt;&lt;br/&gt;
November 7th, 2001 was the day the Eclipse servers got turned on. November 7th was when the code shipped, November 29th was when IBM got their act together and did their press release. The biggest thing that&apos;s come out of Eclipse is the consortium of companies around it. There&apos;s an &lt;a href=&quot;http://birthday.eclipse.org&quot;&gt;online birthday card&lt;/a&gt; for Eclipse.
&lt;br/&gt;&lt;br/&gt;
Agenda: Why Platforms Matter &amp;raquo; Four Key Elements of a Platform &amp;raquo; What the Future Holds.
&lt;br/&gt;&lt;br/&gt;
Part of what happens in &quot;platforms&quot; is building software architectures that will stand the test of time.  Today&apos;s programs are expected to last all the way until 2050! 80% of the code that goes into a product or application &lt;em&gt;just doesn&apos;t matter&lt;/em&gt;. This is STDNM = Shit That Does Not Matter.  Not enough time is being spent on real innovation and differentiation. 
&lt;br/&gt;&lt;br/&gt;
&quot;One of the great things about open source is it allows the collaboration of organizations to build software together.&quot;
&lt;br/&gt;&lt;br/&gt;
WebTools is the best example of this - it&apos;s lead by BEA, but worked on by Oracle and JBoss folks as well. They get to collaborate on the STDNM. Focus on More Cool Stuff and make $$$ for your company. The companies that build the platforms that stand the test of time have generated more wealth than any other part of any other human endeavor.
&lt;/p&gt;
&lt;p class=&quot;quote&quot;&gt;
&quot;In the very beginning, people said you couldn&apos;t make relational databases fast enough tto be commercially viable.&quot; &lt;em&gt;- Larry Ellison&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;There is an &lt;i&gt;entire&lt;/i&gt; generation of software developers that think Win32 is the de-facto development platform. 
&lt;br/&gt;&lt;br/&gt;
&lt;strong style=&quot;color: #666&quot;&gt;Four Key Elements of a Platform&lt;/strong&gt;
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Great technology&lt;/li&gt;
&lt;li&gt;Community Passion&lt;/li&gt;
&lt;li&gt;Culture&lt;/li&gt;
&lt;li&gt;Wide Adoption&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Changing to the OSGi model was a &lt;i&gt;good&lt;/i&gt; idea, they never expected it to be a &lt;i&gt;great&lt;/i&gt; idea. The folks that are building the Eclipse project are using the same plugin API as plugin developers are.  The real goal is software modules that you can simply &lt;i&gt;plug in&lt;/i&gt;. The amazing thing is it&apos;s scaling really well - they&apos;ve heard of folks running the Eclipse Workbench with over 1000 plugins (yeah right!).
&lt;br/&gt;&lt;br/&gt;
The Java Community thing of Eclipse as a &quot;Java thing&quot;, but it&apos;s always been designed to be a &quot;Tools Framework&quot;. There&apos;s a ton of tools today being built on Eclipse: RadRails, CFEEclipse, PHPEclipse, fx, PyDev, SQL, D, Photran, TI, RDT, Eclipse JDT, Eclipse CDT, Eclipse PHP. Texas Instruments designed an environment for building digital equipment processors on top of Eclipse. And then there&apos;s Eclipse RCP - the Rich Client Platform.
&lt;br/&gt;&lt;br/&gt;
RCP was one of those things that Eclipse didn&apos;t want to do.  They were dragged kicking and screaming into it. One good example of a company building something in RCP is JPMorgan.  They built a tool to do currency training and bond valuation.  They used to be doing it in Excel.  They used RCP and they built their own domain-specific platform.  
&lt;br/&gt;&lt;br/&gt;
Community Passion: Brand Hijack is a book about &quot;marketing without marketing&quot;. Let the community define what &quot;Eclipse&quot; means. It&apos;s the antithesis of traditional marketing where you let the community take over. If you dive into the &quot;Eclipse Community&quot;, you will find their 3 sets of folks: Users, Committers and Plug-In Developers. Past that, there&apos;s technology-based communities: Java Developers, rich client, modeling, embedded developers, PHP Developers, Report Developers, etc. Within each of the technology-based communities, the triangle exists as well.
&lt;br/&gt;&lt;br/&gt;
Metcalfe&apos;s Law works for communities as well. The value of a community is proportional to the number of functioning relationships b/w the people and the groups within the community.&lt;br/&gt;
&lt;br/&gt;
What is the interaction b/w the users and the development team? Eclipse 3.1 metrics:
&lt;/p&gt;
&lt;ul class=&quot;glassList&quot;&gt;
&lt;li&gt;Number of newsgroup posts: 32,233&lt;/li&gt;
&lt;li&gt;Number of mailing list posts: 7,792&lt;/li&gt;
&lt;li&gt;Number of Eclipse-specific blogs: 27&lt;/li&gt;
&lt;li&gt;Bugzilla reports fixed: 9,871&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
How do you get there?  How do you &quot;create passionate users&quot;?  Mike has a picture from Kathy Sierra&apos;s blogs and tells how it&apos;s one of his favorite blog posts. Blogs are (of course) &quot;conversational marketing&quot; and work well for building communities.
&lt;/p&gt;
&lt;p class=&quot;quote&quot;&gt;
what really distinguishes open source is not just source, but an &quot;architecture of participation&quot; &lt;em&gt;- &lt;a href=&quot;http://oreillynet.com/pub/wlg/3017?wlg=yes&quot;&gt;Tim O&apos;Reilly&lt;/a&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;There are 152 members of the Eclipse foundation. There&apos;s 15 companies that pay over $200K per year to be &lt;i&gt;Some Fancy Title&lt;/i&gt; of the Eclipse Foundation. Governance matters in open source.  It helps to manage the project and make it a viable product.
&lt;br/&gt;&lt;br/&gt;
The Board of Directors has &quot;elected committer reps&quot;. All the votes from the committers are collapsed by company name.  This means that all the IBM votes only count as one. Projects at Eclipse are lead by many different companies - there were 8 major companies listed on the slide that Mike showed.&lt;br/&gt;&lt;br/&gt;
Company Behavior regarding open source appears to follow a maturity model:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Denial&lt;/li&gt;
&lt;li&gt;User&lt;/li&gt;
&lt;li&gt;Collaboration&lt;/li&gt;
&lt;li&gt;Champion&lt;/li&gt;
&lt;li&gt;Strategist&lt;/li&gt;
&lt;li&gt;Aggressive&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Marketing 101 talks about the product lifecycle - where the graph shows a bell curve. In the 1990s, there were many books about this topic, explaining how to get from the early adopter stage to the next stage. Earlier Adopters are folks like us at this conference. Early Majority are the guys you know, that listen to what we have to say. The Guys you don&apos;t know are next, followed the Guys you Don&apos;t Want to Know. The last two are located on the right side of the bell curve.
&lt;br/&gt;&lt;br/&gt;
Success Means Broad Adoption - when pathfinders start to adopt the platform, things are moving in the right direction.  Following these folks are ISVs, Product Developers - followed by the build of people: Application Developers. 
&lt;br/&gt;&lt;br/&gt;
&lt;strong style=&quot;color: #666&quot;&gt;What does the Future Hold?&lt;/strong&gt;
&lt;br/&gt;&lt;br/&gt;
He&apos;s got a picture of a little chawawa talking to a big dog with a little note in his mouth.  The note says &quot;Fuck you&quot;. Mike says &quot;bullshit&quot; to the fact that future platform for desktops is up for grabs. 
&lt;br/&gt;&lt;br/&gt;
The .NET 3.0 Stack in Vista is what he&apos;s referring to - not Vista itself. Microsoft has had an unparalleled string of successes, but one &quot;oh shit&quot; can erase a thousand &quot;atta boys&quot;. WinFX is backwards compatible, but it&apos;s not forwards compatible. No matter how good of a partner program that Microsoft builds, it&apos;s still not open source.  They&apos;re locked into the &quot;volume geo markets&quot; - they&apos;re going to have a hard time getting penetration into those markets. To outfit hundreds of millions of users in China would be extremely expensive. Many of these counties are using open source because they can&apos;t afford Windows.
&lt;br/&gt;&lt;br/&gt;
A couple of years ago, folks thought the desktop wars were over.  However, today you&apos;re seeing a lot more Macs and a fair amount of folks using Desktop Linux. It&apos;s not just a Windows world anymore. If you think back to Windows 95, try finding the  products build for Vista.  When 95 and XP where launched, there were literally hundreds of products listed on their website.  This isn&apos;t happening with Vista.
&lt;br/&gt;&lt;br/&gt;
The world&apos;s Largest Software Company has forgotten how to ship software. They can&apos;t get an operating system out the door. They tried to scale something that worked for small projects, but got surprised when it didn&apos;t work. They didn&apos;t plan ahead enough to figure out what they needed to do to scale their world.
&lt;/p&gt;
&lt;p class=&quot;quote&quot;&gt;
Microsoft&apos;s Avalon is the J2EE of GUI APIs... Avalon marks the end of the American Dream. - &lt;em&gt;Miguel de Icaza.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;The Challengers to Microsoft: Eclipse RCP, OpenAjax Alliance, KDE, Flex, Java, Flash. Lessons of History: &quot;Hubris gets &apos;em every time.&quot; - &lt;em&gt;William Shakespeare, 1596&lt;/em&gt;. The sin of pride leads to downfall. Other examples of this are IBM PS/2 and the Intel Itanium. A lot of money went into these platforms and not a lot of money came out.
&lt;br/&gt;&lt;br/&gt;
&lt;strong style=&quot;color: #666&quot;&gt;.NET 3.0&lt;/strong&gt;&lt;br/&gt;
It&apos;s a great technology; it solves a hard problem with grace and style. It has a single standard and implementation (which is actually a plus). It used to have a passionate (and happy) community, but there&apos;s been a lot of unhappy blog posts lately. Historically, they&apos;re good at developing a Culture of Participation. They fail on the ecosystem and governance model. Once you start making real money, Microsoft gets mad. &lt;br/&gt;&lt;br/&gt;
&lt;strong style=&quot;color: #666&quot;&gt;Ajax&lt;/strong&gt;&lt;br/&gt;
It is a great technology, but XHR is not a platform. There&apos;s no single Ajax technology beyond the simple stuff. There&apos;s definitely no single standard or implementation. It doesn&apos;t have a passionate community, but it fails both architecture and ecosystem in its Culture of Participation because it&apos;s just a &lt;i&gt;bunch of stuff&lt;/i&gt;. The ecosystem is not sharing technology, they&apos;re just rallying around the word. The good news is there is a lot of broad adoption.&lt;br/&gt;&lt;br/&gt;
&lt;strong style=&quot;color: #666&quot;&gt;Desktop Linux&lt;/strong&gt;&lt;br/&gt;
It&apos;s a great technology, but doesn&apos;t really solve a hard problem with grace and style. Now Mike is dissing on OS X because it doesn&apos;t run on &quot;commodity hardware&quot;. Apple isn&apos;t aspiring to be the volume leader, that&apos;s why he didn&apos;t analyze it. Mike thinks that Linux developers have failed from the Ecosystem perspective because there&apos;s not a lot of company&apos;s building products for Desktop Linux.&lt;br/&gt;&lt;br/&gt;
&lt;strong style=&quot;color: #666&quot;&gt;Eclipse RCP&lt;/strong&gt;&lt;br/&gt;
It&apos;s a great technology and solves a hard problem with grace and style, as well as has a single standard or implementation. Interest and awareness in RCP is going up really fast. It has a good architecture and has a strong ecosystem. 
&lt;br/&gt;&lt;br/&gt;
Microsoft is becoming IBM because they&apos;re going to have incompatible platforms to support.  With RCP, it works on all Microsoft platforms/versions.
</content>
    </entry>
    <entry>
        <id>https://raibledesigns.com/rd/entry/css_2006_snow_in_keystone</id>
        <title type="html">[CSS 2006] Snow in Keystone</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/css_2006_snow_in_keystone"/>
        <published>2006-10-26T07:57:06-06:00</published>
        <updated>2014-05-08T19:47:19-06:00</updated> 
        <category term="/Java" label="Java" />
        <category term="softwaresummit" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Looks like a good day for skiing...
&lt;/p&gt;
&lt;p style=&quot;text-align: center&quot;&gt;
&lt;a href=&quot;http://static.flickr.com/122/279846778_b583107f15_o.jpg&quot; title=&quot;Snow in Keystone&quot; rel=&quot;lightbox&quot;&gt;&lt;img src=&quot;//static.flickr.com/122/279846778_b583107f15.jpg&quot; width=&quot;500&quot; height=&quot;375&quot; alt=&quot;Snow in Keystone&quot; style=&quot;border: 1px solid black&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;</content>
    </entry>
    <entry>
        <id>https://raibledesigns.com/rd/entry/css_2006_day_3</id>
        <title type="html">[CSS 2006] Day 3</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/css_2006_day_3"/>
        <published>2006-10-25T18:04:47-06:00</published>
        <updated>2009-06-04T20:08:23-06:00</updated> 
        <category term="/Java" label="Java" />
        <category term="softwaresummit" scheme="http://roller.apache.org/ns/tags/" />
        <summary type="html">This morning, I gave both my talks back-to-back and was done by noon.  After lunch, I attended &lt;a href=&quot;http://www.softwaresummit.com/2006/speakers/blum.htm&quot;&gt;Scott Blum&apos;s Taming AJAX with GWT&lt;/a&gt;. It was a good talk with some impressive demos.  I definitely need to dig into GWT more - it looks like very cool technology.  I can&apos;t help but think it&apos;s the &quot;widget framework&quot; that JSF was supposed to be.&lt;br/&gt;&lt;br/&gt;
I was planning on heading back to Denver tonight, but it started snowing and Julie said they expect 10&quot; in East Denver.  Who knows if it&apos;ll actually snow that much (the weatherfolks are often wrong), but I don&apos;t want to be on the roads.</summary>
        <content type="html">This morning, I gave both my talks back-to-back and was done by noon.  After lunch, I attended &lt;a href=&quot;http://www.softwaresummit.com/2006/speakers/blum.htm&quot;&gt;Scott Blum&apos;s Taming AJAX with GWT&lt;/a&gt;. It was a good talk with some impressive demos.  I definitely need to dig into GWT more - it looks like very cool technology.  I can&apos;t help but think it&apos;s the &quot;widget framework&quot; that JSF was supposed to be.&lt;br/&gt;&lt;br/&gt;
I was planning on heading back to Denver tonight, but it started snowing and Julie said they expect 10&quot; in East Denver.  Who knows if it&apos;ll actually snow that much (the weatherfolks are often wrong), but I don&apos;t want to be on the roads.
&lt;br/&gt;&lt;br/&gt;
In the afternoon, I attended &lt;a href=&quot;http://davisworld.org&quot;&gt;Scott Davis&apos;s&lt;/a&gt; &lt;a href=&quot;http://www.softwaresummit.com/2006/speakers/davis.htm&quot;&gt;Real World AJAX&lt;/a&gt; presentation.  Scott is an excellent speaker, so it was definitely a good talk. He did spend a fair amount of time explaining basic XHTML (divs) and CSS, but he also showed some cool Prototype code (Event.observe is a great way to add behavior to your divs and other elements).  Scott&apos;s books? JBoss At Work, Google Maps API and Pragmatic GIS.&lt;br/&gt;&lt;br/&gt;
I believe Scott&apos;s &lt;a href=&quot;http://www.mapmap.org/ryogm/&quot;&gt;Roll Your Own Google Maps&lt;/a&gt; is the sample application for his Google Maps API book, but I&apos;m not sure. This is a 12-step tutorial that shows you how easy it is build your own version of Google Maps. The one thing I noticed that Scott did really well was explain the basic concepts of everything; from CSS to Prototype to AJAX in general. Even more impressive was he did it in a way where you were still &lt;i&gt;interested&lt;/i&gt;, even if you knew everything he was talking about.
&lt;br/&gt;&lt;br/&gt;
For the last session, I attended Tom Bender&apos;s &lt;a href=&quot;http://www.softwaresummit.com/2006/speakers/bender.htm&quot;&gt;Introduction to Wireless Sensor and Control Networks&lt;/a&gt;. This talk had a lot of information that was way over my head, but I&apos;m sure my Dad would have enjoyed it.  He&apos;s a big radio/wi-fi guy and digs all the communication stuff.</content>
    </entry>
    <entry>
        <id>https://raibledesigns.com/rd/entry/css_2006_to_esb_or</id>
        <title type="html">[CSS 2006] To ESB or not to ESB?</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/css_2006_to_esb_or"/>
        <published>2006-10-24T18:08:48-06:00</published>
        <updated>2009-06-04T20:07:51-06:00</updated> 
        <category term="/Java" label="Java" />
        <category term="softwaresummit" scheme="http://roller.apache.org/ns/tags/" />
        <summary type="html">&lt;em&gt;Do you have to have an ESB to have a SOA?&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;
I&apos;m sitting in &lt;a href=&quot;&quot;&gt;Denise Hatzidakis&lt;/a&gt;&apos;s talk titled &quot;To ESB or not to ESB&quot; as requested by &lt;a href=&quot;http://raibledesigns.com/page/rd?entry=the_colorado_software_summit_in#comment1&quot;&gt;Mick Huisking&lt;/a&gt;.  Dinese is the Chief Technologist at &lt;a href=&quot;http://perficient.com&quot;&gt;Perficient, Inc.&lt;/a&gt;.  It&apos;s interesting, on her opening slide she has a @perficient.com e-mail address, as well as an @us.ibm.com  address.
&lt;br/&gt;&lt;br/&gt;
&quot;SOA stands for Same Old Architecture&quot;
&lt;br/&gt;&lt;br/&gt;
This talk focuses on using an ESB and how to build it.  There&apos;s a lot of ESB products out there. An ESB is not about a product - it&apos;s about what kind of connectivity you need between your systems.</summary>
        <content type="html">&lt;em&gt;Do you have to have an ESB to have a SOA?&lt;/em&gt; I&apos;m sitting in &lt;a href=&quot;&quot;&gt;Denise Hatzidakis&lt;/a&gt;&apos;s talk titled &quot;To ESB or not to ESB&quot; as requested by &lt;a href=&quot;http://raibledesigns.com/page/rd?entry=the_colorado_software_summit_in#comment1&quot;&gt;Mick Huisking&lt;/a&gt;.  Dinese is the Chief Technologist at &lt;a href=&quot;http://perficient.com&quot;&gt;Perficient, Inc.&lt;/a&gt;.  It&apos;s interesting, on her opening slide she has a @perficient.com e-mail address, as well as an @us.ibm.com  address.
&lt;br/&gt;&lt;br/&gt;
&quot;SOA stands for Same Old Architecture&quot;
&lt;br/&gt;&lt;br/&gt;
This talk focuses on using an ESB and how to build it.  There&apos;s a lot of ESB products out there. An ESB is not about a product - it&apos;s about what kind of connectivity you need between your systems. 
&lt;/p&gt;
&lt;p class=&quot;quote&quot;&gt;
An ESB is an &quot;Architectural Pattern&quot;. In fact, it&apos;s possible to construct service buses from a variety of different underlying integration technologies.... The architecture pattern remains valid and is a guiding priciple to enable the integration and federation of mulitpler service bus instantiations
&lt;br/&gt;&lt;br/&gt;
&lt;em&gt;--Rob High, SOA Foundation Chief Architect&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
An ESB enables standards-based integration between loosely-coupled apps and services within and across:&lt;/p&gt;
&lt;ul class=&quot;glassList&quot;&gt;
&lt;li&gt;&lt;b&gt;services oriented architectures&lt;/b&gt; - where distributed applications are composed of granular re-usable services with well-defined, published and standards-compliant interfaces&lt;/li&gt;
&lt;li&gt;&lt;b&gt;message driven architectures&lt;/b&gt; - where applications send messgaes through the ESB to receiving apps&lt;/li&gt;
&lt;li&gt;&lt;b&gt;event driven architectures&lt;/b&gt; - where applications generate and consume messages anonymously&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&quot;SOA - it was EJBs a couple of years ago&quot;
&lt;br/&gt;&lt;br/&gt;
When implementing a &quot;Virtual Provider&quot;, who is responsible for building that?
&lt;/p&gt;
&lt;ul class=&quot;glassList&quot;&gt;
&lt;li&gt;The Service Consumer?&lt;/li&gt;
&lt;li&gt;The Prospective Service Provider?&lt;/li&gt;
&lt;li&gt;The Service Broker?&lt;/li&gt;
&lt;li&gt;The Internal Enterprise-wide Governance Body on SOA?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The Service Consumer may have to foot the bill or agree to split it with the prospective provider. The provider may not be ready or willing (no funding or not a priority) to build a service interface for the consumer.
&lt;br/&gt;&lt;br/&gt;
The &lt;em&gt;biggest&lt;/em&gt; barrier to ESB implementation success is often political - it rarely has anything to do with technology.
&lt;br/&gt;&lt;br/&gt;
There&apos;s 3 core layers in an ESB:&lt;/p&gt;
&lt;ul class=&quot;glassList&quot;&gt;
&lt;li&gt;Micro Composition/Decomposition &amp;amp; Customized Routing: 
Protocol mapping, pattern recognition (where you deal with the messages), message validation, service brokering&lt;/li&gt;
&lt;li&gt;Enterprise Service Bus - Core Layer&lt;/li&gt;
&lt;li&gt;Bus Connections: HTTP, JDBC, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The &lt;i&gt;key&lt;/i&gt; USB purpose is &lt;b&gt;Routing Service Requests&lt;/b&gt;. The ESB proxies the means to manage the service infrastructure and the capability to operate in today&apos;s distributed, heterogeneous environment. Denise said she told IBM not to build an ESB, because it&apos;s not about the product, it&apos;s about the architecture. However, apparently one CEO wouldn&apos;t buy the IBM Stack because &quot;ESB&quot; wasn&apos;t on the purchase order.
&lt;br/&gt;&lt;br/&gt;
ESB Capabilities: Communications, Service Interaction, Integration (databases, legacy, etc.), Quality of Service, etc.
&lt;br/&gt;&lt;br/&gt;
An ESB leverages underlying communication fabrics of SOA infrastructure - providing &lt;i&gt;on-ramps&lt;/i&gt; and &lt;i&gt;off-ramps&lt;/i&gt;. Typical requirements are: HTTP (SAOP/HTTP, XML/HTTP), MQ (SOAP/JMS/MQ, XML/MQ, text/MQ), Adapters, WS-I, WS-Security, RAMP. Web services are a key enabler of SOA, but they certainly aren&apos;t a requirement.
&lt;br/&gt;&lt;br/&gt;
&lt;strong style=&quot;color: #666&quot;&gt;Message Models&lt;/strong&gt;&lt;/p&gt;
&lt;ul class=&quot;glassList&quot;&gt;
&lt;li&gt;Describe messages exchanged with requesters and providers&lt;/li&gt;
&lt;li&gt;Based on Meta-models&lt;/li&gt;
&lt;li&gt;An ESB supports one or more message meta-models&lt;/li&gt;
&lt;li&gt;An ESB supports multiple message content models
&lt;ul class=&quot;glassList&quot;&gt;
&lt;li&gt;Can include industry standard model as well as enterprise specific models&lt;/li&gt;
&lt;li&gt;Can include weakly-typed models&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Canonicalization&quot;&gt;Canonicalize&lt;/a&gt; on the message format itself (using something like SOAP or JMS, just agree on which one).  Let the business logic reside in the message itself.  You will want an ESB that supports multiple content models.
&lt;br/&gt;&lt;br/&gt;
&lt;strong style=&quot;color: #666&quot;&gt;Mediation Flows:&lt;/strong&gt; process messages exchanged between requester and provider via ESB (large grained, moderately reusable, constructed from &lt;i&gt;Mediation Patterns&lt;/i&gt;.
&lt;br/&gt;&lt;br/&gt;
&lt;strong style=&quot;color: #666&quot;&gt;Mediation Patterns and Message Processing:&lt;/strong&gt; Allow manipulation of messages during a message flow (provided by a mediation framework).
&lt;br/&gt;&lt;br/&gt;
Mediation enables Service Virtualization of &lt;i&gt;identity&lt;/i&gt; via routing, &lt;i&gt;interaction&lt;/i&gt; vi conversion and &lt;i&gt;interface&lt;/i&gt; via transformation.
&lt;br/&gt;&lt;br/&gt;
Mediation enabled Aspect Oriented Connectivity - Security &amp;amp; Management, Logging Auditing, Dynamic Routing, etc.
&lt;br/&gt;&lt;br/&gt;
Example Mediation Patterns: request/response, request/multi-response, event propagation, distribute, correlate, monitor, gateway, transform - log - route. 
&lt;br/&gt;&lt;br/&gt;
Connectivity, Message Model and Message Flows are the 3 main components in an ESB. What&apos;s not in the ESB? &lt;i&gt;Everything else!&lt;/i&gt;
&lt;br/&gt;&lt;br/&gt;
Do you have to have an ESB to do an SOA? &lt;i&gt;No&lt;/i&gt;.
&lt;br/&gt;&lt;br/&gt;
Do get a good ROI from your SOA, you need to have a &lt;b&gt;loose coupling&lt;/b&gt; in your implementation. Tighter coupling tends to cost more over time, but looser coupling requires greater investment up front. There&apos;s more design work and more implementation work that happens in the beginning.  You might not need a full-blown ESB (is this starting to sound like EJB containers), you can probably do an SOA architecture with your current tools and technologies. When I was at Xcel Energy last year, a bunch of good friends built an ESB on top of JBoss - using Quartz, JMS, EJB, Spring and Hibernate.
&lt;br/&gt;&lt;br/&gt;
What does &quot;loosely coupled&quot; mean? It&apos;s not a well defined term.  We now what &quot;coupled&quot; and &quot;decoupled&quot; means, but there&apos;s a lot of grey in between. 
&lt;br/&gt;&lt;br/&gt;
At this point, my battery began to die. Denise was a good speaker, but she had a lot of information on her slides - makes a real-time blogger&apos;s fingers hurt. ;-)
&lt;br/&gt;&lt;br/&gt;
Tonight, I&apos;ll be attending the Q &amp; A, followed by a Spring BOF. Should be fun.</content>
    </entry>
    <entry>
        <id>https://raibledesigns.com/rd/entry/using_maven_2_to_get</id>
        <title type="html">[CSS 2006] Using Maven 2 to get control over your Development Process</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/using_maven_2_to_get"/>
        <published>2006-10-24T15:53:43-06:00</published>
        <updated>2009-06-04T20:08:05-06:00</updated> 
        <category term="/Java" label="Java" />
        <category term="softwaresummit" scheme="http://roller.apache.org/ns/tags/" />
        <summary type="html">This afternoon I attended &lt;a href=&quot;http://softwaresummit.com/2006/speakers/opstvedt.htm&quot;&gt;Hermod Opstvedt&lt;/a&gt;&apos;s talk on Using Maven 2 to get control over your Development Process. Most of it was review for me, but I took some notes anyway.  About halfway through, I quit taking notes and just listened.  The most interesting part for me was seeing how the &lt;a href=&quot;http://maven.apache.org/guides/mini/guide-embedding-m2.html&quot;&gt;Maven Embedder&lt;/a&gt; works. Since Maven doesn&apos;t currently allow you to &lt;a href=&quot;http://jira.codehaus.org/browse/ARCHEENGINE-31&quot;&gt;create archetypes from existing projects&lt;/a&gt; the embedder seems like a good workaround. I&apos;d rather code in Java rather than XML any day. </summary>
        <content type="html">This afternoon I attended &lt;a href=&quot;http://softwaresummit.com/2006/speakers/opstvedt.htm&quot;&gt;Hermod Opstvedt&lt;/a&gt;&apos;s talk on Using Maven 2 to get control over your Development Process. Most of it was review for me, but I took some notes anyway.  About halfway through, I quit taking notes and just listened.  The most interesting part for me was seeing how the &lt;a href=&quot;http://maven.apache.org/guides/mini/guide-embedding-m2.html&quot;&gt;Maven Embedder&lt;/a&gt; works. Since Maven doesn&apos;t currently allow you to &lt;a href=&quot;http://jira.codehaus.org/browse/ARCHEENGINE-31&quot;&gt;create archetypes from existing projects&lt;/a&gt; the embedder seems like a good workaround. I&apos;d rather code in Java rather than XML any day. 
&lt;/p&gt;&lt;p&gt;
Near the end, Hermod tried to show us how you can easily create an Ant-based Mojo (Maven plugin), but his demo bombed thanks to an invalid pom in one of the plugin snapshots.  Made Maven look pretty bad IMO - but snapshots always mess things up. ;-) The room was packed.  Here&apos;s my notes:&lt;/p&gt;
&lt;div style=&quot;border: 1px solid silver; padding: 5px&quot;&gt;
&lt;strong style=&quot;color: #666&quot;&gt;What is Maven?&lt;/strong&gt;
&lt;br/&gt;
It&apos;s a kind of project management tool. It focuses on standards and best practices, uses convention over configuration, shared language for build management, repeatable robust builds and acts as a central point in the Project Object Model (POM).
&lt;br/&gt;&lt;br/&gt;
&lt;strong style=&quot;color: #666&quot;&gt;Maven History&lt;/strong&gt;
&lt;br/&gt;
Maven is a result of trying to make several Apache Software Foundation (ASF) project work in the same predictable way.  Offshoot of the Turbine project and started by Jason van Zyl.
&lt;br/&gt;&lt;br/&gt;
&lt;strong style=&quot;color: #666&quot;&gt;Objectives&lt;/strong&gt;
&lt;br/&gt;
Creates a common and understandable build infrastructure.  If you know Maven, moving from one project to the next means you can focus on the problem at hand and not spend time trying to figure out the build system.
&lt;br/&gt;&lt;br/&gt;
Common problems in a project: Traditionally, the larger the project, the more complex and build system becomes.  Very often the build system is copied form a previous project that the senior developers participate in.  Setting up an initial project through copy and past obviously can lead to interesting issues. Versioning of a project often becomes a nightmare if a strict regime of code management is not introduced. Documentation process is often &quot;put off until later&quot;.  Testing infrastructure is generally mediocre at best.
&lt;br/&gt;&lt;br/&gt;
Maven solves these problems by introducing common build logic and uses a standard naming convention.  There is also a single output from a single Maven project (often a contentious issue).
&lt;br/&gt;&lt;br/&gt;
The &lt;a href=&quot;http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html&quot;&gt;Maven standard build lifecycle&lt;/a&gt; provides a lifecycle to hook into to perform custom logic with plugins.
&lt;br/&gt;&lt;br/&gt;
&lt;strong style=&quot;color: #666&quot;&gt;Archetypes&lt;/strong&gt;
&lt;br/&gt;
What is an archetype? It&apos;s a template of a project which is combined with some user input to produce a working Maven project that has been tailored to your requirements. It&apos;s used to initialize a new project of a particular kind. To use the archetype plugin, it&apos;s as simple as running:
&lt;pre style=&quot;margin-top: 10px&quot;&gt;
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp
&lt;/pre&gt;

For more information, see &lt;a href=&quot;http://maven.apache.org/guides/mini/guide-webapp.html&quot;&gt;Maven&apos;s Guide to Webapps&lt;/a&gt;.

Archetypes are very dumb for the most part - they&apos;re just a flat directory structure with files in it. However, if you want to create complex archetypes that &lt;em&gt;execute&lt;/em&gt; something, it can&apos;t be done using the regular way.  The solution is:

&lt;ol style=&quot;margin-top: 10px&quot;&gt;
&lt;li&gt;Start out by creating an archetype for your standard structure&lt;/li&gt;
&lt;li&gt;Then in the pom for the project, add an &amp;lt;scm&gt; section that will point to where your code is stored.&lt;/li&gt;
&lt;li&gt;Run &quot;mvn archetype:create&quot;.&lt;/li&gt;
&lt;li&gt;Change to the root of your newly created project and run &quot;mvn scm:update&quot;.&lt;/li&gt;
&lt;/ol&gt;

An alternative to all this is to create an Ant-based mojo.  A &lt;a href=&quot;http://maven.apache.org/guides/introduction/introduction-to-plugins.html&quot;&gt;Mojo&lt;/a&gt; is a Maven plugin that executes some code at a given lifecycle. It can run Java code, Ant scripts and more. the reason for using an Ant based mojo is that to be able to run more than one task in a mojo, we need to us what is known as the Maven Embedder.
&lt;/div&gt;
&lt;p&gt;</content>
    </entry>
    <entry>
        <id>https://raibledesigns.com/rd/entry/css_2006_day_1</id>
        <title type="html">[CSS 2006] Day 1</title>
        <author><name>Matt Raible</name></author>
        <link rel="alternate" type="text/html" href="https://raibledesigns.com/rd/entry/css_2006_day_1"/>
        <published>2006-10-23T18:30:59-06:00</published>
        <updated>2009-06-04T20:07:23-06:00</updated> 
        <category term="/Java" label="Java" />
        <category term="softwaresummit" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">Today, I woke up early and made it to the conference in time for breakfast and &lt;a href=&quot;http://www.softwaresummit.com/2006/speakers/soyring.htm&quot;&gt;John Soyring&apos;s Keynote&lt;/a&gt;.  While I didn&apos;t stay tuned in the whole time, it looked like he had some good slides and he was definitely an eloquent speaker.  It did turn into an IBM sales pitch at times, but overall it was pretty good.  One thing I didn&apos;t know is apparently Wayne Kovsky (the conference organizer) , used to have John&apos;s job at IBM.  John &quot;provides global business leadership for a multi-billion dollar annual revenue portion of the IBM software business&quot; - so apparently he&apos;s doing pretty well. 
&lt;br/&gt;&lt;br/&gt;
After Soyring&apos;s talk, I attended Bill Dudney&apos;s &lt;a href=&quot;http://www.softwaresummit.com/2006/speakers/dudney.htm&quot;&gt;Introducing Cayenne&lt;/a&gt; presentation.  I didn&apos;t listen as good I should have (notice the timestamp on the &lt;a href=&quot;http://raibledesigns.com/page/rd?entry=appfuse_1_9_4_released&quot;&gt;AppFuse 1.9.4 Release&lt;/a&gt;), but I did learn that the Demo Gods were having a case of the Mondays. After lunch, my &lt;a href=&quot;http://www-128.ibm.com/developerworks/java/library/j-appfuse&quot;&gt;Seven Simple Reasons to use AppFuse&lt;/a&gt; talk started at 1:00.  It was the first time I&apos;d presented the talk, so I didn&apos;t know how long it&apos;d go.  The first demo worked, the second one bombed.  I shoulda typed &lt;span style=&quot;background: #ffd&quot;&gt;&lt;code&gt;@spring.validator type=&quot;required&quot;&lt;/code&gt;&lt;/span&gt; instead of &lt;span style=&quot;background: #ffd&quot;&gt;&lt;code&gt;@spring.validator required=&quot;true&quot;&lt;/code&gt;&lt;/span&gt;. Oh well.
&lt;br/&gt;&lt;br/&gt;
This afternoon, I went to &lt;a href=&quot;http://www.softwaresummit.com/2006/speakers/bowler.htm&quot;&gt;Mike Bowler&apos;s Ruby for Java Programmers&lt;/a&gt; talk. I was a bit late, but it was an excellent presentation.  I&apos;d recommend it to anyone.  That raps up Day 1, tomorrow I hope to hit &lt;a href=&quot;http://www.softwaresummit.com/2006/speakers/snyder.htm&quot;&gt;Event Driven Architecture with Apache ActiveMQ and POJOs&lt;/a&gt; and &lt;a href=&quot;http://www.softwaresummit.com/2006/speakers/hatzidakis.htm&quot;&gt;To ESB or Not to ESB&lt;/a&gt;.</content>
    </entry>
</feed>

