2009/10/19

به روز رسانی صفحات آژاکسی از سمت سرور

می‌خواستم برای انجام کاری یک صفحه آژاکسی جدید بسازم. وظیفه این صفحه مانیتورینگ یکی از فعالیت‌هایی بود که در Web Server اتفاق می‌افتاد. اولش فکر می‌کردم انجام آن خیلی سخت نباشد. یک Label را وسط یک UpdatePanel می‌گذارم، event سروری مورد نظرم را مشترک شده و سپس در handler آن، Label را به روز رسانی کرده و نهایتاً متود update کنترل UpdatePanel را فراخوانی می‌کنم. اما کار به این سادگی‌ها که فکر می‌کردم نبود. آن event فایر می‌شد، کد handler اجرا می‌شد ولی اصلا کنترل‌های UpdatePanel به روز رسانی نمی‌شدند. با کمی ور رفتن با UpdatePanel فهمیدم که باید آن event به نوعی در Triggers کنترل UpdatePanel قرار می‌گرفت. اما مشکل از آنجا بود که Triggers فقط کنترل‌ها را به عنوان عضو قبول می‌کرد. بعد از کمی جستجوی اعصاب خرد کن دیگر فهمیدم که کار من از بیخ و بن اشتباه و بر خلاف منطق HTTP و آژاکس است! با آژاکس می‌توان صفحه موجود در کلاینت را بدون PostBack به روز رسانی کرد اما این موضوع وقتی اتفاق می‌افتد که یک درخواست از کلاینت به سرور ارسال شود. در مورد کاری که من می‌خواستم انجام دهم هیچ درخواستی از کلاینت وجود ندارد و این سرور است که می‌خواهد بدون درخواست کلاینت به آن اطلاعات بفرستد. شاید شما هم در این لحظه مثل من به یاد صفحه Gmail افتاده باشید و بپرسید پس Gmail چطور این کار را می‌کند؟ همان طور که می‌دانیم اگر صفحه Gmail باز باشد و ایمیل جدیدی به Inbox شما وارد شده باشد این موضوع خود به خود و بدون درخواست قبلی شما در صفحه Gmailتان منعکس می‌گردد. چنین مکانیزمی در friendfeed و twitter هم وجود دارد. کاربر صفحه خاصی از سایت را باز می‌کند و بدون آن که هیچ کاری انجام دهد فقط به صفحه نگاه می‌کند. صفحه هم اتفاقات سمت سرور (رسیدن ایمیل جدید، دریافت تویت جدید، کامنت جدید و…) را بدون درخواست شما در صفحه نمایش می‌دهد.
روشی که Gmail و بقیه استفاده می‌کنند به روش Polling معروف است. در این روش موتور جاوا اسکریپتی آژاکس که در کلاینت فعال است از یک تایمر استفاده کرده و هر چند ثانیه یک بار به سرور متصل شده و در صورت وجود اطلاعات جدید، از سرور درخواست می‌نماید آنها را به کلاینت بفرستد. این طوری کاربر حس می‌کند که این سرور است که اطلاعات جدید را به کلاینت می‌فرستد در حالی که واقعاً باز هم این خود کلاینت است که این درخواست را می‌فرستد.
پیاده‌سازی این مکانیزم در ASP.NET AJAX کار ساده‌ای است. فقط کافیست یک کنترل Timer به صفحه ASPX اضافه کرده و آن را به فهرست Triggers کنترل UpdatePanel اضافه نمایید البته فقط ایونت Tick آن را. سپس بقیه موارد را تنظیم کرده و عملیات مورد نظر خود را به Handler مربوط به Timer.OnTick اضافه کنید. لطفاً اصل ماجرا را در کد زیر مشاهده فرمایید:


<asp:Timer ID="MyTimer" runat="server" Interval="2000" OnTick="MyTimer_Tick" Enabled="true">
</asp:Timer>
<asp:UpdatePanel ID="up" runat="server">
    <ContentTemplate>
        <asp:TextBox ID="txaLog" runat="server" TextMode="MultiLine" SkinID="BlackTerminalLTRWide"
            Rows="20" Width="350" Style="direction: rtl; text-align: left" />
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="MyTimer" EventName="Tick" />
    </Triggers>
</asp:UpdatePanel>






Basic steps to localizing OTRS and other softwares into Persian

1. Ability to save and retrieve Persian texts.

