اولين فنجان
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 ادامه خواهم داد.