Begitu banyak buku J2EE, sedikit waktu

Ketika datang ke J2EE (Java 2 Platform, Enterprise Edition), Anda tidak tahu bukit Enterprise JavaBeans (EJBs). Jangan khawatir, Anda akan menemukan banyak bahan bacaan untuk membantu Anda. Nyatanya, Anda mungkin menemukan terlalu banyak! Saya di sini untuk membantu Anda mempersempit pilihan menjadi satu buku yang dapat Anda bawa dari toko buku tanpa terkena hernia.

J2EE adalah kumpulan berbagai teknologi sisi server yang bersama-sama membentuk dasar aplikasi perusahaan yang kuat. Saya tidak akan membuat Anda bosan dengan ikhtisar J2EE lainnya; kemungkinan besar Anda sudah membaca satu atau lebih. Selain itu, salah satu dari empat buku J2EE yang saya ulas di sini akan memberi Anda gambaran umum seperti itu.

Pada artikel ini, saya mengulas empat buku J2EE berikut:

  • CodeNotes untuk J2EE: EJB, JDBC, JSP, dan Servlets, Robert McGovern dan Stuart Charlton, diedit oleh Gregory Brill (Random House, 2002; ISBN: 0812991907)
  • Java untuk Web dengan Servlets, JSP, dan EJB, Budi Kurniawan (New Riders Publishing, 2002; ISBN: 073571195X)
  • Pemrograman Server Java Profesional, Edisi J2EE 1.3, Cedric Beust et al. (Wrox Press, 2001; ISBN: 1861005377)
  • Sams Teach Yourself J2EE in 21 Days, Martin Bond, Dan Haywood, Debbie Law, Andy Longshaw, dan Peter Roxburgh (Sams, 2002; ISBN: 0672323842)

Di luar manfaat setiap buku, saya juga mempelajari sumber daya bonus mereka seperti Situs Web atau CD. Akhirnya, saya meringkas perbandingan saya dan memberi Anda jawaban pasti tentang mana yang terbaik.

Ketika saya membaca resensi buku, terutama resensi buku komparatif, saya menginginkan jawaban yang tegas. Untuk review ini, saya menjawab pertanyaan, "Dalam perjalanan backpacking empat hari saya di Emigrant Wilderness minggu depan, buku mana yang akan saya bawa?"

Sekilas tentang buku J2EE
  CodeNotes untuk J2EE: EJB, JDBC, JSP, dan Servlets Java untuk Web dengan Servlets, JSP, dan EJB Pemrograman Server Java Profesional, Edisi J2EE 1.3 Sams Teach Yourself J2EE dalam 21 Hari
Harga (US $) 9.95 9.99 4.99 9.99
Halaman 222 953 1.248 1.094
Bobot 9,25 oz. 3 lbs., 5 oz. 4 lbs., 1 oz. 4 lbs., 1,5 oz.
Indeks Dasar Baik Baik Baik
Glosarium Tidak Tidak Tidak Iya
CD ROM Tidak Ya — dasar Tidak Ya baik
Penulis 3 1 13 5
Versi J2EE tercakup 1.2.1 1,3 * 1.3 1.3

* Tidak disebutkan secara eksplisit; Saya menyimpulkan ini dari fakta bahwa ia mencakup Servlet 2.3, JSP 1.2, dan EJB 2.0.

CodeNotes untuk J2EE: EJB, JDBC, JSP, dan Servlets

Pada 222 halaman, CodeNotes untuk J2EE: EJB, JDBC, JSP, dan Servlets berjalan jauh lebih pendek daripada rekan-rekannya (atau apakah menurut Anda itu salah ketik?). Seri CodeNotes berusaha untuk mengajarkan subjek teknis dalam waktu kurang dari 200 halaman — sebuah konsep yang terpuji.

Situs web

Meskipun saya menyukai CodeNotes untuk J2EE: EJB, JDBC, JSP, dan Servlets sejak awal, saya kecewa mengetahui bagaimana tim penulis mencapai beberapa kesederhanaan: Mereka secara berkala memindahkan berbagai subjek ke Situs Web CodeNotes (buku tidak menyertakan CD).

Saya menganggap itu agak curang, tetapi dalam praktiknya saya tidak merasa itu menyakitkan. Selain itu, saya bisa membedakan lebih banyak tentang apa yang perlu saya baca. Biasanya ketika saya membaca sebuah buku, saya membaca bagian-bagian yang tidak perlu, kecuali bagian itu sangat panjang dan jelas tidak relevan. Dalam hal ini, jika referensi tertentu tidak relevan, saya tidak akan repot-repot membacanya di Situs Web.

Sayangnya, ketika saya benar-benar ingin mencari subjek di Situs CodeNotes, saya menemukan situs tersebut lambat dan tidak dapat diandalkan. Beberapa kali terakhir saya mencoba mengaksesnya, saya menerima pesan "Tidak dapat terhubung ke Server JRun" —bukan aplikasi yang merangsang dari teknologi J2EE. Mari beri mereka manfaat dari keraguan dan kaitkan dengan masalah perangkat keras; semoga pada saat Anda membaca ini, situs tersebut kembali online.

Buku

Adapun buku itu sendiri, ironisnya, penulis menghabiskan terlalu banyak waktu (atau terlalu banyak halaman, seolah-olah) pada subjek yang paling baik diturunkan ke Situs Web. Secara khusus, materi pengantar JDBC (Java Database Connectivity) tampaknya sama sekali tidak diperlukan, karena banyak buku lain hanya membahas JDBC.

Demikian juga, cakupan servlet dasar dan JSP (JavaServer Pages) dapat diperkecil (atau dipindahkan ke Situs Web) dalam buku jenis ini. Menjadi sebuah buku tipis (hal yang baik), itu harus membaca cepat aspek J2EE yang tercakup dengan baik dalam literatur. Dugaan saya adalah siapa pun yang memulai pekerjaan J2EE yang serius mungkin sudah memiliki rak buku yang melimpah, termasuk buku tentang Java itu sendiri, Swing, JDBC, servlet, SQL, dan JavaScript, antara lain.

CodeNotes untuk J2EE: EJB, JDBC, JSP, dan Servlets memiliki indeks renggang , dan judul daftar isi yang tidak jelas — seperti "Trik Rapi" dan "Konsep Inti" —tidak membantu saya menemukan topik tertentu. Jika saya tidak tahu pasti buku tersebut membahas topik tertentu, saya akan berasumsi bahwa buku itu tidak membahasnya dan menyerah.

CodeNotes untuk J2EE: EJB, JDBC, JSP, dan ukuran kecil Servlets terbukti berguna untuk belajar saat dalam perjalanan, membaca satu atau dua halaman sambil menunggu di dokter gigi atau sambil menyesap moka Valencia tanpa lemak, tanpa cambuk, dan tanpa lemak di kedai kopi lokal. Masalah terbesar buku ini: tidak up to date dengan J2EE 1.3. Buku ini mencakup J2EE 1.2.1, tetapi belum (belum) diperbarui. Misalnya, buku tersebut menyebutkan kacang yang didorong pesan sebagai fitur yang akan datang , tetapi tidak menjelaskan lebih lanjut.

Untuk menyimpulkan

Terlepas dari semua keluhan saya, saya menyukai CodeNotes untuk J2EE , secara umum. Saya suka buku yang membongkar materinya dan tidak mengoceh atau mengulang poin yang dibuat sebelumnya. Memang, saya berharap lebih banyak penerbit yang menyukai gaya ini. Jadi, teman-teman CodeNotes, silakan berhenti membuang-buang waktu menulis materi .Net dan perbarui buku J2EE Anda!

Java untuk Web dengan Servlets, JSP, dan EJB

Saya menemukan Java untuk Web dengan Servlets, JSP, dan EJB sebagai teks yang umumnya jelas, sebagian besar ditulis dengan baik, tetapi ini bukannya tanpa gangguan sastra sesekali.

Budi Kurniawan mengambil pendekatan pragmatis untuk memecahkan beberapa masalah spesifik, seperti pengunduhan file yang dapat diprogram (pengunduhan file dengan otentikasi) dan pengunggahan file, e-book online, dan contoh keranjang belanja sederhana. Namun, beberapa dari contoh ini tampak agak kasar di tepinya. Misalnya, contoh "E-Book Berbasis XML", tampaknya agak tidak meyakinkan. Sementara Kurniawan memuji keunggulan e-book dibandingkan buku berbasis kertas, ia memungkiri argumennya dengan tidak menerbitkan materi apapun dalam format e-book. Memeriksa proyek e-book mengungkapkan alasannya: dia merancangnya sedemikian rupa sehingga setiap topik adalah file HTML yang terpisah dan pohon isinya adalah file XML. Mengelola buku dalam bentuk itu akan menjadi mimpi buruk yang mutlak. Terlepas dari itu, e-book merupakan titik awal yang dapat disempurnakan menjadi sesuatu yang lebih mudah dikelola (kiri,secara alami, sebagai latihan untuk pembaca).