2. Supporting right-to-left direction and right alignment.

3. Supporting Persian (Jalali) calendar in both getting dates from user and displaying dates to him (her).

4. Displaying Persian numeric digits ۰۱۲۳۴۵۶۷۸۹ instead of English numeric digits 0123456789.

5. Translating software itself into Persian. This include menu and button captions, messages and etc.

 

Advanced steps for localizing softwares may be achieved by implementing Iranian standard ISIRI 6219 and other related standards.

OTRS has done steps 1,2 and 5 but needs to go through steps 3 and 4. For step 3 (Persian Calendar) there exists a Perl module named Date-Jalali-0.01 written by Ahmad Anvari for converting Gregorian and Persian calendar to each other. Ahmad has also written another Perl module named Lingua-FA-Number-1.0 for converting English and Persian numeric digits to each other that can be used to implement step 4.

 

See also:

1. Persian Computing group: A community of people specialized in Persian standards, localization and internationalization.






2009/10/16

چطور یک شرکت نرم‌افزاری خوب برای کار کردن پیدا کنیم؟

بقا در شغل برنامه‌نویسی در ایران نیاز به عوض کردن هر چند وقت یک بار شرکت دارد. مهم نیست که چند سال سابقه دارید و به چه موضوعاتی تسلط دارید و مهم نیست که شرکتی که در آن کار می‌کنید چقدر خوش‌سابقه و جذاب باشد. به هر صورت باید برای تضمین شغلی در کسوت برنامه‌نویس هر دو سه سال یک بار به یک شرکت جدید بروید تا هم چیزهای جدید یاد بگیرید و هم شبکه کاری‌تان را گسترش دهید. حال سوال این است که چطور می‌توان فهرستی از شرکت‌های نرم‌افزاری معتبر پیدا کرد؟ من در اینجا ۱۰ روش برای پیدا کردن این طور شرکت‌ها را فهرست کرده‌ام. این فهرست دو مشکل کوچولو دارد. اول این که مرتب کردن این فهرست بر اساس اهمیت کار سختی است و دوم این که با این طور روش‌ها نمی‌توان شرکت‌های تازه تاسیس و شرکت‌های خیلی کوچک و ناشناس را پیدا کرد. فهرست روش‌ها:

۱- مراجعه به سایت شورای عالی انفورماتیک: این شورا زیر نظر معاونت برنامه‌ریزی و نظارت راهبردی (سازمان مدیریت و برنامه‌ریزی قدیم) اداره می‌شود و مسئول رتبه‌بندی شرکت‌های کامپیوتری برای شرکت در مناقصات کامپیوتری ادارات دولتی می‌باشد. هر چند همیشه موفق‌ترین شرکت از دید اقتصادی بهترین شرکت برای کار کردن نیست ولی به هر صورت رتبه بالاتر از شورای عالی انفورماتیک نشان‌گر تیم بزرگ‌تر و سابقه بیشتر است. فهرست شورای عالی انفورماتیک یکی از مهم‌ترین و معتبرترین فهرست‌های شرکت‌های کامپیوتری فعال در ایران می‌باشد.

۲- مراجع به سایت دیگر شوراها، انجمن‌ها و نهادهای کامپیوتری مثل سازمان نظام صنفی رایانه‌ای، مرکز تحقیقات صنایع انفورماتیک، شرکت تحقیق و توسعه صادرات نرم‌افزار (ثنارای)، اتحادیه صادر کنندگان نرم‌افزار و…

۳- استفاده از شبکه دوستان واقعی و مجازی چه در facebook و google reader و چه در سایت‌های ایرانی مثل idevcenter.com. هر کدام از این دوستان با چند شرکت آشنایی دارند و می‌توانند راهنمای خوبی برای بقیه باشند.

۴- حضور در نمایشگاه‌ها و همایش‌های مرتبط و نسبتاً مرتبط مثل نمایشگاه الکامپ و نمایشگاه‌های جنبی بعضی همایش‌ها. مثلاً در همایش‌هایی که راجع به صنعت و یا مدیریت صنعتی و کیفی برگزار می‌شود حتماً می‌توان ردی از شرکت‌های مدعی در تولید سیستم‌های ERP را پیدا کرد.

