21 netbeans - research-system.siam.edu · uml, soa, web application, java ee, mobility(java me),...

12
บทที2 การทบทวนวรรณกรรมที่เกี่ยวข้อง 2.1 NetBeans คือ เครื่องมือสำหรับโปรแกรมเมอร์ที่จะใช้พัฒนำ Application ด้วยภำษำ Java NetBeans นั ้นเป็นโปรแกรมประเภท OpenSource software โดยผู้ใช้งำนไม่จำเป็นที่จะต้องเสียเงิน เพื่อซื ้อมำ ใช้งำน และยังเปิดเผย Source code ให้ผู้สนใจและนักพัฒนำนำไปดัดแปลง แก้ไข ตำมกฏของ Opensource โดยมี Sun Micro System เป็นผู้สนับสนุนโครงกำร ภำพที2.1ภำพตัวอย่ำงโปรแกรมNetBeans ปัจจุบัน NetBeans ได้รับควำมนิยมมำกยิ่งขึ ้น และได้รับกำรพัฒนำให้มีควำมสำมำรถสูง ยิ่งขึ ้นเรื่อยๆ จนถึงเวอร์ชั่นล่ำสุด คือ นอกจำกจะใช้ในกำรพัฒนำ Application ด้วยภำษำจำวำแล้ว ยังสำมำรถพัฒนำอื่นๆได้อีกหลำกหลำยโดยติดตั ้งโปรแกรมเสริม(Add-on)ได้จำก เว็บไซต์ หรือ ผ่ำนตัวอัปเดตเซนเตอร์ (Update Center) ของ NetBeans เช่น ภำษำซี/ซีพลัสพลัส (C/C++ ), Ruby, UML, SOA, Web Application, Java EE, Mobility( Java ME) , Java FX, Java Script, PHP เป็ นต้น ในเวอร์ชัน 6.0 เป็นต้นไปมีกำรรวมโปรแกรมเสริมต่ำงๆที่สำคัญเข้ำในตัวติดตั ้งของ NetBeans โดย สำมำรถเลือกติดตั ้งได้ภำยหลัง

Upload: others

Post on 17-Mar-2020

23 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 21 NetBeans - research-system.siam.edu · UML, SOA, Web Application, Java EE, Mobility(Java ME), Java FX, Java Script, PHP เป็นต้น ในเวอร์ชนั 6.0

บทท2 การทบทวนวรรณกรรมทเกยวของ

2.1 NetBeans

คอ เครองมอส ำหรบโปรแกรมเมอรทจะใชพฒนำ Application ดวยภำษำ Java NetBeans

นนเปนโปรแกรมประเภท OpenSource software โดยผใชงำนไมจ ำเปนทจะตองเสยเงน เพอซอมำใชงำน และยงเปดเผย Source code ใหผสนใจและนกพฒนำน ำไปดดแปลง แกไข ตำมกฏของ Opensource โดยม Sun Micro System เปนผสนบสนนโครงกำร

ภำพท 2.1ภำพตวอยำงโปรแกรมNetBeans

ปจจบน NetBeans ไดรบควำมนยมมำกยงขน และไดรบกำรพฒนำใหมควำมสำมำรถสง

ยงขนเรอยๆ จนถงเวอรชนลำสด คอ นอกจำกจะใชในกำรพฒนำ Application ดวยภำษำจำวำแลว ยงสำมำรถพฒนำอนๆไดอกหลำกหลำยโดยตดตงโปรแกรมเสรม(Add-on)ไดจำก เวบไซต หรอผำนตวอปเดตเซนเตอร (Update Center) ของ NetBeans เชน ภำษำซ/ซพลสพลส (C/C++ ), Ruby, UML, SOA, Web Application, Java EE, Mobility(Java ME), Java FX, Java Script, PHP เปนตน ในเวอรชน 6.0 เปนตนไปมกำรรวมโปรแกรมเสรมตำงๆทส ำคญเขำในตวตดตงของ NetBeans โดยสำมำรถเลอกตดตงไดภำยหลง

Page 2: 21 NetBeans - research-system.siam.edu · UML, SOA, Web Application, Java EE, Mobility(Java ME), Java FX, Java Script, PHP เป็นต้น ในเวอร์ชนั 6.0

5

ขอดของโปรแกรมนกคอ โปรแกรม NetBeans นนท ำงำนแยกสวนตำงๆ ออกจำกกนเปน Module จงท ำใหสำมำรถน ำ Module ตำงๆทมผทไดพฒนำตอเตมมำตดตงเพมเตมในภำยหลงได ใชงำนไดกบระบบปฏบตกำร Windows , Linux, Mac OS X and Solaris

