SlideShare a Scribd company logo
1 of 17
Download to read offline
1

                            Eclipse tool for deverlopment Java Enterprise

เรียบเรียงและสัมมนาโดย                                                        นาย ณัฐวัฒน อุดมทรัพยพงศ
                                                                              นาย วิสันต เกียรติบัวใหญ
อาจารยที่ปรึกษา                                                              อ.วชิราวุธ ธรรมวิเศษ



                                                   บทคัดยอ

         การศึกษาโปรแกรมที่ชวยพัฒนา software นั้นมีหลายตัว ซึ่งโปรแกรมในการชวยพัฒนาภาษา JAVA ก็มี
หลากหลาย ตัวอยางเชน JBuilder, NetBean, SunOne, Eclipse ฯลฯ กรณีนี้ไดเลือกศึกษาเครื่องโปรแกรมที่ชวย
พัฒนาภาษา JAVA คือ Eclipse เปนโปรแกรมที่ชวยพัฒนา software โดยมีสถาปตยกรรมแบบเปดทําใหนักพัฒนา
โปรแกรมนําสถาปตยกรรมนี้ไปพัฒนาโปรแกรมเสริมสําหรับ Eclipse อยางแพรหลาย ในการศึกษานี้จะใช
Lomboz เปน open source สําหรับพัฒนาโปรแกรมภาษา JAVA โดยเปนพื้นฐานของ J2EE และสามารถใชติดตอ
กับ Java Application Servers



                                                   Abstract

          Java application Integrated Development Evironment such as JBuilder, NetBean, SunOne, Eclipse
and etc . Eclipse is a open Archtitecture platform that has been designed from the ground up for building
integrated web and application development tooling. By design, the platform does not provide a great deal of
end user functionality by itself. The value of the platform is what it encourages: rapid development of integrated
features based on a plug-in model . Lomboz is plug-in Development on Eclipse Platform for develop J2EE and
supported to integrated with Java Application Server
2

                                                    คํานํา

          เอกสารฉบับนี้เปนสวนหนึ่งของวิชาสัมมนา 320491          จัดทําขึ้นเพื่อใหมีความรูความเขาใจในเรื่อง
Eclipse Platform เนื่องจากในปจจุบันนี้การพัฒนา software ตางๆ จําเปนตองมีโปรแกรมชวยพัฒนา ซึ่ง Eclipse
Platform เปนโปรแกรมหนึ่งที่มีความสามารถอยางยิ่ง โดยโปรแกรม Eclipse Platform จะมี plugin ชวยใหพัฒนา
software เร็วขึ้น สามารถพัมนาไดทุกอยางที่มี plugin ในตัวมัน
          ทางผูจัดทําหวังวาเอกสารฉบับนี้ จะมีประโยชนไมมากก็นอย สําหรับผูที่สนใจจะศึกษาเกี่ยวกับ Eclipse
                                                                
Platform หากผิดพลาดประการใด ทางผูจัดทําตองขออภัยไว ณ ที่นี้ดวย




                                                                  นาย ณัฐวัฒน        อุดมทรัพยพงศ
                                                                  นาย วิสันต         เกียรติบัวใหญ
                                                                                 23 กรกฎาคม 2546
3

                                             สารบัญ
            เรื่อง                                    หนา
 บทคัดยอ (Abstract) ภาษาไทย                           1
 บทคัดยอ (Abstract) ภาษาอังกฤษ                        1
 คํานํา                                                2
 สารบัญ                                                3
 บทนํา                                                 4
 วรรณกรรมที่เกี่ยวของ                                 4
        1. ความหมาย                                    4
              1.1 J2EE                                 4
              1.2 Application Server                   5
              1.3 Java Application Server              6
              1.4 Web Application                      8
              1.5 Java Servlet / Java Server Pages     8
              1.6 Enterprise Java Beans                9
วัตถุประสงคและเปาหมาย                                10
วิธีการศึกษา                                           10
         1. หลักการศึกษา                               10
         2. ขั้นตอนการศึกษา                            10
ผลการศึกษาและวิจารณ                                   10
สรุปและขอเสนอแนะ                                      15
บรรณานุกรม                                             16
ประวัติผูเขียน                                        17
4

                                                   บทนํา
           ปจจุบันภาษา Java มีบทบาทในการพัฒนา Application ตางๆเนื่องดวยความสามารถที่หลากหลายและ
สามารถทํางานบนระบบปฏิบัติการณไดหลากหลาย และดวยความตองการในการใชงาน Application ที่มากขึ้นอีก
ทั้งขอมูลตางๆอยูในลักษณะเครือขายทําให Java ไดพัฒนาชุดคําสั่งขึ้นมาเพื่อรองรับความตองการนี้ซึ่งนั้นก็คือ
J2EE ที่มีชุดคําสั่งรองรับการทํางานแบบ Application Server คือ Application ที่ทํางานบนเครือขายไดอยางมี
ประสิทธิภาพ
           โปรแกรม Eclipse เปนโปรแกรมที่ใชในการพัฒนา Application-Server ไดอยางมีประสิทธิภาพ อีกทั้งยัง
มีสถาปตยกรรมที่รองรับการพัฒนาโปรแกรมเสริม( plugin ) ทําใหมีโปรแกรมเสริมใหเลือกใชหลากหลาย และ
ดวยรูปแบบที่งายตอการพัฒนาโปรแกรม

วรรณกรรมและผลการศึกษาที่เกี่ยวของ
   1. ความหมาย
         1.1 J2EE
                 Java เปนภาษาคอมพิวเตอรที่ถูกสรางมาเพื่อใชพัฒนาโปรแกรมแบบ stand alone แตตอมา
             รูปแบบของโปรแกรมถูกพัฒนาขึ้นใหสามารถใชรวมกันในเครือขายได java จึงไดพัฒนาชุดคําสั่ง
             โปรแกรมใหมมาเพื่อรองรับความตองการนี้ได
                 J2EE ยอมาจาก Java 2 Enterprise Edition เปน JAVA ที่ถูกพัฒนาเพื่อรองรับความตองการ
             การพัฒนา Application บนฝง server ซึ่งประกอบดวยเทคโนโลยีตางๆดังนี้
             • Enterprise JavaBean (EJB)
                 เปนคอมโพเน็นต และมาตรฐานในการติดตอระหวางคอมโพเน็นตกับตัวคอนเทนเนอร ซึ่ง
                 ผูพัฒนาสามารถนําคอมโพเน็นตตางๆไปประยุกตใชกับงานตางๆที่เหมาะสมได
             • Remote Method Invocation (RMI-IIOP)
                 เปนมาตรฐานในการติดตอสื่อสารระหวางออบเจ็กตแบบกระจาย (distributed object) ซึ่งสนับ
                 สนุนมาตรฐาน COBRA ที่เปนมาตรฐานในการสื่อสารกับ Application server อื่นที่ไมได
                 พัฒนาดวย Java
             • Java Naming and Directory Interface (JNDI)
                 ทําหนาที่ระบุตําแหนงของคอมโพเน็นต และทรัพยากรตาง ๆ ในระบบเครือขาย เพื่อหาคอม
                 โพเน็นตตางๆที่กระจายที่อยูบนเครือขาย
             • Java Servlet และ Java Server Page (JSP)
                 เปนคอมโพเน็นตในระบบเน็ตเวิรตซึ่งทํางานในรูปแบบของ request/response ซึ่งจะจัดการกับ
                 request ที่ถูกสงเขามาจากไคลเอ็นทนั้นๆ และเมื่อทําการประมวลผลเสร็จ จึง response กลับไป
                 ยังไคลเอ็นตนั้นๆ
             • Java Database Connectivity (JDBC)
                 เปนมาตรฐานของจาวาที่ใชการเขาถึงขอมูล ซึ่งเราจะเขียนโคดในสวนของการติดตอกับ API
                 ของ JDBC ซึ่งเปนมาตรฐานการติดตอกับฐานขอมูลเชิงสัมพันธ
5

    • Java Transaction API (JTA) และ Java Transaction Service (JTS)
      ใชจัดการกับทรานแซ็กชัน JTA เปนอินเทอรเฟซของทรานแซ็กชันในระดับบนที่แอพพลิเคชัน
      ใชในการจัดการทรานแซ็กชัน JTS เปนอินเทอรเฟซของทรานแซ็กชันของ EJB สามารถทํา
      ทรานแซ็กชันแบบกระจายไดภายใตเซิรฟเวอรของผูผลิตตาง ๆ กัน
    • Java Messaging Service (JMS)
      ใชในการประสานงานโปรแกรมประยุกตดวยกัน
    • JavaMail
      ใชสําหรับการติดตอ mail server ขององคกร
    • Java IDL
      เปนภาษากลางเพื่อใชสื่อสารกับโปรแกรมประยุกตระดับองคกรที่พัฒนาดวยเทคโนโลยีอื่น
    • J2EE Connector Architecture (JCA)
      ใชสําหรับการติดตอกับระบบอื่นๆที่มีอยูเดิมในเครือขายองคกร
    • Java Authentication and Authorization Service (JAAS)
      เปนมาตรฐานที่ใชจัดการกับความปลอดภัยใน J2EE
    • Java API for XML Parsing (JAXP)
      ชุดคําสั่งตางๆที่ใชจัดการไฟล XML

