هل استخدم Dataset ام LINQtoSQL ؟

27 06 2009

مع كثر هذه التقنيات ، يقل العبئ البرمجي والذهني على البرمج ، لكن الضريبة هي تعلم تقنية جديدة كل يوم ومعرفة اي تقنية يجب ان يستخدم في الحالة التي يواجهها ، خصوصا ان هناك تقنيات كثيرة تصب في نفس الجانب ولكن مع اختلاف الوظيفة والاداء والغرض الاساسي لها .

من هذه الامور هو استخدام Dataset او LINQtoSQL ، فبعد ظهور LINQtoSQL صار علينا التفريق في استخدامهما ومعرفة الحالات التي تقتضي افضلية ايهما !

في الحقيقة هذا يعتمد على السيناريوهات التي تود تحقيقها ، وانت حر بطبيعة الحال في السيناريو الذي تريد .

بالنسبة للـ Dataset :
- الـ Dataset سهل التعريف ، والتسلسل Serialize ، ويسهل فصل الكود فيها عن تصميمه في المشاريع المتعددة الطبقات خصوصا بما يتعلق بالـ TableAdapter المضمنه فيه .
- الـ Dataset يحتوي على متتبع للتغيرات التي تطرأ على البيانات المضمنه فيه، ويدعم التغيير دفعه واحده Batch Editing وكذا بالنسبة للتصفيه والعرض ، كما انه يتعامل بشكل تلقائي مع العلاقات المركبة Complex Relationships .
- يسهل استخدام Dataset عندما نرغب في عمل ربط بيانات DataBinding بشكل متقدم ومعقد .
- يصعب استخدام Dataset عندما نرغب بعمل بعمل عمليات تحقق متقدمة على البيانات .
- يجب تجنب استخدام Dataset عندما تقوم ببناء تطبيق موزع ليس كل العملاء Clients فيه مبنية على net.

بالنسبة لـ LINQtoSQL :

-  يقدم لك LINQtoSQL دعم تحكم كامل بالتحقق Validation, السلوك Behavior ، منطق الأعمال BusinessLogic ، كما انها سهله التوريث للفئات الاخرى ، هذا يعني امكانيه عمل طبقات ام وطبقات مشتقة للاعمال بكل سهولة .
- يمكن عمل تسلسل Serialization لفئات LINQtoSQL على شكل مصفوفات Arrays لغير عملاء net.
- بمجرد ايقاف الاتصال بين LINQtoSQL والـ DataContext ، تكون عملية ال Databinding وتعقب التغييرات على البيانات عملية صعبة ويجب عليك القيام بكل ذلك بنفسك !





Collections Initializers في Visual Basic 2010

19 06 2009

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

من التطويرات الجديدة في النسخة القادمة من Visual Basic والتي تحمل الرقم 10 هي ما يدعى بمنشئات المجموعات Collection Initializers . في هذه المقالة سنتعرف على الـ Collections Initializers .

أقرأ باقي الموضوع »





تقنية Microsoft Azure للحوسبة السحابية !

12 02 2009

بدأت تظهر في السنوات الاخيرة تقنية تدعىى بالحوسبة السحابية Cloud Computing ، ولا بد اولا من التعرف على مفهوم الحوسبة السحابية ، وقد استعنت في ذلك بموقع ويكيبيديا العربي :

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

تعتمد البنية التحتية للحوسبة السحابية على مراكز البيانات المتطورة و لتي تقدم مساحات تخزين كبيرة للمستخدمين كما انها توفر بعض البرامج كخدمات للمستخدمين. و هي تعتمد في ذلك على الإمكانيات التي وفرتها تقنيات ويب 2.0.

لمزيد من المعلومات حول هذا المفهوم راجع الرابط التالي :

http://en.wikipedia.org/wiki/Cloud_computing

وقد قدمت شركة مايكروسوفت اطار العمل Azure Service Platform ، وهو عبارة عن نظام تشغيل للخدمات السحابية Cloud Services يقوم بحضن ، خدمة ، ادارة ، تشغيل الخدمات العاملة بهذه التقنية . ويمكن بناء تطبيقات وخدمات هذه التقنية ، يمكن استخدام Visual Studio 2008 ولكنها ستكون مدعومة بشكل افضل في النسخة القادمة 2010 .

