Tuesday, July 17, 2007

Of interest to engineers

The subject of responsibility and professional ethics is a hot topic in business. It is also a key and sometimes under-appreciated aspect of engineering. A great case study in engineering ethics can be found in Joe Morgenstern's 1995 New Yorker article "The Fifty-Nine Story Crisis." Yes, engineers have responsibilities to make things right.

On the topic of engineering, I am continually impressed with the engineering ingenuity involved with mechanical watches. I wish every software developer thought like a watch designer: efficiency, size, and reliability are permanent constraints on feature development. For some wonderful examples of modern engineering, see two (commercial) overviews of recent work done by Jaeger LeCoultre: the ingenious gyrotourbillon and the revolutionary master compressor LAB.

Mathematics for the Non-Mathematician

Just a brief recommendation. I had an opportunity over the weekend to re-read parts of the extraordinary book Mathematics for the Non-Mathematician. The history of science gets quite a bit of coverage, less so the history of mathematics as an independent subject. This book simultaneously makes a strong case for an interest in mathematics as a subject, its inter-relationship with civilization and is just damned interesting to read. This is actually in my top-twenty recommended books for everyone.

Thursday, July 05, 2007

SOA platforms

Post updated with correct URL! A high level "white paper" on technology trending toward SOA platforms I wrote a while back, published on oracle.com.

Ibrahim Ferrer

Great review on NPR of Ibrahim Ferrer's posthumous album Mi Sueño. Though there is some background on Ferrer in Wikipedia, it's quite weak. I recommend just buying this album and his work more generally: both are available on iTunes.

One iTunes nitpick: what is the deal with categorizing this music as "tropical"? This is some of the most seductive balladry available, combining elements of afro-caribbean, jazz, cuban, and just sweet melodies. I can't think of a better or more classy backdrop to a evening out -- or at home.

JEE done right?

Sun has been trying to figure out what to do keep pace with innovation in the Java space and especially in JEE. The current proposal adds profiles, which I generally like, since it moves JEE forward in one respect: JEE services a la carte and lighter weight application server technologies. My friend Rod Johnson thinks this is a really great thing and I expect to see Spring take full advantage of this trend.

On other fronts, Peter Kriens asks why Sun isn't leveraging OSGI to its full potential. Well, depends what you really mean there: most of his examples are for app server internals, which can use OSGI regardless of how oblivious the JEE specs are to OSGI standards. But still, with the Java module system being proposed, it does look like we may be in for a dose of infrastructure bifurcation. At a minimum, I'd like to see a coherent and comprehensible strategy in this area for Java.

And I am concerned that there is not a coherent plan for SCA integration into J2EE. In fact, I think the statement on using SCA in JEE is a travesty. What does the current proposal for JEE really mean? How will JEE application expose their interrelationships with other services? And will JEE applications be able to bundle SOA components like BPEL processes used for embedded workflows?

My view is that there are still some very fundamental things to be worked out. We can -- in fact we must -- do better.

Tuesday, July 03, 2007

iPhone reaction

I've had the chance to play with the iPhone off and on for the last few days. Some quick thoughts:

First of all, I wildly underestimated the iPhone. It is unique and nothing else comes close. The ease of use and elegance is difficult to overstate.

Second, I am hoping that all iPods adopt this style: embedded macosx, wifi support and the large screen should be standard features. And thank the powers that be for flash memory: my iPod video hard drive lasted just long enough to go out of warranty.

Third, the Internet integration is just brilliant. I read the Wall Street Journal quite a bit on my Treo while traveling, and the experience on the iPhone is actually better than it is on my laptop computer. I feel like I'm reading the paper when I rotate the iPhone sideways and use the mobile content feed.

Fourth, the adaptive keyboard is also brilliant. It is not, however, a replacement for a real keyboard and from my limited experience, works better with the finger tips than the thumbs.

Fifth, the YouTube integration is horrible. Search is awful. At least let users comment back on videos. Not a big disappointment, but surprising.

Lastly, there is a lot missing. Top two items on my list: as far as I can tell, you can't do a bluetooth synch with a Mac laptop; no GPS. Means there will be plenty of room to grow features (and maintain margins) over the next year.

Slightly imperfect, this device puts the market to shame. I am disgusted every time I turn on my Treo now.

Sunday, June 10, 2007

Greetings from Prague

I am typing from the Czech Republic, where I just attended the SOA workshop preceding the Systems Integration 2007 conference. I'm told this is the largest conference of its sort in the region. I presented at the workshop (slides to be posted by the conference) on the technology trends that are driving SOA as a viable application/integration strategy. I also sat on a panel with folks from HP (formerly Systinet), Progress, Sun, and the University of Technology, Sydney. Hot topics: SCA and governance. Expect to hear a lot more in these areas over the next year.

