علیرضا صالحی
6 سال پیش توسط علیرضا صالحی مطرح شد
11 پاسخ

تفاوت اصلی بین وب سرویس soap و rest api در چیست

@SeyedMH.Mosavi
@ali.bayat
سلام دوستان لطفا بفرمایید تفاوت اصلی بینه soap و rest api در چی هست..!
و برای پروژه هایی که مثلا یک بار کد بنویسیم و هم در backend وب و هم اندروید و غیره به اون متصل شیم بهتره...
و لطفا بفرمایید وقتی دوتاسایت با هم ارتباط برقرار میکند (مثلا چیلوری و ریحون قراره با هم ترکیب بشن) از کدوم روش معقول هست استفاده شه...


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
1

وب سرویس ها مسئول ارتباطات آنلاین ماشین به ماشین هستند.

SOAP یا (Simple Object Access Protocol) یه پروتوکله که مبتنی بر XML است. مستقل ازپلتفرم و مستقل از زبان است و از فرمت XML استفاده می کند که باعث کمی کند بودن آن میشه. و هنگام کار با آن حجم اطلاعات منتقل شده باید منطبق با SOAP schema باشد.

در حالی که REST (Representational State Transfer) یه سبک معماری به حساب میاد. نیاز به پهنای باند و منابع کمتر از SOAP دارد. محدودیتی در حجم اطلاعات منتقل شده وجود ندارد. مکانیزم error handling بصورت توکار دارد. و ویاده سازیش ساده تره


علیرضا صالحی
@aliunity751 6 سال پیش مطرح شد
0

@ali.bayat
خیلی ممنون از پاسختون لطفا بفرمایید که
در بانک ها معمولا از کدوم استفاده میشه...
و برای ارتباط بینه دوسایت با هم کدوم معقول هست (مثلا در php برای rest باید از CURL استفاده کرد و soapClient برای soap )


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
0

در سیستم های بانکی دارند هنوز از SOAP استفاده میکنند.
برای استفاده از REST خیلی راحت میتونید از طریق جاوااسکریپت و کتابخونه هایی مثل axios این کارو انجام بدید و راه php هم که استفاده از CURL هست. اما عموما از ارسال و دریافت توسط axios استفاده میشه


علیرضا صالحی
@aliunity751 6 سال پیش مطرح شد
0

آیا curl روش بهینه ای هست برای اینکه یک سایت کلا با هاش بالا بیاد یا روش بهینه دیگری هم هست


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
0

خیر. ببینید ارسال درخواست CURL یا استفاده از پروتوکل SOAP ... همه مقداری زمان بره. این درخواست باید ارسال بشه. سمت سرور پردازش بشه و برگرده و شما ازش استفاده کنید. هر چند REST سرعت قابل قبول تری داره.

در مورد سوال شما، چرا باید همچین کاری کرد؟ اگر سناریوی خاصی در نظر دارید که هیچ وگرنه اصلا علتی نداره این کارو انجام بدیم.


علیرضا صالحی
@aliunity751 6 سال پیش مطرح شد
0

@ali.bayat
من میخواستم یک بار وب سرویس بنویسم و اطلاعات فرانت سایت , لوگین شدن , ثبت نام و خیلی چیزهایه دیگه که بینه app و سایت مشترک هست رو یک بار بنویسم و در فرانت سایت با php به وب سرویسی که نوشتم متصل شم و انجام بدم به نظر شما منطقی هست
چون در آینده دیگه هم کد ها کم تر میشه هم مدیریت ساده تر


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
0

اگر قرار باشه از PHP استفاده کنید که دیگه نیازی به وب سرویس نیست. با خود PHP تمام کارهای مربوط به منطق برنامه رو مستقیما انجام میدید.

وب سرویس مواقعی استفاده میشه که شما بخواهید از زبان دیگری به غیر از PHP استفاده و به اطلاعات بک‌اند دسترسی داشته باشید. مثلا در فریم ورک های جاوااسکریپتی مثل React, Vuejs, angular و غیره.. و یا هنگامی که روی اپ موبایلی (Andriod or iOS) میخواهید به سرور php وصل شده و اطلاعاتی بگیرید.


علیرضا صالحی
@aliunity751 6 سال پیش مطرح شد
0

@ali.bayat
من برای کاهش کد نویسی میگم که یک بار برای وب نزنیم و یک بار اندروید


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
0

من سعی کردم در حد دانشم براتون توضیح بدم. و به روش های معمول استفاده از API هم اشاره کردم.

و در جواب شما: "من برای کاهش کد نویسی میگم که یک بار برای وب نزنیم و یک بار اندروید"
شما ابتدا برای پلتفرم وب منطق برنامه رو می‌نویسید و بعد اگر API هم لازم داشتید خیلی راحت همون منطق رو به Route های API هم منتقل می‌کنید. این جوری نیست که ۲ بار کاملا مجزا کدنویسی کنید.

موفق باشید


علیرضا صالحی
@aliunity751 6 سال پیش مطرح شد
0

@ali.bayat
خیلی ممنون از پاسخ گویی شما...


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
0

خواهش میکنم. امیدوارم مطلب رو کاملا درک کرده باشید.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام