The Unfrozen Caveman Engineer

Ramblings and Pontifications from the world of MBF

Greetings from the Unfrozen Caveman Engineer!

Welcome to my inaugural blog post. My name is Tim Brookins, and I'm an Architect in the Developer Division here at Microsoft.

For those without context, the “Unfrozen Caveman” was a running Saturday Night Live skit about a decade ago. I work at Microsoft, so I haven't watched TV in the last decade to know if the skit ever runs anymore or not!

My area of expertise is building platforms for business applications. Some people simplistically think: “Here's a database (SQL Server), and a language (C#)... now go build your business application”. But in reality it’s a lot more complicated than that, at least if the application is significant.

All the major players in the business application space have traditionally built their own proprietary platforms to support their applications. For example, SAP has ABAP and PeopleSoft has PeopleTools.

Even smaller companies have made large investments in business application platforms. I was formerly a principal architect at Great Plains Software, and I led the team which developed our own client\server based business application platform called “Dexterity”. Along the way, we acquired or merged with several other mid-market accounting companies: Solomon Software in the US, and Navision Software in Copenhagen, Denmark. Guess what... They all had proprietary platforms as well!

These proprietary platforms are <expensive>. Both Dexterity (the Great Plains business application platform), and MorphX (the Navision Axapta application platform) are complete, vertically integrated environments. They have their own form layout packages, their own database APIs, their own scripting languages, and even their own debuggers. Think home brewed Access, Powerbuilder, or FoxPro... it’s not cheap to build something like this from scratch!

So why do companies do this? Do they really enjoy investing boatloads of resources into building infrastructure rather than building the business application itself? Of course, the answer is “No”. Nobody wants to spend money unwisely.

Some might argue that these companies built their own platforms to provide “API stability”. I'll be the first to admit the Microsoft hasn't done a very good job over the years of providing long lasting, stable APIs. ERP applications are huge. They have thousands of forms in the UI, thousands of tables in the database, and millions of lines of business logic. They take years or even decades to build. Completely abstracting an application via your own platform can really ensure that some unforeseen API change doesn't force you to throw away your business logic and start from scratch.

But I argue that the “API abstraction” was an important, yet secondary motivation for building these platforms. In many cases, the cost of building the platform was probably more than the cost of re-writing the application because of technology changes.

So what was the motivation? Well, we didn't know it at the time, but these proprietary business platforms were early attempts at what we would now call “Domain Specific Models”, with an accompanying custom Framework.  You can see these elements by simply looking at the hard drive of a Great Plains install. An installed Great Plains system has a main application exe (the framework) which is about 3 meg. Then next to it on the hard drive is a giant data file which contains the entire application, as data (domain model).

Now of course both the Navision and Great Plains platforms were early, baby steps toward a full featured domain model with framework.  I don’t want to over blow their capabilities.  However, even in their early form, they provided enough value to merit the significant investment to build the platform.  We'll learn more about the compelling value of domain modeling over the life of this blog.

So enough of the history lesson… what about the future?  We believe that there are several gigantic paradigm shifts occurring which will revolutionize business applications in the next decade.  I don’t have the space in this post to discuss them all, but I will touch quickly on two of the most important:  robust domain modeling in mainstream tools, and service oriented architectures (SOA).

We’ve established that pretty much every significant business application developer has historically invested in building their own platform.  These platforms were typically simplistic domain specific models with an accompanying framework, based on client\server technology. 

The emergence of SOA pretty much obsoletes these client\server toolsets.  Of course business developers can prolong the lifecycle of their proprietary tools.  They can keep building monolithic client\server applications and bind them together at the edges with some XML and a few web service calls.  But sooner or later the life support will give out and customers will see the duct tape and bailing wire holding these applications together.

Don’t get me wrong… SOA doesn’t exist today.  The current “state of the art” is exactly duct tape and bailing wire.  But SOA <will> exist in the future, and when it does it will drive a tidal wave of change through the “I built my own client\server toolset” crowd.

This blog will talk about this gigantic impending shift.  I work on an effort within the Developer Division to build a toolset and accompanying service oriented framework which supports robust business domain modeling integrated into Visual Studio.  The codename of this effort is the Microsoft Business Framework (MBF).

Published Saturday, February 07, 2004 2:52 PM by timbrookins

Comments

 

Paul Wilson said:

"SOA doesn't exist today." -- ? Sure it does, maybe all the new promised tools and technologies don't exist yet, but that doesn't mean that SOA itself doesn't exist yet.
February 7, 2004 3:48 PM
 

stefan demetz said:

where can I find detailed info about MBF?
February 7, 2004 4:07 PM
 

Jeff Talley said:

The question of whether SOA exists yet is a matter of where you set the bar. SOA exists today in an academic, whiteboard sort of way. It does not exist in the rough and tumble of the real world.

Service oriented applications are one thing, but to have a truly viable architecture, we must see a service oriented ecosystem evolve, which is definitely not here yet. Even building a single service oriented app is way too much coding for anything other than a proof-of-concept sort of endeavor today. The ecosystem does not even exist, so there is little to be gained by doing it anyway. Only when these things evolve in the real world can we truly say that we have a viable SOA.

Martin Fowler sat on the SOA panel at the end of PDC03. He said that he had come straight from OOPSLA to the PDC and he was very direct in his admonition that the development community cannot even yet agree on a definition of SOA, much less an architectural standard. Of course this is his opinion, but he should know.

Anyway, either position is defensible, depending on where you personally set the bar for calling a set of practices an "architecture".

The main point, as I see it, is that existing ERP applications are light years and eons away from becoming part of a service oriented ecosystem. If we are to build the next generation of service oriented enterprise applications, we definitely need to understand where these designs fall short and what can be done to improve upon them in the way of SOA, which definitely does not exist in any proven, tangible way today.
February 10, 2004 9:13 PM
 

Garrett Fitzgerald said:

Hey, thanks for actually remembering that VFP exists. :-) Many MS folks try to pretend to the contrary...
February 10, 2004 9:43 PM
 

Jeff Talley said:

So what exactly is meant by "robust domain modeling in mainstream tools" (mainstream tools = Visual Studio, Web Sphere, etc.?)
February 15, 2004 2:49 PM
 

Damir Tomicic said:

Enterprise customers are moving to OO-Architecture now, they need few more years for SOA. We have enough time until Indigo shipes. Damir, Microsoft RD, Germany
February 28, 2004 9:02 PM
 

The Unfrozen Caveman Engineer Greetings from the Unfrozen Caveman | Paid Surveys said:

May 28, 2009 7:30 PM
Anonymous comments are disabled

© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker