الخميس، 24 يونيو 2010

كيف تربط بين عدة تطبيقات WEB تعمل بتكنولوجيا مختلفة (weblogic and .NET)


مشاركة Session بين تطبيقات web



اذا كان عندك عدة تطبيقات كل تحت خادم مختلف لنفرض IIS والاخر weblogic وتريد ان تشارك الاولى ذات ال Session مع الاخرى, هذه الحاجة كثيرا ما تحصل في شركات التي لا تقوم ببناء التطبيقات في مبنى الشركة, وتدخل تطبيقات من تقنيات مختلفه وجاهزه (تطبيقات من الرف) لسداد احتياجاتها.

من اجل التبسيط :
لنفرض ان لديك موقع اول وفيه تعرض منتوجات للبيع (منتوج,صورة,سعر) ومن خلاله يختار الزبون المنتوجات والكمية التي يود شراءها لنفرض http://catalog4me_bmawasy.com.

وفي موقع اخر (تحت خادم اخر) لديك تطبيق معد لان يجري عملية المحاسبة والدفع,لنفرض https://pay4me_bmawasy.com
بعد ان يقوم الزبون باختار المونتوجات ويتوجه للدفع, يجب ان يكون التطبيق الثاني قادر ان يتعرف على محتويات سلة الشراء,

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

يمكنك ان تقوم بالتالي :

1- الموقع الاول وعند الضغط على زر الدفع وفي جهة الخادم (server side) وقبل الانتفال الى موقع الدفع يقوم ب :

a. بناء XML يحتوي على المتغيرات المحفوظة في الSESSION والمنتوجات التي جمعها الزبون.
مثال :


<userdata>
<attribute name="username" value="bombalia"></attribute>
<attribute name="firstName" value="عواد"></attribute>
<attribute name="lastname" value="عواودة"></attribute>
<basketitems>
<item id="1212" name="حليب" count="12" price="10" unit="علبة لتر"></item>
<item id="2351" name="بندورة" count="2" price="3" unit="كغم"></item>
</basketitems>
</userdata>



b. بناء ما يدعى token والذي هو عبارة عن رقم او جملة عشوائية طويلة يصعب توقعها, مثال
token=AsC32AVvcgbb692-dfdf5fb5w43r
c. تخزين ال token و ال userdata في قاعدة بيانات مشتركة (يمكن للتطبيقين ان يتصلا بها)
d. يوجه المتصفح عند الزبون الى عنوان الموقع الثاني (موقع الدفع) ويضم العنوان قيمة الtoken التي تم انتاجها للتو, مثال :
https://pay4me_bmawasy.com?token=AsC32AVvcgbb692-dfdf5fb5w43r&source=http://catalog4me_bmawasy.com


2- على الموقع الثاني ان يتعرف على محتويات السلة وتفاصيل الزبون التي جمعت من قبل, فعليه استعمال المتغير token
فيتوجه الى قاعدة البيانات ويطلب الXML التابع لtoken.
3- يجب محو سطر الtoken من قاعدة البيانات حتى نحفظ ان لا يتم استعماله من قبل هاكرز.
4- تعرض الفاتورة حسب ما رجع من ال XML ليدفعها الزبون ويكمل مشواره فرحا بما اشتراه :)










ليست هناك تعليقات:

إرسال تعليق

ChatGPT للأطفال : طريق آمنة وممتعة للتعلم والاستكشاف

 يعد ChatGPT نموذجًا قويًا للغة يمكن استخدامه لمجموعة متنوعة من الأغراض ، بما في ذلك إنشاء نص وترجمة اللغات وكتابة أنواع مختلفة من المحتوى ا...