منبع: وارنا وب
با فراگیر شدن اینترنت و استفاده گسترده این پرسش مطرح گردید، که آیا می توان بین برنامه های دو کامپیوتراز طریق اینترنت ارتباط برقرار کرد؟ یعنی یک برنامه از داده ها یا توابع برنامه دیگر در شبکه یا اینترنت میتواند استفاده کند؟
فرض كنيد در حال نوشتن یک برنامه هستید كه جهت دستيابي به برخي داده ها، نياز به ارتباط با برنامه ي ديگري داريد. مثلا برنامه ي java را در نظر بگيريد كه اطلاعات آب وهوا در آن در هر 5 دقيقه به روزمی شود و جهت ساده سازي پردازش مي خواهيد اين اطلاعات را از ساير برنامه ها به دست آوريد. يكي از راه هاي برقراري اين ارتباط، مرتب سازي اشياي جاوا و ارسال به برنامه ي مورد نظر است، اما اگر برنامه ي مقصد با زبان دیگری باشد، قادر به استفاده از اشياي آماده شده توسط برنامه ي جاوا نيست و فرآيند تبادل اطلاعات با مشكل مواجه مي شود و قادر به انجام این کار نیستید!
رويكرد ديگر ارسال داده ها است که مشكل روش قبل را ندارد، زيرا اكثر زبان ها توانايي خواندن فايلهاي متني را دارند. بنابراين، با تعيين يك فرمت داده توافقي بين اين دو برنامه ميتوان داده ها را انتقال داد. اما اين رويكرد با مشكل ديگري رو به رو است. فرض كنيد برنامه ي نظر علاوه بر اطلاعات هواشناسی، نياز به اطلاعات ديگري را هم دارد و براي دستيابي به اين داده ها نياز به تعامل با برنامه هاي ديگري است كه ممكن است با زبان هاي مختلفي نوشته شده باشند واز فرمت خاص خود جهت تبادل اطلاعات استفاده كنند. بنابراين، يافتن برنامه اي هماهنگ با فرمت داده هاي برنامه ي مورد نظر، نيازمند جستجوي زمانبري است.
راه حل مناسب براي حل دو مشكل بالا، استفاده از يك فرمت فايل يكسان است، فرمتي كه مستقل از پلتفرم بوده و براي همه ي برنامه ها قابل استفاده باشد.
معرفی وبسرویس
از آن جا كه وبسرويس ها بر پايه يSOAP و XML ایجاد شده اند می توانند راه حل مناسبی باشند و وبسرویس اين امكان را مي دهد كه با ديگر برنامه ها، حتي اگر آن برنامه ها با زبان هاي مختلف نوشته شده و بر روي سيستم عامل های مختلفي در حال اجرا باشند، ارتباط داشته باشند.به زبان ساده وبسرویس ها برنامه (قطعه کد) هایی هستند که تحت وب قابل دسترسی اند و از طریق پروتکل های استانداردی مانند Http به انتقال و مبادله دیتا با سایر برنامه های کاربردی می پردازند. اساس کار وبسرویس ها بر پایه دریافت و تولید پیغام بنیان گذاری شده است. بدین معنی که آنها منتظر می مانند که کلاینت ها به آنها وصل شده و بنا به درخواست کلاینت ها وبسرویس به آن ها پاسخ می دهد .
پروتکول SOAP
پروتکول soap یکی از عمومی ترین استاندارد هایی است که در وبسرویس ها استفاده می شود. وقتی یک برنامه شروع به ارتباط با وبسرویس می کند، پیغام های SOAP وسیله ای برای ارتباط و انتقال دیتا بین آن دو هستند. یک پیغام SOAP به وبسرویس فرستاده می شود و یک تابع را در آن به اجرا در می آورد، وبسرویس نیز از محتوای پیغام SOAP استفاده کرده و عملیات خود را آغاز می کند و در انتها نیز نتایج را با یک پیغام SOAP دیگر به برنامه اصلی می فرستد.
زبان توصیف وبسرویس (WSDL)
یکی از استانداردهای مهم در وبسرویس ها استاندارد WSDL است. هر وبسرویس دارای یک فایل WSDL می باشد. این فایل به توصیف وبسرویس می پردازد و نحوه استفاده از وبسرویس را توضیح می دهد و به صورت یک فایل متنی با فرمت Xml می باشد که به برنامه ها می گوید که وبسرویس مورد نظر چه ورودی هایی دریافت و چه خروجی هایی را به برنامه برمی گرداند WSDL صرفا برای برنامه طراحی شده است نه برای کاربران .
ثبت وبسرویس (UDDI)
از طریق این استاندارد، ثبت و جستجوی وبسرویس ها در اینترنت فراهم می گردد. این استاندارد توسط شرکت مایکروسافت، IBM و شرکت های بزرگ دیگر تولید شده است. با استفاده از این استاندارد شرکت ها قادرند به مبادله اطلاعات با سایر شرکت ها پرداخته و مدل B2B ایجاد نمایند.