PDA

نسخه کامل مشاهده نسخه کامل : خودتان RSS Feed Reader بسازيد - نگاهي به فناوري RSS و ارزيابي آن‌



B O L O T
05-06-2007, 11:06
RSS چيست ؟
‌ ‌طبق تعريف ويكي‌پديا، RSS يكي از فرمت‌هاي معروف web feed است. Web feed يكي از فرمت‌هاي اطلاعاتي است كه براي بروزآوري اطلاعات در صفحات وب از آن استفاده مي‌شود .اصطلاح RSS مي‌تواند سرنام سه استاندارد وب باشد: Really Simple Syndication ،RDF Site Summary يا ‌RSS .Rich Site Summary نسخه اول
(0.09) توسط NetScape براي اولين بار در سال 1999 معرفي گرديد. يك سال بعد، يعني در سال 2000 شركتUserLand نسخه 0.91 را در تكميل نسخه اوليه ارائه داد. در همان سال نسخه 0.1 نيز تحت نام RDF Site Summary توسط شركت نشر O'Reilly به بازار آمد‌ ‌ و در سال 2003-2002 نسخه تكميل تر آن توسط Dave Winer در دانشگاه هاروارد تهيه و به بازار عرضه گرديد.

فرمت اصلي RSS مانند فايل‌هاي XML است و اطلاعاتش را در قالب اين فايل‌ها كه اصطلاحاً RSS Stream يا RSS FEED نام دارد، منتشر مي‌كند. ممكن است اين سؤال پيش آيد كه Web Feedها چگونه كار مي‌كنند؟ در واقع ناشران و تهيه‌كنندگان مطالب يا اخبار يك feed link را روي سايت خود قرار مي‌دهند. كاربر سايت مي‌تواند برنامه مناسب مانند Feed Reader يا News Reader را روي دستگاه خود قرار دهد. اين برنامه‌ها سپس در سرورهاي معرفي شده به آن‌ها به صورت مدام جست‌وجو مي‌كنند و اگر مطلب تازه‌اي در اين سايت‌ها وجود داشت، آن‌ها را براي كاربران نمايش مي‌دهند كه اغلب در قالب صفحات HTML است.

استفاده از مطالب به فرمت RSS اصلاً مشكل نيست. تنها ابزاري كه نياز داريد، يك Feed Reader است. اين ابزار مانند برنامه آوت‌لوك كه ايميل‌هاي واردشده به صندوق ايميل را هر چند لحظه چك مي‌كند و به كاربر اطلاع مي‌دهد، موضوعات و محتويات جديد سايت‌هاي معرفي شده به خود را چك مي‌كند و آن‌ها را به كاربر نشان مي‌دهد. اين ابزار در مرورگرهايي مانند فايرفاكس و IE7 نيز وجود دارد كه مي‌توانيد از آن استفاده كنيد. البته در پايان اين مقاله مثالي از ساختن يك RSS Feed reader آورده شده است كه مي‌توانيد قدم به قدم اين ابزار را با سليقه خودتان بسازيد.

B O L O T
05-06-2007, 11:07
روش كار RSS و اجزاي آن
اساس كار RSS بسيار آسان است. وب‌سايتي مانند وب‌سايت ماهنامه شبكه را تصور كنيد كه خبرها يا مقالاتش توسط سايت‌هاي ديگر منتشر مي‌شود. اين وب‌سايت صفحات خود را در قالب RSS ارائه مي‌دهد. اين فايل‌هاي اطلاعاتي در قالب فرمت XML هستند و خلاصه‌اي از خبر، موضوع خبر و آدرس صفحه، URL را در بردارند. كاربر وب سايت با استفاده از RSS Reader كه در كامپيوتر خود دارد (يا به صورت آنلاين)، اين Feed را به فهرست سايت‌هاي قبلي موجود در برنامه اضافه مي‌نمايد.

