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

|

Will Firefox beat IE9 to Direct2D rendering?

Just days after Microsoft executives gave conference attendees a peek at a new rendering technology, a Mozilla contributor revealed he's working on the same thing.

AOL's decision to rebrand as Aol. takes a bad brand and makes it worse

The idea behind the social Web is to crowd source before bringing out something new. But not at AOL, which new logo debuted with a cry of "fail!" across the blogosphere and Twittersphere today.

Microsoft's Bob Muglia and Ray Ozzie on Silverlight vs. standards

Bob Muglia: "We're trying to provide people with an environment that has capabilities that you just simply can't do today in the standards-based world."

Uh-oh, netbooks -- not Windows 7 -- will lift 2009 PC sales

Santa may bring a lump of coal to the Windows PC industry this holiday season. Netbook sales will sap PC margins, while weak Windows 7 PC sales could further drive down average selling prices.

Kindle 2 update adds battery life, native PDF reader

Amazon has pushed out an update to the Kindle 2 e-reader that lengthens battery life and adds a native PDF viewer.

Safari on iPhone gets competition from a $1 browser app

Apple likes to say it gives iPhone users a full browsing experience, but a new competitor tries to incorporate more desktop browser features.

Action Replay maker sues Microsoft for Xbox 360 'predatory technological barriers'

Third-party video game accessory maker Datel has filed an antitrust lawsuit against Microsoft over the Xbox 360's recent Dashboard update.

Where there's smoke: Apple warranty stance raises troubling questions

Carmi Levy | Wide Angle Zoom: Smoking can be dangerous not only for your lungs, it appears, but for your Apple hardware warranty.

Microsoft's .NET Micro Framework is now free and open source

The latest version of Microsoft's .NET Micro framework is now in the hands of the FOSS community.

Google's value proposition for Chrome OS: Should we feel insulted?

For a search engine that has direct access to all the world's online history, it appears to have taught Google nothing about selling a machine.

E-book readers will be in short supply this holiday season

E-readers are hot this year, and a lot of compelling new products have been released, but are there enough electrophoretic displays to go around?