جمعه, ۱۰ فروردین, ۱۴۰۳ / 29 March, 2024
مجله ویستا

سرویس های وب XML


سرویس های وب XML
● اصول اولیه سرویس های وب XML
سرویس های وب XML ، بعنوان بلاک های اولیه برای ایجاد برنامه های توزیع شده در اینترنت مورد توجه جدی قرار گرفته اند. وجود استانداردهای مطلوب برای ارتباط برنامه ها با یکدیگر باعث شده است که سرویس های وب XML بعنوان یک پلات فورم قابل قبول برای ارتباط بین برنامه ای مطرح گردند. هر برنامه با استفاده از چندین سرویس وب XML ، ایجاد خواهد شد. منابع ارائه دهنده سرویس های وب می توانند متفاوت بوده و در عین حال امکان ارتباط آنها با یکدیگر صرفنظر از محل استقرار و نحوه پیاده سازی ، وجود خواهد داشت . تاکنون تعاریف متفاوتی از سرویس های وب ارائه شده است ، برآیند تمامی تعاریف فوق را می توان بصورت زیر خلاصه نمود .
سرویس های وب XML ، باعث ارائه قابلیت ها و توانائی های مطلوب برای کاربران وب از طریق بکارگیری یک پروتکل استاندارد وب می گردد. پروتکل فوق SOAP نامیده می شود.
سرویس های وب XML ، سرویس های وب قادر به تشریح اینترفیس مربوط به خود بهمراه جزئیات مناسب بوده تا از این طریق کاربران بتوانند برنامه های سرویس گیرنده ای را ایجاد نمایند که قادر به گفتگو با برنامه مورد نظر باشند. برای تشریح عملکرد هر یک سرویس های وب از سندهای با نوع XML استفاده شده که WSDL)Web services Description Language) نامیده می شوند.
سرویس های وب می بایست ریجستر شده تا از این طریق کاربران قادر به یافتن آنها در زمان مناسب باشند. عملیات فوق توسط UDDI)Universal Discovery Description and Integration) انجام خواهد گرفت .
در این مقاله به هر یک از تکنولوژیهای فوق اشاره خواهد شد . قبل از پرداختن به موارد فوق ، لازم است با سرویس های وب بیشتر آشنا شده و به ضرورت های استفاده از آنان واقف گردیم .
یکی از اولین مزایای سرویس های وب XML ،امکان نوشتن برنامه ها با زبانهای برنامه نویسی متفاوت و بر روی پلات فورم های گوناگون، بگونه ای است که هر یک از آنان بر اساس یک روش استاندارد قادر به برقراری ارتباط با یکدیگر باشند . از دیگر مزایای سرویس های وب XML ، استفاده این سرویس ها از پروتکل های استاندارد وب نظیر : ,XML و HTTP,TCP/IP است .
سرویس های وب XML ، سرویس های نرم افزاری بوده که با استفاده از SOAP بر روی وب بکارگرفته شده و توسط یک فایل WSDL تشریح و بکمک UDDI ریجستر خواهند شد.
● قابلیت های سرویس های وب XML
هدف اولیه سرویس های وب ، ارائه اطلاعات لازم برای استفاده در سایر برنامه ها بود.اطلاعات وضعیت آب و هوا ، نتایج مسابقات ورزشی و ... نمونه هائی از اولین کاربردهای سرویس های وب می باشند . بهرحال می توان مجموعه وسیعی از برنامه ها را تصور نمود که می توان آنها را ایجاد تا پس از پردازش های مناسب بر روی اطلاعات ، نتایج با استفاده از روش های متفاوتی ارائه گردند . مثلا" می توان یک صفحه Excel را که شامل خلاصه اطلاعاتی در رابطه با وضعیت سهام ،موجودی بانک است ، ارائه کرد. در صورتیکه اطلاعات فوق توسط سرویس های وب XML ، ارائه گردند ، برنامه Excel قادر به بهنگام سازی پیوسته آنان خواهد بود. دستیابی به برخی از این اطلاعات بصورت رایگان بوده و برا ی استفاده از برخی دیگر، می بایست به عضویت سرویس در آمد. اطلاعاتی از این نوع در حال حاضر نیز بر روی وب وجود دارد ، ولی با استفاده از سرویس های وب، می توان با اتکاء بر روش های مدرن برنامه نویسی به آنها دستیابی و قطعا" در این راستا نتایج در مدت زمان کوتاهتر و با اعتبار بیشتر ایجاد خواهند شد .
طراحان و پیاده کنندگان نرم افزار این امکان را خواهند داشت که با بکارگیری نرم افزارهای فعلی بهمراه سرویس های وب ، به آفرینش نرم افزارهای جدیدی همت گمارند که خشت خشت آنها از سرویس های وب ایجاد شده باشد. مثلا" یک شرکت می تواند نرم افزاری برای خرید و فروش را طراحی نماید که بصورت اتوماتیک بهای کالاها را از فروشندگان متفاوت اخذ نماید.در این حالت کاربران می تواتند یک کالا را از یک تولید کننده خاص انتخاب و سفارش خود را ثبت نمایند.برنامه فوق از زاویه فروشندگان ، می تواند دارای یک سرویس وب مجزاء برای بررسی کارت اعتباری خریدار نیز باشد. در آینده با سرویس های وب XML ، متعددی مواجه خواهیم بود که مسئولیت لجستیک اطلاعاتی و عملیاتی برنامه های وب را برعهده خواهند گرفت . رویکرد فوق دستاوردهای بسیار بزرگی را برای جامعه بزرگ بشریت خصوصا" شهروندان اینترنت بدنبال خواهد شد .
● SOAP
SOAP ، پروتکل ارتباطی برای سرویس های وب XML است . با اینکه SOAP یک پروتکل ارتباطی است ،اما اغلب آن را با DCOM و یا CORBBA مشابه دانسته و سوالاتی نظیر : " چگونه SOAP باعث فعال شدن یک شی می گردد؟" و یا " از چه سرویس نامگذاری SOAP استفاده می کند ؟" مطرح می نمایند . با اینکه یک نمونه از نسخه های پیاده سازی شده توسط SOAP ، شاید دلایلی بر صحت ادعاها و یا استنباطات فوق باشد ، ولی استاندارد SOAP، بگونه ای است که موارد فوق را در بطن خود لحاظ نخواهد کرد . SOAP ، فرمت پیامهای XML را مشخص می کند. در صورتیکه دارای بخشی شامل کدهای XML باشیم که بین عناصر SOAP قرار گرفته باشند، می توان این ادعا را داشت که دارای یک پیام SOAP هستیم . SOAP ، دارای مشخصه های دیگری است که نحوه ارائه داده بصورت XML را تشریح و نحوه استفاده از SOAP برای RPC را مشخص خواهد کرد. بخش های اختیاری فوق، امکان ایجاد نرم افزارهای مبتنی بر RPC را فراهم خواهد کرد . در این نوع نرم افزارها یک پیام SOAP ، شامل فراخوانی یک تابع بهمراه پارامترهائی است که از طریق سرویس گیرنده ارسال خواهند شد. درادامه ، سرویس دهنده پیامی را بهمراه نتیجه اجرای تابع برای سرویس گیرنده ارسال خواهد کرد. اغلب نسخه های پیاده سازی شده SOAP ، از برنامه های مبتنی بر RPC همچنان حمایت می کنند . شناخت مناسب برنامه نویسان از تکنولوژیهای COM و یا CORBA دلیلی بر حمایت فوق است . SOAP ، همچنین از برنامه های Document Style حمایت می کند. در این نوع برنامه ها ، پیام SOAP صرفا" بصورت یک Wrapper همراه سند XML است . برنامه های SOAP با سبک Document-Style کاملا" انعطاف پذیر بوده و اغلب سرویس های جدید وب XML ،از انعطاف پذیری فوق برای ایجاد سرویس هائی که پیاده سازی آنان توسط RPC مشکل است، استفاده می نمایند. آخرین بخش اختیاری در SOAP ، نحوه برخورد با پیام های SOAP را که از پیام های Http استفاده می کنند، تشریح می کند. Http ،توسط اغلب سیستم های عامل حمایت شده و پرداختن به آن می تواند از زاویه فوق حائز اهمیت باشد. بنابراین تمامی نسخه های پیاده سازی شده SOAP ، نیز از آن حمایت می نمایند. تقریبا" اغلب سرویس های وب XML ،از Http استفاده می نمایند یکی از مسائل مهم در رابطه با شروع استفاده از SOAP ، وجود اختلاف بین ویژگی ها و خصایص هر یک از نسخه های پیاده سازی شده SOAP است . اغلب افرادیکه از SOAP استفاده می نمایند ، پیام های SOAP را مستقیما" نمی نویسند .در این راستا از نرم افزارهای مربوطه (SOAP Toolkit) برای ایجاد و تفسیر پیام های SOAP استفاده می کنند. این نوع نرم افزارها ،عموما" باعث ترجمه توابع صدا زده شده از یک نوع زبان برنامه نویسی به یک پیام SOAP می گردنند. مثلا" برنامه Microsoft SOAP Toolkit ۲.۰ ، باعث ترجمه توابع فراخوانده شده COM به SOAP شده و یا Apache Toolkit توابع فراخوانده شده و نوشته شده به زبان جاوا را به SOAP ترجمه خواهند کرد. نوع توابعی که فراخوانده شده و نوع داده ها ی مربوط به پارامترها ، در هر یک از نسخه های پیاده سازی شده SOAP ، با یکدیگر متفاوت بوده و ممکن است تابعی که با یک Toolkit کار می کند با دیگری کار نکند. مسئله فوق مربوط به محدودیت SOAP نبوده و به پیاده سازی یک نسخه خاص از SOAP برمی گردد. SOAP ، تاکنون بر روی سخت افزارها و محیط های نرم افزاری متفاوتی پیاده سازی شده است . این بدان معنی است که SOAP ، قادر به برقراری ارتباط سیستم های مجزای درون سازمانی و برون سازمانی است . در سال های اخیر، تلاش های گسترده ای برای ایجاد یک پروتکل ارتباطی بمنظور ارتباط سیستم ها با یکدیگرانجام شده است ولی تاکنون هیچکدام از آنها به مرزهای موفقیت SOAP دست پیدا نکرده اند، سادگی و کوچک بودن SOAP نسبت به سایر پروتکل های مدعی در این زمینه ، از دلایل موفقیت آن می باشد . ویژگی های منحصربفرد Http و سادگی SOAP باعث گردیده که استفاده از آنان برای پیاده سازی سرویس های وب XML ایده آل باشد .
● WSDL
WSDL ، مکانیزمی برای تشریح سرویس های وب است . یک فایل WSDL خود یک سند XML بوده که مسئولیت تشریح مجموعه ای از پیام های SOAP و نحوه تبادل پیام ها را تشریح خواهد کرد. بنابراین محتویات اینچنین فایل ها بسادگی قابل خواندن و ویرایش توسط اغلب برنامه های نرم افزاری خواهد بود. بمنظور بررسی نقش این نوع فایل ها ، تصور نمائید می خواهید یک متد SOAP را که توسط یک سازمان تجاری دیگر ارائه شده است را ، استفاده نمائید . در چنین حالتی می توان ، از سازمان مربوطه درخواست تعدادی پیام نمونه SOAP را کرده و برنامه خود را بگونه ای که قادر به تولید و مصرف پیامهای مشابه با نمونه های ارائه شده باشد، طراحی و پیاده سازی کرد . در عمل، روش فوق با اشکالات متعددی مواجه خواهد شد . مثلا" ممکن است یک شماره شناسائی (ID) با مقدار ۲۸۳۷ را مشاهده و آن را بصورت یک عدد صحیح تفسیر در صورتیکه مقدار فوق یک رشته باشد . WSDL ، مشخص خواهد کرد که یک درخواست پیام می بایست شامل چه مواردی بوده و پیام ارائه شده بعنوان پاسخ ، می بایست شامل چه مواردی و به چه صورت باشد. فایل های ،WSDL علاوه بر مسئولیت تشریح پیامها ،قادر به تشریح محل استقرار سرویس بهمراه پروتکل ارتباطی برای ایجاد ارتباط با آن، نیز می باشند . این بدان معنی است که یک فایل WSDL ، تمامی موارد ضروری برای نوشتن یک برنامه جهت درگیر شدن با یک سرویس وب XML را دارا می باشد . در این راستا ، می توان از ابزارهای متفاوتی جهت خواندن یک فایل WSDL و تولید کدهای مورد نیاز برای ایجاد ارتباط با یک سرویس وب XML استفاده کرد. برخی از ابزارهای فوق ، بهمراه ویژوال استودیو دات نت ارائه شده است . اغلب بسته های نرم افزاری SOAP ، شامل ابزارهائی برای تولید فایل های WSDL بوده ولی در رابطه با نوشتن فایل های WSDL (بصورت مستقیم) ابزارهای محدودتری وجود دارد.
● UDDI
UDDI ، بعنوان Yellow page ( کتاب زرد ) برای سرویس های وب تلقی می گردد. در این نوع کتاب ها ، بسادگی می توان عملیات جستجو برای یافتن یک شرکت جهت انجام یک سرویس خاص را انجام داد. در صورتیکه عمل جستجو با موفقیت همراه باشد ، می توان بمنظور اخذ اطلاعات تکمیلی با شرکت مربوطه ارتباط برقرار کرد . در صورتیکه یک سرویس در UDDI ریجستر نگردد،حوزه دستیابی سایر متقاضیان به سرویس فوق ، بسیار محدود خواهد شد. دایرکتوری UDDI ، یک فایل XML بوده که یک فعالیت تجاری و سرویس های ارائه شده توسط آن را تشریح خواهد کرد. هر موجودیت در دایرکتوری فوق از سه بخش اساسی تشکیل شده است :
White Pages ، شامل شرکت های ارائه دهنده خدمات بهمراه مولفه های اطلاعاتی نظیر نام ،آدرس و شماره تماس و ... است .
Yellow Pages، شامل گروه های متفاوت صنعتی بر اساس استانداردهای رایج جهانی است .
Green Pages، شامل جزئیات لازم برای اینترفیس سرویس بوده ،تا زمینه استفاده از سرویس فوق برای سایر برنامه نویسان فراهم گردد .
بمنظور تعریف سرویس ها در UDDI از روش های Type Model و یا tModel استفاده می گردد . در روش tModel از یک فایل WSDL بمنظور تشریح اینترفیس SOAP استفاده می گردد. دایرکتوری UDDI شامل امکانات متعددی برای جستجوی سرویس های مورد نیاز برای ایجاد یک برنامه است . مثلا می توان عملیات جستجو را بر اساس محل فیزیکی سازمان ارائه دهنده سرویس ، نوع ( گروه ) سازمان ارائه دهنده سرویس و ... انجام داد. پس از جستجو ، دایرکتوری UDDI اطلاعات مورد نظر شامل نحوه تماس ، ارتباطات ، اطلاعات فنی و سایر مواردیکه امکان استفاده از سرویس را فراهم می نمایند ، می باشد . UDDI امکان یافتن یک فعالیت تجاری خاص بمنظور اخذ سرویس های وب ، نیز را فراهم می نماید . در صورتیکه نسبت به سازمان ارائه دهنده سرویس شناخت لازم وجود داشته باشد ، ولی نسبت به نوع سرویس های ارائه شده توسط آن سازمان شناختی وجود نداشته باشد ، می توان با استفاده از WS-Inspection در بین مجموعه ای از سرویس های وب موجود بر روی یک سرویس دهنده خاص ، حرکت تا از این طریق بتوان سرویس مورد نظر برای تامین خواسته مورد نظر را پیدا کرد .
● خلاصه
در این مقاله به بررسی نحوه گفتگو با سرویس های وب (SOAP) ،نحوه تشریح سرویس های وب (WSDL) و نحوه یافتن سرویس های وب (UDDI) پرداخته شد . با اینکه برای استفاده از سرویس ها ی وب فعالیت های گسترده ای انجام شده است ولی هنور مسائلی نظیر : امنیت ،مدیریت عملیاتی ،پیامهای مطمئن و موارد دیگری وجود دارد که می بایست برای آنها نیز راهکارهای مناسب ارائه گردد. معماری Global XML web Services ، با هدف افزودن قابلیت های جدید و پیشرفته به سرویس های XML ، مطرح گردیده است که هم بصورت ماژولار بوده و هم قابل توسعه خواهند بود . ماژول های WS-Security و WS-License بعنوان بخشی از مشخصه های معماری فوق مطرح می گردنند. مدیریت عملیاتی سرویس های وب ، مستلزم داشتن یک سیستم Routing Message از طریق سرویس دهندگان متعدد و پیکربندی مناسب آنها بصورت پویا برای پردازش است . WS-Routing و WS-Referral ، بعنوان ماژول هائی در معماری فوق ، مسئولیت های اشاره شده را دنبال خواهند کرد .
منبع : شرکت سخاروش


همچنین مشاهده کنید