الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

دعوة لمناقشة : Smart Client Applications

مغلق
بدأه Ammar Gaffar في 21 مارس 2005 · 18 رد · 3,150 مشاهدة · في قسم تكنولوجيا Microsoft .NET العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوة الأعضاء الكرام

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

أولا أشكر كل من ساهم في هذا المنتدي والذي يعتبر الأول في منتديات البرمجة العربية ولا أحد ينكر فضله , بالنسبة لتجربتي الخاصة في هذا المنتدي فأن معظم ماأعرفه في هذا اللغة عرفته من خلال هذا المنتدي .

الكل يعرف أن مجال البرمجة من المجالات الكثيرة التقلبات والتحديث , ففي كل يوم تظهر تقنية جديدة واسلوب جديد في تطوير البرمجيات , بعضها تم مناقشتها في المنتدي ولكن كمواضيع مستقلة (مثل موضوع ال Threading ), قد يأخذ العضو الفكرة ويطبقها علي بعض تطبيقاته ولكن هل يستفيد منها بالصورة القصوي ؟؟ في نظري لا أعتقد ذلك ..

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

حالياً جميع تطبيقات الويندوز العالمية والفعالة المعمولة بال VB.NET والتي تدور حول قواعد البيانات نجدها بصورة مختلفة تماماً عن جميع تطبيقاتنا التي نقوم بمناقشتها في هذا المنتدي , وبعد الإطلاع والبحث في الانترنت وجدت أن معظم التطبيقات العالمية مبنية علي مفهوم الـ Smart Client Application والتي من مميزاتها وخصائصها :

أولاً : السرية العالية وذلك من خلال إستخدام تقنية ال Web Services

ثانياً : السرعة العالية مع ملاحظة تعدد المستخدمين (معظمها تعمل علي الشبكة المحلية أو الانترنت)

ثالثاً : إتاحة العمل علي التطبيق Offline أي يمكن للمستخدم أن يقوم بالعمل بصورة طبيعية حتي ولو لم يتوفر اتصال مع السيرفر

رابعاً : إمكانية التعامل مع الانترنت , أي وضع قاعدة البيانات في الانترنت والوصول اليها عن طريق التطبيق

والكثير من المميزات الأخري ..

وقد لاحظت أيضا أن الاسلوب المتبع غير الاسلوب التقليدي والذي نتبعه نحن !

فلماذا لا ننتقل خطوة إيجابية الي الأمام ونتتطرق لمثل هذه التطبيقات والتي نجدها متاحة في الانترنت ومفتوحة المصدر ؟؟

فضلا أخي العضو قم بزيارة هذا الرابط : http://windowsforms.net/Default.aspx?tabindex=8&tabid=3

رأيي الشخصي والشخصي جداً أن نقوم بمناقشة تقنية الـ Smart Clent Applications من الصفر وحتي النهاية مع أخذ تطبيق مفتوح المصدر أو تطبيق مقترح وبذلك نكون قد تتطرقنا الي :

1/ أفضل الطرق المستخدمة للتعامل مع قواعد البيانات (Data Layer,Microsoft Data Access Block)

2/ كيفية التعامل مع الـ Web Services والاستفادة منها

3/ الاطلاع علي التقنيات الجديدة وطريقة إستخدامها مثل الـ Microsoft Offline Block

والكثير الكثير من الفوائد .

عذرا للاطالة ,,, والله الموفق

#2

أخي عمار، شكراً لك أخي الكريم على فتح باب المناقشة في موضوع كهذا، فهذا الموضوع فعلاً مهم جداً لأن هذا هو المستقبل للبرمجة، و أردت أن أبدأ في طرحه منذ فترة كبيرة، لكن ظروف عملي تحول دوماً بيني و بين المواضيع التي تأخذ وقتاً كثيراً في المتابعة.