กำรตดต ง Netbeans ส ำห รบ เข ยน Java โปรแกรม Netbeans สำมำรถดำวน โหลดไดฟ รทhttp://netbeans.org/downloads/

ภำพท 2.2 Download NetBeans

เมอท ำกำร download มำแลวจะไดเปน .exe file ซงเรำสำมำรถท ำกำรตดต งโปรแกรมไปยง directory ทตองกำรจะท ำกำรตดตงไดเลย หลงจำกตดตงโปรแกรมเสรจสมบรณแลว เรำสำมำมำรถเขำโปรแกรม NetBeans ไดจำกหนำ desktop

ภำพท 2.3ไอคอนโปรแกรม

ในทนเรำจะท ำกำรพฒนำโปรแกรมดวยภำษำ JAVA เพรำะฉะนนจะตองท ำกำร download ตว JDK หรอ http://www.oracle.com/technetwork/java/javase/downloads/index.html

Page 3: 21 NetBeans - research-system.siam.edu · UML, SOA, Web Application, Java EE, Mobility(Java ME), Java FX, Java Script, PHP เป็นต้น ในเวอร์ชนั 6.0

6

หนำจอหลกของ NetBeans จะแบงออกเปน 4 สวนใหญๆดงน

ภำพท 2.4 ตวอยำงหนำจอหลก NetBeans 1.เปนสวนของแถบเมน และ Tool ตำงๆ

2.เปนสวนทแสดงและจดกำร Project ตำงๆ เหมอนเปนกำร Browse ด Projectหรอ File ตำงๆ

3.เปนสวนทใชในกำรเขยน Code

4.เปนสวนทใชในกำรแสดงผลกำรท ำงำนตำง เมอท ำกำร Run โปรแกรม และยงมสวนของ

กำร debug โปรแกรมดวย

Page 4: 21 NetBeans - research-system.siam.edu · UML, SOA, Web Application, Java EE, Mobility(Java ME), Java FX, Java Script, PHP เป็นต้น ในเวอร์ชนั 6.0

7

เมอรจกหนำตำหรอ GUI แบบครำวๆของ NetBeans กนแลวตอไปกมำลองเขยนโปรแกรมงำยกนครบ โดยเรมจำกกำร New Project ใหมขนมำ โดยกำรเลอกท File >> New Project

ภำพท 2.5 ตวอยำง New Project

จะมหนำตำงขนมำใหเรำเลอก โดยใหเรำท ำกำรเลอก Java และ Java Application แลวกด Nextตงชอ Project Name และเลอก Path ส ำหรบโปรเจค

Page 5: 21 NetBeans - research-system.siam.edu · UML, SOA, Web Application, Java EE, Mobility(Java ME), Java FX, Java Script, PHP เป็นต้น ในเวอร์ชนั 6.0

8

ภำพท 2.6 ตวอยำงตงชอ Project Name

หลงจำกทสรำง Project บน Netbeans จะมกำรสรำงไฟล .java ขนมำใหอตโนมต ซงจะไดชอไฟลและ Class เหมอนกบชอ Project

ภำพท 2.7 ตวอยำงสรำงProject

Page 6: 21 NetBeans - research-system.siam.edu · UML, SOA, Web Application, Java EE, Mobility(Java ME), Java FX, Java Script, PHP เป็นต้น ในเวอร์ชนั 6.0

9

ทดสอบเพมค ำสงงำย ๆ ดงน

ภำพท 2.8 ตวอยำงทดสอบค ำสง

จำกนนเลอก Run

ภำพท 2.9 ตวอยำงปมRun

จะเหนวำกำรเขยน Java บน Netbeans เรำกไมตองมำนง Compile ไฟลของ java เอง เพยงแคเลอก Run แลวปลอยใหเปนหนำทของ Netbeans ทจะท ำหนำท Compile และแสดงผลลพธออกทำงหนำจอ

Page 7: 21 NetBeans - research-system.siam.edu · UML, SOA, Web Application, Java EE, Mobility(Java ME), Java FX, Java Script, PHP เป็นต้น ในเวอร์ชนั 6.0

10

ภำพท 2.10 ตวอยำงRun NetBeans

Page 8: 21 NetBeans - research-system.siam.edu · UML, SOA, Web Application, Java EE, Mobility(Java ME), Java FX, Java Script, PHP เป็นต้น ในเวอร์ชนั 6.0

