مهاجرت از اوراکل فرم به اوراکل اپکس

مهاجرت از اوراکل فرم به اوراکل اپکس

نگهداری برنامه های قدیمی، کمبود برنامه نویسان واجد شرایط، پاسخگو نبودن معماری سرور مشتری، پاسخگویی به نیازهای امنیتی، نیاز به متمرکز کردن اطلاعات شرکت ها و سیستم ها، دسترسی راحت و سریع کاربران نهایی و نیز دسترسی از طریق موبایل و تبلت از جمله دلایل اصلی برای مهاجرت برنامه ها به تکنولوژی های مناسب و به روز است.

مهاجرت از هر پلتفرمی به پلتفرم دیگر با چالش ها و دغدغه های خاص خود همراه است و در این میان هوشمندی در تصمیم گیری و هدایت صحیح تیم توسعه مهم ترین مسئله در این مهاجرت است. یکی از مسائل مطرح در جامعه اوراکل، مهاجرت از اوراکل فرم به سمت پلتفرم های جدید است که مزایای بیشتری را فراهم می کنند و با تغییر و تحولات روز دنیای اطلاعات نیز همگام هستند. مدیران و تصمیم سازان این جامعه، گزینه های جایگزین متعددی برای مهاجرت دارند، از جمله جاوا یا دات نت، اما عدم نیاز به یادگیری زبان جدید، سادگی، هزینه و زمان پایین توسعه از جمله دلایل اصلی گرایش برای مهاجرت به سمت اوراکل اپکس است. اوراکل اپکس را می توان اصلی ترین و مناسب ترین پلتفرم برای مهاجرت برنامه های اوراکل فرم دانست.

تلاش ها و منابع مورد نیاز برای مهاجرت برنامه های اوراکل فرم به اپکس، به اندازه آن برنامه، پیچیدگی منطق کسب و کار آن و نیز انطباق پیاده سازی های سفارشی آن برنامه بستگی دارد. برای مثال، درک و تغییر هر آنچه در اوراکل فرم طی سالیان متمادی ایجاد شده است، قطعا چالش برانگیز است و البته باید این را نیز در نظر گرفت که این چالش ها در هر مهاجرتی به هر پلتفرم دیگری کاملا طبیعی است.

مهاجرت از یک محیط کلاینت سرور به یک محیط کاملا وب محور همراه با چالش ها و دغدغه های خاص خود است. عدم تطابق برخی تعاریف در این دو محیط و نیز لزوم همگام کردن تفکرات برنامه نویسان و تغییر عادات برنامه نویسی آن ها اولین چالش در این مهاجرت است. هدایت صحیح و نیز همراه با آموزش درست برنامه نویسان طوری که بتوانند با کمترین چالش از اوراکل فرم به اوراکل اپکس مهاجرت نمایند، مساله ای است که بایستی مد نظر قرار گیرد. عدم یادگیری صحیح و تکیه صرف بر دانش قبلی در اوراکل فرم و نیز هدایت ناصحیح برنامه نویسان در درک الزامات این مهاجرت چالشی است که تنها با تدبیر و برنامه ریزی و نیز آموزش صحیح، سهل و آسان خواهد شد.

با توجه به اینکه زبان برنامه نویسی مورد استفاده در هر دو محیط – هم اوراکل اپکس و هم اوراکل فرم – زبان PL/SQL است، یکی از دغدغه های اصلی مدیران و تصمیم گیران که همان تغییر زبان و یادگیری زبان جدید است، مرتفع می گردد. برنامه نویسان برای این مهاجرت مجبور به کنارگذاشتن سال ها تجربه کار با PL/SQL و یادگیری زبان جدید نیستند و کافی است خود را با محیط جدید و الزامات آن تطبیق دهند. نحوه کدنویسی صحیح که منجر به یک برنامه با کارایی و امنیت بالا می شود، مهمترین موضوع در این مهاجرت است.

