الانتقال إلى المحتوى

متى يكون Apex أفضل لمؤسستك من Adf ؟


محمود ربيع

Recommended Posts

السلام عليكم ورحمة الله

 

Oracle ADF بلا شك من أهم الDevelopment Frameworks عند Oracle

 وهو خيار استراتيجي ووحيد للعديد من الموسسات لعدة أسباب ذكرناها في النقاش الماتع في الموضوع التالي

http://www.araboug.org/ib/index.php?showtopic=67550

 

 

لكن هل هنالك حالات أخرى يكون APEX هو الخيار الانسب لتطوير أنظمة مؤسستك!

 

سؤالنا المحدد هو:

متى يكون APEX أفضل لمؤسستك من ADF ؟

 

نأمل من الكرام الذين عملوا بكلا التقنيتين المشاركة في هذا الموضوع بنقاط محددة

وبمشاركات مختصرة مع المصادر قدر الامكان

لتحقيق أكبر فائدة للمختص العربي في مجال تقنية المعلومات

 

دمتم بخير وعافية

رابط هذا التعليق
شارك

  • الردود 31
  • البداية
  • اخر رد

أكثر المشاركين في هذا الموضوع

  • محمود ربيع

    17

  • eslam elbyaly

    3

  • sd4it

    3

  • Waleed Gisr

    2

فى نقطة مهمة اوى لو بنتكلم على المؤسسات. 

لو هتختار تقنية لازم تكون متأكد انك هتلاقى مبرمجين يعرفوا يشتغلوا بيها, وللأسف الناس الى تعرف أبكس فى مصر مثلا تتعد على الاصابع. ومحدش بيتجهله لانه مش شايف طلب عليه اصلا من الشركات. 

رابط هذا التعليق
شارك

ممتاز .... هذه نقطة مهمة جدا ...

 

(١) قبل أن تذكر نقاط تفضيل تقنية عن اخرى وفقا لظروف واحتياجات مؤسستك لابد أن تتأكد أولا هل سيسهل عليك توفير مبرمجين Oracle APEX من الأساس .... فهذا عامل أمان مهم جدا

 

لكن اذا فرضنا تواجدهم ، فمتى يكون APEX أفضل لمؤسستك من ADF ؟

 

المشاركات مرحب بها من الجميع 

 

دمتم بخير وعافية

رابط هذا التعليق
شارك

من الحالات التي يكون فيها اوركل Apex أفضل من اوركل ADF هي عند ال migration لبرنامج تم بناءه باوركل Forms، وكلما كان البرنامج الأصلي data driven كلما كان ابيكس أنسب.

رابط هذا التعليق
شارك

من الحالات التي يكون فيها اوركل Apex أفضل من اوركل ADF هي عند ال migration لبرنامج تم بناءه باوركل Forms، وكلما كان البرنامج الأصلي data driven كلما كان ابيكس أنسب.

بارك الله فيك يا بشمهندس وليد

 

نقطة في غاية الأهمية والقوة واتفق معك فيها.

 

(٢) الADF نمط تصميم البرنامج او النظام فيه UI-Driven

إنما APEX و Forms كلاهما Data-Driven

 

فلذلك اذا كانت مؤسستك عندها Legacy System مبني بالOracle Forms فان الخيار الانسب للModernization هو بلا شك Oracle APEX

تم تعديل بواسطة محمود ربيع
رابط هذا التعليق
شارك

ايضا أضيف نقطتين هامتين الى ما تفضل به الكرام

(٣) الCost في حالة APEX منصبة على Database فقط
تكرما راجعوا الArchitecture الخاص بالAPEX
وهو أرخص من ADF الذي في حالته ستضطر شراء Licenses اكثر للMiddleware Layers التي ستستخدمها مؤسستك

(٤) الScalability and High Availability ستكون اسهل في الAPEX
فهي منصبة ومركزة على الDatabase إنما في حالة ADF فينبغي العمل
على عدة Layers

في انتظار مشاركات الكرام وتعليقاتهم

دمتم بخير وعافية

تم تعديل بواسطة محمود ربيع
رابط هذا التعليق
شارك