1.2 Application Server
         เปนแนวคิดใหมโดยนําการทํางานตางของ Java Application มาไวบน Server ซึ่ง client
    สามารถเรียกขอ( request ) การใช Application ที่อยูบน Server ได ผานเครือขายทาง Java Web
    Application หรือ Java Application Client ซึ่งผลการรองขอที่ไดจะเหมือนกัน ( รูปที่ 1 ) ซึ่งมี
    ประโยชนตอการทํางานในลักษณะองคกร ที่มีความตองการใชโปรแกรมและฐานขอมูลรวมกัน
    โดยที่ผูใชไมตองติดตั้ง Application หลักเพียงแตติดตั้ง Java Application Client หรือ เรียกใชผาน
    โปรแกรม Internet Browser ไดทันที
         Application Server จึงไดรับความนิยมในการพัฒนาโปรแกรมที่มีลักษณะแบบ Electronic
    Project เนื่องจากมีความสะดวกตอผูใช งายตอการแกไข และฐานขอมูลที่ใชรวมกันทําใหขอมูลถูก
    update คลอด ตัวอยาง E-Project ที่ใชรูปแบบ Application Server ไดแก compiere เปนตน
6




                           รูปภาพที่ 1.1 : การทํางานของ Java Application Server
1.3 Java Application Server
         Java Application Server มีลักษณะคลายกับ Java Virtual Machine (JVM) ที่มีหนาที่ติดตอ
    ระหวางภาษา Java กับ ระบบปฏิบัติการบนเครื่องคอมพิวเตอร PC แต Java Application Server ถูก
    พัฒนามาเพื่อใชในการจัดการติดตอระหวางสื่อภายนอก เชน Web Application , Java Application
    Client เปนตน กับ Application Server ( รูปที่ 2 )
         Java Application Server จะมาในรูปของผลิตภัณฑสําเร็จรูปมาตรฐานซึ่งผลิตโดยผูผลิต
    ซอฟทแวรชั้นนํา ตัวอยางของ Java Application Server ที่แพรหลายในทองตลาดมีดังนี้
                  ชื่อผลิตภัณฑ                                      ผูผลิต
                   WebLogic                                        BEA System
                   WebSphere                                            IBM
          Oracle 9i Application Server                                Oracle
                     Sun ONE                                     Sun Microsystems
                       Jrun                                        Macromedia
                      JEUS                                          Tmax Soft
            Jboss Application Server                                  Jboss
      Enterprise Server, AppServer Edition                           Borland
                     ตารางที่ 2-1 Java Application Server ยอดนิยม
7




                       รูปภาพที่ 1.2 : โครงสราง Java Application Server



คุณสมบัติเดนของ Java Application Server
    • สนับสนุนมาตรฐาน COBRA
        เปนมาตรฐานที่ใชในการสื่อสารระหวางเครื่องคอมพิวเตอรโดยอาศัย protocal IIOP และ
        ใชภาษากลางที่เปนมาตรฐานชื่อวา IDL( Interface Definition Language )
    • สนับสนุนแนวคิดของ Web Application
        Java Application Server ไดสนับสนุนแนวคิดนี้โดยมี content สําหรับ Java Servlets และ
        Java Server Pages (JSP) ดวยทําใหผูใชบริการ( End users ) สามารถเรียกใช Application
        Server ผาน content เหลานี้ได
    • ใชหลักการของ Component
        คือการพัฒนา Application Server ในรูปแบบแยกโปรแกรมเปน component ซึ่งทําใหงาย
        ในการแกไข เพิ่มเติม และสามารถเรียก component ที่อยูบน server หลายตัวมาใชรวมกัน
        ได ซึ่ง component ของ Java Application Server มีชื่อเรียกวา EJB( Enterprise Java Bean )
        หรือเรียกสั้นๆวา bean
    • สนับสนุนแนวคิดของบริการผาน web ( Web Service )
        เปนแนวคิดใหมที่ใชในการติดตอสื่อสารขามองคกรผานเครือขาย internet โดยอาศัย
        มาตรฐานเดียวกันนั้นคือ XML( eXtensible Markup Language ) โดยชุดคําสั่งภาษา Java
8

               ที่เกี่ยวกับการจัดการ XML เชน JAXP , JAXM , JAX-RPC ไดถูกนํามารวมไวใน Java
               Application Server
         • มีการบริหารหนวยความจําไดอยางมีประสิทธิภาพ
               Java Application Server ไดมีกลไกในการจัดการใหบริการโปรแกรมโดยโปรแกรมใดที่
               ยังไมไดถูกเรียกใช Java Application Server จะนําไปพักไวในหนวยความจําสํารอง เพื่อ
               ชวยลดการทํางานของ Server
         • มีระบบรักษาความปลอดภัยและระบบจัดการผูใช
               Java Application Server ไดมีการจัดระบบรักษาความปลอดภัยและระบบการจัดการผูใช
               ที่สนับสนุน JAAS ( Java Authentication and Authorization Service ) ในตัวของมันเอง
               ทําใหโปรแกรมประยุกตที่เขียนขึ้นเพื่อรันบน Java Application Server จะไดระบบจัดการ
               ผูใชเหลานี้ดวยโดยไมตองพัฒนาเอง
1.4 Web Application
         คือโปรแกรมที่มโครงสรางแบบ Client - Server แตใช Browser ทําหนาที่เปน Client แทนที่จะ
                             ี
    เขียน Client Application ขึ้นมา เพราะ Browser จะทําหนาที่เรียกใชบริการ web server ผาน
    protocal HTTP ซึ่งสามารถเรียก web application มาใชงานไดซึ่งความแตกตางระหวาง web server
    กับ web application นั้นคือ web application มีความสามารถมากกวาในการคํานวณขั้นตอนการ
    ทํางานตางๆ และเชื่อตอกับ server เพื่อเรียกใชฐานขอมูลรวมทั้งเรียกบริการที่ server เปดใหเรียกใช
    งานได
1.5 Java Servlet / Java Server Page (JSP)
    1.5.1 Java Servlet
               เปนชุดคําสั่งใน J2EE ซึ่งใชในการสรางโปรแกรมบนฝง server ที่ใช browser เปน client
    นั้นคือเปนภาษาที่ใชในการพัฒนา web application โดยที่ฝง client นั้นไมจําเปนตองติดตั้ง JVM
    เหมือนกับการเรียก Java Applet ผาน browser เพราะ Java Servlet นั้นมีตัวกลางในการเชื่อมตอ
    ระหวาง server กับ browser นั้นคือ Servlet Container
    1.5.2 Servlet Container
               Java Servlet ไมไดทํางานอยูบน Java Virtual Machine แบบที่โปรแกรม Java ทั่วไปใช
    แตจะทํางานอยูบน Java Virtual Machine แบบพิเศษที่เรียกวา Servlet Container ซึ่งจะทําหนาที่
    ติดตอสื่อสารกับ browser ตางๆใหกับ Java Servlet
               ผูพัฒนา Java Servlet ไมตองพัฒนา Servlet Container เองเพราะมี Servlet Container ให
    เลือกใชตามทองตลาดมากมาย ซึ่ง Servlet container ที่ไดรับความนิยมสูงสุดไดแก Tomcat Server
    ซึ่งสามารถ download ไดฟรี ซึ่งสามารถติดตั้งบนระบบปฏิบัติการณไดหลากหลาย
    1.5.3 Java Server Page
               เปนชุดคําสั่งที่พัฒนามาจาก Java Servlet โดยเพิ่มความสามารถในการใชคําสั่ง html
    รวมกันเมื่อ Java Server Page ถูกเรียกใช ก็จะถูกแปลงเปน Java Servlet โดย Web Server เพื่อ
    นําไปใชงานตอไป
9