و بما انني مشغول في العمل جداً هذه الأيام :( فلن أستطيع للأسف ان اتابع هذا الموضوع كمشارك، ولكني لن أفوت قراءة الموضوع بإذن الله طالاما ان هناك الكثير من المهتمين و المشاركين.

بداية هذه بعض الوصلات التي تفيد في موضوع الـ Smart Client Application لكي نتعرف عليه:

تعريف الـ Smart Client Application, ما هو؟؟

فهم الـ Smart Client

وصلة الـ Smart Client على الـ MSDN

Smart Client Windows Form

رأس الحكمة الإيمان بالله

#3

الشكر والتقدير للاخ محمد عبد العليم علي تجاوبه للموضوع ,,

فقط عندي ملاحظة بسيطة وهي أن تفاعل الاعضاء يكون أكثر في المواضيع التي يتم شرحها والتحدث فيها باللغة العربية , الوصلات التي قدمتها بصراحة أكثر من ممتازة ولكن وفي إعتقادي أنه إذا تم ترجمة المفاهيم الأساسية للموضوع ومناقشته باللغة العربية فهذا أفضل ويضمن مشاركة أكبر كمية من الأعضاء في هذا الموضوع والاستفادة القصوي من تعدد الاراء , ,,

والله الموفق

#4

منك نستفيد .. إبدأ وسنحاول أن نساهم

فلسطين الزاهية بألوان الحب والسلام

ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها

تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين

#5
اقتباس
أولاً : السرية العالية وذلك من خلال إستخدام تقنية ال Web Services

أغلب الأنظمة الحديثة تتبع ما يسمى SOA أو Service oriented architechture وهي معمارية تصميم تطبيقات تتلخص في اعتماد أجزاء البرنامج كخدمات بدلا من أن تكون في شكل دوال ، أي أن النظام المتكامل يتكون من خدمات انترنت web services تقوم بحساب وأداء الأعمال المطلوبة منها ومن ثم تسليم النظام النتائج، مثلا، تخيل معي نظام حسابات في مؤسسة لها أفرع كثيرة، برنامج كل قسم حسابات في كل فرع يقوم بإعداد تقرير الحسابات النهائي في الفرع، ومن ثم يسلمه إلى الرئاسة التي طلبته عبر نداء دالة الweb service الخاصة بالفرع، لتقوم حسابات الرئاسة بإعداد التقرير النهائي لحسابات الفروع (مثال مذكور في مقالة عن SOA منشورة في مجلة PC العربية عدد نوفمبر 2004)

لكن يبقى الأهم هو ضمان سرية البيانات المنقولة عبر الweb service ، وضمان أن من سيستخدم الweb service مصرح له بالاستخدام.

اقتباس
ثانياً : السرعة العالية مع ملاحظة تعدد المستخدمين (معظمها تعمل علي الشبكة المحلية أو الانترنت)

استخدامها للweb services هو ما أتاح لها قابلية تعدد المستخدمين، وضمان سرعة التنفيذ لكل مستخدم.

لكن في رأيي، لايمكننا الدخول في مناقشات حول smart clients applications مالم نسبقها بكلام مطول عن web services والاستفادة منها، لأن الsmarts clients applications تعتمد على الweb services.

فكر بطريقة أخرى

#6

يعطيكوا العافيه للجميع .....

اعزائى الاعضاء فكرة تعلم Smart Client Application بتفصيلاته موضوع متقدم ومفيد جدا كما اكد الجميع بانه المستقبل للبرمجة ولكن وبصراحه لا يوجد تجاوب في بعض الواضيع المتقدمة في هذا المنتدى وابداًوا وانا معكم ان شاء الله

#7

الشكر والتقدير للاخ (والجار :D ) العزيز وليد لهذه المعلومات القيمة والمقترح الجميل

اقتباس
لكن في رأيي، لايمكننا الدخول في مناقشات حول smart clients applications مالم نسبقها بكلام مطول عن web services والاستفادة منها، لأن الsmarts clients applications تعتمد على الweb services.

وفي الحقيقة انا مبتدئ في هذه التقنية , وليس لدي الخبرة الكافية فيها ولكن إذا وجدنا إقتراحات ونصائح الإخوة الأعضاء الذين يملكون المعلومة في هذه التقنية بارشادنا الي كيفية البداية فقط وماهي الأشياء التي نحتاج معرفتها كأساس للعمل هكذا سنبدأ بداية صحيحة ومن ثم يمكننا البحث والدراسة في في هذا الموضوع وتقديم ماتم فهمه في هذا الموضوع للمنفعة العامة

الاخ وليد B) شكلك عندك الخبرة الكافية في هذا المجال ,, هلا قمت بارشادنا الي بداية الطريق مثلاً ال Web Services مفهوم كبير جداً ماذا نأخذ منه لكي نستطيع بناء مثل هذه التطبيقات ؟؟ ومن أين نبدأ

والشكر مقدما الي كل من يساهم بالمعلومة أو الرأي

والله الموفق

#8
اقتباس
بارشادنا الي كيفية البداية فقط وماهي الأشياء التي نحتاج معرفتها كأساس للعمل

ما نحتاج له كأساس لفهم الweb service هو:

1- معرفة متوسطة بلغة XML.

2- المفاهيم الأساسية لبروتوكول SOAP والذي يعتمد على XML.

مع الVS.Net يسهل تكوين web services ليجعل تكوينها مثل عمل console applications، لكن العمل المتعمق بالweb services ، مثل تشفير البيانات المرسلة عبرها، يحتاج لمعرفة ببروتوكول SOAP.

اقتباس
؟؟ ومن أين نبدأ

هذه هي البداية:

Web Services using WebService Behavior and .NET

Creating and Consuming a Web Service

فكر بطريقة أخرى

#9

الشكر والتقدير للاخ وليد علي الروابط المفيدة

بعد الاطلاع علي محتويات هذه الروابط وبعض الـ Chapters التي تتحدث عن تقنية الـ Web Services وجدت أن المفاهيم التي يجب معرفتها وذلك قبل إقتحام جانب البرمجة والذي أعتبره في نظري أسهل بكثير من فهم التقنية , وهذه هي مشكلتنا أننا نقوم مباشرة بكتابة الشفرات دون أدني معرفة لكيفية عملها .. مما يتسبب في النسيان السريع لشفرة قد تكون إستخدمتها قبل أقل من شهر فقط !!

المفاهيم هي :

Web Service Architecture
SOAP (Simple Object Access Protocol)
WSDL  (Web Services Description Language)
DISCO (The Microsoft Discovery Protocol)
UDDI (The Universal Description, Discovery, and Integration)

ومن رأيي أن نقوم بمناقشة هذا المفاهيم علي التوالي , لدراسة هذه التقنية علي أسس سليمة .

أول موضوع سنتحدث عنه إن شاء الله هو الـ Web Services Architecture , فليساهم كل من يمكلك المعلومة في هذا الموضوع أو رابط مفيد للمعلومة

********************************************************************

معلوماتي المتواضعة عن تقنية الـ Web Services :

هي تقنية تقوم بتطبيق مفهوم الـ Three Tire أو بعض من تقنيات الـ Middle Tire والمقصود هنا بناء تطبيقات قياسية تقوم (معظمها) بالتعامل مع قواعد البيانات كإطار منفصل وتتعامل أيضاً مع التطبيق كإطار منفصل , أي يمكنك ومن خلال إستخدام تقنية الـ Web Services أن تقوم ببناء نظام متكامل وسهل التطوير كما توفر لك المرونة في بناء تطبيقات الـ Client .

من أشهر اللغات وأكثرها صعوبة (المعني هنا صعوبة في المفاهيم التي تعمل عليها) في بناء مثل هذه التطبيقات هي الـ J2EE التي تعتبر الأفضل في بناء تطبيقات الـ Middle Tire .