۵- بررسی مداوم آگهی‌های استخدام که در روزنامه‌ها و بعضی سایت‌ها منتشر می‌شوند. بیشتر سایت‌های درست و حسابی مکانیزمی برای اشتراک در اخبار آگهی استخدام دارند.

۶- مراجعه به سازمان‌ها و ادارات خیلی بزرگ مثل بانک‌ها، شهرداری‌ها، گمرک و… و مشاهده شرکتی که کارهای‌شان را انجام می‌دهد. معمولاً این طور سازمان‌ها یک شرکت وابسته برای انجام کار‌های نرم‌افزاری‌شان تاسیس کرده‌اند. مثلاً شرکت کاسپین و فناپ به ترتیب برای بانک‌های پارسیان و پاسارگارد و شرکت تامین خدمات ماشینی سازمان بیمه تامین اجتماعی از این دست شرکت‌ها محسوب می‌شوند.

۷- مراجعه به سازمان‌هایی که پروژه خاصی انجام می‌دهند و دیدن فهرست پیمانکاران یا همکاران آنها. مثلاً مراجعه به سایت پروژه لینوکس ملی و مشاهده فهرست شرکت‌هایی که در حوزه لینوکس فعال هستند یا مراجعه به شرکت همراه اول برای مشاهده فهرست شرکت‌هایی که در زمینه خدمات SMS، امنیت موبایل و ارزش افزوده فعال هستند.

۸- پرس و جو از واحد کامپیوتر اداره‌ای که هم اکنون شرکت شما پیمانکار آنها محسوب می‌گردد. اگر اداره مورد نظر اداره بزرگی باشد مسلماً غیر از شرکت شما با شرکت‌های دیگری هم طرف قرارداد است. از آنجا که کارمندان آن اداره با نیروهای آن شرکت‌ها در تماس مستقیم هستند اولاً می‌توانید سطح کاری شرکت موصوف را با دقت نسبتاً خوبی بررسی کنید و از طرف دیگر این آشنایی غیر مستقیم می‌تواند لینک خوبی برای برقراری ارتباط با آن شرکت باشد.

۹- جستجو در گوگل و ایجاد google alert برای کلمات کلیدی و نام نرم‌افزارهای مختلف مثل نرم‌افزار دبیرخانه، نرم افزار دبیرخانه و ECE، سازمان الکترونیک، استخدام برنامه‌نویس، حسابداری تحت وب و…

۱۰- کتاب اول و کتاب باماک: درست است که از این دو کتاب نمی‌شود اعتبار و بزرگی شرکت‌ها تشخیص داد ولی اقلاً  می‌شود فهمید اسم کدام شرکت‌ها دارای تکرار بیشتری است.

خواندن این‌ها هم توصیه می‌شود:
* شوارها، انجمن‌ها و سازمان‌های کامپیوتری ایران
* پایگاه اطلاع رسانی نمایشگاه‌های ایران
* چند سایت کاریابی برای نرم‌افزاری‌ها: سایت itjobs، سایت IranTalent، سایت developercenter





2009/10/13

‫UML به زبان خیلی خیلی ساده

همیشه در فرایند توسعه یک نرم‌افزار (تحلیل، طراحی، پیاده‌سازی، استقرار و…) نیاز است که تفکرات و برداشت‌های خود را به نحوی بیان کرده تا هم برای آینده محفوظ داریم و هم برای تفهیم نظر خود به همکاران، کارفرما، مدیر و بقیه افراد مورد استفاده قرار دهیم. همه افرادی که در توسعه یک نرم‌افزار سهیم هستند حتماً به نحوی از یک یا چند روش مستندسازی استفاده می‌کنند. مثلاً بعضی‌ها شرح کارکرد سیستم را بر روی کاغذ می‌نویسند، بعضی‌ها هر واحد از سیستم را به شکل یک خانه روی کاغذ ترسیم می‌‌کنند، بعضی‌ها جداول دیتابیس مورد نیاز را روی کاغذ کشیده و آنهایی را که با هم ربط دارند را به هم متصل می‌کنند، بعضی‌ها روش انجام یک عملیات را به صورت یک الگوریتم چند خطی یا یک فلوچارت نمایش می‌دهند و قس علیهذا. حال فرض کنید در یک تیم بزرگ هر کسی از روش خودش استفاده می‌کند، آن وقت چه مشکلی پیش می‌آید؟ بله چون روش‌ها یکی نیست هیچ کس نمی‌تواند حرف دیگری را به خوبی متوجه شود. چندین سال پیش چند آدم خیلی باهوش که خیلی زودتر از ما با این مشکل برخورد کرده بودند سعی کردند این روش‌ها را با توجه به خصوصیات دنیای جدیدالظهور Object Oriented استاندارد و یک شکل کنند. آنها فرایند ترسیم این نمودارها را مدلسازی و نام مجموعه روش‌های استاندارد شده خود را UML به معنای «زبان مدل‌سازی متحدالشکل» گذاشتند.

