ماهو Web Services ؟ [1]

web-servers

مبدئياً خدمات ويب أو ما يطلق عليها اسم Web Services هي عبارة عن برامجNET طبيعية أو على سبيل التحديد فهي ASP.Net ولكنها ليس لها واجهة
(المقصود هنا بالواجهة هي واجهة الاستخدام وليست Interface ) ويستطيع المستخدمون الوصول لها بواسطة Interface معين ، حيث يتلقى أمر أو طلب Request ثم يستجيب لها عن طريق Http Protocol اعتماداً على معايير ْ XML والتي تؤمن بالتالي أن يفهمها أو تفهمها ملايين البرامج والأجهزة ومواقع الإنترنت ببساطة تامة .
والآن سننسى التعريف السابق والمقدمة وسنحاول ان نفهم الموضوع بطريقة أخرى ،
5
فخدمة ويب عبارة عن برنامج بدون واجهة يقوم المستخدم بمناداته وطلب بعض المعلومات منه ومن ثم ترد عليه الخدمة بهذه المعلومات ، وواحد من أشهر التطبيقات لذلك هي خدمات ويب الخاصة بالطقس ، حيث تطلب منها الطقس في مدينة معين لتعود لك بدرجة الحرارة مثلاً ، وكل ذلك أن يكون لها واجهة استخدام اضافة إلى أنها تكون موجودة على الإنترنت .
وكما أسلفنا فخدمات ويب تعتمد على XML كمعيار لتمثيل البيانات ، مما يعني أن جميع البرامج في جميع الأماكن قادرة على التعامل معها وفهمها بغض النظر عن نظام التشغيل أو لغة البرمجة . وبما أن الخدمات برامج كما أسلفنا سابقاً ، فإن السيرفر الذي سيستضفيها على الإنترنت لا بد أن يدعم هذا النوع من البرمجة ، وإذا أردت أن تجرب خدمتك الخاصة على جهازك الشخصي فتأكد من تحميل برنامج IIS من ابتداء من مايكروسوفت Windows 2000 أوأكثر .
rest
قد يسأل سائل ويقول… Http كما أعلم عديم الحالة أي لا يحمل معلومات عن المستخدم الذي قام بعملية الطلب ، مثلا في حالتك ، درجة الحرارة ، فكيف ترسل الخدمة المعلومات الصحيحة إلى المستخدمين (أي درجة الحرارة للمدينة التي أرسلها)… .
والجواب : ال Web Service كما أسلفنا عبارة عن برنامج له فنكشن Function باسم Get int id)) في أبسط حالاته ، يقوم المستخدم باستدعاء الفنكشن بأمر مثل :(Get(1
وسيرد عليك بدرجة حرارة 38 مثلاً ، حيث أن 1 هو رمز لبلد القاهرة مثلاً …
لا أريد أن أخرج عن سياق الموضوع ، ولكن بالنسبة لحالة Http مع IIS مثلا ، عندما
يطلب مستخدم طلب ما ، فإن IIS لا يميز المستخدمين عن بعضهم من خلال Http لإنني كما قلت Http لا يقدم الطلبات للIIS على أنها من نفس المستخدم ، لذلك حلوا هذه المعضلة بالاعتماد على الـ Session و Application …

وان شاءالله هنتكلم اكتر عن ال Web Services بالتفصيل في دروس قادمة