Oslo ; پلت فرم مدل سازی مایکروسافت

توسعه بر مبنای *مدل اغلب اشاره به پروسه توسعه ای دارد که مدل هایی از اپلیکیشن ساخته می شود و داده ها به عنوان مشخصات سیستم در نظر گرفته می شوند. برای استفاده از روش توسعه مبتنی بر مدل بایستی یک پروسه توسعه و پلت فرم نرم افزاری در اختیار داشته باشید که قادر باشد تا به شما امکان استفاده از مدل ها (انواع منطقی داده ها و ارتباط ها) به عنوان هسته توسعه اپلیکیشن و پیاده سازی اجزای نرم افزاری بر مبنای مدل، که پیش نیازهای یک نرم افزار بر مبنای مدل را رعایت می کنند، را بدهد. مدل های تعیین شده در طراحی نرم افزار به هنگام پیاده سازی به بخش های مختلف توسعه نسبت داده می شوند. توسعه بر مبنای مدل با دید انتزاعی سعی در پنهان کردن پیچیدگی ها دارد و بیشتر روی تمرکز بر روی اجزای با اهمیت تاکید می کند.

Oslo نسل بعدی پلت فرم توسعه مایکروسافت

محصول جدید مایکروسافت با کد نام «Oslo» قصد دارد تا توسعه دهندگان را در ساخت نرم افزارهای پیچیده و بزرگ مبتنی بر دیتابیس بوسیله ابزارهای مناسب یاری کند. مدل سازی در اینجا یعنی بیشتر مشخصات و تعریف های نرم افزار با داده ها پیاده سازی شوند به طوری که پلت فرم و شما بتوانید هر چه آسانتر با استفاده از یک کوئری به مقصود اصلی خود برسید. تکنولوژی های مایکروسافت چند وقتی است در این مسیر حرکت می کنند، برای نمونه XAML, .NET metadata attribute, COM type libraries همگی روی نوشتن مشخصات به عنوان داده و اجتناب از کد کردن آن ها در سطوح پایین (مثل دستورات IL در دات نت) تاکید دارند. پلت فرم Oslo میخواهد این راه را ادامه دهد.

Microsoft Oslo

اجزای تشکیل دهنده Oslo

پلت فرم مدل سازی Oslo با استفاده از اجزای زیر موارد بالا را در اختیار شما قرار می دهد :

  • ابزار طراحی بصری با کد نام «Quadrant» که به شما در پروسه طراحی قوانین تجاری اپلیکیشن ها کمک می کند. این ابزار با استفاده از شکلک های گرافیکی فلوچارت مانند به شما در طراحی مدل های یک اپلیکیشن کمک می کند.
  • یک زبان مدل سازی به نام «M» که شما بایستی برای توسعه مدل های خود از آن استفاده کنید. زبان M زبانی اعلانی (Declarative) برای کار کردن با داده ها و ساختن مدل هاست. M به برنامه نویسان اجازه می دهد تا ساختار داده های خود را تعریف کنند و کوئری های متناسب با نیاز خود ایجاد کنند.
  • مخزن Oslo که یک دیتابیس SQL Server است و مدل ها را به عنوان اشیاء و نمونه (Instance)های مدل ها را به عنوان سطرهای یک جدول (Table) برای پیاده سازی شمای آن، در SQL Server ذخیره می کند. مدل ها و نمونه هایی از مدل ها به صورت بصری یا با استفاده از M یا هر API دسترسی به SQL دیگری (مثل ADO.NET) ایجاد می شوند.

در هر صورتی که شما داده های مدل ها را ایجاد کنید یا تغییر دهید (با استفاده از ابزار بصری، استفاده از M یا هر API دسترسی به SQL)، تمام اطلاعات مدل سازی در یک دیتابیس رابطه ای (Ralational Database) که به آن Oslo Repository گفته می شود، در هنگام اجرا (Runtime) در دسترس اند.

شرکت مایکروسافت فعلاً قصد ارائه Oslo را به عنوان بخشی از ویندوز یا دات نت فریم ورک ندارد. این شرکت نسخه CTP پلت فرم مدل سازی Oslo را برای دانلود عمومی روی سایت خود قرار داده است که می توانید از اینجا SDK آن را دریافت کنید. مدل سازی چند وقتی است در کانون توجه مایکروسافت قرار گرفته و آنچه مسلم است در آینده ای نه چندان دور در مورد Oslo بیشتر خواهیم شنید.

ویدئوی بررسی Oslo

در ویدئوی زیر Paul Vick که چندی قبل در تیم طراحی زبان Visual Basic مایکروسافت همکاری میکرده است، و حالا بر روی زبان مدل سازی M و پلت فرم Oslo کار می کند، در مورد Oslo اطلاعات خوبی به شما خواهد داد. در این ویدئو آقای Vick در مورد پلت فرم Oslo و اهداف آن، زبان مدل سازی M، ابزار Quadrant و مخزن رابطه ای Oslo صحبت می کند. توصیه می کنم برای تکمیل این مطلب ویدئوی زیر را حتماً مشاهده کنید.


