PDA

View Full Version : کاربرد J2ee



hercules_3d
دوشنبه 09 مهر 1386, 21:59 عصر
سلام
کاربرد J2ee غیر از تولید صفحات وب چیه؟

unhandled_event
سه شنبه 10 مهر 1386, 00:17 صبح
سلام

تکنولوژی جاوا شامل سه قسمت اصلی میشه : j2se یا اخیرا java se یا java stadndard edition و j2ee یا اخیرا java ee و جاjava me یا java mobile edition.
همونطور که در اسامی زیر تالارهای این انجمن هم میبینید
برای من تا قبل از اینکه فرق اینها و کاربردشون رو تا یه حدودی بدونم این اسامی انجمنها مبهم و گنگ بود.
تولید صفحات وب یا لایه user interface فقط بخش کوچکی از تکنولوژی بسیار گسترده java ee یا همون j2ee هست در حقیقت تولید صفحات وب مربوط به دو امکان از تکنولوژی اصلی یا core در j2ee بنامهای servlet و jsp میشه و البته فریم ورکهای زیادی برای سهولت کار با این دولایه وجود داره.
در عرفی ترین مدل نرم افزار در تکنولوژی j2ee یکی از لایه ها همین صفحات وب و یک لایه business و یک لایه data access داریم یعنی سه لایه کاملا مجزا معمولا user interface یا همون صفحات وب مهمترین بخش نرم افزارنیست چون ممکنه با همون منطق نرم افزاری شما یک کلاینت موبایل و یا pocket pc داشته باشین.
این لایه ها میتونن بصورت منطقی و یا فیزیکی (یعنی حتی در محلهای جغرافیایی مختلف) روی سرورهای دور از هم کار کنن و یا همگی روی یک سرور باشن معمولا به این سرور ها میگن application server. وظیفه لایه business اجرا و مدیریت بخش اصلی یا منطق اصلی برنامه است یعنی بیشتر بار برنامه نویسی در روشهای مدرن در این لایه است و وظیفه لایه data access هم ارتباط با بانکهای اطلاعاتی و یا رسانه های ذخیره سازی و دو لایه دیگه مستقیما با دیتابیس کار نمیکنن.
حالا هر کدوم از این دو لایه یعنی business و dataaccess توسط تعدادی از api ها و قسمتهای دیگه ای از تکنولوژی j2ee مثل ejb یا enterprise java beans برای پیاده سازی business و یا امکان Java Transaction Api برای مدیریت transaction های توزیع شده دیتابیسی و یا JNDI برای جستجو و برقراری ارتباط با یک resource مثل بانک اطلاعاتی ، یک ویدئو سرور و یا یک mail server بر اساس دایرکتوریها و فهرستهای ذخیره شده روی application server استفاده کرد.API ها کتابخانه ها و کلاسهای خاصی هستن که به دو روش تنظیم فایلهای xml مربوط به اونها و یا برنامه نویسی میشه ازشون برای پیاده سازی لایه های مختلف استفاده کرد مثلا برای دریافت یک connection از دیتابیس میشه از طریق API مربوط به JNDI یک resource که قبلا روی سرور تعریف شده رو پیدا و از اون یک instance ساخت و باهاش کار کرد. اینها همگی بخشهای مختلف تکنولوژی j2ee هستن که تنوع زیادی دارن با پیاده سازیهای متنوع مثل اوراکل ، سان و IBM اما همگی یک ساختار دارن و باهم سازگار.

موفق باشید.

saeed_Z_F
چهارشنبه 11 مهر 1386, 19:57 عصر
سلام
نوشتن Web service
نوشتن سیستم های توزیع شده
پیاده سازی Business Model
,...
می تونید جواب دقیق تر رو هم در این لینک مشاهده کنید :
http://java.sun.com/javaee/overview/faq/javaee_faq.jsp