11

2.2 ภาษา JAVA

ภำพท 2.11 ตวอยำงJava

ภำษำ Java เปนของบรษท Sun Microsystems ถกพฒนำและเรมใชงำนประมำณป พ.ศ. 2539 (ค.ศ. 1996) โดยถกพฒนำมำแทนทภำษำ C++ ดงนนจงมรปแบบ Syntax คลำย ๆ กบภำษำ C/C++ ในกำรเขยนภำษำ Java จะเปนภำษำโปรแกรมเชงวตถทคอนขำงจะสมบรณแบบ (Object Oriented Programming) เพรำะฉะน นกำรเขยนดวย Syntax ของภำษำ Java น น เรำจะเขยนในมมมองของ OOP เปนหลกส ำหรบกำรพฒนำภำษำ Java สำมำรถพฒนำ Application ไดหลำกหลำยรปแบบมำก เชน Application ทท ำงำนบน Windows , Mac , Linux หรอบน Web Application (JSP Java Servlet) และทก ำลงมำแรงสดในตอนนคอ กำรพฒนำ Application บน Mobile ซงในปจจบนสำมำรถพฒนำไดบน Android และBlackBerry และในอนำคตจะยงมตำมมำอกหลำยตวแนนอน ดงนนในภำษำ Java จะมรนทเปน SDK อยหลำยตว อำทเชนเรำอำจจะเคยไดยนพวก J2SE , J2EE , J2ME หรอ SE , EE , ME เรำอำจจะงงวำท ำไมมนถงมหลำยตว แตในควำมเปนจรงแลว เปนเพยงแครนส ำหรบกำรพฒนำบน Platform ตำง ๆ เชนJ2SE ปจจบนเปลยนชอเปน SE (Standard Edition) ไวส ำหรบพฒนำโปรแกรมบนคอมพวเตอรต งโตะทวไปJ2EE ปจจบนเปลยนชอเปน EE (Enterprise Edition) ไวส ำหรบพฒนำโปรแกรมในองคกรใหญๆ หรอมขอบเขตของโครงกำรกวำงมำกJ2ME ปจจบนเปลยนชอเปน ME ((Micro Edition) ไวส ำหรบพฒนำโปรแกรมบนอปกรณพกพำ เชน โทรศพทมอถอ หรอพดเอ

ส ำหรบกำรพฒนำภำษำ Java สำมำรถพฒนำ Application ไดหลำกหลำยรปแบบมำก เชน Application ทท ำงำนบน Windows , Mac , Linux หรอบน Web Application (JSP Java Servlet) และทก ำลงมำแรงสดในตอนนคอ กำรพฒนำ Application บน Mobile ซงในปจจบนสำมำรถพฒนำไดบน Android และ BlackBerry และในอนำคตจะยงมตำมมำอกหลำยตวแนนอน ดงนนในภำษำ Java จะมรนทเปน SDK อยหลำยตว อำทเชนเรำอำจจะเคยไดยนพวก J2SE , J2EE , J2ME หรอ SE

Page 9: 21 NetBeans - research-system.siam.edu · UML, SOA, Web Application, Java EE, Mobility(Java ME), Java FX, Java Script, PHP เป็นต้น ในเวอร์ชนั 6.0

12

, EE , ME เรำอำจจะงงวำท ำไมมนถงมหลำยตว แตในควำมเปนจรงแลว เปนเพยงแครนส ำหรบกำรพฒนำบน Platform

ภำพท 2.12 เปรยบเทยบกำรพฒนำ Java ในรนตำง ๆ

ในกำรพฒนำ Application ดวยภำษำ Java ทวๆไปเรำจะใชรน SE (Standard Edition) กจะม JDK (Java Development Kit) ทประกอบไปดวยCompilerและDebugger ของภำษำ Java ส ำหรบนกพฒนำ JRE (Java Runtime Environment) ซงเปนสงทรวม library ตำงๆส ำหรบกำรรนโปรแกรมทพฒนำดวย Java ตดตง JDK เพยงตวเดยวกจะม JRE รวมอยดวยเหตผลหลกทท ำใหสนใจทจะศกษำภำษำ Java กคอ มชวงหนงไดท ำงำนรบผดชอบเกยวกบกำรพฒนำ App บน Mobile ของ Android ซงตอนนโจทยคอนขำงจะยำก (ในตอนแรก) แตพอไดศกษำจรง ๆ แลว กำรพฒนำ Android ดวยภำษำ Java นนงำยมำก เพรำะในโครงสรำงของภำษำ Java เองกเปน Syntax ทงำย ๆ สำมำรถเขำใจไดอยำงรวดเรว และไดเขยนพวก .NET แบบ C# มำแลวใน 2 ภำษำนมโครงสรำงทเหมอนกนมำก และจะท ำใหสำมำรถศกษำไดอยำงรวดเรว

ภำพท 2.13 ตวอยำงภำษำJava

Page 10: 21 NetBeans - research-system.siam.edu · UML, SOA, Web Application, Java EE, Mobility(Java ME), Java FX, Java Script, PHP เป็นต้น ในเวอร์ชนั 6.0

13

2.3 MySQL

ภำพท 2.14 MySQL

MySQLคอ โปรแกรมระบบจดกำรฐำนขอมล ทพฒนำโดยบรษท MySQL AB มหนำทเกบขอมลอยำงเปนระบบ รองรบค ำสง SQL เปนเครองมอส ำหรบเกบขอมล ทตองใชรวมกบเครองมอหรอโปรแกรมอนอยำงบรณำกำร เพอใหไดระบบงำนทรองรบ ควำมตองกำรของผใช เชนท ำงำนรวมกบเครองบรกำรเวบ (Web Server) เพอใหบรกำรแกภำษำสครปตทท ำงำนฝงเครองบรกำร (Server-Side Script) เชน ภำษำ phpภำษำ APS.NET หรอภำษำเจเอสพ เปนตน หรอท ำงำนรวมกบโปรแกรมประยกต (Application Program) เชน ภำษำวชวลเบสกดอทเนต ภำษำจำวำ หรอภำษำซชำรป เปนตน โปรแกรมถกออกแบบใหสำมำรถท ำงำนไดบนระบบปฏบตกำรทหลำกหลำย และเปนระบบฐำนขอมลโอเพนทซอรท (Open Source)ทถกน ำไปใชงำนมำกทสด

จดเรมตนของ MySQL เรมตนขนในป ค.ศ.1979 Michael Widenius ชำวฟนแลนด หรอรจกกนทวไปในชอ Montyไดพฒนำเครองมอส ำหรบฐำนขอมลตวหนงชอ UNIREG เพอใชงำนภำยในบรษท TcX (บรษททำงดำนระบบคลงขอมล ประเทศสวเดน) ซงตอมำในป ค.ศ.1994 บรษทตองกำรเพมควำมสำมำรถของ UNIREG ใหสำมำรถใชงำนรวมกบระบบฐำนขอมลดวยภำษำ SQL (Structured Query Langauge) เพอกำรใชงำนในรปแบบเวบเบส ทงนทำงทมฯ จงไดเรมตนมองหำระบบฐำนขอมลเพอควำมตองกำรกำรใชงำนดงกลำว

ในตอน แรก ไดท ำกำรทดสอบระบบฐำนขอมลเชงพำณชยหลำยตว แตกพบวำไมเปนทนำพอใจ เนองจำกตำรำงขอมลของบรษทฯ มขนำดใหญ ผลลพธทไดจำกกำรประมวลผลชำเกนกวำจะรบได แตกไดพบกบระบบฐำนขอมลตวหนงชอ mSQL หรอ Mini SQL ซงพฒนำขนโดย David Hughes บรษทฯ มควำมสนใจในระบบฐำนขอมลตวนเปนอยำงมำก เพรำะวำมรำคำไมแพงนก ในครงแรกทำงบรษทฯ กไดท ำงำนรวมกบผพฒนำ เพอแกไขและเพมเตมควำมสำมำรถของ mSQL ไมวำจะ

Page 11: 21 NetBeans - research-system.siam.edu · UML, SOA, Web Application, Java EE, Mobility(Java ME), Java FX, Java Script, PHP เป็นต้น ในเวอร์ชนั 6.0

14

เปนควำมสำมำรถในกำรเชอมตอกบตำรำงขอมลแบบ ISAM (Indexed Sequential Access Method) รวมทงกำรสนบสนนกำรใชงำนดชน (Index) เปนตน

ขอก ำหนดในกำรเชอมตอ MySQL ระหวำง Server ทง 2 เครองสำมำรถตดตอสอสำรกนไดผำนระบบ Lan หรอ InternetMySQL Database เครองทเปน Server จะตอง Allow Port 3306 และ Network ของClient ก 3306 เชนเดยวกนก ำหนด Host ส ำหรบ User เปน IP ของเครอง Client หรอจะใช % ส ำหรบเครองใด ๆ กได (ปกตเปน localhost) สรปกคอ MySQL ท ำงำนใน Port Default เปน 3306 และ User ส ำหรบเชอมตอจะตองก ำหนดเปน IP หรอ %

ภำพท 2.15 ตวอยำง MySQL

ควำมสำมำรถและกำรท ำงำนของโปรแกรม MySQL มดงตอไปนMySQL ถอเปนระบบจดกำรฐำนขอมล (DataBase Management System (DBMS) ฐำนขอมลมลกษณะเปนโครงสรำงของกำรเกบรวบรวมขอมล กำรทจะเพมเตม เขำถงหรอประมวลผลขอมลทเกบในฐำนขอมลจ ำเปนจะตองอำศยระบบจดกำร ฐำนขอมล ซงจะท ำหนำทเปนตวกลำงในกำรจดกำรกบขอมลในฐำนขอมลทงส ำหรบกำร ใชงำนเฉพำะ และรองรบกำรท ำงำนของแอพลเคชนอนๆ ทตองกำรใชงำนขอมลในฐำนขอมล เพอใหไดรบควำมสะดวกในกำรจดกำรกบขอมลจ ำนวนมำก MySQL ท ำหนำทเปนทงตวฐำนขอมลและระบบจดกำรฐำนขอมล

MySQL เปนระบบจดกำรฐำนขอมลแบบ relational ฐำนขอมลแบบ relational จะท ำกำรเกบขอมลทงหมดในรปแบบของตำรำงแทนกำรเกบขอมลทงหมดลงในไฟล เพยงไฟลเดยว ท ำใหท ำงำนไดรวดเรวและมควำมยดหยน นอกจำกนน แตละตำรำงทเกบขอมลสำมำรถเชอมโยงเขำหำกนท ำใหสำมำรถรวมหรอจด กลมขอมลไดตำมตองกำร โดยอำศยภำษำ SQL ทเปนสวนหนงของโปรแกรม MySQL ซงเปนภำษำมำตรฐำนในกำรเขำถงฐำนขอมล

Page 12: 21 NetBeans - research-system.siam.edu · UML, SOA, Web Application, Java EE, Mobility(Java ME), Java FX, Java Script, PHP เป็นต้น ในเวอร์ชนั 6.0

15

MySQL แจกจำยใหใชงำนแบบ Open Source นนคอ ผใชงำน MySQL ทกคนสำมำรถใชงำนและปรบแตงกำรท ำงำนไดตำมตองกำร สำมำรถดำวนโหลดโปรแกรม MySQL ไดจำกอนเทอรเนตและน ำมำใชงำนโดยไมมคำใชจำยใดๆในระบบปฏบตกำร Red Hat Linux นน มโปรแกรมทสำมำรถใชงำนเปนฐำนขอมลใหผดแลระบบสำมำรถเลอกใชงำนได หลำยโปรแกรม เชน MySQL และ PostgreSQL ผดแลระบบสำมำรถเลอกตดตงไดทงในขณะทตดตงระบบปฏบตกำร Red Hat Linux หรอจะตดตงภำยหลงจำกทตดตงระบบปฏบตกำรกได อยำงไรกตำม สำเหตทผใชงำนจ ำนวนมำกนยมใชงำนโปรแกรม MySQL คอ MySQL สำมำรถท ำงำนไดอยำงรวดเรว นำเชอถอและใชงำนไดงำย เมอเปรยบเทยบประสทธภำพในกำรท ำงำนระหวำงโปรแกรม MySQL และ PostgreSQL โดยพจำรณำจำกกำรประมวลผลแตละค ำสงไดผลลพธดงรปท 1 นอกจำกนน MySQL ถกออกแบบและพฒนำขนมำเพอท ำหนำเปนเครองใหบรกำรรองรบกำรจดกำรกบ ฐำนขอมลขนำดใหญ ซงกำรพฒนำยงคงด ำเนนอยอยำงตอเนอง สงผลใหมฟงกชนกำรท ำงำนใหมๆ ทอ ำนวยควำมสะดวกแกผใชงำนเพมขนอยตลอดเวลำ รวมไปถงกำรปรบปรงดำนควำมตอเนอง ควำมเรวในกำรท ำงำน และควำมปลอดภย ท ำให MySQL เหมำะสมตอกำรน ำไปใชงำนเพอเขำถงฐำนขอมลบนเครอขำยอนเทอรเนต