دسته بندی | برنامه نویسی |
فرمت فایل | doc |
حجم فایل | 1845 کیلو بایت |
تعداد صفحات فایل | 54 |
به جای پیش گفتار
سپاس یزدان یکتا را که آخرین ویراست از پایان نامه ی دوره ی کارشناسی این جانب در دسترس علاقه مندان قرار می گیرد . هر چند بنده معتقدم هرکسی که یک دوره ی دانشگاهی از تحصیلات علوم رایانه را می گذراند یا گذرانده باشد باید از مطالبی که در این پایان نامه آمده است آگاه باشد.
در باره ی لزوم کسب دانش و مهارت در زمینه ی کار و یا حتی ساخت وب سرویس ها در مقدمه ی گزارش کاری این پروژه مطالبی هر چند کوتاه ارائه شد . در این مقال سعی بر اینست که مطالب با جزئیات کامل تری نسبت به آنچه که قبلا در معرض نقد و بررسی قرار گرفته عرضه شود .
و باز هم تاکید می کنم اهمیت موضوع پایان نامه زمانی روشن می شود که بیندیشیم در آستانه ی هزاره ی سوم میلادی آگاهی رسانی ارائه دانستارها و یافته ها در زمینه ی ارتباطات از راه دور و در اصطلاح شبکه ای دامنه ای دنیایی یافته است و ویژه تر زمانی است که بدانیم پیدایش وب سرویس ها باعث دگردیسی کامل این فناوری شده است از آنجا که مفهوم , بسیار گسترده است از خوانندگان مبتدی خواهشمندم قبل از خواندن مطالب مروری بر مفاهیم پروتکل های ارتباطی , برنامه نویسی در چارچوب .Net و تکنولوژی Xml داشته باشند .
فهرست
فصل اول ( مقدمه ) |
web service 1-1 چیست ؟ 5 |
2-1 مزیت های استفاده از وب سرویس ها 6 |
1-3 مفاهیم کاربردی در وب سرویس ها 8 |
1- 3- 1 XML یا Extensible Mark Up Language 8 |
2- 3- 1 SOAP یا Simple Object Access Protocol 10 |
1 -3 -3 WSDL یا Web Services Descrition Language 12 |
UDDI 1- 3 - 4 یا Universal Description Discovery Integration 14 |
1-4 خلاصه ی فصل اول 15 |
فصل دوم (ابزارهای لازم ) |
2-1 .Net Frame Work 17 |
2-2 مراحل نصب Micro Soft . Net Frame Work 19 |
2-3 ایجاد یک سرور مجازی IIS 20 |
2-4 نصب ویژوال استودیو 2005 22 |
2-5 نصب Sql Server 2005 26 |
2-6 خلاصه ی فصل دوم 27 |
فصل سوم (طراحی و پیاده سازی وب سرویس ) |
1- 3 وظیفه ی وب سرویس 28 |
2- 3 سایت اصلی پروژه یا Book Web Service 29 |
3 - 3 وب سرویس سرویس دهنده / سرویس گیرنده 34 |
4 - 3 تنظیمات IIS برای اجرای برنامه 40 |
5- 3 خلاصه ی فصل سوم 45 |
فصل چهارم (پیشنهادات برای آینده ی وب سرویس) |
4-1 توسعه ی یک وب سرویس امن 46 |
4-1-2 معرفی مدل امنیتی 46 |
4-1-3 تهدید های شناخته شده توسط RupSec 47 |
4-1- 4 راه حل های امنیتی پیشنهادی RupSec 48 |
4 -3 خلاصه فصل چهارم 49 |
ضمیمه ی فصل 4 - کاربرد فناوری ajax در وب سرویس 50
فهرست منابع 54
web service 1-1 چیست ؟
برای ساده کردن پردازش ها برنامه های غیر متمرکز ( Enterprise ) باید با یکدیگر ارتباط داشته باشند و از داده های اشتراکی یکدیگر استفاده کنند . قبلا ً این کار بوسیله ابداع استاندارد های خصوصی و فرمت داده ها به شکل مورد نیاز هر برنامه انجام می شد . اما دنیای وب و XML ( تکنولوژی آزاد برای انتقال دیتا ) انتقال اطلاعات بین سیستم ها را افزایش داد . وب سرویس ها در واقع نرم افزارهایی هستند که از XML برای انتقال اطلاعات بین نرم افزارهای دیگر از طریق پروتوکول های معمول اینترنتی استفاده می کنند . به شکل ساده یک وب سرویس از طریق وب اعمالی را انجام می دهد (توابع یا سابروتین ها ) و نتایج را به برنامه دیگری می فرستد . این یعنی برنامه ای در یک کامپیوتر در حال اجراست ، اطلاعاتی را به کامپیوتری می فرستد و از آن درخواست جواب می کند ، برنامه ای که در آن کامپیوتر دوم است کارهای خواسته شده را انجام می دهد و نتیجه را بر روی ساختارهای اینترنتی به برنامه اول بر می گرداند . وب سرویس ها می توانند از پروتکول های زیادی در اینترنت استفاده کنند .
در سیستم های قدیمی تر و حتی شاید در بیش از نود درصد سیتم های فعلی, اصول client - server - programing بر مبنای request - response از طریق یک سری port ها , protocol ها واستانداردهای مشخص browser ها نهاده شده است . بدین ترتیب که درخواست شما از طریق یک browser به server ارسال می گردد web server آن را بنا به نیاز بهapplication Server واگذار می کند . app server آن را پردازش می کند و از طریق web server ان را به client بر می گرداند . مثلا اگر درخواست شما یک request به صفحات دینامیکی مثل .NETیا PHP باشد web server که در اینجا یک IIS یا Apacheمی باشد request را به app server واگذار می کند که پس از تفسیر , این اطلاعات به فرمت html در اختیار client قرار می گیرد . این سیستم جوابگوی بسیاری از نیازها نیست برای مثال request ها فقط از طریق browser ها انجام می شود ویا همه اطلاعات روی یک server ویا روی سرورهای تحت اختیار موجود می باشد که این در عمل ممکن نیست بسیاری ازبرنامه ها تنها روی بعضی از سرورها قرار دارند وامکان دسترسی با نصب آنها روی سرورهای دیگر نیست به علاوه به دلیل مشکلات امنیتی نمی توان به همه اجازه ی دسترسی به database ها را داد و از همه مهمتر برنامه های تحت سرور هر کدام در یک platform و با زبانی خاص نوشته شده اند که امکان دسترسی به آنها وجود ندارد.
با ایجاد وسایل گوناگون مثل pda ها , گوشی های تلفن , تلویزیون ها ی دیجیتال و ... که قابلیت اتصال به شبکه را دارا هستند و همچنین نیاز application های desktopبرای ارتباط با سرور این نیاز بیشتر احساس شد که با شکل گیری plattform های بسیار قوی مانند J2EE درسمت سرور اصول web - services رقم زده شد.
یک وب سرویس نوعی کامپوننت تحت وب است که به application هایی که از ان استفاده می کنند این امکان را می دهد تا بتوانند از متدهای این وب سرویس استفاده کنند بهتر است وب سرویس را با یک مثال توضیح دهم :
فرض کنید شما در وب سرویس خود می خواهید آب و هوای مناطق جغرافیای مختلف را داشته باشید برای پیاده سازی چنین کاری شما دو روش در پیش دارید خودتان وضعیت آب وهواهای مختلف را از سایت های گوناگون جمع اوری ور در web application خود قرار دهید یا از یک وب سرویس که اب و هوای مناطق مختلف را می دهد استفاده کنید البته وب سرویس ها توانایی های بسیار گسترده ای در ارتباط با data base ها دارند که بعدا به ان خواهیم پرداخت
1-2مزیت ها ی استفاده از وب سرویس ها
وب سرویس دارای خواصی است که آن را از دیگر تکنولوژی و مدل های کامپیوتری جدا می کند ، Paul Flessner ، نایب رییس مایکروسافت در dot NET Enterprise Server چندین مشخصه برای وب سرویس در یکی از نوشته هایش ذکر کرده است ، یک ، وب سرویس ها قابل برنامه ریزی هستند . یک وب سرویس کاری که می کند را در خود مخفی نگه می دارد وقتی برنامه ای به آن اطلاعات داد وب سرویس آن را پردازش می کند و در جواب آن اطلاعاتی را به برنامه اصلی بر می گرداند . دوم ، وب سرویس ها بر پایه XML بنا نهاده شده اند . XML و XML های مبتنی بر SOAP یا Simple Object Access Protocol تکنولوژی هایی هستند که به وب سرویس این امکان را می دهند که با دیگر برنامه ها ارتباط داشته باشد حتی اگر آن برنامه ها در زبانهای مختلف نوشته شده و بر روی سیستم عامل های مختلفی در حال اجرا باشند . همچین وب سرویس ها خود ، خود را توصیف می کنند . به این معنی که کاری را که انجام می دهند و نحوه استفاده از خودشان را توضیح می دهند . این توضیحات به طور کلی در WSDL یا Web Services Description Language نوشته می شود . WSDL یک استاندارد بر مبنای XML است . به علاوه وب سرویس ها قابل شناسایی هستند به این معنی که یرنامه نویس می تواند به دنبال وب سرویس مورد علاقه در دایرکتوری هایی مثل UDDI یا Universal Description , Discovery and Integration جستجو کند . UDDI یکی دیگر از استاندارد های وب سرویس است .
عدم نیاز به کد نویسی مجدد امکانات و امتیازات بزرگی را در کار با وب سرویس ها فراهم می کند .البته شاید بعضی از دوستان که با مفاهیم کلاس کار کرده اند بگویند که این کار در کلاس ها هم امکان پذیر است اما در برنامه نویسی با کلاس شما برای استفاده از هرکلاس باید تک تک کلاس ها را add کنید اما در اینجا فقط کافیست متدها را بنویسید. درنوشتن کلاس شما ممکن است در کار باapplication ها ی مختلف به روش های مختلف با کلاس های متفاوتی کارکنید یعنی کار شما هربار متفاوت از کار قبلی است که این خوانایی برنامه را پایین می اورد و همچنین توسعه را مشکل می سازد اما در این سیستم ما در یک وب سرویس و با متدهای خاص همان وب سرویس کار می کنیم حالا در هرجا و در هر application ی که قرار داریم .
وقتی با وب سرویس کار می کنیم یک سری استانداردها نیز وجود دارند که همه ی application های موجود با ان کار می کنند و در نتیجه reusability بالا می رود . که این خود مزیت بزرگی به شمار می رود .
بعنوان نمونه از وب سرویس هایی که در طول روز به چند صد هزار درخواست پاسخ می دهند می توان به عناوین زیر اشاره کرد:
1- کل نرم افزار yahoo messenger از طریق web service های ایجاد شده توسط weblogic پیاده سازی شده است.
2- وب سرویس راهبردی گزارش وضعیت ترافیکی راهها در ایالت متحده موسوم به (wfb = ways finder base) که افراد می توانند از طریق اتومبیل های خود با آن تماس برقرار کنند.
3- وب سرویس موسوم به شخص الکترونیکی یا eletronical whose که در بازارهای سهام برای به روز کردن قیمت ها جریان دارد .
و . . .
1-3 مفاهیم کاربردی در وب سرویس ها
XML 1-3-1 یا eXtensible Markup Language :
XML یک تکنولوژی است که به شکل گسترده از آن پشتیبانی می شود ، همچنین این تکنولوژی Open است به این معنی که تعلق به شرکت خاصی ندارد . اولین بار در کنسرسیوم WWW یا W3C در سال 1996 برای ساده کردن انتقال دیتا ایجاد شده است . با گسترده شدن استفاده از وب در دهه 90 کم کم محدودیت های HTML مشخص شد . ضعف HTML در توسعه پذیری ( قابلیت اضافه و کم کردن خواص ) و ضعف آن در توصیف دیتاهایی که درون خود نگهداری می کند برنامه نویسان را از آن نا امید کرد . همچنین مبهم بودن تعاریف آن باعث شد از توسعه یافتن باز بماند . در پاسخ به این اشکالات W3C یک سری امکانات را در جهت توسعه HTML به آن افزود که امکان تغییر ساختار متنهای HTML مهم ترین آن است . این امکان را CSS یا Cascade Style Sheet می نامند .
این توسعه تنها یک راه موقتی بود . باید یک روش استاندارد شده ، توسعه پذیر و داری ساختار قوی ایجاد می شد . در نتیجه W3C XML را ساخت . XML دارای قدرت و توسعه پذیری SGML یا Standard Generalized Markup Language و سادگی که در ارتباط در وب به آن نیاز دارد است .
استقلال اطلاعات یا جدا بودن محتوا از ظاهر یک مشخصه برای XML به حساب می آید . متنهای XML فقط یک دیتا را توصیف می کنند و برنامه ای که XML برای آن قابل درک است - بدون توجه به زبان و سیستم عامل – قادر است به اطلاعات درون فایل XML هر گونه شکلی که مایل است بدهد . متنهای XML حاوی دیتا هستند بدون شکل خاص بنابراین برنامه ای که از آن می خواهد استفاده کند باید بداند که چگونه می خواهد آن اطلاعات را نمایش دهد . بنابراین نحوه نمایش یک فایل XML در یک PC با PDA و تلفن همراه می تواند متفاوت باشد .
وقتی یک برنامه با متن XML مواجه می شود باید مطمئن باشد که آن متن حاوی دیتای مورد نظر خود است . این اطمینان توسط برنامه هایی با نام XML Parser حاصل می شود . تجزیه کننده ها دستورات متن XML را بررسی می کنند . همچنین آنها به برنامه کمک می کنند تا متن های XML را تفسیر کند . به صورت اختیاری هر متن XML می تواند به متن دیگری اشاره کند که حاوی ساختار فایل XML اصلی باشد . به آن متن XML دوم DTD یا Document Type Definition گفته می شود .
وقتی فایل XML به DTD اشاره می کند برنامه تجزیه کننده فایل اصلی را با DTD بررسی می کند که آیا به همان ساختاری که در DTD توصیف شده شکل گرفته است یا خیر . اگر یک تجزیه کننده XML بتواند یک متن را به درستی پردازش کند متن XML نیز به شکل صحیحی فرمت شده است .
وقتی که اکثر نرم افزار ها امکانات وبی خود را افزایش دادند این طور به نظر می آید که XML به عنوان یک تکنولوژی جهانی برای فرستادن اطلاعات بین برنامه های انتخاب شود . تمامی برنامه هایی که از XML استفاده می کنند قادر خواهند بود که XML ِ همدیگر را بفهمند . این سطح بالای تطابق بین برنامه ها باعث می شود که XML یک تکنولوژی مناسب برای وب سرویس باشد ، چون بدون اینکه احتیاج به سیستم عامل و سخت افزار یکسان باشد می تواند اطلاعات را جابجا کند .
SOAP 1-3-2 یا Simple Object Access Protocol :
SOAP یکی از عمومی ترین استاندارد هایی است که در وب سرویس ها استفاده می شود . طبق شواهد اولین بار توسط DeveloperMentor ، شرکت UserLand و مایکروسافت در سال 1998 ساخته شده و نسخه اول آن در سال 1999 ارایه شده است . آخرین نسخه SOAP ، نسخه 1.2 بود که در دسامبر سال 2001 در W3C ارایه شد . نسخه 1.2 نشان دهنده کار زیاد بر روی آن و نمایانگر اشتیاق زیاد صنعت IT برای استفاده از SOAP و وب سرویس است .
هدف اصلی SOAP ایجاد روش برای فرستادن دیتا بین سیستم هایی است که بر روی شبکه پخش شده اند . وقتی یک برنامه شروع به ارتباط با وب سرویس می کند ، پیغام های SOAP وسیله ای برای ارتباط و انتقال دیتا بین آن دو هستند . یک پیغام SOAP به وب سرویس فرستاده می شود و یک تابع یا ساب روتین را در آن به اجرا در می آورد به این معنی که این پیغام از وب سرویس تقاضای انجام کاری می کند . وب سرویس نیز از محتوای پیغام SOAP استفاده کرده و عملیات خود را آغاز می کند . در انتها نیز نتایج را با یک پیغام SOAP دیگر به برنامه اصلی می فرستد .
به عنوان یک پروتکول مبتنی بر XML ، SOAP تشکیل شده از یک سری الگو های XML ی است . این الگو ها شکل پیغام های XML را که بر روی شبکه منتقل می شود را مشخص می کند ، مانند نوع دیتا ها و اطلاعاتی که برای طرف مقابل تفسیر کردن متن را آسان کند . در اصل SOAP برای انتقال دیتا بر روی اینترنت و از طریق پروتکول HTTP طراحی شده است ولی از آن در دیگر مدلها مانند LAN نیز می توان استفاده کرد . وقتی که وب سرویس ها از HTTP استفاده می کنند به راحتی می توانند از Firewall عبور کنند .
یک پیغام SOAP از سه بخش مهم تشکیل شده است : پوشش یا Envelope ، Header ، بدنه یا Body . قسمت پوشش برای بسته بندی کردن کل پیغام به کار می رود . این بخش محتوای پیغام را توصیف و گیرنده آن را مشخص می کند . بخش بعدی پیغام های SOAP ، Header آن است که یک بخش اختیاری می باشد و مطالبی مانند امنیت و مسیریابی را توضیح می دهد . بدنه پیغام SOAP بخشی است که دیتاهای مورد نظر در آن جای می گیرند . دیتاها بر مبنای XML هستند و از یک مدل خاص که الگوها (Schemas) آن را توضیح می دهند تبعیت می کنند . این الگو ها به گیرنده کمک می کنند تا متن را به درستی تفسیر کند .پیغام های SOAP نوسط سرور های SOAP گرفته و تفسیر می شود تا در نتیجه آن ، وب سرویس ها فعال شوند و کار خود را انجام دهند .
برای اینکه از SOAP در وب سرویس استفاده نکنیم از تعداد زیادی پروتکول باید استفاده شود . برای مثال XML-RPC تکنولوژی قدیمی تری بود که همین امکانات را ایجاد می کرد . به هر حال ، خیلی از سازندگان بزرگ نرم افزار SOAP را بر تکنولوژی های دیگر ترجیح دادند . دلایل زیادی برای انتخاب SOAP وجود دارد که خیلی از آنها درباره پروتکول آن است که فراتر از این متن می باشد . 3 برتری مهم SOAP نسبت به تکنولوژی های دیگر : Simplicity , Extensibility و Interoperability است .
پیغام های SOAP معمولا ً کدهای زیادی ندارند و برای فرستادن و گرفتن آن به نرم افزار های پیچیده نیاز نیست . SOAP این امکان را به برنامه نویس می دهد تا بنا به نیاز خود آن را تغییر دهد . در آخر بدلیل اینکه SOAP از XML استفاده می کند می تواند بوسیله HTTP اطلاعات را انتقال بدهد بدون اینکه زبان برنامه نویسی ، سیستم عامل و سخت افزار برای آن مهم باشد .
WSDL 1-3-3 یا Web Services Description Language :
استاندارد دیگری که نقش اساسی در وب سرویس بازی می کند WSDL است . همانطور که قبلا ً اشاره کردیم یکی از خواص وب سرویس ها توصیف خود آنهاست به این معنی که وب سرویس دارای اطلاعاتی است که نحوه استفاده از آن را توضیح می دهد . این توضیحات در WSDL نوشته می شود ، متنی به XML که به برنامه ها می گوید این وب سرویس چه اطلاعاتی لازم دارد و چه اطلاعاتی را بر می گرداند .
وقتی که سازندگان نرم افزار برای اولین بار SOAP و دیگر تکنولوژی های وب سرویس را ساختند دریافتند که برنامه ها قبل از اینکه شروع به استفاده از یک وب سرویس بکنند باید اطلاعاتی درباره آن را داشته باشند . اما هر کدام از آن سازندگان برای خودشان روشی برای ایجاد این توضیحات ابداع کردند و باعث شد که وب سرویس ها با هم هماهنگ نباشد . وقتی IBM و مایکروسافت تصمیم گرفتند تا استاندارد های خود را یکسان کنند WSDL بوجود آمد . در ماه مارس سال 2001 مایکروسافت ، IBM و Ariba نسخه 1.1 را به W3C ارائه کردند . گروهی از W3C بر روی این استاندارد کار کردند و آن را پذیرفتند . هم اکنون این تکنولوژی در دست ساخت است و هنوز کامل نشده . ولی هم اکنون اکثر سازندگان وب سرویس از آن استفاده می کنند .
هر وب سرویسی که بر روی اینترنت قرار می گیرد دارای یک فایل WSDL است که مشخصات ، مکان و نحوه استفاده از وب سرویس را توضیح می دهد . یک فایل WSDL نوع پیغام هایی که وب سرویس می فرستد و می گیرد را توضیح می دهد مانند پارامترهایی که برنامه صدا زننده برای کار با وب سرویس باید به آن بفرستد . در تئوری یک برنامه در وب برای یافتن وب سرویس مورد نظر خود از روی توضیحات WSDL ها جستجو می کند . در WSDL اطلاعات مربوط به چگونگی ارتباط با وب سرویس بر روی HTTP یا هر پروتکول دیگر نیز وجود دارد .
این مهم است که بدانیم WSDL برای برنامه ها طراحی شده است نه برای خواندن آن توسط انسان . شکل فایلهای WSDL پیچیده به نظر می آید ولی کامپیوترها می توانند آن را بخوانند و نجزیه و تحلیل بکند . خیلی از نرم افزارهایی که وب سرویس می سازند فایل WSDL مورد نیاز وب سرویس را نیز تولید می کنند بنابراین وقتی برنامه نویس وب سرویس خود را ساخت به شکل خودکار WSDL مورد نیاز با آن نیز ساخته می شود و احتیاجی به آموزش دستورات WSDL برای ساختن و استفاده از وب سرویس نیست .
برای دریافت domain ها و account های رایگان می توانید به چند وب سرویس که آدرس wsdl آنها را در پایین قرار داده ام مراجعه کنید :
http://ws.cdyne.com/whoisquery/whois.asmx?wsdl
http://www.esynaps.com/WebServices/WhoIsService.asmx?WSDL
UDDI 1-3-4 یا Universal Description , Discovery and Integration :
سومین استاندارد اصلی وب سرویس ها ، UDDI ، به شرکتها و برنامه نویسان اجازه می دهد تا وب سرویس های خود را بر روی اینترنت معرفی کنند . این استاندارد در اصل بوسیله مایکروسافت ، IBM و Ariba و 50 شرکت بزرگ دیگر ساخته شده است . با استفاده از UDDI شرکتها می توانند اطلاعات خود را در اختیار شرکت های دیگر قرار بدهند و مدل B2B ایجاد کنند . همان طور که از نام آن مشخص است شرکت ها می توانند وب سرویس خود را معرفی کنند ، با وب سرویس دیگران آشنا شوند و از آن در سیستم های خود استفاده کنند . این استاندارد جدیدی است و در سال 2000 ساخته شده ، کنسرسیومی از شرکتهای صنعتی در حال کار بر روی آن هستند ؛ نسخه دوم UDDI در ماه ژوئن سال 2001 ارائه شد و نسخه سوم آن در دست ساخت است .
UDDI یک متن مبتنی بر XML را تعریف می کند که در آن شرکت ها توضیحاتی درباره چگونگی کار وب سرویس شرکتشان و امکانات خود می دهند . برای تعریف این اطلاعات از شکل خاصی که در UDDI توضیح داده شده استفاده می شود . شرکت ها می توانند این اطلاعات را در UDDI شرکت خود نگهداری کنند و تنها به شرکت های مورد نظرشان اجازه دستیابی به آنها را بدهند یا آنها را در مکان عمومی و د اینترنت قرار دهند . بزرگترین و مهمترین پایگاه UDDI ، UDDI Business Registry یا UBR نام دارد و توسط کمیته UDDI طراحی و اجرا شده است . اطلاعات این پایگاه در چهار نقطه نگهداری می شود ، مایکروسافت ، IBM ، SAP و HP . اطلاعاتی که در یکی از چهار پایگاه تغییر کند در سه تای دیگر نیز اعمال می شود
دسته بندی | کامپیوتر و IT |
فرمت فایل | doc |
حجم فایل | 28 کیلو بایت |
تعداد صفحات فایل | 38 |
تحقیق بررسی نحوه کار برنامه های کاربردی وب در 38 صفحه ورد قابل ویرایش
نحوه کار برنامه های کاربردی وب ?
معماری برنامه کاربردی ?
حلقه درخواست- پاسخ ?
URL های عمل مؤلفه ?
پیام های حلقه درخواست- پاسخ ?
بک تراک کش ??
ایجاد پروژه ها ??
انتخاب یک قالب ??
ایجاد یک پروژه برنامه وب ??
فایل ها و گروه های پروژه ??
مؤلفه های وب ??
منابع سرور وب ??
چارچوب ها ??
محصول (products) ??
مقصد ها ??
ساخت برنامه شما ??
نصب برنامه کاربردی شما ??
خلق مؤلفه های وب ??
مؤلفه Main ??
فایل های Java ??
فایل های WOD و HTML ??
لیست یک – نمونه فایل HTML ??
لیست فایل WOD ??
حفظ و نگهداری وضعیت ??
افزودن متدها به مؤلفه ??
استفاده از برنامه و شیء های Session ??
برنامه کاربردی ??
نحوه کار برنامه های کاربردی وب
برنامه های کاربردی وب دسترسی پویای وب پیج های مبتنی برHTML از طریق یک مرورگر وب را ایجاد می کند. از آنجا که برنامه های کاربردیWeb Dbject شیء گرا بوده و به زبان جاوا نوشته می شود، برنامه کاربردی شماWeb page هایی را با ایجاد نمونه های شی ها به نام مؤلفه های وب به وجود می آورد.
مؤلفه وب ترکیبی از زیرمجموعه هایWocomponent و قالبHTML جاوا است. مؤلفه های وب همه مؤلفه ها و عناصر استانداردHTML شامل انیمیشنFlash، فیلم های Quichtime ، برنامه هایJava script و اپلت های جاوا را در برمی گیرد. مؤلفه های وب همچنین از کاسکاد ورقه های تعاریف(CSS) پشتیبانی می کند.
با افزودن عناصر خاصWebObject با همت هایHTML - به نام عناصر پویا- به مؤلفههای وب خود، محتوای پویا را به وب پیج های خود اضافه کنید. برخی عناصر پویا فاقد همت های HTML بوده و صرفاً در کنترل ایجاد محتوا به کار می رود. به عنوان مثال، محتوایی که شرطی یا تکراری است. هنگام پاسخ دهی به درخواست های مرورگر کلانیت، محتواهای پویا به HTMLایستا ترجمه و تبدیل می شود.
می توانید در ساخت مؤلفه های وب یا ازWebObject Builder یاDirect to Web استفاده کنید. WebObject Builderیک ابزار گرافیکی در خلق مؤلفه های وب بوده و عناصر پویا را به متغیرها و متدهای برنامه کاربردی شما محدود می کند. Direct to Web یک ابزار ساخت سریع نمونه بوده که برنامه کاربردی در حال کار وب را از مدل E0 ارائه شده خلق می کند. برای تغییر محتوای مؤلفه های Direct to WebازWeb Assistant استفاده نمایید. همچنین می توانید صفحات را فریز کنید- مؤلفه های وب را خلق کرده و به پروژه خود اضافه کنید- و آنها را با استفاده ازWeb Object Builder اصلاح نمایید.
باید قبل از معمول سازی برنامه کاربردی وب خود، درک بنیادینی از معماری یک برنامه کاربردی داشته باشید. این قسمت معماری برنامه های کاربردی وب را تشریح کرده و چگونگی کار عناصر پویا را در زمینه حلقه درخواست- پاسخ برنامه کاربردی را توضیح می دهد. هنگام پردازش یک درخواست و ایجاد صفحه پاسخ، شرح خلاصه ای از ترتیب متدها استنتاج می شود. این قسمت همچنین چگونگی کاربک تراک (پیمایش معکوس)Web Object ها را توضیح می دهد.
این سند چگونگی استفاده از ابزارهای مختلف Web Object را توضیح نمی دهد. در مورد مراحل استنتاجی در خلق قالب ها و ساخت عناصر پویا، راهنمای کاربرWeb Object Boilder را مطالعه کنید. در مورد چگونگی استفاده ازWeb Objects Direct to web Guid ,Direct to web (هدایت شیء های وب به راهنمای وب) را مطالعه نمایید.
معماری برنامه کاربردی
نه تنها برنامه وب شما محتوای پویایی ایجاد می کند بلکه می توانید قالب ها را به کاربر ارائه داده که محتوای مؤلف را برای آنها تأیید می کند. داده های ورودی را از کاربرانی بدست می آورید که از قالب هایHTML، دکمه ها و دیگر عناصر پویا استفاده مینمایند. مرتبط سازی عناصر قالب به متغیرها و متدهای مؤلفه وب شما شبیه محدود کردن دیگر عناصر پویاست که صرفاً محتوا را نمایش می دهد.
با قرار دادن عناصر پویا در یک عنصر استاندارد قالب مؤلفه وب خود، قالب ها را خلق کنید. مؤلفه وبHTML را ایجاد می کند که مرورگر های وب می توانند آن را تغییر کرده و نمایش دهد. این فرآیند از ترجمه دیتای ثبتی کاربر یا انتخاب ها به متغیرهایی در برنامه شما تشکیل می شود. اگر مؤلفه های وب را برنامه نویسی می کنید، این برنامه نویسی به درک چگونگی پردازش ورودی کاربر توسط برنامه های وب کمک می کند.
برنامه هایWeb Object مبتنی بر رویداد(event driven) هستند اما به جای پاسخ دهی به رویدادهای ماوس و کیبورد به درخواست هایHTML (پروتکل انتقال ها پیرتکست) پاسخ می دهند. برنامه درخواست عملHTML را دریافت می کند، به آن پاسخ می دهد و سپس منتظر درخواست بعدی می شود. پاسخ دهی برنامه به درخواست ها ادامه مییابد تا اینکه درخواست ها تمام شود. حلقه اصلی به کار گیرنده این درخواست ها حلقه درخواست- پاسخ،WebObject محتوای عناصر پویا را پر می کنند. اطلاعات انتشاری برنامه های شما در دیتابیس یا دیگر وسایل ذخیره سازی دیتا مقیم شده یا میتوان آن را هنگام دسترسی به صفحه ایجاد کرد. صفحات هم بسیار محاوره ای و فعل و انفعالی هستند- شما می توانید کاملاً روش را مشخص کنید که کاربر از طریق آنها هدایت شده و دیتاهایی که آنها مشاهده و اصلاح می کنند.
شکل یک وب سایت مبتنی برWeb Object را نمایش می دهد. مجدداً درخواست (در قالبURL) از مرورگر وب به وجود می آید. مرور وب کشف می کند که درخواست باید توسط برنامه کاربردی Web Object به کار رفته و درخواست را به آداپتورHTTP بفرستد. آداپتور درخواست وارده را به شکلی پکیج می کند که برنامه Web Object بتواند آن را درک کرده و به برنامه کاربردی فوروارد کند. براساس مؤلفه های وب تعریف شما و دیتای مربوطه از انبار دیتا، برنامه وب پیجی را ایجاد می کند که از طریق آداپتور به سرور وب منتقل می شود. سرور وب صفحه را به مرورگر وب می فرستد که آن را ارائه می دهد.
به این نوع از برنامه کاربردی Web ObjectبرنامهWeb گفته می شود زیرا نتیجه آن ایجاد یک سری وب پیج هایHTML پویا می باشد.
حلقه درخواست- پاسخ
هر عمل اتخاذ شده از سوی کاربر از طریق سرور وب و آداپتور Web Objectبا برنامه کاربردی شما ارتباط برقرار می کند. همه جزئیات مربوط به عمل کاربر- محتوای فیلدهای تکست، وضعیت چک باکس ها و دکمه های رادیویی و انتخاب در منوهای pap-up همین طور اطلاعاتی پیرامونsession و دکمه یا لینک فعال شده در درخواست HTTP رمزگذاری می شود.
درخواست با عمل آداپتور Web Objectو رفتار پیش فرض برنامه رمزگشایی می شود. این فرآیند رمزگشایی، که در ایجاد صفحه پاسخ به حداکثر خود رسیده تا به مرورگر وب بازگشت داده شود- حلقه درخواست- پاسخ را می سازد. شکل2 ترتیب پیام های استنتاجی هنگام پردازش درخواست را نشان می دهد.
Web Objects دو مدل پردازش درخواست دارد، عمل هدایت و عمل مؤلفه.
- مدل عمل مؤلفه به شما اجازه می دهد وضعیت را در برنامه حفظ کنید؛ از این رو، به شیء های session نیاز داشته و از آن استفاده می کند. به طور پیش فرض، برنامه های وب از این مدل استفاده می کنند.
- مدل عمل مستقیم توسط برنامه هایی به کار می روند که به مدیریت وضعیت- به عنوان مثال، موتورهای جستجو، کاتالوگ های تولید، کتابخانه های پرونده و انتشار پویا- نیاز ندارد. برنامه های استفاده کننده این مدل به طور پیش فرض فاقد شیء هایsession هستند.
هنگام توسعه یک برنامه به یک مدل پردازش درخواست محدود نمی شوید برنامه ها مناسب ترین مدل را در پیاده سازی مشخصه های خاص به کار می گیرد. عمل های مولفه به طور کلی در برنامه های وب دارای مؤلفه های به هم پیوسته سودمند است. به هر حال، توانایی کنترل زیاد جریان برنامه را به کاربر ارائه نمی دهد. به عنوان مثال، کاربر نمی تواند مستقیماً متد تعریف شده در فایل سرس جاوای یک مؤلفه وب را اجرا کند. از طرف دیگر، عمل های هدایت (Directactim) در ارائه چنین دسترسی به کاربران بهترین است. به عنوان مثال، با به کارگیریURL مناسب کاربران می توانند شیوه های خاص یک برنامه را اجرا کنند.
URL های عمل مؤلفه
هنگامی که یک برنامه وب را آرایش داده و از طریق مرورگر وب به آن دسترسی دارید، URL نمایش مرورگر از فرمت خاصی برخوردار است که زمینه،session صفحه برنامه وب و حتی عنصر وب را مشخص می کند.
URL همه اطلاعات ضروری برنامه کاربردی را در بر گرفته تا وضعیت مؤلفه های وب و session ایجاد شده برای کلانیت مشخص را بازستازی کند. لیست1 مثالی ازURL عمل مؤلفه را نشان می دهد.
·شکل3- ص 13- ساختار یکURL عمل مؤلفه
پیام های حلقه درخواست- پاسخ
جدول 1 فازهای فرآیند درخواست- پاسخ را فهرست می کند. جدول2 ترتیبی را نشان می دهد که متدهای موجود در آن استنتاج می شود. فرآیند به طور تفضیلی در “پردازش درخواست” ص14 و “ایجاد پاسخ” ص16 توضیح داده می شود. شیء های اولیه دریافت کننده پیام ها از حلقه درخواست- پاسخ عبارتند از شی مؤلفه وب، session و برنامه شیء برنامه (application object) مثال برنامه ای است که زیر مجموعه WOApplication می باشد. یکsession object مثالی ازsession بوده که session زیر مجموعه ای از WOApplicationمی باشد. هنگامی مثال Applicationخلق می شود که برنامه شما آغاز می شود و مثالsession برای هر کاربر اولیه شکل می گیرد. توجه کنید که ممکن استsession ها تایم اوت شوند. می توانید زمان تایم اوت را هنگام آرایش یک برنامه پیکربندی کنید.
ایجاد پروژه ها
یک پروژه webobjects همه فایل های مورد نیاز ساخت و اجرای کاربردی شما را در برمی گیرد. در ایجاد پروژه جدید webobjectsاز Xcode استفاده کنید. درXcode قالب مناسب پروژه webobjectsرا انتخاب نمایید و دستیاری از طریق فرآیند ایجاد پروژه شما را راهنمایی می کند. انواع فایل های اضافه شده به پروژه Xcode و سازمان دهی شما به الگو و قالب انتخابی شما بستگی دارد. اگر چه ممکن است چار چوب ها، مقصدها و پیکربندی های ساخت اندکی متفاوت باشند ولی سازمان دهی برنامه های وب- برنامههایی که محتوای پویای HTML ایجاد می کند- خیلی به هم شبیه هستند.
این مقاله چگونگی استفاده Xcode در خلق برنامه های وب را توضیح می دهد. این مقاله قالب های مختلفی را تشریح می کند، دستور العمل مرحله به مرحله ایجاد پروژه شما را ارائه می دهد، سازماندهی فایل های موجود در پروژه را توضیح می دهد، مقاصد خاص برنامه وب را شرح می دهد، و ترفندهایی برای ساخت و نصب برنامه شما را در برمی گیرد.
انتخاب یک قالب
هنگامی که پروژه ای به زبان Xcode به وجود می آید، انتخاب قالب و الگوی مناسب webobjects در assistant ضروری است. قالب های خلق کننده یک برنامه کاربردی وب عبارتند از برنامهDirect to web، برنامهDisplay Group ، و برنامه webobject. همچنین می توانید از چارچوب webobjectsاستفاده کنید.
- اگر یک مدلEO دارید که قبلاً یا باEOModeler یا Xcodeایجاد شده و می خواهید یک نمونه سریعی بسازید، برنامهDirect to web را انتخاب کنید. این انتخاب خوبی برای برنامه نویسان جدید در webobjects به شمار می آید.
- اگر مدلEO دارید یا می خواهید یکی ایجاد کنید- یعنی می خواهید وب پیج های خود را با محتوایی از دیتابیسback-end (انتهای برگشتی) مشهور کنید- و می خواهید مؤلفه های متعارف وب را بسازید، برنامهDisplay Group را انتخاب کنید.
- اگر نمی خواهید از شیء های سازمانی استفاده کنید، برنامه webobjectsرا انتخاب کنید.
- اگر می خواهید چارچوبی ایجاد کنید، webobjects fromework را انتخاب کنید. به طور نمونه، این قالب را برای ایجاد چارچوب دارای منطق کاری خود- مدلEO و شیء های سازمانی خود- انتخاب کنید که می توان آن را دوباره در انواع دیگر برنامه ها نظیرwebservise به کار برد. همچنین می توانید چارچوبی از مؤلفه های قابل استفاده مجدد وب را ایجاد کنید.
ایجاد یک پروژه برنامه وب
هنگامی که پروژه ای را از قالبی خلق می کنید،Xcode Assistant با نمایش تعدادی از کادرها شما را از طریق فرآیند راهنمایی می کند. اولین کادرهای معدود برای همه گونه های برنامه های وب یکسان است. کادرهای بعدی می تواند بر اساس قالب انتخابی شما تغییر کند. تنظیمات پیش فرض Assistant در اکثریت برنامه ها کار می کند. به طور نمونه، صرفاً لازم است نام پروژه را وارد کرده و دکمهNext را کلیک کنید و در کادر نهایی، رویFinish کلیک کنید. این مراحل عمومی را برای خلق یک برنامه وب دنبال کنید. برای کسب جزئیاتی پیرامون استفاده الگویDirect to web Guide webobjects, Direct to web Application را مطالعه کنید.
1- Xcode واقع در/Developer/Application را شروع کنید.
2- منویFile> new peroject را انتخاب کنید.
پنلAssistant در حال نمایش کتبی از الگوها و قالب ها آشکار می شود.
3- یکی از قالب ها و الگوهایwebobjects را انتخاب کرده و Next را کلیک کنید.
اگر مطمئن نیستید از چه قالبی استفاده می کنید، قسمت“انتخاب قالب” را مطالعه کنید.
4- نظیر شکل2 نام پروژه و موقعیت را وارد کرده وNext را کلیک کنید. اگر الگوی webobject Famenework را کلیک کرده و به مراحل مانده پرش کنید.
مقصد ها
مقصدهای یک برنامه کاربردی وب عبارتند از:
- برنامه کاربردی- به عنوان مثال My web App.
- Application Server قسمتی از برنامه شما را می سازد که مؤلفه های وب و شیءهای سازمانی را خلق می کند.
- web server منابعی می سازد که می تواند توسط سرورHTTP به کار رود مثل تصاویر و فیلم های Quik time ذخیره نشده در دیتابیس.
ساخت برنامه شما
ساخت و نصب برنامه کاربردی وب شما ساده است. فقط مقصد برنامه را انتخاب کرده و دکمه Build and go در X Code را کلیک کنید. برای اجرا و تست برنامه خود از مرورگر وب استفاده کنید. به عنوان مثال ، اگر الگوی Direct to web را انتخاب کردید، برنامه Direct to web شما ساخته و آغاز می شود. Safari همچنین آغاز شده و با URL برنامه Web objects به برنامه شما متصل می شود.
نصب برنامه کاربردی شما
ممکن است بخواهید برنامه را برای تست در ماشین توسعه خود نصب کنید. قبل از نصب یا آرایش برنامه، باید چگونگی کار سرور وب و مکان مورد نیاز نصب فایل ها را درک کنید.
برخی فایل ها در برنامه وب – مثل فایل صوتی و تصویری – باید تحت ریشه document سرور وب ذخیره شود تا سرور به آنها دسترسی داشته باشد. زیرا فایل ها بخشی از HTML پویا بوده که سرور وب به کلانیت های وب ارسال می کند. فایل های باقی مانده – نظیر کد سرس و مؤلفه های شما – باید برای برنامه شما و نه الزاماً خود سرور وب قابل دسترسی باشد. از این رو، هنگامی که یک برنامه وب را نصب کرده یا آرایش می دهند، فایل های محصول شما تقسیم می شود – این فایل های مورد نیاز سرور وب در ریشه document قرار داده شده و همه فایل های دیگر در جای دیگری ذخیره می شود. به این نوع نصب،نصب دو بخشی (Split install) گفته می شود.
خلق مؤلفه های وب
مؤلفه های وب در چگونگی کار محتوای پویا در webobject اساسی هستند. بطور نمونه،اگر اطلاعات روی وب سایت شما غالباً تغییر بیابد یا براساس برخی شرایط تغییر می کند Nebobjects را انتخاب کنید.مثالهایی از وب سایتهای پویا عبارتند از خبرهای آنلاین،فروشگاهها، رأی گیری و آمار و ارقام. Webobjects هم برای هر وب سایتی ایده آل است که جلسات کاربر را پیگیری کرده و سرویس های شخصی نظیر تألیف محتوا و صفحات رایج ارائه می دهد. محتوای پویا را می توان برای اولویت های کاربر و معیار جستجو تنظیم کرد.
مؤلفه اهی وب را در نمایش صفحات وب یا صفحات وب جزیی بوجود آورده از سوی وب سایت شما استفاده کنید. مؤلفه های وب در واقع الگوهایی برای ایجاد صفحات HTML هستند. مؤلفه های وب از عناصر پویا و ایستا ساخته می شود. برای متصل کردن نقاط مقابل HTML به متغیرها و متدهای کلاس مؤلفه وب خود از عناصر پویا استفاده کنید. برخی عناصر انتزاعی بوده و صرفاً در کنترل ایجاد HTML – مثلاً شرایط و تکرارها – بکار می رود.
بطور نمونه، اگر چه می توانید برنامه وبی را بدون استفاده از Enter prise Objects (شیء های سازمانی) خلق کنید اما ، وب سایت شما صفحات HTML را ارائه می دهد که با دیتای بدست آمده از شیهای سازمانی ذخیره شده شما دریک دیتابیس Back-end مشهور شده اند. از این رو، مؤلفه های وب با میانجی کردن بین ویوها (عناصر پویا ) و مدل های شما (شیء های سازمانی) شبیه کنترلرهای الگوی طراحی MVC رفتار می کنند. همچنین می توانند از عناصر انتزاعی استفاده کرده و گروهها – کنترلرهایی که شیء های سازمانی زیادی را دستکاری می کند را به روش های جالب خلق صفحات وب هوشمند نشان می دهد.