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

مثبت مشروع ربط APEX مع تطبيقات الجوال Android & IOS


Ahmed Alsaied

Recommended Posts

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

حياكم اخواني الكرام 

سوف استعرض معكم موضوع هام وهو كيفية البدء بمشروع ربط  Oracle Restful Services مع تطبيقات الجوال سواء كانت Android أو IOS بطريقة سهلة وميسرة ، سيكون الشرح على نقاط حتى يتسنى ايصال المعلومة بشكل سهل للجميع :-

سوف نقسم المشروع أولا إلى مراحل وسنعتبر أن تطبيق APEX قد تم الانتهاء منه :-

لنجاح المشروع يتوجب عليك توفير ال resources  التالية :-

- مبرمجين APEX 

- مطور  Android 

- مطور IOS 

- مطور واجهات UI/UX

- Tester لضمان الجودة 

أولا :- يجب عمل مقدمه سريعة لمطوري تطبيقات الجوال الذين سيعملون معك بالمشروع عن بيئة APEX وكيفية عملها ، وخصوصا آلية عمل restful services .

ثانيا :- يجب أن تكون workflow واضحة على تطبيقات الجوال لذا سيتطلب منك الاستعانة بمطور واجهات UI/UX ، وايضا هو الاخر سيحتاج منك مقدمة عن بيئة الابكس وآلية عملها .

ثالثا :- الانتهاء من عمل Workflow لتطبيقات الجوال من خلال UI/UX  والتاكد ان جميع الشاشات تتوافق مع البيزنيس الموجود بتطبيق APEX .

رابعا :- استخدام API Tool  وانصح ب Postman حيث تستطيع من خلاله دعوة اعضاء الفريق لاستخدام جميع APIs  ، وينصح بعمل Collection  وعمل مشاركة لسهولة تنظيم كل API  او تقسيمها إلى مديولات .

خامسا :- من خلال ال Workflow  التي تم اعداداها سيكون من السهل عليك البدء في تطوير كل APIs من خلال restful services على APEX .

سادسا :- استخدم دائما Schema alias،  قم بتقسيم Modules  بما يتناسب مع البيزنيس و Workflow .

سابعا :- استخدم اختصارات معبرة عن اسم Module  وكذلك مع URI Templates  .

ثامنا : - يجب أن توفر Document لكل API ستقوم بإنشائها ليسهل مشاركتها مع مطوري الجوال ، على سبيل المثال مما يحتوي الHandler ونوع الMethod ، ما هي Query Parms المستخدمة والقيم التي سيختبرها .

تاسعا :- يجب أن تكونوا متفقين على status code  مثلا 1 تكون Success  و 0 error  ، لذلك سيكون عليك دائما طباعة status code  في كل API  .

عاشرا : بالتأكيد سيطلب منك مطوري الجوال بشكل دائم ان ال API  تكون على شكل json  .

الحادي عشر :- مثال على API  من خلال restful services 

Method : Get

Source type : PL/SQL

Source example 

declare 
cnt_login number:=0;
v_EMP_ID VARCHAR2(1000);
v_emp_name VARCHAR2(1000);
Status_code number:=0;
v_BRANCH_ID number:=0;
l_json VARCHAR2(1000);  
v_COMPANY_ID number:=0;
v_COUNTRY_ID number:=0;
v_error    VARCHAR2(1000); 
v_lang      VARCHAR2(1000);
begin

select count(*) into cnt_login from SYS_USERS where upper(USER_NAME)=upper(:username) and USER_PASS=:passlogin and USER_ACCESS=1;

if(cnt_login>0) then 

select 1,GET_EMP_NAME(S.EMP_ID)emp_name,S.EMP_ID,B.BRANCH_ID,S.COMPANY_ID ,C.COUNTRY_ID
into
 Status_code,v_emp_name,v_EMP_ID,v_BRANCH_ID,v_COMPANY_ID  ,v_COUNTRY_ID
from COUNTRY C , BRANCH B , SYS_USERS S 
where upper(USER_NAME)=upper(:username)
and USER_PASS=:passlogin
AND  C.COUNTRY_ID=B.COUNTRY_ID
AND S.BRANCH_ID=B.BRANCH_ID ;
 
else

Status_code:=0;
if :lang ='en' then 
v_error:='Incorrect username or password' ;
else 
v_error:='اسم المستخدم أو كلمة المرور غير صحيحة' ;
end if;
end if;

l_json := '{"Status_code":' || '"'|| Status_code ||'"' 
            || ',"error_message":'  || '"'|| v_error ||'"'
            || ',"Data":{'
           || '"emp_id":'  || '"'|| v_EMP_ID ||'"'          
           || ',"company_id":'  || '"'|| v_COMPANY_ID ||'"' 
           || ',"branch_id":'  || '"'|| v_BRANCH_ID ||'"' 
           || ',"country_id":'  || '"'|| v_COUNTRY_ID ||'"' 
           || ',"emp_name":'  || '"'|| v_emp_name ||'"' ||'}'|| '}';
htp.print(l_json);
end;

يجب أن تذكر في Documentation  أن البارمتر ستكون كمثال username , passlogin , lang  وستكون كلها In  و ال source type ستكون HTTP Header  وايضا data type  ستكون string  .

الثاني عشر :- قم بأخذ full url  وقم باختباره من خلال Postman   وستكون النتيجة كما الصور المرفقة 

الثالث عشر :- من خلال المشاركة على أداة postman  سيكون من السهل استخدام API  من قبل مطوري الجوال واستخدامها لديهم في التطوير 

الرابع عشر :- الان وبعد  تصميم شاشات الجوال واستخدام API ، لقد قمت بنجاح عمل أول API  لك بالمشروع 

وأخيرا :- اتمنى لك مشروع ناجح وموفق 

مع تمنياتي للجميع بالتوفيق والنجاح ، واي استفسار تحت امركم 

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

 

Capture.PNG

Capture2.PNG

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

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

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

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

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

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

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

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