*مدل : در معنای عام، مدل نمایش انتزاعی از یک آیتم یا مفهوم است (مانند یک ماشین یا یک ساختمان). به طور مثال یک آرشیتکت ساختمان ابتدا مدل ساختمانی که قرار است بسازد را روی کاغد پیاده سازی می کند و نیازی به استفاده از بیل و کلنگ در ابتدای کار ندارد. در دنیای نرم افزار هم Model برای همین منظور به کار می رود، یعنی مدل سازی مشخصات نرم افزار قبل از پیاده سازی آن ها.

سایت رسمی Oslo

برای تکمیل مطلب و مشاهده مثال عملی می توانید مطالب آموزشی آقای وحید نصیری در مورد Oslo و زبان M را در اینجا مطالعه کنید.

آشنایی با وب فرم ها در ASP.NET

ASP.NET فریم ورک قدرتمند مایکروسافت برای ایجاد وب اپلیکیشن های تجاری و بزرگ است. این فریم ورک با پشتیبانی مایکروسافت و داشتن یک محیط قدرتمند و سریع توسعه به نام Visual Studio به یکی از محبوب ترین و قدرتمند ترین ابزارهای توسعه وب تبدیل شده است. در این نوشته قصد داریم مروری بر یکی از ویژگی های اساسی ASP.NET به نام Web Forms بپردازیم.

Web Forms پایه و اساس ASP.NET است. وب فرم ها قلب و روح ASP.NET هستند. وب فرم ها رابط کاربری وب اپلیکیشن شما را شکل می دهند و راه حلی مناسب برای توسعه ی آن به شما ارائه می کنند. وب فرم ها شبیه به ویندوز فرم ها دارای مشخصات، متدها و رویدادهای کنترل های داخلشان هستند. اجزای رابط کاربری داخل وب فرم ها بر اساس درخواستی که به آن ها فرستاده می شود، به زبان نشانه گذاری مناسب (مثل HTML) رندر می شوند.

وب فرم ها شامل دو قسمت هستند : قسمت بصری (فایل aspx)، و Code Behind که هر کدام در کلاس های جداگانه ای قرار می گیرند. فایل aspx کدهای مربوط به طراحی وب فرم ها را شامل می شود و Code Behind شامل کدهای منطق برنامه و رویدادهای مروبط به کنترل های سمت سرور است. Code Behind می تواند به زبان ویژوال بیسیک یا سی شارپ نوشته شود.

asp-dot-net-web-forms

از مزایای استفاده از وب فرم ها می توان به نکات زیر اشاره نمود :

  • جداسازی منطق برنامه از کدهای HTML
  • استفاده از مدل برنامه نویسی مبتنی بر رویدادها
  • کد کامپایل شده و پشتیبانی از چند زبان برنامه نویسی
  • مجموعه ای از کنترل های سمت سرور که قادر به شناسایی مرورگر کاربر هستند و بر اساس آن کد زبان نشانه گذاری (مثل HTML یا WML) را تولید می کنند
  • به شما اجازه می دهند تا کنترل های جدید با قابلیت های جدید به آن اضافه کنید
  • کد کمتری برای کارهای مختلف همچون بایند کردن داده های بانک اطلاعاتی به کنترل ها خواهید نوشت
  • زمان توسعه را به حداقل می رساند و بهره وری را افزایش می دهد

شاید فکر کنید وب فرم ها فقط قالب هایی هستند که کنترل های دیگر روی آن ها قرار می گیرند؛ اما در حقیقت وب فرم ها کارایی های بیشتری دارند. به صورت معمول شما کنترل های محتلف را برای ایجاد رابط کاربری روی وب فرم ها قرار می دهید. هر کدام از این کنترل ها دارای خصوصیات، متدها و رویدادهای مربوط به خودشان هستند. کنترل هایی که رابط کاربری وب اپلیکیشن شما را می سازند به دو دسته کنترل های HTML و کنترل های وب فرم تقسیم می شوند.

