محمود ربيع بتاريخ: 18 أغسطس 2018 تقديم بلاغ مشاركة بتاريخ: 18 أغسطس 2018 السلام عليكم ورحمة الله Oracle ADF بلا شك من أهم الDevelopment Frameworks عند Oracle وهو خيار استراتيجي ووحيد للعديد من الموسسات لعدة أسباب ذكرناها في النقاش الماتع في الموضوع التالي http://www.araboug.org/ib/index.php?showtopic=67550 لكن هل هنالك حالات أخرى يكون APEX هو الخيار الانسب لتطوير أنظمة مؤسستك! سؤالنا المحدد هو: متى يكون APEX أفضل لمؤسستك من ADF ؟ نأمل من الكرام الذين عملوا بكلا التقنيتين المشاركة في هذا الموضوع بنقاط محددة وبمشاركات مختصرة مع المصادر قدر الامكان لتحقيق أكبر فائدة للمختص العربي في مجال تقنية المعلومات دمتم بخير وعافية اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
eslam elbyaly بتاريخ: 18 أغسطس 2018 تقديم بلاغ مشاركة بتاريخ: 18 أغسطس 2018 فى نقطة مهمة اوى لو بنتكلم على المؤسسات. لو هتختار تقنية لازم تكون متأكد انك هتلاقى مبرمجين يعرفوا يشتغلوا بيها, وللأسف الناس الى تعرف أبكس فى مصر مثلا تتعد على الاصابع. ومحدش بيتجهله لانه مش شايف طلب عليه اصلا من الشركات. 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمود ربيع بتاريخ: 19 أغسطس 2018 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 19 أغسطس 2018 ممتاز .... هذه نقطة مهمة جدا ... (١) قبل أن تذكر نقاط تفضيل تقنية عن اخرى وفقا لظروف واحتياجات مؤسستك لابد أن تتأكد أولا هل سيسهل عليك توفير مبرمجين Oracle APEX من الأساس .... فهذا عامل أمان مهم جدا لكن اذا فرضنا تواجدهم ، فمتى يكون APEX أفضل لمؤسستك من ADF ؟ المشاركات مرحب بها من الجميع دمتم بخير وعافية اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Waleed Gisr بتاريخ: 19 أغسطس 2018 تقديم بلاغ مشاركة بتاريخ: 19 أغسطس 2018 من الحالات التي يكون فيها اوركل Apex أفضل من اوركل ADF هي عند ال migration لبرنامج تم بناءه باوركل Forms، وكلما كان البرنامج الأصلي data driven كلما كان ابيكس أنسب. 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمود ربيع بتاريخ: 19 أغسطس 2018 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 19 أغسطس 2018 (معدل) من الحالات التي يكون فيها اوركل Apex أفضل من اوركل ADF هي عند ال migration لبرنامج تم بناءه باوركل Forms، وكلما كان البرنامج الأصلي data driven كلما كان ابيكس أنسب.بارك الله فيك يا بشمهندس وليد نقطة في غاية الأهمية والقوة واتفق معك فيها. (٢) الADF نمط تصميم البرنامج او النظام فيه UI-Driven إنما APEX و Forms كلاهما Data-Driven فلذلك اذا كانت مؤسستك عندها Legacy System مبني بالOracle Forms فان الخيار الانسب للModernization هو بلا شك Oracle APEX تم تعديل 19 أغسطس 2018 بواسطة محمود ربيع 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمود ربيع بتاريخ: 19 أغسطس 2018 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 19 أغسطس 2018 (معدل) ايضا أضيف نقطتين هامتين الى ما تفضل به الكرام (٣) الCost في حالة APEX منصبة على Database فقط تكرما راجعوا الArchitecture الخاص بالAPEXوهو أرخص من ADF الذي في حالته ستضطر شراء Licenses اكثر للMiddleware Layers التي ستستخدمها مؤسستك(٤) الScalability and High Availability ستكون اسهل في الAPEXفهي منصبة ومركزة على الDatabase إنما في حالة ADF فينبغي العمل على عدة Layers في انتظار مشاركات الكرام وتعليقاتهم دمتم بخير وعافية تم تعديل 19 أغسطس 2018 بواسطة محمود ربيع اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Waleed Gisr بتاريخ: 19 أغسطس 2018 تقديم بلاغ مشاركة بتاريخ: 19 أغسطس 2018 تحت البند رقم (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 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sd4it بتاريخ: 19 أغسطس 2018 تقديم بلاغ مشاركة بتاريخ: 19 أغسطس 2018 كما ذكرت أنه قد توجد عوامل غير فنية في الاختيار لو الشركة يعمل بها مبرمجين فورم فهنا أسهل تدريبهم على APEX ذك الأخ وليد عن عدم اكتمال تجربة التحويل إلى ADF وطبعاً يبحث الفريق عن أي تبرير بلا معنى فلا يوجد شئ اسمه برنامج مصمم للفورم ففي النهاية هو نظام له متطلبات ومدخلات ومخرجات هذه نقطة هامة أن الفريق قد لا يكون مؤهلاً للعمل على تقنية ADF نظراً لأنه يتطلب مسار تدريبي أكبر اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمود ربيع بتاريخ: 19 أغسطس 2018 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 19 أغسطس 2018 مشاركة متميزة جدا وتجربة ينبغي قراءتها والاستفادة منهالنأخذ منها النقطة التالية (٥) المجهود الاقل في تطوير انظمة وبرامج APEX لانه ببساطة Rapid Application Development Framework او لنقل Low Code Development Framework. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمود ربيع بتاريخ: 19 أغسطس 2018 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 19 أغسطس 2018 (معدل) كما ذكرت أنه قد توجد عوامل غير فنية في الاختيار لو الشركة يعمل بها مبرمجين فورم فهنا أسهل تدريبهم على APEX ذك الأخ وليد عن عدم اكتمال تجربة التحويل إلى ADF وطبعاً يبحث الفريق عن أي تبرير بلا معنى فلا يوجد شئ اسمه برنامج مصمم للفورم ففي النهاية هو نظام له متطلبات ومدخلات ومخرجات هذه نقطة هامة أن الفريق قد لا يكون مؤهلاً للعمل على تقنية ADF نظراً لأنه يتطلب مسار تدريبي أكبر احسنت يا بشمهندس مصطفى وهذه نقطة مهمة كالتي طرحها المهندس اسلام Human Resources Training تم تعديل 19 أغسطس 2018 بواسطة محمود ربيع اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمود ربيع بتاريخ: 19 أغسطس 2018 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 19 أغسطس 2018 استفدت ايضا من كلام المهندس مصطفى أمرا لعله من الجدير ذكره(٦) المسار التدريبي في حالة ADF قد يكون أطول وأعقد بالنسبة لبعض المؤسسات عن المسار التدريبي في حالة APEX الذي قد يكون اسهل لهذه المؤسسات ايضا هذه نقطة نسبية تعتمد على محصول الكفاءات السابقة والحالية لكوادر مؤسستك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمود ربيع بتاريخ: 19 أغسطس 2018 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 19 أغسطس 2018 (معدل) هذه نقطة تخص المبرمجين Work Any Where وكشخص عملت بالتقنيتين من الجدير بالذكر قولها (٧) APEX يتفوق في كون الDevelopment Environment فيه Web-based يمكن فتحها في أي مكان داخل المؤسسة او من اي مكان في العالم اذا كان نظامك Cloud-hosted آي أن كل ما تحتاجه هو Web Browser فقط لكن في حالة Oracle ADF فان ارتباطك محوري بالJDeveloper الرائع الذي لابد أن يكون على جهازك الذي ستعمل عليه وايضا ان يكون جهازك متصلا بال Middleware Layers الاخرى التي تحتاجها في الBusiness Components الخاصة بك تم تعديل 19 أغسطس 2018 بواسطة محمود ربيع اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sd4it بتاريخ: 19 أغسطس 2018 تقديم بلاغ مشاركة بتاريخ: 19 أغسطس 2018 هذه نقطة تخص المبرمجين Work Any Where وكشخص عملت بالتقنيتين من الجدير بالذكر قولها (٧) APEX يتفوق في كون الDevelopment Environment فيه Web-based يمكن فتحها في أي مكان داخل المؤسسة او من اي مكان في العالم اذا كان نظامك Cloud-hosted آي أن كل ما تحتاجه هو Web Browser فقط لكن في حالة Oracle ADF فان ارتباطك محوري بالJDeveloper الرائع الذي لابد أن يكون على جهازك الذي ستعمل عليه وايضا ان يكون جهازك متصلا بال Middleware Layers الاخرى التي تحتاجها في الBusiness Components الخاصة بك هذا غير صحيح اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمود ربيع بتاريخ: 19 أغسطس 2018 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 19 أغسطس 2018 صحح لي تكرما اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
eslam elbyaly بتاريخ: 19 أغسطس 2018 تقديم بلاغ مشاركة بتاريخ: 19 أغسطس 2018 (معدل) هذه نقطة تخص المبرمجين 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. تم تعديل 19 أغسطس 2018 بواسطة eslam elbyaly اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sd4it بتاريخ: 19 أغسطس 2018 تقديم بلاغ مشاركة بتاريخ: 19 أغسطس 2018 صحح لي تكرما ADF تقنية وب ولا يلزم JDeveloper للتشغيل هو مطلوب فقط أثناء التطوير والتعديل اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمود ربيع بتاريخ: 19 أغسطس 2018 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 19 أغسطس 2018 بشمهندس اسلام وبشمهندس مصطفى شكر الله لكم تفاعلكم الكريم واثراءكم للموضوع ارجعوا رعاكم الله للنقطة (٧) ستجدون أنني ذكرت الDevelopment Environment ولَم اقل Runtime Environment بعبارة اخرى لو كان المهندس اسلام والمهندس محمود مبرمجي ADF في الفريق Aوكان المهندس مصطفى والمهندس وليد مبرمجي APEX في الفريق Bفان الDevelopment Environment على اجهزة الفريق B هي فقط browsers يستطيعون العمل من اي مكان فقط رابط الوصول للORDS يكفيهم إنما الفريق A فانهم سيحتاجون JDeveloper على اي بجهاز يقومون من خلاله بالتطوير والبرمجة والبناءومعلوم ان ADF بامكانه بناء Web Applications لكن نحن لا نتكلم عن الuser وإنما نتكلم عن الprogrammer او الDeveloper بقولنا Work Any Whereوقد قدمت كلامي لو رجعتم اليه مشكورين بان هذه نقطة تخص المبرمجينارجو اكون وضحت اللبس الذي حصل دمتم بخير وعافية اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
eslam elbyaly بتاريخ: 19 أغسطس 2018 تقديم بلاغ مشاركة بتاريخ: 19 أغسطس 2018 انا افتكرتها Deployment لان ده دايما الشئ الى بيذكر كميزة ولان كونك كديفيلوبر هتحتاج تسطب سوفتوير عندك فده المتعارف عليه وده مش بيعتبر عيب لانه بيحصل مرة واحدة ومش بيسبب أزمة يعنى. حتى فى الابكس هتسطب الداتابيز. فى المجمل ده ميعتبرش عيب يعنى او ممكن تكون نقطة تفوق لكنها غير ذات أهمية فى نظرى. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمود ربيع بتاريخ: 19 أغسطس 2018 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 19 أغسطس 2018 (معدل) ما قصدته في النقطة (٧) هو مرونة التحرك والعمل من اي مكان ومن اي جهاز كل ما تحتاجه هو Browser تخيل معي سلمك الله انك عامل Cloud Hosting للAPEX يعني لم تقم بتنزيل شيء على الاطلاق ... كم عدد الاجهزة التي يمكن ان تشتغل منها مباشرة وتعمل Development للApplication الاجابة هي أي جهاز عليه Browser وواصل على الانترنت و عندك apex.oracle.com خير مثال لكن في حالة ADF فلو اشتقت للJava مثلا وعندك الحماسة والهمة انك تعمل Development ستجد أنه يلزمك بلا شك الJDeveloper ورأيك محترم اذا رأيتها ليست نقطة ذات أهمية لكن من وجهة نظري المتواضعة أراها نقطة مهمة جدا وهي تخدم وتشجع على RAD Rapid Application Development دمت بود وعافية تم تعديل 19 أغسطس 2018 بواسطة محمود ربيع اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمود ربيع بتاريخ: 20 أغسطس 2018 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 20 أغسطس 2018 النقطة (٨) مبرمجو 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دمتم بخير وعافية اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمود ربيع بتاريخ: 20 أغسطس 2018 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 20 أغسطس 2018 (معدل) للتذكير والتنظيم بعد اذن الكرام اذا كان هنالك نقاط تفوق لADF على APEX فلنقم بإضافتها في الموضوع الاخر الذي أنشأه المهندس اسلام وقد أضاف المهندس درويش نقطة وأضفنا ايضا نقطتين (وصلنا الى ٨ نقاط هناك)http://www.araboug.org/ib/index.php?showtopic=67550&page=4&do=findComment&comment=296391هدفنا باذن الله ان يكون الموضوعان مرجعين للمبرمج العربي او لصاحب المؤسسة المختص بتقنية المعلومات ليساعدها على الEvaluation واتخاذ القرار اي هذه الFrameworks الرائعة جميعها انسب وأفضل له المهم لا يذهب الى IBM او SAP تم تعديل 20 أغسطس 2018 بواسطة محمود ربيع اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
omar_alatawneh بتاريخ: 30 أغسطس 2018 تقديم بلاغ مشاركة بتاريخ: 30 أغسطس 2018 السلام عليكم من خبرتي المتواضعة بال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 اللي منقسم لطبقات حيث ان قاعدة البيانات منعزلة عن سيرفرات التي يخزن عليه ملقات البرنامج . و شكرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمود ربيع بتاريخ: 31 أغسطس 2018 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 31 أغسطس 2018 (معدل) وعليكم السلام ورحمة الله شكر الله لكم مشاركتك الكريمة مهندس عمر هنالك بعض الملاحظات عليها ينبغي توضيحها ولنبدأ بالاولى 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 ودمتم بخير وعافية تم تعديل 31 أغسطس 2018 بواسطة محمود ربيع اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
m_gadir بتاريخ: 8 سبتمبر 2018 تقديم بلاغ مشاركة بتاريخ: 8 سبتمبر 2018 السلام عليكم ورحمة الله جزاكم الله خيراً. اسأل عن كيفية عمل Matrix Report في Apex اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
m_gadir بتاريخ: 12 سبتمبر 2018 تقديم بلاغ مشاركة بتاريخ: 12 سبتمبر 2018 الاخ محمود ربيع السلام عليكم ورحمة الله سألت عن موضوع كيفية عمل Matrix Report في APEX إذا تكرمت. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.