چگونه مي‌توان از آفيس به عنوان بستره برنامه‌نويسي استفاده كرد!

kolak2

عضو جدید
چكيده:

شكي نيست كه Microsoft Office 2007 شالوده مناسبي براي ساخت بسياري از نرم‌افزارهاي كاربردي پيچيده را پي‌‌ريزي خواهد كرد. هم‌اكنون نيز بسياري از اين گونه نرم‌افزارها بر روي آخرين نسخه از مجموعه آفيس ساخته شده و به‌راحتي اجرا مي‌شوند. سوال اين است كه آيا آفيس مي‌تواند به عنوان چارچوبي مستحكم براي توليد نرم‌افزار به كار رود؟ و آيا آفيس مي‌تواند مصالح لازم براي ساخت يك برنامه كاربردي كاملا جديد را فراهم كند؟
كليد واژه:

آفيس 2007، مايكروسافت، نرم‌افزار، برنامه‌نويسي، چارچوب توليد نرم‌افزار
Office 2007, Microsoft, software, programming, development platform
سطح سايان: پيشرفته


</SPAN>
مدت‌هاست كه آفيس به عنوان مجموعه‌اي از برنامه‌هاي كاربردي سمت سرويس‌گير[1] پذيرفته شده است. برنامه‌هايي چون Word، Excel و Outlook هر كدام امكانات بسياري را در اختيار كاربران مي‌گذارند. به خاطر اين كه اين امكانات به سمت محدوده خاصي از وظايف سوق داده شده‌اند، بنابراين، تا كنون، قابليت همكاري مستقيم اندكي بين اين برنامه‌ها وجود داشته است. ولي در حال حاضر آفيس به چارچوبي براي ساخت برنامه‌هاي كاربردي و فناوري‌هايي كه به هر دو سوي سرويس‌ده و سرويس‌گير خدمات ارايه مي‌كنند تبديل شده است و با Microsoft InfoPath، SharePoint®Services، Content Management Server و Exchange Server به‌خوبي ارتباط برقرار مي‌كند.




شكل 1- مشخصات چارچوب توليد نرم‌افزار​


برنامه‌هاي Word، Excel، Outlook و مابقي برنامه‌هاي مجموعه آفيس تعمدا طوري طراحي شده‌اند كه كاركردهاي بسياري را در اختيار نرم‌افزارهايي كه به عنوان سرويس‌ده[2] COM كار مي‌كنند بگذارند. مسلما، طراحان آفيس ساخت نرم‌افزارهاي سفارشي را مد نظر داشته‌اند. در نتيجه، به‌راحتي مي‌توان مجموعه نرم‌افزاري‌اي ساخت كه به طور كامل با يك يا حتي چند برنامه آفيس چفت شود. علاوه بر اين، برنامه‌اي مانند SharePoint، به تنهايي، امكانات گسترده‌اي چون خدمات درگاهي[3]، امكانات گردش كار[4] و مديريت محتوا[5] را عرضه مي‌كند. حتي بسياري عقيده دارند كه SharePoint خود يك چارچوب توليد نرم‌افزار جامع است.
يك چارچوب واقعي بايد مجموعه‌اي از نيازمندي‌هاي اساسي را برآورده سازد. به عنوان حداقلي از اين نيازمندي‌ها مي‌توان به خدمات كسب‌وكار[6] پايه و عمومي، نقاط توسعه براي نرم‌افزارها به صورتي كه بتوانند با خدمات عمومي ارتباط برقرار كنند و مجموعه ابراز باثباتي براي ساخت اين خدمات عمومي اشاره كرد. به علاوه، وجود مجموعه‌اي از ويژگي‌هاي غيركاركردي، كه امكانات كاركردي را در ساخت يك نرم‌افزار ابرسازماني[7] سودمند مي‌سازند، ضروري است (شكل 1). آفيس نه تنها اين نيازمندي‌ها را برآورده مي‌سازد، بلكه دو مزيت ديگر را نيز ارايه مي‌كند: 1) برنامه‌نويساني كه با ويندوز كار كرده‌اند، دانش و تجربه لازم براي كار در چارچوب جديد آفيس را دارند و 2) مايكروسافت مجموعه ابزاري را ارايه كرده است كه برنامه‌نويسان با استفاده از آن مي‌توانند برنامه‌هاي كاربردي تحت چارچوب آفيس بسازند.

