اکتيوايکس و نقش آن در معماری
نام نویسنده: * موحد اصغری
بخش مقاله آى تى ايران – ر اين مقاله سعى شده است تا ابعاد مختلف تکنولوژى اکتيوايکس از جهات کلى شرح داده شود .
همانطور که در بخشهاى بعدى خواهيد ديد ابتدا تعريفى از اکتيوايکس ارايه خواهيم داد سپس مواردى که باعث شد اين تکنولوژى بوجود آيد را از ديدگاههاى مختلف بررسى مى کنيم.
در ادامه از معمارى و لايه هاى اين تکنولوژى و ارتباط آن با شى com به عنوان اساس شى اکتيوايکس را شرح مى دهيم .
در بخشهاى نحوه تعامل زبانهاى اسکريپتى نظير VbScript و JavaScript را با اشياى اکتيوايکس براى ايجاد ويژگيهاى منحصر بفرد در صفحات وِب گفته شده و چگونگى ايجاد اين ارتباط شرح داده شده است.
همچنين نحوه ارتباط اشياى کتيوايکس با اپلتهاى جاوا از طريق ماشين مجازى جاوا به طورنسبتا” قابل ملاحظه اى شرح داده است.
درآخر هم آينده اکتيوايکس بررسى شده است .
ـ اكتيو ايکس چيست:
اكتيو ايکس يك نام تجارى براى مجموعه اى از تكنولوژيها و سرويسهاست كه بر اساس Com بنا شده است . اين تكنولوژى به اجزاى نرم افزارى اين امكان را مى دهد كه صرف نظر از زبانى كه براى توليد آن اجزا استفاده شده ايت با يكديگر در محيطى شبكه شده فعل و انفعال داشته باشند . اكتيو ايکس كه به عنوان استاندارد پيشنهادى در دهه 1990 ميلادى توسط ميكروساخت توسعه يافت، اخيراً تحت مديريت Open Group و بر اساسCom Microsoft ساخته مى شود.
ر حال حاضر اكتيو ايکس براى توسعه محتواى صفحات وب در اينترنت به طور گسترده استفاده مى شود، گرچه در برنامه هاى كاربردى و تجارى و ساير برنامه ها مى تواند فعالانه به عنوان جزئى از نرم افزار نقش داشته باشد. كنترل هاى اكتيو ايکس را مى توان در صفحات تعبيه نمود، تا تصاوير متحرك و ساير جلوه هاى چند رسانه اى، موضوعات فعل و انفعالى و كاربردهاى پيچيده را ايجاد كنند . كنترل هاى اكتيو ايکس را مى توان با زبانهاى مختلف برنامه نويسى شامل C و++ C ، ويژوال بيسك، Java و دلفى نوشت.
ـ انگيزه ايجاد اكتيو ايکس :
قبل از ايجاد تكنولوژى اكتيو ايکس، صفحات وب، صفحاتى ايستا بدون ويژگيهاى فعل و انفعالى و بسيار ساده و داراى امكانات خدماتى كمى بود . انگيزه اى كه باعث بروز تكنولوژى اكتيو ايکس شد از سه ديدگاه زير نشأت گرفت.
1 – توسعه دهندگان نرم افزارى:
اين گروه درصدد بودند تا تكنولوژيى را فراهم كنند تا به آسانى قابليت ايجاد و ادغام اجزا را براى ايجاد يك نرم افزار داشته باشد . در حقيقت آنها مى خواستند تا يك جز نرم افزارى مستقل و از لحاظ عملكرد و كارايى، اثبات شده را بوجود آورند تا قابليت ادغام به عنوان جزيى از برنامه هاى ديگر را داشته باشد.
2 – تهيه كنندگان وب:
اين گروه نيز نياز مبرمى به تكنولوژيى داشتند تا به سرعت و سهولت با استفاده از آن وب ايتهاى جالب و پربار بسازند. آنها تكنولوژيى مى خواستند تا به آنها امكانات گسترده اى در به كارگيرى از تمام توان سيستم را بدهد. در اين صورت بود كه قادر بودند صفحات وب را همانند برنامه هاى كاربردى و تجارى متناسب با نياز مشترى طراحى نمايند.
3 – كاربران پايانى:
كاربران كه همان عامهْ مردم هستند و به نوعى كاربران اينترنت خطاب مى شوند توجه روزافزون به پيشرفت و تكامل صفحات وب و امكان استفاده گسترده از اينترنت در كاربرد و زندگى روزمره خود داشتند . بنابراين به تكنولوژيى نياز داشتند كه اين صفحات ايستاى وب را پويا و داراى عملكرد بالا براى استفاده گسترده از آن كند.
مجموع اين ديدگاه ها و تقاضاها باعث شد تا اين تكنولوژى به نام اكتيو ايکس براى پاسخ به تقاضاى مشتريان و پيشرفت عرصه تجارى، اقتصادى و … در صفحات وب و نرم افزارهاى كاربردى فراهم شود.
ـ نقش اكتيو ايکس در صفحات وب:
همانطور كه گفته شد يكى از اهداف اصلى ايجاد تكنولوژى اكتيو ايکس استفاده از بسته هاى نرم افزارى بصورت قطعه هايى براى اتصال به صفحات وب است .
در حال حاضر يكى از اركان اصلى صفحات وب پيشرفته در درعرصه تجارى عناصر اكتيو ايکس هستند اين عناصر با دسترسى كامل كه به منابع سيستم دارند امكان استفاده از آخرين فناوريهاى سخت افزارى و نرم افزارى را در يك صفحه وب مير مى سازد. و باعث ايجاد صفحاتى چند رسانه اى و بسيار انعطاف پذير مى شوند.
ـ عناصر متعامل با اكتيو ايکس:
عناصر مختلفى در يك سيستم با عناصر اكتيو ايکس آن سيستم در تعامل هستند. اين عناصر به روشهاى متفاوتى با اكتيو ايکس ارتباط برقرار مى كنند. زبانهاى اسكريپتى يكى از اين عناصر هستند كه در يك صفحه وب در زمان اجرا كنترل يك عنصر اكتيو ايکس را به عهده مى گيرند . از ديگر اين عناصر، اپلتهاى جاوا هستند كه مانند عناصر اكتيو ايکس يك بسته نرم افزارى مستقل هستند. اپلتهاى جاوا و عناصر اكتيو ايکس مى توانند از طريق يك واسطه به نام ماشين مجازى جاوا (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
* کارشناس نرم افزار