Bencana JavaScript

Untuk beberapa alasan, Kurniawan menghabiskan lebih dari 100 halaman untuk membahas JavaScript; sangat membingungkan karena pengetahuan JavaScript-nya tampaknya terbatas dan contoh-contohnya yang menghebohkan. Dia secara terang-terangan membuat pernyataan palsu tentang fitur JavaScript— "Saat Anda bekerja dengan objek dalam JavaScript, objek array pada dasarnya adalah satu-satunya pilihan Anda" (p. 621) —dan menggunakan gaya pemrograman yang buruk. Dia juga mengklaim bahwa JavaScript harus digunakan untuk kemandirian browser (p. 485), tetapi hal itu bertentangan dengan beberapa bab penuh tentang ketidakteraturan pengkodean JavaScript ("Memeriksa Apakah JavaScript Diaktifkan," "Menangani JavaScript-Browser yang Tidak Sadar," "Menangani yang Berbeda Versi JavaScript, "dan seterusnya), belum lagi realitas. Benar atau salah, hal itu menimbulkan bayangan gelap yang panjang atas kredibilitas buku itu.

Java untuk Web dengan Servlets, JSP, dan EJB menyertakan 76 halaman materi referensi J2EE — bagian dari Javadocs yang disertakan gratis dengan J2EE — yang saya anggap sebagai limbah pohon (jenis yang tumbuh di hutan, bukan jenis yang dibuat dengan JavaScript yang disorientasi objek). Siapa yang mencari panggilan API di buku? Javadocs lebih cepat dan lebih mutakhir. Sedikit sedot lemak pada JavaScript dan materi referensi, ditambah penskalaan balik rimout.println("

"); baris dalam beberapa contoh servlet akan merampingkan buku ini hingga lebih dari 20 persen.

CD

Java untuk Web dengan Servlets, JSP, dan EJB menyertakan CD yang sampel kodenya jarang diisi pasti akan lebih baik dipasang di Situs Web. Mungkinkah CD meningkatkan nilai yang dirasakan buku itu, memberikannya sedikit keunggulan dibandingkan buku tanpa CD di rak toko buku? CD tersebut berisi file upload dan download Kurniawan, tetapi ia gagal untuk memasukkan Javadocs mereka.

Anehnya, daftar kode CD berada di file teks bernama chapter-section.txt yang harus Anda ganti namanya agar bisa digunakan. Misalnya, Anda harus menyalin dan mengganti nama contoh kode pertama, dinamai 01-01.txt, menjadi TestingServlet.javasebelum Anda dapat menggunakannya.

Situs web

Baik situs New Riders maupun situs BrainySoftware tidak menyertakan informasi yang juga tidak ditemukan dalam buku atau CD.

Untuk menyimpulkan

Mungkin penerbit merasa perlu memiliki buku tebal di rak untuk subjek yang hebat seperti J2EE. Saya pikir bab JavaScript dapat secara menguntungkan diganti dengan referensi sederhana ke buku khusus JavaScript. Dengan ransel saya yang sudah berbobot lebih dari 40 lbs., Semua halaman non-J2EE itu terlihat cukup berat.

Pemrograman Server Java Profesional

Masuk ke ulasan ini, saya harus mengakui bias awal saya terhadap kelompok-dari-tiga belas Pemrograman Server Java Profesional . Saya pikir begitu banyak juru masak akan menghasilkan menu yang tersebar dan tidak teratur. Dengan senang hati saya melaporkan bahwa prasangka saya terbukti salah. Mungkin subjek yang besar dan beragam seperti J2EE cocok untuk tulisan geng? Pemrograman Server Java Profesional baik secara luas dan mendalam mencakup J2EE (tidak mengherankan, karena ia memiliki halaman paling banyak dan cetakan terkecil dari empat yang saya ulas).

Pemrograman Java Server Profesional secara menyeluruh mencakup JNDI (Java Naming and Directory Interface), berbagai aspek servlet, JSP dan pustaka tag, JavaMail, berbagai jenis EJB, JMS (Java Message Service), J2EE Connector Architecture (JCA), layanan Web, dan penyebaran.

Di sisi bawah, saya harus menyebutkan dua kekurangan fisik buku ini: Pertama, dengan banyaknya sampul buku menarik yang ditawarkan oleh penerbit seperti Manning, New Riders, dan O'Reilly & Associates, Anda akan mengira Wrox Press dapat menghasilkan sampul yang lebih menarik dari kolase 13 kutu buku. Apa yang mereka pikirkan? Selain itu, dengan catatan yang tidak terlalu mencolok, kualitas penjilidan buku yang rendah mengakibatkan halaman-halamannya terlepas dan berkibar (dan tidak, ini bukan karena saya mencoba merobek sampulnya!).

Situs web

Meskipun Pemrograman Server Java Profesional tidak menyertakan CD, Situs webnya menyertakan kode sumber yang dapat diunduh dan daftar kesalahan yang sangat singkat. Saya mengalami masalah saat menemukan situs web buku (Anda dapat menggunakan tautan praktis di bawah). Buku itu sendiri mengarahkan Anda ke beranda Wrox Press; Sesampai di sana, mencari dengan ISBN 1861005377 akan menghemat banyak masalah.

Untuk menyimpulkan

Pemrograman Server Java Profesional secara menyeluruh mencakup J2EE. Anda akan menemukannya sebagai referensi desktop yang bagus dan pengenalan J2EE yang solid. Jika Anda cukup rajin untuk membacanya dari depan ke belakang, Anda mungkin akan melakukannya untuk sementara waktu (sebenarnya Anda lebih baik bergegas jika Anda ingin menyelesaikannya sebelum J2EE 1.4 selesai!), Tetapi pada saat Anda selesai, Anda pasti akan membangun fondasi J2EE yang kokoh.

Sams Teach Yourself J2EE dalam 21 Hari

Lumayan Sams Teach Yourself J2EE di 21 Hari juga melintasi wilayah J2EE luas. Seperti Pemrograman Server Java Profesional , ini mencakup semua poin J2EE yang menonjol, serta pola desain dan pemfaktoran ulang.

Namun, sejak awal, saya menganggap gaya penulisan penulis menjengkelkan. Pemilihan kata seperti "memanfaatkan" (versi tiga suku kata dari "use") dan overloading kata "terhadap" di mana-mana menjadi "untuk", "dengan", atau "untuk" ("... menggunakan koneksi yang terdaftar di pabrik terhadap nama default JNDI ... "(p. 406)) benar-benar membuatku kesal setelah beberapa saat.

Deskripsi Buku Penamaan dan Layanan Direktori termasuk (diciptakan?) Metafora campuran terbalik: Pertama penulis menyamakan buku telepon dengan layanan penamaan, kemudian mereka menyamakan halaman kuning dengan layanan direktori (karena halaman kuning memungkinkan Anda untuk mencari atribut tambahan, bukan hanya nama). Selanjutnya, teks mengatakan bahwa buku telepon disebut direktori karena sebenarnya ini adalah layanan direktori (jadi apa halaman kuningnya sekarang?) Dan diakhiri dengan ringkasan lucu ini: "Layanan direktori telepon memungkinkan Anda mencari seseorang atau buku telepon perusahaan yang menggunakan nama mereka sebagai kuncinya. " (hal. 83) Hmm. Saya hanya bisa menebak bahwa para editornya sangat bingung, mereka membiarkan yang ini saja. Meskipun hal-hal seperti itu bertentangan dengan kepekaan saya, saya mungkin termasuk minoritas dalam masalah ini dan Anda bebas mengabaikan kritik ini.

Pemrogram berpengalaman mungkin menemukan beberapa materi pengantar yang mengganggu. Selain itu, komentar penulis yang begitu saja (dan salah) yang menyamakan kode monolitik dengan kode spaghetti dan pernyataan bahwa semua kode pemrograman berorientasi non-objek (OOP), menurut definisi, dirancang dengan buruk (serta sindiran konyol yang hanya beralih ke OOP berubah dengan buruk kode yang dirancang menjadi kode yang dirancang dengan baik) tidak membantu.

CD

Saya menemukan CD buku itu berguna dan dikerjakan secara profesional. File dengan nama yang tepat dan halaman pengantar HTML membantu Anda menavigasi CD. CD juga berisi buku dalam format PDF, yang berguna untuk keperluan pencarian.

Terakhir, penulis memanfaatkan ruang ekstra CD dengan memasukkan alat yang berguna, termasuk alat build Ant 1.4.1, Forte 3.0 Java IDE, server JBoss 2.4.4 EJB, dan banyak lagi. Tentu, Anda dapat mengunduhnya satu per satu, tetapi ini adalah sentuhan yang bagus.

Situs web

Meskipun buku tersebut menyertakan Situs Web, namun tidak banyak gunanya karena semua yang Anda butuhkan ada di CD.

Untuk menyimpulkan