تبلیغات
دانلود جزوه ، نرم افزار و مقالات مهندسی (برق قدرت ، کامپیوتر ، الکترونیک) - مقدمه ای بر نرم افزارهای مبتنی بر وب و ویژگیهای آنها
دانلود جزوه ، نرم افزار و مقالات مهندسی (برق قدرت ، کامپیوتر ، الکترونیک)

لینکدونی

آرشیو

لینکستان

صفحات جانبی

← آمار وبلاگ

  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :

مقدمه ای بر نرم افزارهای مبتنی بر وب و ویژگیهای آنها

چكیده
 امروزه اثرات و كاربردهای زیاد سیستمهای مبتنی بر وب نقش بسیار مؤثری در زندگی روزمره انسانها بازی می كند و پیشرفتهای هر روزه تكنولوژی و وب نقش آنها را در زندگی پر رنگ تر  می كند.به لطف پیشرفت تكنولوژی و علم كامپیوتر و تکنلولوژی اطلاعات ، هر روز شاهد افزایش وب سایتهایی هستیم كه سرویسهای مختلفی را برای كاربران خود فراهم می كنند و امكانات بسیاری را در اختیار آنها قرار می دهند. لذا بر آن شدیم تا مشخص كنیم منظور از نرم افزارهای مبتنی بر وب چیست. تفاوتهایی كه مابین نرم افزارهای مبتنی بر وب و نرم افزارهای دیگر وجود دارد باعث شده است مباحث مهندسی و تكنولوژی های جدیدی معرفی و ایجاد شوند. در این نوشتار، نرم افزارهای مبتنی بر وب و ویژگیهای خاص آنها كه باعث متمایز شدن آنها از دیگر گروه های نرم افزار می شوند بیان شده است.

كلیدواژه‌ها: وب، نرم‌افزار تحت وب، web , web software , web application , website, web software attribute


 مقدمه
 در روزهای نه چندان دور، وب سایتها چیزی بیش از مجموعه ای از لینكها و فایلهای متنی با گرافیك محدود نبودند.با گذر زمان اچ. تی. ام. ال.(HTML: HyperText Markup Language)  با ابزارهای توسعه و زبانهای برنامه سازی دیگری نظیر ایكس. ام. ال. (XML:Extensible Markup Language) و JAVA ادغام شد و باعث شد كه عملیات محاسباتی نیز روی اطلاعات امكان پذیر شود. با ادغام سیستمهای مبتنی بر وب و نرم‌افزارهای كاربردی،نرم افزارهای مبتنی بر وب(WebApplications :WebAPP) متولد شد. امروز "نرم افزارهای مبتنی بر وب" شامل ابزارهای محاسباتی قدرتمندی هستند كه علاوه بر اینكه می توانند به صورت توابع مستقل عمل كنند، قابلیت ادغام با پایگاه داده ها و نرم‌افزارهای كاربردی تجاری را نیز به خوبی دارا می باشند. در حقیقت امروزه "نرم افزارهای مبتنی بر وب" می توانند از یک صفحه وب ساده تا وب سایتهای بسیار پیچیده كه تمامی اطلاعات قابل نمایش خود را توسط واكشی اطلاعات از پایگاه داده های مختلف و اعمال محاسباتی بر روی آنها تهیه می كنند[1] ، تشكیل شده باشند که هر كدام از اطلاعات و پردازش های روی آنها می توانند جایی در اینترنت ،اینترانت و اكسترانت در گوشه ای از دنیا قرار گرفته باشد.
 
تفاوت نرم افزارهای تحت وب با دیگر نرم افزارها
 نرم افزارهای تحت وب خصوصیات خاصی دارند كه آنها را از بقیه نرم افزارها متمایز می كند . به تعدادی از این خصوصیات در ذیل اشاره می كنیم :

Network intensiveness: " نرم افزارهای مبتنی بر وب" بر روی یك ساختار شبكه ای قرار می گیرند و باید به احتیاجات اجتماعات و دسته های مختلفی از مشتریان پاسخگو باشند.یك"نرم افزارهای مبتنی بر وب" ممكن است بر روی اینترنت قرار بگیرد و قابل دسترسی برای سازمان خاصی باشد و یا بر روی اكسترانت قرار گرفته و در اختیار شبكه ای خاص از كاربران قرار گیرد.


10000 كاربر و دوشنبه آینده 2000 كاربر.

(Hypermedia) برای نمایش متون، گرافیكها، اصوات و تصاویر می باشد. به عبارت دیگر عمده "نرم افزارهای مبتنی بر وب" از اطلاعاتی كه بر روی پایگاه داده های محلی و غیر محلی وجود دارند به صورت مشترك استفاده می كنند و محتوای خود را توسط این اطلاعات تهیه می كنند.

 
دسته بندی "نرم افزارهای مبتنی بر وب"
 "نرم افزارهای مبتنی بر وب" بر اساس عملیاتی كه انجام می دهند به گروههای مختلفی تقسیم می شوند. در ادامه به گروههایی كه بیشتر مورد استفاده قرار می گیرند اشاره می كنیم :


اتاقهای گفتگو (chatroom)،تابلو اعلانات(bulletin) و یا پیام فوری (instant messaging) توسط "نرم افزار مبتنی بر وب" فراهم می شود.


(Query) را روی پایگاه داده بزرگی اجرا كرده و اطلاعات مورد نیاز خود را استخراج می كنند.
البته خیلی از "نرم افزارهای مبتنی بر وب" از تركیب چند تایی این گروهها ایجاد می شوند و یك "نرم افزار مبتنی بر وب" می تواند جزء چندین دسته از این گروهها قرار بگیرد.
 
پیاده سازی نرم افزارهای مبتنی بر وب
 پیاده سازی "نرم افزارهای مبتنی بر وب" نیازمند مدل فرآیندی خاص، متدهای مهندسی نرم افزار كه منطبق با ویژگیهای "نرم افزارهای مبتنی بر وب" باشند و تكنولوژیهای خاصی كه امكانات ذكر شده را برای ما فراهم كند می باشد.تمامی موارد فوق در غالب مهندسی وب(Web Engineering) بروز می كند. مدل فرآیندی و متدهای مهندسی نرم افزار مختلفی برای توسعه یك "نرم افزار مبتنی بر وب" معرفی شده اند. از جمله آنان رهیافت Agile می باشد كه توضیح آن از حوصله این مقوله خارج است و علاقه مندان می توانند با مراجعه به منابع فراوان آن با این رهیافت آشنا شوند.
تكنولوژیهای مختلفی نیز برای پیاده سازی "نرم افزارهای مبتنی بر وب"ی گوناگون مطرح شده اند. از جمله ای این تكنولوژیها می توان به HTML،XHTML،XML،اسكریپت های سمت سرور همانند JSP ، ASP.Net ، PHP و اسکریپتهای سمت کلاینت همانند VbScript و JavaScript را نام برد. در مورد هرکدام از این اصطلاحات کتابهای زیادی نوشته شده است.برای ایجاد یک نرم افزار تحت وب باید حداقل با HTML برای قالب بندی محتوای وب سایت ، یک زبان و فناوری اسکریپتی سمت سرور برای انجام پردازشها و محاسبات سمت سرور ، یک زبان اسکریپتی سمت "سرویس گیرنده"، برای پردازش و محاسبات سمت "سرویس گیرنده"  و پایگاه داده آشنا بود.
 امروزه وجود این تكنولوژیها توانایی ایجاد "نرم افزارهای مبتنی بر وب" بسیار پیچیده را فراهم كرده است كه خدمات بسیاری را برای میلیونها انسان در سراسر جهان فراهم می كنند و هر روزه نیز به تعداد آنان افزوده می شود. با بررسی تحقیقات و فناوریهای ارائه شده در دهه اخیر در می یابیم که حرکت و سمت و سوی علم و کاربرد رایانه و فناوری اطلاعات به سمت نرم افزارهای تحت وب میباشد و نرم افزارهای دیگر کاربردهای خود را به وب میدهند . Unpredictable load: ممكن است تعداد كاربران یك "نرم افزارهای مبتنی بر وب"در روزهای مختلف متفاوت باشد و این مسئله به خوبی قابل پیش بینی نیست.به عنوان نمونه این دوشنبه سیستم 100 كاربر داشته،5 شنبه Availability : هیچوقت نمی توان 100 درصد مواقع در دسترس بود . با اینحال باید در نظر گرفت كه در هر زمان از 24 ساعت روز ممكن است كاربرانی از یك نقطه جهان بخواهند از سیستم استفاده كنند. به همین علت یك "نرم افزار مبتنی بر وب" باید 24 ساعت شبانه روز، هفت روز هفته و 365 روز سال در دسترس باشد. Data driven: عملكرد اصلی بسیاری از "نرم افزارهای مبتنی بر وب"استفاده از هایپرمدیا Content sensitive: یكی از معیارهای مهم كیفیت یك "نرم افزار مبتنی بر وب"،كیفیت و زیبایی محتوای آن می باشد. Continuous evolution: تكامل در "نرم افزارهای مبتنی بر وب" امری عادی به حساب می آید."نرم افزارهای مبتنی بر وب" همانند یك باغ مدام در حال تغییر و رشد می باشند و اطلاعات و محتوای آنها می توانند دائماً تغییر یابند. به همین علت نگهداری و مراقبت مداوم امری مهم و حیاتی محسوب می شود. Immediacy: منظور از فوریت، لزوم هر چه سریعتر در دسترس بودن سیستم در بازار می باشد. این خصوصیت مربوط به خیلی از سیستمها می باشد. ولی در مورد بسیاری از "نرم افزارهای مبتنی بر وب" زمان حضور در بازار چند روز و یا چند هفته است  و در مقایسه با دیگر نرم افزارها این زمان بسیار كوتاه است. برای همین باید از روشهایی برای ایجاد "نرم افزارهای مبتنی بر وب" استفاده کنیم که این ویژگی را پوشش دهند. البته توسط ابزاهایی که امروزه وجود دارند می توان یك "نرم افزار مبتنی بر وب" ساده را در چند ساعت آماده كرد . Security: همانگونه كه گفته شد "نرم افزارهای مبتنی بر وب" توسط یك ساختار شبكه ای می توانند در دسترس كاربران مختلف با مقاصد مختلف در هر سوی جهان باشند. بسیار دشوار و حتی غیر ممكن است كه جمعیت كاربرانی را كه به سیستم دسترسی دارند را محدود كرد. به همین علت به منظور محافظت از اطلاعات حساس و ایمن نمودن انتقال داده ها، از ساختارهای امنیتی قدرتمندتری نسبت به دیگر نرم افزارها باید استفاده كنیم. Aesthetics: یك جزء لاینفنك هر "نرم افزار مبتنی بر وب" زیبایی ظاهری آن می باشد. برای موفقیت یك "نرم افزار مبتنی بر وب" طراحی زیبایی ظاهری نقش بیشتری نسبت به طراحی تكنیكی دارد. همه ویژگیهای بالا به نحوی در "نرم افزارهای مبتنی بر وب" اثر گذارند. Database access: توسط این سیستمها كاربران كاوش‌هایی Data warehousing : توسط این "نرم افزارهای مبتنی بر وب" كاربران می توانند كورِیهایی را بر روی چند پایگاه داده بزرگ اجرا كنند و اطلاعاتی را از آنان استخراج كنند. Concurrency: ممكن است تعداد زیادی از كاربران در یك زمان به "نرم افزارهای مبتنی بر وب" دستیابی پیدا كنند.در اغلب موارد الگوی استفاده میان كاربران مختلف بسیار متفاوت است. Performance: در صورتیكه كاربر "نرم افزار مبتنی بر وب" انتظار زیادی برای دستیابی به پردازشهای سمت سرور و یا قالب بندی و نمایش سمت كلانیت بكشد، ممكن است براحتی از رجوع مجدد خود داری كند و سیستم مشتریان خود را از دست بدهد . Informational: در این نوع از "نرم افزارهای مبتنی بر وب" فقط امكان مشاهده و خواندن محتوای سایت به همراه امكان ناوبری ساده وجود دارد. Download: در این نوع از "نرم افزار مبتنی بر وب" امكان دانلود داده ها و اطلاعات از سرورهایی خاص فراهم می شود. Customizable: این نوع سیستمها امكان شخص سازی محتوا را به منظور برآورد نیازهای خاصی فراهم می كنند. Interaction: امكان ارتباط میان اجتماعات مختلفی از كاربران توسط ابزارهایی مانند User input: امكان استفاده از ورودیهای فرم مانند برای مقاصد مختلفی همانند دریافت اطلاعات كابران میسر است. Transaction-oriented: در این "نرم افزار مبتنی بر وب" بر اساس در خواست كاربر، تراكشهایی برای پاسخ به آن توسط سیستم انجام می شود. Service-oriented: در این سیسمتها سرویس های خاصی برای كاربران مهیا می شود. Portal: "نرم افزار مبتنی بر وب" در غالب دروازه های به سوی دیگر "نرم افزارهای مبتنی بر وب" و یا سرویسهایی كه جزء حوزه "نرم افزار مبتنی بر وب" نیستند،عمل می كند.

درباره وبلاگ

مدیر وبلاگ : ایمان مروتی

آخرین پست ها

جستجو

نظرسنجی

  • شما بازدید کننده محترم مطالب وبلاگ را چقدر مفید می دانید؟




نویسندگان

Status -->
سیستم هوشمند تک باکس