تحت البند رقم (1) وهو عملية ال migration أو ال Modernization - كما تكرم المهندس محمود- أحب اضيف مثال حقيقي:
كان هناك برنامج مصمم باوركل Forms، للادارة المالية للجامعات، البرنامج كان متوسط الحجم حوالي 400 فورم، أكتر من الفين جدول وحوالي 300 db package، كمبرمج Forms لسنين عديدة لقيت ان التقنيتين يوجد بهم عناصر متشابهة للغاية -مما أدي بفضل الله لنجاح عملية ال migration- علي سبيل المثال:
- data block في ال Forms يقابها ال regions في الابيكس.

- Triggers في ال Forms يقابلها ال DAs في الابيكس.
- Program units في ال Forms يقابلها ال Processes في الابيكس.
اما بقي الميزة الأعظم، هي كتابة ال sql وال PL/SQL مباشرة في صفحات الابيكس، والتواصل مع الDB Packages بشكل مباشر وبدون أدني مجهود زائد.

 

العجيب في الأمر انه سبق هذا التحويل محاولة لم تكتمل لتحويل البرنامج من Forms الي ADF وللأسف لم تنجح، لما سألت الفريق القائم علي العمل ذكروا ان طبيعة البرنامج الاصلية كبرنامج أوركل فورمس مصمم تبعاً لل Best practices الخاصة بال Forms مختلفة الي حد كبير عن تقنية ال ADF وال Best practices الخاصة بيها، بينما أثناء تحويل الفريق -اللي اتشرفت بالعمل معهم- للبرنامج من Forms لابيكس وجدنا إن الموضوع منطقي وسلس.

@مهندس محمود، أتفق معك تماماً في النقاط 2،3،4 ...وبالذات النقطة 3، لأنها من أكتر النقاط حسماً في عصر Cost-cutting وال Open Source 

هنا تجربة شركة سبقتنا في التحويل وكانت من أهم العوامل اللي ساعدت شركتي إنها تتوجه للابيكس بكل قوة، فيها تفاصيل دقيقة، ويمكن اللي اشتغل التقنيتين قبل كده هيجدها شديدة الفائدة، بس حتي اللي عنده معرفة بسيطة في التقنيتين هيجد معلومات قيمة جداً
 https://www.ogh.nl/downloads/OGH20110322_TONY_ANDREWS_AND_NIGEL_BLAIR_-_NORTHGATE.ppt

رابط هذا التعليق
شارك

كما ذكرت أنه قد توجد عوامل غير فنية في الاختيار

لو الشركة يعمل بها مبرمجين فورم فهنا أسهل تدريبهم على APEX

ذك الأخ وليد عن عدم اكتمال تجربة التحويل إلى ADF وطبعاً يبحث الفريق عن أي تبرير بلا معنى فلا يوجد شئ اسمه برنامج مصمم للفورم ففي النهاية هو نظام له متطلبات ومدخلات ومخرجات

هذه نقطة هامة أن الفريق قد لا يكون مؤهلاً للعمل على تقنية ADF نظراً لأنه يتطلب مسار تدريبي أكبر

رابط هذا التعليق
شارك

مشاركة متميزة جدا
وتجربة ينبغي قراءتها والاستفادة منها

لنأخذ منها النقطة التالية

(٥) المجهود الاقل في تطوير انظمة وبرامج APEX لانه ببساطة Rapid Application Development Framework
او لنقل Low Code Development Framework.

رابط هذا التعليق
شارك

كما ذكرت أنه قد توجد عوامل غير فنية في الاختيار

لو الشركة يعمل بها مبرمجين فورم فهنا أسهل تدريبهم على APEX

ذك الأخ وليد عن عدم اكتمال تجربة التحويل إلى ADF وطبعاً يبحث الفريق عن أي تبرير بلا معنى فلا يوجد شئ اسمه برنامج مصمم للفورم ففي النهاية هو نظام له متطلبات ومدخلات ومخرجات

هذه نقطة هامة أن الفريق قد لا يكون مؤهلاً للعمل على تقنية ADF نظراً لأنه يتطلب مسار تدريبي أكبر

احسنت يا بشمهندس مصطفى

 

