وب سرویس به زبان ساده
نرم افزار های کامپیوتری هم مانند بسیاری دیگر از ابزار های زندگی مثل اتومبیل، از ابتدا به شکل پیشرفته امروزی نبوده اند و در روز های آغازین دارای ظاهری ساده بودند.
این ظاهر ساده به معنای عدم وجود رابط های کاربری مانند منو ها، دکمه ها، تکست باکس های ورود اطلاعات و .. بوده است. در ابتدا کاربران برای برقراری ارتباط با نرم افزار ها تنها میتوانستند از طریق محیط های دستوری یعنی چیزی شبیه به محیط command prompt در سیستم عامل های ویندوز امروزی، با نرم افزار ها ارتباط برقرار کنند؛ با گذشت زمان و بهبود گرافیکی و رابط کاربری نرم افزار ها به جایی رسیدیم که کاربران با کمترین سختی میتوانند ارتباط لازم را از طریق محیط های گرافیکی با نرم افزار ها برقرار کنند.
اما برقراری ارتباط با نرم افزار ها تنها توسط افراد و از طریق رابط های کاربری انجام نمیشود. گاهی اوقات در برخی از بستر های نرم افزاری این نرم افزار ها هستند که با یک دیگر تعامل دارند.
در محیط نرم افزاری عملیاتی رخ میدهد و این عملیات دارای ورودی ها و خروجی هایی است. ممکن است بنا به دلایلی لازم باشد خروجی و نتیجه این عملیات ها نیازمند ارسال به نرم افزار های دیگر باشد. در اینجاست که روش دوم برقراری ارتباط با نرم افزار ها یعنی وب سرویس ها یا API ها وارد گود میشوند.
در چنین حالتی نرم افزار ها هم زمان در مقابل یکدیگر نقش سرویس دهنده و سرویس گیرنده را خواهند داشت. نرم افزار A عملیاتی انجام میدهد که عامل این عملیات یا خود نرم افزار به صورت اتوماتیک است و یا کاربری که با نرم افزار کار میکند. نتیجه این عملیات یا خروجی آن از طریق یک وب سرویس به نرم افزار B که در محیط دیگر در حال اجرا است ارسال میشود. نرم افزار گیرنده در طرف مقابل باید اعلام کند که آیا نتیجه به دستش رسیده یا خیر. بعد از اعلام نتیجه دریافت باید نتیجه پردازش اطلاعاتی که دریافت کرده را به سیستم یا نرم افزار ارسال کننده درخواست ارسال کند.
در چنین پیاده سازی، فرایند ها باید در هر دو طرف نرم افزاری درخواست کننده و درخواست گیرنده به صورت هماهنگ با یکدیگر پیاده سازی شوند. یک طرف نیاز های اطلاعاتی خود، انواع نیاز ها و فرمت ها را اعلام میکند، طرف مقابل باید بر اساس این اعلامیه ها، درخواست ها و اطلاعات خود را ارسال کند.
برای دریافت نتیجه مناسب از چنین فرایند هایی باید هر دو سیستم به صورت پایدار عمل کنند و اگر یکی از سیستم ها دچار اختلال شود، طبیعتا سیستم مقابل هم این اختلال ها را بروز خواهد داد.
نظرات