معرفی
در ادغام امروزی، موارد زیادی وجود دارد که قسمت جلویی (برنامه وب/API) در فضای ابری میزبانی میشود و بخشی یا کل بخش ذخیره داده در فضای ابری یا داخلی است. کد ادغام باید داده ها / واکشی را پر کند و بر اساس درخواست، عملیات CRUD را روی جداول انجام دهد. در چنین سناریوهایی، Logic Apps برای ادغام برنامه وب/API و ذخیره داده ها مناسب است زیرا Logic App یک راه آسان و بصری برای یکپارچه سازی سیستم ها در قالب یک گردش کار ارائه می دهد.
برنامه های منطقی چیست؟
Logic Apps یک قطعه از گردش کار ادغام میزبانی شده در Azure است که برای ایجاد ادغام های مقیاس پذیر در بین سیستم های مختلف استفاده می شود. طراحی این برنامه ها بسیار آسان است و اتصال بین سیستم های مختلف مختلف را با استفاده از بسیاری از کانکتورهای خارج از جعبه و همچنین با تسهیلات طراحی فراهم می کند. اتصالات سفارشی برای اهداف خاص این امر ادغام را آسانتر از همیشه میکند، زیرا جنبه طراحی ادغامهای پیچیده قبلی با حداقل مراحل لازم برای ایجاد یک گردش کار و اجرای آن آسان میشود.
محدوده
این مقاله به نحوه درج داده های مشابه در چندین جدول در یک فروشگاه داده با استفاده از برنامه منطقی می پردازد. برنامه منطق یک نقطه پایانی HTTPS را نشان می دهد که می تواند توسط API/برنامه وب جلویی مصرف شود و می تواند داده ها را به برنامه منطق ارسال کند. نقاط پایانی بار JSON را میپذیرند و دادههای دریافتی از طریق تماس HTTPS را در چندین جداول میزبانی شده در یک سرور SQL داخلی وارد میکنند. هدف این مقاله بررسی نحوه درج دادهها به جداول SQL با استفاده از یک فراخوانی از برنامه منطقی (با استفاده از SQL After Insert triggers) در مقابل روش مرسوم فراخوانی دو رویه ذخیرهشده مختلف/عملکرد ردیف درج است. رویکرد مورد بحث در این مقاله تعداد فعالیتهایی را که یک برنامه منطقی باید انجام دهد کاهش میدهد و در نتیجه کاربر را از دریافت صورتحساب برای چندین عملکرد نجات میدهد (زیرا تعدادی از اقدامات در طول اجرای برنامه منطقی صورتحساب میشوند). این مقاله فرض میکند که خواننده مبتدی با دانش اولیه Microsoft Azure و Logic Apps است و کاربر را راهنمایی میکند تا یک رویکرد عملی را برای یادگیری مفهوم امتحان کند.
SQL Triggers چیست؟
طبق اسناد MSDN در CREATE TRIGGER (Transact-SQL)
"ماشه یک نوع خاص از رویه ذخیره شده است که به طور خودکار زمانی که رویدادی در سرور پایگاه داده رخ می دهد اجرا می شود. هنگامی که کاربر سعی می کند داده ها را از طریق یک رویداد زبان دستکاری داده ها (DML) تغییر دهد، راه اندازی های DML اجرا می شود. رویدادهای DML عبارتند از INSERT، UPDATE، یا دستورات را روی یک جدول یا نما حذف کنید. اینها وقتی هر رویداد معتبری فعال می شود، بدون توجه به اینکه آیا ردیف های جدول تحت تأثیر قرار می گیرند یا نه، فعال می شوند."
پیاده سازی
پیاده سازی را می توان به دو بخش تقسیم کرد.
- ایجاد جداول SQL، رویههای ذخیره شده و تریگرها
- ایجاد برنامه منطقی و اتصال برنامه منطقی به فروشگاه SQL
ایجاد جداول SQL، رویههای ذخیره شده و تریگرها
جداول SQL
یک جدول اصلی کارمند ساده ایجاد می شود که اطلاعات مربوط به کارمند مانند شناسه کارمند، نام کارمند، حقوق، شناسه کارمند مدیر گزارش و غیره را ذخیره می کند. پرس و جو برای ایجاد جدول کارمند ساده به شرح زیر است.
- CREATE TABLE[dbo].[Employee_Master]
- (
- [Emp_ID] int Unique NOT NULL, [Emp_name] varchar(100) NULL, [Emp_Sal] decimal(10, 2) NULL, [Supervisor_ID] int Unique NOT NULL
- )
جدول دیگری که Employee و Reporting Manager را ذخیره می کند، می تواند با استفاده از نمونه کوئری همانطور که در زیر ذکر شده است ایجاد شود.
- CREATE TABLE [dbo].[Employee_Manager_Mapping]
- (
- [Emp_ID] int Unique NOT NULL,
- [Supervisor_ID] int NOT NULL
- )