تطبيقات الـ Middle Tire هي شبيهه بالـ Web Services ولكنها في المضمون أكبر وتقوم بدعم مختلف أنواع نظم التشغيل وحتي مختلف أنواع أجهزة الكمبيوتر , مثلاً يمكنك بناء تطبيق مربوط بقاعدة بيانات يقوم بتقديم خدمة معينة لأجهزة الكمبيوتر والأجهزة الكفية واجهزة الموبايل في نفس الوقت أي أنك لا تحتاج لبناء تطبيق لكل واحد من أنواع الأجهزة كتطبيق منفصل فالـ Middle Tire الذي قمت بتصميمه هو الذي يقوم بتحديد نوع الطلب وتحويله الي قاعدة البيانات ومن ثم إرجاع نتيجة تنفيذ الطلب الي الجهاز .

والله أعلم ...

وتعتبر مثل هذه المفاهيم في البرمجة حالياً هي البرمجة الحقيقة التي يجب علينا أن نواكبها أو علي الأقل معرفة طريقة عملها .

********************************************************************

والله الموفق

تم تعديل هذه المشاركة بواسطة Ammar Gaffar في 23 مارس 2005 في 09:29

#10

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

جزاكم الله خيرا وأتمنى أن أرى مشاركات أكثر لأننا فعلا نريد أن نستفيد ولكن عندي استفسار حول استخدام الـ Wep Services :

على حد علمي أننا نستفيد من الـ Wep Services في تطبيقات ASP.NET

أليس كذلك ؟ بمعنى آخر عندي برنامج يستخدم Windows Forms وقواعد بيانات SQL Server

فهل هذا البرنامج سأحتاج فيه استخدام الـWeb Services ?

الشيئ الآخر أني لم أفهم كثيرا من الروبط السابقة فنحن نريد أن تفهمونا أنتم باللغة العربية وبطريقة شرح تناسبنا كمبتدئين في هذا الموضوع

وفقكم الله

#11

مقدمة ونبذه تعريفية بتقنية الـ Web Services وبالتحديد الـ XML Web Services

ماهي الـ XML Web Services ؟؟

هذا هو أول سؤال يسأله مبيتدئ مثلي ... وبعد البحث وجدت أنه أساس لبناء التقنيات والتطبيقات الموزعة والمتشاركة والمتكاملة عبر الشبكات (الانترنت مثلاً) التي تعتمد الصورة القياسية في طريقة بنائها وتعتبر أساس الاتصالات والمشاركة بين الناس أو التطبيقات عبر الانترنت ,,