1.6 Enterprise Java Bean ( EJB )
          คือโปรแกรมภาษา Java ขนาดเล็ก ซึ่งจะอยูในรูปแบบ component ฝงตัวอยูบน server โดยการ
    ทํางานจะขึ้นอยูกับผูพัฒนา EJB มีความเปนอิสระในตัวเองเพราะมันสามารถทํางานอยูอยางโดด
    เดี่ยวบน server หรือจะทํางานประสานกับ EJB ตัวอื่นทั้งบน server เดียวกันหรือคนละ server ก็ได
          โดยหนาที่ของ EJB นั้นจะทําหนาที่ใหบริการตางๆโดยจะทํางานอยูบน server ซึ่ง client
    สามารถติดตอขอใชบริการดังกลาวไดผานทาง JSP/Servlet หรือ Java Application ตางๆได ดวย
    หนาที่ของ EJB ดังกลาวทําใหเกิดแนวคิดแบบ Thin-client คือการที่ทําให Application บนฝง client
    ทํางานใหนอยที่สุด กลาวคือ client จะไมมีการทํางานที่ซับซอนนอกจากรับและสงขอมูล ทําให
    ประหยัดคาใชจายขององคกรไดมาก( รูปที่ 1.6 )




                                รูปที่ 1.6 การทํางานของ EJB
         EJB Container คือชุดคําสั่งตางๆที่เกี่ยวกับการทํางานของ EJB ซึ่งจะแบงเปน 3 ประเภทดังนี้
             1. Session Bean
                            เปน EJB ที่ใชในการตรวจสอบการเขามาถึงของ client กลาวคือเมื่อมีผูใช
                 ติดตอเขามาในระบบ Java Application Server จะสราง Instance ของ Session Bean
                 ขึ้นมาเพื่อรองรับผูใชแตละราย และเมื่อผูใชนั้นออกจากระบบ Instance ของ Session
                 Bean ดังกลาวก็จะถูกทําลายไมมีการบันทึกสถานะเพื่อเอาไวอางอิงในภายหลัง
             2. Entity Bean
                            เปน EJB ที่มีการเก็บสถานการณมาถึงของผูใชแตละรายโดยสามารถดึง
                 ขอมูลของสถานะนั้นๆมาตรวจสอบในภายหลังได
             3. Message-Driven Bean
                            เปน EJB ที่ไมไดใหบริการแก client แตเปนการสื่อสารระหวาง EJB ที่อยู
                 ใน server เดียวกันหรือคนละ server จะไมมีการทํางานถายังไมมีการติดตอเขามาใน
                 component
10

วัตถุประสงคและเปาหมาย
        วัตถุประสงค
                 1.    เพื่อศึกษาวา Eclipse คืออะไรมีโครงสรางยังไง
                 2.    เพื่อศึกษาการทํางานของ J2EE
                 3.    เพื่อศึกษา plug-ins ของ Eclipse ที่รองรับเทคโนโลยี J2EE
        เปาหมาย
                 1.    เพื่อทําความเขาใจความหมายและการทํางานของ Eclipse
                 2.    เพื่อติดตั้ง Eclipse tool ใหสามารถใชงานได
                 3.    สามารถใช Eclipse tool ในการพัฒนาโปรแกรมได
วิธีการศึกษา
         1. หลักการศึกษา
             • ศึกษาโครงสราง และความสามารถของ J2EE ในการพัฒนา Application Server
             • ศึกษาการทํางาน โครงสราง และประโยชนของโปรแกรม Eclipse
        2.ขั้นตอนการศึกษา
             •    ศึกษาโครงสรางของ J2EE
             •    ศึกษาการความหมายและการติดตั้งโปรแกรม Eclipse
             •    ศึกษา Plugin ที่จะใชในการพัฒนาโปรแกรมรวมกับ Eclipse เพื่อใชพัฒนา Application Server
             •    รวบรวมเนื้อหาและจัดทําเปนรูปเลม เอกสารรายงานสัมมนา
             •    จัดทํา power point และ web page เพื่อใชในการนําเสนอ


ผลการศึกษาและวิจารณ
        1 Eclipse
                  Eclipse เปน Tool ที่อยูในรูปแบบ platform ( รูปที่3.1 ) ที่มีเครื่องมือตางๆที่ใชในการพัฒนาซึ่ง
        รองรับการนําโปรแกรมเสริม( plugin )มาเชื่อตอกับตัวโปรแกรมโดยไมสงผลกระทบใดๆตอตัว
        โปรแกรม โดยโปรแกรม Eclipse นั้นสามารถติดตั้งบนระบบปฏิบัติการณไดหลากหลายเพราะ Eclipse
        นั้นถูกพัฒนาดวย JAVA
                  การทํางานของ Eclipse จะใช Workbench UI เปนตัวหลักในการแสดงขอมูลตางๆ อีกทั้งยัง
        รองรับการติดตั้ง plug-ins โดยจะทําหนาที่จัดการการแสดงหนาจอตางๆของ plug-ins ซึ่งจะใชชุดคําสั่ง
        ของ Jface และ SWT ในการแสดงหนาจอ
11




                         รูปภาพที่ 3.1 Eclipse platform

ขอดี
    • ติดตั้งไดงาย
    • มีเครื่องมือชวยตางๆ ทําใหสามารถพัฒนา ตรวจสอบ และแกไขโปรแกรมได
         รวดเร็ว
    • มีโปรแกรมเสริมใหเลือกใชตามรูปแบบระบบมาก
    • สามารถนํามาใชไดฟรี เพราะเปนโปรแกรมแบบ opensource
    • กินทรัพยากรนอย( ในขณะที่รันโปแกรม )
    • มี console แบบ built-in ทําใหไมตอง swap ไปที่ DOS prompt (กรณีใช
         windows os ) หรือ Shell prompt (กรณี UNIX) และ console นี้ support
         ภาษาไทย
    • มี class explorer สามารถดูวาในคลาสมีเมทอดอะไร หรือเมมเบอรเปน
         อะไรบาง รวมทั้งประเภทของมัน
    • สามารถทํา java document ได
 ขอเสีย
    • มีขนาดใหญ หากเทียบกับ netbeans หรือ jcreator
    • ไมมี GUI generator ตองเขียนเองหมด
    • การติดตั้ง plugin แตละตัวตอง support version นั้นของ eclipse นั้นดวย เชน
         Eclipse version 3.0 ถาจะลง lomboz plugin version 3.x เทานั้น
12

         2 Eclipse Architecture
          Eclipse platform ( รูปที่ 2.2 ) เปนโครงสรางที่รองรับการพัฒนา plug-ins ตางๆ โครงสรางของ Plug-in
    จะประกอบไปดวยขอมูลรวมทั้งฟงกชันตางๆที่เขากับระบบของ Eclipse ได โดย plug-ins ที่ถูกพัฒนานั้นจะ
    อยูในรูปของ code libraries ( อยูในรูปของ file Java classes) ซึ่งการเพิ่มการทํางานของ plug-ins ลงไปใน
    Eclipse นั้น ผูพัฒนา plug-ins สามารถกําหนดตําแนงในการแสดงผลในโปรแกรม Eclipse โดยอาศัย function
    ยอยที่อยู Eclipse platform
        Eclipse Standart ToolKit นั้นเปนชุดคําสั่งที่ใชในการพัฒนา plug-ins บน Eclipse platform ซึ่งประกอบ
    ไปดวย
    1. Java Development tooling (JDT) เปนเครื่องมือที่ใชในการพัฒนา Java โดยมีความสมารถในการ edit ,
       viewing, compiling, debugging และ run Java code
    2. Plug-in Developer Environment (PDE) เปนเครื่องมือที่ใชในการพัฒนา plug-in โดยมีความสามารถใน
       การ การสราง, การจัดการ , debugging และ deploy plug-ins.




                                        รูปภาพที่ 2.2 Eclipse Architecture
        3 Interface Eclipse
                  Eclipse มี Interface ที่ใชงานไดงายโดยแบงหนาที่แตละหนาตางดังนี้ ( รูปที่ 3.1 ) การทํางาน
ตางๆจะอยูบน Workbench window เปนหลัก
13




                                 รูปที่ 3.1 Eclipse Interface
4 Lomboz plugin
          เปนโปรแกรมเสริมสําหรับ Eclipse ที่มีความสามารถในการพัฒนา Application Server
    เนื่องจากโปรแกรม Eclipse นั้นรองรับแคการพัฒนา Java Application stand alone เทานั้นแตดวย
    Eclipse นั้นเปนโปรแกรมแบบ open source จึงทําใหมีผูนํา source code ไปพัฒนาเปนโปรแกรม
    เสริมมาก นอกจาก lomboz แลวยังมีโปรแกรมเสริมที่ใชพัฒนา Application Server อีกมาก สาเหตุที่
    เลือก lomboz plugin มาใชในการพัฒนาเพราะ lomboz มี interface ที่ใชในการพัฒนางายและมีการ
    พัฒนาเวอรชั่นใหมออกมาเรื่อยๆ เมื่อติดตั้ง plug-in Lomboz บน Eclipse สําเร็จแลวจะเกิด Interface
    ใหมบน Eclipse ( รูปที่ 4.1 )
          เนื่องจากการพัฒนา Application Server นั้นตองมีการติดตอกับ Java Application Server จึงทํา
    ให Lomboz มีฟงกชั่นในการติดตอ Java Application Server เพื่อความสะดวกในการสราง
    Application Server ที่สมบรูณแบบ( รูปที่ 4.2 )
14




                                    รูปที่ 4.1 Lomboz Interface บน Eclispe




                             รูปที่ 4.2 ฟงกชั่นติดตอกับ Java Application Server
         จากการศึกษาโปรแกรม Eclipse พบวาโปรแกรม Eclispe นั้นถูกพัฒนาขึ้นมาจากภาษา Java และมี
platform ที่รองรับการพัฒนา plug-ins โดยโปรแกรม Eclipse ไมไดมีฟงกชั่นการทํางานที่หลากหลายซึ่งตองอาศัย
15

plug-ins ในการเพิ่มเติมฟงกชั่นการทํางานตามที่ผูใช ( End users ) ตองการ ในการพัฒนา plug-ins นั้นโปรแกรม
Eclipse ไดมีชุดคําสั่งรองรับในการพัฒนานั้นคือ PDE ( Plug-ins Development Environment ) ซึ่งจะชวยในการ
จัดการการแสดงผลของ plug-ins
           จากการศึกษา Lomboz plug-ins พบวาเปนโปรแกรมเสริมที่มีความสามารถทางดานการพัฒนาภาษา
JAVA บนพื้นฐานของ J2EE และรองรับการติดตอกับ Java Application Server JBOSS พบวายังมีปญหาในการ
ติดตั้งกับ Eclipse เพราะตองติดตั้งใหตรงกับ version ของ Eclipse เนื่องจาก Eclipse Architecture ของแตละ
version นั้นมีการเปลี่ยนแปลง ฉะนั้น Lomboz จึงตองมีการเปลี่ยน version ตาม Eclipse




ขอสรุปและขอเสนอแนะ
    • Eclipse นั้นเปน IDE ที่ใชในการพัฒนาโปรแกรมดวยภาษา Java ซึ่งรูปแบบจะเนนในการรองรับการ
      ติดตั้ง plug-ins อีกทั้งยังมีเครื่องที่ใชในพัฒนา plug-ins
    • ดวยความเปนโปรแกรม open source อีกทั้งเปนโปรแกรมที่ใชไดงาย มีไฟลขนาดเล็ก ใชทรัพยากรนอย
      ในการทํางาน สามารถทํางานบน platform ไดหลากหลายเพราะถูกพัฒนาดวย Java และมี plug-ins ที่ใช
      ติดตั้งไดหลากหลาย จึงทําให Eclipse ไดรับความนิยมในการพัฒนาโปรแกรมดวยภาษา Java อยาง
      แพรหลายในตางประเทศ
    • Lomboz plug-ins มีความสามารถในการพัฒนา J2EE ซึ่งเปนรูปแบบที่เหมาะสมแกการพัฒนา Electronic
      Project แตยังมีขอผิดผลาดในการติดตอ Eclipse Platform และ JBOSS บาง version
16

                                            บรรณานุกรม

• นรินทร โอฬารกิจอนันต . 2521 J2EE & XML จาวาระดับองคกร. กรุงเทพฯ : โรงพิมพจุฬาลงกรณ
  มหาวิทยาลัย
• BANGPAKONG TRAINING CENTER . แนะนํา JSP คนหาเมื่อ 12 กรกฎาคม 2547 จาก
  http://www.energythai.net/course/Tutorials/jsp/jspLabGuide1.htm
• JBOSS . The JBOSS Application Server คนหาเมื่อ 15 กรกฎาคม 2547 จาก
  http://www.jboss.org/products/jbossas
• Java.sun . The J2EE 1.4 Tutorial คนหาเมื่อ 20 กรกฎาคม 2547 จาก
  http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html
• Eclipse.org . What is Eclipse คนหาเมื่อ 10 กรกฎาคม 2547จาก
  www.eclipse.org
• ED Roman , Scott Ambler . 2002 Mastering Enterprise JavaBeans , NEW YORK : Wiley Computer
  Publishing
• Narisa . J2EE คืออะไร คนหาเมื่อ 10 กรกฎาคม 2547จาก
  http://www.narisa.com/forums/index.php?showtopic=1583
• Narisa . EJB มีประโยชนอยางไร คนหาเมื่อ 10 กรกฎาคม 2547 จาก
  http://www.narisa.com/forums/index.php?showtopic=3953
• Narisa . การพัฒนา Java Application ดวย Eclipse คนหาเมื่อ 10 กรกฎาคม 2547 จาก
  http://www.narisa.com/forums/index.php?showtopic=4250&hl=Eclipse
• Narisa . อยากรูจังเลยครับวา ide java ตัวไหนนาใชที่สุด คนหาเมื่อ 10 กรกฎาคม 2547 จาก
  http://www.narisa.com/forums/index.php?showtopic=3001&hl=Eclipse
• Narisa . Lomboz Installation Problem คนหาเมื่อ 18 กรกฎาคม 2547 จาก
  http://www.narisa.com/forums/index.php?showtopic=3262&hl=Eclipse
• Narisa . Web tool project ใน Eclipse คนหาเมื่อ 15 กรกฎาคม 2547 จาก
  http://www.narisa.com/forums/index.php?showtopic=3241&hl=Eclipse
• Oracle . Overview Of Java and J2EE คนหาเมื่อ 12 กรกฎาคม 2547 จาก
  http://otn.oracle.com/sample_code/tech/java/j2ee/javacookbook/overview.html
• Programming Tools . PreviewsLab คนหาเมื่อ 10 กรกฎาคม 2547จาก
  http://se.cp.eng.chula.ac.th/c2110271/previousLab/previousLab.html
• Richard Monson-Haefel . 2000 Enterprise JavaBeans, 2nd Edition , 101 Morris Street, Sebastopol, CA 95472 :
  O'Reilly & Associates, Inc.
17

                                     ประวัติผูเขียน

ชื่อ – สกุล                 นาย ณัฐวัฒน อุดมทรัพยพงศ
รหัสประจําตัว               443020014-7
วันเกิด                     16 พฤษภาคม พ.ศ. 2526
ที่อยูที่สามารถติดตอได   386-387 ถ.ภูเวียง ต.ภูเวียง อ.ภูเวียง จ.ขอนแกน 40150
เบอรโทรศัพท               0-1391-3690
E-mail                      violent999@hotmail.com
ประวัติการศึกษา
       • ระดับมัธยมตน      โรงเรียนภูเวียงวิทยาคม
       • ระดับมัธยมปลาย     โรงเรียนภูเวียงวิทยาคม
       • ระดับอุดมศึกษา     คณะวิทยาศาสตร ภาควิชาวิทยาการคอมพิวเตอร มหาวิทยาลัยขอนแกน
การฝกงาน                   บริษัท เอสซีเอส เอ็นเตอรไพรซ ซิสเต็มส( ประเทศไทย )จํากัด



ชื่อ – สกุล                 นาย วิสันต เกียรติบัวใหญ
รหัสประจําตัว               443020037-5
วันเกิด                     5 กุมภาพันธ พ.ศ. 2526
ที่อยูที่สามารถติดตอได   80-82 ถ.เทศบาล23 อ.เมือง จ.กาฬสินธุ 46000
เบอรโทรศัพท               0-9942-8118
E-mail                      wisancom@hotmail.com
ประวัติการศึกษา
       • ระดับมัธยมตน      โรงเรียนขอนกนวิทยายน
       • ระดับมัธยมปลาย     โรงเรียนขอนแกนวิทยายน
       • ระดับอุดมศึกษา     คณะวิทยาศาสตร ภาควิชาวิทยาการคอมพิวเตอร มหาวิทยาลัยขอนแกน
การฝกงาน                   บริษัท ชินนี่ดอทคอม จํากัด

More Related Content

Similar to Eclipse

ความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาThanachart Numnonda
 
แนะนำโปรแกรม Macromedia authorware 7.0
แนะนำโปรแกรม Macromedia authorware 7.0 แนะนำโปรแกรม Macromedia authorware 7.0
แนะนำโปรแกรม Macromedia authorware 7.0 pom_2555
 
โปรแกรม Macromedia authorware 7.0 พิมผกา ลลิตา
โปรแกรม Macromedia authorware 7.0 พิมผกา ลลิตาโปรแกรม Macromedia authorware 7.0 พิมผกา ลลิตา
โปรแกรม Macromedia authorware 7.0 พิมผกา ลลิตาpom_2555
 
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์2
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์2โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์2
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์2fulk123
 
ตัวอย่างโครงงาน
ตัวอย่างโครงงานตัวอย่างโครงงาน
ตัวอย่างโครงงานSiriporn Kusolpiamsuk
 
โครงงานคอมพิวเตอร์ โปรแกรมประยุกต์ธนาคารความดี ไฟล์ 2
โครงงานคอมพิวเตอร์ โปรแกรมประยุกต์ธนาคารความดี ไฟล์ 2โครงงานคอมพิวเตอร์ โปรแกรมประยุกต์ธนาคารความดี ไฟล์ 2
โครงงานคอมพิวเตอร์ โปรแกรมประยุกต์ธนาคารความดี ไฟล์ 2Pattamaporn Kheawfu
 
โครงงานคอมพิวเตอร์ โปรแกรมประยุกต์ธนาคารความดี
โครงงานคอมพิวเตอร์ โปรแกรมประยุกต์ธนาคารความดีโครงงานคอมพิวเตอร์ โปรแกรมประยุกต์ธนาคารความดี
โครงงานคอมพิวเตอร์ โปรแกรมประยุกต์ธนาคารความดีLaughter' Meepoom
 
ตัวอย่างโครงงานคอมพิวเตอร์ 2
ตัวอย่างโครงงานคอมพิวเตอร์ 2ตัวอย่างโครงงานคอมพิวเตอร์ 2
ตัวอย่างโครงงานคอมพิวเตอร์ 2Kamonrut Deeporum
 
