پلتفرم مدیریت فرآیندهای کسبوکار Bizagi BPMS Enterprise یکی از شناختهشدهترین و پرکاربردترین راهکارهای خودکارسازی فرآیندها در بانکها، نهادهای مالی و وزارتخانههای ایران است. این سامانه با محیط مدلسازی بصری بر پایه استاندارد BPMN 2.0، امکان مکانیزهسازی فرآیندهای پیچیده تسهیلات بانکی، پذیرش، کارتابلهای اداری و ارزیابی ریسک را با حداقل کدنویسی فراهم میآورد.
در سازمانهای بزرگ با دهها هزار کاربر همزمان و میلیونها پرونده جاری، استقرار بیزاجی بر روی یک سرور تکین به سرعت موجب قفل شدن پرتال کاربری (Work Portal) در ساعات پیک کاری، کندی اجرای زمانبندها (Scheduled Jobs) و پر شدن صفهای پایگاه داده میشود. برای حل این معضل، پیادهسازی معماری چندسروری Web Farm بر روی IIS، تفکیک پردازشهای پسزمینه با Dedicated Scheduler Servers و تیونینگ پایگاه داده مایکروسافت اسکیوال سرور ضروری است. در این مقاله جامع، تمامی گامهای معماری و فعالسازی دائمی آفلاین بررسی میشود.
۱. توپولوژی معماری چندسروری Bizagi Enterprise Web Farm #
معماری مقاوم و مقیاسپذیر بیزاجی در مقیاس سازمانی از چهار لایه مستقل تشکیل شده است:
┌─────────────────────────────────────────┐
│ F5 BIG-IP / HAProxy Load Balancer │
│ https://bpms.corp.local │
└───────────────────┬─────────────────────┘
│
┌─────────────────────────┴─────────────────────────┐
│ │
▼ ▼
┌───────────────────────┐ ┌───────────────────────┐
│ Web Portal Node 01 │ │ Web Portal Node 02 │
│ IIS Work Portal │ │ IIS Work Portal │
│ Scheduler: DISABLED │ │ Scheduler: DISABLED │
│ 192.168.80.11 │ │ 192.168.80.12 │
└───────────┬───────────┘ └───────────┬───────────┘
│ │
├─────────────────────────┬─────────────────────────┤
│ │ │
▼ ▼ ▼
┌───────────────────────┐ ┌───────────────────────┐ ┌───────────────────────┐
│ Dedicated Scheduler 1 │ │ Dedicated Scheduler 2 │ │ MSSQL AlwaysOn AG │
│ Async Events & Jobs │ │ Standby Job Engine │ │ High-Performance │
│ 192.168.80.21 │ │ 192.168.80.22 │ │ (Bizagi Core Database)│
└───────────────────────┘ └───────────────────────┘ └───────────────────────┘
مزایای تفکیک لایهها و جداسازی Scheduler:
۱. پاسخدهی آنی به کاربران Work Portal: وظیفه سرورهای وب نود صرفاً کامپایل فرمهای کاربری، بارگذاری کنترلها و ثبت اکشنهای کاربران است.
۲. حذف رقابت بر سر منابع: سرویس Bizagi Standard Scheduler Service که وظیفه اجرای وبسرویسهای ناهمگام، ارسال پیامک و تایمرهای مهلت اقدام فرآیندها را دارد، بر روی سرورهای اختصاصی اجرا میشود تا مصرف پردازنده آن کوچکترین تاثیری بر کاربران وب نگذارد.
۲. راهاندازی کلاستر Web Farm و مدیریت Session State #
در معماری چندسروری بیزاجی، کاربران ممکن است با هر درخواست به یک سرور IIS متفاوت هدایت شوند. بنابراین وضعیت نشست (Session State) نباید به صورت InProc باشد.
تنظیمات فایل web.config بیزاجی جهت استفاده از SQL Server Session State:
<configuration>
<system.web>
<!-- ذخیره نشست کاربران در پایگاه داده مستقل ASPState -->
<sessionState mode="SQLServer"
sqlConnectionString="data source=sql-listener.corp.local;Integrated Security=SSPI;"
cookieless="false"
timeout="60" />
<!-- هماهنگسازی کلید رمزنگاری MachineKey بر روی تمامی وبسرورها -->
<machineKey validationKey="C50B3C89AB21F4F24206269CB78B6F49C723C532289622F619B2C04A2470F132"
decryptionKey="8A9BE8FD67AF6979E7D20198CFEA50DD3D3799C77AF2B72F"
validation="SHA1"
decryption="AES" />
</system.web>
</configuration>
دستور آمادهسازی دیتابیس جلسات کاربران در SQL Server:
# اجرای ابزار استاندارد مایکروسافت جهت ایجاد دیتابیس ASPState
cd "C:\Windows\Microsoft.NET\Framework64\v4.0.30319"
.\aspnet_regsql.exe -ssadd -sstype c -d "ASPState" -S "sql-listener.corp.local" -E
۳. تفکیک و امنسازی سرویس زمانبند رویدادها (Bizagi Scheduler Isolation) #
در سرورهای Web Portal 01 و 02، وارد کنترل پنل مدیریت خدمات ویندوز (services.msc) شوید و سرویس زیر را متوقف و در حالت Disabled قرار دهید:
Bizagi Standard Scheduler Service
سپس در سرورهای اختصاصی پردازش (Dedicated Scheduler 1 & 2):
۱. نرمافزار Bizagi Engine نصب شده و سرویس Scheduler در حالت Automatic فعال میگردد.
۲. در فایل BizagiScheduler.exe.config، پارامترهای زیر را بهینهسازی کنید:
<appSettings>
<!-- حداکثر تعداد وظایف ناهمگام همزمان -->
<add key="MaxConcurrentJobs" value="32" />
<!-- مدت زمان انتظار برای تلاش مجدد در صورت خطای وبسرویس بیرونی -->
<add key="RetryWaitTimeInSeconds" value="60" />
<add key="MaxJobRetries" value="5" />
</appSettings>
۴. تیونینگ طلایی پایگاه داده SQL Server برای Bizagi #
بانک اطلاعاتی بیزاجی حجم عظیمی از دادههای XML و ارتباطات کلید خارجی را در جداول کارتابل (WFCASE, BAWORKITEM) نگهداری میکند. اعمال تنظیمات زیر موجب بهبود محسوس عملکرد میگردد:
USE [master];
GO
-- فعالسازی ایزولاسیون RCSI جهت حذف Lock در کارتابل کاربران
ALTER DATABASE [BIZAGI_PROD] SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE;
GO
-- جلوگیری از رشد تصادفی فایلهای گزارش و لاگ
ALTER DATABASE [BIZAGI_PROD]
MODIFY FILE (NAME = N'BIZAGI_PROD_log', FILEGROWTH = 512MB);
GO
-- ایندکسگذاری اختصاصی جداول کارتابل جاری
USE [BIZAGI_PROD];
GO
CREATE NONCLUSTERED INDEX [IX_WorkItem_User_State]
ON [dbo].[BAWORKITEM] ([idUser], [radNumber], [taskState])
INCLUDE ([entryDate], [estimatedSolutionDate]);
GO
۵. لایسنسینگ دائمی آفلاین بدون محدودیت توسط Licentra #
نسخه رسمی بیزاجی با تکیه بر مدل لایسنسینگ تعداد کاربران نامگذاریشده (Named Users) یا حجم پروندههای سالانه، نیازمند اعتبارسنجی مداوم است و در محیطهای ایزوله فاقد اینترنت، هشدارهای انقضا تولید میکند.
مزایای بسته لایسنس سازمانی Licentra:
-
تعداد کاربر نامحدود (Uncapped Named Users): امکان تعریف دهها هزار پرسنل در سازمان بدون پرداخت هزینههای لایسنس به ازای هر نفر.
-
فعالسازی بدون اینترنت: عملکرد ۱۰۰٪ آفلاین بر اساس شناسه سختافزاری سرور در شبکههای امنیتی پدافند غیرعامل.
-
پشتیبانی کامل از ماژولهای پیشرفته: شامل استودیو مدلسازی سازمانی، قابلیت اتصال به ESB، یکپارچهسازی با LDAP و ابزارهای مانیتورینگ BAM (Business Activity Monitoring).
# بررسی وضعیت سرویسها و پورتهای بیزاجی با PowerShell
Get-Service -Name "*Bizagi*" | Select-Object Name, Status, StartType
Test-NetConnection -ComputerName "sql-listener.corp.local" -Port 1433
این متدولوژی پیادهسازی، متضمن اجرای روان و باثبات فرآیندهای کسبوکار، حذف زمان قطعی کارتابل و امنیت پایدار در مراکز داده سازمانی است.


