کتاب اول
آشنایی با Java و J2EE
به زبان فارسی
تعداد صفحات : 256 صفحه
کتاب دوم
Head First Servlet & JSP
2nd Edition
به زبان انگلیسی
تعداد صفحات :913 صفحه
در این بخش که پر کراربرد ترین و گران ترین و جالب ترین بخش های برنامه نویسی جاوا ست شما توانایی نوشتن برنامه برای یک شبکه و کلا یک سرور را خواهید داشت. این بخش جاوا صرفا شامل برنامه نویسی تحت وب و HTTP نمیباشد بلکه مخصوص برنامه نویسی برای شبکه های بزرگ نیز میباشد. اکثر پروژه های بزرگ مثل اتوماسیون ها وزرات خانه های دولتی ، ارتش ، وزارت اطلاعات و یا کتابخانه ملی و ... را با این بخش از جاوا مینویسند. مفاهیم بخش های مختلف این قسم برنامه نویسی جاوا به قدری زیاد و گسترده است که شاید شما را به قدری گیج کنه که از کلا هر چی برنامه نویسی سیر بشید ولی اگه وقت بذارید و از چند نفر کار بلد هم کمک بگیرید متوجه خواهید شد که گنج واقعه ای همین کنار دستتون بوده و شما تو ماکروسافت دنبالش میگشتید.
همین قدر بگم که این بخش از جاوا تنها میان افزاری هست که بطور کامل استاندارد ها برنامه نویسی تحت شبکه و سرور رو در خودش جای داده و اصولا برای پروژه هاییی ک توسط اون انجام میشه بودجه های میلیاردی در نظر گرفته میشه. و فقط همین ق در بدونید بزرگترین تولد کننده نرم افزار جهان و پول دار ترین آن ها (یعنی اوراکل) داره از روی کار بر همین بخش جاوا پول در میاره و بهتره بدونید که سرمایه ای که برای یکی از پروژه های کوچک گرفته بودند چیزی حدود به نصف بودجه جمهوری اسلامی ایران بوده.
قبل از آن که تعریف کنیم J2EE چیست بهتر است درک کنیم که J2EE زبان بـرنامه نویسی بسته نرم افزاری، یک ابزار و یا یک سرویس نیست. به عبارت ساده تر J2EE لزوما یک میان افزار استاندارد است که شرکت سان میکروسیستم آن را برای توسعه و به کارگیری برنامه های کاربردی تجاری در مقیاس گسترده و با قابلیت الکترونیکی و به صورت توزیعی و چندلایه ارائه کرده است.
برنامه های کاربردی که برای استانداردهای J2EE نوشته می شوند مزایای زیادی را در بر می گیرند که قـابلیت جابه جایی، امنیت، مقایس پذیری، توازن بار و قابلیت استفاده مجدد از آن جمله است.
میان افزارها، راه حل های نرم افزاری سمت سروری هستند که بنیاد و اساس مورد نیاز در اتصال سیستم های نامتجانس و منابعی توزیعی در شبکه را فراهم می کنند. پیش از J2EE، راه حلهای میان افزار و محدود به محصولات و عرضه کننده ها بودند. این میان افزارهای قدیمی ویژگی های محدودی داشتند و سازگاری آنها نیز کم بود و حتی در قابلیت های عملکردی و جابه جایی در مسائل مختلف نیز محدود بودند. به عبارت دیگر، هیچ استاندارد صنعتی مشترک و قابل قبولی برای این منظور وجود نداشت و بسیرای از ویژگی ها به انتخاب عرضه کننده بود.
J2EE با یادگیری از اشتباهات گذشته و ارائه نیازمندی های ضروری صنعت سبب رشد و کمال تکنولوژی میان افزار شد. همچنین امکان گسترش و توسعه های آتی نیز در آن لحاظ گردید.
در توسعه این استاندارد، سان با دیگر عرضه کننده های اصلی میان افزار، سیستم عامل و سیستم های مدیریت پایگاه داده از جمله IBM و اوراکل همکاری کرد.
در اصل J2EE مجموعه ای از اتانداردها و خط مشی هایی است که تعریف می کند چگونه برنامه های کاربردی در لایه توزیعی می توانند با استفاده از زبان جاوا ساخته شوندً؟ توسعه دهنده ها، برنامه های کاربردی خودشـان را تحت این استانداردها می سازند و عرضه کننده های زیرساختار، سازگاری با این مجموعه خط مشی ها را از طریق J2EE تضمین می کنند. از این طریق، برنامه های J2EE می توانند به صورت مدخلی برای به کارگیـری چندین سرور برنامه های کاربردی با حداقل تغییرات در سطح کم (و حتی بدون تغییر) در نظر گرفته شوند.
اعمال J2EE
J2EE به ارائه محیط های مختلفی می پردازد که این محیط ها در ادامه بررسی شده است:
J2EE ترکیبی برای میان افزار توزیعی چندلایه
J2EE کاملا بین لایه های مختلف درگیر در محیط برنامه کاربردی حد فاصل قایل می شود و مولفه های قرار گرفته در هر لایه را تعریف می کند. این لایه ها می توانند هر یک از لایه های Client، لایه طرح، لایه تجارت و یا ارائه سیستم های اطلاعاتی گسترده باشند.
کلیه برنامه های کاربردی J2EE براساس این قالب کاری ساخته شده است.
همچنین هر لایه در سیستم چندلایه ممکن است در چند سرور توزیع شده باشد.
با J2EE توسعه برنامه های کاربردی توزیعی دیگر یک وظیفه پیچیده نیست. مولفه های J2EE هیچ فرضی درباره محیط سرور و منابعی که از طریق دایرکتوری های گسترده دسترسی می یابند، ندارند. این بدان معناست که توسعه دهندگان برنامه های کاربردی برای توزیع مولفه ها و منابع اشان به تلاش زیادی نیاز ندارند.
J2EE محیطی برای برنامه های کاربردی در مقیاس گسترده
J2EE به صورت سرورهای برنامه های کاربردی مانند BEA WEB Logic یا IBM WEB Sphere پیاده سازی شده که محیطی برای برنامه های کاربردی توزیعی در مقیاس گسترده است.
برنامه های کاربردی می توانند براساس مدل برنامه نویسی برنامه های کاربردی J2EE ساخته شوند و حتی در یک یا چند سرور برنامه های کاربردی وب سازگار با J2EE به کار گرفته شوند.
به عبارت دیگر می توان مناسب ترین محیط سرور برنامه کاربردی از محصولات گسترده سازگار J2EE را انتخاب کرد. حتی بدون توجه به این ویژگی های منحصر به فرد نیز، کلیه سرورهای برنامه های کاربردی J2EE یک حیطه کاری مشترک برای توسعه و به کارگیری برنامه های کاربردی گسترده فراهم می کنند.
J2EE مدلی برای توسعه برنامه های کاربردی با قابلیت الکترونیکی
برنامه های کاربردی J2EE به راحتی می توانند بر روی وب، پالم و دستگاه های دستی، تلفن های همراه و بسیاری دیگر از دستگاه های نمایش داده شوند. به عبارت دیگر، مولفه های برنامه های کاربردی می توانند بدون هیچ مشکلی دارای قابلیت الکترونیکی باشند. مدل برنامه نویسی J2EE تضمین می کند که منطق تجاری و سیستم های BackOffice بدون تغییر باقی بمانند و به عنوان تسهیلاتی برای نمایش به راه های گوناگون و دسترسی Clientها به کار روند.
یکی دیگر از ویژگی های خوب محیط J2EE توازن بار اتوماتیک، مقایس پذیری و تحمل خرابی است. مولفه های به کار رفته در محیط J2EE به طور اتوماتیک این تسهیلات را به دنبال خواهند داشت که به این ترتیب دیگر نیازی به کدنویسی نخواهد بود. این ویژگی ها در ساخت مدخل های وب مورد نیاز Clientها اهمیت چشمگیری دارند.
J2EE استاندارد سازگار در سرورهای برنامه های کاربردی وب
J2EE را می توان اولین استاندارد صنعتی در پذیرش و تشخیص دنیای میان افزار دانست. تقریبا تمام سرورهای برنامه های کاربردی وب (BEA WEB Logic, IBM WEB Sphere, HP’S Application Server, Sun-Netscapes’s inlanet, Macromedia’s Jrunو غیره(، سرورهای تایید شده برنامه کاربردی J2EE هستند. تاکنون هیچ استاندارد دیگری تا این حد پشتیبانی و تایید نشده بود.
همگام بافًـزوده شدن دیگر مولفه های برنامه های کاربردی به خصوصیات J2EE، می توان آنها را در سرورهای گوناگون برنامه های کاربردی در شبکه های گسترده به کار برد. از این رو، به منظور تضمین سازگاری و همبستگی بین سرورهای متفاوت برنامه های کاربردی J2EE، مجموعه تست سازگاری را ارائه کرده است.
بینش J2EE
بینش اولیه خلق و ایجاد J2EE را می توان به صورت زیر خلاصه نمود:
“توسعه دهندگان باید کدهای مختلفی را بنویسند تا تجارت و منطق طرحشان را شرح دهند، در همین حین، زیرساختار میان افزار از مسائل سطحی سیستم مانند مدیریت حافظه، تخصیص منابع، عملیات چندرشته ای، دسترس پذیری و جمع آوری آشغال به طور اتوماتیک مراقبت می کند.
آیا J2EE مشـکلات را رفع می کند؟
حال بهتر است بررسی شود که J2EE چگونه مسائل و مشکلات اصلی ناشی از گستردگی را رفع می نماید و چگونًـًـه امکان توسسعه آتی برقرار می شودً؟
استقلال از سیستم عامل و سخت افزار
J2EE runtime بر روی ماشین مجازی جاوا (JVM) قرا رمی گیرد. شکل ۲ نشانگر این امر است. JVM مستقل از سخت افزار و سیستم عامل است. محیط (JRE) Java runtime تقریبا برای تمام سخت افزارها و سیستم عامل های مشهود در دسترس است. بنابراین با پذیرش جاوا، J2EE تشکیلات کامپیوتـری را از سرمایه گذاری در سیستم عامل ها و سخت افـزارگران و پرهزینه خلاصی می بخشد.
امکان نزدیک تر ساختن لایه یکپـارچه گسترده J2EE به سیستم های Backoffice مزیت ویژه دیگری است. در برخی موارد، می توان لایه J2EE را در خود محیط سرور EES جای داد و از این طریق ترافیک شبکه را کاهش و عملکرد آن را افزایش داد.
پیوستگی با طراحی شی گرا و متدولوژی مولفه
ارتباط تنگاتنگ با شی گرایی، جاوا را به یک زبان کدنویسی و خوش ترکیب تبدیل کرده است. تقریبا کلیه ویژگی های برنامه نویسی شی گرا در جاوا پشتیـانی شده است. مدل برنامه نویسی J2EE براساس متدولوژی های شی گرا و طراحی مبتنی بر مولفه ساخته شده است.
J2EE مدل های مولفه ای گوناگونی برای لایه های متفاوت دارد. بنابراین با پذیرش ترکیب های مناسب یک پروژه، توسعه دهندگان می توانند مولفه های بسیاری را فراهم کرده و گسترش دهند که در نتیجه توسعه برنامه های کاربردی تسریع می شود.
با این تفاسیر و قابلیت ها در تشکیلات کامپیوتری، برنامه های کاربردی خوش ساختار، انعطاف پذیر و قابل استفاده مجدد شکل خواهند گرفت.
انعطاف پذیری، قابلیت جابه جایی و قابلیت عملیات متقابل
کدهای جاوا را می توان از یک سیستم عاملی به سیستم عامل دیگر انتقال داد و مولفه های J2EE را نیز می توان از محیط یک سرور برنامه های کاربردی به محیط دیگر سرور برنامه های کاربردی انتقال داد. این بدان معناست که دیگر لزومی به قراردادن تشکیلات کامپیوتری بر روی یک محیط توسعه خاص نخواهد بود. برنامه های کاربردی را می توان در بیش از یک سرور برنامه کاربردی J2EE می توانند به خوبی با هم کار کنند. این ویژگی قابلیت عملیات متقابل بی سابقه ای را در جمع آوری مولفه های برنامه های کربردی می دهد. به عنوان مثال ممکن است که EJB را مستقیما در ارتباط متقابل با محیط های mainframelcics د رمحیط IBM قرار داد و از سرورهای BEA WEB Logic به EJB دست یافت.
یکپارچه سازی سیستم های اطلاعاتی گسترده
J2EE به سرعت در استانداردهای صنعت مانند JMS, JOBC و JCA به کار گرفته شده و موجب سادگی و یکپارچه سازی سیستم های اطلاعاتی گسترده مانند سیستم های قانونی، پیاده سازی های EID و پایگاه های داده شده است.
تقریبا تمام عرضه کننده های اصلی پایگاه های داده JDBC را پشتیبانی می کنند. بنابراین برنامه های کاربردی J2EE از قابلیت ارتباط با کلیه پایگاه های داده مشهور با کمک درایورهای مورد نیاز JDBC بهره می برند. متقابلا تعدادی از adapterهای EI مبتنی بر استانداردهای معماری متصل کننده جاوا به بازار شده اند که یکپارچه سازی نامریی با سیستم های قانونی متفاوت و پیاده سازی های ERP/CRM را انجام می دهد.
آشنایی با Java و J2EE به همراه Head First Servlet & JSP 2nd Edition