ทักษะหลักที่นักพัฒนาเว็บต้องการคือเทคนิคต่อไปนี้
เทคโนโลยีในการพัฒนาเว็บแอปพลิเคชั่นมีความเป็นผู้ใหญ่และซับซ้อนมากขึ้น ขณะนี้ การสร้างเว็บแอปพลิเคชันต้องการมากกว่าเทคนิค HTML ธรรมดา การเข้าถึงฐานข้อมูล ภาษาสคริปต์ และการจัดการ ล้วนเป็นทักษะที่โปรแกรมเมอร์เว็บจำเป็นต้องมี มาดูกันว่าทักษะใดบ้างที่จำเป็นในการเป็นนักพัฒนาเว็บยอดนิยมในตลาด
นับตั้งแต่ CERN (สถาบันยุโรปสำหรับฟิสิกส์อนุภาค) ซึ่งเป็นศูนย์วิจัยฟิสิกส์พลังงานสูงใกล้กรุงเจนีวา เปิดตัวเว็บในปี 1991 เทคโนโลยีเว็บได้พัฒนาจากเนื้อหาแบบคงที่และ Common Gateway Interface (CGI) มาเป็นเทคโนโลยีเซิร์ฟเล็ตและ JavaServer Pages อย่างไรก็ตาม ในสังคมที่มีการแข่งขันสูงเช่นนี้ โปรแกรมเมอร์เว็บต้องการความรู้เพิ่มเติม ตัวอย่างเช่น หากในการสัมภาษณ์คุณบอกว่าคุณคุ้นเคยกับ XML และมีประสบการณ์กับ JNDI บ้าง (เทคโนโลยีสองอย่างที่เมื่อดูเผินๆ อาจดูไม่เกี่ยวข้องอย่างใกล้ชิดกับการเขียนโปรแกรมเว็บ) คุณจะทิ้งความประทับใจที่ลึกซึ้งยิ่งขึ้นให้กับเจ้านายในอนาคตของคุณ ความประทับใจ. สมมติว่าคุณรู้เกี่ยวกับภาษาการเขียนโปรแกรม Java และการเขียนโปรแกรมเชิงวัตถุแล้ว ต่อไปนี้เป็นเทคโนโลยีสองชุดที่นักพัฒนาเว็บต้องการในการทำงานประจำวันของเขา กลุ่มแรกประกอบด้วยเทคนิคที่โปรแกรมเมอร์เว็บทุกคนต้องมี กลุ่มที่สองประกอบด้วยเทคนิคที่คุณควรฝึกฝนเพื่อเป็นโปรแกรมเมอร์ขั้นสูง
ทักษะพื้นฐาน หากคุณต้องการเรียกตัวเองว่าเป็นนักพัฒนาเว็บ นี่คือทักษะที่คุณต้องมี
HTML (ภาษามาร์กอัปไฮเปอร์เท็กซ์)
HTML เป็นภาษาสำหรับเกือบทุกอย่างที่แสดงบนเบราว์เซอร์ของคุณ ไม่น่าแปลกใจเลยที่ HTML เปรียบเสมือนสัญชาตญาณในการเอาชีวิตรอดของโปรแกรมเมอร์เว็บ หากคุณยังคงต้องการค้นหา <tr> หรือ <b> ใน HTML ของคุณ คุณจำเป็นต้องปรับปรุงทักษะ HTML ของคุณจริงๆ HTML เวอร์ชันปัจจุบันคือ 4.01 คุณสามารถเรียนรู้เพิ่มเติมได้จาก http://www.w3.org/TR/1999/REC-html401-19991224/
เซิร์ฟเล็ตและ JSP
เทคโนโลยี Java servlet เป็นเทคโนโลยีหลักสำหรับการพัฒนา Java Web applications ได้รับการพัฒนาโดย Sun Microsystems ในปี 1996 และเวอร์ชันปัจจุบันคือ 2.3 แต่ผู้คนกำลังเตรียมพร้อมสำหรับเวอร์ชัน 2.4
JSP เป็นส่วนขยายของเทคโนโลยีเซิร์ฟเล็ต และเวอร์ชันปัจจุบันคือ 1.2 (เวอร์ชัน 2.0 จะได้รับการสรุปเร็วๆ นี้) บางคนคิดว่า JSP เป็นสิ่งทดแทนเซิร์ฟเล็ต แต่ไม่ได้เป็นเช่นนั้น Servlets และ JSP ใช้ร่วมกันสำหรับเว็บแอปพลิเคชันที่ซับซ้อน
การเริ่มต้นที่ดีสำหรับการเขียนโปรแกรมเว็บใน Java คือการเรียนรู้เทคโนโลยีเซิร์ฟเล็ต แม้ว่าคุณวางแผนที่จะใช้เฉพาะเพจ JSP ในเว็บแอปพลิเคชันของคุณ คุณยังจำเป็นต้องเรียนรู้เทคโนโลยีเซิร์ฟเล็ต ในเว็บแอปพลิเคชันที่ซับซ้อนมากขึ้น เพจ JSP ใช้สำหรับการแสดงผลเท่านั้น ในขณะที่ JavaBeans และไลบรารีแท็กแบบกำหนดเองถูกใช้เพื่อฝังตรรกะทางธุรกิจ นั่นคือ: คุณต้องมีความเชี่ยวชาญใน JavaBeans และไลบรารีแท็กแบบกำหนดเองด้วย
จาวาสคริปต์
JavaScript เป็นภาษาสคริปต์ที่ทำงานในเบราว์เซอร์หลักๆ ทั้งหมด คุณใช้ JavaScript สำหรับการเขียนโปรแกรมฝั่งไคลเอ็นต์ งานที่สำคัญที่สุดในการเขียนโปรแกรมฝั่งไคลเอ็นต์คือการตรวจสอบอินพุตของผู้ใช้ ประโยชน์ของการใช้การตรวจสอบความถูกต้องอินพุตฝั่งไคลเอ็นต์คือการลดภาระงานของเซิร์ฟเวอร์และปรับปรุงเวลาตอบสนอง นอกจากนี้ JavaScript ยังใช้สำหรับการเปลี่ยนเส้นทาง การจัดการคุกกี้ การควบคุมแอปเพล็ต การสร้างแผนผังการนำทาง การเปิดอินสแตนซ์ใหม่ของเบราว์เซอร์ และอื่นๆ อีกมากมาย
SQL (ภาษาคิวรีที่มีโครงสร้าง) และ JDBC (การเชื่อมต่อฐานข้อมูล Java)
ปัจจุบันเว็บแอปพลิเคชันส่วนใหญ่มีการเข้าถึงข้อมูลในฐานข้อมูลเชิงสัมพันธ์ ในฐานะโปรแกรมเมอร์เว็บ คุณจำเป็นต้องรู้วิธีจัดเก็บ ดึงข้อมูล และจัดการข้อมูลในฐานข้อมูล บางครั้ง คุณยังจำเป็นต้องออกแบบฐานข้อมูลและสร้างตารางและโครงสร้างอื่นๆ ในฐานข้อมูลด้วย SQL คือภาษาที่ใช้จัดการข้อมูลในฐานข้อมูล โดยทั่วไปคุณจะต้องเขียนคำสั่ง SQL (มักจะเป็นไดนามิก) ส่งต่อไปยังเซิร์ฟเวอร์ฐานข้อมูล และรับข้อมูลกลับ (ถ้ามี)
เมื่อใช้ภาษา Java คุณต้องใช้ JDBC เพื่อช่วยให้เว็บแอปพลิเคชันสื่อสารกับเซิร์ฟเวอร์ฐานข้อมูล JDBC มีสองส่วน: JDBC Core API (Application Programming Interface) และ JDBC Optional Package API กลุ่มแรกใช้เพื่อดำเนินการกับข้อมูลพื้นฐาน เช่น การสร้างการเชื่อมต่อหรือการอ่าน การอัปเดต และการลบบันทึกในตาราง กลุ่มที่สองมีคุณสมบัติการเชื่อมต่อฐานข้อมูลขั้นสูงเพิ่มเติม เช่น การรวมการเชื่อมต่อ ธุรกรรม และ RowSet JDBC เวอร์ชันปัจจุบันคือ 3.0 และ API รวมอยู่ใน J2SE v. 1.4
การจัดการคอนเทนเนอร์เว็บและการปรับใช้แอปพลิเคชัน เซิร์ฟเล็ตและเพจ JSP ของคุณทำงานในกลไกที่เรียกว่าคอนเทนเนอร์เซิร์ฟเล็ต/JSP หรือคอนเทนเนอร์เว็บ อย่างน้อยคุณต้องรู้วิธีปรับใช้ทรัพยากรบนเว็บของคุณสำหรับการทดสอบและการดำเนินการจริง ตัวอย่างเช่น หากคุณใช้ Tomcat สิ่งหนึ่งที่คุณต้องรู้คือวิธีแมปแอปพลิเคชันในไฟล์คอนฟิกูเรชัน (server.xml) เพื่อให้ Tomcat รู้วิธีเรียกเพจ JSP ของคุณ นอกจากนี้ คุณจำเป็นต้องทราบตำแหน่งที่จะบันทึกไลบรารีของคุณ และวิธีการสร้างตัวอธิบายการปรับใช้แอปพลิเคชัน
XML (ภาษามาร์กอัป eXtensible)
XML เป็นดาวรุ่งที่ประสบความสำเร็จในสาขาคอมพิวเตอร์ พัฒนาโดย World Wide Web Consortium ในปี 1996 ปัจจุบัน XML เป็นมาตรฐานที่ได้รับการยอมรับอย่างกว้างขวางสำหรับการแลกเปลี่ยนข้อมูลและโครงสร้างข้อมูลที่ขยายได้ XML มีบทบาทสำคัญในการพัฒนาเว็บ Java ตัวอย่างเช่น ตัวอธิบายการปรับใช้ของแต่ละแอปพลิเคชันอยู่ในรูปแบบ XML นอกจากนี้ หากคุณกำลังพัฒนาบริการบนเว็บ คุณจะใช้ SOAP (Simple Object Access Protocol) ซึ่งส่วนใหญ่ใช้ HTTP และ XML
นอกจากนี้ในแอปพลิเคชันบนเว็บ XML อาจใช้เพื่อจัดเก็บข้อมูลแบบลำดับชั้นด้วย
สถาปัตยกรรมรุ่น 2 เป็นเทคโนโลยีที่ทันสมัยที่สุดในประเภทเดียวกัน โครงสร้างนี้แนะนำสำหรับการสร้างเว็บแอปพลิเคชัน Java ที่ค่อนข้างซับซ้อน โครงสร้างโมเดล 2 ขึ้นอยู่กับกระบวนทัศน์การออกแบบ Model-View-Controller
เทคนิคขั้นสูง เทคนิคต่อไปนี้จะแยกคุณออกจากผู้เริ่มต้น
JSTL (ไลบรารีแท็กมาตรฐาน JSP), โปรเจ็กต์ Jakarta Taglibs และไลบรารีอื่นๆ เพื่อเร่งการพัฒนาแอปพลิเคชัน คุณมักจะใช้โค้ดซ้ำ พูดง่ายๆ ก็คือ การใช้โค้ดซ้ำหมายความว่าหากมีคนเขียนโค้ดเพื่อทำหน้าที่บางอย่างไปแล้ว คุณคงดีกว่าใช้โค้ดนั้นแทนที่จะเขียนเอง ดังนั้น JSP จึงอนุญาตให้คุณใช้แท็กที่กำหนดเอง มีห้องสมุดหลายแห่งที่คุณสามารถใช้ได้ โดยห้องสมุดที่ได้รับความนิยมมากที่สุดคือห้องสมุดจากโครงการ Jakarta Taglibs ของ Apache แพ็คเกจนี้สามารถดาวน์โหลดได้จาก http://jakarta.apache.org/taglibs/index.html และคุณสามารถใช้อะไรก็ได้ที่คุณพบในแพ็คเกจนี้ก่อนที่จะเริ่มสร้างคลาสใหม่
JSTL เพิ่งกลายเป็นมาตรฐาน ไลบรารีแท็กอื่นๆ มีให้บริการฟรีหรือในเชิงพาณิชย์
โครงการ Apache Struts
Struts เป็นโครงการทรัพยากรสาธารณะที่สนับสนุนโดย Apache ซึ่งจัดเตรียมเฟรมเวิร์กสำหรับการสร้างแอปพลิเคชันเว็บ Java Model 2 Struts จัดเตรียมส่วนประกอบคอนโทรลเลอร์ของตัวเองสำหรับโครงสร้าง MVC ใช้ EJB, JDBC และ JNDI สำหรับ Model และใช้ JSP และเทคโนโลยีอื่น ๆ สำหรับ View คุณสามารถค้นหาข้อมูลรายละเอียดเพิ่มเติมเกี่ยวกับโครงการนี้ได้จากเว็บไซต์: http://jakarta.apache.org/struts/index.html
XHTML (ภาษามาร์กอัป HyperText ที่ขยายได้)
XHTML เป็นเทคโนโลยีที่มุ่งมั่นที่จะรวม HTML และ XML คุณสามารถนึกถึง XHTML ว่าเป็น HTML รุ่นต่อไป เวอร์ชันปัจจุบันคือ 1.0 (เวอร์ชันที่สองเปิดตัวเมื่อวันที่ 1 สิงหาคม พ.ศ. 2545) XHTML ไม่ได้รับความนิยมเท่ากับ HTML แต่จะมีบทบาทสำคัญมากขึ้นในอนาคต ตามที่ผู้เชี่ยวชาญด้านการออกแบบเว็บไซต์ Molly Holzschlag กล่าวไว้ เหตุผลหลักที่ผลักดันให้บริษัทต่างๆ เปลี่ยนมาใช้ XHTML คือกฎหมายของสหรัฐอเมริกาว่าด้วยการเข้าถึงแบบสาธารณะ (การเข้าถึง) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ XHTML โปรดดูบทสัมภาษณ์ของ Holzschlag
DHTML (ไดนามิก HTML)
DHTML ช่วยให้ผู้คนโต้ตอบกับเว็บไซต์ของคุณได้มากขึ้น ตัวอย่างเช่น การใช้ DHTML คุณสามารถสร้างและแสดงเมนูย่อยได้อย่างง่ายดายเมื่อผู้ใช้เลื่อนเมาส์ไปเหนือลิงก์ ความท้าทายที่ใหญ่ที่สุดในการใช้ DHTML คือการสร้างหน้าข้ามเบราว์เซอร์ ตามทฤษฎีแล้ว การออกแบบเพจควรได้รับการจัดการโดยศิลปิน โดยที่ HTML แบบไดนามิกถูกสร้างขึ้นโดยใช้เครื่องมือ อย่างไรก็ตาม เว็บโปรแกรมเมอร์มักจะรับผิดชอบในการรวมชิ้นส่วนทั้งหมดเข้าด้วยกัน และหากโค้ดที่สร้างในเพจเสียหาย คุณจะต้องเข้าใจ DHTML เพื่อแก้ไข
การเขียนโปรแกรมแอปเพล็ต
แอปเพล็ตเคยมีความสำคัญในการให้การโต้ตอบ โดยเฉพาะอย่างยิ่งก่อนการถือกำเนิดของ DHTML ตอนนี้บทบาทของแอปเพล็ตลดลง และโปรแกรมเมอร์จำนวนมากขึ้นก็เลิกใช้แอปเพล็ตอีกต่อไป การตัดสินใจของ Microsoft ที่จะไม่ให้การสนับสนุนเริ่มต้นสำหรับแอปเพล็ตในเบราว์เซอร์ใหม่จะลดบทบาทของแอปเพล็ตในแอปพลิเคชันเว็บลงอย่างมาก อย่างไรก็ตาม แอปเพล็ตยังไม่ตาย สำหรับงานบางอย่าง เช่น การแสดงหัวข้อข่าว แอปเพล็ตยังคงไม่สามารถถูกแทนที่ได้ และแอปเพล็ตจะไม่สร้างปัญหาความเข้ากันได้ข้ามเบราว์เซอร์
โปรโตคอล HTTP
โปรแกรมเมอร์เว็บ Java มักใช้โปรโตคอลที่สูงกว่า HTTP เช่น การใช้เซิร์ฟเล็ตและ JSP API API เหล่านี้ซ่อนความซับซ้อนของโปรโตคอล HTTP ดังนั้น คุณยังคงสามารถสร้างแอปพลิเคชันที่สำคัญได้โดยไม่ต้องมีความรู้เกี่ยวกับโปรโตคอล HTTP มากนัก เฉพาะในกรณีที่คุณต้องการจัดการกับข้อมูลดิบ เช่น การอัปโหลดหรือการส่งไฟล์เป็นไฟล์แนบ คุณจำเป็นต้องมีความรู้เพิ่มเติมเกี่ยวกับโปรโตคอลหรือไม่
EJB (องค์กร JavaBeans)
EJB เป็นส่วนหนึ่งของ J2EE และมีความสำคัญเมื่อความสามารถในการขยายขนาดและประสิทธิภาพเป็นข้อกำหนดหลักของเว็บแอปพลิเคชันของคุณ EJB มีสามประเภทในข้อกำหนดปัจจุบัน (EJB 2.0): EJB เซสชัน, EJB เอนทิตี และ EJB ที่ขับเคลื่อนด้วยข้อความ ข้อมูลจำเพาะใหม่เวอร์ชัน 2.1 อยู่ระหว่างการออกแบบ
JNDI (การตั้งชื่อ Java และอินเทอร์เฟซไดเรกทอรี)
JNDI มีความสำคัญเมื่อคุณกำลังพัฒนา Enterprise Bean เนื่องจากการเข้าถึง EJB ทำได้ผ่านบริการตั้งชื่อ JNDI ใช้บริการตั้งชื่อเพื่อค้นหาวัตถุที่เกี่ยวข้องกับชื่อเฉพาะ ในบริบท EJB เซอร์วิสการตั้งชื่อจะค้นหาเอนเตอร์ไพรซ์บีน โดยกำหนดชื่อของบีน ดังนั้นการทำความเข้าใจ JNDI จึงเป็นสิ่งสำคัญในการพัฒนาแอปพลิเคชัน EJB นอกจากนี้ JDBC สามารถใช้ JNDI เพื่อเข้าถึงฐานข้อมูลเชิงสัมพันธ์ได้
เครื่องมืออื่นๆ การรู้ว่าจะหาเครื่องมือสนับสนุนเฉพาะได้จากที่ไหนมักจะช่วยให้อาชีพของคุณเติบโตได้ ตัวอย่างเช่น หากคุณได้รับมอบหมายให้ทำงานเกี่ยวกับการเปรียบเทียบประสิทธิภาพ คุณจะยินดีที่ได้ทราบว่าคุณสามารถดาวน์โหลด Jmeter จากโครงการ Jakarta ของ Apache ได้ นอกจากนี้ หากคุณต้องการส่งผลเอาต์พุตในรูปแบบ PDF ขอแนะนำให้คุณใช้ไลบรารี Java-PDF ซึ่งสามารถดาวน์โหลดได้ฟรีจาก http://www.lowagie.com/iText/ เทคโนโลยีอินเทอร์เน็ตแพร่หลายและพัฒนาอย่างรวดเร็ว ซึ่งหมายความว่าในฐานะเว็บโปรแกรมเมอร์ คุณควรใส่ใจเสมอว่าเทคโนโลยีใหม่ๆ ใดบ้างที่กำลังเกิดขึ้นในอุตสาหกรรม และเหตุการณ์สำคัญที่กำลังเกิดขึ้น ไม่มีทรัพยากรใดที่จะดีไปกว่าอินเทอร์เน็ตในเรื่องนี้
เกี่ยวกับผู้เขียน:
Java สำหรับเว็บ
ด้วย Servlet, JSP และ EJB
Budi Kurniawan เป็นที่ปรึกษาด้านไอทีที่เชี่ยวชาญด้านอินเทอร์เน็ตและการเขียนโปรแกรมเชิงวัตถุ และสอนเทคโนโลยี Java และ Microsoft เขาเป็นผู้เขียน Java สำหรับเว็บที่ขายดีที่สุดพร้อม Servlets, JSP และ EJB: คู่มือสำหรับนักพัฒนาเกี่ยวกับโซลูชันที่ปรับขนาดได้ (New Riders) และพัฒนา Java Upload Bean ที่ได้รับความนิยมสูงสุด ซึ่งคุณสามารถดาวน์โหลดได้จาก BrainySoftware com และบริษัทสำคัญๆ หลายแห่งได้อนุญาตและใช้มันในโครงการของตน สามารถติดต่อ Budi ได้ที่ [email protected]