۱۳۸۷/۱۲/۰۲

آشنايي با Oslo - قسمت اول


Oslo پلتفرم جديد مدل‌سازي مايكروسافت است كه در سال‌هاي آتي مورد استفاده قرار خواهد گرفت و همچنين اين روزها در مجامع توسعه و طراحي برنامه‌ها به شدت مورد بحث و توجه است. به همين جهت در طي مقالاتي با اين پلتفرم جديد بيشتر آشنا خواهيم شد.

دريافت Oslo

Oslo از سه قسمت عمده تشكيل شده است:
  • الف) زبان مدل سازي M
  • ب) ابزار مدل سازي Quadrant
  • ج) استفاده از SQL Server به عنوان مخزن

زبان مدل سازي M از سه قسمت به نام‌هاي MGraph ، MGrammer و MSchema تشكيل مي‌شود.
MGrammer : گرامر مورد استفاده در SDL را تعريف مي‌كند. Syntax Directed Translation
MSchema : طرح مدل را تعريف خواهد كرد.
MGraph : اگر MSchema بيانگر انواع باشد، MGraph بيانگر وهله‌ها خواهد بود.

يك مثال:
برنامه‌ي Intellipad را اجرا كنيد (فرض بر اين است كه SDK فوق را نصب كرده‌ايد)



در اينجا حالت را بر روي M Mode قرار دهيد (مطابق تصوير) و همچنين از منوي ظاهر شده‌ي M Mode ، گزينه‌ي Generic T-SQL preview را هم انتخاب كنيد.

اولين ماژول ما به صورت زير است:

module Test1
{
type ApplicationUser
{
UserID : Integer64=AutoNumber();
FirstName :Text#15;
LastName : Text#25;
Password : Text#10;
} where identity UserID;
}

ابتدا نام ماژول مشخص مي‌شود. شبيه به معرفي يك فضاي نام در برگيرنده‌ي اشياي مربوطه. سپس type ، بيانگر همان MSchema خواهد بود.
در اين مثال شناسه‌ي كاربري از نوع Integer64 خود افزايش يابنده تعريف شده است (نوع identity در اس كيوال سرور).
فيلدهاي نام ، نام خانوادگي و كلمه‌ي عبور از نوع متني با اندازه‌هاي مشخص 15 ، 25 و 10 كاراكتر تعريف شده‌اند. اگر اندازه مشخص نبود نوع را تنها Text تعريف كنيد.
نكته:
1-اگر پس از Text علامت ? قرار گيرد، به معناي فيلدي از نوع nullable خواهد بود و برعكس. زيبايي Intellipad هم در اينجا است كه بلافاصله پس از تايپ شما، عبارت T-SQL معادل را توليد مي‌كند.
2-در اينجا UserID‌ به صورت identity معرفي شده است. در زبان ام ، identity همانند primary key‌ در عبارات T-SQL عمل مي‌كند و نبايد اشتباه گرفته شود.

تا اينجا فقط يك type تعريف شده است. براي تبديل آن به يك جدول بايد آن‌را توسعه داد.

ApplicationUserCollection : ApplicationUser*;

اين سطر را به پس از تعريف type اضافه نمائيد. علامت ستاره در اينجا به معناي صفر يا بيشتر است و جهت بسط نوع تعريف شده به يك مجموعه به كار مي‌رود. اكنون با اضافه شدن اين سطر، Intellipad بلافاصله عبارات T-SQL معادل را توليد خواهد كرد كه در تصوير مشخص است. به اين صورت MGraph ما كه بيانگر وهله‌هايي از نوع ApplicationUser هستند توليد گرديد.

اكنون قصد داريم گروهي از كاربرها را به صورت نمونه ايجاد كنيم:

ApplicationUserCollection
{
//using a named instance
User1 {
FirstName="user1",
LastName="name1",
Password="1@34"
},
User2 {
FirstName="user2",
LastName="name2",
Password="123@4"
},
User3 {
FirstName="user3",
LastName="name3",
Password="56#2"
},
User4 {
FirstName="user4",
LastName="name4",
Password="789@5"
}
}

سطرهاي فوق را پس از تعريف ApplicationUserCollection در Intellipad اضافه كنيد. بلافاصله Intellipad عبارات T-SQL معادل را براي ما توليد خواهد كرد.



ادامه دارد ...