UML شامل تعداد زیادی نمودار است که بعضی از آنها رواج بیشتری دارند و بعضی‌ها کمتر. من از میان نمودارهای مختلف آنهایی را که برای خودم به عنوان یک برنامه‌نویس ساکن ایران که بیشتر روی سیستم‌های مالی-اداری کار می‌کند اهمیت و کاربرد بیشتری داشته‌اند را انتخاب کرده و سعی کرده‌ام هر کدام از آنها را در چند گام کوچک توضیح دهم. برای دیدن هر کدام از راهنماها روی نام هر کدام از نمودارها کلیک کنید. مبنای همه این نوشته‌ها کتاب معروف UML Distilled نوشته مارتین فولر بوده است.

۱- Use Case Diagram: برای تشریح عملکرد سیستم به کار می‌رود و اولین موردی است که باید برای هر سیستم استخراج شود.
۲- Class Diagram: پرکاربردترین و به زعم بعضی‌ها تنها نمودار کاربردی UML است. از این نمودار برای نمایش ساختار اطلاعاتی و به عنوان جایگزینی برای ERD استفاده می‌شود.
۳- Sequence Diagram: با کمک آن می‌توان کلاس‌ها و متودهای مورد نیاز برای انجام هر کدام از Use Caseها را استخراج کرد.
۴- Activity Diagram: جزییات انجام یک عملیات را نشان می‌دهد و خیلی مشابه Flowchartهای قدیم است.
۵- State Machine Diagram: برای بیان حالات مختلفی که یک Object در آن قرار می‌گیرد به کار می‌رود و بسیار کم کاربرد است.

پی‌نوشت:
۱- راهنمای مربوط به Class Diagram هنوز نوشته نشده است.
۲- خواندن نوشته «آیا هنوز یادگیری UML کار با ارزشی است؟» توصیه می‌شود.
۳- خواندن این یکی هم توصیه می‌شود: UML عملی به طور خلاصه





2009/10/12

‫Activity Diagram در ۵ گام!

۱- Activity Diagram تقریباً همان Flowchart قدیم است به علاوه امکان بیان فعالیت‌های موازی.
۲- برای یادگیری قوانین ترسیم Activity Diagram شکل زیر را مشاهده فرمایید. در این شکل برای بیان دو کار که موازی انجام می‌شوند از fork استفاده می‌شود. join هم برای وقتی استفاده می‌شود که انجام همه فعالیت‌های موازی به پایان رسیده و قرار است از آنجا به بعد دوباره همه چیز با هم شروع شود.
۳- از عبارت merge برای وقتی استفاده می‌شود که قرار است خروجی چند فعالیت با هم به آنجا برسد. تفاوت merge با join در این است که در merge با فرا رسیدن هر کدام از فعالیت‌ها ادامه روال پیگیری می‌شود ولی در join بایستی تک تک فعالیت‌ها انجام شده و به نقطه join رسیده باشند تا روال فعالیت‌ها ادامه داده شود.
۴- با استفاده از مفهوم partition می‌توان هر activity diagram را از نظر بصری به چند قسمت تقسیم کرد و نشان داد که هر کدام از فعالیت‌ها در کدام واحد یا کلاس انجام می‌شوند.
۵- مفاهیم دیگری مثل signal، pin، transformation و expansion regions وجود دارند که در Activity Diagramهایی که ما معمولا استفاده می‌کنیم کاربردی ندارند.



منبع: فصل ۱۱ کتاب UML Distilled مارتین فولر







2009/10/11

‫State Machine Diagram در ۳ گام

۱- State Diagram خیلی خیلی کم کاربرد است. به طوری که در یک سیستم جامع مالی اداری فقط ممکن است یک یا دو مورد وجود داشته باشد که بتوان برای آن State Diagram در آورد.
۲- قوانین رسم State Diagram آنقدر ساده است که در شکل زیر خلاصه می‌شود:




