Қызметтің түйіршіктілік принципі - Service granularity principle

Контекстінде бағдарламалық жасақтама және бағдарламалық жасақтама архитектурасы, қызметтің түйіршіктігі парадигмасын қолдану кезіндегі негізгі дизайн мәселесі болып табылады қызметке бағдарлау мысалы, кезінде қызметке бағытталған модельдеу. Қызметтің түйіршіктігі іскери функциялардың ауқымын және қызмет шеңберінде берілетін хабарлама жүктемесінің құрылымын анықтайды қызметке бағытталған сәулет (SOA).

Анықтама

Қызметтің түйіршіктігі - бұл қосымшаның домені (бизнес түйіршіктігі), сондай-ақ а бағдарламалық интерфейс дизайн мәселесі (техникалық түйіршіктілік); бұл қызметтің меншігі келісім-шарт қызмет провайдері көрсеткен. Бұл хабарламаның (сұраныс) және (жауап) мазмұнының семантикасы мен синтаксисіне қатысты, оларды екі жалпы жағдайдың даналары ретінде қарастыруға болады Кәсіпорынның интеграциялық үлгілері, Командалық хабарлама және Құжат туралы хабарлама. Анықтама бойынша өрескел қызмет көрсету операциясы ұсақ қызметке қарағанда кеңірек болады, дегенмен терминдер салыстырмалы. Біріншісі әдетте дизайнның жоғарылауын талап етеді, бірақ тапсырманы орындау үшін қажетті қоңыраулар санын азайта алады.[1]

Критерийлер

Байланысты үлестірілген есептеудің қателіктері, барабар түйіршікті табу қиын.[2] Қарапайым жауап жоқ, бірақ бірқатар критерийлер бар (төменде қараңыз). Қызметті модельдеу және түйіршіктік дизайнның басты мақсаты - қол жеткізу бос муфт және модульдік, бұл екі маңызды SOA қағидаты,[3] және басқаларына жүгіну керек архитектуралық маңызды талаптар.

Көптеген күштер қызметтің түйіршіктігіне әсер етеді;[4] барабар түйіршікті жобалау кезінде ескеру қажет төрт ерекше фактор - өнімділік, хабарлама мөлшері, транзакция және іскерлік функция:

Бизнес функциясы

Ең дұрысы, әрбір қызмет операциясы бір бизнес функциясына сәйкес келеді, бірақ егер бір операция дизайн қиындығын қоспай немесе хабарлама көлемін арттырмай бірнеше функцияларды қамтамасыз ете алса, бұл жалпылық іске асыру мен пайдалану шығындарын төмендетуі мүмкін.

Өнімділік

Веб-қызметтерге қашықтан қол жетімді және веб-сервис жұмысына қоңырау шалу желінің қосымша шығындарын жасайды. Қызмет сұраныстарының санын азайту бұл шығындарды азайтады.

Хабарлама мөлшері

Ірі түйіршікті қызметтер ұсақ түйіршікті қызметтерден гөрі көбірек, оның ішінде тапсырма үшін арнайы талап етілмеген деректерді жіберуі мүмкін. Бұл хабарды соңғы нүктеде өңдеуді қиындатады және өз кезегінде өнімділікке зиян тигізуі мүмкін. Хабарлама көлемін кішірейту үшін ұсақ операцияны қосу қажет болуы мүмкін.

Қызмет сапасының сипаттамалары, оның ішінде транзакция

Тұжырымдамалық айқындылық үшін әрбір қызмет операциясы жүйелік деңгейдегі бір транзакцияны жүзеге асыруы және қызмет шекарасындағы мәліметтер тұтастығын тұтынушыдағы іскери логикаға қалдыруы керек. Бұл қатені қалпына келтіруді жеңілдетеді және әдетте дизайнды жеңілдетеді.

Тиісті түйіршікті табу үшін шешімнің көптеген критерийлері бар; жаһандық оптимум жоқ. Осындай он алты критерий әдебиеттерден жинақталған.[5]

Өрнектер

Бір өлшем бәріне сәйкес келмейтіндіктен, қызметтің түйіршіктерін жобалау әр түрлі бөлінген жүйелердегі көптеген қолданыстағы үлгілерден, әсіресе қызметтермен байланысты, сондай-ақ API дизайнымен байланысты үлгілерден (мысалы, объект дизайнындағы API дизайнынан) пайда көруі мүмкін. бағдарланған бағдарламалау) және кәсіпорын интеграциясы. Мұндай тілдерге шолу жасалынған Мұнда.

Әдебиеттер тізімі

  1. ^ Джозуттис, Н. (2007). SOA іс жүзінде. Себастополь, Калифорния, АҚШ: О'Рейли. ISBN  978-0-596-52955-0.
  2. ^ Ф.Лейманн Борпылдақ муфталар және сәулеттік әсерлер, ESOCC 2016 негізгі түсіндірмесі
  3. ^ Крафциг, Д., Бэнк, К., Слама, Д. (2004). SOA кәсіпорны: сервиске бағдарланған сәулет өнері озық тәжірибелер 1-шығарылым. Prentics залы. ISBN  978-0131465756.
  4. ^ Zimmermann, O., SOA, бұлт және аутсорсингтік шешімді жобалау үшін нұсқаулық модельдері және шешім қабылдау құралдары, http://resources.sei.cmu.edu/asset_files/Presentation/2011_017_001_24654.pdf
  5. ^ Service Cutter: Қызметтің ыдырауына жүйелі тәсіл, M Gysel, L Kölbener, және басқалар. Қызметке бағдарланған және бұлтты есептеу бойынша Еуропалық конференция, 185-200, (PDF )

Сыртқы сілтемелер