جمعه, ۱۶ آذر, ۱۴۰۳ / 6 December, 2024
مجله ویستا

نگرشی بر COM+


نگرشی بر COM+
یكی از برترین تكنولوژی هائی كه مایكروسافت به عالم نرم افزار معرفی نمود ، مدل طراحی اشیاء فاقد وابستگی به محیط پیاده سازی ، یعنی همان COM میباشد .
طی سالیان اخیر ، تكنولوژی مزبور آنچنان مورد توجه برنامه نویسان و گسترش دهندگان نرم افزار قرار گرفت كه ، هیچ نرم افزار كاربردی و سازمان مقیاسی (Enterprise-Level) بدون استفاده از توانائی های آن توفیقی نخواهد یافت .
هر چند كه نقائص موجود در مدل نگهداری ، توزیع و استفاده COM باعث شد ، مایكروسافت در جدید ترین سیستم تولید نرم افزار خود یعنی NET. تغییرات اساسی و جدی در پیاده سازی تكنولوژی اشیا مستقل انجام دهد ، اما با توجه به اهمیت آخرین نسخه پیشرفته از این تكنولوژی یعنی +COM ، بر آن شدم تا با نگارش این مقاله ، ضمن معرفی اجزا و مفاهیم ابتدائی این تكنولوژی ، به نكاتی چند در باب استفاده صحیح از آن اشاره نمایم .
● مفاهیم مفدماتی :
MTS (Microsoft Transaction Server ) و +COM هر دو رساننده یك مفهوم و پیاده سازی های"تقریبا" یكسان از این تكنولوژی تحت سیستم عاملهای NT و ۲۰۰۰ سرور هستند .
MTS ضمن ارائه كلیه مزایای COM ، به شما امكان میدهد :
الف) كنترل كاملی روی نحوه تولید ، برپائی و خاتمه استفاده از اشیاء داشته باشید . مدیر سرور ضمن اشراف بر كلیه جزئیات اشیاء ، استفاده كنندگان ، منابع مورد استفاده توسط اشیاء و ... توانائی اعمال تغییرات روی كلیه تنظیمات فوق را داراست .
ب) برپائی قواعد خاص امنیتی برای استفاده از اشیاء ، محدوده اختیارات استفاده كنندگان از اشیاء ، زمان استفاده ، میزان استفاده ، نحوه استفاده و ... همه و همه در اختیار مدیر سرور بوده و محیط بسیار قدرتمند كنترل هویت ویندوز به مدیر سرور امكان میدهد كلیه ضوابط مزبور را به عنوان مثال به گروه یا گروههای خاصی از كاربران داده و منابع سرور را مدیریت نماید .
● بهینه سازی استفاده از منابع همراه با انتقال امن اطلاعات :
مهمترین فایده استفاده از MTS بالا بردن توانائی مدیران سیستم در كنترل انتقال اطلاعات در محیط اجرای برنامه همراه با بهینه سازی منابع مورد استفاده است .
▪ مساله :
به عنوان مثال ، در شبكه فرضی A ، بنا داریم تا با پیاده سازی یك MTS و بر قراری ارتباط آن با سازمان برای استفاده كنندگان متفاوت ، امكان دسترسی سریع به اطلاعات را فراهم نموده ، فعالیتهای آنان را به دقت كنترل كرده و برای تغییراتی كه ممكن است آینده در قوانین سازمان ایجاد شود هزینه سرسام آوری برای پیاده سازی مجدد سیستم نرم افزاری پرداخت نكنیم .
▪ راه حل :
اگر در نظر بگیرید كه استفاده كنندگان از اطلاعات بانك اطلاعاتی سازمان با سطوح مختلف اطلاعات ، نیازهای مختلف مبتنی بر قواعد سازمان و منابع محدود سخت افزاری باید در محیطی " امن " ضمن برقراری ارتباط صحیح با مجموعه اطلاعات ، كمترین تاثیر را از تغییرات احتمالی در قواعد تجاری ، صنعتی و ... ببینند یقینا" باید از یك سیستم نرم افزاری توزیع شده (Distributed) مبتنی بر COM استفاده كنید كه بدینسان ، ضمن بهینه سازی منابع نرم افزاری و سخت افزاری مورد استفاده ، كمترین هزینه برای باز آرائی سیستم را خواهید پرداخت .
● مهندسی و طراحی :
در شبكه فرضی A سیستم اطلاعاتی ( بانك اطلاعاتی - Database یا محیط فرآهم كننده اطلاعات- Data provider ) به عنوان " لایه داده ها " ، اشیاء +COM مورد نظر ، به عنوان رابط های كاربران با اطلاعات و بازوهای فراهم كننده ابزار مدیریتی برای مدیران شبكه ، تحت عنوان " لایه ارتباط" و نرم افزارهای كاربردی (Clients ) مورد استفاده كاربران به عنوان " لایه كاربردی" نام گذاری میشوند .
"لایه داده ها " مستقل از جزئیات پیاده سازی سیستم نرم افزاری و فقط بر پایه مهندسی دقیق سیستم و انتظاراتی كه طراحان از سیستم دارند انتخاب و طراحی میگردد . پر واضح است هر زمان كه مجموعه فوق الذكر پاسخگوی نیازهای سیستم نبود براحتی جای خود را به محیط مناسبتر خواهد داد و گسترده ترین محیط سیستم یعنی " لایه كاربردی " ( استفاده كنندگان از سیستم ) از این تغییر متاثر نخواهند شد .
"لایه ارتباط" به عنوان هسته سیستم ، ضمن ایجاد ارتباط صحیح ، "امن" و بهینه با "لایه داده ها " و فراهم آوردن محیطی برای كنترل تكثیر داده ها( Data Transaction ) روی سیستم ، در هر لحظه این امكان را به طراحان سیستم میدهد كه قواعد جدید ، رابط های جدید اتصال به "داده ها " ، مشخصات خاص امنیتی و ... را بر سیستم اعمال نمایند و دو لایه "داده ها " و " كاربردی" از این تغییرات متاثر نگردند .
"لایه كاربردی" به عنوان محصول سیستم ، ضمن استفاده بهینه از منابع استفاده كنندگان و فرمان پذیری از " لایه ارتباط" ، همواره رابطی یكسان برای دسترسی به منابع مجاز را برای كاربران فراهم خواهد كرد . ( Thin Client )
● پیاده سازی :
در شبكه فرضی A نرم افزار Ms Sql Server به عنوان مدیر "لایه داده ها" انتخاب و با توجه به انتظارات مدیران سیستم ، بانك اطلاعاتی مطلوب روی آن طراحی و پیاده سازی میگردد . ( RDBMS )
"لایه ارتباط" به صورت یك MTS روی محیط ویندوز ۲۰۰۰ سرور فعال شده و ضمن ایفای نقش بررسی هویت كاربران شبكه ، بسته به قوانین سیستم برای گروههای مختلف ، منابع مور نیاز آنها را فراهم می آورد .
برای پیاده سازی شی یا اشیاء مستقل از محیط پیاده سازی و فرمان پذیر +COM از یكی از محیطهای تولید نرم افزار مثل Visual Basiv یا ++ Visual C یا Delphi استفاده شده ، ضمن برقرای صحیح ارتباط به " لایه داده ها " و پیاده سازی مكانیزم های مفیدی چون Caching ، Messenging و ... ، با سیستم تشخیص هویت محیط اجرا تماس برقرار نموده و برای سرویس دهی به متقاضیان كسب تكلیف مینماید .
"لایه كاربردی" كه تشكیل شده از برنامه های كاربردی مبتنی بر ویندوز ، برنامه های وب و یا حتی MTS های دیگر ، نیز با محیطهای سطح بالائی چون Delphi , Vb , Vc یا Power Builder , , ++C Borland و ... پیدا سازی شده و در محیط آنها هیچ وابستگی خاصی به نقش كاربر در نظر گرفته نمیشود و برنامه نویس ، ابزار فوق را فقط برای نمایش آنچه "باید" نمایش داده شود تولید نموده و امكان یكسان و فرمان پذیر از MTS را برای ارتباط كاربر با سرور ایجاد مینماید .
اكنون این وظیفه طراحان اشیاء است كه قواعد سازمان ( چه كسی ، چه زمانی ، چگونه حق دارد از اطلاعات استفاده كند . چگونه به اطلاعات دسترسی داشته باشد . چگونه به اطلاعات سیستم بیفزاید . چگونه .... ) را با در نظر گرفتن تغییرات احتمالی در آینده ، هرچه انعطاف پذیر تر طراحی نموده و ضمن ایجاد رابطهای با پروتكلهای معتبر ( مثل HTTP , SOAP , XML و ... )رابطی قدرتمند برای برنامه نویسان " لایه كاربردی" ایجاد كنند تا بدون درگیر شدن در جزئیات لایه داده ها و قواعد سازمان فقط به كاربران و منابع محدود آنها بیندیشند .
نویسنده : Inprise
منبع : Iran Developers