تدعم هذه التقنية مجموعة من البروتوكولات كـ SOAP,REST,XML وغيرها ، لكن الأجمل في الموضوع ان Windows Azure سيقدم الدعم لبيئات وخدمات مايكروسوفت وغير مايكروسوفت مما يدعو للابتهاج بهذا الخصوص .

ما الفائدة المرجوه من استخدام تقنية Azure ؟

سيمكنك استخدام Windows Azure من اضافة خدمات ويب Web services الى تطبيقاتك الحالية بشكل اسهل ، وبناء وتعديل وتوزيع التطبيقات عبر شبكة ويب بأقل قدر ممكن من الموارد المطلوبة في اجهزة العملاء ، وكذلك سهوله بناء وتعديل خدمات الويب Web Services بسهوله وسرعه وأقل تكاليف ، وتقليل تكاليف مواصفات العتاد والدعم التقني المقدم للعملاء حيث ان كل العمليات الحسابية والتخزينية ستتم على مراكز بيانات متطورة !

الميزة المهمه في هذه التقنية ان تنفيذ التطبيق يتم في السحابة وليس في جهاز المستخدم ، بالتالي تقل المخاطر الامنية وموارد العتاد المطلوبة وغيرها .

للتعرف بشكل افضل واوضح عن هذه التقنية يمكنك زيارة صفحتها الرسمية من الرابط التالي :

http://www.microsoft.com/azure/windowsazure.mspx





فيديو : دعم WPF Bussiness Applications في Visual Studio 2010

6 02 2009

اذا كنت تتابع اخر الاحداث المايكروسوفتيه واخر التطورات التي تظهر في معامل ريدموند ، فقد تكون سمعت بالميزات الجديدة التي ستظهر في فيجوال ستوديو 2010 والتي من بينها دعم خاصية السحب والالقاء Drag-Drop لمصادر البيانات على نوافذ WPF والتي تعني سهوله عمل تطبيقات ال Bussiness والتطبيقات التي تعتمد على قواعد البيانات وربط مصادر البيانات بالنوافذ بإستخدام تقنية الـ Data Binding دون عناءبمجرد سحب مصدر البيانات الى النافذه المراده – كما هو حاصل في تطبيقات Windows Applications .

لمشاهده حوار حول هذا الموضوع ، يمكنك زيارة الصفحة التالية عبر القناة التاسعة لـ MSDN :

http://channel9.msdn.com/posts/funkyonex/Drag-Drop-Data-Binding-Comes-to-WPF-in-Visual-Studio-2010/





مراقبة الملفات الموجودة في الحافظة Clipboard

1 02 2009

في بعض الاحيان قد تحتاج الى كتابة كود لمراقبة الملفات الموجودة في الحافظة Clipboard ، وأدنى ما تحتاجه غالبا هو معرفة المسار الكامل للملف والعملية ادت الى وضع الملف في الحافظة سواء كانت نسخ copy او قص Cut ، قد تتخيل لوهلة أن العملية قد تكون معقدة وصعبة للغاية ، لكن دعني اخبرك بان الكائن My.computer.clipboard الخاص بالتعامل مع حافظة النظام يحتوي على طرق Methods تسهل معرفه محتوى الحافظة سواء كان صوت او نص او ملفات ، فلنتابع معا الفكرة التي اقتبستها من احد المواقع الاجنبية .

الطريقة GetFileDropList تعود لنا بـ Collection تمثل قائمة بالملفات الموجودة في الذاكرة ، وسيكون بإمكاننا بسهوله كتابة كود كالتالي للحصول عليها في اداة TextBox متعددة الاسطر:

        If My.Computer.Clipboard.ContainsFileDropList = True Then
           
Dim FileNameCollection As Collections.Specialized.StringCollection = _
                         
My.Computer.Clipboard.GetFileDropList()
           
For Each FileName As String In FileNameCollection

                TextBox1.AppendText(FileName & vbNewLine)
           
Next

        End If

هكذا نكون قد تمكنا من الحصول على قائمة بأسماء الملفات ، والآن نرغب في الحصول على الاجراء الذي أدى الى وجود هذه الملفات في الحافظة ، هل هو نسخ Copy أم نقل Move ؟

للحصول على نوع الاجراء Drop Effect Type، سنقوم بعمل كائن من النوع Object ونسند له القيمة:

My.Computer.Clipboard.GetData("Preferred DropEffect") 

