چه دوره ای می خواهید یاد بگیرید؟

آینده خود را با دوره های آموزشی دانشجویار تضمین کنید

بیش از ۱۰ هزار ساعت ویدئوی آموزشی

بیش از ۵۰ هزار دانشجو

بیش از ۳۰۰ مدرس

صفحه نخست
رشته کامپیوتر
برنامه نویسی موبایل
آموزش برنامه نویسی اندروید با زامارین ( آموزش کار با وب سرویس WebApi Rest Service ) – پیشرفته
۲۵ نظر
بازدید : 1,600 بازدید
آموزش برنامه نویسی اندروید با زامارین ( آموزش کار با وب سرویس WebApi Rest Service ) – پیشرفته

آموزش برنامه نویسی اندروید با زامارین

آموزش کار با وب سرویس WebApi Rest Service در زامارین

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

مشاهده بخش اول آموزش جامع زامارین

در بخش تکمیلی این دوره مبحث دیزاین را اصل قرار دادیم و یک سری اپلیکیشن های ساده را در این بخش با طراحی مناسب‌تری انجام دادیم.

مشاهده بخش دوم آموزش جامع زامارین

آموزش کار با وب سرویس WebApi Rest Service در زامارین , آموزش کار با وب سرویس WebApi Rest Service

در بخش سوم، آموزش کار با وب‌سرویس WebApi Rest Service در زامارین را فرا خواهید گرفت.

همان‌طور که همه شما می‌دانید کار با دیتابیس آنلاین و وب‌سرویس یکی از مهم‌ترین مباحث هر زبان و تکنولوژی برنامه‌نویسی است.

در قسمت‌های گذشته یاد گرفتیم که چگونه یک اپلیکیشن اندروید را با استفاده از زامارین ایجاد کنیم. اما هنوز این اپلیکیشن ناقص بوده و شاید در اکثر پروژه‌های تجاری نیاز داشته باشید که اپلیکیشن شما با سمت سرور یعنی وب‌سایت و دیتابیس آنلاین ارتباط برقرار کند.

در اینجا مبحثی تحت عنوان وب‌سرویس به وجود می‌آید که در زبان ASP به چند طریق می‌توان یک وب‌سرویس نوشت.

دو وب‌سرویس webApi و WCF گزینه‌های پیش روی شما در ایجاد وب‌سرویس در ASP MVC می‌باشد که ما webAPI را انتخاب می‌کنیم.

Web API چیست؟

Web API، نوع قالب جدیدی برای پروژه‌های مبتنی بر وب در NET. است که بر مبنای اصول و الگوهای موجود در ASP.NET MVC ساخته شده است و همراه با ASP.NET MVC 4 وجود دارد. Web API توسعه‌دهندگان را قادر می‌سازد تا با استفاده از یک الگوی ساده که در Controller ها پیاده‌سازی می‌شود، وب‌سرویس‌های مبتنی بر پروتکل HTTP را با کدها و تنظیمات کم ایجاد کنند. این سبک جدید برای ایجاد وب‌سرویس‌ها، می‌تواند در انواع پروژه‌های NET. مانند ASP.NET MVC، ASP.NET Web Forms، Windows Application و … استفاده شود.

یک سؤال کاملاً منطقی در اینجا به وجود می‌آید. چرا نیاز به بستری جدید برای ایجاد وب‌سرویس داریم؟ آیا در حال حاضر مایکروسافت بستری محبوب و فراگیر برای توسعه‌ی وب‌سرویس‌هایی که بتوانند با پروتکل SOAP تعامل داشته باشند در اختیار ندارد؟ مگر وب‌سرویس‌های ASMX از زمان معرفی ASP.NET وجود نداشته‌اند؟ آیا تکنولوژی WCF مایکروسافت، بیشترین انعطاف‌پذیری و قدرت را برای تولید وب‌سرویس‌ها در اختیار قرار نمی‌دهد؟ وب‌سرویس‌ها جایگاه خود را یافته‌اند و توسعه گران با تکنولوژی‌های موجود به‌خوبی آن‌ها را پیاده‌سازی و درک می‌کنند. چرا Web API؟

