You are on page 1of 45

Akın Kaldıroğlu

Java ile Nesne Merkezli Programlama


www.javaturk.org
Mart 2011
Java’nın Kısa Tarihi
 1991 yılında Sun, kapalı kapılar ardında ve Patrick
Naughton, Mike Sheridan, and James Gosling
önderliğindeki küçük bir takımla bir proje başlattı.

 13 kişiden oluşan ve “Green Team” (Yeşil Takım) adı verilen


bu grubun amacı ITC dünyasında geleceği tahmin edip ona
göre ARGE yapmaktı.

 Ve bu takım da geleceğin, kişisel ve ev elektronik


cihazlarında olduğunu öngörüp bu alana yöneldi.

www.javaturk.org 2
*7
 18 aylık hummalı bir çalışmadan sonra
1992 yazında “*7”, “Star Seven” isimli
ve dokunmalı ekrana sahip bir kontrol
cihazı geliştirdirler.
 Bu cihaz TV, video oynatıcısı ve müzik
seti gibi pek çok ev cihazını kontrol
edebiliyordu.
 Cihazın bu yeteneği, platformdan
bağımsız bir dile sahip olmasından
kaynaklanıyordu.
 James Gosling bu dile “Oak” adını
vermişti.

www.javaturk.org 3
Java ve Internet
 Bu proje pek çok kablolu TV şirketine teklif
edildi ama zamanının biraz ilerisinde
olduğundan kabul görmedi.

 Ama takımın ileri gelenleri o sırada,


geliştirdikleri altyapının Internet’e çok
uygun olduğunu farkettiler.

 Ve hemen yönlerini değiştirip, ismi daha


sonra resmi olarak HotJava olan Java-
tabanlı bir tarayıcı geliştirdiler: WebRunner.
www.javaturk.org 4
İç Giyim Olarak Oak
 Gosling explains: "We had already been developing the kind