چالش بعدی رابط کاربری است. بسیاری از برنامه نویسان در زمان مهاجرت نگران الزامات کار با یک محیط وب هستند و ممکن است با مفاهیم خاص این محیط جدید آشنا نباشند، علاوه بر این برای کار در همچین محیطی نیاز به کسب مهارت هایی همچون JQuery، JavaScript، HTML و یا CSS است. بایستی خاطر نشان کرد که این نگرانی کاملا طبیعی است، اما اوراکل اپکس با تفکیک لایه Presentation از لایه Business این دغدغه را به پایین ترین حد خود رسانده است. به طوری که برنامه نویسانی که از محیط اوراکل فرم به اوراکل اپکس مهاجرت می کنند، به هیچ عنوان درگیر لایه Presentation نخواهد شد و تنها بایستی به منطق کسب و کاری که باید پیاده سازی نمایند، فکر کنند و دیگر نگران نحوه نمایش داده شدن صفحات HTML که همراه با کدهای CSS است، نباشند. از طرفی با ارائه Dynamic Action ها در اوراکل اپکس نسخه ۴، برنامه نویس های PL/SQL بدون نیاز به داشتن دانش جاوا اسکریپت می توانند به راحتی با استفاده از ویزاردهایی که برنامه نویس را در پیاده سازی هر آنچه نیاز دارند، هدایت می کنند، به مقصود خود رسانده و حتی دستورات خود را به صورت AJAX اجرا و با پایگاه داده ها تعامل داشته باشند. این قابلیت زیبا در اوراکل اپکس، به معنای بی نیازی کامل از دانستن جاوااسکریپت و یا HTML و CSS نیست، بلکه همراه با مهاجرت به اوراکل اپکس، بهتر است خود را نیز به روز کنید.

هم اوراکل فرم و هم اوراکل اپکس هردو از پلتفرم های نسل ۴ توسعه سریع برنامه ها محسوب می شوند که هدفشان کاهش زمان توسعه و هزینه توسعه برنامه ها است. اوراکل فرم برنامه ها را از متا داده های موجود در فایل های fmx اجرا می کند و اوراکل اپکس برنامه ها را از متا داده های ذخیره شده در جداول دیتابیس اجرا می کند. سرعت تولید برنامه ها و تولید صفحات در اپکس با توجه به رویکرد مهندسی نرم افزار Agile بالاست و اپکس با استفاده از محیط کاملا Declarative خود فرایند توسعه را سرعت بخشیده و برنامه نویس را در این راه یاری می کند.

مساله بعدی، تعریف نحوه دسترسی کاربران نهایی به صفحات و کنترل دسترسی آن ها بر روی یک آیتم یا ماژول یا مولفه خاص است. در اوراکل فرم کاربران به صورت یک کاربر دیتابیسی تعریف می شدند و بنابراین شامل بسیاری از ملاحظات خاص پیاده سازی و هماهنگی با پایگاه داده اوراکل هستند، اما در اوراکل اپکس با توجه به نوع معماری آن، تمامی اتصالات به دیتابیس از طریق یک کاربر خاص آن هم تنها با یک Privilege یعنی Create session به پایگاه داده متصل می شوند و کاربران اصطلاحا کاربران سطح برنامه هستند. این موضوع با شناخت صحیح نحوه عملکرد اوراکل اپکس، پیاده سازی صحیح Authorization و نیز استفاده از VPD به راحتی قابل کنترل است.

قابلیت توسعه، موضوع بعدی است.

آیا در اوراکل اپکس نیز می توان ماژول ها یا مولفه های خاصی را که نیاز داریم و ممکن است در اپکس نباشد را خود اضافه و توسعه دهیم؟ پاسخ به این سوال این است: بله. خوشبختانه با انتشار نسخه ۴ در سال ۲۰۱۰ این قابلیت به اوراکل اپکس افزوده شد تا خود برنامه نویسان بتوانند در توسعه اپکس و پیاده سازی هر آنچه می خواهند، به همراه تیم اوراکل، سهیم باشند. این قابلیت جدید پلاگین نام دارد. شما نیز با داشتن دانش کافی می توانید ماژول ها و مولفه های مورد نظر خود را ایجاد نمایید.

اجازه دهید تا در ادامه این دو پلتفرم را به اختصار تشریح و مقایسه کنیم:

زبان سمت کلاینت و نیز سمت سرور در اوراکل فرم PL/SQL است و اوراکل اپکس نیز در سمت سرور از زبان PL/SQL بهره می برد اما زبان سمت کلاینت آن جاوا اسکریپت است.

بحث بعدی در UI است. رابط کاربری اوراکل فرم بر روی JVM اجرا می شود و اساسا جاوا است، در حالی که رابط کاربری اوراکل اپکس HTML و CSS است. همچنین اوراکل فرم از موقعیت دهی دقیق استفاده می کند در حالی که اپکس از موقعیت دهی Relative بهره می برد.