ตัวอย่างโครงงาน
ตัวอย่างโครงงานตัวอย่างโครงงาน
ตัวอย่างโครงงานSiriporn Kusolpiamsuk
 
โครงงานคอมพิวเตอร์ุุ---
โครงงานคอมพิวเตอร์ุุ---โครงงานคอมพิวเตอร์ุุ---
โครงงานคอมพิวเตอร์ุุ---1234 Payoon
 

Similar to Eclipse (20)

ความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวา
 
Java Development Tools
Java Development ToolsJava Development Tools
Java Development Tools
 
แนะนำโปรแกรม Macromedia authorware 7.0
แนะนำโปรแกรม Macromedia authorware 7.0 แนะนำโปรแกรม Macromedia authorware 7.0
แนะนำโปรแกรม Macromedia authorware 7.0
 
โปรแกรม Macromedia authorware 7.0 พิมผกา ลลิตา
โปรแกรม Macromedia authorware 7.0 พิมผกา ลลิตาโปรแกรม Macromedia authorware 7.0 พิมผกา ลลิตา
โปรแกรม Macromedia authorware 7.0 พิมผกา ลลิตา
 
ประวัติความเป็นมาภาษาซี
ประวัติความเป็นมาภาษาซีประวัติความเป็นมาภาษาซี
ประวัติความเป็นมาภาษาซี
 
689 2
689 2689 2
689 2
 
Joomla CMS
Joomla CMSJoomla CMS
Joomla CMS
 
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์2
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์2โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์2
โครงงานคอมพิวเตอร์ เผยแพร่ความรู้ออนไลน์2
 
EJB Programming Using Eclipse & JBoss
EJB Programming Using Eclipse & JBossEJB Programming Using Eclipse & JBoss
EJB Programming Using Eclipse & JBoss
 
Web 2.0 mashup
Web 2.0 mashupWeb 2.0 mashup
Web 2.0 mashup
 
ตัวอย่างโครงงาน
ตัวอย่างโครงงานตัวอย่างโครงงาน
ตัวอย่างโครงงาน
 
00124
0012400124
00124
 
โครงงานคอมพิวเตอร์ โปรแกรมประยุกต์ธนาคารความดี ไฟล์ 2
โครงงานคอมพิวเตอร์ โปรแกรมประยุกต์ธนาคารความดี ไฟล์ 2โครงงานคอมพิวเตอร์ โปรแกรมประยุกต์ธนาคารความดี ไฟล์ 2
โครงงานคอมพิวเตอร์ โปรแกรมประยุกต์ธนาคารความดี ไฟล์ 2
 
689 2
689 2689 2
689 2
 
689 2
689 2689 2
689 2
 
โครงงานคอมพิวเตอร์ โปรแกรมประยุกต์ธนาคารความดี
โครงงานคอมพิวเตอร์ โปรแกรมประยุกต์ธนาคารความดีโครงงานคอมพิวเตอร์ โปรแกรมประยุกต์ธนาคารความดี
โครงงานคอมพิวเตอร์ โปรแกรมประยุกต์ธนาคารความดี
 
689 2
689 2689 2
689 2
 
ตัวอย่างโครงงานคอมพิวเตอร์ 2
ตัวอย่างโครงงานคอมพิวเตอร์ 2ตัวอย่างโครงงานคอมพิวเตอร์ 2
ตัวอย่างโครงงานคอมพิวเตอร์ 2
 
ตัวอย่างโครงงาน
ตัวอย่างโครงงานตัวอย่างโครงงาน
ตัวอย่างโครงงาน
 
โครงงานคอมพิวเตอร์ุุ---
โครงงานคอมพิวเตอร์ุุ---โครงงานคอมพิวเตอร์ุุ---
โครงงานคอมพิวเตอร์ุุ---
 