، نقوم بعدها بقراءه اول اربع بايتات الى مصفوفة ، يمثل الحرف الأول منها نوع الاجراء ، وهو المهم هنا !

السطور التالية توضح ذلك :

            Dim DropEffectData(3) As Byte
           
Dim DropEffectCheck As Object = _
               
My.Computer.Clipboard.GetData("Preferred DropEffect")
           
DropEffectCheck.Read(DropEffectData, 0, DropEffectData.Length)

والآن اصبحنا جاهزين تماما للقيام بالمهمه الكاملة ، لذلك قمت بوضع مثال بسيط هذا هو الكود الخاص به :

‘*>——————————————————————-
        ‘*>Handle Droplist
        ‘*>——————————————————————-
        If My.Computer.Clipboard.ContainsFileDropList() Then

            ‘*>——————————————————————-
            ‘*>Get DropEffect Type
            ‘*>——————————————————————-
            Dim DropEffectData(3) As Byte
           
Dim DropEffectCheck As Object = _
               
My.Computer.Clipboard.GetData("Preferred DropEffect")
           
DropEffectCheck.Read(DropEffectData, 0, DropEffectData.Length)

            Dim DropEff As DragDropEffects
           
Dim DropEffType As String

            Select Case DropEffectData(0)
               
Case 2
                   
DropEff = DragDropEffects.Move
                   
DropEffType = "Move"
               
Case 5
                   
DropEff = DragDropEffects.Copy
                   
DropEffType = "Copy"
               
Case Else
                   
DropEffType = "???"
           
End Select

            DropEffect.Text = DropEffType

            ‘*>——————————————————————-
            ‘*>Get File Names
            ‘*>——————————————————————-
            Dim FileNameCollection As Collections.Specialized.StringCollection = _
                                     
My.Computer.Clipboard.GetFileDropList()
           
For Each FileName As String In FileNameCollection

                DataText.AppendText(FileName & vbNewLine)
           
Next

        End If

 





مكتبة لعمل تقارير بـ MS Word 2007

16 01 2009

مكتبة لعمل تقارير بـ MS Word 2007

التقارير Reports هي المخرج الاساسي والاهم في تطبيقات قواعد البيانات ، ومن هنا تأتي أهمية التقارير ، وعلى المبرمج او المطور الاهتمام بالتقرير شكلا ومضمونا بطريقة تجعل المستخدم النهائي للتقرير يجد البيانات في منتهى السهولة ويستطيع التعامل معها، ففي بعض الاحيان قد لا يكتفي زبونك بنسخه مطبوعة من التقرير وانما تحتاج الى نسخه الكترونية ، البعض يرى الافضلية ان تكون على هيئة PDF والبعض قد يرى تصديرها بصيغة MS Word,MS Excel افضل خصوصا ان Microsoft Excel يوفر لك امكانيات احصائية وحسابية كبيرة تساعدك في احيان عديدة جداً. وقد يرى البعض ان جعل الصورة النهائية للتقرير بهيئة Word سيكون افضل من الناحية الشكلية خصوصا ، كما ان تصميم تقرير على هيئة Microsoft Word سيكون اسهل من استخدام برامج مخصصة للتقارير في بعض الاحيان كـ Crystal Reports او اداة التقارير الموجودة في Visual Studio نظرا لسهولة عملية التصميم وإمكانيات التنسيق والتنظيم الكبيرة الموجودة في برنامج كـ Microsoft Word 2007 .

وجدت مكتبة صغيرة  وهي تسهل عملية كتابة التقارير بصيغة Word2007 ( docx) وذلك انها تغنيك عن التعامل مع أي مكتبة من مكتبات برنامج Word بل لا تحتاج اصلا إلى وجوده لتقوم بتوليد تقرير بهيئة Word ، والسر في ذلك ان هيئة ملفات Word2007 ما هي الا عبارة عن ملف مضغوط بصيغة zip يحتوي على عدة ملفات xml وبالتالي فالعملية لا تعدو انشاء قالب ببرنامج Word2007 ثم استخدام هذا القالب في كل مره ووضع البيانات عليه !

s2.PNG

s1.PNG

لتحميل المكتبة من هنا:
http://www.zshare.net/download/54213236ceabcdfb/

المصدر :

http://www.codeproject.com/KB/printing/embedword.aspx





تقييم محتويات المدونة

13 12 2008

ارجو منكم المشاركة في الاستفتاء :





