مقاله مفاهیم اولیه سرویس های وب

مقاله مفاهیم اولیه سرویس های وب

مفاهیم اولیه سرویس های وب – بخش اول سرویس های وب ، نقطه عطفی در معماری برنامه های توزیع شده بر روی اینترنت می باشند . بدون شک،  یکی از مهمترین تحولات در زمینه برنامه های توزیع شده  ، مطرح شدن سرویس های وب است  که  تاثیرات فراوانی را در رابطه با وضعیت نرم افرار خصوصا” بر روی  اینترنت بدنبال خواهد داشت . ما شاهد  نقطه عطفی در ظهور نسل جدیدی از برنامه های کامپیوترهای با قابلیت استفاده بر روی بستر وب ،  خواهیم بود که گفتمان برنامه ها در عرصه جهانی  را محقق خواهد کرد ( تحقق آرزوئی بزرگ برای صنعت نرم افزار) .

در مجموعه مقالاتی که بدین منظور نوشته خواهد شد به بررسی اصولی سرویس های وب و جایگاه آنان در فرآیند طراحی و پیاده سازی برنامه های توزیع شده پرداخته می گردد . در این راستا لازم است در ابتدا به مقاهیم اولیه برنامه های توزیع شده ، تکامل تدریجی برنامه های توزیع شده ، محدودیت های موجود در رابطه با معماری برنامه های توزیع شده   ، رویکردهای متفاوت بمنظور طراحی و پیاده سازی برنامه های توزیع شده ، پرداخته گردد تا  زمینه علمی مناسب، برای پرداختن به مفاهیم اولیه سرویس های وب فراهم گردد .

مقدمه
قبل از ابداع کامپیوترهای شخصی،  عملا” برنامه های توزیع شده ای  وجود نداشته است . در آن دوران ، استفاده از کامپیوتر،  شامل نشستن پشت یک ترمینال و برقراری ارتباط با یک سیتستم بزرگ (Mainframe) بود. با اینکه ترمینال ها در  چندین ساختمان و یا حتی محل فیزیکی قرار می گرفتند ،  ولی عملا”  یک کامپیوتر مرکزی وجود داشت که مسئولیت  انجام تمامی پردازش ها و ذخیره سازی  داده ها را برعهده می گرفت .

تعریف برنامه توزیع شده
با ابداع مینی کامپیوترها و کامپیوترهای شخصی،  فعالیت های غیرمتمرکز،  در دو زمینه پردازش و ذخیره سازی ،  آرزوئی دست یافتنی گردید. با طراحی برنامه های  توزیع شده ،  امکان پردازش و ذخیره سازی داده ها از حالت متمرکز خارج گردید.یک برنامه توزیع شده،   برنامه ای است که پتانسیل های پردازشی آن ممکن است توسط چندین کامپیوتر فیزیکی تامین  و داده های آن در چندین محل فیزیکی،  مستقر شده باشد .

چرا به برنامه های توزیع شده نیاز داریم ؟
در این رابطه دلایل متعددی عنوان می شود که مهمترین آنان عبارتند از :

  • هزینه سیستم های Mainfarme  . یکی از اولین دلایل مهم ، هزینه های بالای سیستم های Mainframe است . این مسئله از دو زاویه متفاوت قابل بررسی است : هزینه بالای سرمایه گذاری اولیه که بسیاری  از سازمان ها و موسسات توان مالی آن را ندارند و دوم اینکه در این مدل ، دارای صرفا” یک نقطه  آسیب پذیر با ریسک بالا می باشیم .
  • مالکیت اختصاصی داده ها. یکی از فاکتورهای مهم دیگر،  سیاست های مربوط به مالکیت داده ها است . سازمان ها و موسسات که  دارای داده های اختصاصی خود می باشند،  علاقه مند به واگذاری مسئولیت مدیریت داده های مربوطه ،  به سایر مکان های فیزیکی نمی باشند .
  • امنیت . یکی دیگر از فاکتورهای مهم در این زمینه موضوع امنیت است . برای یک سازمان ،  اولا” دستیابی به اغلب داده های آن می بایست بسادگی محقق گردد و ثانیا”  داده ها ی حساس موجود در  سازمان می بایست از بعد امنیتی،  ایمن نگهداری گردند . تامین دو خواسته فوق ( رویکردهای رقابتی  و رویکردهای امنیتی ) با جدا سازی فیزیکی داده ا از یکدیگر محقق خواهد شد ( انباشت داده ها، با نگرش های متفاوت در رابطه با سرعت در دستیابی و ایمن در ذخیره سازی ، ضرورت وجود برنامه های توزیع شده را بخوبی نمایان می سازد )

مسائل فوق،   ضرورت حرکت بسمت ایجاد یک الگوی جدید بمنظور طراحی برنامه های کامپیوتری را مطرح و بر همین اساس نسل جدیدی از برنامه های کامپیوتری با عنوان ” برنامه های توزیع شده” در عرصه نرم افزار بوجود آمد .

برنامه های توزیع شده و ارائه دهندگان سرویس
با توجه به ضرورت و تعجیل در طراحی یک الگوی جدید برای برنامه های توزیع شده و عدم وجود استانداردهای صنعتی لازم در این خصوص ،  شرکت های عظیم نرم افزاری هر یک با توجه به دیدگاه های خود ،  اقدام به عرضه راهکارهائی در این زمینه نمودند.شرکت های فوق،  در رابطه با اینکه  می بایست  برنامه های توزیع شده بصورت عناصر توزیع شده ،  تولید گردند ،  اتحاد نظر داشتند . بدین ترتیب  عناصر متفاوت و توزیع شده در یک برنامه، بعنوان ارائه دهندگان سرویس به یک برنامه منطقی ایفای وظیفه می نمایند. با توزیع قابلیت ها و پتانسیل ها ،  امکانات اساسی( بلاک های اولیه )  بمنظور ایجاد برنامه های بزرگ،  بسادگی فراهم می گردد . رویکرد فوق ،  مسائل و تبعات خاص خود  را بدنبال داشت که در ادامه به بررسی برخی از آنان  خواهیم پرداخت .

