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

مقدمة ل Task Flows


tarek_fathi

Recommended Posts

فى بدايتنا مع ال jsf لما كنا بنعمل plan للمشروع بتاعنا كان شغلنا بيبقى عبارة عن pages و بينها flows و كان كل ما نحتاج function جديدة او متطلب جديد كنا بنعمله page و نربط الصفحة دى ب flow و ن control ال flow دة من خلال managed-bean او حتى backing-bean
طيب تخيل معايا لو الموضوع كبر مننا و لقينا نفسنا بعد سنتين بقى عندنا 25 او 30 صفحة على اقل تقدير
تخيل منظر ال flows و ال pages هيبقى عامل ازاى
تخيل ال maintenance هيبقى ازاى
طبعا الموضوع هيكون صعب جدا
طيب اية الحل؟
لو روحنا لل system analyst و قولناله الحقنا دورلنا على حل اكيد اول حاجة هيقولهانا " قسمو شغلكم ل modules"
و هو دة الحل فعلا
بس نطبقه ازاى؟
هنا تيجى اوراكل و تقدملنا حل
الحل فى ال task flows
ال task flows هو انك تفكر باسلوب المديولات . هو انك تقسم شغلك لمديولات . مجموعه الصفحات دى اللى ليها علاقة بالمبيعات فى مدويول المبيعات و مجموعه الصفحات دى اللى ليها علاقة بالمخازن فى مديول المخازن مثلا
اقرا معايا ال paragraph اللى جاى دة من كتاب Oracle fusion ware developer guide


ADF task flows provide a modular approach for defining control flow in an application.
Instead of representing an application as a single large JSF page flow, you can break it
up into a collection of reusable task flows.



طيب السؤال هنا ازاى يعنى اعمل كل محموعة صفحات فى task flow
طيب وفى حالة انى عاوز اعمل navigate من صفحة فى مدول المبيعات لصفحة فى مديول المخازن بردة تتعمل ازاى؟
الاجابة باختصار معنى انك تقسم شغلك لمديولات يعنى انك تعمل كل مديول فى config file و تديله اسم
مش احنا فى الاول كنا بنعمل ال page flow بتاعنا فى ال faces-config.xml
لا الوقتى هتعمل اكتر من config file كل ملف بيمثل مديول معروف بدايته و معروف نهايته ودة اللى بنقول علية bound task flow

اية bound task flow و اية unbound task flow
و ازاى نبدا نعمل task flows و اية المكانيات التانية اللى بيقدمهالنا adf
دة هنتكلم عنه المرة الجاية ان شاء الله

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

اخى الجميل deer4wear شكرا جدا على ردك الجميل و المحفذ ليا و ربنا يبارك فيك يا رب

نرجع و نكمل
مبدأيا نقول ان ال unbound task flow هى ال entry point for our application و ان ال bound task flow هى ال task اللى ليها بدايه محددة و معروفه و ليها نهاية كمان
ممكن يجى فى دماغ واحد و يقول " اةة يعنى unbound task هى login page "
اجى انا و اقولة لا مش ال login ال login page عمرها ما تنفع تبقى unbound task لان ليها بداية محدده و ليها نهاية كمان و معروف حدودها و معروف اليوزر هميش لفين و يروح لفين
تعالو نتكلم بامثله احسن
هنتكلم عن يوزر داخل موقع ياهو و نشوف هيعمل اية
تعالو ندخل موقع ياهو و نتفرج علية


taskflows.JPG
اليوزر دخل على الصفحة الرئيسية و دى هى ال entry point
ايون دى هى ال entry point يعنى دى هى ال unbound task
لية unbound؟
لان مش عارفين حدودها مش عارفين اليوزر هيضغط على ايى لينك و لا هيعمل بحث و لا لا و لا هيقرا الاخبار و لا هيعمل اية
اهو كل اللى انا قولته دة( الاخبار - اللينكات - الميل - البحث) يبقى bound tasks
You typically use an unbounded instead of a bounded task flow if:

You want to take advantage of ADF Controller features not offered by boundedtask flows, such as bookmarkable view activities.
The task flow will not be called by another task flow.

طيب سؤال : معنى كدة ان كل APPLICATION لية entry point واحدة؟؟
الاجابه : بالطبع لا
لو لاحظتو الصورة هتلاقوها myyahoo مش yahoo
بالطبع ممكن يكون عندك اكتر من entry point
3. The application has multiple points of entry.
لكن هى نفسها لا تحتوي على single point of entry

