Well, if you went to PDC and did the thing I always do, which is go to every talk that lists Don Box as a speaker, then you probably heard about SQ!L Modeling. I don’t care about the SQL part – SQL is a database as far as I am concerned – it is an implementation detail. As a software architect, though, I am very interested in Modeling.
So I get the bits and install them. Great. I have Quadrant as a Start Menu item, but Quadrant is Access. Not interested (for this anyway). I want to tell Visual Studio how I need my software built. I need M.
The New Project Dialog has a Oslo Library that might be interesting. I thought they had nixed Oslo though? What’s up with that? Anyway, the description says “A project for creating Oslo Flavored CSharp Library” whatever that means. I just want to design software, people. I don’t make ice cream.
I’ll go ahead and model SHARP, my event system, because I know that system well and have been modeling it for years. To start, I name the Oslo Library SharpLibrary. The resultant code is unusual, but it is a new language after all.
module SharpLibrary
{
type Model
{
Id : Integer32 => AutoNumber();
Field : Integer32;
}
Modelsamples : {Model*} where identity Id;
}
Don’t let the ‘module’ statement fool you – this isn’t a RAD application development language that will remain nameless. M is a language that will model your middle tier. Let’s model. The goal is to build the simple SHARP model, which I used in VB for Dummies and the C# All In One.
I will start with the Conference entity, because it is sorta the middle of the system. ID is as the example, but I want to add a Title and Description. First thing is that M needs intellisense. What’s a string again? String? Varchar? Oh, no of course it is Text. Of course.
More later!