اگر سايت ديگري نيز بخواهد اين Feed را نمايش دهد، مي‌تواند فايل‌هاي داده شده از طرف سايت مذكور را لود كند و با كمك زبان‌هاي اسكريپتي مانند PHP، متن‌هاي مربوطه را نمايش دهد. وقتي كاربر از سايت حاوي RSS بازديد مي‌كند، اسكريپت‌هاي مربوطه لود مي‌شود و فايل RSS از سايت تأمين كننده اطلاعات يا Provider دريافت مي‌شود و اطلاعات مربوطه به آن نمايش داده مي‌شود.

همان‌طور كه توضيح داده شد، براي استفاده بازديدكنندگان از RSS دو راه اصلي وجود دارد: اولين راه، استفاده ازRSS روي دسكتاپ است. براي اين كار ابتدا بايد نرم افزار RSS Reader كه با سيستم‌عامل دستگاه همخواني دارد را نصب كرد. سپس با توجه به كارايي‌هاي نرم‌افزار Feed مربوطه را به فهرست Feed‌ها اضافه نمود. راه ديگري كه مي‌توان از Feedها استفاده نمود، از طريق Web site است. در اين روش RSS Feedها به صورت فهرست مشخص شده‌اند و كاربران مي‌توانند با كليك روي سرفصل اين Feedها متن خبر را مشاهده نمايند.

اگر مي‌خواهيد در سايت خود اخبار را به صورت RSS Feed منتشر كنيد، كافي است از توابع كتابخانه‌اي موجود در زبان‌هاي برنامه‌نويسي‌اسكريپتي مانند PHP استفاده كنيد. اين اسكريپت‌ها از متن خبر و سرفصل آن فايل XMLمي‌سازد و مي تواند اطلاعات صفحه را استخراج كند. براي دسترسي به اين فايل مي‌توانيد از لينكي شبيه لينك زير استفاده كنيد:



<a type="application/rss+xml" href="myfeed.rss">RSS feed</a>


حال با طرح مثال‌هايي از فايل RSS Feed سايت ماهنامه شبكه ساختار يك فايل RSS را شرح مي دهيم.
تگ‌هاي اصلي اين فايل‌ها دو تگ rss و channel هستند. تگ rss براي معرفي فرمت فايل است و تگ channel براي پخش كردن و distribute به‌ كار گرفته مي‌شود. اين تگ حاوي زيرتگ‌هاي متعدد و آيتم‌هاي گوناگون است.

ساختاركلي فايل‌هاي RSS بدين شكل است:

<"rss Version="2.0>
<channel>
<channel/>
<rss/>


تگ‌هاي لازم براي channel چهار تگ است: تگ title موضوع كانال را در خود جا مي‌دهد، تگ link آدرس وب‌سايتي كه كانال را تهيه كرده است در خود جا مي‌دهد، تگ description توضيحي مختصر در مورد كانال مي‌دهد، و تگ itemمحتواي خبر يا مطلب را در بردارد. فايل زير نمونه حقيقي از فايل RSS است كه در سايت ماهنامه قرار دارد.

- <rss version="2.0>
- <channel>
<title>Shabakeh Magazine></title>
</link><link>[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]>
<description/>description>This is the syndication feed for Shabakeh Magazine>
- <item>
<title>مقاله/ title/>Microsoft Student with Encarta Premium 2007>
<description> شركت مايكروسافت كه در همه زمينه‌ها نفوذ كرده است،
بازاري بسيار بزرگ و سودآور را هدف قرار داده است؛ يعني
دانش آموزان كه براي اتمام تحصيلات خود حاضر به صرف هزينه هستند. </description>
</link>[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]>
<author> ژان بقوسيان <author>
<pubDate/>pubDate<Wed, 01 Nov 2006 06:26:45 GMT>
<item/>
<channel/>
<rss/>


