02-07-2011, 02:00 PM
مقدمة الى تقنية datasnap
شرح من طرف الاخ علي علوي
يرجع ظهور هذه التقنية الى نسخة دلفي 3 حيث كانت تعرف في هذه النسخة باسم MIDAS لتتطور في نسخة دلفي 4 الى MIDAS 2 ثم الى3 MIDAS
ووفرت هذه التقنية ادوات قوية للاتصال عن بعد والتعامل مع تطبيقات (خادم و زبون)بواسطة com اي استخدام برتوكول Tcp/ip,Http وcom لتخاطب بين الطبقتين
ليغيير اسمها الى datasnap في نسخة دلفي السادسة وبقت بنفس المكونات الى غاية النسخة دلفي 2007
وبصدور دلفي 2009 تغيرت هيكلة Datasnap لاعتماده على التام على TCP/IP فقط مع امكانية التعامل مع دوت نت
مع ظهور دلفي 2010 ظهر تطور كبير على datasnap ليدعم اغراض جديدة وفريم ورك جديد
1- التخاطب مع service سواء ويب REST et JSON اوdcom
2-التخاطب مع تطبيقات وندوز win32
3-التخاطب مع منصة اخرى .net
كما يمكن استعماله في الويب لانه يدعم ISAPI و CGI
في مثالنا هذا سنقوم ببرمجة تدعلى البرمجة ثنائية الطبقات الى فصل الواجهات على المعلاجات و بالطبع ستكون في قسم الدلفي مشروع جديد منفصل حيث سنتصل بقاعدة بيانات و العرض يكون في مشروع الواب الذي نقوم به
1- برمجة طبقة المعالجات (الاتصال بالقاعدة )
نفتح مشروع جديد في الدلفي
- ملف (File)
2- جديد (new)
3-خيارات اخرى (Other )
1- نختار من القائمة الجانبية (datasnap server)
2- نقوم باختيار (datasnap sever)
لتظهر نافذة جديدة كما في الصورة التالية
1- اذا قمت بتفعيل هذا الخيار فسينشا لك مشروع vcl اي نافذة ويندوز المعروفة ومكونات vcl
2- اذا قمت بتفعيل هذا الخيار فان المشروع يفذ على شاشة الدوس
3 - اذا قمت بتفعيل هذا الخيار فان المشروع سيكون خدمة
4- هذا الخيار يمثل مشروع يطبق على شبكة محلية
5- المشروع المنشا يعمل على شبكة الانترنت
نترك الخيارات كما هي ونضغط على ok
سوف يظهر المشروع ثلاث نوافذ كما يلي
خير النافذة التي سنقوم باستخدمها في هذا التطبيق وستاخذ الاسم الافتراضي ServerMethodsUnit1
كما هو ظاهر من خلال اسمها سوف نضع كل Methods و functions
نضع مكون Ttable من BDE و نربطه بالطريقة العدية مع الملف animals.dbf مثلا . لا نفتح الاتصال سيكون ذلك بالكود
ننشاء وظيفة او تابع جديد و نكتب
فقط
نعم اتهينا من الاتصال عن طريق الدلفي و الان سنترك البريسم يتكلم مع الدلفي كيف
ان تطبيق الدلفي سواء كان EXE او DLL ISAPI .. هو عبارة عن سرفر نثبته مع الموقع في جهاز واحد او جهاز اخر المهم انه يشتغل داما مثل IIS للموقع .
في مشروعنا نقوم بفتح اتصال جديد بالقاعدة كما قمنا سابقا .
لا حظ الصورة
الان سنربط مكون GridView2 و القاعدة
نقوم بالطريقة السابفة لاكن نختار من القاءمة localhost....
و عندما نصل الشاشة نختار Procédure Stockée
بسيطة اليس كذلك
شرح من طرف الاخ علي علوي
يرجع ظهور هذه التقنية الى نسخة دلفي 3 حيث كانت تعرف في هذه النسخة باسم MIDAS لتتطور في نسخة دلفي 4 الى MIDAS 2 ثم الى3 MIDAS
ووفرت هذه التقنية ادوات قوية للاتصال عن بعد والتعامل مع تطبيقات (خادم و زبون)بواسطة com اي استخدام برتوكول Tcp/ip,Http وcom لتخاطب بين الطبقتين
ليغيير اسمها الى datasnap في نسخة دلفي السادسة وبقت بنفس المكونات الى غاية النسخة دلفي 2007
وبصدور دلفي 2009 تغيرت هيكلة Datasnap لاعتماده على التام على TCP/IP فقط مع امكانية التعامل مع دوت نت
مع ظهور دلفي 2010 ظهر تطور كبير على datasnap ليدعم اغراض جديدة وفريم ورك جديد
1- التخاطب مع service سواء ويب REST et JSON اوdcom
2-التخاطب مع تطبيقات وندوز win32
3-التخاطب مع منصة اخرى .net
كما يمكن استعماله في الويب لانه يدعم ISAPI و CGI
كود :
http://docwiki.embarcadero.com/images/RADStudio/e/8/80/DataSnapArch.png1- برمجة طبقة المعالجات (الاتصال بالقاعدة )
نفتح مشروع جديد في الدلفي
كود :
http://www.arabteam2000-forum.com/uploads/monthly_04_2010/post-112245-12706556795868.jpg2- جديد (new)
3-خيارات اخرى (Other )
كود :
http://www.arabteam2000-forum.com/uploads/monthly_04_2010/post-112245-12706664534601.jpg2- نقوم باختيار (datasnap sever)
لتظهر نافذة جديدة كما في الصورة التالية
كود :
http://www.arabteam2000-forum.com/uploads/monthly_04_2010/post-112245-12706557216237.jpg1- اذا قمت بتفعيل هذا الخيار فسينشا لك مشروع vcl اي نافذة ويندوز المعروفة ومكونات vcl
2- اذا قمت بتفعيل هذا الخيار فان المشروع يفذ على شاشة الدوس
3 - اذا قمت بتفعيل هذا الخيار فان المشروع سيكون خدمة
4- هذا الخيار يمثل مشروع يطبق على شبكة محلية
5- المشروع المنشا يعمل على شبكة الانترنت
نترك الخيارات كما هي ونضغط على ok
سوف يظهر المشروع ثلاث نوافذ كما يلي
كود :
http://www.arabteam2000-forum.com/uploads/monthly_04_2010/post-112245-12706557463819.jpgكود :
http://www.arabteam2000-forum.com/uploads/monthly_04_2010/post-112245-1270655805205.jpgكود :
http://www.arabteam2000-forum.com/uploads/monthly_04_2010/post-112245-12706557706785.jpgكما هو ظاهر من خلال اسمها سوف نضع كل Methods و functions
نضع مكون Ttable من BDE و نربطه بالطريقة العدية مع الملف animals.dbf مثلا . لا نفتح الاتصال سيكون ذلك بالكود
ننشاء وظيفة او تابع جديد و نكتب
كود :
function TServerMethods1.FillDataSet(): TDataSet;
begin
Table1. Open;
Result := Table1;
end;فقط
نعم اتهينا من الاتصال عن طريق الدلفي و الان سنترك البريسم يتكلم مع الدلفي كيف
ان تطبيق الدلفي سواء كان EXE او DLL ISAPI .. هو عبارة عن سرفر نثبته مع الموقع في جهاز واحد او جهاز اخر المهم انه يشتغل داما مثل IIS للموقع .
في مشروعنا نقوم بفتح اتصال جديد بالقاعدة كما قمنا سابقا .
لا حظ الصورة
كود :
http://www.bloghotel.org/uploads/zekiriabd_prismdatasnap.jpgنقوم بالطريقة السابفة لاكن نختار من القاءمة localhost....
و عندما نصل الشاشة نختار Procédure Stockée
كود :
http://www.bloghotel.org/uploads/zekiriabd_prismdatasnap2.jpg
