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

|

Google Chrome 4: Yes, it's fast, but is it usable?

As Betanews readers have responded to our stories about Chrome's JavaScript superiority...Does that mean we'd actually use this browser? Well...

Video: Netflix on PlayStation 3

Netflix has come to the PlayStation 3 via Blu-ray and BD-Live.

Verizon Wireless launches new Android, Chocolate, and ruggedized phones

The lower-priced Eris joins the Droid, while the Chocolate gets a touchscreen and more music playback.

Early sales figures for Windows 7 nicely high, but do we know why?

Fans of triple-digit surges in figures quoted by Betanews will love this one, as it appears Microsoft rediscovered how to pull off a software launch.

Myka announces its latest Linux-based 'net top box'

Myka's ION brings Boxee, XMBC, and much more to HDTVs.

What hath Mac wrought? A remembrance after a quarter-century

The reason there's a Macintosh today is not because of some brilliant flash of engineering genius, but because Apple had the audacity to learn from its mistakes.

Early build of Moblin 2.1 improves connectivity, but not device support

The Linux Foundation's Atom-centric OS yesterday received a major overhaul with the project release of Moblin 2.1 for netbooks and nettops.

The iPhone's China syndrome: Sales of 5,000 and climbing

There's actually a country where Apple's device is not a godsend, where sales can be measured in the dozens.

New European counterpart to FCC will ensure 'a more neutral net'

Late Thursday night, the ruling telecom administrators of the EU's member nations signed away their final authority to a new entity overseen by the EC.

Sophos study suggests Windows 7 UAC's default setting is self-defeating

Without any anti-virus installed, a Sophos test showed, User Account Control was only capable of thwarting just one malware package out of ten samples chosen.

Indiscreet tweet trips awareness of Web SSL vulnerability

A group of high-level security engineers had been making progress on thwarting a low-level threat to the Web, until somebody blurted it all out on Twitter.