سه شنبه, ۱۸ اردیبهشت, ۱۴۰۳ / 7 May, 2024
مجله ویستا

اکتیوایکس و نقش آن در معماری


اکتیوایکس و نقش آن در معماری
در این مقاله سعی شده است تا ابعاد مختلف تکنولوژی اکتیوایکس از جهات کلی شرح داده شود .
در ادامه از معماری و لایه های این تکنولوژی و ارتباط آن با شی com به عنوان اساس شی اکتیوایکس را شرح می دهیم .
در بخشهای نحوه تعامل زبانهای اسکریپتی نظیر VbScript و JavaScript را با اشیای اکتیوایکس برای ایجاد ویژگیهای منحصر بفرد در صفحات وِب گفته شده و چگونگی ایجاد این ارتباط شرح داده شده است.
همچنین نحوه ارتباط اشیای اکتیوایکس با اپلتهای جاوا از طریق ماشین مجازی جاوا به طورنسبتا" قابل ملاحظه ای شرح داده است.
درآخر هم آینده اکتیوایکس بررسی شده است .
● اکتیو ایکس چیست
اکتیو ایکس یک نام تجاری برای مجموعه ای از تکنولوژیها و سرویسهاست که بر اساس Com بنا شده است . این تکنولوژی به اجزای نرم افزاری این امکان را می دهد که صرف نظر از زبانی که برای تولید آن اجزا استفاده شده ایت با یکدیگر در محیطی شبکه شده فعل و انفعال داشته باشند . اکتیو ایکس که به عنوان استاندارد پیشنهادی در دهه ۱۹۹۰ میلادی توسط میکروساخت توسعه یافت، اخیراً تحت مدیریت Open Group و بر اساسCom Microsoft ساخته می شود.
در حال حاضر اکتیو ایکس برای توسعه محتوای صفحات وب در اینترنت به طور گسترده استفاده می شود، گرچه در برنامه های کاربردی و تجاری و سایر برنامه ها می تواند فعالانه به عنوان جزئی از نرم افزار نقش داشته باشد. کنترل های اکتیو ایکس را می توان در صفحات تعبیه نمود، تا تصاویر متحرک و سایر جلوه های چند رسانه ای، موضوعات فعل و انفعالی و کاربردهای پیچیده را ایجاد کنند . کنترل های اکتیو ایکس را می توان با زبانهای مختلف برنامه نویسی شامل C و++ C ، ویژوال بیسک، Java و دلفی نوشت.
● انگیزه ایجاد اکتیو ایکس :
قبل از ایجاد تکنولوژی اکتیو ایکس، صفحات وب، صفحاتی ایستا بدون ویژگیهای فعل و انفعالی و بسیار ساده و دارای امکانات خدماتی کمی بود . انگیزه ای که باعث بروز تکنولوژی اکتیو ایکس شد از سه دیدگاه زیر نشأت گرفت.
۱) توسعه دهندگان نرم افزاری:
این گروه درصدد بودند تا تکنولوژیی را فراهم کنند تا به آسانی قابلیت ایجاد و ادغام اجزا را برای ایجاد یک نرم افزار داشته باشد . در حقیقت آنها می خواستند تا یک جز نرم افزاری مستقل و از لحاظ عملکرد و کارایی، اثبات شده را بوجود آورند تا قابلیت ادغام به عنوان جزیی از برنامه های دیگر را داشته باشد.
۲) تهیه کنندگان وب:
این گروه نیز نیاز مبرمی به تکنولوژیی داشتند تا به سرعت و سهولت با استفاده از آن وب سایتهای جالب و پربار بسازند. آنها تکنولوژیی می خواستند تا به آنها امکانات گسترده ای در به کارگیری از تمام توان سیستم را بدهد. در این صورت بود که قادر بودند صفحات وب را همانند برنامه های کاربردی و تجاری متناسب با نیاز مشتری طراحی نمایند.
۳) کاربران پایانی:
کاربران که همان عامهْ مردم هستند و به نوعی کاربران اینترنت خطاب می شوند توجه روزافزون به پیشرفت و تکامل صفحات وب و امکان استفاده گسترده از اینترنت در کاربرد و زندگی روزمره خود داشتند . بنابراین به تکنولوژیی نیاز داشتند که این صفحات ایستای وب را پویا و دارای عملکرد بالا برای استفاده گسترده از آن کند.
مجموع این دیدگاه ها و تقاضاها باعث شد تا این تکنولوژی به نام اکتیو ایکس برای پاسخ به تقاضای مشتریان و پیشرفت عرصه تجاری، اقتصادی و … در صفحات وب و نرم افزارهای کاربردی فراهم شود.
● نقش اکتیو ایکس در صفحات وب:
همانطور که گفته شد یکی از اهداف اصلی ایجاد تکنولوژی اکتیو ایکس استفاده از بسته های نرم افزاری بصورت قطعه هایی برای اتصال به صفحات وب است .
در حال حاضر یکی از ارکان اصلی صفحات وب پیشرفته در درعرصه تجاری عناصر اکتیو ایکس هستند این عناصر با دسترسی کامل که به منابع سیستم دارند امکان استفاده از آخرین فناوریهای سخت افزاری و نرم افزاری را در یک صفحه وب میسر می سازد. و باعث ایجاد صفحاتی چند رسانه ای و بسیار انعطاف پذیر می شوند.
● عناصر متعامل با اکتیو ایکس:
عناصر مختلفی در یک سیستم با عناصر اکتیو ایکس آن سیستم در تعامل هستند. این عناصر به روشهای متفاوتی با اکتیو ایکس ارتباط برقرار می کنند. زبانهای اسکریپتی یکی از این عناصر هستند که در یک صفحه وب در زمان اجرا کنترل یک عنصر اکتیو ایکس را به عهده می گیرند . از دیگر این عناصر، اپلتهای جاوا هستند که مانند عناصر اکتیو ایکس یک بسته نرم افزاری مستقل هستند. اپلتهای جاوا و عناصر اکتیو ایکس می توانند از طریق یک واسطه به نام ماشین مجازی جاوا (Java virtual machine) با هم ارتباط برقرار کنند. از عناصر دیگر متعامل با اکتیو ایکس عناصر Container هستند. این عناصر نظیر مرورگرهای وب و برنامه های کاربردی بستری را برای اجرای این عناصر ایجاد می کنند. در سطح خیلی پایین عناصر اکتیو ایکس با خودشان ارتباطات متقابلی برای تکمیل کردن کار یکدیگر دارند.
● Com و ویژگیهای آن:
اکتیو ایکس بر پایه ای به نام(Component Object Model) Com بنا شده است . در حقیقت اکتیو ایکس همان Comاست و همان خصوصیات شی Com راداراست .شی Com شالوده اصلی سیستم عامل ویندوز است . به عبارت دیگر سیستم عامل ویندوز بر اساس قطعات نرم افزاری مستقل اما مرتبط با هم تشکیل شده است و این خصوصیت را پشتیبانی می کند. با توسعه فن آوری در زمینهCom و اکتیو ایکس شی (Distributed Com) DCOM به وجود آمده است که عامل ارتباط یک شی نرم افزاری مستقل با انواع دیگری از سیستم عامل ها نظیر Macintosh , Linux , Unix را فراهم می کند و قابلیت اجرا و تعامل در آن سیستم عامل ها را می دهد . این یکی از ویژگیهای منحصر به فرد شی. Dcom است.
در حقیقت شما می توانید یک بسته نرم افزاری را در محیط ویندوز تهیه کرده و در Linux از آن استفاده نمایید. امروزه بانکهای ارتباطی شبکه ای بر اساس شی Dcom به وجود آمده است که یکی از قویترین آنها تکنولوژی CORBA است. که امکان تبادل اطلاعات بانکهای اطلاعاتی روی سیستم های مختلف در مکانهای مختلف را فراهم می کند.
● طبقه بندی مدل کاربردی اکتیو ایکس:
معماری اکتیو ایکس در سه لایه پیاده سازی می شوند. در حقیقت این سه لایه، سه دیدگاه در جهت نوع ارتباط شی اکتیو ایکس با خود و محیط بیرون خود است.
در دیدگاه اول ارتباط بین پروسس های داخل یک شی اکتیو ایکس بیان می شود . این پروسها که اجزای تشکیل یک شی اکتیو ایکس هستند می توانندبا هم در ارتباط باشند که این ارتباط بسیار وسیع است که بواسطه دسترسی سریع پروسس ها به یکدیگر است.
در لایه دیگر ارتباط بین پروسس ها بین دو شی اکتیو ایکس بررسی می شود. برای برقراری ارتباط بین دوشی اکتیو ایکس یکی به عنوان Server و دیگری به عنوان Client معرفی می شود. ارتباط بین پروسه های این دوشی توسط تکنولوژی IPC انجام می شود. این تکنولوژی نحوه ارتباط و انتقال اطلاعات بین دو پروسه و یک پروسه با هسته یک سیستم عامل را پیاده سازی می کند.
نوع دیگر ارتباط بین دو شی اکتیو ایکس وجود دارد که در لایه سوم معماری بیان می شود . در این بخش نیز دو شی Server و Client در دو ماشین متفاوت می توانند به انتقال اطلاعات و پروسس ها بپردازند. این ارتباط از طریق پروتکل Dcom بر اساس تکنولوژیهای RPC و DCE انجام می شود.
RPC نحوه فراخوانی یک روتین را روی یک شی در یک کامپیوتر راه دور تشریح می کند و DCE تجهیزات لازم را برای برقراری این ارتباط بین دوشی فراهم می سازد. در حقیقت زیربنای ارتباط توسط DCE پیاده سازی و ارتباط توسط RPC انجام می شود. همانطور که گفته شد CORBA نوعی بانک Client / Server است که از همین پروتکل (Dcom) و تکنولوژیهای RPC و DCE استفاده می کند.
● ویژگیهای اکتیو ایکس:
همانطور که گفته شد اکتیو ایکس بر مبانی تکنولوژی Com بنا نهاده شده است و تمام مزایای آن را داراست. از مهمترین ویژگیهای آن قابل پیاده سازی با زبانهای مختلف برنامه نویسی نظیر VC++ و Java و Delphi و VB است. در حقیقت پس از نوشتن هر قطعه شی اکتیو ایکس در هر زبانی و تبدیل آن به یک بسته نرم افزاری مستقل قابلیت استفاده در همه زبان های برنامه نویسی و صفحات وب را داراست. از دیگر مزایای‌آن امکان کنترل عملکرد آن توسط ابزارهای توسعه بصری فراهم است. همچنین می توان نحوه اجرای شی در زمان طراحی و اجرا را متفاوت در نظر گرفت. از قابلیتهای مهم آن در صفحه وب امکان کنترل شی اکتیو ایکس توسط زبانهای اسکریپتی می باشد که می توانند بسته به نیاز خود از متدهای شی در صفحات وب استفاده کنند و همچنین خواص آنرا به دلخواه خود تغییر دهند.
● تعامل زبانهای اسکریپتی با اکتیو ایکس:
یکی از مهمترین و پرکاربردترین مصارف اکتیو ایکس در صفحات وب است . همانطور که گفته شد اکتیو ایکس برای ایجاد انعطاف پذیری بیشتر و دسترسی بیشتر به منابع سیستم و ایجاد صفحات پویابوجود آمد. اما همانطور که گفته شد شی اکتیو ایکس یک بسته نرم افزاری مستقل است که قابلیت ادغام به برنامه های دیگر را دارد.
بنابراین برای حداکثر استفاده از توابع و امکانات یک شی اکتیو ایکس در صفحه وب از زبانهای اسکریپتی نظیر VbScript , JavaScript برای دسترسی به توابع و اجرای آنها استفاده می شود. بدین منظور در هنگام قراردادن شی اکتیو ایکس در صفحه وب از یک شناسه برای معرفی این شی به عنوان دستگیره ای برای دستیابی زبانهای اسکریپتی به توابع و خواص آن و همچنین تغییر و فراخوانی آن استفاده می شود.
● رابطه اکتیو ایکس و جاوا اپلت:
اکتیو ایکس و جاوا اپلت هر دو اشیای مستقل و یک قطعه نرم افزاری مستقل هستند. اپلت توسط شرکتSun Microsystem ایجاد شد که مایکروسافت برای عقب نماندن از بازار رقابت و همچنین برطرف کردن خلل های موجود اقدام به ایجاد اکتیو ایکس نمود. بهرحال امروز هر دو بعنوان یک Object در نرم افزارهای و برنامه های صفحه وب استفاده می شود . اما به مرور زمان اکتیو ایکس در صفحه رقابت گوی سبقت را ربود و فعلاً در صحنه یکه تاز این فن آوری می باشد .
در سیستم عامل ویندوز اپلت های جاوا می توانند از طریق Jvm یا زبان مجازی جاوا که خود یک شی اکتیو ایکس است با اشیای اکتیو ایکس ویندوز ارتباط برقرار کنند. این ارتباط می تواند در قالب هر دو لایه معماری اکتیو ایکس یعنی ارتباط Client/Server در یک ماشین یادر دو ماشین راه دور باشد.
● نتیجه:
اکتیو ایکس اولین و تنها تکنولوژی مبتنی برشی بود که توانست به موفقیت اقتصادی دست پیدا کند و امروزه از آن برای طراحی وب سایتهای بزرگ استفاده می شود و این به دلیل امنیت بالای آن است.
با ظهور اکتیو ایکس نسل جدیدی از زبانهای طراحی صفحات وب نظیر PHP , (Asp.Net) پا به عرصه ظهور نهادند و عصر جدیدی را در طراحی صفحات وب مهیا کردند.
● علامات اختصاری:
▪ RPC : Remote Procedure Call
▪ DCE : Data Communication equipment
▪ IPC : Inter Process Communication
▪ GUI : Graphical Use Interface
▪ OLE : Object Linking and embedding
▪ REXX : Restructured extended Executor
▪ ODBC : Open Database Connectivity
منبع : مرکز توسعه و تبادل دانش فناوری اطلاعات