هم اپکس و هم فرم هر دو از وب سرویس ها پشتیبانی می کنند. اوراکل فرم از Validation سطح فیلد و نیز پردازش رویدادها در این سطح پشتیبانی می کند. اپکس نیز از Validation های سطح صفحه و پردازش رویداد در سطح صفحه پشتیبانی می کند. Validation سطح فیلد و نیز پردازش رویداد در این سطح مستلزم برنامه نویسی جاوا اسکریپت و آژاکس است که البته با استفاده از Dynamic Action ها بسیار سهل و آسان خواهد بود.

اوراکل فرم برای رسم نمودارهاو نمایش آن ها از Oracle Beans استفاده می کند و می دانیم که رسم نمودار در این محیط واقعا چالش برانگیز است. ولی اوراکل اپکس از موتور Anychart به عنوان قلب تپنده رسم و نمایش نمودارها به صورت فلش یا HTML5 بهره می برد که کار رسم نمودارهای مختلف را بسیاردلپذیر کرده است. علاوه بر این تولید گزارشات PDF، HTML، Excel و CSV و نیز بارگذاری داده های یک فایل Excel یا CSV در اوراکل اپکس در مقایسه با فرم به مراتب راحت تر و با چاالش های بسیار کمتری مواجه است چرا که بسیاری از این کارها را خود اپکس برای شما انجام خواهد داد.

اوراکل فرم ازرنج متنوعی از مکانیزم های قفل گذاری بهره می برد، اما مکانیزم قفل گذاری اصلی در آن Pessimistic است. در حالی که اپکس با توجه به معماری اسنکرون خود از مکانیزم Optimistic استفاده می کند که یکی از مزایای آن افزایش همروندی است.

منطق کسب و کار برنامه شما در اوراکل فرم، در پایگاه داده اوراکل، MiddlewareForms Server, و خودکلاینت انجام می شود. منطق کسب و کار برنامه ها در اپکس در داخل پایگاه داده اوراکل انجام می شود. منطق کسب و کار شما در سمت کلاینت نیز با استفاده از جاوا اسکریپت پیاده می شود که می تواند با پایگاه داده نیز تعامل داشته باشد.

مرورگر اصلی برای نمایش اوراکل فرم Internet Explorer است. اوراکل اپکس از HTML و CSS استفاده می کند، بنابراین بر روی همه مرورگرها (البته به استثنای IE که برای سیستم های وب تبدیل به یک چالش شده است) به درستی نمایش داده می شود و از این نظر کاملا Cross Browser است.

اوراکل فرم از انواع Trigger های سطح صفحه، بلاک و فیلد استفاده می کند و برای نوشتن آن ها تنها داشتن دانش PL/SQL کافی است. اوراکل اپکس نیز از رنج گسترده ای از Trigger ها (که البته ما آن را Event ها می نامیم) بهره می برد که با Trigger های اوراکل فرم ندارد. برای نوشتن آنها البته باید از جاوااسکریپت استفاده کرد و یا برای تعامل با دیتابیس می تواند در قالب اجراهای آژاکسی هم از جاوااسکریپت و هم از PL/SQL استفاده کرد. خوشبختانه با معرفی Dynamic Action ها نگرانی اکثر برنامه نویسان در خصوص نوشتن کدهای جاوااسکریپت مرتفع شده است و این Event ها به راحتی قابل تعریف هستند.

بحث آخر را به مسئله Mobile می پردازیم. اوراکل اپکس در نسخه ۴٫۲ خود، امکان تولید برنامه های موبایل را اضافه کرد. برنامه نویس با استفاده از همان محیط توسعه پیشین می تواند اقدام به تولید برنامه های موبایل کند و JQuery Mobile برای نمایش رابط کاربری آن بهره ببرد. این امکان زیبا در اوراکل فرم میسر نیست.

سخن پایانی: اوراکل فرم یکی از ابزارهای تولید برنامه های اوراکل با زبان PL/SQL است (بود!) که سالیان طولانی جزو پلتفرم های اصلی برنامه نویسان اوراکل در ایران به شمار می رفته است. اما با توجه به تغییرات تکنولوژی و مواردی که در سطور بالا به آن اشاره شد، دیگر جوابگوی نیازهای جدید نیست و این، لزوم مهاجرت به پلتفرم های جدید را بیش از پیش آشکار می سازد. اوراکل اپکس ۵ ابزار اصلی تولید برنامه های وب شرکت اوراکل است. اوراکل سرمایه گذاری خوبی بر روی این پلتفرم انجام داده است و به زودی با انتشار نسخه ۵ آن شاهد جهشی بزرگ در تولید سریع برنامه های وب خواهید بود. به نظر می رسد نسخه جدید، در ژانویه سال ۲۰۱۵ عرضه گردد.