Thursday, June 9, 2011

Java dasturlashi tili muhitida web frameworklar.

Java dasturlash tili platforma tanlamasligini yuqorida aytib o’tildi. Bu qulaylik webda ham juda katta yutuqlarga ega. Shuning uchun JSP, Servlet, JSF, Spring MVC kabi frameworklar ishlab chiqildi.



JSP (Java Server Pages) - mavjud yangi texnologiyalardan biri bo’lib dinamik sayt tayyorlashda qulay va foydali hisoblanadi. JSP html tili bilan birgalikda java kod qo’shib yoziladi. JSP umumiy malumotni biroz ham uzgartirmaydi, shuning uchun sahifani ko’rinishi oldingi usul bilan ishlayveradi. JSP web dasturini ishga tushirishda ajratilgan komponentalarni ishdan chiqishini oldini oladi. Bu o’z navbatida HTML va interfeys dizaynini qilishda va dinamik malumotlani chiqarishda javada kod yozish bilimini ko’p talab qilmaydi. Bundan ko’rinib turibdiki, JSP dinamik sayt qilishda Java dasturlash tilidan foydalanadi.



JAVA Servlets – CGI programmalari va script tillari uchun kuchli alternativ hisoblanadi. Servlet i API server ga juda ham o’xshash, lekin servlet java dasturlash tilida yoziliganligi uchun API server ishlatiladigan joylarda oson va qulay ishga tushadi. Java Virtual Mechine da ishga tushganligi sababli xavfsizlikni ham qo’lga kiritgan. Servletlar sevlet mexanizmida ishga tushadi.

JSF (JavaServer Faces) – J2EE web dasturlari uchun foydalanuvchi interfaysi (UI) frameworki hisoblanadi yani butunlikni saqlagan holda eski texnologiyalarni mukammallashtirgan hisoblanadi. JSF html ni teglarini umumlashtirgan holda o’zini ham teglar kutubxonasi mavjud. Teglar yordamida java va javascript tillardan foydalanmagan holda ular bajaradigan vazifani osonlik bilan bajarish imkoniga ega hisoblanadi.



Spring – bu framework o’z nomi aytib turganidek Java web dasturlash tillining bahori hisoblanadi*. Spring Java dasturlash tilini yangi evalutsiyasini boshlanishiga sabab bo’ldi. Spring yordamida Shaxsiy kompyuterlar uchun tuziladigan dasturlani web da qo’llash yoki internetda ham yirik dasturiy taminotni tayyorlashga zamin yaratib berdi. Spring asosan web dasturlarni tuzilish sturkturasini boshqarishni o’z zimmasiga aladi. Spring Java ning MVC(Model View Controller) i hisoblanadi. Spring boshqa frameworklar bilan ham juda oson hamkorlik qila oladi masalan Jsp, Jsf, WebWork, Tapestry. Bu degani spring qo’llagan holda xoxlagan frameworkni ishlatishingiz mumkin. Bundan tashqari hozirgi kunda Spring boshqa dasturlar yani Pdf, Excel, Framemaker, Vilocity lar bilan ham integratsiya qila oladi



Request Processing Lifecycle
1-rasm. Springda So’rovni harakatlanish protsesi(Request Processing Lifecycle).

Java dasturlash tili

Java dasturlash tili Sun Microsystems kompaniyasi xodimlari James Gosling, Patick Naughton, Christ Warth, Ed Frank va Mike Sheridan lar tomonidan 1991 yilda o’ylab topilgan. Birinchi ishga yaroqli talqini tayyorlash uchun 18 oy vaqt ketdi. Bu dasturlash tili birinchi nomi “Oak”(Dub) deb nomlangan lekin 1995 yilda “Java” nomiga o’zgartirilgan.


Java texnologiyasi o'ta sodda, xavfsizlikni yuqori darajada ta'minlab bera oladigan, kuchli, to'la obyektga yo'naltirilgan dasturlash tili bo'lib, muhit (platforma)ga bo'liq bo'lmagan holda ishlaydi. U bilan xatto eng kichik qurilmalarga ham dasturlar yozish mumkin. Java texnologiyasi to'laligicha  Java Virtual Machine(JVM) ga asoslangan. JVM ning vazifasi tarjimonlik ya'ni, dastlab biz yozgan  *.java fayl kompilyator yordamida bayt kodga o'giriladi va JVM yordamida esa mashina tiliga o'giradi.



JAVA ning C & C++ dan ustunligi


WORA - Write Once, Run Anywhere (portable).

Havfsizlik (ishonch yuq kodni havfsiz ishga tushirish).

Hotirani havfsiz boshqarish (avtomat ravishda musorlarni yig’adi)

Tarmoqga dasturlash

Ko’p oqimli (Multi-thread) dasturlash

Dinamik & kengaytirish

Class lar alohida fayllarda saqlanadi

Kerak bo’lsa ishlatiladi

Dinamik ravishda imkoniyatini oshirish xam mumkin kerak bo’lsa.



Java texnologiyalari.


Java SE (Java Standart Edition) - serverda, shaxsiy kompyuterda desktoplarda ishlovchi dasturlar, appletlar yaratish uchun ishlatiladi. Bu texnologiya yordamida yaratilgan dasturlar deyarli barcha Operatsion tizimlarda ishlay oladi(Windows NT, Macintosh,Linux va Solaris). Shu bilan birga JavaSE boshqa Java turlarining asosi hisoblanadi.


Java EE (Java Enterprise Edition) - Java texnologiyalari orasida eng keng tarqalgan turi xisoblanib unda asosan serverda ishlovchi dasturlar yaratiladi, masalan ko'p foydalanuvchili web-saytlar yaratishda keng qo'llaniladi va asosan internetda ishlovchi dasturlarda qo'llaniladi. Java SE ni Java EE dan eng asosiy farqi Java EE o'z tarkibiga  Java SE ni olibgina qolmay shu bilan birga ko'pgina boshqa qo'shimcha kutubxonalarni(odatda *.jar) ham o'z ichiga oladi ya'ni: Servlet, JavaMail, JSF(Java Server Face) va boshqa ko'pgina internetga asoslangan qoshimcha kutubxonalar.


Java ME (Java Micro Edition) -  Java SE  ning ba'zi qismlarini o'z ichiga oladi, JavaME yordamida kichik qurilmalar uchun dastrular yozish mumkin, masalan, mobil telefon uchun o'yinlar, dasturlar yaratish mumkin.


Javada kompilyator aytib o'tganimizdek biz yozgan kodni bayt-kodga o'giradi,odatda kompilatsiyadan o'tgan klasslar *.class qisqartirmasi  bilan tugaydi.Va kompilatsiyadan o'tgan klassni Java Virtual Machine(JVM) ga yuklanadi va bayt-kodli fayllarni interpretatsiya qiladi, ya'ni mashina tiliga o'giradi va shu bilan birga undagi kodni imkoni boricha optimallashtiradi.