مقایسه تصویری جالب اوراکل Forms و اوراکل APEX
قسمت اول – Modernizing Oracle Forms
قسمت دوم – Modernizing Oracle Forms
قسمت سوم – Modernizing Oracle Forms
این تصاویر را بصورت تک تک از اسلاید Scott Wesley در خصوص Oracle APEX for Forms Developers جدا کردم و بهراه توضیح در این پست قرار دادم که دوستان راحتر بتوانند موضوعات مقایسه را ببینند.
همانطور که در تصویر زیر مشاهده می کنید براحتی می توان یک Form و Report را بصورت ویزارد یا اینکه خودمان ایجاد کنیم. بدین صورت است که در ابتدا لیست اطلاعات مشاهده شده قبلی را مشاهده می کنیم و سپس اگر نیاز به ویرایش داشت با کلیک بر روی یک آیکن بصورت Modal صفحه ویرایش ظاهر می شود و می توان تغییرات را اعمال کرد یا اینکه از طریق دکمه Create می توان اطلاعات جدید را به لیست اضافه کرد. یک قابلیت بسیار کاربردی و مورد استفاده می باشد.
در اوراکل ایپکس تمام صفحه ها در داخل دیتابیس رندر می شود. بدین معنی که صفحه خروجی HTML در درون دیتابیس ایجاد شده، نه در Mid Tier به خاطر اینکه موتور APEX در داخل دیتابیس وجود دارد.
در محیط توسعه اوراکل ایپکس وارد هر صفحه که شدیم شامل سه پنل اصلی می باشد که در پنل سمت چپ اولین Tab مربوط به Render می باشد و شامل چندین زیرمجموعه که می توان Region, Items, … اضافه کرد که مشابه ایجاد بلاک و Canvas , Window در اوراکل Forms می باشد.
در این Tab که مریوط به Process می باشد شبیه قسمت Advanced Database-Property Block در اوراکل Formsهست. اینجا باید پروسس مربوطه ایجاد گردد ک میتواند مستقیما بر روی Region= Block Forms یا اینکه عملیات های دیگر را ایجاد کرد.
اگر بخواهیم این Dynamic Action-Tab را معادل سازی کنیم شبیه Event Triggers های سطح بلاک یا آیتم ها اوراکل Forms می باشد. می توان در این قسمت کنترل های مربوط به صفحه را نیز انجام داد.
در Tab آخر اطلاعات کلی مربوط به صفحه می باشد که شامل تم و آبجکت های استفاده شده در Shared Component و … را مشاهده کنید. در اوراکل Forms هم در قسما پایین صفحه اطلاعات مربوط به LOV ها و Object Group و … قابل مشاهده و ایجاد می باشد.
ما در اوراکل Forms یک قسمت داریم که می توانیم پارامتر تعریف و همان جا مقداردهی با اینکه در قسمت های مختلف مقداردهی و استفاده شود. همچنین برای انتقال یک مقدار از یک صفحه به صفحه دیگر از پارامترها استفاده می کنیم. حال در اوراکل APEX، پارامترها و آیتم ها کلا یک آبجکت مشترک هستند و برای مقداردهی از یک صفحه به صفحه دیگر هم استفاده می شوند که در مثال زیر می توانید مشاهده کنید.
در اوراکل ایپکس نیز همانند اوراکل Forms می توان LOV را به دوصورت Static, Dynamic ایجاد کرد
امکان نمایش Multi Columns در LOV در نسخه اوراکل ایپکس ۱۹.۲ نیز ایجاد گردیدو نیز به پلاگین دیگری نمی باشد که بخواهیم نصب کنید.
در اوراکل ایپکس می توان در قسمت DA نیز Alert تعریف کرد و بسته به وضعیت های مختلف آنرا نمایش داد.
در تصوری زیر می توانید پروسه توسعه را توسط دو توسعه دهنده مختلف اوراکل ایپکس و اوراکل Forms مشاهده کنید. در اوراکل Forms ابتدا باید صفحه را کامپایل کنید . سپس بسته به نوع OS خود FMX مربوطه را ایجاد و در نهایت بر روی سرور کپی نمایید. البته اگر منو و یا Library هم داشته باشید باید بعد از هر تغییر در آن نیز فایل های آنها را بر روی سرور کپی کنید. در اوراکل فرم کاربر باید برای اجرا صفحه خود از مرورگر IE استفاده نماید و همچنین فایل ها باید بر روی سروری که (فقط وبلاجیک) نصب شده است اجرا شود.
در اوراکل ایپکس اولا از مروگرهای مدرن استفاده می کنید ودر محیط APEX Builder صفحه را ذخیره و سپس می توانید همان جا اجرا نمایید و نیاز به هیج Deploy ندارد. توسعه دهنده می توان در هنگام اجرا صفحه بصورت بسیار سریع تمامی اجزای روی صفحه را به محیط توسعه برای ویرایش انتقال دهد. برای انتقال صفحه / اپلیکیشن/ یا هر کامپاننتی که اضافه می کنیم می توانیم اسکریپت تهیه کرده و در محیط PROD انتقال و اجرا کنیم بدون نیاز به Deploy هیچ فایلی.
هر دو از یک Business Data مشترک استفاده می کنند.
از طریق اوراکل ایپکس می توان به سادگی بین صفحه ها و داده ها تعامل برقرار کنیم. با کلیک های روی صفحه.
در تصویر زیر می توان روند اجرا از طریق کاربر را بصورت Session مشاهده کنید. در اوراکل APEX از pooling استفاده می کند و بصورت Stateless. یعنی به ازای هر sessionکه از سمت APEX ایجاد می شود یک session در دیتابیس ایجاد نمی گردد. و برعکس در اوراکل Forms به ازای هر یوزر و session یک session هم در دیتابیس در اختیار گرفته می شود و بصورت کاملا Statefull می باشد.
در اوراکل Forms اگر همزمان چند کاربر بخ.اهند رو یک دیتا مشترک تغییر ایجاد کنند. باعث لاک شدن بقیه کاربران می شود تا اینکه نفر اول آنرا آزاد کند و این خود بعضی اوقات باعت Wait ها طولانی در سطح دیتابیس و در نهایت وقفه در کار کاربر می شود. در اوراکل ایپکس همانند تمام ابزراهای دیگر تحت وب بصورت Optimistic عمل می کند و به ازای هر تغییر در دیتابیس بر روی یک رکورد یک چک سام تولید می کند و اگر در حین تغییر کاربر دیگری بخواهد آنرا تغییر دهد لاک نمی شود و در هنگام عمل commit پیغام داده می شود که اطلاعات تغییر کرده و شما امکان تغییر رکورد جاری را ندارید.
با توچه به معماری پیاده سازی شده Session و Users در اوراکل Forms و اوراکل APEX می توانید با تعداد ۱۰۰ کاربر نمودار زیر را مشاهده کنید که اوراکل APEX با استفاده از Pooling می تواند حداقل session را در دیتابیس ایجاد کند.
برای اینکه فرایند اجرا در اوراکل APEX متفاوت از اوراکل Forms می باشد . نمی توان آنها را کاملا مقایسه کرد. ولی موارد هست که می توان به آن اشاره کرد. مثلا اینکه ما نمی توانیم ار جداول TEMP و متغیرهای پکیج در اوارکل APEX در یک Session استفاده کنیم. ولی ازآن طرف می توانیم از مقادیری که در Session اوراکل APEX ذخیره شده و ذخیره کردیم استفاده نماییم. و به جای جداول TEMP از APEX Collection ها استفاده کرد.
همانطور که قبلا و در پست های قبل اشاره شده، Oracle Forms بصورت Responsive و واگنشگرا نمی باشد و نمی تواند در Device ها مختلف اجرا شود. در صورتیکه Oracle APEX کاملا Responsive می باشد.
حال از طریق AURA PLAYER می توان فرم های ایجاد شده از طریق Oracle Forms را در موبایل هم مشاهده کرد. البته باید هزینه زیادی هم متقبل شوید البته محدودیت هایخاص خودش رو هم دارد.
فایل های راهنما اوراکل Forms در برابر فایل های اوراکل APEX از گستردگی و مثال های کمتری برخودار هستند. در صورتیکه در فایل های زیر می توانید مشاهده کنید مقایسه فایل های راهنما می باشدکه در نهایت می توانید در تصاویر ببینید که اوراکل APEX مخصوصا در محیط توسعه و در اینترنت بسیار قوی تر کارکرده است.
اطلاعات بیشتر:
از Oracle Forms تا Oracle APEX
آینده اوراکل فرم – Oracle Forms