‌همان‌طور كه در كدهاي اين صفحه مشاهده مي‌كنيد و حتماً تا اينجا حدس زده‌ايد، ‌XML قلب Rssfeed است و تماما از اين فناوري استفاده مي‌كند و شما مي‌توانيد به صورت دستي نيز از سايت خود RSS feed بسازيد. فقط كافي است يك متن XML ايجاد كنيد و استانداردها و تگ‌هاي RSS را در آن بگنجانيد.

البته درست كردن فايل‌هاي RSS Feed به صورت دستي كاري سخت است؛ از آن جهت كه هر بار محتويات سايت شما عوض شد، بايد محتويات اين فايل را نيز عوض كنيد. اگر سايتي داشته باشيد كه محتوياتش را از پايگاه داده‌ها برداشت مي‌كند، مي‌توانيد ابزاري درست كنيد كه به صورت خودكار اين كار را براي شما انجام دهد.
حال كه با فناوري RSS كمي آشنا شديم، شايد اين سؤال به ذهنمان بيايد كه آيا واقعاً به اين فناوري نياز داريم؟ در جواب اين سؤال دو بخش بعدي از اين مقاله مزايا و سپس معايب اين فناوري را بررسي مي‌كنند

B O L O T
05-06-2007, 11:08
مزاياي RSS
‌●‌‌ طبق آخرين تحقيقات به‌عمل آمده، نزديك 70 تا 75 درصد از ايميل‌هايي كه روزانه منتقل مي‌شوند، اسپم هستند. ممكن است صندوق ايميل‌هاي خود را طوري تنظيم كرده باشيد كه ايميل‌هايي كه در فهرست آدرس‌هاي شما قرار ندارند را مسدود كند. با استفاده از RSS مي‌توانيد از اسپم‌ها در امان بمانيد؛ زيرا با استفاده از اين فناوري امكان انتخاب منبع دريافت اطلاعات را خواهيد داشت.

●تصور كنيد كه مي خواهيد براي ارسال مطالب جديد سايت خود از newsletter استفاده كنيد. براي اين‌كار ابتدا بايد فهرستي از ايميل هايي كه بايد اين newsletter به آن‌ها ارسال شود، آماده كنيد و مطمئن شويد تمام افرادي كه مي‌خواهيد، مطالب شما را دريافت مي‌كنند. البته بروزآوري اين فهرست كار آساني نيست و زمان‌ مي‌برد. با استفاده از RSS اين مشكل را نخواهيد داشت و زمان كمتري براي اين كار تلف خواهيد كرد.

●با استفاده از RSS سايت‌هاي تجاري مي‌توانند رابطه خود را با مشتريان خود حفظ كنند و بازديدكننده‌هاي قديمي مي‌توانند همچنان با تازه‌هاي سايت آشنا شوند.

●با استفاده از RSS ترافيك وب كمتر خواهد شد.

B O L O T
05-06-2007, 11:08
معايب RSS
فناوري RSS بسيار سريع به سايت‌ها نفوذ كرده است و شايد بتوان گفت خيلي از سايت‌هاي خبري و حتي تجاري از آن استفاده مي‌كنند، اما نمي‌توان گفت كه اين فناوري هيچ مشكلي ندارد. در ادامه برخي از مشكلات اين فناوري ذكر شده است.

●فناوري ‌RSS از نظر امنيتي ضعيف است. مثلاً تصور كنيد يك سايت خبري براي عضويت و دريافت RSS Feed فايل مي‌خواهد مبلغي از بازديدكنندگان بگيرد. آيا اين كار در RSS پيش‌بيني شده است؟

و آيا كاربران مي‌توانند با استفاده از نام كاربري و رمز ورود، به RSS دسترسي داشته باشند؟ البته ناگفته نماند كه برخي از RSS readerها اين قابليت را دارند كه كاربر با رمز ورود به آن‌ها دسترسي داشته باشد، ولي باز اين كار در RSS امن نيست؛ زيرا رمز ورود به صورت متني ارسال مي‌گردد و encrypt نمي‌شود.