اساس چارچوب آفيس
با مقايسه نيازمندي‌هاي يك چارچوب توليد نرم‌افزار با آن چه كه آفيس ارايه مي‌كند، مي‌توان مشخصات ارايه شده در آفيس را در قالب يك چارچوب مشاهده كرد (شكل 2). آفيس، به عنوان يك چارچوب توليد نرم‌افزار، بايد نيازمندي‌هايي اساسي را تحت پوشش داشته باشد. اين مشخصات را مي‌توان شامل قابليت اعتماد، مقياس‌پذيري[8]، امنيت، پياده‌سازي و به‌روزرساني، قابليت استفاده مجدد از طريق كامپوننت‌محور كردن، مدلي سازگار از اشيا و سازگاري نسخ دانست. حال، با نگاهي به اين نيازمندي‌ها، به نحوه پوشش آنها در آفيس 2007 مي‌پردازيم.


شكل 2- چشم‌انداز چارچوب توليد نرم‌افزار در آفيس 2007​


آفيس قابليت اطمينان را به سه روش ارتقا مي‌دهد. اول اين كه برنامه‌هاي آفيس في‌نفسه مستحكم ساخته شده‌اند. دوم اين كه آفيس چند گام در جهت پيش‌گيري از سفارشي‌سازي‌هاي[9] هرز بر مي‌دارد. به عنوان مثال، اگر يك برنامه افزودني[10] باعث اخلال در اجراي برنامه ميزبان شود، آفيس آن را شناسايي كرده، در ليست سياه قرار مي‌دهد. بسياري از خطاهايي كه توسط برنامه‌هاي افزودني ايجاد مي‌شود، توسط آفيس دريافت و در پشت پرده مديريت مي‌گردد تا باعث بي‌ثباتي برنامه ميزبان نشود. در برخي موارد، ممكن است آفيس يك پنجره پيام را نمايش دهد، به طوري كه كاربر متوجه شود كه آفيس به‌درستي كار مي‌كند ولي برنامه افزودني در وضعيتي نامعين قرار گرفته است. سوم اين كه برنامه Office SharePoint از مجموعه آفيس 2007، دقيقا با همان استاندارد ديگر سرويس‌ده‌هاي مايكروسافت ساخته شده است، بنابراين خدمات مبتني بر اين نرم‌افزار نيز از قابليت اطمينان مشابهي بهره مي‌برند.
مقياس‌پذيري و كارآيي از دو بعد برخوردار است: سمت سرويس‌ده و سمت سرويس‌گير. در سمت سرويس‌گير، هر برنامه‌اي محدوديت‌هايي را اعمال مي‌كند؛ مانند تعداد رديف‌ها و ستون‌هاي يك كاربرگ Excel. اين امر مقياس‌پذيري را قابل پيش‌بيني مي‌سازد؛ بدين طريق كه نمي‌توان برنامه‌اي ساخت كه از اين محدوديت‌ها فراتر برود. با اين حال، در شرايطي كه محدوديت عملي اكيدي وجود نداشته باشد، مي‌توان نرم‌افزاري ساخت كه بتواند از آن فراتر برود. به عنوان نمونه، هيچ محدوديتي براي تعداد برنامه‌هاي افزودني‌اي كه مي‌توان در يك برنامه ثبت كرد، وجود ندارد، ولي مسلما محدوديتي عملي براي بايد وجود داشته باشد. مثلا، تاخير زماني بارگذاري 10.000 برنامه افزودني در Excel را در نظر بگيريد. اين مثالي خوبي از آن دسته تصميماتي است كه يك چارچوب توليد نرم‌افزار نبايد به جاي مصرف‌كننده بگيرد.
از سوي ديگر، احتمالا بهتر است كه برنامه كاربردي سمت سرويس‌ده را خودكار[11] نكنيد؛ به همان دليلي كه نبايد 10.000 افزودني را در Excel بار كنيد. در واقع اين كار عملي نيست؛ حتي اگر از نقطه نظر فني امكان‌پذير باشد. به هر حال، آفيس 2007 موتور محاسباتي Excel و امكانات ديگري را، از طريق SharePoint و Excel Services، بر روي سرويس‌ده‌ها در اختيار مي‌گذارد (شكل 3). مضاف بر آن، نسخه سوم Windows SharePoint Services خدماتي چون گردش كار يك‌پارچه، پشتيباني محلي از ASP.NET 2.0، پشتيباني از بلاگ‌ها و ويكي‌ها[12] و همچنين RSS را نيز ارايه مي‌كند. اين برنامه بر شالوده‌اي بنا شده است كه مي‌تواند خدماتي مانند مديريت محتوا، هوش تجاري[13]، قابليت‌هاي وب‌محور Excel، پشتيباني از فرم‌هاي InfoPath، گردش اسناد و ليست‌ها و جستجوي پيشرفته را عرضه نمايد. علاوه بر آن، كاتالوگ داده‌هاي كسب‌وكار[14] اين برنامه امكان بازيابي اطلاعات از نرم‌افزارهايي از قبيل مديريت ارتباط با مشتري[15] و برنامه‌ريزي منابع ابرسازماني[16] را فراهم مي‌كند.