The interesting takeaway for me was the similarity of the views of the presenters and panelists. I believe this reflects a common experience with customer requirements. This is a particularly good thing, since it means that the SOA hype phase may be over, and now we're getting down to the real value proposition: easier, cheaper application integration, flexible business processes, and better alignment with business objectives.

Tomorrow I have a chance to keynote the main conference. I am planning to dwell on these three topics. In addition, Jon Maron and I are doing a three hour presentation for the Oracle field and customers on the next iteration of the SOA platform. Should be a fun, but very long day!

Addendum (a few notes on Prague): beautiful city with architecture going back to the middle ages. Mostly I have been in hotels or meetings, but the city is extremely pleasing to the eyes and a pleasure to walk around. We managed to do just that a bit and see the prague castle, the old town's powder gate tower and the famous astronomical clock. Ironically, the czechs are renowned for the high percentage of atheist citizens: the houses of worship are really amazing. This morning, we had a chance to explore the Jewish quarter, also fascinating (the Spanish synagogue is not to be missed). St. Vitus's Cathedral rivals Notre Dame as a massive, buttressed church: it also houses the tomb of "Good King Wenceslas".

Monday, May 21, 2007

JBI 2.0, does anyone agree?

JBI has always interested me for two reasons: 1) I was surprised to see a model pushed for describing how application servers should be built, rather than used. This was tried with JSR 111 and it failed pretty spectacularly: and this was after J2EE was already defined and agreed on as the standard model for integration servers. 2) It was originally proposed as some of the oddest combinations of technologies: WSDL 2.0 and very old school approach to solving the same problem solved by every dependency injection framework.

OK, now some years have passed: JBI hasn't taken off and now a few vendors are back at the table trying to decide what to do next. Since it's unclear what direction folks will try to take this, I thought I'd poney up a few suggestions on what could make the spec relevant and useful. Basically, get rid of a lot of cruft.

First thing to tackle: the "J2EE for integration servers" looks like it will clearly be SCA. So check SCA support as the standard model for service development. (This seems to be in line with where things are going, or so I thought: Out of the blue, my old friend Mark Little suggests that maybe they will support JBI without SCA. What? Invent a closed, Java specific model for composite services? Enter the matrix indeed!)

Once you build one of these things, it's pretty clear that most of JBI 1.0 can go away. Using SCA and OSGI, you really don't need to do much other than have an interface that passes normalized messages to service engines or binding components. In fact, OSGI provides most of the packaging and injection heavy lifting for building plugins to an SCA/JBI runtime model.

Once you boil down to a few interfaces, then the group could focus on simplifying those interfaces further. Add some management hooks and this is something that could really take off. I suspect this is really what the folks in the Eclipse SRP are really after. All of this suggests that the group could do something genuinely useful: explicitly focusing the JSR as the OSGI based plugin model for Java-SCA platforms.

In sum, narrow the scope, align with industry direction and build some real value additions.

Monday, May 14, 2007

The Other Dave on SCA

The other Dave Chappell is suggesting that the Java community is fracturing on whether Java is a useful programming model for SCA. Let me give my perspective on this, since I've commented on this extensively in the SCA working group and in other forums.

There is no doubt that adding support for imperative programming models is important for SOA composites. This is where the Java/SCA model makes sense.

But does it matter? My argument all along has been that we should not teach a new model around Java. Everyone is already converging on a common model: the whole Java world is moving toward pojo programming stripped free of the framework cruft. In the first SCA f2f I sat with Rod Johnson and watched him implement some of the annotations in the original SCA JCI spec in a few minutes. SCA frameworks will bootstrap Java code. Write it for Spring and it will be useable in SCA. Or vice versa.

Put it another way: we can bootstrap basic BPEL processes into an SCA environment without changing the BPEL definition because you just use the language. We expect to see the same thing for Java platforms moving forward. If anything, this is the ultimate form of industry convergence.

Dave Chappell joins Oracle SOA team

Great news: Dave Chappell (ex-Sonic) has signed on with Oracle's integration and SOA team. He was already out speaking on our SOA strategy at JavaOne last week on the main SCA panel.

Update: bookmark Dave's blog here: http://blogs.oracle.com/davidchappell

Wednesday, May 02, 2007

Systems Integration 2007 (Prague, Czech Republic)

I will be delivering two keynote talks this year at the Systems Integration conference in Prague. This is a big event for central Europe and I'm excited to get a chance to talk with lots of people that are implementing SOA solutions. I'm also pretty excited about seeing Prague, if only between meetings.

Monday, April 30, 2007

Jim Gray Tribute Redirect

Some thoughts on Jim Gray. It's fair to say there's little I've done in the last ten years that wasn't laid out by Jim Gray.

Wednesday, April 18, 2007

ICSOC 2007 Call for Papers

