Kurumsal Java & Web Teknolojileri

27
Kurumsal Java & Web Teknolojileri Ömer ÖZKAN [email protected]

description

4/5/2013 tarihinde Mustafa Kemal Üniversitesi'nde verdiğim seminer

Transcript of Kurumsal Java & Web Teknolojileri

Page 1: Kurumsal Java & Web Teknolojileri

Kurumsal Java&

Web Teknolojileri

Ömer Ö[email protected]

Page 2: Kurumsal Java & Web Teknolojileri

Seminer Hakkında

● Java ve Kısa Tarihçesi● Java ile İlgili Kavramlar● Java Versiyonları● JavaEE ve Web● 3 Katmanlı Mimari● Gösterim Katmanı Uygulama Çatıları● İşletme Katmanı (Orta Katman) Uygulama Çatıları● Veri Katmanı Uygulama Çatıları● Geliştirme Araçları● Java Sunucuları● Çevik Yöntemler● Test Güdümlü Yazılım Geliştirme

Page 3: Kurumsal Java & Web Teknolojileri

Ömer Özkan Hakkında

● 1990, Adana doğumlu

● Bilgisayar Mühendisliği öğrencisi

● Jr. Yazılım Geliştiricisi (Jr. Software Developer)

● JavaEE, Kurumsal Uygulama Geliştiricisi

● LKD ve Özgür Yazılım Vakfı (Free Software Foundation) üyesi

● 2008'den beri GNU/Linux kullanıcısı

Page 4: Kurumsal Java & Web Teknolojileri

Ulaşmak isterseniz

● http://ozkan.info● http://omerozkan.net - Kişisel Web Günlüğü● http://www.twitter.com/omerozkan_● http://www.linkedin.com/in/omerozkan● [email protected][email protected]

Page 5: Kurumsal Java & Web Teknolojileri

Java ve Kısa Tarihçesi

● 1995 – James Gosling

● Bir kere yaz heryerde çalışsın (Write Once Run Everywhere)

● Sanal Makine (Virtual Machine)

● Çöp Toplayıcı (Garbage Collector)

● JavaDoc

● Standartlar

Page 6: Kurumsal Java & Web Teknolojileri

Java Dünyası

● JCP – Java Community Process

● JSR – Standart Dökümantasyonu (Java Specification Request)

● Farklı sürümleri vardır:

– Java SE

– Java EE

– Java ME

– Java Card

Page 7: Kurumsal Java & Web Teknolojileri

Java Kavramları

● JVM (Java Virtual Machine)● JRE (Java Runtime Environment)● JDK (Java Development Kit)

Page 8: Kurumsal Java & Web Teknolojileri

JVM'de Çalışan Diller

● Java

● Scala

● Groovy (Grails)

● JRuby

● Jython

● Clojure

● ...

Page 9: Kurumsal Java & Web Teknolojileri

Java EE

● Kurumsal Java versiyonu

● Güncel versiyon JavaEE6

● Servlet 3.0

● JSF 2.0

● CDI

● EJB 3.1

● EJB Lite

● JPA 2.0

● JAX-RS

● Bean Validation

Page 10: Kurumsal Java & Web Teknolojileri

JavaEE 7

● JSF 2.2

● Expression Language 3.0

● Servlet 3.1

● JPA 2.1

● CDI 1.1

● EJB 3.2

● JAX-RS 2.0

● Bean Validation 1.1

● JMS 2.0

● JCache

● JASPIC 1.1

Page 11: Kurumsal Java & Web Teknolojileri

Servlet Containers

● Tomcat

● Jetty

● ...

Page 12: Kurumsal Java & Web Teknolojileri

Uygulama Sunucuları

● Jboss AS – Red Hat

● Glassfish – Sun/Oracle

● Geronimo – Apache

● WebSphere – IBM

● WebLogic – Oracle

● ...

Page 13: Kurumsal Java & Web Teknolojileri

3 Katmanlı Mimari

● Presentation – Gösterim Katmanı

● Business – İşletme Katmanı

● Persistence – Veri Katmanı

Presentation

Business

Persistence

Page 14: Kurumsal Java & Web Teknolojileri

Presentation

● Servlets

● JSP (Java Server Page)

● JSF (Java Server Faces)

● Struts

● Wicket

● Google Web Toolkit

● Vaadin

● ...

Page 15: Kurumsal Java & Web Teknolojileri

JSF

● PrimeFaces

● Jboss RichFaces

● IceFaces

● ...

Page 16: Kurumsal Java & Web Teknolojileri

Business

● EJB

● Spring

● Seam

● CDI

● ...

Page 17: Kurumsal Java & Web Teknolojileri

EJB

● Enterprise Java Bean

● Dağıtık Mimari

● Transaction Yönetimi

● Güvenlik Yönetimi

● Thread Yönetimi

● Memory Yönetimi

Page 18: Kurumsal Java & Web Teknolojileri

EJB

● Session Bean

– Stateful

– Stateless

– Singleton

● Message Driven Bean (MDB)

Page 19: Kurumsal Java & Web Teknolojileri

CDI

● Context and Dependency Injection

● Nesnelere JavaEE Context üzerinden erişim sağlar

● Genişleyebilir modüler yapı

● Tüm sistemlerde çalışabilir

● Farklı implementasyonları vardır:

– Jboss Weld

– Apache OpenWebBeans

Page 20: Kurumsal Java & Web Teknolojileri

Spring

Page 21: Kurumsal Java & Web Teknolojileri

Seam

Page 22: Kurumsal Java & Web Teknolojileri

Persistence

● ORM – Object Relation Mapping

● JPA

● Hibernate

● Toplink

● IBatis

● EclipseLink

● JDBC

● ...

Page 23: Kurumsal Java & Web Teknolojileri

Geliştirme Araçları - IDE

● Eclipse

● Netbeans

● IntelliJ Idea

● JDeveloper

Page 24: Kurumsal Java & Web Teknolojileri

Geliştirme Araçları

● Derleme Sistemleri

– Ant

– Maven

● Nexus (Repository)

● Redmine (İş Takip sistemi)

● Git (Sürüm Takip Sistemi)

● Jenkins (Sürekli Entegrasyon)

● Sonar (Kod Analiz Aracı)

Page 25: Kurumsal Java & Web Teknolojileri

Test Araçları

● JUnit

● TestNG

● JSFUnit

● DBUnit

● Selenium

● Arquillian

● ...

Page 26: Kurumsal Java & Web Teknolojileri

Çevik Yöntemler

● Extreme Programming

● Scrum

● Test Driven Development (Test Güdümlü Geliştirme)

● Continuous Integration (Sürekli Entegrasyon)

● Pair Programming (Eşli Programlama)

● Small Releases (Küçük Sürümler)

● Refactoring (Yeniden Yapılandırma)

● Planning Game (Planlama Oyunu)

Page 27: Kurumsal Java & Web Teknolojileri

Sorular?