عناوین فهرست
یکپارچه سازی با سایر منابع اطلاعاتی
در طراحی فرم های برخی وقت ها لازم است که اطلاعات موجود در سایر منابع اطلاعاتی (سایر نرم افزارهای سازمانی) واکشی و در فرم استفاده گردد. به عنوان مثال در فرم درخواست کالا می خواهیم فهرست کالا های تعریف شده در سامانه انبار را استفاده کنیم. یا اینکه با استفاده از یک سرویس نرم افزاری (web service) مقداری را از سایر سیستم ها واکشی و در فرم استفاده نماییم. این کار با استفاده از دو روش ذیل ممکن می باشد:
اتصال به پایگاه داده SQL Server
اتصال از طریق Web API
اتصال به پایگاه داده SQL Server
نحوه معرفی سرویس دهنده و گذرگاه
جهت اتصال به یک پایگاه داده SQL Server می بایست مراحل ذیل را طی کنیم.
در بخش یکپارچه سازی سامانه فرم ساز، ابتدا در بخش سرویس دهنده یک سرویس دهنده جدید تعریف می کنیم. سپس فضای کاری مرتبط با فرم را برای سرویس دهنده آن نیز تعیین می کنیم، یک عنوان انتخابی برای سرویس دهنده در بخش “عنوان پایه” در نظر می گیریم، نوع منبع را SQL Server تعیین می کنیم و نام یا شناسه شبکه مرتبط با SQL Server را در بخش “نام یا IP سرور پایگاه داده” و سپس نام پایگاه داده را درج می کنیم.
اگر نحوه اتصال به SQL Server بر اساس اعتبار سنجی ویندوز تعریف شده باشد گزینه “اعتبار سنجی ویندوزی” را انتخاب می کنیم. در غیر این صورت نام کاربری و رمز عبور جهت اتصال به SQL Server را درج می نماییم و در انتها روی دکمه ذخیره کلیک می کنیم.
دقت شود در صورتی که اتصال به پایگاه داده SQL Server با موفقیت برقرار گردد در ستون وضعیت اتصال عبارت OK نمایش داده خواهد شد.
بعد از تعریف سرویس دهنده متصل به SQL Server گام بعدی تعریف یک گذرگاه میباشد برای این نکته روی دکمه جدید در بخش گذرگاه کلیک میکنیم. در “شرح عملیات” گذرگاه جدید یک نام انتخابی وارد میکنیم و از لیست سرویس دهندهها، سرویس دهندهای که برای اتصال به SQL Server را ایجاد کردیم را انتخاب میکنیم. حال کافیست Query مورد نظر را برای واکشی اطلاعات بنویسیم و گذرگاه را ذخیره نماییم.
مانند :
SELECT value=[id],content=[name],price=[price],counter=[count] FROM [rockfa].[dbo].[product]
در ادامه با چند مثال به نحوه استفاده از سرویس دهندهها و گذرگاههایی که تعریف کردهایم خواهیم پرداخت.
مثالی از استفاده سرویس دهندههایی از نوع SQL Server ها
فراخوانی اطلاعات جدول و نمایش آنها در کنترل لیست باز شونده
در این مثال می خواهیم نحوه اتصال یک کنترل لیست بازشونده را در فرم به یک گذرگاهی که لیست کالا ها را از یک پایگاه داده دیگر فراخوانی میکند را باهم بررسی کنیم. برای این کار در فرم یک کنترل لیست باز شونده قرار میدهیم و مشخصه منبع اطلاعاتی کنترل را برابر با Data Connector قرار میدهیم.
در ادامه مقدار نوع بازگشتی را برابر با Object قرار میدهیم. مقدار content (به حروف بزرگ و کوچک در این بخش دقت کنید) برابر با فیلدی در Query میباشد که قرار است عنوان اطلاعات را در لیست نمایش دهد (در مثال ما عنوان کالاها)، که در Query نوشته شده در گذرگاه ما همان عبارت content را استفاده کردیم که آنرا در این بخش باقی میگذاریم.
در بخش Data Connector نام سرویس دهنده (در مثال ما سرویس اتصال به سامانه انبار) و در بخش End Point نیز نام گذرگاه (در مثال ما لیست کالاها) مورد نظر را بر می گزینیم.
حال کافیست که فرم را اجرا کنیم ملاحظه میکنید که در لیست باز شونده اطلاعات کالاها از پایگاه داده سامانه دیگری واکشی میگردد.
اتصال از طریق Web API
جهت اتصال به یک WebApi (سرویس نرم افزاری) میبایست مراحل ذیل را طی کنیم.
در بخش یکپارچه سازی سامانه فرم ساز، ابتدا در بخش سرویس دهنده یک سرویس دهنده جدید تعریف میکنیم. سپس فضای کاری مرتبط با فرم را برای سرویس دهنده آن نیز تعیین میکنیم، یک عنوان انتخابی برای سرویس دهنده در بخش “عنوان پایه” در نظر میگیریم، نوع منبع را WebApi و آدرس سرویس نرم افزاری که برای دسترسی به اطلاعات موجود در سایر منابع اطلاعاتی ایجاد شده را در بخش آدرس عملیاتی درج میکنیم.
بعد از تعریف سرویس دهنده متصل به WebApi گام بعدی تعریف یک گذرگاه میباشد برای این نکته روی دکمه جدید در بخش گذرگاه کلیک میکنیم. در “شرح عملیات” گذرگاه جدید یک نام انتخابی وارد میکنیم و از لیست سرویس دهندهها، سرویس دهندهای که برای اتصال به WebApi ایجاد کردیم را انتخاب میکنیم. متد واکشی را روی GET قرار داده و نام EndPoint را برابر با عنوان متدی که وظیفه واکشی اطلاعات در سرویس نرم افزاری را بر عهده دارد قرار میدهیم.
مثال هایی از استفاده سرویس دهندههایی از نوع WebApi
فراخوانی اطلاعات جدول و نمایش آنها در کنترل لیست باز شونده
در این مثال میخواهیم نحوه اتصال یک کنترل لیست بازشونده را در فرم به یک گذرگاهی که لیست کالاها را از یک پایگاهداده توسط یک سرویس نرم افزاری (WebApi) فراخوانی میکند را باهم بررسی کنیم. برای این کار در فرم یک کنترل لیست باز شونده قرار میدهیم و مشخصه منبع اطلاعاتی کنترل را برابر با Data Connector قرار میدهیم.
در ادامه مقدار نوع بازگشتی را برابر با Object قرار میدهیم. مقدار content (به حروف بزرگ و کوچک در این بخش دقت کنید) را برابر با فیلدی که در متد موجود در سرویس نرم افزاری برابر با عنوان آیتمها میباشد و قرار است در لیست نمایش داده شود (در مثال ما عنوان کالا ها) قرار میدهیم.
در بخش Data Connector نام سرویس دهنده (در مثال ما سرویس اتصال به api) و در بخش End Point نیز نام گذرگاه (در مثال ما فراخوانی لیست خودرو) مورد نظر را بر میگزینیم.
حال کافیست که فرم را اجرا کنیم ملاحظه میکنید که در لیست باز شونده اطلاعات کالاها از پایگاهداده سامانه دیگری واکشی میگردد.
نمونه کد برای واکشی اطلاعات از طریق Api نوع C#:
[System.Web.Http.HttpPost] [System.Web.Http.Route("cars/carList/{id}")] public JsonResult<List<carList>> getAllCar(int id) { using (var db = new rockfaEntities()) { var result = db.Database.SqlQuery<carList>(@"select [id], [name], [qty], [price] from [faragostar_io].[dbo].[carlist]"); return Json(result.ToList()); } }