به تازگي تعدادي از شركت‌ها با استفاده از [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] در صدد امن كردن RSS برآمده‌اند. با اين حال حتي در صورت استفاده از اين فناوري نيز نمي‌توان اطمينان داشت كه كاربراني كه از اين طريق به فايل RSS Feed دسترسي دارند، اين فايل‌ها را به اشتراك نگذارند!

●RSS Feedها فاقد حافظه هستند. بدين معني كه اگر شما بخواهيد مثلاً خبرهاي هفته پيش را از RSS Feed يك سايت خبري مشاهده كنيد، مي‌بينيد كه فقط 20 تا 25 خبر آخر قابل دسترسي است.

●خواندن و پيدا كردن فايل‌هاي RSS دشوار است. بدين معني كه براي اين‌كه از اين فناوري استفاده كنيم، مدتي بايد به دنبال محل فايل feed بگرديم. حتي اگر اين فايل‌ها در صفحات اصلي سايت‌ها باشند، اغلب به صورت اشتباه با نشانه XML مشخص شده است نه RSS.

●فناوري RSS پهناي باند اينترنت را هدر مي‌دهد. تصور كنيد كه شما در يك سايت مشترك مي‌شويد كه FEEDها را از آن سايت برداشت كنيد. RSS Reader شما اين فايل را هر نيم ساعت چك مي‌كند و اگر تنها يك تغيير كوچك در محتواي يكي از آيتم‌هاي آن فايل به ‌وجود آيد، Reader شما تمام Feed را دانلود مي‌كند و اين ممكن است در خطوط كم سرعت دسترسي به اينترنت باعث كندي عملكرد سيستم گردد.

●محتواي فايل‌هاي RSS خشك و بدون رنگ و لعاب است. تنها داري متن است و هيچ‌گونه فرمت يا عكسي ندارد.

●نظم خاصي در نسخه‌هاي RSS وجود ندارد و هر نسخه‌اي استانداردي جديد دارد. از نسخه 9.0 تا نسخه 0.3 هر كدام توسط گروه‌هاي مختلف اداره مي‌شوند و RSS Readerها بايد تمام نسخه‌هاي RSS را پشتيباني كنند.

B O L O T
05-06-2007, 11:10
حال به قسمت كدهاي صفحه‌ ‌برويد و در قسمت بالاي صفحه كد دو خط زير را وارد كنيد. اين دو دستور توابع كتابخانه‌اي اطلاعات و شبكه را در برنامه فعال مي‌كند.

;using System.Data
;using System.Net

سپس به قسمت Page Load در برنامه برويد و يك تابع خصوصي ايجاد كنيد كه اطلاعات را از RSS بگيرد و به DataSet بدهد.

URL مربوط به RSS Feed به صورت آرگومان به Function داده مي‌شود و شي [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] را توليد مي‌كند.

در قسمت بعدي اين برنامه متد ReadXml به صورت خودكار آيتم‌هاي درون فايل RSS را شناسايي مي‌كند و آيتم‌هاي اين فايل را در آرايه‌اي از نوع object قرار مي‌دهد و در آخر نيز Repeater كه در واقع نمايشگر اطلاعات است، با ديتا ست حاوي اطلاعات RSS پرمي‌گردد.

براي نمايش اجزاي متن بايد در Repeater ازHeaderTemplate و ItemrTemlate استفاده شود.

پس از كامپايل كردن فايل‌هاي برنامه و اجراي آن، مشاهده مي‌كنيد كه صفحه وب جديدي باز خواهد شد اين صفحه در حقيقت RSS reader شما است كه به آساني آن را ساختيد.

my friend
06-06-2007, 12:35
دستت درد نکنه اویل جون.
کار من رو راحت کردی!

B O L O T
06-06-2007, 13:44
خواهش میکنم

ehsan310
06-06-2007, 20:25
خیلی عالی بود واقعا ممنون

meysam-OK
07-06-2007, 10:54
واقعا حالي دادي اويل

mamadfelfel1988
20-07-2007, 05:25
baba jigareto kheili damet garm