රූබි (Ruby) භාෂාව තවමත් ශ්රේෂ්ඨ වෙබ් යෙදුම් සංවර්ධනයේ ජනප්රිය තේරීමක්. ව්යාපාරික ක්රියාකාරකම් එකට එකතු කරමින්, ගෙවීම්, ඊ-මේල්, තොග යාවත්කාලීන කිරීම වැනි පියවර කිහිපයක් අනුගමනය කරන අවස්ථා බොහොමයක් වේ. මේ වගේ බහු‑පියවර ක්රියාවලියක් නිවැරදිව, දෝෂයක් සිදු වූ විට ආපසු හැරවීම (compensation) සමඟ කළමනාකරණය කිරීම සඳහා රූබි සංවර්ධකයින්ට විවිධ පුස්තකාල (libraries) තිබේ.
දැනටමත් භාවිතා වන ප්රධානම විකල්ප හතරක් වනුයේ Ruby Reactor, dry‑transaction, Trailblazer සහ raw Sidekiq jobs ය. මේවා අතර තේරීමේදී “ඔබට කුමන අවශ්යතාවය තියෙනවා?” යන ප්රශ්නයට පිළිතුරු දීම වඩාත් වැදගත්. 30‑තත්පර තීරණ මැට්රික්ස් අනුව:
- සරල පයිප්ලයින් (3‑5 පියවර) – dry‑transaction
- කඩිනම් අසමත් වීමේ විවිධ මාර්ග – Trailblazer
- සංකීර්ණ DAG (Directed Acyclic Graph) සහ async compensation – Ruby Reactor
- එක් එක් fire‑and‑forget රැකියාව – raw Sidekiq
dry‑transaction යනු dry‑rb οικοσύστημα එකේ පවතින සුළු, කේන්ද්රගත gem එකක්. මෙය ක්රමලේඛයක් (pipeline) ලෙස පියවර එකින් එක ක්රියාත්මක කරයි; එක පියවරේ Failure එකක් එළඹෙන විට ඉදිරි පියවර නතර වේ. සරල, සින්ක්රෝනස්, හා Either‑Monad වගේ ක්රියාකාරකම් සඳහා ඉතා සුදුසු. එහෙත්, සමාන්තර (parallel) ක්රියාකාරකම්, DAG, හෝ ස්වයංක්රීය compensation නොමැත.
Trailblazer activity‑DSL භාවිතා කරයි. මෙහිදී සාර්ථක හා අසාර්ථක මාර්ගයන් වෙන් කර, විවිධ විපරිත තත්වයන්ට වෙනත් ප්රතිචාර දීමට හැකියාව ඇත. නෙට්වර්ක් ප්රතිමෝලන, nested activities සහ tracing වැනි අංග ඇතුළත් වේ. නමුත්, built‑in async හෝ DAG නොමැති අතර compensation මාර්ගය අතින් ලියවිය යුතුය.
Ruby Reactor සංකීර්ණ workflow සඳහා DAG resolution, Sidekiq async execution, auto‑compensation, lock management, dashboard වැනි අංග ලබා දෙයි. මෙය “full saga orchestrator” ලෙස හැඳින්විය හැක. ඉතා විශාල, බහු‑පාරිභෝගික පද්ධති සඳහා සුදුසුයි, නමුත් සරල pipeline සඳහා අධික වේ.
Raw Sidekiq jobs යනු fire‑and‑forget රැකියා. ඔබට coordination අවශ්ය නොවන, තනි‑පියවර කාර්යයන් සඳහා මෙය වේගවත් විසඳුමක්.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තාක්ෂණ සමාජය ඉක්මනින් වර්ධනය වෙමින් පවතී. රූබි භාෂාව භාවිතා කරන ස්ථානාන්ත startup හා මධ්ය පරිමාණ ව්යාපාර සඳහා මේ පුස්තකාල තේරීමේ මාර්ගෝපදේශය ඉතා ප්රයෝජනවත් වේ. විශ්ව විද්යාල සිසුන්ට, dry‑transaction වැනි සරල pipeline එකක් හරහා පදනම් පරිගණක නිර්මාණය අත්හදා බැලීමට, Trailblazer සමඟ branching logic පරීක්ෂා කිරීමට, Ruby Reactor සමඟ සංකීර්ණ saga පද්ධතියක් නිර්මාණය කිරීමට අවස්ථාව ලැබේ.
ඉන්පසු, ශ්රී ලංකා IT සමාගම්ට වැඩි කාර්යක්ෂමතාව, අඩු දෝෂ අනුපාතය, හා අධික scalability ලබා දීමට මෙය උපකාරී වේ. අන්තර්ජාලය හා cloud පදනම් සේවා සමඟ එක්ක, මෙම workflow libraries එකතු කරමින්, දේශීය ව්යාපාරික ක්රියාකාරකම්වල digital transformation වේගවත් කර ගැනීමට හැකියාව ලැබේ.
සාරාංශයක් ලෙස, ඔබේ ව්යාපාරයේ අවශ්යතාවය අනුව නිවැරදි Ruby workflow library තෝරා ගැනීම, කාලය, සම්පත්, හා දෝෂ කළමනාකරණය සම්බන්ධයෙන් ඉතා වැදගත්. තේරීමේදී පයිප්ලයින් සරලද, සංකීර්ණ saga එකක් අවශ්යද, හෝ fire‑and‑forget රැකියාවක් පමණක් අවශ්යද යන කරුණු මත අවධානය යොමු කරන්න.