كل الكلام اللى فات دة كلام نظرى كان مقدمة
بس الدنيا هوضح اكتر لو هنعمل مثال عملى و نطبقة كمان

المثال العملي:
تخيلو معايا ان احنا الوقتى بنتفرج على لقاء بين محلل نظيم و بين عميل يبقى صاحب شركة اجهزة كهربائية
تعالو نشوف المدادثة اللى بينهم ---
انا هفترض انا انا العميل و انتم شركة ال IT اللى هتعملي السيستم
العميل :
احنا شركة مبيعات اسمنا الشركة مصرية للاجهزة الالكترونية
عاوزين نظام يشتغل للعملاء يعرضلهم منتجاتنا اللى بينبيعها على الانترنت
و كمان عاوزين نفس النظام يقدر الموظفين يدخلو من عليه و يسجلو منتجات جديدة و كمان يعملو عروض اسعار تظهر للعملاء فى صفحتهم

محلل النظم :
يعنى انتو عاوزين العملاء و الموظفين يدخلو من نفس الصفحة و كل واحد يشوف حاجته حسب صلاحياته
و لا عاوزين للعملاء صفحة و للموظفين صفحة مختلفة

العميل:
لا احنا عاوزين صفحة العملاء مختلفه عن صفحة الموظفين مش كلهم يدخلو من نفس المكان
لان احنا هننشر صفحة العملاء على الانترنت لكن صفحة الموظفين هتبقى داخلية بس

محلل النظيم " بيكلم نفسه : اةة يعنى كدة هيبقى عندى two entry points" مممممم" يعنى 2 unbound task flows"

محلل النظم:
طيب انت عاوز تعرض اية فى صفحة العملاء دى بالظبط؟
العميل:
عاوز اعرض اول حاجة تظهر للعميل العروض لو كان فيه عروض و بعد كدة جدول بالمنتجات و كل منتج ممكن اعرض تفاصيلة و مواصفاته و صورة و عاوز كمان اعمل امكانية انى ابيع بالفيزا للعميل من على النت
و كمان عاوز امكانية ان العميل يبعتلى استفسار عن اى حاجة و يوصلنى فى الميل بتاعى


محلل النظم : طيب بالنسبة للموظف عاوزة يعمل اية على السيستم؟

العميل : عاوز الموظفين كلهم اول ما يفتحو الصفحة تظهرلهم الاجازات الرسمية فى البلد للسنة الحالية علشان يبقى عارفين الاجازات امتى و كمان عاوز كل الموظفين يشوفو جدول كدة بالقرارات الادارية و جدول باخر اخبار الشركة و كمان عاوز مكان كدة يعملو منه Login علشان يدخلو يعملو شغلهم

محلل النظم: و اية شغلهم؟

العميل: فى الوقت الحالى عاوزهم بس يعملو عروض اسعار بس دة طبعا للناس بس اللى عنها صلاحية تعمل عرض اسعار
محلل النظم: فى حاجة تانية
العميل : لا بس كدة بس انت اعمل دول و اعرضلى اللى انت عملته
----------------
و انتهى اللقاء الاول بين محلل النظم و العميل و اخد محلل النظم ورقة وحاجته و راح على مكتبه

فى الحلقة القادمة ان شاء الله هنتكلم ازاى محلل النظم فكر و بدا يحلل
بس هنركز على موضوع ازاى عمل ال unbound and bound task flow

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

نسيت اقولكم ان محلل النظم عاوز حد يساعدة و طالب منكم حاجة
عاوزكم تجاوبو على الاسئلة التالية:
1- مع عدد ال task flows الموجودة فى النظام المقترح مع بيان نوعية كل واحدة
2- حدد التفاصيل المقترحة لكل task flow يعنى هتبدا ازاى و تمشى ازاى و تنتهى ازاى؟

الحقو الراجل لانه غرقان

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

بجد أنا مش عارف أقولك إيه؟؟؟ أنا خايف أحسدك :rolleyes: :rolleyes:
جزاك الله كل خير

بس انا كنت عايزك تقول لمحلل النظم إنو مايعتمدش علينا لإنوا هيغرق هيغرق :D :D وعشان كه إنت إفترضت إن إحنا محلل النظم :unsure: فهمتك :) :)

إجابة السؤال الأول :

1- عندى Two main Task Flow: واحدة للعملاء وأخرى للموظفين
ُ

Customers task flow : contain SubTask Flow


-Offers Task flow
- Product Tables :Detalis , Photo -- Task Flow
-Order Products Task Flow
-Inquery Task Flow