۳- دو مفهوم Super State و Conurrent State هم بعضی اوقات کاربرد دارد




2009/10/05

موضوعات نرم‌افزاری که وقت نکردم روی آنها کار کنم

این‌ها فهرستی از موضوعاتی هستند که روزی می‌خواستم درباره آنها بنویسم یا این که درباره‌شان مطالعه کنم. اما چون ممکن است هیچ وقت فرصت این کار را پیدا نکنم آنها را در اینجا می‌گذارم تا هم خودم یادم نرود روی چه چیزی می‌خواستم کار کنم و هم شاید بقیه علاقه‌مند به آنها شدند و چیزی راجع به آنها نوشتند. دقت کنید که عناوین و خصوصاً لینک‌ها خام و بررسی نشده هستند.

۱- مشکلات وب‌سایت‌ها و Mail Serverها با Certificate: لینک ۱، لینک ۲، لینک ۳، لینک ۴، لینک ۵
۲- نام گذاری صحیح فیلدها و متغیرها: استفاده از اسامی درست انگلیسی برای مفاهیم مالی و اداری مثل استهلاک و...
۳- googlegroup چیست و از چه پروتکلی استفاده می‌کند؟ آیا این اطلاعات در جای دیگری هم نگهداری می‌شوند یا خیر؟
۴- کار با ابزارهای فوروم مثل vBultein و CommunityServer و googlegroup و یادگیری آنها
۵- حالت recent mode در جی‌میل و ظرایف آن: اگر خواسته باشید در دات‌نت از یک حساب gmail برای ارسال/دریافت ایمیل استفاده کرده باشید حتما درگیر این ظرایف شده‌اید.
۶- معرفی Iranzilla که در Thundebird برای شمسی کردن تاریخ استفاده می‌شود.
۷- مشکلات زبان فارسی در Reporting Services:
استفاده از تگ برای نمایش اعداد به صورت فارسی، اعداد فارسی عربی،
چند زبانه کردن گزارشات rdlc، RS و چند زبانگی (لینک ۱، لینک ۲Native Mode و SharePoint Model در نصب RS، Localizing Reports، locale for RS،
ضمیمه شماره ۹ یونیکد، FriBiDi پیاده سازی ضمیمه شماره ۹ یونیکد،
توضیح propertyها
۸- از بین بردن صفحه کلید فارسی ویندوز برای همیشه: بعد از نصب صفحه کلید استاندارد ۹۱۴۷ صفحه کلید قبلی همچنان ماندگار است و کاربران جدید مجبور هستند به طور پیش فرض با آن کار کنند و این برای ما خیلی خیلی بد است…
۹- لینک‌هایی که موقع کار روی مشکلات زبان فارسی پیدا کردم: تاریخچه شرکت فارسی وب، صفحه کلید فارسی شرکت فناوری اطلاعات!!، اشتباه عمده در يونی کد يا اشتباه در پياده سازی مايکروسافت؟، روزبه پورنادر،بهنام پورنادر (لینک ۱، لینک ۲گزارش اقدامات دبیرخانه شورای عالی انفورماتیك درباره استاندارد زبان فارسی در محیط های رایانه ای، صفحه کلید فارسی برای ویندوز به پیشنهاد «بهرام شهر» (لینک ۱، لینک ۲)
۱۰- تاریخچه فایل kbdfa.dll که هنوز هم که هنوزه خیلی‌های برای فارسی کردن ویندوزشان از آن استفاده می‌کنند: لینک ۱، لینک ۲، لینک ۳

۱۱- Regional Settings ویندوز، دشمن زبان فارسی! باعث می‌شود اعداد به طور واقعی انگلیسی باشند ولی فارسی نشان داده شوند! یعنی به جای استفاده از یونیکد از یک روش غیر استاندارد استفاده شده است. همچنین به کاراکترهای غیر یونیکد و کدپیج عربی ۱۲۵۶ اجازه زنده بودن می‌دهد!

۱۲- تحقیقی راجع به صفحه کلیدهای رایج فارسی
۱۳- ساخت یک IME برای ویندوز ایکس پی و ویستا، البته با وجود صفحه کلید ۹۱۴۷ دیگر نیازی به این کار نیست.
۱۴- ارائه راهکار برای رسیدن به جهانی عاری از «ي» عربی!
۱۵- جستجوی هم ارز در گوگل، نگاه یکسان گوگل به انواع «ی» و یا به انواع «ک»
۱۶- رعایت دیدگاه پوکایوکه در نرم‌افزارهای ایرانی، لینک

۱۷- رعایت 5S در شرکت‌های نرم‌افزاری، «فایو اس» یکی از اصول با ارزش مهندسین صنایع در اداره کارخانه‌هاست.
۱۸- کنفرانس‌های کامپیوتری - مدیریت خدمات فناوری اطلاعات، انجمن انفورماتیک ایران، سمینارهای شبکه علمی، شبکه علمی غرب آسیا، دولت الکترونیک و ارتقا نظام اداری

۱۹- تست ۱۲ گانه جوئل و شرکت‌های نرم افزاری ایرانی




2009/10/03

‫یادگیری ASP.NET AJAX

اولین منبعی که برای یادگیری ASP.NET AJAX پیدا کردم بخش آموزش سایت asp.net بود. ASP.NET AJAX کتابخانه‌ای است که مایکروسافت برای آژاکسی کردن صفحات ASP.NET ارائه داده است. این کتابخانه از روش غیر مستقیم برای آژاکسی کردن صفحات استفاده می‌کند و از این لحاظ درست در نقطه مقابل jQuery قرار می‌گیرد. برای مقایسه این دو راه حل به اینجا مراجعه فرمایید.
قسمت هسته مرکزی (AJAX) این آموزش به ۶ بخش تقسیم شده است. من فکر می‌کردم با خواندن این ۶ بخش چیزهای زیادی از آژاکس مایکروسافت دستگیرم می‌شود. اما با خواندن آنها فهمیدم که این مطالب بیشتر به حالت «مرجع» هستند تا «آموزشی» خصوصاً برای کسی مثل من که نمی‌خواهد (و اجازه ندارد) وارد جزییات پروتکل HTTP و جاوا اسکریپت شود. علاوه بر این آن تصوری که من از آژاکس دارم بیشتر با بخش AjaxControlToolkit هم‌خوانی دارد تا این قسمت. به هر حال خلاصه‌ای از این ۶ بخش عبارت است از:


بخش ۱: آشنایی با ساختار کلی ASP.NET AJAX، شامل روش استفاده از ScriptManager و UpdatePanel.
بخش ۲: Trigger، وجود هم زمان چند UpdatePanel در یک صفحه
بخش ۳: روش‌های دسترسی به سرویس‌های ASP.NET Authentication و ASP.NET Profiling از سمت client.
بخش ۴: مباحث Localization، من در اینجا چیز جالبی که به درد زبان فارسی و سیستم ایرانی بخورد پیدا نکردم.
بخش ۵: مفیدترین بخش، کار با Web Serviceها و استفاده آنها در Client، تبدیل خروجی XML به JSON، روش استفاده از PageMethod و AutoCompleteExtender. این بخش از همه مفیدتر است. چون انعطاف‌پذیری خیلی خوبی به برنامه‌نویس می‌دهد. علاوه بر این هر آنچه که در این بخش یاد گرفته شود به خوبی در روش آژاکس با jQuery هم کاربرد دارد.
بخش ۶: معرفی چندین روش برای اشکال زدایی (Debug) برنامه‌های آژاکسی شامل بر افزونه Firebug در فایرفاکس و توابع موجود در دامنه Sys.Debug


این ۶ بخش را تا اندازه‌ای می‌توان پایه آژاکس دانست چون کاربرد آژاکس برای عموم افراد در مجموعه کنترل‌های AjaxControlToolkit خیلی قابل لمس‌تر است. تعداد این کنترل‌ها خیلی زیاد است به طوری که بخش آموزشی مرتبط با این کنترل‌ها شامل ۵۲ بخش می‌شود! در هر حال آن طور که افراد خیلی مختلفی بیان داشته‌اند یادگیری بخش پایه آژاکس ارزش وقت گذاشتن دارد چون حتی اگر بخواهید آژاکس را با jQuery پیاده‌سازی کنید باز هم در سمت سرور به تسهیلاتی برای کار با سرویس‌های ASP.NET، دیتابیس و Web Serviceها نیاز دارید.

نوشته تکمیلی: ‫‫آیا واقعاً بهتر است به جای ASP.NET AJAX از jQuery استفاده کنیم؟