چرا Web API؟

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

  • من معتقد هستم که راه بهتری برای ایجاد وب‌سرویس‌ها وجود دارد.
  • من معتقد هستم که روش‌های ساده‌تری برای ایجاد وب‌سرویس‌ها وجود دارد و WCF بیش‌ازحد پیچیده است.
  • من معتقد هستم که تکنولوژی‌های پایه‌ی وب مانند اَفعال GET، POST، PUT و DELETE برای انجام اَعمال مختلف توسط وب‌سرویس‌ها کافی هستند.

در کل می‌توان گفت که  Web API، یک روش جدید و آسان برای ایجاد وب‌سرویس‌ها، بر مبنای مفاهیم آشنای ASP.NET MVC و پایه‌ وب است. از این روش می‌توان در انواع پروژه‌های NET. استفاده کرد.

خوب ما تا اینجا تکنولوژی‌هایی که می‌توان با آن‌ها وب‌سرویس ایجاد کرد را معرفی کردیم اما باید با خود وب‌سرویس‌ها بیشتر آشنا شویم.

دو نمونه از وب‌سرویس‌های قدرتمند عبارت هستند از SOAP و RESTFULL یا REST که به معرفی آن‌ها خواهیم پرداخت.

 

تعریف REST:

یک سبک معماری و رویکردی برای ارائه سرویس‌ها و API های عمومی روی بستر اینترنت با استفاده از پروتکل HTTP می‌باشد. REST روی دسترسی به منابع آدرس دار با یک رابط ثابت متمرکز شده است. یعنی هر منبعی دارای URI مشخص و واحد است. رابط ارائه‌شده ازاین‌جهت ثابت می‌باشد که از معماری RESTful برای طراحی آن استفاده می‌شود. در این نوع از طراحی, از عملیات موجود در خود HTTP بهره‌برداری می‌شود. (Post,Get,Put,Delete)

مفهوم REST روی عملیات CRUD بر روی داده استوار است. ازآنجایی‌که وب Resource Oriented می‌باشد، وقتی صحبت از انجام عملیات روی منابع بر روی بستر پروتکل HTTP می‌کنیم، REST به میان می‌آید. سادگی آن به دلیل استفاده از HTTP راه‌حل مناسبی برای ایجاد سرویس‌های تحت وب ارائه داده است. برقراری ارتباط کلاینت با REST ساده بوده و نیاز به تنظیمات خاص ندارد.  همچنین فرمت‌های متنوعی مثل JSON و XML را ارائه می‌دهد.

 

تعریف SOAP:

یک پروتکل انتقال پیام می‌باشد که به برنامه‌های در حال اجرا بر روی سیستم‌های مجزا اجازه تعامل و تبادل پیام را می‌دهد.SOAP بیشتر بر روی ارائه منطق برنامه به‌صورت سرویس متمرکز شده است و درواقع عملیاتی را ارائه می‌دهد که از طریق رابط‌های (Interface) مختلف قابل‌ارائه می‌باشد، البته از SOAP به‌اشتباه WebService نیز نام می‌برند.

SOAP روی ارائه عملیات متنوع برای منطق کسب‌وکار بنا نهاده شده است. فرمت پیام‌ها XML می‌باشد و ساختار پیام مخصوص خود را دارد.

 

مقایسه REST و SOAP:

۱-ازلحاظ کارایی، مقیاس‌پذیری و سرعت خواندن داده‌ها REST عملکرد بهتری را از خود نشان می‌دهد که از دلایل آن پشتیبانی ذاتی HTTP از Cache کردن و سربار بالای پیام‌های SOAP می‌باشد.

۲-SOAP همانند REST از SSL و همچنین WS-Security که ویژگی‌های امنیت سازمانی را اضافه می‌کند، پشتیبانی می‌کند. درواقع WS-Security امکانات امنیتی اضافه‌تری را فراهم می‌کند که سرویس‌های اینترنتی معمول به آن نیازی ندارند و درواقع صرفاً در سناریوهای سازمانی موردنیاز می‌باشند.

۳-پشتیبانی SOAP از WS-Atomic-Transaction امکان تراکنش‌های ACID را فراهم می‌کند. این در حالی است که REST از تراکنش‌های ACID پشتیبانی نمی‌کند و این امر ناشی از محدودیت پروتکل Http می‌باشد که از two-phase-commit بر روی منابع توزیع‌شده پشتیبانی نمی‌کند.

۴-REST فاقد سیستم استاندارد انتقال پیام می‌باشد و انتظار دارد تا کلاینت در صورت برخورد با هرگونه مشکلی دوباره تلاش نماید. اما SOAP منطق   Successful/retry را به‌صورت ذاتی فراهم می‌کند تا قابلیت اطمینان را در انتقال پیام به وجود آورد.

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

۵-REST  به دلیل استفاده از Http ذاتاً stateless می‌باشد ولی SOAP از state-full بودن نیز پشتیبانی می‌کند.

۶-SOAP به پروتکل انتقال وابسته نیست درحالی‌که REST صرفاً بر روی Http می‌باشد. سرویس‌های SOAP توسط WSDL توصیف می‌شوند همچنین اطلاعات در موردشی در داخل خود پیام ارسال می‌شود.

۷-از معایب SOAP حجم بالای پیام‌های آن و اشغال پهنای باند ارتباطی, سختی پیاده‌سازی و استفاده از آن در وب و موبایل می‌باشد همچنین تنها به‌صورت XML پیام‌ها را ارسال می‌کند.

۸-از معایب REST وابستگی آن به پروتکل Http و پیچیده بودن Authorization  و امنیت بر روی آن می‌باشد.

درنتیجه می‌توان به این گفته رسید که وقتی کلاینت‌ها و سرورها روی محیط وب و موبایل کار می‌کنند و نیازی به ارسال اطلاعات اضافی در موردشی به سمت کلاینت نداریم REST گزینه مناسب‌تری است. اما وقتی نیاز به یک Contract رسمی مابین سرور و کلاینت هستیم و یا نیاز به تراکنش‌های ACID در فراخوانی سرویس‌ها هستیم SOAP گزینه‌ی مطلوب‌تری می‌باشد.

سناریوهای معمول REST:

* Social Media Service,Social Network

*Web chat service,Mobile service

سناریوهای معمول SOAP:

*Financial Service

*Payment Gateway

*Telecommunication service

WCF سرویس‌های SOAP based را فراهم می‌کند و Web API امکان ایجاد سرویس‌های REST را فراهم می‌کند.

مقایسه جالب را در تصویر زیر می‌توانید ببینید که برگرفته از stackoverflow می‌باشد:

 

آموزش کار با وب سرویس WebApi Rest Service در زامارین , آموزش کار با وب سرویس WebApi Rest Service

 

آنچه در دوره آموزش کار با وب سرویس WebApi Rest Service یاد خواهید گرفت:

۱- آشنایی با ساختار ASPMVC

۲- آشنایی با ساختار WEBAPI

۳- کار با WEBAPI

۴- آشنایی با مفهوم JSON

۵- کار با JSON

۶- ایجاد وب سرویس WEBAPI و RESTFULL

۷- انجام عملیات واکشی اطلاعات در سمت سرور

۸- انجام عملیات درج اطلاعات در سمت سرور

۹- انجام عمیات حذف اطلاعات در سمت سرور

۱۰- انجام عملیات ویرایش اطلاعات در سمت سرور

۱۱- اتصال اپلیکیشن نوشته شده در زامارین با سرور

۱۲- فراخوانی RESTAPI در سمت زامارین

۱۳- انجام عملیات واکشی اطلاعات در سمت زامارین

۱۴- انجام عملیات درج اطلاعات در سمت زامارین

۱۵- انجام عملیات حذف اطلاعات در سمت زامارین

۱۶- انجام عملیات ویرایش اطلاعات در سمت زامارین

در صورت هرگونه سوال یا نظری می توانید از طریق دیدگاه ها آن را مطرح کنید.

مشاهده دموهایی از آموزش

مطلب مفیدی برای شما بود ؟؟ پس به اشتراک بگذارید برای دوستانتان

دریافت کنید

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

    پیام شما با موفقیت ثبت شد. در اولین فرصت با شما تماس گرفته خواهد شد.
    • مطالب مرتبط
    • دیگر آموزش های مرتبط با این مدرس
    • رزومه مدرس

    نظرات کاربران

    ۲۵
    • jahangard
      یکشنبه ۲۴ تیر ۱۳۹۷ - ۲۳:۵۸

      آقای سهولی عزیز لطفا جواب بدید

      • مختار سهولی
        دوشنبه ۲۵ تیر ۱۳۹۷ - ۱۱:۱۱

        سلام لطفا در تلگرام پیامتون رو ارسال کنید تا بررسی کنم
        @sirmokhtar

    • سعید
      یکشنبه ۲۴ تیر ۱۳۹۷ - ۱۷:۳۱

      سلام خسته نباشید
      یه سوالی دارم
      اگه بخوام یه نرمافزار برای ویندوز اپ بسازم و یک سایت هم بسازم و یک نرمافزار اندروید هم بسازم
      که هر سه تا برنامه از یک دیتا بیس استفاه کنند باید از همین آموزش استفاده کنم ؟

      من سی شارپ رو یدلم زامارین هم تا حدودی بلدم و sql server افلاین هم بلدم اما آنلاین رو نمیدونم
      ممنون میشم راهنماییم کنید

      • مختار سهولی
        دوشنبه ۲۵ تیر ۱۳۹۷ - ۱۱:۱۲

        سلام بله درسته همین آموزش مناسب هست براتون در حال ضبط دوره زامارین فرم هستم بعد از دوره زامارین فرم قصد دارم یک آموزش ضبط کنم که یک وبسایت را با asp core ایجاد کنیم و بعد اپ موبایلش رو با زامارین بسازیم

    • jahangard
      شنبه ۲۳ تیر ۱۳۹۷ - ۱۳:۱۲

      متن خطا برای تنظیم روی حالت Local IIS
      “Unable to create the virtual directory. The Web server ”http://localhost/WebApiforMobile’ could not be found”

    • jahangard
      شنبه ۲۳ تیر ۱۳۹۷ - ۱۲:۵۹

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

    • jahangard
      جمعه ۲۲ تیر ۱۳۹۷ - ۱۵:۵۸

      سلام
      مشکل توی تنظیمات iis دارم طوری که ارتباط وب سرویس با موبایل برقرار نمیشه و اطلاعات توی موبایل نمایش داده نمیشن.
      شما انجایی که روی local IIS گذاشتین قبلش چکار کردین؟ من هر کاری میکنم روی Local IIS تنظیم کنم میگه وب سرویس پیدا نمیشه.
      لطفا راهنمایی کنید.

      • مختار سهولی
        شنبه ۲۳ تیر ۱۳۹۷ - ۱۱:۳۱

        سلام چه اروری میده

    • jahangard
      جمعه ۲۲ تیر ۱۳۹۷ - ۱۳:۴۷

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

    • طاهر
      چهارشنبه ۲۳ خرداد ۱۳۹۷ - ۰۰:۱۰

      سلام
      متاسفانه بخش ۱۱ این آموزش که خیلی مهم هست بصورت خیلی ناواضح توضیح داده شده و اصلا مفید نیست
      مثال حل شده در این بخش بقدری ناواضح هست من خودم هرجوری نوشتم با خطا مواجه شده

      • مدرس سهولی
        چهارشنبه ۳۰ خرداد ۱۳۹۷ - ۰۵:۲۷

        سلام کدوم قسمت رو متوجه نشدید متن خطاتون رو بزارید که بهتون کمک کنم

        • طاهر
          پنج شنبه ۷ تیر ۱۳۹۷ - ۱۴:۰۳

          سلام
          مثال قسمت ۱۱ که تو فیلم آموزشی هست قسمت get با دریافت id توضیح داده نشده
          لطفا این قطعه کد رو بفرمائید

        • Taher.Rohnavi
          شنبه ۹ تیر ۱۳۹۷ - ۱۵:۴۱

          سلام
          لطفا همون بخش ۱۱ فیلم آموزشی تابع getperson رو با ورودی id پیاده سازی کنین

      • مختار سهولی
        سه شنبه ۱۲ تیر ۱۳۹۷ - ۰۷:۲۰

        سلام پاسخ در تلگرام ارسال شد

    • حسین
      شنبه ۲۵ فروردین ۱۳۹۷ - ۰۶:۴۴

      سلام مهندس اگه میشه واسه زامارین فرم هم توضیح بدید

      • مدرس سهولی
        دوشنبه ۲۷ فروردین ۱۳۹۷ - ۱۴:۱۶

        سلام قصد دارم یک دوره زامارین فرم رو از صفر شروع کنم

    • mehr132
      چهارشنبه ۸ فروردین ۱۳۹۷ - ۰۰:۱۰

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

      • مدرس سهولی
        چهارشنبه ۸ فروردین ۱۳۹۷ - ۱۱:۲۸

        سلام وقت بخیر کجا سوال پرسیدید جواب نگرفتین؟
        لطفا مشکلاتتون رو در تلگرام باهام مطرح کنین در خدمتتون هستم

    • leila
      پنج شنبه ۲۴ اسفند ۱۳۹۶ - ۱۹:۳۸

      بسیار عالی، موفق باشید

    • علی
      پنج شنبه ۲۴ اسفند ۱۳۹۶ - ۱۳:۱۵

      سلام
      کار با زامارین فرم رو کی شروع میکنید؟
      چه تفاوتی کدنویسی با زامارین فرم و این آموزشی که دادین داره میشه توضیح بدین
      ممنون

      • مدرس سهولی
        سه شنبه ۲۹ اسفند ۱۳۹۶ - ۰۳:۵۷

        سلام زامارین فرم یک برنامه نویسی چندسکویی رو در اختیار ما قرار میده یعنی یک بار کد می نویسیم و بهمون خروجی اندروید و ios میده توی موبایل اما زامارین اندروید فقط خروجی اندروید رو به ما میده اگر دوستان درخواست کنند حتما سمت زامارین فرم هم خواهیم رفت

    • هادی صالحی راد
      یکشنبه ۲۰ اسفند ۱۳۹۶ - ۱۴:۴۵

      موفق باشید

      • مدرس سهولی
        دوشنبه ۲۱ اسفند ۱۳۹۶ - ۱۳:۳۰

        زنده باشید دوست عزیز

    • amir
      یکشنبه ۲۰ اسفند ۱۳۹۶ - ۱۱:۲۸

      سلام … اگه میشه ی دوره پروژه محور با توجه به مطالب گفته شده تهیه کنید

      • مدرس سهولی
        دوشنبه ۲۱ اسفند ۱۳۹۶ - ۱۳:۲۹

        سلام چشم حتما در برنامه قرار خواهم داد اگر پروژه ای مد نظرتون هست بفرمایید که شاید بتونیم پیاده سازی کنیم

    مختار سهولی طراح و توسعه دهنده افزونه و قالب وردپرس

    بنده مختار سهولی دانشجوی رشته نرم افزار کامپیوتر دانشگاه بیرجند می باشم در زمینه برنامه نویسی سی شارپ و زامارین تخصص دارم. همچنین در زمینه طراحی سایت با asp و وردپرس نیز مهارت دارم

    دسته بندی

    تحصیلات تکمیلی

    رشته الکترونیک

    رشته کامپیوتر

    سایر دسته های دانشجویار

    سایر نرم افزارها

    کلاس آنلاین

    مدرسین

    تعداد دوره
    بر اساس امتیاز
    حروف الفبا
    • کد تخفیف :

      goldpack

      ویژه خرید پکیج طلایی (C#,ASP,PHP,Android,game maker)
      60 درصد تخفیف

    مطالب سایت بر اساس

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