ارائه مدل کیفیت برای نرم افزارهای تجارت
Download
Report
Transcript ارائه مدل کیفیت برای نرم افزارهای تجارت
جلسه ارائه درس مهندس ی اینترنت
ارائه دهنده :مونا فدوی
1392/4/5
2
فهرست :
3
مقدمه
پیشینه
Ajaxچیست؟
JavaScript
XML
DOM
شیء XMLHttpRequest
مکانیزم Ajax
چگونگی به کارگیری فناوری های مختلف در Ajax
تفاوت مدل Ajaxبا مدل کالسیک برنامه های تحت وب
مزایای Ajax
معایب Ajax
نمونه کد های Ajax
کاربردهای Ajax
نتیجه گیری
منابع و مراجع
مقدمه :
Ajaxفناوری است که به کمک آن می توان Interfaceیک
برنامه تحت وب را طوری ساخت که وقتی کاربر روی دکمه
یا لینکی کلیک می کند ،کلیه عملیات ارسال اطالعات و
دریافت نتایج در پشت صحنه انجام شود و فقط آن قسمت
از Interfaceکه قرار است اطالعات جدید را به نمایش
درآورد تغییر کند بدون اینکه تمام صفحه از نو بارگذاری
شود.
4
پیشینه:
اصطالح Ajaxرا اولین بار در سال 2005کارشناسی از
شرکت Adaptive Pathبه نام جسی جیمز گرت در مقاله
ای تحت عنوان Ajax : A New Approach to Web ”:
“Applicationمطرح کرد.
با این حال تاریخچه فناوری هایی برای بارگذاری غیر
همروند محتویات یک صفحه وب ،بدون نیاز به بارگذاری
دوباره صفحه ،به عناصر ) IE3-1996 (IFRAMEو عناصر
)Netspace4-1997( LAYERباز می گردد.
مایکروسافت در IE5شیء ) XMLHttpRequest(XHRرا
ارائه کرده و برای اولین بار در Outlook Web Accessاز
این روش با استفاده از شیء XHRبهره جست.
5
Ajaxچست؟
Asynchronous JavaScript And XML :Ajax
استفاده نامتقارن از JavaScriptو XML
تکنولوژیهایی که در Ajaxاز آنها استفاده میشود عبارتاند از:
نمایش استاندارد با استفاده از XHTMLو. CSS
نمایش پویایی و تعامالت با استفاده از). Document Object Model (DOM
تبادل و دستکاری داده با استفاده از XMLوXSLT.
بازیابی دادهها بصورت غیر همروند با استفاده از XMLHttpRequestو
جاوااسکریپت برای سرهمبندی همه چیز با هم.
6
JavaScript :
موجود بودن هم به صورت ساخت یافته و هم به صورت شی گرا
سهولت یادگیری و کار با آن
طراحی شده برای ردیابی هر نوع ورودی ای
پردازش اطالعات ورودی
به حداقل رساندن زمان loadشدن صفحه وب به خاطر سادگی
JavaScript
بهینه کردن مرور وب
جای گرفتن محاسبه گرهای JavaScriptدر یک صفحه تنها
ساخت فرم های دینامیکی
نیاز نداشتن به هیچ نرم افزار یا plug-inکمکی برای اجرا
7
XML (Extensible Markup
Language):
همچون HTMLیک زبان نشانه گذاری
زبان رایج برای تبادل داده و سازماندهی داده ها برای به
اشتراک گذاری
قابلیت رده بندی داده ها
خلق نقش های بسیار دقیقی برای قالب بندی داده ها
توانایی گرفتن خروجی در محل های مختلف از آن
وابسته و محدود نبودن به یک دستگاه یا پلت فرم خاص
از پیش تعریف شده نبودن تگ های XML
8
DOM(Document Object Model):
مدل شی گرای سند( )DOMعنوان یکی از دو معماری عمده ای
است که بر اساس آن سند های ( XMLاز جمله )HTML
را به اشیای موجود در آن تجزیه نموده و آن را به صورت
یک ساختار درختی داده ها در فضای حافظه اصلی پهن می
کنیم.
به منظور اجرا و پیاده سازی DOMباید از یک زبان برنامه
نویسی سطح باال همچون JavaScript ، C# ، Javaیا
مشابه آنها استفاده کنیم.
9
شیء :XMLHttpRequest
اجازه انتقال نامتقارن اطالعات به صفحات وب
ارتباط با سروردر JavaScript
برخی از خصوصیات و توابع شی ء XHRعبارتند از:
:Open() برقرار کردن یک درخواست جدید برای یک سرور
: Send() ارسال تقاضا به سرور
: readyState عددی که نشانگر وضعیت تقاضای ما به سرور است :
: 0عدم آغاز ارتباط ( ) uninitialized
: 1حالت باز ( ) open
: 2اتمام ارسال ( ) sent
: 3حالت دریافت ( ) receiving
: 4اتمام بارگذاری ( ) loaded
10
شیء ( XMLHttpRequestادامه) :
11
)( : Abortقطع تقاضای در حال پیشروی
: responseTextپاسخ به صورت رشته متنی
: responseXMLپاسخ به صورت شی ء DOM XML
: responseBodyپاسخ به صورت آرایه ای
: statusکد وضعیت HTML
: statusTextمتنی که statusرا شرح می دهد
: onreadyStateChangeاشاره گر به تابعی که باید هنگام تغییر حالت
خصوصیت readyStateاجرا شود.
: getAllResponseHeadersدریافت لیست کاملی از سروند های Http
تقاضا
: getResponseHeaderدر یافت سروند یک تقاضای Httpخاص
: setRequestHeaderاضافه کردن یک سروند Httpسفارشی به تقاضا
مکانیزم : Ajax
نحوه عملکرد وب کالسیک به ترتیب زیر است:
بارگذاری صفحه مورد نظر برای اولین بار
ارسال تقاضای کاربر از طریق مرورگر به سرور
قطع ارتباط کاربر با نرم افزار
ارسال پاسخ توسط سرور و به روز شدن قسمت مورد نظر در
صفحه
این نحوه عملکرد وب کالسیک باعث کاهش بازده سرور ،
مصرف پهنای باند و تلف شدن وقت و هزینه است اما به
کارگیری تکنیک Ajaxاین مشکالت را برطرف می کند.
12
مکانیزم ( Ajaxادامه) :
13
مکانیزم Ajax
(ادامه) :
به کمک : Ajax
14
هر عمل از سوی کاربر موجب تولید یک تقاضای Http
فراخوانی یک فرمان جاوا اسکریپتی
هدایت آن به موتور Ajax
پاسخ سرور به کاربر بدون نیاز به ارسال صفحه جدید
به روز شدن قسمتی که باید تغییر کند
مکانیزم ( Ajaxادامه) :
در واقع می توان عملکرد Ajaxرا به صورت زیر توصیف کرد :
عمل کردن به صورت یک الیه اضافی بین مرورگر کاربر و
سرور وب
پیاده سازی ارتباطات سرور در پس زمینه
مسدود نشدن صفحه درون مرورگر client
پردازش نتایج دریافت پاسخ از سرور
به روز کردن رابط کاربر
15
این به معنی غیر همروند بودن در عملکرد تکنیک Ajaxاست.
مکانیزم ( Ajaxادامه)
:
شکل زیر مقایسه ای را نشان می دهد که برنامه های تحت وب سنتی چگونه کنش های کاربر را مدیریت می کند و Ajaxچگونه همین عملیات را
کنترل می کند.
16
مکانیزم ( Ajaxادامه)
:
هنگامی که Interfaceیک برنامه از Ajaxاستفاده می کند ،تماس میان کاربر و Interfaceهرگز قطع نمی شود.او همواره نرم افزار را در
دسترس و پیش روی خود می بیند و موتور Ajaxدر پشت صحنه عملیات ارسال و دریافت داده ها را مدیریت می کند.
17
چگونگی به کارگیری فناوری های مختلف در : Ajax
می توان نقش تکنیک های JavaScriptو Xmlرا در Ajax
به صورت زیر توصیف کرد :
: JavaScript قسمتی از برنامه Ajaxکه در پس زمینه
مرورگر کاربر انجام می شود
: XML ابزار رایج برای کدینگ و فرمت ارسال اطالعات
برای انتقال کاراتر
18
چگونگی به کارگیری فناوری های مختلف
در ( Ajaxادامه):
مراحل کلی پاسخ به تقاضای کاربر در Ajaxرا به صورت زیر
می باشد :
اعالم درخواست از سوی کاربر از طریق یک رویداد
فرستاده شدن درخواست کاربر از طریق شیء XHRبه
سرور
ارسال پاسخ از سوی سرور به صورت داده XML
پردازش پاسخ دریافت شده توسط موتور Ajax
به روز کردن قسمتی از صفحه HTMLبا استفاده از فناوری
DOM 19
چگونگی به کارگیری فناوری های مختلف در Ajax
(ادامه):
20
تفاوت مدل Ajaxبا مدل کالسیک برنامه های تحت وب:
اگر بخواهیم برنامه های رومیزی را با برنامه های تحت وب ( قبل از ظهور ) Ajaxمقایسه کنیم به جدول زیر می
رسیم:
21
برنامه های رومیزی
برنامه های تحت وب
سرعت اجرای باال
سرعت پایین
ارتباط پیوسته کاربر در حین اجرای
برنامه
وجود refreshدر حین کار با برنامه
امکانات گرافیکی زیاد و محیط پویا
امکانات گرافیکی کمتر
عدم به روز بودن
به روز بودن
عدم اجرا در همه سیستم عامل ها
اجرا در تمامی سیستم عامل ها
امنیت بیشتر و خطرات کمتر
امنیت کمتر به جهت اجرا شدن روی شبکه ای
بسیار بزرگ از کامیوتر ها و دسترسی میلیون
ها کاربر به آن
تفاوت مدل Ajaxبا مدل کالسیک برنامه های تحت وب (ادامه) :
هدف اصلی از ارائه مدل : Ajaxنزدیک کردن برنامه های
تحت وب به برنامه های رومیزی
اما تفاوت های این دو مدل را می توان به صورت زیر بیان
کرد:
22
بارگذاری شدن موتور ( Ajaxکدهای ) JavaScriptدر
ابتدا در مدل Ajax
قطع نشدن ارتباط کاربر با نمای سایت
عدم وجود refreshهای متوالی
بارگذاری نکردن مجدد قسمت های ثابت
استفاده از امکانات گرافیکی بیشتردر انجام امور
مزایای : Ajax
حرکت صنعت نرم افزار در عرصه وب به سوی سیستم هایی
مستقل از نوع سیستم عامل و مرورگر مورد استفاده کاربر
سرعت آن(به علت غنی بودن )client
استفاده کمتر از امکانات و منابع سرور
فناوری مرتبط با Interfaceبرنامه های تحت وب
دریافت فرامین ارسال و دریافت اطالعات نه فقط از طریق
سایت اصلی نمایش دهنده صفحه وب
23
معایب : Ajax
عدم کارایی مناسب دکمه های Backو Forward
بی معنی شدن مفهوم Bookmark
وابستگی به XMLHttpRequest
حجم زیاد کد JavaScriptاستفاده شده در نرم افزارهای
مبتنی بر Ajax
ایمن نبودن ارتباط clientو serverدر این فناوری
24
: Ajax نمونه کد نویسی در
: را نشان می دهدXMLHttpRequest کد زیر نمونه ای از اعالن شی ء
<script language=”javascript” type=”text/javascript”>
var xmlHttp=new XMLHttpRequest()
</script>
: را در مرورگر های مایکروسافتی نشان می دهدXMLHttpRequest کد زیر نمونه ای از اعالن شی ء
var xmlHttp=false;
try {
xmlHttp=new ActiveXobject(“Msxml2.XMLHTTP”);
} catch(e) {
try {
xmlHttp=new ActiveXobject(“Microsoft.XMLHTTP”);
} catch(e2) {
xmlHttp=false;
}
}
25
: ) (ادامهAjax نمونه کد نویسی در
درDOM به وفور از متدولوژیAjax . را نشان می دهدJavaScript کد زیر نمونه ای از کدنویسی
: استفاده می کنیمDHTML وJavaScript
//Get the value of the “phone” field and stuff it in a variable called phone
var phone=document.getElementById(“phone”).value;
//set some values on a form using an array called response
document.getElementById(“order”).value=response[0];
document.getElementById(“address”).value=response[1];
26
: ) (ادامهAjax نمونه کد نویسی در
: را نشان می دهدAjax کد نمونه از روش ارسال یک تقاضا به وسیله
Function callServer() {
//Get the city and state from the web form
var city=document.getElementById(“city”).value;
var state=document.getElementById(“stete”).value;
//only go on if there are values for both fields
If((city==null) \\ (city==” ”)) return;
If((state==null) \\ (state==” “)) return;
//Build the URL to connect to
var
url=”/script/getZipCode.php?city=”+escape(city)+”&state=”+escape(st
ate);
//Open a connection to the server
xmlHttp.open(“GET”,url,true);
//Set up a function for the server to run when it’s done
xmlHttp.onreadyStatechange=updatePage;
//Send the request
xmlHttp.send(null);
}
27
: ) (ادامهAjax نمونه کد نویسی در
: این تقاضا می تواند مثالً یک قسمتی از یک صفحه وب به صورت کد زیر باشد
<form>
<p>City: <input type=”text” name=”city” id=”city” size=”25”
onChange=”callServer();” /></p>
<p>State: <input type=”text” name=”state” id=”state” size=”25”
onChange=”callServer();” /></p>
<p>Zip Code: <input type=”text” name=”zipCode” id=”city” size=”5”
/></p>
</form>
: نهایتا ً پاسخ دریافت شده از قسمت سرور را نیز می توان به وسیله کدی شبیه کد زیر مورد استفاده قرار داد
Function updatePage() {
If(xmlHttp.readyState==4) {
var response=xmlHttp.responseText;
document.getElementById(“zipCode”).value=response;
}
}
28
کاربردهای : Ajax
از جمله کاربردها و سایت های استفاده کننده از Ajaxمی توان موارد زیر را نام برد :
Chat
سرویس چت گوگل ()Google Talk
29
کاربردهای ( Ajaxادامه ) :
تجارت الکترونیک
سایت closo.com
سایت جستجوگر خرید آمازون A9.com
بازی
پست الکترونیکی
Gmail.com
Yahoo! Mail
پیام رسانی اینترنتی
سایت membo.com
30
کاربردهای ( Ajaxادامه ) :
نقشه های آنالین
Google Maps
سیستم عامل های تحت وب
AjaxWindows
AjaxWindowsیک سیستم عامل مجازی است که به شما اجازه می دهد فایل های خود را تنها از یک مرورگر
ذخیره ،ویرایش کنید و به اشتراک بگذارید.
eyeOS
31
کاربردهای ( Ajaxادامه ) :
جستجوگرها
Google Suggest
پورتال
سرویس پورتال گوگل )(Google Personal HomePage
32
نرم افزارهای اداری تحت وب
نرم افزار تحت وب پردازش متن Writely
نرم افزار صفحه گستر تحت وب Google Spread Sheets
نتیجه گیری
:
برطرف کردن شکاف بین برهم کنش برنامه های رومیزی و
همیشه به روز بودن برنامه های تحت وب
وب گردی پویا و غیرهمروند(بدون refreshهای متوالی
صفحه)
مرتبط با Interfaceنرم افزارهای تحت وب
همه اینها دالیلی است برای اینکه باور کنیم که Ajaxعاملی
در پیشرفت برنامه های تحت وب نسل بعد خواهد بود.
33
منابع و مراجع :
منابع فارسی :
)1نوعی پور بهروز ” ،همه چیز درباره ، ” Ajaxماهنامه شبکه ،شماره ، 84بهمن 84
)2فکری نجات ” ،نگاهی عمیق به تکنیک ، “Ajaxماهنامه دانش و کامپیوتر ،شماره ، 66آبان 86
)3سایت IranIctNews
منابع انگلیسی:
Jesse James Garrett. Ajax: A New Approach to Web Applications.
http://adaptivepath.com/publications/essays/archives/000385.php.
34
35
پرسش و پاسخ :
36