وهذه نقطة مهمة كالتي طرحها المهندس اسلام

 

Human Resources

Training

تم تعديل بواسطة محمود ربيع
رابط هذا التعليق
شارك

استفدت ايضا من كلام المهندس مصطفى أمرا لعله من الجدير ذكره

(٦) المسار التدريبي في حالة ADF قد يكون أطول وأعقد بالنسبة لبعض المؤسسات
عن المسار التدريبي في حالة APEX الذي قد يكون اسهل لهذه المؤسسات

ايضا هذه نقطة نسبية تعتمد على محصول الكفاءات السابقة والحالية لكوادر مؤسستك

رابط هذا التعليق
شارك

هذه نقطة تخص المبرمجين  Work Any Where

وكشخص عملت بالتقنيتين من الجدير بالذكر قولها 

 

(٧) APEX يتفوق في كون الDevelopment Environment فيه Web-based يمكن فتحها في أي مكان داخل المؤسسة او من اي مكان في العالم اذا كان نظامك Cloud-hosted 

آي أن كل ما تحتاجه هو Web Browser فقط

لكن في حالة Oracle ADF  فان ارتباطك محوري بالJDeveloper الرائع الذي لابد أن يكون على جهازك الذي ستعمل عليه

وايضا ان يكون جهازك متصلا بال Middleware Layers الاخرى التي تحتاجها في الBusiness Components الخاصة بك

تم تعديل بواسطة محمود ربيع
رابط هذا التعليق
شارك

هذه نقطة تخص المبرمجين  Work Any Where

وكشخص عملت بالتقنيتين من الجدير بالذكر قولها 

 

(٧) APEX يتفوق في كون الDevelopment Environment فيه Web-based يمكن فتحها في أي مكان داخل المؤسسة او من اي مكان في العالم اذا كان نظامك Cloud-hosted 

آي أن كل ما تحتاجه هو Web Browser فقط

لكن في حالة Oracle ADF  فان ارتباطك محوري بالJDeveloper الرائع الذي لابد أن يكون على جهازك الذي ستعمل عليه

وايضا ان يكون جهازك متصلا بال Middleware Layers الاخرى التي تحتاجها في الBusiness Components الخاصة بك

 

هذا غير صحيح

رابط هذا التعليق
شارك

صحح لي تكرما 

رابط هذا التعليق
شارك

هذه نقطة تخص المبرمجين  Work Any Where

وكشخص عملت بالتقنيتين من الجدير بالذكر قولها 

 

(٧) APEX يتفوق في كون الDevelopment Environment فيه Web-based يمكن فتحها في أي مكان داخل المؤسسة او من اي مكان في العالم اذا كان نظامك Cloud-hosted 

آي أن كل ما تحتاجه هو Web Browser فقط

لكن في حالة Oracle ADF  فان ارتباطك محوري بالJDeveloper الرائع الذي لابد أن يكون على جهازك الذي ستعمل عليه

وايضا ان يكون جهازك متصلا بال Middleware Layers الاخرى التي تحتاجها في الBusiness Components الخاصة بك

مش معاك يا بشمهندس. انا اعلم ان الـ ADF قادر على عمل Web Apps, مش عارف هو Web Based or Web enabled بس عموما الـ Oracle ADF Community معمول بالـ ADF. 

تم تعديل بواسطة eslam elbyaly
رابط هذا التعليق
شارك

بشمهندس اسلام وبشمهندس مصطفى

شكر الله لكم تفاعلكم الكريم واثراءكم للموضوع

ارجعوا رعاكم الله للنقطة (٧)
ستجدون أنني ذكرت ال
Development Environment ولَم اقل Runtime Environment

بعبارة اخرى لو كان المهندس اسلام والمهندس محمود مبرمجي ADF في الفريق A
وكان المهندس مصطفى والمهندس وليد مبرمجي APEX في الفريق B

فان الDevelopment Environment على اجهزة الفريق B هي فقط browsers يستطيعون العمل من اي مكان فقط رابط الوصول للORDS يكفيهم

إنما الفريق A فانهم سيحتاجون JDeveloper على اي بجهاز يقومون من خلاله بالتطوير والبرمجة والبناء

