نمایش نتایج 1 تا 3 از 3

نام تاپیک: استفاده از چند سرویس یا یک سرویس حجیم

  1. #1

    استفاده از چند سرویس یا یک سرویس حجیم

    تو یک پروژه حدود 6 کلاس هست که هرکدام کارهای جداگانه و نسبتا زیادی انجام میدهند
    میخوام تمام این امکانات بصورت wcf به کلاینتها داده بشه
    حالا دوتا انتخاب دارم
    یا یک سرویس بسازم و داخل اون با متدها و کالبکهای زیاد به تمام این امکانات 6 کلاس دسترسی پیدا کنم
    یا اینکه برای هرکدام این کلاسها یک سرویس بسازم و کلاینت با 6 سرویس وصل سرور بشه

    خودم راه حل دوم برام راحتتره چون دیگه پیچیده نمیشه اما بنظرم راندمان پایین میاد.

    آیا چندین سرویس ایجاد کردن برای یک برنامه اشتباه هست؟

    امیدوارم تو این بخش ساکت اما مهم افرادی برای کمک باشند.
    ممنون

  2. #2
    محروم شده
    تاریخ عضویت
    اسفند 1383
    محل زندگی
    Never Land
    پست
    423

    نقل قول: استفاده از چند سرویس یا یک سرویس حجیم

    سوال شما بر مي گردد به قوانين SOA به مفاهيم زير خوب دقت كنيد و دقت كنيد سپس خودتان متوجه خواهيد شد كه چه كاري بايد انجام دهيد
    1- مرز ميان سرويس ها كاملا مشخص است در حقيقت تكنولوژي و مكان بسته بندي شده و تنها داده و كاربرد مورد نياز (Functionality) در دسترس سرويس گيرنده ها مي باشند
    2- سرويس ها مختارند يعني سرويس ها بدون وابستگي به ساير سرويس ها كار مي كنند و به شكل مستقل از هم كار مي كنند و مي توانند از خود در برابر اختلات به وجود آمده مواظبت كنند
    3- سرويس ها يكسري قرارداد براي نمايش دادن عمليات و داده به اشتراك مي گذارند و نه Type‌مشخص
    4- سرويس هاا بر اساس يكسري سياست با همديگر ارتباط برقرار مي كنند به زبان ساده سرويس چه كاري مي كندو سرويس گيرنده ها چگونه با سرويس ارتباط برقرار مي كنند.

    ------------
    حال كار هر كدام از كلاس ها را توضيح بده و به مفاهيم بالا دقت كن راه حلي را هم كه خودت پيشنهاد ميدي بنويس تا در مورد اون بحث كنيم

  3. #3

    نقل قول: استفاده از چند سرویس یا یک سرویس حجیم

    ممنون از جواب
    قبل از اینکه وارد جزییات بشوم باید بدونید که سرویس گیرنده و دهنده هر دو از یک نوع (ساختار ) هستند و تنها دلیل استفاده از ساختمان سرویس گرا خاصیت آنلاین بودن اطلاعات در عین جدایی سیستم بود.
    یک پروژه عادی شامل:
    -اطلاعات کالا با موجودی
    -اطلاعات اشخاص
    -اطلاعات فاکتورها
    -اطلاعات تراکنشها
    هر کدام از این اطلاعات توسط کلاسهای جداگانه انجام میشوند.
    اطلاعات توسط سرور به کلاینتها پاس داده میشه (بایندینگ) و تغییرات هر کلاینت توسط کالبکها به سرور گزارش میشه و توسط کانالها به کلاینتهای دیگه گزارش داده میشه برای بروزآوری اونها

    طبق اصول سرویس گرا هرکدام سرویسها جداگانه باید نوشته بشوند ولی آیا ایجاد ارتباط کلاینت با سرور حتما باید جداگانه باشه یا اینکه ایجاد یک ارتباط (کانال) بین کلاینت و سرور مفهوم سرویس گرا نقض نمیکنه؟
    چون در سرور بهرحال سرویس ها جداگانه مدیریت میشوند اما هنگام ارسال دیتا به کلاینت توسط یک کلاس -که همان کلاس برقرارکننده ارتباط هست - استفاده میشود.

    بهرحال نکته اصلی سوالم مربوط به تعداد کانالهایی هست که کلاینت با سرور ایجاد میکند.
    یک کانال بین کلاینت و سرویس مدیریت کننده ی تمام سرویسها
    یا
    چندین کانال مستقیم بین کلاینت و هرکدام سرویسها

    احتمالا خیلی گنگ توضیح دادم!

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •