Introducing DotNetFunda.com on mobile http://m.dotnetfunda.com ! Be with DotNetFunda.com on the go !
Go to DotNetFunda.com
Twitter TwitterLinkedIn
YouTubeGoogle
 Online : 29957 |  Welcome, Guest!   Register  Login
Home > Articles > Others > Microsoft "OSLO" Overview

Microsoft "OSLO" Overview

Article posted by Sudhakarj21 on 11/23/2009 | Views: 1968 | Category: Others | Level: Intermediate red flag


This article will provide a basic understanding of Microsoft's new Model Driven Platform called "OSLO".

Introduction

"Oslo" is code name for Microsoft's platform for model-driven development. To understand "Oslo" we need to be familier with MDD and MDA (Model Driven Development and Model Driven Architecture). 

MDA and MDD is the recent trends in Software Development and Architecture. To start any thing in Software Methdologies from Requirements till implementation every thing we think off / we visiulazie is a Model. Model can be a Object of you software like Employee, Person etc... it can also be a Component or Module like Service, UI etc... All the design and development that is based on OOP 100% uses these Models to finally create the ouput. Models are used in many ways in our applications a simple example is a Configuration Model which is web.config in the ASP.NET which is very easy to change the behaviour of the Application. "Oslo" brings such type of Transparency and Flexibility to your application.

About "Oslo"

Oslo is platform which contains Tools and Languages to perform MDA & MDD

Why Languages ?

When we start an software development we will have requirements which are nothing but an Object with a Process. We convert these Objects and their Process (like behaviour) into System Language using GPL. GPL is a General Purpose Lanuage like C, C++, C# etc...

Model is the thing which will be used in between to understand Business and Code. Model is nothing but a description of a domain. It can be a System Domain like UI/Service etc... or can be a Business Domain like Finance/HR etc...

Below example shows a Model of a HTML Page. Language used in HTML, Domain is UI (System Domain). IE is the runtime which understands the Model and shows in a UI form.

GPL helps developers to create Models and Attach their behaviours in a way that system will able to understand it. If we have a language if this solves the purpose of directly using Domain Rules say for example

Object : Employee

Process : Join / Resign etc...

So the Domain Rules are a set of rules to perform Resign or Join for Employess so in this scenario if we can use Domain Lanugauge directly like

Resign

Submit Desk Keys

Submit Library Books

Get NOC from Operations

etc...

If there is a compiler that understands these rules and convert to System Lanaguage it will improve the productivty of software development a lot.

Oslo comes with a Language and Compiler that will help you to create your own compiler to understand DSL. The above set of rules is called DSL nothing but (Domain Specific Language). This is called M Language.
 

There is one more tool called Quadrant to view/edit Models / DSLs visually like a Visio or like Work Flow Designer.

Oslo Repository is a simple database which holds the Models / DSLs and Data. Any change in model just push it to database no compailitaion at application level. This will help to reduce changes in your GPL and you can use new ADO.NET provider to use these models from your application.

Oslo "M" Language

M is a language which helps developers to create their own compilers to support DSL. This language also helps to create Models. It is a declarative language to create Models and DSLs.

Oslo "Quadrant" Tool

Quadrant is a visual tool for Business Users to understand Models and DSLs in a visual way. It is like a Desginer IDE for Models and DSLs.

Oslo "Repository"

Oslo "Repository" is SQL Server database which stores all the Models and DSLs. Your application can connect to this using ADO.NET and can use these models dynamiclly.

Conclusion

Below diagram shows the summary about Oslo. It has a Language/Designer Tool/Repository. You create your application runtimes in .NET or other platforms and can consume these models in a easy way.


Will publish more articles on each of the components in detail. But this is to give brief idea on "Oslo" and its purpose.
 

If you like this article, subscribe to our RSS Feed. You can also subscribe via email to our Interview Questions, Codes and Forums section.

Page copy protected against web site content infringement by Copyscape
Found interesting? Add this to:



Please Sign In to vote for this post.

Experience:7 year(s)
Home page:
Member since:Monday, October 05, 2009
Level:Bronze
Status: [Member]
Biography:
>> Write Response - Respond to this post and get points
Related Posts

XSL stands for Extensible StyleSheet Language, and is a style sheet language for XML documents. XSLT stands for XSL Transformations. XSL = Style Sheets for XML.

This is next article to the series on "HTML 5 primer" and delves into detection of features in browser who has varying degree of support for HTML 5 features.

The main function of windows service is to run the application in the background. Mainly creating service in long running executable applications, in earlier times we called as NT services.

By default Outlook does not validate for empty subject line. This article provides a mechanism to achieve the same.

Since last two months we were running "Article Writing Competition - 2011" on the occasion of 4th year of excellent track record of serving .NET Community.

More ...
About Us | Contact Us | The Team | Advertise | Software Development | Write for us | Testimonials | Privacy Policy | Terms of Use | Link Exchange | Members | Go Top
General Notice: If you found plagiarised (copied) contents on this page, please let us know the original source along with your correct email id (to communicate) for further action.
Copyright © DotNetFunda.Com. All Rights Reserved. Copying or mimicking the site design and layout is prohibited. Logos, company names used here if any are only for reference purposes and they may be respective owner's right or trademarks. | 5/28/2012 11:59:19 AM