ومعلوم ان ADF بامكانه بناء Web Applications لكن نحن لا نتكلم عن الuser وإنما نتكلم عن الprogrammer او الDeveloper بقولنا
Work Any Where

وقد قدمت كلامي لو رجعتم اليه مشكورين بان هذه نقطة تخص المبرمجين

ارجو اكون وضحت اللبس الذي حصل

دمتم بخير وعافية

رابط هذا التعليق
شارك

انا افتكرتها Deployment لان ده دايما الشئ الى بيذكر كميزة ولان كونك كديفيلوبر هتحتاج تسطب سوفتوير عندك فده المتعارف عليه وده مش بيعتبر عيب لانه بيحصل مرة واحدة ومش بيسبب أزمة يعنى. 

حتى فى الابكس هتسطب الداتابيز. 

فى المجمل ده ميعتبرش عيب يعنى او ممكن تكون نقطة تفوق لكنها غير ذات أهمية فى نظرى. 

رابط هذا التعليق
شارك

ما قصدته في النقطة (٧) هو مرونة التحرك والعمل من اي مكان ومن اي جهاز كل ما تحتاجه هو Browser

 

تخيل معي سلمك الله انك عامل Cloud Hosting  للAPEX يعني لم تقم بتنزيل شيء على الاطلاق ...

 

كم عدد الاجهزة التي يمكن ان تشتغل منها مباشرة وتعمل Development للApplication 

الاجابة هي أي جهاز عليه Browser وواصل على الانترنت

و عندك 

apex.oracle.com 

خير مثال

 

لكن في حالة ADF فلو اشتقت للJava مثلا وعندك الحماسة والهمة انك تعمل Development ستجد أنه يلزمك بلا شك

الJDeveloper 

 

ورأيك محترم اذا رأيتها ليست نقطة ذات أهمية

لكن من وجهة نظري المتواضعة أراها نقطة مهمة جدا 

وهي تخدم وتشجع على

RAD

Rapid Application Development

 

دمت بود وعافية

تم تعديل بواسطة محمود ربيع
رابط هذا التعليق
شارك

النقطة (٨)

مبرمجو APEX يتمتعون بوجود Free Evaluaion Instance هي
apex.oracle.com
ولها قيمة كبيرة واهمية عظمى للمتعلمين APEX
حيث انهم من خلالها يستطيعون انشاء
Free Workspace
ويكتبون وينشؤون فيه
Free Applications
قد يتعثرون في بعضها فيشاركون رابطها بصلاحيات Developer
وليس Admin للآخرين في
APEX Community
الذين بدورهم يساعدونهم في الحلول ، وهذا أراه من العوامل التي دلت على ذكاء Development Team القائم على APEX لانها سهلت وساعدت كثيرا في وصول وفهم الFeedbacks من مستخدمي تقنياتهم مما ساعدهم في الوصول الى ما هم عليه

في المقابل Oracle ADF على ضخامته وأهميته الاستراتيجية لOracle فلم اجد فيه تلك الEvaluation Instance الشبيهة بقيمة apex.oracle.com

دمتم بخير وعافية

رابط هذا التعليق
شارك

للتذكير والتنظيم بعد اذن الكرام

اذا كان هنالك نقاط تفوق لADF على APEX
فلنقم بإضافتها في الموضوع الاخر الذي أنشأه المهندس اسلام
وقد أضاف المهندس درويش نقطة وأضفنا ايضا نقطتين (وصلنا الى ٨ نقاط هناك)

http://www.araboug.org/ib/index.php?showtopic=67550&page=4&do=findComment&comment=296391

هدفنا باذن الله ان يكون الموضوعان مرجعين للمبرمج العربي او لصاحب المؤسسة المختص بتقنية المعلومات ليساعدها على الEvaluation واتخاذ القرار
اي هذه الFrameworks الرائعة جميعها انسب وأفضل له

المهم لا يذهب الى IBM او SAP
:)

تم تعديل بواسطة محمود ربيع
رابط هذا التعليق
شارك

  • بعد 2 أسابيع...

السلام عليكم 

