بسترههای دادهمحور ریشه در برنامههای کاربردی آشنا دارند
داریل ک.تفت
مایکروسافت در تلاشی برای قابل حصول ساختن توسعه نرمافزارها برای عده بیشتری از مردم، در سال ۲۰۰۳ ساختن «بستره چند منظوره طراحی مدل برای نرمافزار» خود، اسلو را آغاز کرد؛ بسترهای که به کاربران این امکان را میدهد که نرمافزارهایشان را مستقیما از روی مدلها و دیاگرامهای خود بسازند.
هدف اولیه ایجاد یک ابزار بصری برای ساخت مدلها و یک مخزن برای ذخیره مدلها و اطلاعات مربوط به آنها بود. اما معلوم شد که این کار به یک زبان برنامهنویسی تشریحی جدید نیاز دارد. مایکروسافت در کنفرانس توسعهدهندگان حرفهای مایکروسافت، نمایشی اولیه از این زبان را (که با نام مستعار دی (D) شناخته میشود)، در کنار ابزار طراحی مدل و مخزن آن ارایه خواهد داد.
برد لاورینگ (Brad Lovering)، یکی از طراحان کلیدی مایکروسافت و مدیر پروژه اسلو میگوید: «در اسلو نقش تحلیلگر تجاری بسیار کمرنگ شده و این شانس بزرگی برای موفقیت این محصول است.» دان باکس (Don Box)، یکی از طراحان CSD که بر روی زبان برنامهنویسی اسلو کار میکند اضافه میکند: «ما سعی میکنیم راهی ساده برای بیرون کشیدن ایدهها از مغز و فرو کردن آنها در کامپیوتر ارایه کنیم.».
باکس میگوید اسلو طوری طراحی شده است که ایدهها، پیشنیازها و آمال یک کاربر برای نرمافزار را ثبت کند. به گفته وی: «طوری که بتوانیم انواع پردازشها را روی آنها انجام دهیم. سادهترین نحوی که میتوانم کارمان را توضیح بدهم این است که ما سعی میکنیم مساله توسعه نرمافزار را به یک مساله طراحی داده تبدیل کنیم. بنابراین بخشی از قضیه ارایه راه سادهای برای کار با این دادههاست. و یکی از راههای کار با دادهها از طریق بصریسازی و دیاگرامها، طراحی مدل با جعبه ها و خطها و انواع مختلف نمودارها است. اسلو در ابزارهای توسعه نرمافزار مانند کتاب داستانی است که برای اکثر افراد قابل لمس است.»
لاورینگ میگوید: «بگذارید اینطور بگویم، اگر شما کاربر اکسس (Access) مایکروسافت هستید، کار کردن با اسلو برای شما سادهتر خواهد بود.»
لاورینگ ذکر میکند در حقیقت، اسلو از لحاظ پایهای یک ابزار تولید پایگاه داده دوسویه است. بنابراین میتوان اکسس یا اکسل (Excel) مایکروسافت را به عنوان تقریبی از این ابزار در نظر داشت. او اضافه میکند: «اما باید توجه کرد که این مقایسه ممکن است کمی غلطانداز باشد. اسلو، اکسس یا اکسل نیست، من فقط سعی میکنم حال و هوای عمومی این برنامه را برای شما توضیح بدهم. اگر شما با اسلو کار نکرده باشید، این به ترین توصیفی است که میتوانم ارایه کنم.»
گشت و گذاری در اسلو
عبارت Oslo به گروهی از محصولات و فناوریهای آینده مایکروسافت اشاره دارد.
فناوریهای اسلو که قرار است در Community Technology Preview در کنفرانس توسعهدهندگان حرفهای مایکروسافت عرضه شوند عبارت است از:
دیوید چپل (David Chappell)، مدیر شرکت چپل و شرکا به برخی فناوریهای اوسلو دسترسی داشته است. او میگوید: «اسلو ابزاری برای کار کردن با داده و ایجاد داده است.»
به ادعای لاورینگ این ابزار کاربران را قادر میکند تا دانش موجود در دامنه کار را در نماهایی (view) دامنهمحور وارد کند. همچنین این ابزار برای انواع پیشرفتهتر نمودار کشیدن هم قابل استفاده است. برای مثال کاربران (BPMN (Business Process Modeling Notification و UML (Unified Modeling Language نحوه کار را آشنا خواهند یافت.
در همین حین مایکروسافت برای آسان کردن عملیات توسعه نرمافزار در حوزه اسلو زبان برنامهنویسی جدید دی را توسعه داده است.
چرا یک زبان جدید؟ استیون لوکو (Steven Lucco)، مهندس نامآشنای واحد توسعه مایکروسافت (MDD) که در توسعه سند رویکرد CSD و اوسلو دست داشته است در این باره میگوید: «برای تحقق هدف اسلو نیاز به انقلابی در خلاقیت توسعهدهندگان داشتیم. دنیای برنامهنویسان امروز به طرز دیوانهکنندهای شیگرا است. کوچکترین تکههای داده هم در کلاسهای مختلف کپسوله شدهاند. این کار یعنی ایجاد یک ماشین تورینگ (Turing Machine). به عبارت دیگر ساخت چیزی که اصلا نمیشود سر در آورد که در آن چه میگذرد. در حالی که در دنیای سیکوئل وضع کاملا برعکس است. هزاران کار مختلف میتوان با داده انجام داد. برنامههای مختلف میتوانند در آن واحد با یک تکه خاص داده کار کنند و به آن بیافزایند. ما در این مانده بودیم که چه کنیم تا برنامهنویسی جریان اصلی بیشتر به برنامهنویسی سیکوئل شبیه شود. البته بدون این که سختتر شود. چون برنامهنویسی سیکوئل معمولا سختتر قلمداد میشود.»
البته باید به این نکته هم توجه کرد که کاربر اسلو احتیاجی به یاد گرفتن زبان دی ندارد. لاورینگ میگوید: «این زبان به منزله جزییات فنی است که برای همه کاربرد ندارد و گروه هدف خاصی دارد.»
باکس که دستی هم در کار توسعه زبان دی دارد میافزاید: «برای کار با اسلو نیازی به یاد گرفتن دی نیست. آنهایی که برنامهسازی متنی دوست دارند از آن خوششان خواهد آمد.»
البته زبان اسلو چیز اضافه بر سازمان و بیهوده نیست. لاورینگ میگوید: «آن گروه از افراد ما که روی پایگاه داده کار میکردند خوب با آن کنار آمدند و کارهای خوبی صورت دادند و افراد گروه دینامیک ما که در واقع پایگاه داده خود برنامه را ساختند میگویند ای کاش مدتها پیش، از این چیزها داشتیم.» وی همچنین گفت یادگیری این زبان نیاز به تلاش فنی دارد.
به گفته وی استفاده از این زبان از ویژوال بیسیک مشکلتر و از اکسل بسیار مشکلتر است. ولی لزوما از نوشتن یک برنامه کارای C# مشکلتر نیست. زبان اسلو زبانی داستانوار با سیستمی داستانگونه است. همچنین این زبان کارایی خوبی برای ایجاد داده ساختیافته دارد و در کار کردن به شیوه سیکوئل خیلی خوب عمل کرده است، چون میتواند سیکوئل تولید کند.
مایکروسافت از این زبان برای توسعه محتوای مخزن اسلو استفاده میکند. به گفته لاورینگ مایکروسافت قصد داشت تا جای ممکن نزدیک به سیکوئل بماند و حتی در نظر داشت T-SQL (سیکوئل اجرایی) ایجاد کند، ولی بعدا به این نتیجه رسید که T-SQL حالت نزدیکی به SQL مد نظر را ایجاد نمیکند.
مایکروسافت برای توسعه اسلو چندی از محققان خود و همچنین محققان زبانهای برنامهنویسی پایگاه داده را به کار گرفت. زبان برنامهنویسی کاربردی ML هم مانند LIST بر توسعه اسلو موثر بود.
این زبان با رویکرد اهمیت بالا به معماری RDBMS طراحی شد تا نگاشت خوبی از پایگاه داده به دست آید. اما این زبان وابسته به RDBMS یا مدل رابطهای نیست. همچنین این زبان در اصل بر اساس مدل داده تجریدی توسعه یافته است. خود زبان با مدل داده تجریدی عرضه میشود که ایدهای لیسپوار است. در واقع خود برنامه همان ساختار داده است که بر اساس آن کار میکند.
همچنین زبان اسلو ایدههایی از TLA+ هم گرفته است. این زبان توسط لسلی لمپورت (Leslie Lamport) از محققان مایکروسافت توسعه یافته است.
| < قبلی | بعدی > |
|---|