کنترل های HTML همانطور که از نامشان پیداست شامل همین کنترل های معمول HTML مانند Button, Text Field, Text Area, Dropdown هستند. اگر تا به حال از نرم افزارهای ویرایشگر HTML برای طراحی رابط کاربری وب استفاده کرده باشید، کاملاً با این کنترل ها آشنایی دارید. شما می توانید از کنترل های استاندارد HTML در وب فرم ها استفاده کنید. کنترل های HTML که در ویژوال استادیو یافت می شوند همان هایی هستند که در Front Page هم پیدا می شدند. این کنترل ها نیازی به پردازش تحت سرور ندارند و به سادگی توسط مرورگر رندر می شوند. هر چند شما می توانید با اضافه کردن runat=»server» به مشخصات هر یک از کنترل های HTML کاری کنید تا به رویدادهای تحت سرور هم پاسخ گوید.
کنترل های وب فرم روی سرور ساخته می شوند و پس از اینکه وظیفه ای که برایشان مشخص شده را به انجام رساندند، کد HTML متناظر را تولید کرده و به خروجی می فرستند. این کنترل ها برخلاف کنترل های استاندارد HTML، هوشمند هستند؛ یعنی قادر به تشخیص مرورگر کاربر و فرستادن کد زبان نشانه گذاری مناسب هستند. به طور مثال اگر مروگر کاربر فایرفاکس باشد، کد HTML مناسب با آن را تولید می کنند و اگر کاربر بوسیله یک گوشی هوشمند درخواستی فرستاده باشد، کد WML را به خروجی می فرستند. تمام کنترل های وب فرم از یک کلاس عمومی با نام System.Web.UI.WebControls مشتق می شوند. این کلاس پایه مجموعه ای از مشخصات عمومی را برای کنترل های وب فرم پیاده سازی می کند.

وب فرم ها چگونه کار می کنند؟

مانند ویندوز فرم ها، رویدادهایی به صورت پشت سر هم و یا بر اساس درخواست کاربر در وب فرم ها اتفاق می افتند. رویدادهایی مانند Load, Draw (Render) و Unload برای وب فرم ها اتفاق می افتد. در زمان این اتفاقات ممکن است روال های مختلفی صدا زده شوند یا اشیای مختلفی ایجاد شوند. در ابتدا رویداد Init مقداردهی های اولیه صفحه وب را بر اساس تگ های به کار رفته در فایل aspx انجام می دهد. بعد از این، رویداد Load برای صفحه اتفاق می افتد. رویداد Load جایی است که شما می توانید چک کنید که آیا صفحه برای اولین بار توسط کاربر بارگذاری شده یا توسط کلیک روی یک دکمه، صفحه وب به سرور وصل شده و به اصطلاح به خودش Post Back کرده است. در رویداد Load می توانید کاری کنید که برخی اعمال فقط برای اولین بارگزاری صفحه وب انجام شوند؛ مثل بایند کردن داده های دیتابیس به کنترل ها. سپس اگر صفحه Post Back شود، رویدادهای کنترل های روی وب فرم ها اتفاق می افتند. مثلاً هنگامی که روی یک دکمه کلیک می شود، صفحه وب اطلاعاتی را به سرور می فرستد و دوباره به صفحه بر می گردد. در این صورت رویداد کلیک برای دکمه فوق اتفاق افتاده و کدی که شما برای آن نوشته اید اجرا شده است.

االبته قبل از Dispose شدن صفحه وب، رویداد Page_Unload هم اتفاق می افتد. به این علت که صفحه از قبل رندر شده و رویدادهای مورد نیاز کاربر اتفاق افتاده اند، این رویداد بیشتر به منظور عملیات لاگینگ استفاده می شود. پس از این رویداد صفحه وب از حافظه سرور حذف می شود.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :

پ.ن : این مطلب در جهت معرفی ASP.NET نوشته شده و مقدمه ای بود در مورد ویژگی های آن. از این پس بیشتر در مورد ASP.NET مطلب خواهم نوشت. دوستان ایراد میگرفتن که چرا در این مطلب از PHP طرفداری کردم و از ASP.NET مطلبی نمی نویسم. از این به بعد از هر دو مطلب خواهم نوشت!

آیا دلفی 2009 می تواند دلفی 7 دیگری باشد!؟

شرکت Embarcadero Technologies که چندي پيش CodeGear را از شرکت بورلند خريده بود به تازگي نسخه اي جديد از دلفي و C++ Builder را براي توسعه نرم افزارهاي تحت ويندوز عرضه نموده است. Embarcadero نسخه 2009 دلفي را «بزرگترين نسخه دلفي در طول سال هاي گذشته» مي داند و انتظار دارد تا اين نسخه از دلفي توليد نرم افزارهاي کاربردي را راحت تر و لذت بخش تر از گذشته کند. دلفي از نسخه 3 تا 7، به عنوان يکي از کاراترين و قدرتمندترين محيط هاي برنامه نويسي و توليد نرم افزار در پلت فرم ويندوز يکه تاز بازار اين بخش بود. حتي شرکت مايکروسافت در مقابل بورلند کم آورده بود و از ايده هاي اين شرکت در محصولات خود از جمله ويژوال بيسيک از ايده هاي اين شرکت استفاده مي کرد. تا قبل از ايجاد تکنولوژي دات نت توسط مايکروسافت، اين شرکت بازار توليد نرم افزار براي ويندوز را به بورلند واگذار کرده بود. نسخه 7 دلفي اوج قدرت و محبوبيت دلفي بود که در آن زمان و سال هاي بعد از آن محصولات نرم افزاري بسيار زيادي با استفاده از آن توليد شد به طوري که خاطره لذت بخش برنامه نويسي در محيط دلفي 7 به اين زودي ها از ذهن برنامه نويسان پاک نخواهد شد.

