بخش های اصلی

وب سرویس ها

وب سرویس چیست؟

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

  • وب سرویس قسمتی از نرم افزاره که روی اینترنت قابل استفاده ست و از سیستم پیام دهیِ استانداردِ XML استفاده میکنه. XML برای رمزگذاری تمام ارتباطات برقرار شده با وب سرویس، استفاده میشه. برای مثال، کلاینت با ارسال پیام XML، وب سرویسی را فراخوانی می کنه، سپس منتظر پاسخِ XML مرتبط میماند. از آن جایی که تمام ارتباطات با XML صورت میگیرن، وب سرویس ها به هیچ سیستم عامل یا زبان برنامه نویسی ای وابسته نیستن—جاوا می تواند با Perl صحبت کنه (ارتباط برقرار کنه)؛ برنامه های تحت ویندوز می توانند با برنامه های تحت یونیکس ارتباط برقرار کنن.
  • وب سرویس ها، برنامه هایی خوددار (self-contained)، ماژولار و توزیع شده هستن و می توانند برای ایجاد محصولات، پردازش ها و تأمین زنجیره ها، در اینترنت، شرح داده بشن، منتشر بشن، مستقر بشن یا فراخوانی بشن. این برنامه ها، محلی، توزیع شده یا مبتنی بر وب هستن. وب سرویس ها بر اساس استانداردهای بازی (open standards) مثل TCP/IP، HTTP، Java و XML ساخته شدن.
  • وب سرویس ها سیستم های تبادل اطلاعاتی مبتنی بر XML هستن که از اینترنت برای انجام تراکنش های مستقیمِ برنامه ها (برنامه-با-برنامه) استفاده می کنن. این سیستم ها می توانند برنامه، شیء، پیام یا سند باشن.
  • وب سرویس مجموعه ای از پروتکل ها و استانداردهای بازِه (open) که برای تبادل اطلاعات میان برنامه ها یا سیستم ها به کار میره. برنامه های نرم افزاری نوشته شده به زبان های برنامه نویسی مختلف که روی پلت فرم های مختلف اجر میشن، می توانند از وب سرویس ها برای تبادل اطلاعات از طریق شبکه های کامپیوتری (مثل اینترنت، یا شیوه ای مشابهِ ارتباط میان پردازشی در یک کامپیوتر واحد)، استفاده کنن. این قابلیت همکاری (مثل، ارتباط میان جاوا و python یا میان برنامه های ویندوز و لینوکس) به دلیل استفاده از استانداردهای بازِه (open).

بصورت خلاصه، یک وب سرویس کامل، سرویسیِه که:

  • در اینترنت یا شبکه های اختصاصی (اینترانت) موجود باشه.
  • از سیستم پیام دهی استانداردِ XML استفاده کنه.
  • به هیچ سیستم عامل و زبان برنامه نویسی وابسته نباشه.
  • از طریق گرامرهای پرکاربردِ XML خودش را توصیف کنه.
  • با یک مکانیسم ساده ی find (یافتن)، قابل یافتن باشه.

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

پلت فرم پایه ای وب سرویس، XML + HTTP است. همه ی وب سرویس های استاندارد با مؤلفه های زیر کار می کنن

  • SOAP (پروتکل دسترسی آسان اشیاء)
  • UDDI (توضیحات جهانی، کشف و ادغام)
  • WSDL (زبان توصیفِ وب سرویس)

تمام این مؤلفه ها در بخشِ معماریِ وب سرویس ها توضیح داده شده اند.

وب سرویس چطور کار می کنه؟

وب سرویس با استفاده از استانداردهای بازی (open) مثل HTML، XML، WSDL و SOAP، امکان برقراری ارتباط میان برنامه های مختلف را میسر کرده. وب سرویس از موارد زیر کمک می گیره:

  • XML برای تگ کردن داده
  • SOAP برای انتقال پیام
  • WSDL برای توصیف موجود بودن سرویس

می توانید در Solaris که از طریق برنامه ی ویژوال بیسیک که روی ویندوز اجرا میشه، یک وب سرویس جاوای مبتنی بر وب بسازین.

همچنین می توانید از زبان C# نیز برای ساختن وب سرویس های جدیدی استفاده کنین که روی ویندوزهایی که قابل فراخوانی شدن از طریق برنامه های مبتنی بر وبی هستن که مبتنی بر صفحه های JavaServer (JSP) هستن و روی لینوکس اجرا میشن.

مثال

یک حساب مدیریتی و سیستم پردازش سفارشاتِ ساده را در نظر بگیرین. پرسنل حسابداری از یک برنامه ی مبتنی بر کلاینتِ ساخته شده با ویژوال بیسیک یا JSP، برای ایجاد حساب ها و وارد کردن سفارشات جدید مشتریان استفاده می کنن.

منطق پردازش برای این سیستم ها با جاوا نوشته شده  و روی یک ماشینِ Solaris مستقر شده و برای ذخیره ی اطلاعات با پایگاه داده ارتباط برقرار میکنه.

مراحل انجام این عملیات به شکل زیرِه:

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

مبحث آموزشی

وب سرویس ها

Web Services

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

تبلیغات

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد