نرم‌افزارهای مبتنی بر وب

نرم‌افزارهای مبتنی بر وب

چكيده

امروزه اثرات و كاربردهاي زياد سيستم‌هاي مبتني بر وب نقش بسيار مؤثري در زندگي روزمره انسان‌ها بازي مي‌كند و پیشرفت‌های هر روزه تكنولوژي و وب نقش آنها را در زندگي پررنگ‌تر می‌كند. به لطف پیشرفت تكنولوژي و علم كامپيوتر و فناوری اطلاعات، هر روز شاهد افزايش وب‌سايت‌هايي هستيم كه سرويس‌هاي مختلفي را براي كاربران خود فراهم می‌كنند و امكانات بسياري را در اختيار آنها قرار می‌دهند.

نرم‌افزار مدیریت اطلاعات آزمایشگاه نگین نیز دارای ویژگی مبتنی بر وب است.

 

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

مقدمه

در روزهای نه چندان دور، وب‌سايت‌ها چيزي بيش از مجموعه‌اي از لينك‌ها و فايل‌‌هاي متني با گرافيك محدود نبودند. با گذر زمان اچ. تي. ام. ال (HTML: HyperText Markup Language) با ابزارهاي توسعه و زبان‌های برنامه‌سازی ديگري نظير ايكس. ام. ال. (XML:Extensible Markup Language) و JAVA ادغام شد و باعث شد كه عمليات محاسباتي نيز روي اطلاعات امكان پذير شود.

با ادغام سيستم‌هاي مبتني بر وب و نرم‌افزار‌هاي كاربردي، نرم‌افزارهاي مبتني بر وب (WebApplications :WebAPP) متولد شد.

 

امروزه “نرم‌افزارهاي مبتني بر وب” شامل ابزارهاي محاسباتي قدرتمندي هستند كه علاوه بر اينكه می‌توانند به صورت توابع مستقل عمل كنند، قابليت ادغام با پايگاه داده‌ها و نرم‌افزارهاي كاربردي تجاري را نيز به خوبي دارا می‌باشند.

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

تفاوت نرم‌افزارهاي تحت وب با ديگر نرم‌افزارها

نرم‌افزارهاي تحت وب خصوصيات خاصي دارند كه آنها را از بقيه نرم‌افزارها متمايز می‌كند. به تعدادي از اين خصوصيات در ذيل اشاره می‌كنيم:

 

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

 

Concurrency: ممكن است تعداد زيادي از كاربران در يك زمان به “نرم‌افزارهاي مبتني بر وب” دستيابي پيدا كنند. در اغلب موارد الگوي استفاده ميان كاربران مختلف بسيار متفاوت است.

 

Unpredictable load: ممكن است تعداد كاربران يك نرم‌افزار تحت وب در روزهاي مختلف متفاوت باشد و اين مسئله به خوبي قابل پيش بيني نيست. به عنوان نمونه اين دوشنبه سيستم ۱۰۰ كاربر داشته، ۵ شنبه ۱۰۰۰۰ كاربر و دوشنبه آينده ۲۰۰۰ كاربر.

 

Performance: در صورتيكه كاربر نرم‌افزار مبتني بر وب، براي دستيابي به پردازش‌هاي سمت سرور و يا قالب‌بندي و نمايش سمت كلانيت، انتظار زيادي بكشد، ممكن است به راحتي از رجوع مجدد خودداري كند و سيستم مشتريان خود را از دست بدهد.

 

Availability: هيچوقت نمی‌توان ۱۰۰ درصد مواقع در دسترس بود. با اين حال بايد در نظر گرفت كه در هر زمان از ۲۴ ساعت روز ممكن است كاربراني از يك نقطه جهان بخواهند از سيستم استفاده كنند. به همين علت يك “نرم‌افزار تحت وب” بايد ۲۴ ساعت شبانه روز، هفت روز هفته و ۳۶۵ روز سال در دسترس باشد.

 

Data driven: عملكرد اصلي بسياري از “نرم‌افزارهاي مبتني بر وب” استفاده از هايپرمديا (Hypermedia) براي نمايش متون، گرافيك‌ها، اصوات و تصاوير می‌باشد. به عبارت ديگر عمده نرم‌افزارهاي تحت وب از اطلاعاتي كه بر روي پايگاه داده‌هاي محلي و غير محلي وجود دارند به صورت مشترك استفاده می‌كنند و محتواي خود را توسط اين اطلاعات تهيه می‌كنند. Content sensitive: يكي از معيارهاي مهم كيفيت يك “نرم‌افزار مبتني بر وب”، كيفيت و زيبايي محتواي آن می‌باشد.

 

Continuous evolution: تكامل در نرم‌افزارهاي تحت وب امري عادي به حساب می‌آيد. این نرم‌افزارها همانند يك باغ مدام در حال تغيير و رشد می‌باشند و اطلاعات و محتواي آنها می‌توانند دائماً تغيير يابند. به همين علت نگهداري و مراقبت مداوم امري مهم و حیاتی محسوب می‌شود.

 

Immediacy: منظور از فوريت، لزوم هر چه سريعتر در دسترس بودن سيستم در بازار می‌باشد. اين خصوصيت مربوط به خيلي از سيستم‌ها می‌باشد. ولي در مورد بسياري از “نرم‌افزارهاي مبتني بر وب” زمان حضور در بازار چند روز و يا چند هفته است و در مقايسه با ديگر نرم‌افزارها اين زمان بسيار كوتاه است. براي همين بايد از روش‌هايي براي ايجاد “نرم‌افزارهاي مبتني بر وب” استفاده کنیم که این ویژگی را پوشش دهند. البته توسط ابزارهایی که امروزه وجود دارند می‌توان يك “نرم‌افزار مبتني بر وب” ساده را در چند ساعت آماده كرد.

 

Security: همانگونه كه گفته شد “نرم‌افزارهاي مبتني بر وب” توسط يك ساختار شبكه‌اي می‌توانند در دسترس كاربران مختلف با مقاصد مختلف در هر سوي جهان باشند. بسيار دشوار و حتي غير ممكن است كه جمعيت كاربراني را كه به سيستم دسترسي دارند را محدود كرد. به همين علت به منظور محافظت از اطلاعات حساس و ايمن نمودن انتقال داده‌ها، از ساختارهاي امنيتي قدرتمندتری نسبت به دیگر نرم‌افزارها بايد استفاده كنيم.

 

Aesthetics: يك جزء لاينفنك هر “نرم‌افزار مبتني بر وب” زيبايي ظاهري آن می‌باشد. براي موفقيت این نرم‌افزارها طراحي زيبايي ظاهري نقش بيشتري نسبت به طراحي تكنيكي دارد.

همه ويژگي‌هاي بالا به نحوي در “نرم‌افزارهاي مبتني بر وب” اثر گذارند.

دسته بندي نرم‌افزارهاي مبتني بر وب

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

 

Informational: در اين نوع فقط امكان مشاهده و خواندن محتواي سايت به همراه امكان ناوبري ساده وجود دارد.

Download: در اين نوع امكان دانلود داده‌ها و اطلاعات از سرورهايي خاص فراهم می‌شود.

Customizable: اين نوع سيستم‌ها امكان شخصی‌سازي محتوا را به منظور برآورد نيازهاي خاصي فراهم می‌كنند.

Interaction: امكان ارتباط ميان اجتماعات مختلفي از كاربران توسط ابزارهايي مانند اتاق‌هاي گفتگو (chatroom)، تابلو اعلانات (bulletin) و يا پيام فوري (instant messaging) توسط “نرم‌افزار مبتني بر وب” فراهم می‌شود.

User input: امكان استفاده از ورودي‌هاي فرم مانند براي مقاصد مختلفي همانند دريافت اطلاعات كابران ميسر است.

Transaction-oriented: در اين نوع، بر اساس در خواست كاربر، تراكنش‌هايي براي پاسخ به آن توسط سيستم انجام می‌شود.

Service-oriented: در اين سيستم‌ها سرويس‌هاي خاصي براي كاربران مهيا می‌شود. Portal: “نرم‌افزار مبتني بر وب” در غالب دروازه‌هایي به سوي ديگر نرم‌افزارهاي مبتني بر وب و يا سرويس‌هايي كه جزء حوزه مبتني بر وب نيستند، عمل می‌كند.

Database access: توسط اين سيستم‌ها كاربران كاوش‌هايي (Query) را روي پايگاه داده بزرگي اجرا كرده و اطلاعات مورد نياز خود را استخراج می‌كنند.

Data warehousing: توسط اين نرم‌افزارها كاربران می‌توانند کاوش‌هایي را بر روي چند پايگاه داده بزرگ اجرا كنند و اطلاعاتي را از آنان استخراج كنند. البته خيلي از “نرم‌افزارهاي مبتني بر وب” از تركيب چندتايي اين گروه‌ها ايجاد می‌شوند و می‌تواند جزء چندين دسته از اين گروه‌ها قرار بگيرد.

پياده‌سازي نرم‌افزارهاي مبتني بر وب

پياده‌سازي چنین نرم‌افزارهایی نيازمند مدل فرآيندي خاص، متدهاي مهندسي نرم‌افزار كه منطبق با ويژگي‌هاي “نرم‌افزارهاي مبتني بر وب” باشند و تكنولوژي‌هاي خاصي كه امكانات ذكر شده را براي ما فراهم كند می‌باشد. تمامی‌ موارد فوق در غالب مهندسي وب (Web Engineering) بروز می‌كند.

مدل فرآيندي و متدهاي مهندسي نرم‌افزار مختلفي براي توسعه يك “نرم‌افزار مبتني بر وب” معرفي شده‌اند. از جمله آنان رهیافت Agile می‌باشد كه توضيح آن از حوصله اين مقوله خارج است و علاقه‌مندان می‌توانند با مراجعه به منابع فراوان آن با اين رهیافت آشنا شوند.

تكنولوژي‌هاي مختلفي نيز براي پياده‌سازي نرم‌افزارهاي مبتني بر وب گوناگون مطرح شده‌اند. از جمله اين تكنولوژي‌ها می‌توان به HTML، XHTML، XML، اسكريپت‌هاي سمت سرور همانند JSP ، ASP.Net ، PHP و اسکریپت‌های سمت کلاینت همانند VbScript و JavaScript را نام برد. در مورد هرکدام از این اصطلاحات کتاب‌های زیادی نوشته شده است.

 

برای ایجاد یک نرم‌افزار تحت وب باید حداقل با HTML برای قالب‌بندی محتوای وب سایت، یک زبان و فناوري اسکریپتی سمت سرور برای انجام پردازش‌ها و محاسبات سمت سرور، یک زبان اسکریپتی سمت “سرويس گيرنده”، برای پردازش و محاسبات سمت “سرويس گيرنده” و پایگاه داده آشنا بود.

امروزه وجود اين تكنولوژي‌ها توانايي ايجاد “نرم‌افزارهاي مبتني بر وب” بسيار پيچيده را فراهم كرده است كه خدمات بسياري را براي ميليون‌ها انسان در سراسر جهان فراهم می‌كنند و هر روزه نيز به تعداد آنان افزوده می‌شود. با بررسی تحقیقات و فناوري‌های ارائه شده در دهه اخیر درمی‌یابیم که حرکت و سمت و سوی علم و کاربرد رايانه و فناوري اطلاعات به سمت نرم‌افزارهای تحت وب می‌باشد و نرم‌افزارهای دیگر کاربردهای خود را به وب می‌دهند.

منبع:

مقالات راتا

پاسخ دهید