من خبرتي المتواضعة بالAPEX و الADF فان للذي لا يعرف APEX مبني داخل قاعدة البيانات يعني الملفات التي يتم تطويرها تخزن داخل الDB و اسمها السابق كان HTML DB  مما يعني ان حجم قاعدة البيانات على المدى البعيد رح يزداد  بشكل مهول APEX نظام مبني و يتم الاضافة عليه لتطبيقات جديدة يعني مش من الصفر تتم عملية التطوير WEB APPLICATION BUILDER يعني كتير اشياء مطورة و جاهزة ،APEX لا يوجد فيها JDBC يعني انت مجبر على العمل على قاعدة البيانات اللي الابكس مخزن داخلها عدا ذلك يكون الربط مع قاعدة بيانات خارجية باستخدام DB link و هذه طريقة لا يمكن الاعتماد عليها الى بالحاجة للربط بشكل ضيق ،و طبعا اللي بعمل ببئية التطوير فهي سهلة بالمجمل لامور السهلة و لكن لايوجد فيه طبقات يعني مثلا تتطر على كل ريبروت وضع اQUERY و تكرارها بكل مكان و عند التعديل تحتاج لوقت طويل بسبب انك تحتاج التعديل في كل كائن لوحده.

 

بخصوص ADF فهي عبارة عن Framework يعني اداة للتطوير و تعتمد تقنية MVC و تعتبر من الادوات التي تم تطوير فيها اوراكل فيوجن ،طبعا ال ADF بخلاف ابكس تعمل على جميع قواعد البيانات و تسخدم JDBC التي هيه خواص اساسية لاي اداة للتطوير و تعتمل مبدأ MVC اللي ينكمن المسخدم من انشاء ال Model مرة واحدة و استخدامه في عدة كائنات مما يختصر الوقت و الجهد ،طبعا الadf اصعب من الابكس في بعض الامور لكن بالمجمل الامور البسيطة اللي تعملها بالابكس تعملها ايضا بالاadf بشكل سريع و فعال و adf تعتمد على الجافا اللي تعتبر امكانياتها مهولة   ،،،،،،طبعا لا ننسى خطر اختراق الابكس بسبب ان النظام داخل قاعدة البيانات عكس الadf اللي منقسم لطبقات حيث ان قاعدة البيانات منعزلة عن سيرفرات التي يخزن عليه ملقات البرنامج .

 

 

و شكرا

رابط هذا التعليق
شارك

وعليكم السلام ورحمة الله

 

شكر الله لكم مشاركتك الكريمة مهندس عمر

 

هنالك بعض الملاحظات عليها ينبغي توضيحها ولنبدأ بالاولى

 

APEX مبني داخل قاعدة البيانات يعني الملفات التي يتم تطويرها تخزن داخل الDB و اسمها السابق كان HTML DB  مما يعني ان حجم قاعدة البيانات على المدى البعيد رح يزداد  بشكل مهول

 

(١) ما يتم تخزينه في جداول قاعدة البيانات هو سجلات بيانات تصف الPage Components أو الPage Attributes وليس الHTML الخاص بالصفحة.... 

 

وللتوضيح أكثر اذا دخلتم على

Workspace Utilities

Cross Application Report

Application Attributes

 

ستجد أن الApplicationالواحد يتم تخزين  الComponents  له في جداول مختلفة يمكن الاستعلام عنها بل واستخدامها لبناء Dynamic Components أخرى من خلال Dictionary Views معينة .... وهذه ال Components كما يلي:

Regions

Items

Buttons

Branches

Validations

Processes

List of Values

Interactive Reports

Classic Reports

Application Comment

Authentication Schemes

Authorization Schemes

Plugins

...

 

المرجع

https://docs.oracle.com/database/121/HTMDB/bldr_app_rpt.htm#HTMDB04012

 

 

(٢) APEX كان اسمه HTML DB بالفعل ولكن كان هذا حتى عام 2005 أي قبل ١٣ عاما من الان

المرجع

https://en.wikipedia.org/wiki/Oracle_Application_Express

 

ودمتم بخير وعافية

تم تعديل بواسطة محمود ربيع
رابط هذا التعليق
شارك

  • بعد 2 أسابيع...

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية