Archive for September, 2008

Oslo – More news and predictions

September 23rd, 2008

A few weeks back in that post I suggested the following

I imagine it to be a tool that enables these Information Workers to use some of Oslo’s features much like using Visio, but instead of static elements there are dynamic objects drawn from the repository that perform a specific business purpose, when put together by the domain expert enables them to perform a task that would have required a developer to perform otherwise.

As it turns out I may not be that far from the truth, or some part of it. Ron Jacobs interviewed David Chappell at Tech.Ed just past and in that conversation David divulges a few interesting bit of information.

Two things that caught my attention was the “Lifecycle Manager” and the “Process Server”.  But here are my two predictions about what these two things could be. (Yes I am going out on a limb)

The Lifecycle Manager – A long running workflow or Saga manager.

The Process Server – A Service Bus implementation.

The video  of Ron Jacobs and David Chappell along with David’s loose timeline/ roadmap to Oslo is after the Jump » Read more: Oslo – More news and predictions

.net Framework 4.0

September 8th, 2008

Based on Kavita and Wenlong’s posts (they work with Doug Purdy and Don Box) the .net framework v4 is going to be the building blocks for Oslo.

With .net 4 they are not touting it to be a additive release like 3.0 and 3.5.  Wenlog says that 4.0 will be the next major release since 2.0,

  • Major improvements for WCF and WF
  • Built in dynamic language support
  • adding support for a new language (dynamic) for Oslo’s “model driven” programming

But to get the full picture we are going to have to wait for PDC, when the first CTP bits should be available. I can only predict exciting times ahead, as always more things to learn, I guess its time to open Robert Pickering’s book

Technorati Tags: ,,,,

What is Oslo?

September 8th, 2008

Oslo has been shrouded in a lot of mystery. Most information on the about Oslo is still speculation. When people think Oslo they think

  • Biztalk V Next
  • Emacs.net
  • Microsoft ESB
  • All of the above and more…

IMHO I believe it to be everything and more, but what proof did i have to support it? Well Doug Purdy announced on his blog about hiring for This raises the question of why another IDE/Text Editor when Visual Studio is very powerful, unless you have tried working with XAML. I digress.

Last night there was posts from Doug Purdy and Don Box that began to unveil bits of what make Oslo.

Doug Describes it as three simple things.

  • A tool that helps people define and interact with models in a rich and visual manner
  • A language that helps people create and use textual domain-specific languages and data models
  • A relational repository that makes models available to both tools and platform components

and Don says that Olso is being created with a couple of intentions

1. We’re making it easier for people to write things down in ways that make sense for the domain they are working in – the common term for this in the wild is modeling.

2. We’re making the things people wrote down accessible to platform components during program execution.

 

Based on this I would take a punt and say that Oslo is going to create a platform for developers to create DSL’s that will be stored in a repository, this DSL is then retrieved and consumed by a visual tool to create on the fly mash-ups of their domain. The key part here is that the visual tool will be something that can be used by Information Workers, Business Analysts, and Project Consultants.

I imagine it to be a tool that enables these Information Workers to use some of Oslo’s features much like using Visio, but instead of static elements there are dynamic objects drawn from the repository that perform a specific business purpose, when put together by the domain expert enables them to perform a task that would have required a developer to perform otherwise.

This is something that is peeking my interest. Wow I can imagine every medium to large business needing something like this. I cant wait for PDC anymore, I just wish I could be there, then again that’s what a Webcast is for.

Doug calls this the “end of the beginning” of his vision of enabling everyone to be a programmer if they can pull something like this of then he may be correct. But I will wait and hold my judgement till I can play with the Bits that should be available at

 

Technorati Tags: ,,,,

A List of Entity Framework Data Providers

September 6th, 2008

Over on the Ado.net blog they have just announced that Devart have just released new Ado.net Data Providers that support the Entity Framework v1.

This is great news for the Entity Framework team. This added support for multiple database vendors is another big plus for choosing the Entity Framework over Linq To Sql.

Just recently I was listening to Steven Forte and Dan Simmons on DNR talking about what the EF, the show revealed a lot of what the Entity Framework team are doing to make this a really great platform. I look forward to seeing what they have for us in the future.

At least for now if you want to use the EF you are no longer restricted to using SQL Server for your data store. Below is a list of Data Providers that will work with the EF as of the 6th of September 2008

Oracle

MySql

PostgresSql

SQLite

Sybase SQL Anywhere

UPDATE: 23-10-08 Added Sybase SQL Anywhere

Use of the ‘@’ in C# code

September 3rd, 2008

The most common use of the ‘@’ is escape character for strings that contain backslashes in them [\]. So as things like code below is possible.

   1: string s = @"c:\windows\system32\";
   2: string s = @"this will retain my \r\n and not change to a line break";

 

But another usage is as an prefix for C# keywords.  In the code below you will notice that the keywords class static and bool are prefixed with the @ prefix.

   1: public class @class
   2: {
   3:     public static void @static(bool @bool)
   4:     {
   5:         if (@bool)
   6:             System.Console.WriteLine("true");
   7:         else
   8:             System.Console.WriteLine("false");
   9:     }
  10: }
  11: public class Class1
  12: {
  13:     [STAThread]
  14:     public static void Main()
  15:     {
  16:         cl\u0061ss.st\u0061tic(true);
  17:         @class.@static(false);
  18:         //class.static(true); //will not work 
  19:     }
  20: }

 

What this also enables is a scenario like the one below, which I do not like.

   1: public class @class
   2: {
   3:     public static void MyCoolMethod(bool @theBoolValue)
   4:     {
   5:         if (theBoolValue)
   6:             System.Console.WriteLine("true");
   7:         else
   8:             System.Console.WriteLine("false");
   9:     }
  10: }
  11: public class Class1
  12: {
  13:     [STAThread]
  14:     public static void Main()
  15:     {
  16:         cl\u0061ss.MyCoolMethod(true);
  17:         @class.MyCoolMethod(false);
  18:     }
  19: }

Spot the difference? In the method signature of MyCoolMethod the boolean parameter has the @ prefix however in the code below where the value of the boolean is being interrogated I have skipped using the identifier. This code will however work exactly the same. The reason for is simple

The identifiers are the same if ‘@’ prefix is removed when used, therefore @theBooleanValue and theBooleanValue are same

To quote

Two identifiers are considered the same if they are identical after the following transformations are applied, in order:

  • The prefix "@", if used, is removed.
  • Each unicode-escape-sequence is transformed into its corresponding Unicode character.
  • Any formatting-characters are removed

 

Most importantly the general advice on using the @ prefix on words that are not keywords  is NOT to use it. And having seen it in used in code have an instant distaste for it. I wonder if FxCop has a rule for checking the usage of the @ prefix for non keywords in identifiers?

 

Technorati Tags: ,,