I am on the Program Committee for ICSOC 2007 (in Vienna this year), if you're doing interesting work in the area of Web services, SOA or integration, please consider submitting a paper. Details below....

CALL FOR PAPERS


ICSOC 2007 seeks original papers in the field of service oriented computing, from theoretical and foundational results to empirical evaluations as well as practical and industrial experiences, with the emphasis on results that contribute to solve the many still open research problems that are of significant impact to the field of service oriented applications. Topics include but are not limited to the following:

  • Business Service Modeling: Methods and tools for capturing business goals and requirements, decomposition into business services, business processes, business policies, modeling, analysis, and simulation, specification of functional and non-functional quality requirements

  • Service Assembly: Development and discovery, model-driven development, service composition architectures, service registries, service discovery mechanisms, semantic matching, methods and tools for service development, governance, verification and validation, deployment strategies

  • Service Management: Instrumentation and service-related data aggregation, end-to-end measurement, analysis, modeling and capacity planning, definition of deployment topology, infrastructure configuration, problem determination for SOAs, ITIL processes, change management in live systems

  • SOA Runtime: Service bus for mediation, transformation and routing, runtime development and service registries, integration of legacy applications, information services for data access and data integration, scalability, topology and optimization, service-oriented middleware, policy based configuration & workload management

  • Quality of Service: Reliable service-oriented computing, security and privacy in service-oriented computing, SLA and policy specification, QoS negotiation, autonomic management of service levels, empirical studies and benchmarking of QoS, performance and dependability prediction in SOA

  • Grid Services: Services and architecture for management of infrastructural resources, data and compute intensive applications, execution and resource allocation services for job scheduling, protocols for coordination across multiple resource managers, business-value based allocation, innovative strategies for creation and management of virtual enterprises and organizations, prototype systems and toolkits

RESEARCH AND INDUSTRIAL TRACKS

There are two independent tracks for research and industrial papers, each managed by a different program committee and with a different set of evaluation criteria. Authors must clearly indicate the track to which their paper is being submitted.

  • Research Track: ICSOC 2007 solicits original research papers, which should contain results that advance the state of the art in service-oriented computing, either through theoretical or experimental analysis. The paper should clearly articulate the research contribution and innovations, the relevance to service-oriented computing and the relation to prior research. Submitted papers will be judged according to their scientific merits and evaluated on significance, originality, technical quality, and exposition.

  • Industrial Track: ICSOC 2007 solicits submissions covering the state of practice and real-world experience in service-oriented computing, including papers that describe innovative service-based implementations, novel applications of service-oriented technology, and insights and improvements to the state-of-practice. Case studies from practitioners emphasizing applications, service technology, system deployment, organizational ramifications, or business impact are especially welcome. Papers should provide sufficient details on the application domain, and the service-oriented techniques used, the issues surrounding actual implementations and applications, and the lessons learned in the field.

FORMATTING GUIDELINES

All papers should be submitted electronically (in PDF) and prepared in accordance with the Springer/LNCS camera-ready format. Both research and industrial-track papers are not to exceed 12 pages, including references. All submissions should include title, authors, and full contact information.

Submissions should indicate at least two main topics and the scientific area (or areas) that best fit the content of the paper. All accepted papers will appear in the ICSOC 2007 proceedings, published by Springer Verlag as a part of its Lecture Notes in Computer Science series, and must be formally presented at the conference.

SUBMISSIONS

Submissions must be made electronically through the ICSOC 2007 Online Submissions Site.
Guidelines for authors on using and navigating the submissions site are also provided.

Thursday, April 12, 2007

So It Goes

Slaughterhouse-Five was the first Vonnegut book I read. I still remember being strangely indifferent. I never warmed up to Vonnegut completely as a novelist, but I did as an essayist. More importantly, I came to respect Vonnegut as a human being: humorous and humanist, but unwilling to be hopeful without warrant. Vonnegut's alien-outsiders were spectators on a humanity that should but won't do better. Most importantly, Vonnegut wanted people to think for themselves, a hard and sometimes rare thing. The world is a little less rich today.

Tuesday, April 03, 2007

Rich Friedman blog found

The funny thing about blogs is that you just kind of discover them by accident. Suddenly, you find your friends are out there publishing away and you have to catch up on everything. I am the worst when it comes to keeping up relationships in real life, so there's a bittersweet element of that discovery to me. I should be finding out about what people are up to by conversation, but these days work gets the best of me. Anyway, I just found out that Rich Friedman is blogging. Rich was a middleware programmer for Bluestone, then technical lead for our acquisition strategy at Bluestone, then chief technologist at HP middleware, making sure that partners and customers understood what we were doing over there. Now he's responsible for middleware systems management at Red Hat.

At some point, we need to organize a feed of ex-Bluestone bloggers....