ඉවෙන්ට්‑ඩ්රයිවන් (Event‑Driven) ආකෘතියේ පද්ධති සැලසුම් කරන වෙලාවේ බොහොමයක් සංවර්ධකයින් "ඉවෙන්ට් එකක් ප්රකාශ කිරීමෙන් ඒක එකවර ක්රියාත්මක වේ" කියන වැරදි අදහසකට ලක් වෙනවා. ප්රායෝගික ලොවෙහි එම වගකීම නිතරම සපුරාලෙන්නේ නැහැ – ඉවෙන්ට් එකක් බහු වාරයක්, පරාවර්තනයෙන්, හෝ වැරදි අනුක්රමයකින් ලැබිය හැක.
ඉවෙන්ට් එකක් නකල් (duplicate) ලෙස ලැබෙන්නා වූ අවස්ථාවක් ගැන සිතා බලමු. ගනුදෙනුකරුගේ ඇණවුම තහවුරු වූ පසු, ඉවෙන්ට් එක OrderConfirmed ලෙස ඉන්වෙන්ට්රි සේවාවට යැවෙයි. සේවාව එය සකස් කරමින් සිටියදී ක්රැෂ් වුවහොත්, පද්ධතිය නැවත ආරම්භ වූ පසු ඒ ඉවෙන්ට් එක නැවත ලබා දෙනු ලැබේ. මෙය පණිවිඩ පද්ධතියේ සාමාන්ය හැසිරීමක්, නමුත් යෙදුමට එය දෙවරක් අනුගමනය වීමෙන් ඉන්වෙන්ට්රි දෙවරක් රිසිවෙයි. එබැවින් නකල් බාරගතය (duplicate delivery) සාමාන්යය බව පිළිගැනීම අත්යවශ්යයි.
Idempotency යනු ඒකම ඉවෙන්ට් එක කී වරක් ක්රියාත්මක කළත් එකම ප්රතිඵල ලැබෙන බවට සහතික කිරීමයි. එය සාමාන්යයෙන් eventId එකක් එක් කරමින් සපුරාලේ. පරිභෝගකරු (consumer) පෙර ක්රියාත්මක කළ eventId ලැයිස්තුවක් තබා, නව ඉවෙන්ට් එකේ ID එක එම ලැයිස්තුවේ තිබේදැයි පරීක්ෂා කරයි. තිබේ නම් එය නිරක්ෂේප කරයි; නැත්නම් ක්රියාත්මක කර, ID එක සටහන් කරයි. මෙය පද්ධතියේ නිවැරදිත්වය රැක ගැනීමට හොඳම ක්රමයකි.
ඉවෙන්ට් අනුක්රමය (ordering) ගැනත් බොහෝ විට වැරදි අනුමාන ඇතිවෙයි. ජාල ප්රතිලාභ, නැවත උත්සාහ කිරීම, සමාන්තර සැකසීම වැනි හේතු නිසා ඉවෙන්ට් එකේ ප්රකාශිත අනුක්රමය වෙනස් විය හැක. එම නිසා පරිභෝගකරු ඉවෙන්ට් එක ලැබූ විට, අවශ්ය තත්ත්වය (උදා: ඇණවුම පවතිනවාද?) පරීක්ෂා කර, අවශ්ය නම් පසුකාලීනව ප්රතිසංස්කරණය කරයි. මෙය තාවකාලික අසමත්තා වලින් පද්ධතිය රැක ගැනීමට උපකාරී වේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තාක්ෂණික සමාජය ඉක්මනින් මයික්රොසර්විස්, e‑commerce සහ fintech වැනි ක්ෂේත්රවල ඉවෙන්ට්‑ඩ්රයිවන් ආකෘතිය භාවිතා කරමින් පවතී. නකල් බාරගත, idempotency සහ අනුක්රම පාලනය පිළිබඳ හොඳ අවබෝධයක් ඇතිවීමෙන්:
- විකාශකයින්ට පද්ධති විශ්වාසනීයව නිර්මාණය කර ගැනීමට හැකියාව ලැබේ.
- ව්යාපාරිකයන්ට ගනුදෙනු දෙවරක් සිදුවීමෙන් ආර්ථික පාඩු වැළැක්විය හැක.
- ශ්රේණිගත කරුණු (audit trail) හරහා පාරිභෝගික සේවා නිරීක්ෂණය හා පාලනය පහසු වේ.
ඉවෙන්ට් එකේ සම්බන්ධක (correlation) අංකයක් (උදා: REQ‑98451) භාවිතා කිරීමෙන් පද්ධතියේ සම්පූර්ණ ප්රවාහය තේරුම් ගැනීමට, දෝෂ හඳුනා ගැනීමට සහ නිරීක්ෂණය කිරීමට හැකියාව ලැබේ. මෙය ශ්රී ලංකාවේ startups හා IT සමාගම් සඳහා අතිශය ප්රයෝජනවත් වේ.
අවසානයේ, ඉවෙන්ට්‑ඩ්රයිවන් පද්ධති සැලසුම් කිරීමේදී "ඉවෙන්ට් එකක් යැවූවේ නම් ඒක එකවර ක්රියාත්මක වේ" යන වැරදි අදහසෙන් මිදීම, idempotency, ordering tolerance, correlation වැනි මූලික කරුණු පිළිබඳ අවධානය යොමු කිරීම අත්යවශ්යය. මෙයින් පද්ධතියේ විශ්වාසනීයතාවය, ආරක්ෂාව සහ පරිභෝගකරුගේ අත්දැකීම ඉහළ යයි.