اقتباس
كنت في الماضي وعندما أقرأ كتاب يشرح مفاهيم الـ OOP كنت أحيانا أضحك من الأمثلة التي يقوم بضربها المؤلف لشرح مفهوم معين مثلاً لشرح مفهوم الكائنات يقوم بعمل فئة يقوم بتسميتها Car ولشرح مفهوم الدوال أو الإجراءات  يقوم بتعريف Method اسمها Drive ويقوم بشرحها وتطبيقها كما في الواقع (وهذا مايميز البرمجة غرضية التوجه Object Oriented Programming ... والان إكتشفت نفسي أنني كنت أبله  :D  لانه لايوجد مايضحك.

ونعود الي الـ Web Services وكضرب مثال لها يمكن للناس أن يتصلو ببعضهم البعض عبر الانترنت عبر خدمة تقدمها شركة ما أو أن يتشاركو المعلومات مع ملاحظة أن هؤلاء الناس يتعاملون مع الانترنت كل علي حدا , بعضهم يعمل بنظام Linux والآخر يعمل بنظام Windows البعض يتصل بالانترنت بسرعة منخفضة والآخر بسرعة عالية وهكذا.... نلاحظ التكامل في الخدمة المقدمة بواسطة موقع ما ..

ولنأخذ موقع Google الشهير . والذي قام مؤخراً بتقديم خدمة تعتمد علي الـ Web Services لاستخدام التقنية المستخدمة في موقع Google للبحث في الانترنت عبر تطبيقك الخاص مثلاً يمكنك أن تقوم باستخدام هذه التقنية من خلال صفحة ASP.NET راجع الرابط التالي :

http://aspnet.4guysfromrolla.com/articles/030503-1.aspx

أو من صفحة PHP راجع الملف المرفق , هذه أمثلة من الواقع والتي تدل علي تكامل هذه التقنية . فالتطبيقات المبنية عليها توفر المرونة الشديدة في بناء تطبيقات الـ Client بغض النظر عن الأسلوب أو طريقة بناء تطبيق الـ Client أو حتي اللغة المستخدمة فيه .

وبإختصار هي تقنية تتيح الخدمات عبر الويب للمستخدمين عبر بروتوكول الشبكة القياسي Standard Web Protocol , وفي معظم الحالات يتم استخدام بروتوكول Simple Object Access Protocol والذي يمكن التعامل معه من مختلف نظم التشغيل أو مختلف لغات البرمجة.

كما أنها تدعم الوصف للواجهات البرمجية وإتاحة إمكانية بناء تطبيقات الـ Client , وهذه المواصفات تكون دائماً علي هيئة XML Documents وتدعي :

Web Services Discovery Language (WSDL) document

كما هي تقنية مسجلة عالميا ومضمونة لذلك يمكن لاي مستخدم إيجادها بسهولة عبر الـ

Universal Discovery Description and Integration (UDDI)

والتي تعتبر بمثابة الصفحات الصفراء للـ Web Services والتي من خلالها يمكنك البحث عن الشركات التي توفر الخدمات التي تحتاجها

وعسي أن تكون الفكرة أصبحت واضحة الان ,,

:rolleyes: نداء لاصحاب الخبرة ,,, أفيدونا في هذا الموضوع :D

والله الموفق

Create_Your_Own_Search_Engine_With_Php_And_Google_Web_Services.pdf

#12
اقتباس
  على حد علمي أننا نستفيد من الـ Wep Services في تطبيقات ASP.NET 

الـ Web Services تعتبر من التقنيات القياسية والتي يمكن إستخدامها مع العديد من لغات البرمجة بغض النظر عن أنك تقوم بتطوير Windows Application أو Web Based Application

اقتباس
أليس كذلك ؟ بمعنى آخر عندي برنامج يستخدم Windows Forms وقواعد بيانات SQL Server

فهل هذا البرنامج سأحتاج فيه استخدام الـWeb Services ?

مسألة الحوجة لاستخدام تقنية الـ Web Services تعتمد علي نوع التطبيق الذي تقوم بتطويره ,, مثلاً إذا منت تقوم بتطوير تطبيق بالـ VB.NET والـ SQL Server كما قلت , وإذا كان هذا التطبيق يعمل في شبكة من الافضل إستخدام تقنية الـ Web Services وتطبيق مفهوم الـ Smart Client Application , ولكن هذا لا يعني أنك إذا لم تستخدم هذا الاسلوب أنك علي خطأ ولكنه الافضل من عدة نواحي أهمها التطوير السريع للبرامج التي تعتمد هذه التقنية وللتوضيح أكثر , إذا قمت ببناء تطبيق بالطريقة التقليدية وقمت بالعمل عليه لعدة شهور وحدثت بعض التعديلات علي سير العمل أو طريقة العمل في الواقع , عليك أن تقوم بعمل هذه التعديلات علي تطبيقك , وهذه التعديلات ستكلفك الوقت والجهد إذا كنت تستخدم الطريقة التقليدية في بناء البرامج .

والله الموفق

تم تعديل هذه المشاركة بواسطة Ammar Gaffar في 26 مارس 2005 في 09:32

#13

شكرا أخي Ammar Gaffar على هذا التوضيح وإن شاء الله سأجتهد لأشارك في هذا الموضوع بأقرب وقت

#14
اقتباس
مسألة الحوجة لاستخدام تقنية الـ Web Services تعتمد علي نوع التطبيق الذي تقوم بتطويره ,, مثلاً إذا منت تقوم بتطوير تطبيق بالـ VB.NET والـ SQL Server كما قلت , وإذا كان هذا التطبيق يعمل في شبكة من الافضل إستخدام تقنية الـ Web Services

أخي Ammar Gaffar أريد منك أو بقية الإخوه توضيح حول كيفية استخدام الـWeb Service

فمعلوماتي عن الويب سيرفس الآن هي نظرية فقط وأريد أن أعرف كيف أطبق عمليا أي أين أجد الـWeb Service وكيف أستخدمه في برنامجي. واعذروني على سذاجة سؤالي فأنا فعلا لا أعرف كيف ؟

#15
اقتباس
فمعلوماتي عن الويب سيرفس الآن هي نظرية فقط

هل تعلم أن مفهوم تقنية الـ Web Services ومتعلقاته أصعب بكثير من الجانب العملي فيها :D أنت الان تسبقني بخطوة .. ولكن هل جمعت المعلومات الكافية عن طريقة عمل هذه التقنية -_- ؟؟ والغرض من فتح هذا الموضوع في المنتدي هو دراسة هذه التقنية بصورة سليمة أي أنني لا أريد أن أدخل مباشرة في الشفرة او الأمثلة والتي ستأخذنا بعيداً عن فهم هذه التقنية ,,

أعجبني رأي الاخ وليد :

اقتباس
لكن في رأيي، لايمكننا الدخول في مناقشات حول smart clients applications مالم نسبقها بكلام مطول عن web services والاستفادة منها، لأن الsmarts clients applications تعتمد على الweb services.

ولدراسة ومعرفة هذه التقنية يجب أن نكون ملمين ببعض المفاهيم البسيطة لبروتوكول الـ SOAP وهو إختصار لـ Simple Object Access Protocols وكيفية التعامل عبر هذا البروتوكول ..

أما بالنسبة لسؤالك

اقتباس
وأريد أن أعرف كيف أطبق عمليا أي أين أجد الـWeb Service وكيف أستخدمه في برنامجي.

يمكنك بناء تطبيقات Web Services بعدة لغات ونحن نتحدث بالتحديد عن الـ VB.NET ولعمل مشروع Web Services قم بفتح مشروع جديد وقم باختيار ASP.NET Web Services سيقوم التطبيق بانشاء التطبيق وإنشاء ملف يحمل الاسم Service1.asmx تلقائياً ولكتابة الشفرة قم بالضغط علي الرابط click here to switch to code view

ملاحظة بسيطة : تطبيقات الـ Web Services في الغالب لا تحتوي علي واجهات للمستخدم أي هي عبارة عن شفرات فقط :D وهذا ما لا يروق للكثيرين :lol:

ومن رأيي الشخصي أن نفهم التقنية جيداً قبل إقتحام الشفرة وذلك لمعرفة كيفية الإستفادة القصوي من هذه التقنية

والله الموفق

#16

!!!

اقتباس
ملاحظة بسيطة : تطبيقات الـ Web Services في الغالب لا تحتوي علي واجهات للمستخدم أي هي عبارة عن شفرات فقط  وهذا ما لا يروق للكثيرين 

ومن رأيي الشخصي أن نفهم التقنية جيداً قبل إقتحام الشفرة وذلك لمعرفة كيفية الإستفادة القصوي من هذه التقنية

واو .. الآن تحمست أكثر .. هيا لنبدأ بقوة .. فخذها بقوة ..

#17

<_< لماذا لا توجد مشاركات ؟

أعرف جيداً أن الموضوع ليس سهلاً ولكني مقتنع تماماً أنه غير مستحيل B)

في إنتظار مشاركاتكم

والله الموفق

#18

للرفع.

:rolleyes:

فكر بطريقة أخرى

#19

بسم الله الرحمن الرحيم

أخواني أتمنى فعلا من الدخول في مجال الـWeb Service و مجال التتطبيقات رقم أني مازلت مبتدأ جدا في مجال التطبيقات التي تعمل على الشبكات فأنا أحب جداً مجال برمجه قواعد البيانات و أرجوا معرفه كل شي عنه فهذا أكثر شي أنا وجدت نفسي فيه و أتمنى أن أعطيه كل ما أملك من مجهود لتعلمه و أنا معكم إن شاء الله في أي شيئ لنرتقي بمجال البرمجه في بلادنا العربيه

و الله الموفق

هذا الموضوع مغلق.

مواضيع مشابهة