Embarcadero Technologies صاحب فعلي شرکت CodeGear برنامه هاي زيادي براي دلفي و C++ Builder دارد. به گفته خودشان قرار است نسخه 2009 دلفي خاطره نسخه 7 آن را تکرار کند و حتي بيشتر از آن به موفقيت برسد. دلفي اين بار بر خلاف نسخه هاي قبل که تمايل به سياست هاي مايکروسافت داشت و به پلت فرم دات نت توجه خاصي داشت، راه قبلي خود را در پيش گرفته است و اين بار بخشي از بازار نرم افزار را که «توليد بسته هاي نرم افزاري، نرم افزارهاي کاربردي، سرويس گيرنده/سرويس دهنده و بانک اطلاعاتي» است را هدف قرار داده است که البته اين محصولات بخش مهم و بزرگي از بازار و نياز نرم افزار را تشکيل مي دهند. هر چند که با دلفي 2009 تقريباً هر نرم افزاري را که فکر کنيد مي توانيد توليد نمایید.

توسعه دهندگان با دلفی 2009 دیگر نگران جهانی کردن نرم افزار خود نخواهند بود. دلفی 2009 به صورت توکار از یونیکد پشتیبانی می کند. این بدین معنی است که برنامه نویسان دیگر نباید نگران زبان استفاده شده در برنامه خود باشند. شاید خاطرتان باشد که بسیاری از برنامه های دلفی 7، پس از اجرا شدن در سیستم های دیگر کاراکترها را به صورت ؟ نمایش می دانند. این به خاطر عدم پشتیبانی درست از سیستم یونیکد در برنامه ها بود. هم اکنون دلفی 2009 این مشکل را به طور کامل برطرف کرده است.

با دلفی می توانید برنامه های بانک اطلاعاتی را هر جه سریعتر، کاراتر و قدرتمندتر بنویسید. این کار با استفاده از جدا کردن لایه های مختلف برنامه (جدا کردن لایه داده، لایه تجاری و لایه نمایش از هم) بوسیله DataSnap جدید انجام می گیرد. ابزارهای مختلف IDE دلفی 2009 به شما امکان تحلیل ساختار بانک اطلاعاتی را با استفاده از مدل سازی و نمودارهای گوناگون می دهد.

دلفی 2009 شامل کنترل های متنوع و جدیدی است که توسعه برنامه های کاربردی تحت ویندوز را هرچه آسان تر و لذت بخش تر می کند. کنترل های VCL جدید شامل Microsoft Office Style Ribbon (کنترل های ریبون که در رابط کاربری آفیس 2007 استفاده شده اند) و کنترل Image که فرمت PNG را پشتیبانی می کند.

با دلفی 2009 علاوه بر نرم افزارهای تحت وب، قادرید پروژه های تحت وب تجاری که از تکنولوژی های AJAX و Silverlight بهره می برند، ایجاد کنید. با دلفی 2009 می توانید همانند برنامه های کاربردی تحت ویندوز، وب سایت هایی با ظاهر زیبا و بر مبنای وب 2.0 تولید کنید. این قابلیت دلفی به نام VCL for the Web شناخته می شود. البته در نسخه های قبل دلفی هم این قابلیت وجود داشت ولی در این نسخه کاملاً بهینه و پیشرفته شده است.

دلفی 2009 در سه نسخه Professional، Enterprise و Architect عرضه می شود و توسعه و توزیع برنامه های کاربردی در ویندوزهای ویستا، اکس پی، سرور 2003، ویندوز 2000 و سرور 2008 را پشتیبانی می کند.

دلفی 2009 | امکانات جدید نسخه 2009

حال باید منتظر ماند و دید که آیا دلفی 2009 می تواند دلفی 7 دیگری باشد و برنامه نویسان را دوباره به استفاده از دلفی علاقه مند کند!؟

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

پ.ن : من هنوز شخصاً از دلفی 2009 استفاده نکردم و اطلاعاتم را از مقالاتی که تا به حال در مورد دلفی 2009 خواندم بدست آورده ام. به محض آنکه خودم تجربه استفاده از این نسخه را پیدا کردم سعی می کنم مقاله کاملی در موردش بنویسم. فعلاً این نوشته را در حد یک خبر خلاصه داشته باشید.

مطالب مرتبط :