مايكروسوفت تعلن عن بنائها لـ Visual Studio 2010 و .Net Framework 4.0

13 12 2008

اعلنت مايكروسوفت قبل فترة عن بنائها لإصدارين جديدين للشقيقين المترابطين Visual Studio و .Net Framework وهما 2010 و الاصدار الرابع .

وسأحاول تغطية الجديد في كل منهما على حدة :

.Net framework 4.0 :

· تحتوي الاصدارة القادمة من اطار العمل ، على اصدارات محدثه من WCF,WF والتي تدعم المزيد في web 2.0

· يتوقع ان يتطور ويتحسن اداء WCF,WF بعشر مرات عن الاصدار 3.5 على الاقل !

· البرمجة المتوازية Parallel Programming : سيتطور دعم المعالجات متعددة الانوية من خلال وجود تقنيات كـ PLINQ و Task Parallel Library and Coordination Data Structures.

· ستدعم لغة الترميز XAML تقنية WCF ابتداءا من الاصدار القادم .

هناك العديد من التطويرات المرتقبة على التقنيات الحديثة كـ WF,WCF وغيرها ، ابرز هذه التطويرات تركز على تحسين الاداء

Visual Studio 2010 CodeName : Rosario :

اختارت مايكروسوفت الاسم الكودي روساريو ليكون هو الملازم لـ VS لحين صدور النسخه النهائية منه .

ومن ناحية بناء التطبيقات :

· تعمل مايكروسوفت على جعل هذه المنصه العملاقه منصة تجمع كل من له دخل في تطوير الحلول التقنية البرمجية ابتداءا من المبرمج والمطور وانتهاءا بمدير دورة حياة الحل Application LifeCycle Manager .

· ومن التطويرات الخاصه ببناء التطبيقات والحلول هو دعم النسخه 2.2.1 من UML وانشاء تكامل بين OMG و UML

· المزيد من الدعم لقوالب برنامج Microsoft Visio .

· ذلك المزيد من الدعم للهندسة العكسية ،

· وهناك ايضا مايعرف بمستكشف الوحدات Model Explorer وهو شبيه بـ Solution Explorer لكنه يقوم باستكشاف كائنات المشروع بنمط UML .

· كذلك يتمتع الاصدار القادم بميزة انشاء Sequence Diagram من الكود الموجود مباشرة بضغطة زر !

· ايضا دعم البرمجة المتوازية Parallel Programming وذلك يتجلى في دعمها اثناء عملية التقنيح Debug وغيرها من العمليات الخاصه ببناء المشروع .

ومن ناحية التجريب Testing وجودة البرامج Quality :

· يقدم Rosario خدمة جديدة تسمى Test Impact view والتي تقوم بمراقبة اداء كود معين فقط .

· لامزيد من شائبة no-repro !

· هناك اداة جديدة تسمى Microsoft Test Runner Tool وهي اداة منفصلة تساعد المختبرين Testers على اختبار التطبيق بشكل سهل وفعال .

المصادر :

http://www.vikasgoyal.net/net/What’s%20New%20in%20Visual%20Studio%202010%20Rosario.aspx

http://www.vikasgoyal.net/net/What’s%20New%20in%20.NET%204.0.aspx

http://www.microsoft.com/visualstudio/2010/overview.mspx

ايضا يمكنكم زيارة صفحة Visual Studio 2010 على موقع Channel9 :

http://channel9.msdn.com/visualstudio/#Page=9

تحياتي لكم





Visual Studio 2010 CTP جاهز للتجربة !

13 12 2008

لقد صدرت النسخه التجريبية CTP من Visual Studio 2010 على شكل ملف Virtual Machine للراغبين بالاطلاع والتجربة والمساعده في اقتراح التحسينات لتعمل النسخه بشكل صحيح وسليم.

يمكنكم الوصول اليها بتحميلها من هنا :

https://connect.microsoft.com/VisualStudio/content/content.aspx?ContentID=9790

نلتقي على خير





اطلاق مركز دعم VSTO

10 12 2008

اطلقت شركة مايكروسوفت موقع Office Solutions For Visual Studio Development والمخصص لمناقشه الحزمة VSTO (Visual Studio for Office Applications ) وكل ما يتعلق بها سواء من اخبار ، مقالات ، مصادر معلومات وتعلم ، لقاءات مع محترفين قيمين MVP’s وغيرها كباقي مراكز الدعم .

 

للدخول انقر هنا