فرایند بهعنوان دادهٔ نسخهدار
گراف هر فرایند یک ستون jsonb است که با چرخهٔ پیشنویس، منتشرشده و بایگانی نسخه میخورد. انتشار نسخهٔ تازه یک فراخوانی است، نه یک استقرار؛ و پروندههای در جریان به نسخهٔ خودشان قفل میمانند.
دارا پلتفرمی یکپارچه است که منطق کسبوکار در ماژولهایش مینشیند و فرایند کسبوکار در موتور مرکزیاش. از افتتاح سپرده و صدور کارت تا پرداخت تسهیلات و بستن دورهٔ مالی، هر ریال در یک هستهٔ مالی واحد ثبت میشود.
هیچ ماژولی ستون مانده ندارد؛ هر عدد مالی از یک مرجع خوانده میشود و هر فرایند بهصورت دادهٔ نسخهدار منتشر میگردد.
سامانههای مالی معمولاً از یک نقطه شکسته میشوند: مانده در چند جا نگهداری میشود و هیچکس نمیداند کدام عدد درست است. دارا این مسئله را از ریشه حل کرده است؛ هیچ ماژولی ستون مانده ندارد. سپرده، کیفپول، کارت اعتباری، تسهیلات و پرتفوی همه موجودی را از هستهٔ مالی میخوانند و اثر مالی خود را با کلید ایدمپوتنسی همانجا ثبت میکنند.
مسئلهٔ دوم سرعت تغییر است. در بیشتر سامانههای بانکی، عوض کردن ترتیب یک تأیید یا افزودن یک استعلام یعنی تغییر کد در چند سرویس و یک چرخهٔ کامل انتشار. در دارا فرایند در موتور مرکزی زندگی میکند: گراف هر فرایند یک ردیف داده است که نسخه میخورد و منتشر میشود، و پروندههای در جریان به نسخهٔ خودشان قفل میمانند تا تغییر امروز هیچ کار بازی را غافلگیر نکند.
نُه حوزهای که پلتفرم دارا برای بانکها، مؤسسات مالی و صندوقهای قرضالحسنه پوشش میدهد. روی هر عنوان بزنید تا باز شود.
چارت حساب چندسطحی با تفصیل شناور، سند سهفازی یادداشت و موقت و دائم، شمارهگذاری قطعی از SEQUENCE، افتتاحیه و اختتامیه با پیشنمایش، و مجموعهٔ کامل گزارشهای مالی از تراز آزمایشی تا ترازنامه و صورت سود و زیان.
موتور فرایند دارا یک ماشین حالت مبتنی بر marking روی PostgreSQL است. وضعیت معتبر هر پرونده در سادهترین شکل ممکن نگه داشته میشود و خواندنش یک SELECT ساده است؛ نه بازپخش تاریخچه لازم است و نه حالت نیمهپیشرفته ممکن.
گراف هر فرایند یک ستون jsonb است که با چرخهٔ پیشنویس، منتشرشده و بایگانی نسخه میخورد. انتشار نسخهٔ تازه یک فراخوانی است، نه یک استقرار؛ و پروندههای در جریان به نسخهٔ خودشان قفل میمانند.
هر پیشروی داخل یک تراکنش انجام میشود که نخستین دستورش گرفتن قفل روی همان پرونده است. وقتی چند ماژول همزمان سیگنال برمیگردانند، همه پشت همان قفل صف میشوند و وضعیت دستنخورده میماند.
رویدادها و تاریخچه پیش از commit در همان تراکنش نوشته میشوند: یا تغییر وضعیت و اعلام آن هر دو ثبت میشوند یا هیچکدام. تحویل جدا و با امضای HMAC و backoff نمایی انجام میگیرد.
کار انسانی یک ردیف واقعی با نقش مقصد و دامنهٔ جغرافیایی است و چرخهٔ کامل تحویلگرفتن، تکمیل، بازگرداندن و ارجاع مجدد دارد. تایمرها پایدارند، از restart جان سالم به در میبرند و مهلت و یادآوری در یک جا متمرکزند.
نتیجهٔ عملی این تفکیک روشن است: عوض کردن ترتیب کارها، افزودن یک تأیید، جابهجا کردن یک استعلام یا تغییر مهلتها یک تصمیم طراحی میشود و دیگر به چرخهٔ build و release در چند سرویس نیاز ندارد.
مرز کار روشن است: دستیار میخواند، پیشنهاد میدهد و پیشنویس میسازد؛ هر تغییری که پول، هویت، مجوز یا تعهد بیرونی را جابهجا کند پشت تأیید صریح یک آدم میماند.
لایهٔ هوش مصنوعی سطح دسترسی جدیدی نمیسازد
دستیار همان چیزی را میبیند که خود کاربر با ورود به پنل میدید، نه یک ردیف بیشتر.
هیچ تغییری بدون کلیک آدم
ثبت سند، غیرفعال کردن حساب، انتشار فرایند و ارسال مکاتبه همه پشت تأیید صریح یک انسان میمانند.
عدد در کد، نه در مدل
جمع، تراز، مانده و روزهای توقف در سیستم حساب میشوند؛ هیچ عددی از انشای مدل نمیآید.
تصمیم اعتباری و هویتی خودکار نمیشود
تأیید نهایی هویت و هر تصمیم اعتباری یا قیمتی در هیچ حالتی بهصورت خودکار گرفته نمیشود.
هر پاسخ منبعدار، هر اقدام ثبتشده
هر پاسخی که به داده ارجاع میدهد میگوید از کدام سند و کدام شرط فیلتر آمده است.
مهار حلقه و پایانپذیری اجرا
زنجیرهٔ کار از حد گامهای تعیینشده که بگذرد متوقف میماند تا مدیر تصمیم بگیرد.
هر ماژول مالک دامنهٔ خودش است و آن را در قالب عملیات فراخوانیپذیر و رویدادهای منتشرشده به بیرون عرضه میکند.
چارت حساب، تفصیل شناور، سند و دورهٔ مالی هر شرکت؛ مرجع هر ریال در پلتفرم.
شابلون سند حسابداری با فرمول بدهکار و بستانکار، از موجودیت تا آرتیکل.
باجه تا خزانهٔ مرکزی، دستهچک و چرخهٔ سیزدهوضعیتی چک، تنخواه و مغایرت بانکی.
حساب سپرده از شمارهٔ افتتاح تا مسدودی وثیقهای و صورتحساب مشتری.
کارت مشتری با موجودیای که همیشه از هستهٔ مالی خوانده میشود.
دریافت وجه از درگاه بانکی تا کارتخوان، روی یک دستور پرداخت واحد.
هر سرمایهگذاری در برابر سقف آییننامهاش، با انحراف اندازهگیریشده.
خط اعتبار کارتی روی هستهٔ مالی، از صدور کارت تا تسویهٔ پذیرنده.
چرخهٔ کامل تسهیلات از درخواست تا تسویه، بر پایهٔ عقود اسلامی.
وثیقه از ثبت و ارزشگذاری تا ترهین انتظامی و آزادسازی کنترلشده.
مانده روزانه را به امتیاز و امتیاز را به سقف تسهیلات میرساند.
امتیاز را با قاعده میسازد و با سند حسابداری نقد میکند.
هر درخواست مشتری با فرم اختصاصی ثبت میشود و ساعت SLA برایش میچرخد.
تکنقطهٔ خروج پیام پلتفرم به کاربر نهایی، روی پنج کانال.
هیچ توکنی در دارا صادر نمیشود مگر از اینجا.
هر تصمیم دسترسی در دارا، پاسخ یک پرسش از این ماژول است.
هیچ درخواستی به ماژولها نمیرسد مگر از این دروازه.
مالک فایل پلتفرم با رمزنگاری envelope و چند backend قابل انتخاب.
هر تماس با دنیای بیرون از یک درِ تعریفپذیر عبور میکند.
یک زمانبند برای کل پلتفرم؛ منطق هر جاب نزد صاحب دامنه میماند.
شش تفاوتی که در ماههای نخست بهرهبرداری خودشان را نشان میدهند.
هیچ ماژولی ستون مانده ندارد. این یک تصمیم معماری است که مغایرتگیری میان زیرسیستمها را از جدول کارها حذف میکند.
افزودن یک تأیید یا جابهجا کردن یک استعلام در طراح انجام میشود و با یک انتشار نسخه فعال میگردد.
پانزده عقد با ماشینحساب اختصاصی و تقویم شمسی؛ نه ترجمهٔ یک هستهٔ خارجی و نه لایهٔ روکش.
سند سهفازی، شمارهٔ عطف بازگشتناپذیر، audit trail کامل عملیات و ثبت منبع هر پاسخ هوشمند.
دادهٔ هر شرکت جدا، کاتالوگ دسترسی مستقل و امکان مقایسهٔ بینشرکتی در چارچوب مجوز.
همان الگوی لایهای، همان قرارداد پاسخ و همان روش ثبت وابستگی — افزودن دامنهٔ جدید کاری قابل تکرار است.
پیش از هر پیشنهاد قیمتی، ترجیح میدهیم سامانهٔ فعلی، نقطهٔ درد و افق زمانی شما را بشناسیم. خروجی نخستین جلسه یک نگاشت روشن از وضعیت موجود و مسیر پیشنهادی است.
تهران، خیابان شریعتی، خیابان دولت، ساختمانهای آسمان، پلاک ۴۶۰، واحد ۱۷