Oslo : First Impressions

You can very easily tell when I'm excited by a technology. I get very emphatic when talking about technologies that I 'get'. Oslo is one of those. When I was planning my trip to the PDC this year, Oslo was a distant third in my list of priorities. Tops on the list was Azure, followed by Windows 7. It only took one session with Don Box to make me change all of that. Mostly because I just didn't get it. A tool for Domain Driven Design, or a tool to create Domain Specific Languages?  As it turns out, it's both, and more.

What is Oslo?

image

Oslo is a platform of technologies designed to help us create model driven applications. Currently Oslo is composed of 3 components; A language , a tool, and  a database.

Actually, there are two languages that come with the Oslo SDK on MSDN, "M" (M) and "M Grammar" (Mg). M is used to define your models. It in itself is a DSL defined by Mg. Mg is a grammar that allows you to define new DSL's. The purpose of the languages is to give non-visual among us a textual representation of our models. There are a set of command line utilities used to compile your M and Mg files and deploy them to a Repository.

The tool is called Quadrant, and it's a graphical tool for creating models. It interacts with the Repository directly. You can create new models and instances and then display them in useful views. As one of the members of the team Oslo out it, "It's the last application you'll ever install".

The Repository is a database for storing and sharing models. The repository is the central point in the entire platform. The model and the data stored in the model are kept in the database. Both M and it's tool chain and Quadrant deploy the models into the Repository. You can have multiple Repositories in your enterprise, in fact you probably will with development, staging and production environments.

What's Next

I think I "get" Oslo. I'll be spending more time with this technology and reporting back here on my findings. Hopefully this will help others "get" Oslo as well. Who knows what we will end up with when it's finally released, but at this stage we have a lot more input into the direction of this Platform that a lot of previous technologies coming out of Microsoft. Remember that Oslo is not even in Beta yet so a lot of it could change or even disappear like Astoria. There are still a lot of very cool things happening in this SDK that it's worth giving a few looks at.

This article is part of the GWB Archives. Original Author: Michael Cummings

New on Geeks with Blogs

  • We Won The One Award I Actually Care About

    Full Scale made the Inc. 5000 for the fifth year straight, the 12th listing across my three companies. Here is why the one award you cannot buy is worth stopping for.

  • Your Customers Build the Features Now

    I let a tool I liked sit dead for a year rather than build the features I wanted. An MCP server meant I never had to, and your customers can do the same to your product.

  • Get the Size of a Directory in Linux the Easy Way

    du -sh for the quick answer, ncdu for the cleanup, df for the disk itself: every command for checking directory size in Linux, plus why du and df never agree.

  • Vim Search and Replace: The Ultimate Guide

    One :%s command replaces every match in a file before a find dialog would even open. The Vim substitute patterns worth the muscle memory: flags, ranges, capture groups, and multi-file edits.