hercules_3d
پنج شنبه 19 مهر 1386, 11:37 صبح
با j2ee میشه برنامه ها ی دسکتاپ نوشت یا همشون تحت وب خواهند بود؟

unhandled_event
جمعه 20 مهر 1386, 12:03 عصر
سلام

بله البته .به دو صورت یا کاملا stand alone ( مثل برنامه های تحت ویندوز معمولی ) و یا بصورت applet در دل یک web browser و بیشتر با بخشی از تکنولوژی جاوا درگیر است که Java Standard Edition نام دارد یا همان j2se
این بخش همراه با JDK استاندارد نصب میشود در شاخه اصلی JDK 1.6 ( شاید قبل از 1.6 هم بوده)یک شاخه بنام demo وجود دارد که demo های مربوط به دسکتاپ standaloneدر آنها قرار دارد نوع applet آن در دایرکتوری demo و فهرست آنها در فایل applets.html.
روی هرکدام که کلیک کنید applet آن اجرا میشود.
اما دموی زیبای دسکتاپ در شاخه jfc\java2d قرار دارد.
وارد این شاخه شده و درحالیکه در این شاخه هستید از اینطرف Start و Run را کلید کنید.
حالا فایل Java2Demo.jar را بوسیله drag drop بکشید و در کادر خط فرمان پنجره run قرار دهید فایل Java2Demo.jar به همراه مسیر کامل آن در خط فرمان نمایش داده میشود.
سپس بوسیله home به ابتدای خط رفته و تایپ کنید java -jar و بوسیله یک فاصله آنرا از مسیر فایل جدا کنید نتیجه تقریبا چنین چیزی میشود :


java -jar \.... \Java2Demo.jar



اگر فایل java.exe در شاخه jre\bin در path و classpath هم set شده باشد demo اجرا شده و میتوانید زیبایی user interface یک desktop application را ببینید.


معمولا برنامه نویسی دسکتاپ با دو پکیج اصلی بنام Swing و AWT انجام میشود که شامل کامپوننتهایی مثل فرم ، انواع کنترلهای مرسوم مثل منو ، combobox و textbox گرفته تا پنل و فریم است. Swing یک کتابخانه گرافیکی بسیار قوی و انعطاف پذیر با ایده های اولیه ساده است که البته بدون دانستن این ایده ها کار کردن با آن مشکل است.
اکثر IDE های بزرگ جاوا که وجود دارند مثل NetBeans ، JBuilder و JDeveloper اوراکل بوسیله همین کتابخانه ها نوشته شده اند بنا براین برای نرم افزارهای انبار و حسابداری مناسب است جالب اینکه تمام نرم افزار را میتوان در یک یا چند jar file جمع کرد و در کلاینتهای مختلف کپی کرد و نیازی هم به نصب کردن چیزی نیست حتی برای خود jre ( یعنی java virtual machine ) هم فقط کپی ساده و set کردن path های آن کفایت میکند. متاسفانه swing و AWT بدلیل همه گیر بودن ابزارهای دیگر مثل VB6 و .NET و دلفی زیاد اینجا شناخته شده نیست.
جالب اینکه قسمتی از این برنامه که مثلا کار دیتابیسی انجام میدهد میتواند در دل همین نرم افزار و یا در یک سرور راه دور باشد که در اینصورت پای بخشهای اختصاصی تکنولوژی j2ee مثل EJB به میان می آید.

hercules_3d
جمعه 20 مهر 1386, 13:01 عصر
ممنون
از این پکیج های swing و awt توی j2ee هم استفاده میشه یا فقط مختص j2se هستش؟
ببخشید سوالام اینقدر احمقانه است

unhandled_event
جمعه 20 مهر 1386, 15:34 عصر
ممنون
از این پکیج های swing و awt توی j2ee هم استفاده میشه یا فقط مختص j2se هستش؟
ببخشید سوالام اینقدر احمقانه است