of `underwear' to make content available at the same time
the Web was being developed. Even though the Web had
been around for 20 years or so, with FTP and telnet, it was
difficult to use. Then Mosaic came out in 1993 as an easy-
to-use front end to the Web, and that revolutionized
people's perceptions. The Internet was being transformed
into exactly the network that we had been trying to
convince the cable companies they ought to be building. All
the stuff we had wanted to do, in generalities, fit perfectly
with the way applications were written, delivered, and used
on the Internet. It was just an incredible accident. And it
was patently obvious that the Internet and Java were a
match made in heaven. So that's what we did."
www.javaturk.org 5
Oak’tan Java’ya
 Oak ismi bu sırada Java olarak değiştirildi

 Ve 23 Mayıs 1995’te Java resmi olarak piyasaya sunuldu

 Ve o tarihlerde ne Java’yı geliştirenlerin ne de bir başkasının


tahmin edemeyeceği yoğunlukta bir ilgiyle karşılaştı

 2010 yılında Oracle’ın Sun’ı satın almasıyla Java da el


değiştirmiş oldu

www.javaturk.org 6
Java Nedir?
 Sun 1995’te Java’yı sunarken yayınladığı bir yazıda Java’yı
şöyle tanıtıyordu:

 Java: Basit, nesne-merkezli, ağlarda yetenekli, yorumlanan,


sağlam, güvenli, mimari olarak tarafsız, taşınabilir, yüksek
performanslı/başarımlı, çok kanallı, dinamik bir dil.

 Java: A simple, object-oriented, network-savvy, interpreted,


robust, secure, architecture neutral, portable, high-
performance, multithreaded, dynamic language

www.javaturk.org 7
Java Basittir I
 Java’nın o kadar da basit değildir aslında
 Java, ataları olan C ve C++ dillerinden daha basittir

 Çünkü bu dillerde olan ve karmaşıklık getiren özellikleri ve


yapıları içermez:
 Pointer aritmetiği
 Bellek yönetimi (Memory management)
 İşlem Yükleme (Operator Overloading)

 Dolayısıyla Java daha yüksek seviyeli bir dildir

www.javaturk.org 8
Java Basittir II
 Java bu dillere göre aşağıdaki avantajlara sahiptir
 Platforma bağlı olmayan basit veri yapıları
 Daha derli toplu geliştirme ortamları

 Daha küçük ve sade bir dil ile daha güçlü olmayı tercih eder
 Ama son yapılan eklemelerle Java nispeten büyüdü

www.javaturk.org 9
Java Nesne Merkezlidir I
 Java nesne merkezli bir dildir.

 Nesne merkezli diller, daha çok aşina olunan


prosedürel/yordamsal dillerden çok farklıdırlar.

 Yordamsal dillerde en önemli kavram/soyutlama


yordam/prosedür/fonksiyondur ve bu yapılar, bir problemi
alt problemlere bölüp, her birini adım adım (step-wise
decomposition) tanımlamakta kullanılır

 Fakat nesne merkezli diller tamamen nesne kavramı üzerine


otururlar
www.javaturk.org 10
Nesne Nedir?
 Nesne, insan zihninin kendisine yöneldiği, özellik ve
davranışlara sahip, fiziksel olan ya da olmayan herhangi bir
varlıktır.
 Yazılımda her tip nesne için, verisi ile davranışını bir paket
haline getirip sarmalayan (encapsulation) ve adına genelde
sınıf (class) denen şablonlar oluşturulur.
 Nesneler, şablonlardan üretilir.

 Nesnelerin çoğu zaman gerçek dünyadaki varlıkları ifade


ettikleri düşünüldüğünde, nesnelerin özellikleri gerçek
varlıkların özelliklerine, davranışları ise varlıkların
birbirleriyle olan iletişimine karşılık gelir

www.javaturk.org 11
Alan Key’in 5 Kuralı
 Herşey bir nesnedir

 Program birbirlerine mesaj (message) göndererek ne


yapmalarını belirten nesnelerden oluşur

 Her nesne diğer nesnelerden (association/composition)


oluşur ve hafızada yer kaplar

 Her nesnenin bir tipi (type) vardır

 Aynı tipten olan nesneler aynı mesajları alabilirler


www.javaturk.org 12
Java Nesne Merkezlidir II
 Java’da basit veri tipleri hariç herşey, bütün tipler, bir
nesnedir

 Çok güçlü kapsülleme (encapsulation) ve bilgi saklama


(information hiding) ayırımı vardır

 Arayüz (interface) ile gerçekleştirme (implementation)


arasında çok açık bir ayrım vardır

www.javaturk.org 13
Java Ağlarda Yeteneklidir
 Tarihi olarak Java’nın ve Web devriminin doğumu aynı
döneme rast gelmiştir.

 Bu yüzden Java, ağ ve ilgili yapılar akılda tutularak


tasarlanmış ilk dildir.

 Java ile bilgisayar için değil ağ için yazılım geliştirirsiniz.


 HTTP ve HTTPs gibi en yaygın Web protokolleri
 Web Servisleri
 Uzak nesneler (remote objects)
 Ve Telnet, FTP vs. gibi diğer bütün protokoller
www.javaturk.org 14
Java Yorumlanır
 Platformdan bağımsız olabilmesi için Java kaynak kodları
doğrudan makina koduna derlenmez
 Java kaynak kodları (.java dosyaları), Java bytecodelarına
(.class dosyaları) derlenir.

 Bytecodelar JVM’in komutlarıdır ve çalıştırma zamanında


(run-time) JVM tarafından yorumlanır.

www.javaturk.org 15
Java Yorumlanır
 Aslında Java hem derlenen (compiled) hem de yorumlanan
(interpreted) bir dildir.

 Java kaynak kodları (.java dosyaları) Java bytecodelarına


(.class dosyaları) derlenir.

 Bytecodelar çalıştırma zamanında (run-time) JVM


tarafından yorumlanır.

 Dolayısıyla Java’da kod yazarken, nihai çalışma ortamını


bilmeniz gerekmez.

www.javaturk.org 16
Bytecode Nedir?
 Bytecode, JVM’in makina dilidir
 Bir byte uzunluğunda olduğu için böyle adlandırılmıştır

 Bytecode, herhangi bir işlemciye özel değildir

 Bytecodelar, JVM tarafından çalışma zamanında (run-time)


platforma özel komutlara çevrilir
 Yorumlama

 Bu şekilde Java’nın platformdan bağımsız olması sağlanır

www.javaturk.org 17
www.javaturk.org 18
JVM
 JVM (Java Virtual Machine ya da Java Sanal Makinası),
donanım ve işletim sistemi üzerinde çalışan sanal bir
platformdur.

 Her platform için en az bir JVM mevcuttur.

 Derlenmiş Java kodlarıyla platform arasında bir katman


oluşturur ve aynı bytecodeların farklı platformlarda
değişmeden, aynı şekilde çalışmasını sağlar.

www.javaturk.org 19
www.javaturk.org 20
public class Selam{

public String selamSoyle(String isim){


return "Selam " + isim + " :)";
}
}

public class SelamTest {

public static void main(String[] args) {


Selam selam = new Selam();
String cevap = selam.selamSoyle("Ali");
System.out.println(cevap);
}
}

www.javaturk.org 21
Java Taşınabilirdir
 Java tanımlı standartlar/teknik şartnameler (specifications)
üzerine kurulmuştur.
 Bu açıdan Java’da gerçekleştirmeye (implementation) bağlı
hiçbir noktanın olmaması amaçlanmıştır.
 Örneğin int veri tipi her yerde 32 bittir.

 Ayrıca, Java dili ve JVM, platformlarla alakalı sadece en


genel ön kabullere sahiptir.
 Bu durum Java’nın platform bağımsızığı ve taşınabilirliğinin
sağlayıcısıdır ve Java programcısına üzerinde çalıştığı
ortamdan bağımsız davranma gücünü verir.

www.javaturk.org 22
WORA
 Başından bu yana bir kere yaz her yerde çalıştır (Write
Once, Run Anywhere, WORA) Java’nın taşınabilirlik
konusundaki hedefidir.

 Tabi olarak bu prensipin geçerli olması için programcı da


herhangi bir platforma özel kod yazmamalıdır.

 Java’yı uzunca sürediruygulayanlar, bir kere yaz her yerde


test et (WOTA) prensibinin daha doğru olduğu üzerinde
hemfikirdirler.

www.javaturk.org 23
Java Sağlamdır
 Sağlamlık (robustness) çalışma zamanı güvenirliği olarak
tanımlanır.
 Java, dayanıklı (reliable) ve sağlam yazılımlar üretmek için
tasarlanmıştır.
 Java güçlü bir tip sistemine sahiptir dolayısıyla hem derleme
zamanında hem de çalıştırma zamanında tip uyumu ve
çevrimi (cast) kontrol edilir.
 Sıradışı durumları ele almak için mekanizma oluşturulmuştur
(exception handling).
 Hafıza işletimi otomatiktir, programcıya bırakılmamıştır.
 Ve daha pek çok derleme/çalışma zamanı kontrollerini içerir.

www.javaturk.org 24
Java Güvenlidir
 Java’nın ağ ortamlarında kullanılmak için tasarlanmış
olduğu belirtilmişti.
 Bu yüzden Java, ağ ortamlarında bulunmanın getirdiği
tehlikelere karşı koyacak şekilde yapılandırılmıştır.
 Yabancı makinlardaki nesnelerin, yerel makinadaki
nesnelere ve işletim sistemine erişimi kontrol altındadır.
 Java’nın ilk yıllarında duyulan güvenlik açıklarına artık pek
rastlanılmamaktadır.
 Java’daki güvenlik API’ları sayesinde şifrelemeden
(encryption) sayısal imzalara (digital signatures) kadar her
türlü güvenlik kodu yazılabilir.

www.javaturk.org 25
Java Mimari Olarak Tarafsızdır
 Java, birbirlerinden farklı, pek çok değişik platformun
bulunduğu ağ üzerinde çalışmak için tasarlandığından,
herhangi bir platformu varsaymaz, platformlardaki ortak
özellikler dışında herhangi bir ön kabulü yoktur.

 Bu durum Java’nın sanal bir makina üzerinde çalışması ve


hiç bir platforma varsaymayan bir şekilde, standartlar
üzerine inşa edilmesinin bir sonucudur.

www.javaturk.org 26
Java Yüksek Başarımlıdır I
 Bu özelliği tabiki açıklanmaya muhtaçtır.
 Nesne-merkezli diller, tip hiyerarşileri ve polimorfizm gibi
özelliklerinden dolayı zaten çalışma zamanında çok iş
yaparlar.
 Java, taşınabilir ve mimari olarak tarafsız olmak için sanal
makina gibi bir ara katman üzerinde çalışmayı tercih etmiştir.
 Ayrıca Java sağlam bir mimari kurgulamak için daha pek çok
çalışma zamanı kontrollerine sahiptir.
 Bu durum Java’yı tabii olarak çalışma zamanında daha yavaş
kılmaktadır.

www.javaturk.org 27
Java Yüksek Başarımlıdır II
 Java’nın çalışma zamanı performansını arttırmak için çok
mesafe katedilmiştir.
 Etkin derleyici (Optimized compiler)
 Etkin JVM, JIT ve HotSpot teknolojileri

 Java’cılar da performanslı kod yazmak için hem hız hem de


bellek tüketimi açısından, diğer dilleri kullananlara göre
daha bilgili olmalıdırlar.

www.javaturk.org 28
Java Yüksek Başarımlıdır III
 Ama unutulmamalıdır ki projeler daha çok ihtiyaçların
yanlış kavranması vs. gibi sebeplerden başarısız olmaktadır,
performanstan değil.

 Ayrıca performans ve ölçeklenirlik (scalability) genel olarak


mimarinin bir özelliğidir ve mimariler bu konulardaki
hedefler gözönüne alınarak tasarlanmalıdır.

www.javaturk.org 29
Java Çok Kanallıdır
 Kanal (thread), bir işlem/süreç (process) içinde oluşturulan
hafif hafif bir işlem/süreçtir (lightweight process).
 Aynı işlem içinde çalışan farklı kontrol akışlarına kanal denir.
 Kanallar aynı işlem içinde çalıştıklarından, birçok işi aynı
anda ve daha hızlı ve etkin olarak yerine getirebilirler
 Böylece daha yetenekli ve hızlı cevap veren yazılımlar
geliştirilebilir.
 CPU ve platformların çok hızlı hale gelmesi, dillerdeki çok
kanallı özellikleri kullanmamızı zorlamaktadır.

www.javaturk.org 30
Java Dinamiktir
 .class dosyalarındaki Java tiplerinin daha program
derlenirken hazır olmaları şart değildir, JVM’e çalıştırma
zamanında her hangi bir anda yüklenebilir.

 Dolayısıyla pek çok dilde var olan derleme zamanındaki


statik bağlantı kurma (static linking) Java’da yoktur.

 Bu da ağ üzerinde çalışan ve derleme sırasında erişilmesi


mümkün olmayıp, çalıştırma zamanında ulaşılan nesnelerin
dinamik olarak JVM’e yüklenebilmesini sağlar.

www.javaturk.org 31
Java’nın Sahibi Kimdir?
 Excel’in sahibinin Microsoft olması anlamında Java’nın
sahibi yoktur.

 Java’nın orijinal geliştiricisi olan Sun, Java’nın


lisanslayıcısıdır.

www.javaturk.org 32
Java’yi Kim Geliştirmektedir?
 Java, JCP (Java Community Process, http://www.jcp.org )
tarafından geliştirilmektedir.
 JCP, kişi ve kuruluşların serbestçe katılabildiği ve kararların
oy çoğunluğu ile verildiği milletlerarası bir ortamdır.

 Çok farklı bilgi ve tecrübeye sahip binlerce kişi ve kurum JCP


çatısın altında Java’nın gidişatını belirlerler.
 Her ne kadar Sun, JCP’de çok etkin olsa ve bu yüzden
eleştirilse de java’nın geleceği çok daha demakratik yollarla
belirlenmektedir.

www.javaturk.org 33
JSR I
 JCP’nin üyeleri yeni bir Java teknolojisini Java Specification
Request (JSR) mekanizması ile teklif edebilirler.

 Her JSR’ın bir yürütücü heyeti ve teknik bir lideri vardır.

 JSR’lar, içinde halka açık incelemenin de (public review)


bulunduğu bir dizi safhadan geçip tamamen demokratik bir
oylama ile sonuçlandırılırlar.

www.javaturk.org 34
JSR II
 Kabul edilen her JSR aşağıdaki üç şeyi üretmek zorundadır:
 API’ı da içeren bir tarifname (specification)
 Bir referans olan gerçekleme (reference implementation)
 Teknoloji uyumluluk paketi (technology compatibility kit)

 Dolayısıyla her Java teknolojisi gerçekleştirmesi, bu açık ve


üzerinde mutabakat oluşmuş tarifname ve API’lar üzerine
bina edilirler

 İsteyen her kişi ve kurum da bu tarifnameler üzerine ürün


geliştirip, bedava ya da ücretiyle lisanslayabilir.

www.javaturk.org 35
Özgür Yazılım
 Java’nın bu açık ve standartlara dayalı yapısı özgür
yazılımların gelişmesine de yardımcı olmaktadır.

 Java bugün açık kaynak kodlu (open source) yazılım


felsefesine gönül verenlerin en fazla kullandıkları dil haline
gelmiştir.

 Bu sayede hemen her Java teknolojisinin ticari olmayan,


açık kaynak kodlu gerçekleştirmesi mevcuttur.

www.javaturk.org 36
Java’nın Tipleri
 Sun, tek bir tipin yeterli olmayacağını düşünerek, Java’nın
üç farklı tipini oluşturmuştur:
 Standart Java (Standard Edition, SE)
 Mikro Java (Micro Edition, ME)
 Kurumsal Java (Enterprise Edition, EE)

 Şu anda
 Java SE’nin 6. sürümü vardır, 7.si çıkmak üzeredir,
 Java EE’nin 6. sürümü Aralık 2009’da çıkmıştır
 Java ME’nin 3.0 sürümü vardır.

www.javaturk.org 37
Java’ya Nasıl Başlarım?
 Java’ya
http://www.oracle.com/technetwork/java/index.html
(eskiden http://java.sun.com ) adresine gidip JDK’in en son
sürümünü indirip makinanıza kurarak başlayabilirsiniz.

 JDK’i kurduğunuz yerdeki bin klasörünü path’e koyup, javac


ile kodunuzu derleyip, java ile de çalıştırabilirsiniz.

 İsterseniz Netbeans (http://www.netbeans.org) ya da


Eclipse (http://www.eclipse.org) gibi geliştirme ortamlarını
da kullanabilirsiniz.
www.javaturk.org 38
Java’nın Tabiatı ve Zorlukları I
 Java nesne-merkezlidir:
 Artık prosedürel değil nesne merkezli düşünmeniz gereklidir.

 Java, sürükle-bırak merkezli programlama yaklaşımından


ziyade, C/C++ geleneğine daha uygun olarak, ne yazdığınızı
tam olarak bilmenizi ister.

 Java tarifname/şartname (specification) temellidir:


 Dolayısıyla tarifname ve onu gerçekleştiren farklı ürünlerin
olduğunu anlamanız gereklidir.
 Dolayısıyla aynı işe yapan değişik ürünler vardır.

www.javaturk.org 39
Java’nın Tabiatı ve Zorlukları II
 Java, yazılım mimarilerine, tasarım şablonlarına (design
patterns) önem verir ve onları kullanır.
 Java’da düşünmek ve modellemek yazmaktan daha önemlidir
 Küçük bir şey yapmak için bile hiç tahmin edemeyeceğiniz kadar
düşünmeniz gerekebilir.
 Dolayısıyla örneğin sürükle-bırak yoğun, 2000 satırlık ASP ya
da PHP sayfası yerine, çoğunlukla satır satır yazılmış ama çok
daha modüler ve şablonlara uygun tasarlanmış 50-100 satırlık
JSP sayfaları yazmak gereklidir.
 Java özgür ve açık kaynak kodlu yazılımların en yoğun
olduğu dildir:
 Dolayısıyla aynı işe yapan açık kaynak kodlu pek çok farklı
ürün vardır.

www.javaturk.org 40
Java Sertifikaları I
 Java’yı, sistemli bir şekilde, temellerinden başlayarak
öğrenmenin bir yolu da Oracle’ın Java sertifikalarını
almaktır.

 Oracle’ın Java sertifikaları, Java SE 5 ve 6 ile Java EE 5 ve 6


sürümleri ile Java ME üzerinedir.

 Sertifikalar, tecrübeniz olmasa bile temel bilginizin sağlam


olduğunu göstermenin en güzel yoludur.

 OCP, Java Programmer, diğer sertifikalar için zorunludur.


www.javaturk.org 41
OCM, Java EE 5 Enterprise Architect

OCP, Java
Platform, OCE, Java
OCE, Java OCE, Java
Enterprise Platform,
OCP, Java EE 5 OCP, Java EE 5 Platform, Platform, OCP, Java ME
OCP, Java EE 5 Edition 6 Enterprise
OCM, Java SE 6 Web Business Enterprise Enterprise 1 Mobile
Web Services JavaServer Edition 6
Developer Component Component Edition 6 Java Edition 6 Web Application
Developer Pages and Enterprise
Developer Developer Persistence Services Developer
Servlet JavaBeans
API Developer Developer
Developer Developer

OCP, Java Programmer

OCA, Java SE 5/SE 6

www.javaturk.org 42
Name Information Duration (min) # of Questions Passing Score (%)

This certification provides an ideal entry into an application development or a software project management career
OCA, Java SE 5/SE 6
using Java technologies. It validates basic knowledge of OO concepts, the Java programming language and general 115 51 68
knowledge of Java platforms and technologies.
This foundation certification is for programmers interested in demonstrating proficiency in the fundamentals of the
OCP, Java Programmer Java programming language.
180 60 58.33
To achieve this certification, candidates must successfully complete one exam. It is not necessary to be a Sun Certified
Java Associate prior to taking this exam.
For project: 12 For project: 320 points out of 400 possible points.
To achieve this certification, candidates must successfully complete two elements: a programming assignment and an months from Passing score is subject to the evaluation of the Step 2
OCM, Java SE 6 Developer
essay exam. Prior to attempting certification, candidates must be certified as a Sun Certified Programmer (SCJP), any assignment For essay exam: 4 essay exam and validation of the authenticity of the
edition. It is not necessary to be a Sun Certified Java Associate prior to taking this exam. purchase. For assignment.For exam: Subject to the evaluation of the
essay exam: 120 essay exam and validation of the assignment.
This certification is for developers specializing in the application of JavaServer Pages and servlet technologies used to
OCP, Java EE 5 Web present Web services and dynamic Web content.
180 69 70
Component Developer To achieve this certification, candidates must successfully complete one exam. Prior to attempting certification,
candidates must be certified as a Sun Certified Programmer (SCJP), any edition.
This certification is for Enterprise JavaBeans (EJB) technology business component developers who are responsible for
OCP, Java EE 5 Business designing, developing, testing, deploying and integrating EJB applications.
145 61 59
Component Developer To achieve certifications, candidates must successfully complete one exam. Prior to attempting certification,
candidates must be certified as a Sun Certified Programmer (SCJP), any edition.
This certification is for developers who create Web service for applications using Java technology components.
OCP, Java EE 5 Web
To achieve this certification, candidates must complete one exam. Prior to attempting certification, candidates must 150 69 68
Services Developer
be certified as a Sun Certified Programmer (SCJP), any edition.
This certification is for enterprise architects responsible for architecting and designing Java EE compliant applications
For exam: 120
with an emphasis on making the best use of Java EE features to create flexible, scalable, secure designs.
For assignment:
The SCEA certification “signifies that its holders can handle advanced design responsibilities and lead roles in creating For exam: 64 For
OCM, Java EE 5 Enterprise 12 months from
applications. To succeed, SCEA candidates must demonstrate a deep understanding of appropriate uses of modern assignment: 120 For exam: 57 For assignment: 71 For essay: N/A
Architect assignment
design architecture and current Java EE technologies for business applications.” (Ed Tittel and Dr. Bill Brogden) For essay: 8
purchase For
To achieve this certification, candidates must successfully complete three elements: a knowledge-based multiple
essay: 90
choice exam, an assignment and essay exam.
The Sun Certified JSP and Servlette Developer for the Java EE6 Platform certification is geared toward experienced
OCP, Java Platform, developers of Java technology applications. Certified individuals should have the knowledge and skills to quickly build
Enterprise Edition 6 web applications suited to any Java EE 6 application server using JSP and servlet technologies. They should be familiar
TBD TBD TBD
JavaServer Pages and with the current methods for analyzing, designing, developing, and deploying web applications with Java technologies
Servlet Developer and have some experience in constructing and deploying the small-to-medium scale web applications found in
intranet and low-volume commercial sites.
The Oracle Certified Expert, Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer should have the
OCE, Java Platform,
knowledge required to build robust back-end functionality using Enterprise JavaBeans (EJB[TM]) version 3.1
Enterprise Edition 6
technology. Through careful exam preparation, the candidate should gain practical experience with the EJB technology 110 60 60
Enterprise JavaBeans
coding experience of session beans and message driven-beans. This candidate should also be familiar with EJB design,
Developer
best practices, transaction management, messaging fundamentals, and security.
Sun Certified JPA Developers for the Java EE6 Platform should have the knowledge required to build robust back-end
OCE, Java Platform,
functionality using Enterprise JavaBeans (EJB[TM]) version 3.1 technology. They are familiar with the EJB technology
Enterprise Edition 6 Java 135 65 60
coding experience of session beans and message driven-beans. Through careful exam preparation, they should also
Persistence API Developer
gain an understanding of EJB design, best practices, transaction management, messaging fundamentals, and security.
Preparing for the Sun Certified Developer for Java EE 6 exam gives candidates the information they need to create,
OCE, Java Platform, implement, and deploy web services and web service clients using Java technology components and the Java Platform,
Enterprise Edition 6 Web Enterprise Edition 6 SDK (Java EE 6 SDK). Certified individuals should understand and appreciate web services as a 90 60 60
Services Developer realization of Service Oriented Architecture (SOA), and how to use the Java Platform, Enterprise Edition (Java EE)
technology design patterns and best practices when designing web services.
This certification is for developers who create mobile applications using Java technologies for cell phones or "smart"
OCP, Java ME 1 Mobile devices.
150 68 55
Application Developer To achieve this certification, candidates must successfully complete one exam. Prior to attempting certification,
candidates must be certified as a Sun Certified Programmer (SCJP), any edition.
www.javaturk.org 43
Java Sertifikaları II
 OCP, Java Programmer olmak “tecrübem yok ama Java’nın
temellerini iyi biliyorum” demektir.

 Java sertifikaları hakkında


http://education.oracle.com/pls/web_prod-plq-
dad/db_pages.getpage?page_id=402&p_nl=JJAV&p_org_id
=1001&lang=US sayfasından geniş bilgi alabilirsiniz.

www.javaturk.org 44
Java Sertifikaları Sınavları
 Sınavlarda çok yoğun kitabi bilgi ve uygulama
sorulmaktadır.
 Dolayısıyla teorik bir altyapıya sahip olmadan Java’yı
kullanıyor olmak ya da hiçbir Java uygulama tecrübesi
olmadan sadece kitaba çalışarak bu sınavları geçmek zordur.
 OCM, Java SE 6 Developer ’da programlama projesi ve makale
yazımı ,
 OCM, Java EE 5 Enterprise Architect’de ise sınav,
programlama projesi ve makale yazımı vardır.
 Diğer sınavlar çoktan seçmelidir
 Ayrıca OCA dışındaki sınavların hepsi için OCP, Java
Programmer sınavını başarmış olmak bir ön koşuldur.
www.javaturk.org 45

You might also like