Кіріспе
WS ReliableMessaging – бағдарламалық компоненттердің, жүйелердің немесе желілік қателердің туындауы кезінде SOAP хабарламаларын таратылған қолданбалар арасында сенімді жеткізуге мүмкіндік беретін протоколды сипаттайды. Бастапқы спецификация 2003 жылдың наурыз айында BEA Systems, Microsoft, IBM және Tibco компанияларымен жазылып, келесі екі жылда жетілдірілді. 2005 жылғы ақпан нұсқасы сол жылдың маусым айында OASIS Web Services Reliable Exchange (WS RX) техникалық комитетіне ұсынылды. Соның нәтижесінде пайда болған WS ReliableMessaging 1.1 2007 жылдың 14 маусымында OASIS стандарты ретінде мақұлданды, ал v1.2 – 2009 жылдың 2 ақпанында мақұлданды. WS ReliableMessaging-ге дейін OASIS бәсекелес стандартты (WS Reliability) жасады, оны Fujitsu, Hitachi, NEC, Oracle Corporation, Progress Software және Sun Microsystems компанияларынан құралған консорциум қолдады. Осы жеткізушілердің көпшілігі қазір WS ReliableMessaging спецификациясын қолдайды.
Сенімді хабарлау үлгісі
Қолданбалық көз (AS) сенімді емес инфрақұрылым арқылы Қолданбалық мақсатқа (AD) хабарламаларды сенімді түрде жібергісі келеді. Осы мақсатта, олар Сенімді хабарламалар көзін (RMS) және Сенімді хабарламалар мақсатын (RMD) пайдаланады. AS хабарламаны RMS-ке жібереді. RMS хабарламаны RMD-ге жіберу үшін WS ReliableMessaging (WS RM) протоколын қолданады. RMD хабарламаны AD-ге жеткізеді. Егер RMS қандай да бір себеппен хабарламаны RMD-ге жібере алмаса, ол қателік тудыруы керек немесе хабарлама жіберілмегенін AS-қа басқаша жолмен хабарлауы тиіс. AS және RMS бір процестік кеңістікте іске асырылуы мүмкін, немесе олар бөлек компоненттер болуы мүмкін. Сол сияқты, AD және RMD да бір процестік кеңістікте болуы мүмкін немесе бөлек компоненттер болуы мүмкін. Есте ұстау қажетті маңызды нәрсе – WS RM спецификациясы тек хабарламалардың мазмұны мен мінез-құлқымен айналысады, олар "желіде" (on the wire) пайда болатын кезде. Хабарламалар AS-тен RMS-ке қалай жіберіледі, RMD-ден AD-ге қалай жеткізіледі, хабарламалар дискіде сақталады ма әлде жадта сақталады ма және т.б. – бұл мәселелердің ешқайсысы WS RM спецификациясының құрамына кірмейді. WS RM протоколы жеткізудің бірнеше кепілдіктерін анықтайды және қолдайды. Олар:
Кемінде бір рет: Әрбір хабарлама AD-ге кем дегенде бір рет жеткізіледі. Егер хабарлама жеткізілмесе, RMS және/немесе RMD қате туралы хабарлауы тиіс. Хабарламалар AD-ге бірнеше рет жеткізілуі мүмкін (яғни AD қайталанған хабарламаларды алуы мүмкін). Көбінесе бір рет: Әрбір хабарлама AD-ге ең көп дегенде бір рет жеткізіледі. Хабарламалар AD-ге жеткізілмеуі мүмкін, бірақ AD ешқашан қайталанған хабарламаларды қабылдамайды. Дәл бір рет: Әрбір хабарлама AD-ге дәл бір рет жеткізіледі. Егер хабарлама жеткізілмесе, RMS және/немесе RMD қате туралы хабарлауы тиіс. AD ешқашан қайталанған хабарламаларды қабылдамайды. Ретімен: Хабарламалар RMD-ден AD-ге AS-тен RMS-ке жіберілген ретпен жеткізіледі. Бұл кепілдік жоғарыда аталған кепілдіктердің кез келгенімен біріктірілуі мүмкін.
AtLeastOnce Each message will be delivered to the AD at least once. If a message cannot be delivered, an error must be raised by the RMS and/or the RMD. Messages may be delivered to the AD more than once (i. e. the AD may get duplicate messages). AtMostOnce Each message will be delivered to the AD at most once. Messages might not be delivered to the AD, but the AD will never get duplicate messages. ExactlyOnce Each message will be delivered to the AD exactly once. If a message cannot be delivered, an error must be raised by the RMS and/or the RMD. The AD will never get duplicate messages. InOrder Messages will be delivered from the RMD to the AD in the order that they are sent from the AS to the RMS. This assurance can be combined with any of the above assurances.
Композициялық архитектура
WS ReliableMessaging SOAP және WSDL кеңейту моделін пайдаланады. WS ReliableMessaging толыққанды хабар алмасу шешімі үшін қажетті барлық мүмкіндіктерді анықтамайды. WS ReliableMessaging – басқа Веб-қызметтердің техникалық талаптарымен және қолданбаға арналған протоколдармен бірге қолданылатын, толыққанды хабар алмасу шешімін құруға арналған құрылыс блогы болып табылады.
Сын
Бұл мақала сенімділік хабарлама деңгейінде қажет емес, бірақ бизнес деңгейінде қажет екенін дәлелдеуге тырысады.
Тарих
WS ReliableMessaging 200303 авторлары: BEA, IBM, Microsoft және Tibco. WS ReliableMessaging 200403 авторлары: BEA, IBM, Microsoft және Tibco. WS ReliableMessaging 200502 авторлары: BEA, IBM, Microsoft және Tibco. Осы сипаттаманың нұсқасын көптеген сатушылар мен ашық кодты жобалар жүзеге асырды. Оны кейде "WS ReliableMessaging 1.0" немесе "WS RM 1.0" деп те атайды. Бұл сипаттама және оған қоса жүретін WS RM Policy 200502 2005 жылдың маусым айында стандарттау үшін OASIS Web Services Reliable Exchange (WS RX) техникалық комитетіне ұсынылды. WS ReliableMessaging 1.1 жоғарыда аталған WS RX TC-нің нәтижесі болып табылады. Оған WS RM Policy 1.1 және WS MakeConnection 1.0 сипаттамалары қоса берілген. Барлық үш сипаттама 2007 жылдың 14 маусымында OASIS стандарттары ретінде мақұлданды. WS ReliableMessaging 1.2 нұсқасы WS Policy стандартқа дейінгі нұсқаларына жасалған сілтемелерді WS Policy W3C ұсынысына жасалған сілтемелермен алмастырады (WS Policy 1.5) және кейбір шағын қателерді түзетулер енгізеді. Оған WS RM Policy 1.2 және WS MakeConnection 1.1 сипаттамалары қоса берілген. Барлық үш сипаттама 2009 жылдың 2 ақпанында OASIS стандарттары ретінде бекітілді.