Microsoft's Burley Kawasaki: How modeling will change programming

By Scott M. Fulton, III | Published November 10, 2008, 6:13 PM

The first betas of Visual Studio 2010 are already introducing developers to a new and powerful concept of service modeling -- an incredible new way to make applications more scalable, as Microsoft's Oslo chief explained to BetaNews.

With the next 2010 edition of the venerable Visual Studio -- the betas for which are already being used by developers, probably even for some production work -- even in the Standard Editions, there will be a prominent and much-welcomed change that is already impacting the way they work. It concerns a concept that used to be virtually the private domain of organization's such as IBM's Rational division, and around which entire philosophies of work, workflow, and even life and living have sprung forth...though fortunately, Microsoft has more practical plans for it.

It's the concept of modeling, which is essentially the idea that an application may be pre-formed in its early stages of development using either graphical tools born from the Object Management Group (which Microsoft has now joined), or an entirely new modeling language called M. Both are capable of taking very high-level instructions based around the type of work you expect your application to perform, and then actually generate frameworks of code -- eventually in any .NET language -- that you can then adapt and tailor to the job at hand.

At PDC 2008 in Los Angeles two weeks ago, M was the star of the show -- perhaps even brighter than Windows 7 among developers. M is part of Microsoft's ambitious new service-oriented platform currently code-named Oslo. While multiple people define Oslo very differently from one another, depending on their relationship with it, what it essentially enables is the use of one's choice of tools to model a service that may be deployed on any level -- from a single system to across the Web -- in such a way that other tools may be used later to explicitly define that service.

That follow-up set of tools may be a familiar .NET procedural language such as C# or C++ or Visual Basic, conceivably a dynamic .NET language such as IronRuby (work on that front is ongoing), and perhaps by another burgeoning concept: domain-specific languages. These are literally custom languages that can be adapted to specific purposes, using class libraries or modeling languages at the core, and XML to define the syntax.

It will be a very new, broad-based, and exciting world; but like every other new world that Microsoft has tried to present us with, there will be hiccups in the marketing department. Certainly there will be the problem of introducing modeling to the broader base of developers. At PDC, we sat down with Burley Kawasaki, who manages the Oslo project for Microsoft, and we asked him to explain modeling for the newcomer who will have heard multiple definitions of the concept even coming from the same conference that week:

Microsoft Director of Platform Management for the Connected Systems Division, Burley Kawasaki
BURLEY KAWASAKI, Dir. of Product Management, Connected Systems Division, Microsoft: I use this very broad definition of "models." A model to me is nothing but configuration or metadata that is outside of the code in your application. If something is externalized, odds are we can actually still allow that app to benefit, because we can take that existing metadata, we can do some enhanced visualization or viewing on top of that.

I use Business Intelligence as a great example. If you look back, before BI, there was this belief that, "Well, I need to take all these dozens of different instances of customer data around my enterprise, scrap it all, replace it with one single customer table." But it never happened. People can never get to the point where they could unplug customer data from whatever app was using it, and so BI was really born as an attempt to say, "Hey, leave your operational and transactional data in place, create this virtual model of what a customer looks like using cubes and using other tools and technologies to create a virtual instance of that information."

It's easier, ultimately, for somebody to visualize, to interact with...instead of the thirty different places they'd have to look, they can stay in a single place, and then there's powerful UI and visualization techniques you can put on top of it. We're basically doing the same thing with Oslo, where you're going to have all sorts of metadata -- whether it be XML files, tables in databases, policy files, you're swimming in a sea of metadata and configuration and models that surround the code in your app, being able to take all that and create a virtual description of your application that allows you to very easily take advantage of that, and then start to reuse or change it. That's how we think of our efforts in Oslo.

SCOTT FULTON, BetaNews: Five years down the road, I can see where colleges and institutions, universities, businesses that handle accreditation for new developers, are going to have to restructure their core curricula in order to incorporate concepts such as M. So do they teach it as a separate course, or should they instead simply append it as "The new way of doing C#?" "The new way of doing ASP.NET?"

BURLEY KAWASAKI: I think it's more of the latter. We really do see it as complementary to the investments people are making around languages...What we're seeing is that, over time, the amount of actual lines of code that a developer writes is actually shrinking. You're reusing things, more and more things are declarative, setting properties and config files.

We had as an example an app that was pre-written on the existing .NET Framework using our Web service technologies, using our latest and greatest workflow technologies. That app, when you counted all the lines of code -- both code and config files -- was 160 lines of code, roughly. So we took that and we wrote the same app and, instead of writing all this config data that we had to write before -- set all these parameters, so you knew what the service looks like, what the workflow looks like -- we were able to do that in M using one of our domain-specific languages, we cut it down to 37 lines of code.

So you still have a mix of traditional code and models, but we think that the ratio will shift over time, and I do think it will be something that blends into the standard curriculum, as the way that people build apps starts to change, and shift a bit more towards reuse and assembly as a paradigm as opposed to writing and rewriting a lot of code.

Next: Making modeling mainstream...

1 | 2 | Next Page →

Comments

View comments by with a score of at least

I have been using Visual Studio since version 6 and right now I use VS 2008 Pro edition and it simply rocks!!

Score: 0

|

Three words: Unified Modeling Language.

Score: 0

|

"I use this very broad definition of "models." A model to me is nothing but configuration or metadata that is outside of the code in your application."

To you? Maybe keep it to yourself then! The meaning of 'model' is well defined in science and technology for longer than computers exist...

Otherwise MSFT have so far failed to address enterprise application development. Well, they are by far not alone with over-promising capabilities of their dev tools.

Sure you can write any application with VS but once you reach a certain level of scale and sophistication their data binding wizards and other simplified concepts are just not feasible, while working very well for a desktop app. In these cases people started using frameworks directly ported from Java or very similar in recent years.

In that context the last thing I would do is trust MSFT with another abstraction layer to solve complex problems. Great, so you can trim code from 160 lines to 37. What a great argument to talk clueless managers into adopting it. But what happened with the other 123 lines? What if your little magic black box supplying this functionality simply sucks under load as usual and has to be broken open and fixed? What about decoupled components for better maintenance and support? Or to keep your junior devs confined within boundaries so they don't rape the whole system?

It is certainly an interesting concept/move by MSFT but I doubt this will find its way into enterprise systems any time soon besides maybe prototyping. Will check it out though with regards to the concerns above.

Score: 0

|

Comcast deal for NBC Universal is about content, not broadband

Although Comcast is certainly America's largest broadband provider, at least for PCs, in most regards, today's deal with GE may not impact the Internet at all.

Mark Russinovich on MinWin, the new core of Windows

The next version of Windows three years hence will likely build onto a significant architectural change implemented in Windows 7 and Server 2008 R2.

Fee or free? Murdoch, Huffington square off over the cost of Internet news

Participants in an FTC workshop yesterday witnessed the two extremes of the Web news publishing debate, still centered on the issue of long-term profitability.

Security firm: Windows patches not responsible for 'Black Screen of Death'

On second thought, maybe that access control list thingie with the lockdown something-or-rather didn't trigger an alleged, perhaps non-existent, pandemic.

Google begrudgingly adjusts news crawling for paid publishers

If publishers want to make readers pay for news content, and thereby drive down its popularity and Google ranking, the company says, they can just go right on ahead.

Apple settles with Psystar except for 'circumvention devices'

The fracas with the Florida clone computer maker might have ended today had Apple not have muddled the issue over a cheap piece of Psystar software.

Microsoft denies latest 'Black Screen of Death' claims

After an anti-malware producer announced a fix to what it says is a swarm of recent KSoD problems, evidence of the swarm itself has yet to turn up.

Latest Firefox 3.6 beta fixes 133 bugs, promises faster page load times

A once-sluggish beta testing process has kicked into overdrive, with astonishing success at finding serious bugs. Will Mozilla be able to fix all the others in time?

Confirmed: Office 2010 to ship in June

Two weeks after Microsoft had been expected to draw a clearer roadmap for its principal applications suite, it's finally ready to commit to the end of H1.

New EU antitrust commissioner will oversee Microsoft, Oracle+Sun, Intel issues

As one of Europe's most prominent politicians shifts positions in January, her replacement remains a question mark over technology's biggest issues.

Without its own 'iTablet' yet, is Apple missing the boat?

Steve Jobs is on record as dissing "single-purpose" devices like e-readers. But given their recent popularity, was that a mistake?