اختیار دارین خیلی هم بجاست منم مدت زیادی نیست فهمیدم اینا چی هستن :چشمک:
شاید با دونستن اینها ابهامات زیادی در مورد جاوا برای دوستان رفع بشه.
فقط خدا کنه که جایی رو اشتباه نگم..
Swing و AWT فقط مال Standard Edition یعنی j2se هستن اما بعضیاشون مشترکن یعنی هم در java enterprise edition یا j2ee و هم در j2se و بعضی اختصاصی برای j2ee مثل Servlet یا EJB بعنوان مثال JDBC که برای وصل شدن و کار کردن با دیتابیس هاست مشترکه. اما تکنولوژی مثل Servlet فقط در j2ee هست و هسته مرکزی یک web applicatin مدرن و بزرگ یا یک وب سایت معمولی رو زنجیره ای از servlet ها و یا یک servlet تشکیل میده.
تمام اینها ( servlet و jdbc و swing و awt و دهها پکیج دیگه .. ) به اصطلاح API یا پکیج یا کتابخانه ها یا تکنولوژیهایی هستن که بلوکهای ساختمانی تکنولوژیهای جاوا رو تشکیل میدن
دو تا لینک هست که بطور خلاصه اینها روگفته:

این j2se یا java standard edition یا java se
http://java.sun.com/javase/technologies (http://java.sun.com/javase/technologies/index.jsp)


این هم j2ee یا java enterprise edition
http://java.sun.com/javaee/technologies (http://java.sun.com/javaee/technologies/)

hercules_3d
جمعه 20 مهر 1386, 21:24 عصر
بازم ممنونم
فرض کنید یه برنامه ای برای یه محل خاصی نوشته میشه مثلا برای یه بیمارستان که یکی از احتیاجاتش مطمئنا دیتابیسشه
حالا این برنامه رو میشه با تکنولوژی j2ee نوشت یا ملزم به استفاده از تکنولوژی j2se هستیم.
بازم به خاطر سوالام معذرت می خوام
چون در حال تصمیم گیری هستم که برم کدوم سمت جاوا
شروع کردم به خوندن کتاب دیتل
با وجود اینکه در مورد jsp , servlet صحبت کرده ولی ظاهرا کل کتاب برای j2se هستش.
حالا اگه تصمیم بگیرم که برم دنباله j2ee بازم خوندن این کتاب مفیده
منظورم اینکه این کتاب داره مفاهیم پایه مثل کلاسهاو فایل ها و ساختمان داده و پردازش استثنا و ... توضیح می ده.
دونستن این مفاهیم بدرده j2ee می خوره؟
یعنی پایه و اساس j2ee و j2se یکیه؟
من خودم کارم برنامه نویسیه وب با پی اچ هستش پی قبلا هم c++ کار کردم ولی این جاوا واقعا پیچیدست. :متفکر:

saeed_Z_F
شنبه 21 مهر 1386, 11:02 صبح
سلام
ببینید یه نکته که هست اینه که Java EE برمبنای Java SE بنا شده و Java SE پیشنیاز یادگیری Java EE می باشد .

hercules_3d
شنبه 03 آذر 1386, 19:31 عصر
با j2ee میشه سوکت پروگرمینگ کرد؟

saeed_Z_F
شنبه 03 آذر 1386, 21:31 عصر
سلام
برای برنامه نویسی با استفاده از سوکت فقط کافی است J2SE و مفاهیم سوکت رو بلد باشید و اصلا ربطی به J2EE نداره .

hercules_3d
یک شنبه 04 آذر 1386, 20:15 عصر
سلام
برای برنامه نویسی با استفاده از سوکت فقط کافی است J2SE و مفاهیم سوکت رو بلد باشید و اصلا ربطی به J2EE نداره .
قابلیت سوکت پروگرمینگ رو که c# داره j2se هم داره؟

saeed_Z_F
دوشنبه 05 آذر 1386, 10:45 صبح
سلام
بله حتما وجود دارد .