برنامه های توزیع شده  و وب 
با اینکه اینترنت بیش از بیست سال است بوجود آمده است ولی صرفا” در اواسط دهه ۱۹۹۰ به این موضوع توجه گردید،  که اینترنت زیر ساخت مناسب و مهمی برای ایجاد برنامه های توزیع شده است . پروتکل های ساده مبتنی بر متن در ابتدا بمنظور مبادله سرویس های درخواستی و ارسال اطلاعات بر روی اینترنت پیاده سازی گردید . گسترش و پذیرش چنین پروتکل هائی، باعث شد که اینترنت بعنوان یک محیط موفق برای برنامه های توزیع شده، مطرح گردد. بدین ترتیب در مقابل سروکار داشتن با تکنولوژی های رقابتی و اغلب انحصاری، وجود استانداردهای وب ،  دلیلی موجه برای توجه جدی به وب بعنوان بستری مناسب برای طراحی و پیاده سازی برنامه های توزیع شده، گردید.

مسائل مربوط به برنامه های توزیع شده سنتی
پیاده سازی برنامه های توزیع شده مستلزم استفاده از تکنیک ها و مدل های جدید است . راهکارهای انتخابی و استفاده شده ،  خود باعث بروز مسائل جدید نیز خواهند شد. در این بخش به بررسی مسائل مرتبط با طراحی برنامه های توزیع شده  پرداخته و  دو معماری خاص در این زمینه را بررسی خواهیم کرد :

  •  معماری RPC)Remote Procedure Call-based)
  •  معماری مبتنی بر پیام (Message-based)

ملاحظات مربوط به  طراحی برنامه های توزیع شده 
در زمان طراحی برنامه های توزیع شده مسائل متعددی وجود دارد که می بایست به آنها توجه کرد :

  • نوع داده های متفاوت . سیستم های عامل متفاوت،  انواع مختلفی از نوع داده ها را حمایت می نمایند. در برخی موارد ،  نوع داده ها در سیستم های عامل متفاوت کاملا”  با یکدیگر سازگار، نمی باشند . بنابراین می بایست از راهکارهای مناسب بمنظور برخورد منطقی با نوع داده های متفاوت موجود در سیستم های مختلف ،   استفاده گردد.
  • بروز اشکال در سرویس دهنده . با توجه به اینکه عناصر یک سیستم توزیعی،  عموما” بصورت از راه دور اجراء می گردند، ما دارای چندین نقطه ( مکان) برای بروز اشکال خواهیم بود. بروز اشکال در یکی از نقاط ،  می تواند باعث بروز مسائل عمده ای در رابطه با عملکرد تمام برنامه توزیع شده گردد. بنابراین می بایست راهکارهای مناسب در خصوص مواجه شدن با چنین مواردی،  اتخاذ گردد .
  • بروز اشکال در سرویس گیرنده . در صورتیکه سرویس دهنده ای وضعیت خاصی را ازطرف سرویس گیرنده ،  اخذ و  ذخیره می نماید و سرویس گیرنده با اشکال مواجه گردد،  می بایست از روشی بمنظور اعلام بروز اشکال به سرویس دهنده استفاده کرد. تصمیم گیری و نحوه برخورد با منابع در اختیار سرویس گیرنده نیز از جمله مواردی است که می بایست راهکارهای آن بدرستی مشخص گردد.
  • تلاش برای فراخوانی مجدد . در صورتیکه یک متد از راه دور فراخوانده شود و از طرف سرویس دهنده واکنش لازم داده نشود،  نباید تلاش مجددی برای فراخوانی متد صورت پذیرد. مثلا” در صورتیکه متدی برای محاسبه هزینه یک سفارش فراخوانده شده و سرویس دهنده درخواستی را دریافت تا سفارش را انجام ولی پاسخ گم گردد منطقی نخواهد بود  سفارش مربوطه مجددا” ارسال گردد .
  • امنیت . در برنامه های توزیع شده فرصت های زیادی برای تهدید های امنیتی وجود دارد . در این راستا لازم است از یکطرف به  مسائل تائید اعتبار و صلاحیت قانونی   و از طرف دیگر به ایمن سازی ارتباطات بین یک سرویس گیرنده و یک سرویس دهنده ،  توجه جدی صورت پذیرد . حفاظت در مقابل انواع حملات اطلاعاتی از چالش های مهم در زمینه ایمن سازی برنامه های توزیع شده است .
  • یکسان سازی زمان (Clock) . عملیات و فرآیندهای متعددی در برنامه های توزیع شده به پارامتر زمان ارتباط خواهد داشت .. مثلا” در یک سیستم سفارشات تا تکلیف وضعیت نحوه پرداخت،  مشخص نگردد نمی توان اقدام به پردازش و ثبت سفارش مربوطه نمود. بنابراین می بایست در رابطه با نحوه همسان سازی کلاک(Clock)  کامپیوترهای متفاوت که در یک برنامه توزیع شده با یکدیگر ارتباط دارند،  تصمیم لازم اتخاذ گردد .

این فایل با کیفیت عالی آماده خرید اینترنتی میباشد. بلافاصله پس از خرید، دکمه دانلود ظاهر خواهد شد. فایل به ایمیل شما نیز ارسال خواهد گردید.

تعداد صفحات: 50

فرمت فایل: WORD