COM ابزاری است که قابلیتهای برنامه های موجد تحت محیطهای ویندوز را افزایش می دهد.اجزاء COM را با زبانهای مختلفی میتوان نوشت که دلفی یکی از قویترین آنهاست. COM سرنام Component Object Model است ، یعنی مجموعه مشخصاتی که میکروسافت برای ساختن اجزاء نرم افزارهایی مطرح کرده که می توان در برنامه ها گنجاند وقابلیت برنامه های موجود تحت محیطهای پنجره را افزایش داد. اجزای COM را با زبانهای مختلفی می توان نوشت. COM پایه و شالوده مجموعه مشخصات OLE (گنجاندن و مرتبط کردن شیءها) DirectX,ActiveX است. COM+ نیز چیزی منفک از COM نیست ، تنها امکانات و قدرت آن ارتقا پیدا کرده است.اگر با Microsoft Transcation و قابلیتهای آنها آشنایی دارید ، باید گفت که COM+ قابلیتهای متناظر با دو ابزار فوق و COM را داراست و آنچه که در اینجا اهمیت دارد پشتیبانی دلفی از این ابزار است.
COM دارای چه قابلیتهایی است؟
COM اصلی ترین پایه تکنولوژی هایی است که به اجزاء نرم افزاری امکان می دهند. تا بدون توجه به زبانی که با آن ایجاد شده اند ، با یکدیگر ارتباط برقرار سازند.دو قابلیت مهم
COM که امروزه بیش از 150 میلیون کاربر عبارت است از :
• COM مدلی مستقل از زبانهای برنامه سازی است ونحوه بکار گیری آن وابستگی به زبانی خواص ندارد.
• تمامی ابزارها و نرم افزارهای کاربردی تحت ویندوز از COM پشتیبانی می کنند.
در اینجا با دسته بندیهای COM تحت سه عنوان مدیریت اجزاء سازنده ، سرویس ها و Runtime به توضیح پرداخت.
سرویس ها
سرویس های COM+ ترکیبی از سرویس های MSMQ,MTS می باشند ، چنانکه برخی از کارشناسان بر این باورند که MSMQ,MTS در ارتقا سرویس های COM+ موثر بودند.مدیریت تراکنش ها مهمترین بخش این سرویس ها بوده که در ادامه به تشریح آنها خواهیم پرداخت.
تراکنش ها
از آنجا که COM+ بر مبنای طراحی شیء گرا استوار است و محیط های شیء گرا نیازمند سیستمی هستند که پردازش تراکنش ها را به محض دریافت آنها دهد، لذا مدیریت تراکنش ها یکی از ضروری ترین سرویس های COM+ به شمار می آید.
به طور مثال هنگامی که یک برنامه کاربردی تحت ویندوز مانند سفارش یک مشتری ، در حال پردازش داده ها می باشد ، به لحاظ ارتباط تنگاتنگ آن را با محیط های شیء گرا وهمچنین بانک های اطلاعاتی، لازم است تا عملیات پردازش تراکنش ها نیز به درستی انجام پذیرد ، به طوری که تراکنش ها بلافاصله پس از دریافت توسط سیستم اجرا شوند.کنترل تراکنش ها در COM+ به وسیله Distributed Transaction Coordinator (DTC) انجام میگیرد.در روش مدیریت تراکنش ها به وسیله DTC ، پردازش تراکنش ها بین یک یا چند سیستم به اشتراک گذاشته خواهد شد.
امنیت
برنامه های کاربردی ، بخصوص برنامه های سرویس دهنده /سرویس گیرنده ، در بر گیرنده حجم وسیعی از اطلاعات می باشند ، بدین ترتیب کنترل شدید بر صلاحیت و چگونگی کار کاربران آنها امری حیاطی است.
مفهوم امنیت در برنامه های کاربردی امروزی که توسط ابزارها و زبان های برنامه نویسی شیء گرا طراحی می گردند ، مفهومی گسترده تر از کنترل عملیات کاربران داراست. مدیریت عناصر ، اجزا سازنده وکنترل انتقال داده ها در این سیستم ها وهمچنین کنترل انتقال داده ها بین عناصر یک برنامه مقوله هایی است که به امنیت سیستم مربوط می شود.
ساختار امنیتی Role_Based
در ساختار امنیتی COM+ از روش Role_Based استفاده گردیده است.در این روش تمامی عناصر و گروههای کاری تحت عنوان Roles معرفی شده و در کنار روش امنیتی System_Based (این روش در همه سیستم های عامل پیاده سازی شده است) ، امنیت برنامه های کاربردی را تضمین می نمایند.
اما Roles به خودی خود تولید نمی شود. برای ایجاد Roles می بایست ابزار Component Services administration دلفی را به کار گرفت.در سمت چپ منوی Component Services ، یک لیست درختی از عناصر موجود در آن نمایش داده خواهد شد.اکنون با انتخاب گره Roles از این منو قادرید users را به آن اضافه نمائید (برای انجام این کار دکمه سمت راست ماوس را بر روی Roles بفشارید).
سه نوع Roles به نامهای Normal , Junior , Hero برای COM+ تعریف شده است. هر کدام از این عناوین گروههای کاری متفاوتی را برای کاربران مشخص می سازند.
توجه داشته باشید که کنترل اصلی امنیت توسط سیستم عامل انجام و COM+ به عنوان جزئی از سیستم عامل مطرح است.
پیکر بندی Role_Based علاوه بر امنیت برنامه ها ، قابلیت پیاده سازی و برقراری امنیت در سطوح اجزاء سازنده ، Interface و حتی متدها را نیز داراست.
اولین گام در پیاده سازی امنیت در COM+ ارزیابی خود برنامه است.این کار با فراخوانی ابزار Component Services administration وانتخاب تب Security امکان پذیر است.
ابتدا گزینه Enforce Access Checks For This Application را فعال نمائید.همانطور که در شکل می بینید ، قسمتی از کادر نمایش داده شده مربوط به تعیین سطوح امنیتی است. یکی از این سطوح امنیتی فقط مربوط به فرآیندها (Process) و دیگری مربوط به عناصر سازنده و فرآیندها است
چنانکچه تمایل دارید که برنامه COM شما تنها برای گروهی از کاربران قابل استفاده باشد وامنیت را تنها در همین سطح برقرار سازید.
برنامه های Multitier
چنانچه یک برنامه کاربردی Multitier طراحی کرده اید و قصد دارید تکنیک های امنیتی COM+ را بر سیستم Multitier ترکیبی از سیستم های سرویس گیرنده ، برنامه های کاربردی سرویس دهنده و بانک اطلاعاتی است. از آنجا که این سیستم ها با حجم وسیعی از داده ها روبرو هستند ، لذا پیاده سازی روش های امنیتی در آنها به سادگی امکان پذیر نبوده وهمواره می بایست بهبود کارآیی سیستم را مدنظر قرار دهید.
مفهوم (JIT) Just_In_Time واژه ای برای توصیف کامپایلری است که برنامه های شبکه نظیر Java را بسیار ترجمه می کنند ، اما در COM+ به مفهوم ایجاد و تخریب یک برنامه بدون توجه به ساختار آن برنامه است. آنهایی که که تکنیک های برنامه نویسی شیء گرا بیشتر آشنایی دارند ، از این قابلیت COM+ به عنوان یک فرصت طلایی برای طراحی بهتر برنامه های کارربدی بهره خاص خواهند گرفت. متدهای SetComplete ,SetAbort از کلاس ObjectContext ومتد SetDeactivateOnReturn کلاس IContextState جهت این امر کاربرد دارند.
جزا سازنده صف بندی شده
دلفی 3 با معرفی ابزار جدیدی تحت عنوان MIDAS هیجان خاصی را در دل برنامه نویسان برنگیخت. MIDAS مجموعه ای از اجزا سازنده بود که آماده سازی برنامه های کارربدی سرویس گیرنده/سرویس دهنده Multitier را آسان می نمود. به خاطر داشته باشید که منظور از برنامه کاربردی سرویس گیرنده ، برنامه ای است که کاربران با استفاده از یک رابط گرافیکی با آن برقرار می کنند.
برنامه کاربردی سرویس دهنده نیز برنامه ای است که خدماتی را برای برنامه کاربردی سرویس گیرنده فراهم می کنند.عنوان سرویس دهنده/سرویس گیرنده به معنی وجود یک رابط گرافیکی و یک سرویس دهنده بانک اطلاعاتی است.
بعد از آن ، نسخه های جدی دلفی با ابزارهای متنوع تری به بازار متنوع تری به بازار عرضه گردیدند.امروزه دلفی 7 با پشتیبانی از تکنولوژی هایی نظیر COBRA,MTS, COM+ به عنوان یکی از قدرتمندترین ابزارهای برنامه نویسی مطرح ومورد استفاده جمع کثیری از خبرگان این امر می باشد.
چرا از اجزاء سازنده صف بندی شده استفاده می کنیم؟
قبل از این که نحوه پیاده سازی این اجزاء را شرح دهیم ، لازم است تا برخی از مزایای به کارگیری آنها را بر شماریم.
• بهبود بهره وری سیستم ها: در سیستما هایی که از اجزاء سازنده صف بندی شده استفاده نمی کنند ، پاسخدهی به درخواستها تنها همزمان با ارسال آنها انجام می شود. در این صورت چنانچه همزمان با یک درخواست ، درخواست های دیگری ارسال گردد ، هیچ پاسخی به آنها داده نشده، یک چرخه انتظار نامحدود بوجود می آید.اما دراجزاء سازنده صف بندی شده با قرار دادن درخواست ها در یک صف ، به محض اتمام یک درخواست ، درخواستهای بعد یوارد شده و به آنها پاسخ داده می شود
• مدل Briefcase :در اجزای سازنده صف بندی شده امکان فعالیت مجزای سرویس گیرنده می تواند به طور مستقل عملیات خود را انجام داده و پس از رفع عیب با سرویس دهنده ارتباط برقرار نماید.
• مدیریت بحران: چنانچه قصد دارید یک برنامه سرویس دهنده با تضمین امنیت بالا (همانند یک برنامه تجارتی) پیاده سازی کنید ، ویژگیهای منحصر به فرد اجزای سازنده صف بندی شده کمک شایانی به ارتقاء سطح امنیت برنامه تان می کند.
• زمان بندی در بارگذاری برنامه ها: مزیت دیگر اجزاء سازنده صف بندی شده استفاده از تکنیک زمان بندی در بارگذاری برنامه هاست.این بدین معنی است که یک مدیریت زمان بند برای پاسخ دهی به فرآیندها در اجزا سازنده صف بندی شده وجود دارد.
پیاده سازی یک شیء از نوع صف بندی شده ، TestImp.pas
Unit testImpl;
interface
uses
Windows,ComObj,ActiveX,Srv_TLB, StdVcl;
type
TQTest=class (TAutoObject,IQTest)
Protected
procedure SendText (const Value: WideString; Time: TDateTime)
end;
implementation
uses ComServ, SysUtils
procedure TQTest.SendText(const Value: WideString; Time: TDateTime)
const
فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد
تعداد صفحات این مقاله23 صفحه
پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید
دانلود مقاله COM+چیست