شكل 1- كامپوننت Excel Service​


در گذشته، درك امنيت آفيس براي كاربران و مديريت آن براي مديران شبكه تا حدودي مشكل بود. امنيت آفيس 2007 به كلي دگرگون شده است، به طوري كه بدون اين كه قدرت خود را از دست بدهد، براي كاربران قابل فهم‌تر و براي مديران شبكه شفاف‌تر و از نظر مديريت‌پذيري راحت‌تر شده است. البته، ابزاري كه Visual Studio براي آفيس ارايه كرده است (و به عنوان Visual Studio Tools for Office شناخته مي‌شود) مدل امنيت مستحكم‌تري را عرضه مي‌كند، ولي همين مدل سفت و سخت، مديريت‌پذيري آن را دشوار كرده است.
نرم‌افزارهاي قديمي مبتني بر آفيس از طريق خودكارسازي بيروني آن (با استفاده از افزودني‌هايي مانند COM، برچسب‌هاي هوشمند[17] و داده‌هاي بلادرنگ[18]) و يا با استفاده از راه‌حل‌هاي مبتني بر مستند[19]، كه خودكارسازي را از طريق جاسازي پردازش‌هاي لازم در درون مستند (مثلا با استفاده از VBA) انجام مي‌دهند، تهيه مي‌شدند. نصب و به‌روزرساني نرم‌افزارهاي مبتني بر خودكارسازي بيروني تقريبا سرراست است: هر نرم‌افزاري كه براي نصب به ثبت اطلاعات در رجيستري ويندوز نياز دارد، عموما از فرآيند نصب "خوش‌تعريفي" برخوردار است. به‌روزرساني چنين نرم‌افزارهايي نيز به‌سادگي با نصب نسخه جديد امكان‌پذير است.
اما، ‌مساله نصب نرم‌افزارهاي مستندمحور يك مشكل جدي است. بسياري از مستندات در صورتي كه كاربر نتواند آن را تغيير دهد، چندان به‌دردبخور نيستند. از طرف ديگر، ايجاد امكان تغيير در مستند، امكان تغيير در كد VBA را نيز به همراه دارد. حتي اگر بتوانيد از تغيير كد VBA نيز جلوگيري كنيد، احتمالا با تغيير داده‌هاي درون مستند، كد VBA نيز به‌گونه‌اي متفاوت عمل خواهد كرد. بنابراين، در مدت‌زمان كوتاهي چندين نسخه از نرم‌افزار خواهيد داشت، و از آن جايي كه VBA به نرم‌افزارهاي كنترل نسخه هم تن در نمي‌دهد، ردگيري نسخه‌هاي متعدد نرم‌افزار يك كابوس و نظارت بر آنها غيرممكن خواهد بود.
ابزار ويژوال استوديو براي آفيس، با ارايه يك مدل انعطاف‌پذير، پياده‌سازي چنين نرم‌افزارهايي را بسيار ساده كرده است. اين مجموعه ابزار، براي هر دو نوع نرم‌افزار مستندمحور و مبتني بر افزودني، امكان نصب محلي يا راه دور و همچنين به‌روزساني خودكار را فراهم مي‌كند. اگر نصب راه دور انجام شود، مديريت آن ساده‌تر خواهد بود؛ چرا كه اسمبلي‌ها به جاي آن كه در كامپيوتر افراد پراكنده شده باشند، در يك سرويس‌ده واحد متمركز مي‌شوند. بدين ترتيب، زماني كه نرم‌افزار اجرا مي‌شود، ابزار ويژوال استوديو براي آفيس نياز به به‌روزرساني را بررسي و در صورت وجود، آن را دريافت و بر روي كامپيوتر نصب مي‌كند.
 
بالا