Your SlideShare is downloading. ×
0
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Java Web Texnologiyaları
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Java Web Texnologiyaları

802

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
802
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
23
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Ziya Ə sgə rovziyaaskerov@gmail.com Aprel 2012
  • 2. I - Java HaqqındaJava nə dir?Java nə dir?Javanın tarixiJavanın tarixiJava necə işlə yirJava necə işlə yirNiyə Java ?Niyə Java ?Java ilə nə lə r edilə bilə r ?Servlet/JspServlet/JspModel -1 , Model-2 və MVC arxitekturasıModel -1 , Model-2 və MVC arxitekturası 3
  • 3. Java Nə dir ? Proqramların fə rqli ə mə liyyat sistemlərində işlə yə bilmə si üçün inkişaf etdirilmiş proqramlaşdırma dili və platformadır. Proqramlaşdırma dili olaraq, açıq kodlu, obyekt mə rkə zli (object- oriented), tə hlükə siz, internet üçün ə lverişli bir texnologiyadır. Java texnologiyası vasitə si ilə bir proqram fə rqli mühitlə rdə işlə dilə bilə r.(Windows/Linux) 4
  • 4. Javanın Tarixi 1991 Sun Microsystems şirkəti, gə lə cə yin ITC (Information Technology Channel)texnologiyasinı bəlirlə mə k adına bir araşdırma lə yihə si başlatdı. James Gosling, Patrick Naughton, Mike Sheridan, rə hbə rliyində ki komanda 13 nə fə rdə n ibarə t və adı “Green Team” (Yaşıl Komanda) idi. Layihə nin ə sas sahə si ə ylə ncə mə qsə dli şə xsi və elektronik ev cihazları idi. James A. Gosling, OC (born May 19, 1955 near Calgary, Alberta, Canada) 5
  • 5. *7 Star Seven 18 aylıq bir çalışmadan sonra 1992 yayında “*7”, “Star Seven” adlı və bir kontrol cihazı cıxardılar. Bu cihaz TV, video player və s. kimi bir çox ev cihazını kontrol edə bilirdi. Cihazın bu gücü, platformdan müstə qil bir dilə sahip olmağından idi. James Gosling bu dilə “Oak”(meşə ) adını vermişti. 6
  • 6. Java və Internet Bu layihə bir çox kabelli TV şirkətinə təklif edildi ancaq zamanının biraz önündə olduğu üçün qəbul edilmə di. Komandanın rə hbə rlə ri, inkişaf etdirdiklə ri platformanın Internetə çox ə lverişli olduğunu düşündülə r. İstiqamə tlə rini də yişdirib, adı daha sonra rəsmi olarak HotJava olan browser hazırladılar. (WebRunner) 7
  • 7. Oak’tan Java’ya Oak’ın ticari bir ad olaraq istifadə edilə bilmə mə si hüquqi bir araşdırmayla ortaya çıxdı və yeni dilin adının nə olması haqqında Sun araşdırma başlatdı. Son üçə Java, Silk ve DNA adları qalır. Və sonda Java galib gəlir. 23 May 1995’də Java rəsmi olaraq tə qdim edildi. 8
  • 8. Java Necə İşlə yir ? Java həm çevrilə n (compiled) həm də yorumlanan (interpreted) bir dildir. Java qaynaq kodları (.java faylları) Java bytecodelarına (.class fayllara) çevrilir. Bytecodelar JVM’in komandalarıdır və çalışma zamanında (run-time) JVM tarafından yorumlanır. Bytecodelar VM(Java Virtual Machine) olan hər platformda işlə yə bilə r. 9
  • 9. 10
  • 10. JVM (Java Virtual Machine) JVM (Java Virtual Machine), hardware və ə mə liyyat sistemi üstündə işlə yə n platformdur. Compile edilmiş Java kodları ilə platform arasında bir qat meydana gə tirir ve eyni bytecodeların fərqli platformlarda də yişmədən, eyni şəkildə işlə mə yini tə min edir. Her platform üçün ən az bir JVM mövcuddur. 11
  • 11. 12
  • 12. 13
  • 13. // Hello.javapublic class Hello { public static void main(String[] args){ Hello object = new Hello (); object.sayHello(); } public void sayHello(){ System.out.println(“Hello!”); }}Nə ticəHello! 14
  • 14. Niyə JAVA ? Java Platromdan müstə qildir (Portable) Java`nin en böyük üstünlüyü platformdan müstə qil olaraq işlə mə sidir. Bütün ə mə liyyat sistemlə ri Javanı də stə klə mə kdə dir. WORA (Write Once, Run Anywhere) - bir də fə yaz hər yerdə işlə t. 15
  • 15. Java & Robustness Robustness: çalışma zamanı (runtime) tə hlükə sizliyi olaraq tə rif edilir. Java, dözümlü(reliable) və güclü proqramlar yazmaq üçündür.  Çevirmə (compile) zamanında həm də çalışma (runtime)zamanında tip uyumu və də yişimi (cast) kontrol edilir.  İstisna və ziyyə tlə ri ələ almaq üçün (exception handling)mexanizması vardır.  Yaddaşın idarə si avtomatikdir, proqramçıya bıraxılmamışdır.(Garbage Collector) 16
  • 16. Carbage Collector 17
  • 17. Java Tə hlükə sizdir Java şə bə kə də istifadə edilə bilə r. Java, şə bə kə də olmağın meydana gətirdiyi təhlükələrə qarşı güclüdur. Xarici makinlardaki obyektlə rin, local makinadaki obyektlə rə və ə mə liyyat sisteminə müdaxilə si kontrol altındadır. Java’daki tə hlükə sizlik API’lari sayəsində şifrələmədən (encryption) rə qə msal imzalara (digital signatures) qədər hər cür tə hlükə sizlik kodu yazıla bilər. 18
  • 18. Java Arxitektura Olaraq Tərəfsizdir Java, bir birlərindən fərqli, bir çox fə rqli platformun olduğu şə bə kə üstündə işlə mə k üçün hazırlandığı üçün, hər hansı bir platforma xüsusi rə ğbə t göstə rmir. Bu və ziyyə t Java’nın virtual bir makina üstündə işlə mə si və heç bir platformaya rə ğbə t göstə rmə yə cə k bir şəkildə, standartlar üzərinə inşa edilməsinin bir nə ticə sidir. 19
  • 19. Java Müvə ffə qiyyə tlidir Java, memarlıq olaraq tərəfsiz olmaq üçün virtual makina kimi bir ara qat üstündə çalışmağı seçmişdir. Java etibarlı bir memarlıq üçün daha bir çox(runtime) kontrollara sahipdir. Java’nın runtime performansını artırmaq üçün çox məsafə qət edilmişdir. Optimized compiler JIT ve HotSpot texnologiyaları 20
  • 20. Java Çox Kanallıdır(Multithreaded) Kanal (thread), bir iş (process) içində meydana gə lə n hə fif ə mə liyyatlardır (lightweight process). Eyni ə mə liyyat içində işlə yə n fərqli kontrol axışlarına kanal deyilir. Kanallar eynı ə mə liyyat içində işlə diklə rində n, bir çox işi eyni anda və daha sürə tli yerinə yetirə bilirlə r. CPU və platformların çox sürə tli hala gəlməsi, dillərdəki çox kanallı özəllikləri istifadə etmə yi bizə mə cbur edir. 21
  • 21. Java ilə nə lə r edilə bilə r ? Verilə nlə r bazası ilə ə laqə li proqramlar. Servlet, Jsp (Web proqramları). Mobil telefonları, Smart kartlar üçün proqramlar. GUI proqramları, Applet’ler, Swing və s. Proqramlar.
  • 22. Applet Applet, uzaqdaki sistemdə n endirilib internet brauzeri üzərində çalışdırılabiliən java proqramlarıdır. Appletlər sistemə zərər verə bilməyəcək bir şəkildə hazırlanmışdır və bugün özəlliklə oyun saytlarında hə lə də istifadə edilmə kdə tdir. İçərisində proqram olan bir sə hifə ni açmağa çalışdığınız anda browser avtomatik olaraq java virtual maşını çalışdırır.
  • 23. Swing və AWT (Abstract Window Toolkit) AWT, ilk java ilə birlikdə inkişaf etdirilə n təməl grafika interfeys kitabxanasıdır. AWT ə mə liyyat sisteminin grafika strukturunu istifadə imkanını tə min edir. Java 2 platformu ilə birliktə AWT yetərsiz görülmüş və çox daha geniş və daha cox özəlliklərə sahib Swing kitabxanasi sistemə ə lavə edilmişdir. Swing daha ə vvə l ə mə liyyat sisteminin istifadə etdiyi hardware grafika sürə tlə ndirmə vasitə lə rini istifadə etmə diyinə görə yavaşlığı ilə tə nqidlə rə hədəf olmuşdu.
  • 24. Swing və AWT (Abstract Window Toolkit) Java 1.4 ilə Swing, həm ümümi olaraq virtual maşının sürə tlə nmə si və qismən hardware sürə tlə nmə si ilə bu pis şöhrətindən qutuldu. Java 5 və 6 ilə desktop proqramlari yazılımı mə şhurlaşdı. AWT hə lə də Swing’in bir alt qatında, təməl iki ölçülü grafika işləmlərində istifadə edilmə yə devam edir.
  • 25. SWT (Standart Widget Toolkit) SWT Swing’ə bir alternatifv olaraq IBM tərəfindan inkişaf etdirilmiş sistemidir. Swing’dən ən büyük fərqi ə mə liyyat sisteminin grafika kitabxanasını və komandalarını istifadə etmə sidir. SWT’nin ə lverişsizliyi isə Java’nin bir parçası olmamağıdır. SWT fərqli ə mə liyyat sistemlə rində fərqli performansda işlə yir və özəlliklə Windowsdan basqa sistemlərdə ə lverişli deyildir. Bilinən SWT proqramı mə şhur Java proqram yazma alə ti olan Eclipse’dir.
  • 26. Servlet 1997‘də Sun MicroSystems Servlet Texnologiyasını tə qdim etdi Servlet texnologiyası, obyekt mə rkə zli kod yazımına imkan verirdi. Proqramçılara öz kitabxanalarını yazmağa imkan yaratdı.
  • 27. ServletƏ sas gördüyü işlə rdə n bə zilə ri: Request tərəfindən göndərilən verilə nlə ri oxumaq. Gələn HTTP Request və daşıdığı bilgilər ilə qarşılıqlı ə laqə ni tə min etmə k. Verilə nlə r toplayıb, requestin tipine görə (Web, WAP, PDA, etc.) responce hazırlamaq. Requestə göndərilən HTTP responsu və daşıdığı mə lumatlar ilə qarşılıqlı ə laqə ni tə min etmə k. Dinamik olaraq yaradılan cavabı, requestere geri göndermektir.
  • 28. Servlet Servlet, dinamik mə zmun yaradan bir Java Web komponentidir. Bir Servlet, hər yönü ilə, hər şeydən öncə, bir Java obyektidir. Java Servlet sinifi, Java compiler tərəfindən, Java bayt koduna çevirilir və bir Servlet Konteyneri (Servlet Motoru) tərəfindən çalışdırılır. Servlet Konteyneri Servletlərin Web, request/responce (istə k-cavab) modelini istifadə edir. Bu model HTTP (Hypertext Transfer Protocol) pratakolu üstündə qurulmuşdur.
  • 29. Servlet Ümumi olaraq, Servletlər, Internet üzərində, HTTP pratakolu ilə istifadə üçün yaranmışdır. Amma, Servletlər pratakoldan müstə qildir. Mə sə lə n, FTP ya da SMTP istifadə edə n Servletler yazıla bilər. Servletler, Javanın, CGI (Common Gateway Interface) proqramlamasına alternativ olaraq yaradıldı.
  • 30. Servlet
  • 31. Servlet Container İlk başda Servlet Motoru (Servlet Engine) adı ilə bilinə n və J2EEnin ortaya çıxması ilə Servlet Container adlandırılan proqramlar, Servletleri və yaşam zamanlarını idarə edirlə r Servlet Container , HTTP protokolunun request və responce modelini dəstəkləmə lidir. HTTPS (HTTP over SSL - SSL üzərindən HTTP) kimi digər ə lavə protokolları da dəstəkləyir.
  • 32. Servlet/Jsp Problem: Println() funksiyası ilə HTML (!) . Cavap: Java Server Page texnologiyası. HTML və Java kodları iç-içə yazıla bilir. Web proqramları JSP-mərkəzli olmağa başladı.
  • 33. JSP (JAVA SERVER PAGES) JSP spesifikasiyası Java Servlet API üzərinə qurulmuş dur, lakin Servlet və JSP texnologiyaları arasında bəlli fərqlər vardır. Proqramlama peşə karlığı tə lə b edə n Servletlerin ə ksinə JSP daha geniş bir programçı kütləsinə xitab edir. JSP nin ə sas üstünlüyü mə zmunun prezentasiya tərəfindən ayrılmasıdır.
  • 34. JSP’nin Üstünlüklə ri Statik və Dinamik mə zmunun birbirindən ayrılması: UI (User İnterface) üzərində edilə n çox kicik də yişikliklər belə servletin yenidən compile edilmə sinə ehtiyac yaradır. Dinamik ve statik mə zmunun ayrı olmaları proqramların sabit və əsnək olmalarına yol açmaqdadır. JSP sə hifə lə rində bəzı özəl script və etiketlər (taglar) istifadə edilə bilmə ktıdir. JSP sə hifə sı avtomatik olaraq compile edilir və JSP motoru tərəfindən yene avtomatik olaraq web server içərisinə qoyulur.
  • 35. JSP’nin Üstünlüklə ri 2 Bir də fə yaz , hər yerdə çalışdır JSP sə hifə lə ri platformlar və web serverlə r arasında rahatlıqla daşınabilməkdə və hər hansi bir deyişikliye ehtiyac duymamaqdadır. Servlet API tamamən sə thilə şdirilmişdir. JSP servletin abstraklaşdırılmış halıdır. Servletlər ilə edilə n hər şey JSP ilə edilə .
  • 36. Model-1/Model-2/MVC JSP və Servlet Web proqramlarında bərabər istifadə edilmə yə başladı Servlet, web iş axışıda JSP isə HTML və kirli işlər üçün istifadə edilmə yə başladı. JSP və Servleti bərabər istifadə etmə k Model 2 olaraq adlandırılmağa başladı. Sadece JSP istifadə etmə k Model 1 olaraq bilinir.
  • 37. MVC(Model View Controller) Model View Controller (Design Pattern) User Interface və Business Logic bir birində n ayrılır. Java webdə ə n cox istifadə edilə n Design Pattern ‘dir. Sadə cə Javaya özəl deyildir.Ümumi bir konseptdir. C#, Ruby on rails, Python və s. dillərdə də istifadə edilir.
  • 38. Model View Controller
  • 39. MODEL NEDİR? İş məntiqi (Business Logic) hissə sidir. Bir neçə qatdan ibarə t ola bilə r. Ümumiyyə tlə verilə nlə r bazasındakı ə mə liyyatlar bu hiss ə d ə olur Controllerdan gələn verilə nlə ri işlə yir. Model qatında hər hansı bir output edilmə z.
  • 40. VIEW NEDİR? Proqramın istifadıçiyə göstərilən interfeysin olduğu qatdır. Html, Css, Javascript vb. bu qatda olur Bu qatda minimum java kodunun yazılmağı hədəfdir.
  • 41. CONTROLLER NƏDİR? Proqramların qərar mexanizmasıdır. Model ilə View arasında körpü işi görür. View qatından gələn request’lə ri model‘ə göndərir və Model qatından aldığı mə lumatları view‘a göndə rir.
  • 42. MVC İSTİFADƏ ETMƏ YİN ÜSTÜNÜKLƏ Rİ? İstifadiçiyə tə qdim edilə cə k kodlar ilə (Html, Css və s.) , sistemin işlə mə yini tə min edə n kodları birbirinden ayıraraq təmiz və sistemli kod yazmağı asanlaşdırır. Kodların daha asan optimizasiya edilmə sinə imkan verir Komanda içində kodların oxuna bilirliyə nə imkan yaradir. User Interface tə rə fində ki də yişikliklər iş məntiqi hissə sinə toxunulmadan edilə bilir. Front-End Developer, Back-End Developer birbirinden müstə qil olaraq işlə yə bilə i. Xə taları yaxalama və kodu test etməyi asanlaşdırır.
  • 43. II - Web Framework Texnologiyaları Framework nə dir ? Niyə Framework ? Niyə Framework ? GWT GWT Struts Struts Spring MVC Spring MVC JSF JSF 45
  • 44. FRAMEWORK NƏ DİR?
  • 45. NİYƏ FRAMEWORK? Vaxt itkisi və enerji itkisi azalır. Standart çalışma sistemini tə min edir. Komanda içində işlə mə k asanlaşır. Standart kodlama sistemini tə min edilir. Framework ilə yazılan proqramlar daha etibarlı olur. Şə kil - 1
  • 46. JAVA FRAMEWORKS
  • 47. GOOGLE WEB TOOLKIT Niyə GWT ? GWT version 1.0 May 16, 2006. Browser’lə rdə ki fə rqliliklə rin meydana gə tirdiyi zaman itkisi. JavaScript kodların yazımı, baxımı və tə hlükə sizliyinin tə mini çə tindir. Client & Server proqramlarkən proqramlama dili ayrılığı problemi. Java kodu yazılır, JavaScript yazılmır. Zə ngin komponent kitabxanaları. AJAX.
  • 48. GOOGLE WEB TOOLKIT Java dili ile yazılmış ajax proqramlarını browserdən müstə qil və optimal JavaScript koduna çevirir. GWT Compiler JavaScript kodları sürə tli işlə yə cə k optimum kodlara çevirir Ölü kodları(siniflər, metodlar) Compile vaxti silir və kodun boyunu kiçildir. Java kodunuzu yazdıqdan sonra hər dəfə Compile etmə k lazım olmur. Opera IE, Firefox, Mozilla, Safari də işlə yirmi demə də n proqramı deploy edilə bilə r.
  • 49. GWT CODE SAMPLE
  • 50.  Apache Struts, Java dünyasına standart bir MVC tə min etmə k üçün Craig R. McClanahan tərəfindan May 2000də başladı. Struts, hər hansı ölçüdə ki proqramlar üçün uyğundur. Özünə xas kitabxanaları var. Struts.xml
  • 51. Web.xml
  • 52. struts.xmlindex.jsp
  • 53. HelloWorld.java
  • 54. SPRING MVC
  • 55. SPRING MVC 1. Client Servere http request göndərir. 2. Gelen request Front Controller (DispatcherServlet) tərəfindən qarşılanır ve uyğun Handler Mappingləri tapmağa çalışır. 3. Handler Mappinglərin vasitəsi ilə DispatcherServlet istəyi uyğun controllere göndərir. 4. Controller istəyi işləyir və FrontController‘ə ModelandView obyekti döndərir. 5. FrontController bu göndərilən obyekti View Resolver ilə görüntü hazırlayır. 6. Daha sonra hazırlanan səhifə istifadəçiyə göndərilir.
  • 56. SPRING & INVERSION OF CONTROL
  • 57. SPRING & Dependency Injection
  • 58. SPRING MVC
  • 59. Dinlədiyiniz üçün təşəkkür edirəm ! Ziya Ə sgə rov ziyaaskerov@gmail.com Aprel 2012 63

×