مقدمه
پیرو بررسیهای انجام شده در فاز صفر طرح جامع در مورد انتخاب بستر سخت افزار و نرم افزار پروژه ، نتایج حاصل از مطالعات طی جلساتی در کمیته برنامه ریزی و کنترل سازمان مورد بحث و بررسی قرار گرفت. نهایتا بستر مبتنی بر ماشینهای اینتل ، سیستم عامل ویندوز 2000 ، بانک اطلاعاتی SQL Server و محیط تولید نرم افزارهای کاربردی VB انتخاب و به شهرداری پیشنهاد گردید. در تنظیم توافقنامه بین سازمان و شهرداری این پیشنهاد عینا بعنوان چارچوب کار تعیین گردید. ذیلا خلاصه ای از زمینه های انتخاب فوق و پارامترهای عمده مربوط به هریک و همچنین جایگاه فعلی این بستر در دنیا ارائه می گردد.
الف – انتخاب سیستم مدیریت بانک اطلاعاتی (DBMS)
پارامترهایی که معمولا در انتخاب یک سیستم مدیریت بانک اطلاعاتی مورد بررسی قرار می گیرند شامل موارد زیر می باشند که به تفکیک به آنها اشاره می کنیم :
Performance
برای سنجش کارآیی سیستمهای مدیریت بانک اطلاعاتی با توجه به نتایج حاصل از TPC می بینیم که SQL Server روی ماشینهای اینتل و سیستم عامل ویندوز 2000 از جایگاه بسیار خوبی در مقایسه با سایر محصولات برخوردار است. برای آشنایی با TPC به ضمیمه 1 مراجعه شود. همچنین نتایج 10 ردیف اول TPC در ضمیمه 2 و نتایج متناسب با نیاز شهرداری در ضمیمه 3 و مشخصات نمونه محیط تست در ضمیمه 4 آمده است.
Capabilities
مجموعه کامل امکانات OLTP و OLAP توسط این نرم افزار ارائه می شود. سایر عرضه کنندگان برای امکانات OLAP هزینه جداگانه دریافت می نمایند.
Usability
سهولت بکارگیری SQL Server و Oracle و DB2 تقریبا یکسان به نظر می رسد. کلیه سیستمها از SQL استاندارد نیز پشتیبانی می کنند و در اکثر محیطهای کاربردی به روشهای مختلف قابل استفاده میباشند.
Interoperability
ارتباط SQL Server با سایر محیطها با پشتیبانی از XML به عمومی ترین و امروزی ترین شکل خود امکان پذیر می باشد.
Managability
مدیریت SQL Server هم با استفاده از ابزارهای اصلی خود بانک اطلاعاتی و هم با استفاده از ابزارهای جدید Web based امکان پذیر است. مدیریت امنیت و دسترسی کاربران نیز د رترکیب با سیستم عامل ویندوز و ساختار Active Directory امکان پذیر می باشد.
Price
همانگونه که ذکر شد ، در مورد SQL Serverهزینه دریافتی برای مجموعه کامل امکانات OLTP و OLAP است. سایر عرضه کنندگان برای امکانات OLAP هزینه جداگانه دریافت می نمایند. حتی با امکانات معمول نیز بهای لیسانس SQL Server نسبت به Oracle تا 50 درصد و نسبت به DB2 تا 60 درصد پایین تر می باشد. برای اطلاع بیشتر به ضمیمه شماره 6 مراجعه شود.
Availability
نسخه های مختلف SQL Server و همچنین مراجع و کتابهای مربوطه عموما در بازار ایران در دسترس می باشند در صورتی که Oracle از این نظر در مقام دوم و DB2 و سایر محصولات در مقامهای بعدی می باشند.
با توجه به جمیع پارامترهای فوق انتخاب SQL Server چه از نظر اعتبار بین المللی و روند بازار و چه از نظر مباحث داخل ایران انتخاب مناسبی می باشد. همچنین لیست بعضی از شرکتها و موسسات بزرگی که از محیطهای دیگر مانند Oracle تحت یونیکس به SQL Server سویچ کرده اند در ضمیمه 7 آمده است.
ب - انتخاب سیستم عامل
در صورت انتخاب SQL Server به عنوان DBMS ، تنها انتخاب برای سیستم عامل ویندوز 2000 می باشد. با این وجود به کلیات مزایای این سیستم عامل اشاره می کنیم. سیستم عامل ویندوز 2000 نسبت به نسل قبلی خود Windows NT 4 که در سطح وسیع در دنیا مورد استفاده قرار دارد، پیشرفتهای قابل ملاحظه ای داشته و برای سطوح مختلف کاربرد، میکروسافت نسخه های زیر را عرضه کرده یا در دست عرضه دارد :
نسخه Professional برای ایستگاههای کاری که در حال حاضر از ویندوز XP نیز استفاده میشود
نسخه Server برای سرورهای شبکه
نسخه Advanced Server با قابلیتهای بیشتر از نسخه Server نظیر Clustering
نسخه Data Center برای کاربردهای Enterprise و مدیریت سرورهای دارای 1 تا 32 پردازنده
با توجه به این که بانک اطلاعاتی MS SQL Server فعلا فقط روی سیستم عامل ویندوز در دسترس است و همچنین با نگاهی به امکانات وسیع این سیستم عامل از جمله :
- سیستم امنیت Active Directory
یک سیستم مدیریت کاربران و منابع در کلاس enterprise که مقیاس پذیر ((scalable بوده و از اساس با به کارگیری فن آوریهای استاندارد اینترنت ساخته شده است. این ابزار، مدیریت متمرکز شبکه را آسان و مطمئن میسازد.
- خوشه بندی (Clustering)
تشکیل خوشه هایی از سرورها با ویندوز 2000 نسخه Advanced Server میزان در دسترس بودن، مقیاس پذیری و مدیریت پذیری منابع و کاربردها را افزایش میدهد. اگر یک سرور در خوشه به علت خرابی یا تعمیر از کار بیفتد، سرور دیگر فوراً به جای آن وارد عمل خواهد شد (فرآیندی که تحت عنوان Failover شناخته می شود). این اتفاق از دیدگاه کاربر کاملاً پوشیده است.
- پروتکل اعتبار سنجی Kerberos V5
یک سیستم تکامل یافته تایید صحت اعتبار کاربران و تخصیص منابع شبکه به آنها (Authentication) که به کمک آن کاربر با یک Logon به کاربران تمام آنچه را نیاز دارند و مجاز به استفاده از آن هستند تخصیص میدهد.
- امکانات Message Queuing
به برنامه نویسان کمک می کند تا کاربردهای تحت شبکه خود را برای محیطهایی مثل اینترنت به طور قابل اطمینان تری پیاده سازی کنند. این کاربردها می توانند به سایر محیطها نظیر یونیکس و MainFrame نیز ارتباط داشته باشند.
- امکانات Network Address Translation-NAT
ابزاری است که امکان پنهان کردن آدرسهای IP داخلی شبکه را از ناظران خارجی فراهم ساخته و هزینه های ثبت آدرس را کاهش می دهد. همچنین ریسک دسترسی غیر مجاز به ساختار داخلی شبکه را کمتر می سازد.
- بالانس بار در شبکه Network Load Balancing
در NT4 تحت نام WLBS شناخته می شد. این ابزار ترافیک ورودی TCP/IP را در سطح شبکه بین چندین سرور توزیع می کند. کاربردهای خوشه ای شما، مخصوصاً کاربردهای وب با راندمان بسیار خوب و زمان پاسخگویی مناسب انجام میشود.
- امکانات ترمینالی
به ماشینهایی که سخت افزار آنها امکان اجرای مستقیم ویندوز را ندارد، کمک می کند تا چیزی شبیه محیط کار Windows 2000 Professional را بدون نیاز به سخت افزار خاص اجرا کند و یک راه حل شیک و کم هزینه برای دسترسی به نرم افزارهای تحت ویندوز با حداقل امکانات را فراهم می سازد.
بنا بر این با ملاحظه امکانات فوق ، سایر پارامترهای مهم از جمله پشتیبانی عملی زبان فارسی در خود سیستم عامل و بسیاری از بسته های نرم افزاری جنبی مانند Office XP و همچنین با توجه به :
آشنایی نسبی کارشناسان سازمان با این سیستم عامل
وجود دانش فنی آن نزد متخصصین در سطح شهر
تحقق پروژه های مختلف روی این بستر
این سیستم عامل انتخاب گردید.
ج – انتخاب زبان و محیط تولید برنامه های کاربردی
با توجه به سیستم عامل و DBMS انتخاب شده و پارامترهای مثبت مشابه انتخاب سیستم عامل از نظر وجود متخصصین و عمومی بودن در دنیا و ایران و سهولت تولید و مانند آن ، استفاده از Visual Basic یا در حالت کلی تر مجموعه Visual Studio معقولترین انتخاب به نظر می رسد. امروز نیز با عرضه معماری dotNet از طرف میکروسافت ، Visual Basic جزو زبانهایی است که جایگاه خود را حفظ نموده است و پیشرفتهای محسوسی از جمله در زمینه پشتیبانی از شی گرایی و یا برخورد ساخت یافته با خطاهای زمان اجرا در آن حاصل شده است که تولید برنامه های کاربردی قابل اطمینان را امکان پذیر می سازد.
علاوه بر آن موارد زیر نیز مورد نظر بوده است:
مدل برنامه نویسی انتخاب شده (FAT Server) باعث می شود که حجم کار مورد نیاز در برنامه ها کاهش یابد. بنابر این زبان برنامه نویسی ساده ای نظیر VB به خوبی جوابگوی نیازهای این محیط میباشد.
در مدل انتخاب شده ، در صورت نیاز می توان از زبانهای دیگری نظیر C ، Java، Vbscript و HTML استفاده نمود. در واقع فرض بر این است که در صورتی که در هر زمان VB پاسخگوی نیازها نبود، می توان از هر زبان برنامه نویسی دیگری استفاده نمود، بدون آنکه بر برنامه های قبلی تاثیری داشته باشد.
تجربه پیاده سازی 9 سیستم اولیه نشان می دهد که هنوز به زبان دیگری غیراز VB نیاز نبوده است.
واقعیت مهمی که معمولاٌ در نظر گرفته نمی شود آن است که در حال حاضر مدعیان برنامه نویسی به وفور یافت می شوند، ولی برنامه نویس خوب کمتر یافت می شود. این مشکل در مورد زبانهایی نظیر C و Java بیشتر نمود پیدا می کند. لذا با توجه به تعداد زیاد برنامه نویس مورد نیاز برای برنامه های طرح جامع ، سادگی زبان برنامه نویسی انتخاب شده اصل مهمی است که در نظر بوده است.
بار دیگر تاکید می نماید که زبان برنامه نویسی انتخاب شده یعنی VB باعث
نمی شود که در مراحل بعدی پروژه و در صورت نیاز از زبانهای دیگر استفاده نشود.
د – Data Base توزیع شده یا Data Base متمرکز
هر چند از دیدگاه تئوریک ساختار بسیاری از سیستم های طرح جامع به گونه ای است که به نظر می رسد معماری مناسب Data Base برای آنها روش Distributed می باشد، اما با توجه به واقعیتهای موجود شهرداری تصمیم گرفته شد که در ابتدای کار معماری متمرکز انتخاب گردد. بعضی از دلائل این امر به شرح زیر است:
برای پیاده سازی سیستم ها به صورت Data Base Distributed لازم است که در هریک از مناطق شهرداری و نیز سازمانها و معاونتهایی که از برنامه های طرح جامع استفاده می نمایند،DBMS انتخابی نصب گردد و در این صورت تیم مدیریتی لازم برای آن در هر منطقه مستقر گردد(DBA ، Backup Operator و .......) و آموزشهای لازم به همه آنها داده شود. این امر در حال حاضر در شهرداری ممکن نیست.
پیچیدگی برنامه های کاربردی به شدت افزایش می یابد ، زیرا در هرحال اکثر برنامه ها علاوه بر دسترسی به Data Base های Local نیاز دارند که به Data Base های مناطق و محل های دیگر نیز دسترسی یابند. مثلاٌ در مورد املاک ، روشن است که هر مالک نیاز دارد به همه ملک های خود در سطح شهر اصفهان دسترسی داشته باشد. در ابتدای شروع طرح جامع انتظار چنین برنامه نویسی پیچیده ای غیر عملی بود.
چنین ساختاری علاوه بر شبکه پر سرعت ، نیاز به سرورهای پر قدرت برای هر محل دارد که هزینه سخت افزار را به شدت افزایش می دهد. چنین هزینه ای در ابتدای شروع طرح جامع و حتی در زمان حاضر نیز به هیچوجه قابل توجیه در شهرداری نبوده و نیست.
پیاده سازی سیستم های Data Base Distributed پیچیده و مستلزم تجربه کافی طراحان و پیاده سازان سیستم می باشد. این تجربه در حال حاضر در ایران وجود ندارد و شروع طرح جامع به این روش در واقع ریسک بزرگی بوده و خواهد بود که به هیچوجه منطقی نیست.
ه- نتیجه گیری
با توجه به موارد فوق الذکر و اینکه می بایستی ماشینها ، سیستم عامل ، مدیر بانک اطلاعاتی و محیط تولید برنامه های کاربردی با هم مورد ارزیابی قرار گیرند نهایتا کمیته برنامه ریزی با توجه به جمیع شرایط و محدودیتها و منابع در اختیار ، سیستم عامل ویندوز 2000 و بانک اطلاعاتی SQL Server و VB را بعنوان محیط تولید برنامه های کاربردی به روش متمرکز انتخاب نمود و استانداردهای پیاده سازی را نیز منطبق بر آن بنا نهاد.
ضمیمه 1 - آشنایی با موسسه Transaction Processing Performance Council-TPC
Transaction Processing Performance Council -TPC یک موسسه غیرانتفاعی است که برای تعریف معیارهای پردازش تراکنشها و کارآیی بانکهای اطلاعاتی تاسیس شده است. معیارهایی مانند TPC-C, TPC-H, TPC-W که برای سنجش کارآیی برای کاربردهای مختلف و انتشار نتایج آن تعریف شده اند. آزمایشهای TPC شرایطی بسیار دقیق و محکم نیاز دارند ، هم از نظر قابلیت اعتماد (Reliability) و هم از نظر دوام و ماندگاری (Durability) و باید نتایج برای انتشار به تایید یک هیات مستقل برسد. اعضای شورا شامل نمایندگان اکثر تولید کنندگان عمده DBMS ها و همچنین ارائه کنندگان ماشینها و سخت افزار می باشند.
شرکتها در آزمایشهای TPC حضور می یابند تا کارآیی محصولاتشان را در یک محیط واقعی به نمایش بگذارند و فن آوریهای به کار رفته در آزمایشها را برای ساخت محصولاتی مطمئن تر و مقیاس پذیر تر (چه در زمینه نرمافزار و چه سخت افزار) مورد استفاده قرار دهند.
TPC-C یک معیار استاندارد برای اندازه گیری کارآیی و مقیاس پذیری سیستمهای OLTP مانند سیستمهای کاربردی شهرداری است. این سنجش جنبه های مختلف عملکرد دیتابیس را از جمله استخراج اطلاعات ، به روز رسانی و تراکنشهای دستهای را در بر می گیرد. بسیاری از متخصصین فن آوری اطلاعات TPC-C را یک نشان دهنده کارآیی در "محیط واقعی" پردازش تراکنشها می دانند.
TPC-C توان عملیاتی را برحسب تعداد تراکنش کاری در هر دقیقه برای یک سیستم شبیه سازی شده ثبت سفارش و در یک محیط توزیع شده اندازه گیری می کند. به طور مشخص این آزمون تعداد دفعاتی در دقیقه را که یک سفارش جدید حین اجرای چهار نوع تراکنش دیگر مانند پرداخت ، بروزرسانی وضعیت سفارشها و محموله ها و تغییرات انبار قابل ثبت است اندازه می گیرد.
معیار TPC-H مربوط به محیطهای پشتیبان تصمیم گیری روی حجم بسیار زیاد داده ها و TPC-Wمربوط به تجارت روی وب می باشند.