Employees Task Flow :
- Offical Holiday
- Administrative decision
- Company News
- Quote



بالنسبة للسؤال الثانى : مش قادر أوضحه

جزاكم الله خيراً

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

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

الأخ / طارق

كما عودتنا دائما ... مواضيع جديده واسلوب متميز فى الشرح

ارجوا ان تهتم قليلا بمحلل النظم فالرجل لدية اعمال كثيرة واتمنى له النجاة من "الغرق"

سأكون متابع معك ... ان شاء الله

جزاك الله خيرا

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

  • بعد 2 شهور...

موضوع جميل ليه ما اكتملش ؟ محاولة انعاش للموضوع

ال unbounded Task Flow او ال ADF_fc هو ال start point للابليكيشن او نقطه البدايه اللى منه بتستدعى اى bounded Task flow تانى وبتروح عليه سواء على فراجمنتس وهى الاكثر استخداما او على صفحه jspx وهى الاقل استخداما وبتنجز فيه بعض المهام وبترجع تانى للتاسك فلو الرئيسى بتاعنا وغاليا بتكون راجع بباراميتر لل unbounded Task flow او نقطه ال start point بتاعتك وفيه مسميات كتير بتخص ال bouned وال unbounded Task flow حوضحها بشكل عام

Task flow Call

يعنى انت مثلا فى الصفحه الرئيسيه او ال main Page بتاعتك واللى غالبا يتبقى فى ال unbounded Task flow وفيها جزء صغير كده للوجين وبعد نجاح عملية الدخول وانت ادمين بتقرر تروح على الاعمال الاداريه اللى بتخص الادمين بس او بتدخل كمستخدم عادى عشان كده فى ال unbouded Task flow بتعمل دراج ودروب للاتنين bounded Task flow (التاسك فلو الخاص بالاداره والاخر الخاص بالمستخدمين ) هو ده المقصود بال Task flow Call يعنى بتستدعى اتنين bounded Task flow و حتقرر حتروح على اى واحد فيهم طبقا لصلاحياتك

Default Activity

ودى موجوده فقط فى ال bounded Task Flow ومعناها ان ببساطه لما انت تقرر تروح على Bounded Task flow عشان تمارس اعمالك الاداريه وطبعا ال Bounded ده فى صفحات كتير حتروح على اى صفحه فى الاول يعنى حتبدا بمين حتروح على الصفحه اللى مكتوبه فى ال Default Activity لل bounded Task Flow

Task Flow Return

ده لو احنا فى اى صفحه فى bounded Task flow وعاوزين نرجع لل unbounded Task Flow اللى جينا منه عشان كده بنضع ال activity اللى اسمه task flow return بمعنى رجعنى للتاسك فلو الاساسى اللى جيت منه ولازم يكون اسم ال task flow Return هو نفس اسم ال outcome اللى حيرجع عليه فى ال unbounded Task flow

Use page fragments

ودى طبعا موجوده فى ال bounded Task flow فقط واذا عملت عليها check معناها ان التاسك فلو ده الصفحات اللى حتبقى فيه هى fragments (امتدادها jsff.) وطبعا الفراجمنتس ده موضوع تانى وله حديث اخر

Input Parameters Definition

وده موجود بس فى ال Bounded Task flow ومعناه ان التاسك فلو ده بياخد باراميتر وبتبقى كالتالى

Name: اسم الباراميتر
Class : نوع الباراميتر
Value: قيمه الباراميتر

Return Value Definitions

ومعناه ان التاسك فلو ده بيرجع باراميتر ودى طبعا عكس اللى فاتت

Router

ده بالظبط عامل زى الswitcher او ال case statement على سبيل المثال IF فى لغات البرمجه وده بتديله expeesion معين لو طلع ب true حيروح على مكان ولو التعبير ده بفولس حيروح على مكان تانى يعنى مثلا لو اللى عمل اللوجين ده ادمين وديه على صفحة الاداره لو هو موظف عادى ودينى على صفحه المستخدمين (طبعا فيه طرق تانيه لعمل الحكايه دى غير الراوتر )

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

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

شكرا جدا جدا يا بشمهندسة هاله على المعلومات دى بجد
انا كنت هكمل بس انشغلت فى الشغل جدا لانى كمان لسة فى بداياتى مع ال ADF بس ان شاء الله هنرجع نكمل الموضوع

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

  • بعد 4 شهور...
  • بعد 5 شهور...
  • بعد 6 سنة...

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

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

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

×   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.

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

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

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