Eclipse

  • 1. 1 Eclipse tool for deverlopment Java Enterprise เรียบเรียงและสัมมนาโดย นาย ณัฐวัฒน อุดมทรัพยพงศ นาย วิสันต เกียรติบัวใหญ อาจารยที่ปรึกษา อ.วชิราวุธ ธรรมวิเศษ บทคัดยอ การศึกษาโปรแกรมที่ชวยพัฒนา software นั้นมีหลายตัว ซึ่งโปรแกรมในการชวยพัฒนาภาษา JAVA ก็มี หลากหลาย ตัวอยางเชน JBuilder, NetBean, SunOne, Eclipse ฯลฯ กรณีนี้ไดเลือกศึกษาเครื่องโปรแกรมที่ชวย พัฒนาภาษา JAVA คือ Eclipse เปนโปรแกรมที่ชวยพัฒนา software โดยมีสถาปตยกรรมแบบเปดทําใหนักพัฒนา โปรแกรมนําสถาปตยกรรมนี้ไปพัฒนาโปรแกรมเสริมสําหรับ Eclipse อยางแพรหลาย ในการศึกษานี้จะใช Lomboz เปน open source สําหรับพัฒนาโปรแกรมภาษา JAVA โดยเปนพื้นฐานของ J2EE และสามารถใชติดตอ กับ Java Application Servers Abstract Java application Integrated Development Evironment such as JBuilder, NetBean, SunOne, Eclipse and etc . Eclipse is a open Archtitecture platform that has been designed from the ground up for building integrated web and application development tooling. By design, the platform does not provide a great deal of end user functionality by itself. The value of the platform is what it encourages: rapid development of integrated features based on a plug-in model . Lomboz is plug-in Development on Eclipse Platform for develop J2EE and supported to integrated with Java Application Server
  • 2. 2 คํานํา เอกสารฉบับนี้เปนสวนหนึ่งของวิชาสัมมนา 320491 จัดทําขึ้นเพื่อใหมีความรูความเขาใจในเรื่อง Eclipse Platform เนื่องจากในปจจุบันนี้การพัฒนา software ตางๆ จําเปนตองมีโปรแกรมชวยพัฒนา ซึ่ง Eclipse Platform เปนโปรแกรมหนึ่งที่มีความสามารถอยางยิ่ง โดยโปรแกรม Eclipse Platform จะมี plugin ชวยใหพัฒนา software เร็วขึ้น สามารถพัมนาไดทุกอยางที่มี plugin ในตัวมัน ทางผูจัดทําหวังวาเอกสารฉบับนี้ จะมีประโยชนไมมากก็นอย สําหรับผูที่สนใจจะศึกษาเกี่ยวกับ Eclipse  Platform หากผิดพลาดประการใด ทางผูจัดทําตองขออภัยไว ณ ที่นี้ดวย นาย ณัฐวัฒน อุดมทรัพยพงศ นาย วิสันต เกียรติบัวใหญ 23 กรกฎาคม 2546
  • 3. 3 สารบัญ เรื่อง หนา บทคัดยอ (Abstract) ภาษาไทย 1 บทคัดยอ (Abstract) ภาษาอังกฤษ 1 คํานํา 2 สารบัญ 3 บทนํา 4 วรรณกรรมที่เกี่ยวของ 4 1. ความหมาย 4 1.1 J2EE 4 1.2 Application Server 5 1.3 Java Application Server 6 1.4 Web Application 8 1.5 Java Servlet / Java Server Pages 8 1.6 Enterprise Java Beans 9 วัตถุประสงคและเปาหมาย 10 วิธีการศึกษา 10 1. หลักการศึกษา 10 2. ขั้นตอนการศึกษา 10 ผลการศึกษาและวิจารณ 10 สรุปและขอเสนอแนะ 15 บรรณานุกรม 16 ประวัติผูเขียน 17
  • 4. 4 บทนํา ปจจุบันภาษา Java มีบทบาทในการพัฒนา Application ตางๆเนื่องดวยความสามารถที่หลากหลายและ สามารถทํางานบนระบบปฏิบัติการณไดหลากหลาย และดวยความตองการในการใชงาน Application ที่มากขึ้นอีก ทั้งขอมูลตางๆอยูในลักษณะเครือขายทําให Java ไดพัฒนาชุดคําสั่งขึ้นมาเพื่อรองรับความตองการนี้ซึ่งนั้นก็คือ J2EE ที่มีชุดคําสั่งรองรับการทํางานแบบ Application Server คือ Application ที่ทํางานบนเครือขายไดอยางมี ประสิทธิภาพ โปรแกรม Eclipse เปนโปรแกรมที่ใชในการพัฒนา Application-Server ไดอยางมีประสิทธิภาพ อีกทั้งยัง มีสถาปตยกรรมที่รองรับการพัฒนาโปรแกรมเสริม( plugin ) ทําใหมีโปรแกรมเสริมใหเลือกใชหลากหลาย และ ดวยรูปแบบที่งายตอการพัฒนาโปรแกรม วรรณกรรมและผลการศึกษาที่เกี่ยวของ 1. ความหมาย 1.1 J2EE Java เปนภาษาคอมพิวเตอรที่ถูกสรางมาเพื่อใชพัฒนาโปรแกรมแบบ stand alone แตตอมา รูปแบบของโปรแกรมถูกพัฒนาขึ้นใหสามารถใชรวมกันในเครือขายได java จึงไดพัฒนาชุดคําสั่ง โปรแกรมใหมมาเพื่อรองรับความตองการนี้ได J2EE ยอมาจาก Java 2 Enterprise Edition เปน JAVA ที่ถูกพัฒนาเพื่อรองรับความตองการ การพัฒนา Application บนฝง server ซึ่งประกอบดวยเทคโนโลยีตางๆดังนี้ • Enterprise JavaBean (EJB) เปนคอมโพเน็นต และมาตรฐานในการติดตอระหวางคอมโพเน็นตกับตัวคอนเทนเนอร ซึ่ง ผูพัฒนาสามารถนําคอมโพเน็นตตางๆไปประยุกตใชกับงานตางๆที่เหมาะสมได • Remote Method Invocation (RMI-IIOP) เปนมาตรฐานในการติดตอสื่อสารระหวางออบเจ็กตแบบกระจาย (distributed object) ซึ่งสนับ สนุนมาตรฐาน COBRA ที่เปนมาตรฐานในการสื่อสารกับ Application server อื่นที่ไมได พัฒนาดวย Java • Java Naming and Directory Interface (JNDI) ทําหนาที่ระบุตําแหนงของคอมโพเน็นต และทรัพยากรตาง ๆ ในระบบเครือขาย เพื่อหาคอม โพเน็นตตางๆที่กระจายที่อยูบนเครือขาย • Java Servlet และ Java Server Page (JSP) เปนคอมโพเน็นตในระบบเน็ตเวิรตซึ่งทํางานในรูปแบบของ request/response ซึ่งจะจัดการกับ request ที่ถูกสงเขามาจากไคลเอ็นทนั้นๆ และเมื่อทําการประมวลผลเสร็จ จึง response กลับไป ยังไคลเอ็นตนั้นๆ • Java Database Connectivity (JDBC) เปนมาตรฐานของจาวาที่ใชการเขาถึงขอมูล ซึ่งเราจะเขียนโคดในสวนของการติดตอกับ API ของ JDBC ซึ่งเปนมาตรฐานการติดตอกับฐานขอมูลเชิงสัมพันธ
  • 5. 5 • Java Transaction API (JTA) และ Java Transaction Service (JTS) ใชจัดการกับทรานแซ็กชัน JTA เปนอินเทอรเฟซของทรานแซ็กชันในระดับบนที่แอพพลิเคชัน ใชในการจัดการทรานแซ็กชัน JTS เปนอินเทอรเฟซของทรานแซ็กชันของ EJB สามารถทํา ทรานแซ็กชันแบบกระจายไดภายใตเซิรฟเวอรของผูผลิตตาง ๆ กัน • Java Messaging Service (JMS) ใชในการประสานงานโปรแกรมประยุกตดวยกัน • JavaMail ใชสําหรับการติดตอ mail server ขององคกร • Java IDL เปนภาษากลางเพื่อใชสื่อสารกับโปรแกรมประยุกตระดับองคกรที่พัฒนาดวยเทคโนโลยีอื่น • J2EE Connector Architecture (JCA) ใชสําหรับการติดตอกับระบบอื่นๆที่มีอยูเดิมในเครือขายองคกร • Java Authentication and Authorization Service (JAAS) เปนมาตรฐานที่ใชจัดการกับความปลอดภัยใน J2EE • Java API for XML Parsing (JAXP) ชุดคําสั่งตางๆที่ใชจัดการไฟล XML 1.2 Application Server เปนแนวคิดใหมโดยนําการทํางานตางของ Java Application มาไวบน Server ซึ่ง client สามารถเรียกขอ( request ) การใช Application ที่อยูบน Server ได ผานเครือขายทาง Java Web Application หรือ Java Application Client ซึ่งผลการรองขอที่ไดจะเหมือนกัน ( รูปที่ 1 ) ซึ่งมี ประโยชนตอการทํางานในลักษณะองคกร ที่มีความตองการใชโปรแกรมและฐานขอมูลรวมกัน โดยที่ผูใชไมตองติดตั้ง Application หลักเพียงแตติดตั้ง Java Application Client หรือ เรียกใชผาน โปรแกรม Internet Browser ไดทันที Application Server จึงไดรับความนิยมในการพัฒนาโปรแกรมที่มีลักษณะแบบ Electronic Project เนื่องจากมีความสะดวกตอผูใช งายตอการแกไข และฐานขอมูลที่ใชรวมกันทําใหขอมูลถูก update คลอด ตัวอยาง E-Project ที่ใชรูปแบบ Application Server ไดแก compiere เปนตน
  • 6. 6 รูปภาพที่ 1.1 : การทํางานของ Java Application Server 1.3 Java Application Server Java Application Server มีลักษณะคลายกับ Java Virtual Machine (JVM) ที่มีหนาที่ติดตอ ระหวางภาษา Java กับ ระบบปฏิบัติการบนเครื่องคอมพิวเตอร PC แต Java Application Server ถูก พัฒนามาเพื่อใชในการจัดการติดตอระหวางสื่อภายนอก เชน Web Application , Java Application Client เปนตน กับ Application Server ( รูปที่ 2 ) Java Application Server จะมาในรูปของผลิตภัณฑสําเร็จรูปมาตรฐานซึ่งผลิตโดยผูผลิต ซอฟทแวรชั้นนํา ตัวอยางของ Java Application Server ที่แพรหลายในทองตลาดมีดังนี้ ชื่อผลิตภัณฑ ผูผลิต WebLogic BEA System WebSphere IBM Oracle 9i Application Server Oracle Sun ONE Sun Microsystems Jrun Macromedia JEUS Tmax Soft Jboss Application Server Jboss Enterprise Server, AppServer Edition Borland ตารางที่ 2-1 Java Application Server ยอดนิยม
  • 7. 7 รูปภาพที่ 1.2 : โครงสราง Java Application Server คุณสมบัติเดนของ Java Application Server • สนับสนุนมาตรฐาน COBRA เปนมาตรฐานที่ใชในการสื่อสารระหวางเครื่องคอมพิวเตอรโดยอาศัย protocal IIOP และ ใชภาษากลางที่เปนมาตรฐานชื่อวา IDL( Interface Definition Language ) • สนับสนุนแนวคิดของ Web Application Java Application Server ไดสนับสนุนแนวคิดนี้โดยมี content สําหรับ Java Servlets และ Java Server Pages (JSP) ดวยทําใหผูใชบริการ( End users ) สามารถเรียกใช Application Server ผาน content เหลานี้ได • ใชหลักการของ Component คือการพัฒนา Application Server ในรูปแบบแยกโปรแกรมเปน component ซึ่งทําใหงาย ในการแกไข เพิ่มเติม และสามารถเรียก component ที่อยูบน server หลายตัวมาใชรวมกัน ได ซึ่ง component ของ Java Application Server มีชื่อเรียกวา EJB( Enterprise Java Bean ) หรือเรียกสั้นๆวา bean • สนับสนุนแนวคิดของบริการผาน web ( Web Service ) เปนแนวคิดใหมที่ใชในการติดตอสื่อสารขามองคกรผานเครือขาย internet โดยอาศัย มาตรฐานเดียวกันนั้นคือ XML( eXtensible Markup Language ) โดยชุดคําสั่งภาษา Java
  • 8. 8 ที่เกี่ยวกับการจัดการ XML เชน JAXP , JAXM , JAX-RPC ไดถูกนํามารวมไวใน Java Application Server • มีการบริหารหนวยความจําไดอยางมีประสิทธิภาพ Java Application Server ไดมีกลไกในการจัดการใหบริการโปรแกรมโดยโปรแกรมใดที่ ยังไมไดถูกเรียกใช Java Application Server จะนําไปพักไวในหนวยความจําสํารอง เพื่อ ชวยลดการทํางานของ Server • มีระบบรักษาความปลอดภัยและระบบจัดการผูใช Java Application Server ไดมีการจัดระบบรักษาความปลอดภัยและระบบการจัดการผูใช ที่สนับสนุน JAAS ( Java Authentication and Authorization Service ) ในตัวของมันเอง ทําใหโปรแกรมประยุกตที่เขียนขึ้นเพื่อรันบน Java Application Server จะไดระบบจัดการ ผูใชเหลานี้ดวยโดยไมตองพัฒนาเอง 1.4 Web Application คือโปรแกรมที่มโครงสรางแบบ Client - Server แตใช Browser ทําหนาที่เปน Client แทนที่จะ ี เขียน Client Application ขึ้นมา เพราะ Browser จะทําหนาที่เรียกใชบริการ web server ผาน protocal HTTP ซึ่งสามารถเรียก web application มาใชงานไดซึ่งความแตกตางระหวาง web server กับ web application นั้นคือ web application มีความสามารถมากกวาในการคํานวณขั้นตอนการ ทํางานตางๆ และเชื่อตอกับ server เพื่อเรียกใชฐานขอมูลรวมทั้งเรียกบริการที่ server เปดใหเรียกใช งานได 1.5 Java Servlet / Java Server Page (JSP) 1.5.1 Java Servlet เปนชุดคําสั่งใน J2EE ซึ่งใชในการสรางโปรแกรมบนฝง server ที่ใช browser เปน client นั้นคือเปนภาษาที่ใชในการพัฒนา web application โดยที่ฝง client นั้นไมจําเปนตองติดตั้ง JVM เหมือนกับการเรียก Java Applet ผาน browser เพราะ Java Servlet นั้นมีตัวกลางในการเชื่อมตอ ระหวาง server กับ browser นั้นคือ Servlet Container 1.5.2 Servlet Container Java Servlet ไมไดทํางานอยูบน Java Virtual Machine แบบที่โปรแกรม Java ทั่วไปใช แตจะทํางานอยูบน Java Virtual Machine แบบพิเศษที่เรียกวา Servlet Container ซึ่งจะทําหนาที่ ติดตอสื่อสารกับ browser ตางๆใหกับ Java Servlet ผูพัฒนา Java Servlet ไมตองพัฒนา Servlet Container เองเพราะมี Servlet Container ให เลือกใชตามทองตลาดมากมาย ซึ่ง Servlet container ที่ไดรับความนิยมสูงสุดไดแก Tomcat Server ซึ่งสามารถ download ไดฟรี ซึ่งสามารถติดตั้งบนระบบปฏิบัติการณไดหลากหลาย 1.5.3 Java Server Page เปนชุดคําสั่งที่พัฒนามาจาก Java Servlet โดยเพิ่มความสามารถในการใชคําสั่ง html รวมกันเมื่อ Java Server Page ถูกเรียกใช ก็จะถูกแปลงเปน Java Servlet โดย Web Server เพื่อ นําไปใชงานตอไป
  • 9. 9 1.6 Enterprise Java Bean ( EJB ) คือโปรแกรมภาษา Java ขนาดเล็ก ซึ่งจะอยูในรูปแบบ component ฝงตัวอยูบน server โดยการ ทํางานจะขึ้นอยูกับผูพัฒนา EJB มีความเปนอิสระในตัวเองเพราะมันสามารถทํางานอยูอยางโดด เดี่ยวบน server หรือจะทํางานประสานกับ EJB ตัวอื่นทั้งบน server เดียวกันหรือคนละ server ก็ได โดยหนาที่ของ EJB นั้นจะทําหนาที่ใหบริการตางๆโดยจะทํางานอยูบน server ซึ่ง client สามารถติดตอขอใชบริการดังกลาวไดผานทาง JSP/Servlet หรือ Java Application ตางๆได ดวย หนาที่ของ EJB ดังกลาวทําใหเกิดแนวคิดแบบ Thin-client คือการที่ทําให Application บนฝง client ทํางานใหนอยที่สุด กลาวคือ client จะไมมีการทํางานที่ซับซอนนอกจากรับและสงขอมูล ทําให ประหยัดคาใชจายขององคกรไดมาก( รูปที่ 1.6 ) รูปที่ 1.6 การทํางานของ EJB EJB Container คือชุดคําสั่งตางๆที่เกี่ยวกับการทํางานของ EJB ซึ่งจะแบงเปน 3 ประเภทดังนี้ 1. Session Bean เปน EJB ที่ใชในการตรวจสอบการเขามาถึงของ client กลาวคือเมื่อมีผูใช ติดตอเขามาในระบบ Java Application Server จะสราง Instance ของ Session Bean ขึ้นมาเพื่อรองรับผูใชแตละราย และเมื่อผูใชนั้นออกจากระบบ Instance ของ Session Bean ดังกลาวก็จะถูกทําลายไมมีการบันทึกสถานะเพื่อเอาไวอางอิงในภายหลัง 2. Entity Bean เปน EJB ที่มีการเก็บสถานการณมาถึงของผูใชแตละรายโดยสามารถดึง ขอมูลของสถานะนั้นๆมาตรวจสอบในภายหลังได 3. Message-Driven Bean เปน EJB ที่ไมไดใหบริการแก client แตเปนการสื่อสารระหวาง EJB ที่อยู ใน server เดียวกันหรือคนละ server จะไมมีการทํางานถายังไมมีการติดตอเขามาใน component
  • 10. 10 วัตถุประสงคและเปาหมาย วัตถุประสงค 1. เพื่อศึกษาวา Eclipse คืออะไรมีโครงสรางยังไง 2. เพื่อศึกษาการทํางานของ J2EE 3. เพื่อศึกษา plug-ins ของ Eclipse ที่รองรับเทคโนโลยี J2EE เปาหมาย 1. เพื่อทําความเขาใจความหมายและการทํางานของ Eclipse 2. เพื่อติดตั้ง Eclipse tool ใหสามารถใชงานได 3. สามารถใช Eclipse tool ในการพัฒนาโปรแกรมได วิธีการศึกษา 1. หลักการศึกษา • ศึกษาโครงสราง และความสามารถของ J2EE ในการพัฒนา Application Server • ศึกษาการทํางาน โครงสราง และประโยชนของโปรแกรม Eclipse 2.ขั้นตอนการศึกษา • ศึกษาโครงสรางของ J2EE • ศึกษาการความหมายและการติดตั้งโปรแกรม Eclipse • ศึกษา Plugin ที่จะใชในการพัฒนาโปรแกรมรวมกับ Eclipse เพื่อใชพัฒนา Application Server • รวบรวมเนื้อหาและจัดทําเปนรูปเลม เอกสารรายงานสัมมนา • จัดทํา power point และ web page เพื่อใชในการนําเสนอ ผลการศึกษาและวิจารณ 1 Eclipse Eclipse เปน Tool ที่อยูในรูปแบบ platform ( รูปที่3.1 ) ที่มีเครื่องมือตางๆที่ใชในการพัฒนาซึ่ง รองรับการนําโปรแกรมเสริม( plugin )มาเชื่อตอกับตัวโปรแกรมโดยไมสงผลกระทบใดๆตอตัว โปรแกรม โดยโปรแกรม Eclipse นั้นสามารถติดตั้งบนระบบปฏิบัติการณไดหลากหลายเพราะ Eclipse นั้นถูกพัฒนาดวย JAVA การทํางานของ Eclipse จะใช Workbench UI เปนตัวหลักในการแสดงขอมูลตางๆ อีกทั้งยัง รองรับการติดตั้ง plug-ins โดยจะทําหนาที่จัดการการแสดงหนาจอตางๆของ plug-ins ซึ่งจะใชชุดคําสั่ง ของ Jface และ SWT ในการแสดงหนาจอ
  • 11. 11 รูปภาพที่ 3.1 Eclipse platform ขอดี • ติดตั้งไดงาย • มีเครื่องมือชวยตางๆ ทําใหสามารถพัฒนา ตรวจสอบ และแกไขโปรแกรมได รวดเร็ว • มีโปรแกรมเสริมใหเลือกใชตามรูปแบบระบบมาก • สามารถนํามาใชไดฟรี เพราะเปนโปรแกรมแบบ opensource • กินทรัพยากรนอย( ในขณะที่รันโปแกรม ) • มี console แบบ built-in ทําใหไมตอง swap ไปที่ DOS prompt (กรณีใช windows os ) หรือ Shell prompt (กรณี UNIX) และ console นี้ support ภาษาไทย • มี class explorer สามารถดูวาในคลาสมีเมทอดอะไร หรือเมมเบอรเปน อะไรบาง รวมทั้งประเภทของมัน • สามารถทํา java document ได ขอเสีย • มีขนาดใหญ หากเทียบกับ netbeans หรือ jcreator • ไมมี GUI generator ตองเขียนเองหมด • การติดตั้ง plugin แตละตัวตอง support version นั้นของ eclipse นั้นดวย เชน Eclipse version 3.0 ถาจะลง lomboz plugin version 3.x เทานั้น
  • 12. 12 2 Eclipse Architecture Eclipse platform ( รูปที่ 2.2 ) เปนโครงสรางที่รองรับการพัฒนา plug-ins ตางๆ โครงสรางของ Plug-in จะประกอบไปดวยขอมูลรวมทั้งฟงกชันตางๆที่เขากับระบบของ Eclipse ได โดย plug-ins ที่ถูกพัฒนานั้นจะ อยูในรูปของ code libraries ( อยูในรูปของ file Java classes) ซึ่งการเพิ่มการทํางานของ plug-ins ลงไปใน Eclipse นั้น ผูพัฒนา plug-ins สามารถกําหนดตําแนงในการแสดงผลในโปรแกรม Eclipse โดยอาศัย function ยอยที่อยู Eclipse platform Eclipse Standart ToolKit นั้นเปนชุดคําสั่งที่ใชในการพัฒนา plug-ins บน Eclipse platform ซึ่งประกอบ ไปดวย 1. Java Development tooling (JDT) เปนเครื่องมือที่ใชในการพัฒนา Java โดยมีความสมารถในการ edit , viewing, compiling, debugging และ run Java code 2. Plug-in Developer Environment (PDE) เปนเครื่องมือที่ใชในการพัฒนา plug-in โดยมีความสามารถใน การ การสราง, การจัดการ , debugging และ deploy plug-ins. รูปภาพที่ 2.2 Eclipse Architecture 3 Interface Eclipse Eclipse มี Interface ที่ใชงานไดงายโดยแบงหนาที่แตละหนาตางดังนี้ ( รูปที่ 3.1 ) การทํางาน ตางๆจะอยูบน Workbench window เปนหลัก
  • 13. 13 รูปที่ 3.1 Eclipse Interface 4 Lomboz plugin เปนโปรแกรมเสริมสําหรับ Eclipse ที่มีความสามารถในการพัฒนา Application Server เนื่องจากโปรแกรม Eclipse นั้นรองรับแคการพัฒนา Java Application stand alone เทานั้นแตดวย Eclipse นั้นเปนโปรแกรมแบบ open source จึงทําใหมีผูนํา source code ไปพัฒนาเปนโปรแกรม เสริมมาก นอกจาก lomboz แลวยังมีโปรแกรมเสริมที่ใชพัฒนา Application Server อีกมาก สาเหตุที่ เลือก lomboz plugin มาใชในการพัฒนาเพราะ lomboz มี interface ที่ใชในการพัฒนางายและมีการ พัฒนาเวอรชั่นใหมออกมาเรื่อยๆ เมื่อติดตั้ง plug-in Lomboz บน Eclipse สําเร็จแลวจะเกิด Interface ใหมบน Eclipse ( รูปที่ 4.1 ) เนื่องจากการพัฒนา Application Server นั้นตองมีการติดตอกับ Java Application Server จึงทํา ให Lomboz มีฟงกชั่นในการติดตอ Java Application Server เพื่อความสะดวกในการสราง Application Server ที่สมบรูณแบบ( รูปที่ 4.2 )
  • 14. 14 รูปที่ 4.1 Lomboz Interface บน Eclispe รูปที่ 4.2 ฟงกชั่นติดตอกับ Java Application Server จากการศึกษาโปรแกรม Eclipse พบวาโปรแกรม Eclispe นั้นถูกพัฒนาขึ้นมาจากภาษา Java และมี platform ที่รองรับการพัฒนา plug-ins โดยโปรแกรม Eclipse ไมไดมีฟงกชั่นการทํางานที่หลากหลายซึ่งตองอาศัย
  • 15. 15 plug-ins ในการเพิ่มเติมฟงกชั่นการทํางานตามที่ผูใช ( End users ) ตองการ ในการพัฒนา plug-ins นั้นโปรแกรม Eclipse ไดมีชุดคําสั่งรองรับในการพัฒนานั้นคือ PDE ( Plug-ins Development Environment ) ซึ่งจะชวยในการ จัดการการแสดงผลของ plug-ins จากการศึกษา Lomboz plug-ins พบวาเปนโปรแกรมเสริมที่มีความสามารถทางดานการพัฒนาภาษา JAVA บนพื้นฐานของ J2EE และรองรับการติดตอกับ Java Application Server JBOSS พบวายังมีปญหาในการ ติดตั้งกับ Eclipse เพราะตองติดตั้งใหตรงกับ version ของ Eclipse เนื่องจาก Eclipse Architecture ของแตละ version นั้นมีการเปลี่ยนแปลง ฉะนั้น Lomboz จึงตองมีการเปลี่ยน version ตาม Eclipse ขอสรุปและขอเสนอแนะ • Eclipse นั้นเปน IDE ที่ใชในการพัฒนาโปรแกรมดวยภาษา Java ซึ่งรูปแบบจะเนนในการรองรับการ ติดตั้ง plug-ins อีกทั้งยังมีเครื่องที่ใชในพัฒนา plug-ins • ดวยความเปนโปรแกรม open source อีกทั้งเปนโปรแกรมที่ใชไดงาย มีไฟลขนาดเล็ก ใชทรัพยากรนอย ในการทํางาน สามารถทํางานบน platform ไดหลากหลายเพราะถูกพัฒนาดวย Java และมี plug-ins ที่ใช ติดตั้งไดหลากหลาย จึงทําให Eclipse ไดรับความนิยมในการพัฒนาโปรแกรมดวยภาษา Java อยาง แพรหลายในตางประเทศ • Lomboz plug-ins มีความสามารถในการพัฒนา J2EE ซึ่งเปนรูปแบบที่เหมาะสมแกการพัฒนา Electronic Project แตยังมีขอผิดผลาดในการติดตอ Eclipse Platform และ JBOSS บาง version
  • 16. 16 บรรณานุกรม • นรินทร โอฬารกิจอนันต . 2521 J2EE & XML จาวาระดับองคกร. กรุงเทพฯ : โรงพิมพจุฬาลงกรณ มหาวิทยาลัย • BANGPAKONG TRAINING CENTER . แนะนํา JSP คนหาเมื่อ 12 กรกฎาคม 2547 จาก http://www.energythai.net/course/Tutorials/jsp/jspLabGuide1.htm • JBOSS . The JBOSS Application Server คนหาเมื่อ 15 กรกฎาคม 2547 จาก http://www.jboss.org/products/jbossas • Java.sun . The J2EE 1.4 Tutorial คนหาเมื่อ 20 กรกฎาคม 2547 จาก http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html • Eclipse.org . What is Eclipse คนหาเมื่อ 10 กรกฎาคม 2547จาก www.eclipse.org • ED Roman , Scott Ambler . 2002 Mastering Enterprise JavaBeans , NEW YORK : Wiley Computer Publishing • Narisa . J2EE คืออะไร คนหาเมื่อ 10 กรกฎาคม 2547จาก http://www.narisa.com/forums/index.php?showtopic=1583 • Narisa . EJB มีประโยชนอยางไร คนหาเมื่อ 10 กรกฎาคม 2547 จาก http://www.narisa.com/forums/index.php?showtopic=3953 • Narisa . การพัฒนา Java Application ดวย Eclipse คนหาเมื่อ 10 กรกฎาคม 2547 จาก http://www.narisa.com/forums/index.php?showtopic=4250&hl=Eclipse • Narisa . อยากรูจังเลยครับวา ide java ตัวไหนนาใชที่สุด คนหาเมื่อ 10 กรกฎาคม 2547 จาก http://www.narisa.com/forums/index.php?showtopic=3001&hl=Eclipse • Narisa . Lomboz Installation Problem คนหาเมื่อ 18 กรกฎาคม 2547 จาก http://www.narisa.com/forums/index.php?showtopic=3262&hl=Eclipse • Narisa . Web tool project ใน Eclipse คนหาเมื่อ 15 กรกฎาคม 2547 จาก http://www.narisa.com/forums/index.php?showtopic=3241&hl=Eclipse • Oracle . Overview Of Java and J2EE คนหาเมื่อ 12 กรกฎาคม 2547 จาก http://otn.oracle.com/sample_code/tech/java/j2ee/javacookbook/overview.html • Programming Tools . PreviewsLab คนหาเมื่อ 10 กรกฎาคม 2547จาก http://se.cp.eng.chula.ac.th/c2110271/previousLab/previousLab.html • Richard Monson-Haefel . 2000 Enterprise JavaBeans, 2nd Edition , 101 Morris Street, Sebastopol, CA 95472 : O'Reilly & Associates, Inc.
  • 17. 17 ประวัติผูเขียน ชื่อ – สกุล นาย ณัฐวัฒน อุดมทรัพยพงศ รหัสประจําตัว 443020014-7 วันเกิด 16 พฤษภาคม พ.ศ. 2526 ที่อยูที่สามารถติดตอได 386-387 ถ.ภูเวียง ต.ภูเวียง อ.ภูเวียง จ.ขอนแกน 40150 เบอรโทรศัพท 0-1391-3690 E-mail violent999@hotmail.com ประวัติการศึกษา • ระดับมัธยมตน โรงเรียนภูเวียงวิทยาคม • ระดับมัธยมปลาย โรงเรียนภูเวียงวิทยาคม • ระดับอุดมศึกษา คณะวิทยาศาสตร ภาควิชาวิทยาการคอมพิวเตอร มหาวิทยาลัยขอนแกน การฝกงาน บริษัท เอสซีเอส เอ็นเตอรไพรซ ซิสเต็มส( ประเทศไทย )จํากัด ชื่อ – สกุล นาย วิสันต เกียรติบัวใหญ รหัสประจําตัว 443020037-5 วันเกิด 5 กุมภาพันธ พ.ศ. 2526 ที่อยูที่สามารถติดตอได 80-82 ถ.เทศบาล23 อ.เมือง จ.กาฬสินธุ 46000 เบอรโทรศัพท 0-9942-8118 E-mail wisancom@hotmail.com ประวัติการศึกษา • ระดับมัธยมตน โรงเรียนขอนกนวิทยายน • ระดับมัธยมปลาย โรงเรียนขอนแกนวิทยายน • ระดับอุดมศึกษา คณะวิทยาศาสตร ภาควิชาวิทยาการคอมพิวเตอร มหาวิทยาลัยขอนแกน การฝกงาน บริษัท ชินนี่ดอทคอม จํากัด