اولين Ù?نجان
December 26, 2007 01:07 PM
همانگونه كه در مطالب قبلي نوشتم، قصد دارم كه يك Web Application را شروع كنم Ùˆ روي جزئيات طراØÙŠ Ùˆ پياده سازي اش متمركز شوم. بعنوان اولين پروژه، بهتر آن ديدم كه firstcup خود جاوا را براي اين كار انتخاب كنم كه خود sun آن را بعنوان اولين گام در نظر گرÙ?ته. در مطالب آتي طراØÙŠ Ùˆ پياده سازي كليه ماژول ها را آنطور كه در مستندات firstcup ارائه شده در اينجا خواهم آورد. درخاتمه Ø¨ØØ« هم به اميد خدا كل مطالب را يك جا بصورت يك Ù?ايل براي دانلود در اين وبلاگ خواهم گذاشت. پس علاقمندان جاوا با من همراه شويد. ضرر نمي كنيد.
نرم اÙ?زارهای مورد نیاز
براي پياده سازي Ùˆ اجراي اين Application به نرم اÙ?زارهاي زير نياز خواهيد داشت.
• Java EE 5 SDK
• NetBeans IDE 5.5
دوستان خارج از ايران مي توانند آنها را از سايت sun دانلود نمايند. اما در مورد دوستان داخل ايران لينك هاي دانلود اين نرم اÙ?زارها را مي توانيد اينجا بيابيد البته متاسÙ?انه لينك ارائه شده در اين آدرس هم توسط بعضي ISP ها Ù?يلتر شده. درصورت Ù?يلتر بودن ISP هاي ديگر را Ø§Ù…ØªØØ§Ù† كنيد.
نكته: استÙ?اده از هر IDE دیگری نیز Ú©Ù‡ با Java EE 5 سازگار باشد امکان پذیر است. اما Ø´Ø±Ø Ù…Ø±Ø§ØÙ„ کاری Ú©Ù‡ در اینجا ارائه شده با توجه به امكانات NetBeans 5.5 است.
Ø´Ø±Ø ÙƒØ§Ø±ÙƒØ±Ø¯ Application
Ù†ØÙˆÙ‡ كاركرد Application بدين صورت است كه وقتي شما آن را توسط Browser اجرا مي كنيد، در صÙ?ØÙ‡ اي تاريخ ميلادي تولد شما درياÙ?ت مي شود. سپس Application تاريخ تولد شما را با تاريخ تولد Duke كه يك تاريخ مشخص ( 23 ماه مي 1995 ØŒ تاريخي كه اولين نسخه دمو زبان جاوا عرضه عمومي شد) است مقايسه مي نمايد. درنهايت Application وضعيت سن شما را نسبت به Duke به عنوان پاسخ برمي گرداند. اينكه آيا شما بزرگتر، كوچكتر يا هم سن Duke هستيد.
معماری
این App شامل سه کامپوننت اصلی است:
• DukesAgeService : یک Web Service است Ùˆ با JAX-WS پیاده Ù…ÛŒ شود Ùˆ سن Duke را Ù…ØØ§Ø³Ø¨Ù‡ Ù…ÛŒ نماید.
• DukesBirthdayBean : یک Enterprise bean است Ú©Ù‡ تÙ?اوت سن وارد شده توسط کاربر را از سن Duke Ù…ØØ§Ø³Ø¨Ù‡ Ù…ÛŒ کند.
• firstcup : یک WebApp Ú©Ù‡ با JSF ساخته Ù…ÛŒ شود. firstcup از DukeAgeService برای نمایش سن Duke استÙ?اده Ù…ÛŒ کند. همچنین تاریخ وارد شده توسط کاربر را Ù…ÛŒ خواند. با استÙ?اده از DukesBirthdayBean تعیین Ù…ÛŒ کند Ú©Ù‡ سن کدام بیشتر است. سپس تÙ?اضل دو سن را برای کاربر نمایش Ù…ÛŒ دهد.
این WebApp شامل Ù?ایل های زیر است:
• Ù?ایل greeting.jsp یک صÙ?ØÙ‡ jsp است Ú©Ù‡ کاربر Ù…ÛŒ توان درآن تاریخ تولد خود را وارد کند.
• Ù?ایل response.jsp یک صÙ?ØÙ‡ jsp است Ú©Ù‡ پاسخ را به کاربر نشان مي دهد Ùˆ اعلام مي كند Ú©Ù‡ آیا سن او از Duke بیشتر است یا کمتر يا هم سن هستند.
• Ù?ایل DukesBDay.java Ú©Ù‡ یک managed Bean است Ùˆ مشخصه ها را تعریÙ? Ù…ÛŒ کند، سن جاری Duke را از Web Service Ù…ÛŒ گیرد. همچنین تÙ?اضل دو سن را از enterprise Bean دریاÙ?ت میکند.
• Ù?ایل faces-config.xml برای configure نمودن بخش های مرتبط با JSF به کار Ù…ÛŒ رود.
• Ù?ایل web.xml Ú©Ù‡ Deployment Descriptor برنامه است Ùˆ تنظیمات App برای نصب در آن ثبت Ù…ÛŒ گردد.
Tier ها در این مثال
این مثال دارای
یک کامپوننت Web Tierيعني firstcup
دو کامپوننت Business Tier يعني DukeAgeService و DukesBirthdayBean
است.
Browser کاربر client Tier است. ضمنا این مثال EIS Tier ندارد.
Tier هاي اين Application را به همراه كليه Ù?ايل ها Ùˆ كلاس هاي اصلي Application در شكل زير Ù…Ù„Ø§ØØ¸Ù‡ مي كنيد.
تصوير بزرگتر
در مطلب بعد پروژه را با پياده سازي وب سرويس DukesAge ادامه خواهم داد.
نرم اÙ?زارهای مورد نیاز
براي پياده سازي Ùˆ اجراي اين Application به نرم اÙ?زارهاي زير نياز خواهيد داشت.
• Java EE 5 SDK
• NetBeans IDE 5.5
دوستان خارج از ايران مي توانند آنها را از سايت sun دانلود نمايند. اما در مورد دوستان داخل ايران لينك هاي دانلود اين نرم اÙ?زارها را مي توانيد اينجا بيابيد البته متاسÙ?انه لينك ارائه شده در اين آدرس هم توسط بعضي ISP ها Ù?يلتر شده. درصورت Ù?يلتر بودن ISP هاي ديگر را Ø§Ù…ØªØØ§Ù† كنيد.
نكته: استÙ?اده از هر IDE دیگری نیز Ú©Ù‡ با Java EE 5 سازگار باشد امکان پذیر است. اما Ø´Ø±Ø Ù…Ø±Ø§ØÙ„ کاری Ú©Ù‡ در اینجا ارائه شده با توجه به امكانات NetBeans 5.5 است.
Ø´Ø±Ø ÙƒØ§Ø±ÙƒØ±Ø¯ Application
Ù†ØÙˆÙ‡ كاركرد Application بدين صورت است كه وقتي شما آن را توسط Browser اجرا مي كنيد، در صÙ?ØÙ‡ اي تاريخ ميلادي تولد شما درياÙ?ت مي شود. سپس Application تاريخ تولد شما را با تاريخ تولد Duke كه يك تاريخ مشخص ( 23 ماه مي 1995 ØŒ تاريخي كه اولين نسخه دمو زبان جاوا عرضه عمومي شد) است مقايسه مي نمايد. درنهايت Application وضعيت سن شما را نسبت به Duke به عنوان پاسخ برمي گرداند. اينكه آيا شما بزرگتر، كوچكتر يا هم سن Duke هستيد.
معماری
این App شامل سه کامپوننت اصلی است:
• DukesAgeService : یک Web Service است Ùˆ با JAX-WS پیاده Ù…ÛŒ شود Ùˆ سن Duke را Ù…ØØ§Ø³Ø¨Ù‡ Ù…ÛŒ نماید.
• DukesBirthdayBean : یک Enterprise bean است Ú©Ù‡ تÙ?اوت سن وارد شده توسط کاربر را از سن Duke Ù…ØØ§Ø³Ø¨Ù‡ Ù…ÛŒ کند.
• firstcup : یک WebApp Ú©Ù‡ با JSF ساخته Ù…ÛŒ شود. firstcup از DukeAgeService برای نمایش سن Duke استÙ?اده Ù…ÛŒ کند. همچنین تاریخ وارد شده توسط کاربر را Ù…ÛŒ خواند. با استÙ?اده از DukesBirthdayBean تعیین Ù…ÛŒ کند Ú©Ù‡ سن کدام بیشتر است. سپس تÙ?اضل دو سن را برای کاربر نمایش Ù…ÛŒ دهد.
این WebApp شامل Ù?ایل های زیر است:
• Ù?ایل greeting.jsp یک صÙ?ØÙ‡ jsp است Ú©Ù‡ کاربر Ù…ÛŒ توان درآن تاریخ تولد خود را وارد کند.
• Ù?ایل response.jsp یک صÙ?ØÙ‡ jsp است Ú©Ù‡ پاسخ را به کاربر نشان مي دهد Ùˆ اعلام مي كند Ú©Ù‡ آیا سن او از Duke بیشتر است یا کمتر يا هم سن هستند.
• Ù?ایل DukesBDay.java Ú©Ù‡ یک managed Bean است Ùˆ مشخصه ها را تعریÙ? Ù…ÛŒ کند، سن جاری Duke را از Web Service Ù…ÛŒ گیرد. همچنین تÙ?اضل دو سن را از enterprise Bean دریاÙ?ت میکند.
• Ù?ایل faces-config.xml برای configure نمودن بخش های مرتبط با JSF به کار Ù…ÛŒ رود.
• Ù?ایل web.xml Ú©Ù‡ Deployment Descriptor برنامه است Ùˆ تنظیمات App برای نصب در آن ثبت Ù…ÛŒ گردد.
Tier ها در این مثال
این مثال دارای
یک کامپوننت Web Tierيعني firstcup
دو کامپوننت Business Tier يعني DukeAgeService و DukesBirthdayBean
است.
Browser کاربر client Tier است. ضمنا این مثال EIS Tier ندارد.
Tier هاي اين Application را به همراه كليه Ù?ايل ها Ùˆ كلاس هاي اصلي Application در شكل زير Ù…Ù„Ø§ØØ¸Ù‡ مي كنيد.
تصوير بزرگتر
در مطلب بعد پروژه را با پياده سازي وب سرويس DukesAge ادامه خواهم داد.