11/20/09 :: [SOA,BPM,MDE] A Decade of SOA, BPM and MDE[permalink]
Last week, Microsoft made an announcement about Oslo:
Of the key things we observed over the last year was the real, tangible customer value in applying “Oslo” to working with SQL Server. Time after time we heard that “M” would make interacting with the database easier, provided we offered a good end to end experience with tools (VS) and frameworks (Entity Framework and Data Services) that developers use today. We heard that developers wanted to use the novel data navigation/editing approach offered by “Quadrant” to access their data in whatever SQL Server they wanted, not just the “Repository”. We heard that the notion of a “Repository” as something other than SQL Server was getting in the way of our conversations with customers.
I’ll let you compare to what Microsoft had said in the last 24 months, via Burley Kawazaki:
We want to make Model-Driven-Development more successful than it has been. We want to make it mainstream by targeting CAD-like productivity improvements. We also want to help our customer lower the skill barriers: it is still too difficult to find skilled SOA developers, architects and quality analysts.
We want to send the model to the server not to the printer. MDD is suffering from two limitations. First, the model represents a point-in-time snap shot of the business logic, there are many gaps that people have to fill as they translate it into code. Second, people had only certain views into the model, there was no end-to-end view. Today, models are trapped in silos. As long as these silos exist modeling will remain at the periphery of application development. We need to create an end-to-end view supported by new tools, engines and repository. For instance, the concept of “code-behind” could decrease significantly with a shift to modern MDD techniques.
Model-driven development is the missing ingredient that the industry has been looking for. Oslo will be the anchor for a new generation of app development that uses model-driven development, but takes it mainstream. Rather than having models being imported and exported and generating code, the model is the application and that breaks down the silos. We're creating a general purpose set of modeling tools, modeling language and repository that can bridge all the various types of models that describe an application and move models to the center of application development. Models then become the app. You send the model to the server, not the printer.
_____________
Anyone that knows me knows that I am a SOA, BPM and MDE geek. I created the “Service Oriented, Process Centric, Model Driven Programming Model” moniker 5 or 6 years ago. I have somehow pushed this vision since 1998 when I was working at NEC labs. Needless to say that it has not been easy: our industry loves reinventing the wheel and always circles back where it started. We have somehow discovered the perpetual movement at the speed of zero. I have no agenda other than I believe that we need to leave behind all these corny programming models genetically engineered to fail IT and create a new generation of programming models that are architecture independent.
The failure of Oslo to deliver to its promises is not just Microsoft’s failure, it is the failure of an entire industry unable to articulate a programming model that spans architecture stacks. In the last 10 years, all software vendors have failed to deliver “the missing ingredient that the industry has been looking for” and “[take] model-driven development… mainstream”. Yes, Burley, your vision was spot on, your execution is abysmal.
The failure of Oslo starts with the failure of standards and the little game that some individuals play all day at the expense of their company and the whole industry. These individuals made a career at producing incomprehensible and broken specifications, always on the lookout for killing somebody else’s spec, or for the opportunity to create a pompous and useless committee that will produce some insipid document and stick their little name in a press release.
The failure of Oslo is also the failure of precision thinking, the failure of not understanding the connection between SOA, BPM and MDE. Each software group come up with their petty concept du jour (usually between a couple of twits sent over their iPhone at their favorite coffee place), blow it up out of proportion with the help of analysts who monetize a lot more than they think, and then move on to the next. Our industry is littered with ghost frameworks, containers and tools quickly made irrelevant by the “next bubble” of pump and dump technologies. “Look ma, I can ship it, so it must be good enough for the customer”. How much “stuff” did the Microsoft, IBM, BEA, JBoss, Spring or Oracle middleware divisions cranked out in the last 10 years?
After a decade, the reality is that if you have been a customer of a large (or small) software vendor, you have most likely waited years to get something you needed yesterday and you had to build so much scaffolding in the meantime that when the “new” technology finally came, your only choice was not to use it because the cost of upgrading could never be justified.
So because they can’t think with enough precision, you have to hook stuff together (architect, they say): you no longer buy software, you buy “capabilities”, of course, that’s when the capabilities are available. Last spring I reminded the mighty Connected Systems Division that they still didn’t have a “WSDL-first” capability. Over the summer they seem to have engaged ThinkTecture to productize a proof-of-concept that was started and never finished back in 2007. Is that really professional for a company like Microsoft to approach such an essential capability that way? 10 years after the first draft of WSDL was written? Who is the product manager? Who in the mighty CSD can be that ignorant as to think that you can be successful at SOA without a WSDL-first approach? The reality is that it is symptomatic of our entire industry which lives in the lalaland of white papers, webinars and flashy presentations fueled by the monetization of its “analysts”. Yes, the software groups at all these companies spend a lot more time playing buzzword bingo and crafting stories than they spend thinking about the right thing to do, let alone doing it.
In 2009, a decade after the emergence of Model Driven Architecture (MDA), the industry, and Microsoft in particular, have been unable to build a precise Model Driven Engineering foundation. IBM might scream at this sentence, but that’s the sad reality. Scholars are still debating what to do, most people are using UML tools as an advanced version of PowerPoint and the OMG has no clue on where to go next trapped in vendor politics more concerned by their past investments than their future. Microsoft’s contribution has of course been abysmal in that space too: DSL Tools was a complete joke. Anyone that tried to use it, ended up in complete frustration and disbelief for any kind of Model Driven approach. And now, “Oslo” the modeling foundation that would “publish models to servers and not printers”, well “Oslo” has been folded back into SQL Server modeling tools.
The failure of Oslo is finally a failure of product management (I worked with a few product managers in my career, so I can speak from experience). I would argue that product management is quite simple. It relies on 3 pillars: innovation, customer research and competition analysis. Our industry more or less doesn’t do any of that. It does not matter how wealthy all these companies get, it does not matter how much you pay for your ELA, it does not matter how much profit they make, you pretty much get the same outcome. I have been to Microsoft’s SOA & BPM conference pretty much since its inception (the first edition gathered only a room full of people), I saw the evolution, or lack thereof, and the broken promises. Yet, no one at Microsoft asks the question why (even statistically) the mighty CSD would consistently fail at delivering what they set out to do, regardless of how critical it can be to their (high-paying) customers. I bet that if the mighty CSD was given the responsibility to deliver Notepad it would deliver it 2 years behind schedule and ship something that would look a lot more like calculator than notepad. It would then trumpet victory publishing blog posts and white papers explaining how with the latest CTP, combined with the future P&P SDK will enable you to convert ASCII codes keyed in the calculator into text. How can an industry, or a company for that matter, with so much money, with so much talent, fail so miserably at technologies so critical for the Enterprise?
The problem, you see, is that you can’t even ignore them altogether. As a customer, the Microsoft sales team will never leave you alone as you try to explain to them that “Store-and-Forward” is not what your company needs for SOA or that you needed Oslo to be what Burley told you it would be, not a SQL Modeler. They’ll never leave you alone as you explain to them that an ESB is not a pattern. Microsoft’s customers know all too well that the mighty CSD always delivers innovative, customer focused and competitive products. And when it doesn’t the P&P team adds some crutches, and when it doesn’t MCS adds a couple of Band-Aids. SOA, BPM, ESB, MDE? Yes, check, check, check, all has been delivered, just ask David Chappell.
So, with all that being said, allow me to rewrite Doug’s announcement, here is what it could have been, here is what the industry needed, here is what the mighty CSD did not deliver:
Of the key things we observed over the past couple of years was the real, tangible customer value in applying “Oslo” to working with Microsoft Middleware products. Time after time we heard that our customers needed far better tools to make interacting with our products easier. We understand the pain of our customers in their end to end experience with current SOA/BPM tools (or lack thereof) and frameworks that developers use today (which even us can’t even keep a count any longer). We heard that developers were tired of what we offered so far and wanted new efficient tools for SOA [read my lips, not just for SQL Server]. We heard our customers could not deliver the value expected from SOA and BPM without a true and comprehensive model-driven approach. This is why we delivered Oslo, a world class SOA and BPM platform, based on the latest Model Driven Engineering concepts.
I personally extend my thanks to the CSD for a decade of extraordinary achievements in SOA, BPM and MDE and their contributions to the abysmal state of our industry.