517322-Lecture: Client/Server Side Programming with Java

20/01/2013 2:50 PM Study 867 views

 

Client/Server Side Programming with Java

Java

  • คุณลักษณะของภาษา java
    • เป็นภาษาแบบ oop ที่เขียนง่ายและคุ้นเคยเหมือนกับภาษา c++
    • คงทนถาวรและมีความปลอดภัยมี security ทั้ง low level และ high level
    • ไม่ยึดติดกับสถาปัตยกรรมและสามารถทำงานบนเครื่องไหนก็ได้
    • มีประสิทธิภาพสูงและมีความซ้ำซ้อนน้อยกว่าเมื่อเทียบกับภาษา c++
    • ข้อเสีย – จะทำงานได้ช้ากว่าภาษา c หรือ c++ ที่เป็น native code เพราะโปรแกรมที่เขียนด้วยภาษา java จะถูกเแปลงเป็น neutral language ก่อนและแปลงเป็น machine language อีกครั้งซึ่งต่างกับภาษา c และ c++ ที่เแปลงเป็น machine language ตั้งแต่ตอน compile
  • Java จะคอมไพล์โปรแกรมโดยแปลงเป็น java bytecode หรือไฟล์ .class ที่สามารถใช้งานได้ทุกที่บน JVM หรือ Java Virtual Machine โดยไม่คำนึงนึกสถาปัตยกรรมคอมพิวเตอร์ ดังสำนวนที่ว่า “Write Once, Run Anywhere” (WORA) หมายถึง เขียนคำสั่งหนึ่งครั้งแต่สามารถทำงานบนหลายๆ platform ที่ต่างกันโดยไม่ต้อง compile อีกครั้ง
  • ตัวอย่างการเขียนภาษา Java
    • Class HelloWorld{
      public static void main(String[] args){
      system.out.println(“Silpakorn”);
      }
      }

 

Java Applet

  • Java Applet เป็นโปรแกรมภาษา java ที่พัฒนาขึ้นสำหรับการแสดงผลบน browser โดยจะต้องสร้างไฟล์ .java และ compile เป็นไฟล์ .class และสร้างไฟล์ html เพื่อเรียกใช้ applet ที่เป็น .class  ซึ่งคอมพิวเตอร์ที่เรียกใช้จะต้องติดตั้ง JRE (Java Runtime Enviroment) สามารถเรียกใช้งานผ่าน browser หรือ AppletViewser ของ Sun
  • Java Applet สามารถทำงานบน browser ได้หลายๆ platform เช่น Microsoft, Unix, OS X, Linux
  • Applet เปรียบเสมือน UI ที่แสดงผลบนคอมพิวเตอร์ที่ใช้สร้างรูปภาพหรือกราฟฟิคต่างๆ และยังตอบสนองต่อเหตุการณ์ต่างๆ เช่น คลิ๊กเม้าส์ หรือควบคุมการกดปุ่ม
  • นอกจากนี้ยังใช้ java applet เป็นเครื่องมือพัฒนาสื่อหรือมัลติมีเดียให้เว็บไซต์มีความน่าสนใจมากขึ้น
  • Java Applet มีความสามารถมากกว่า Java Script
  • หลายคนมักคิดว่า Java Script คือ Java แต่จริงๆ แล้วไม่ใช่
  • Java Script ไม่ต้อง compile แต่ Java Applet ต้อง compile ให้เป็น byte code ก่อน
  • เราสามารถ Appletviewer ใช้จำลองตัวเองว่าเป็น browser ในการแสดงผล
  • การ compile ไฟล์ Applet
    • javac ชื่อไฟล์ .java  เช่น  javac silpakorn.java จะได้ไฟล์ silpakorn.class
  • สร้างไฟล์ในการเรียกใช้ applet su.html
    • <applet code=”silpakorn.class” width=200 height=200></applet>
  • การ run โดย Appletviewer ผ่าน terminal
    • appletviewer ชื่อไฟล์.html เช่น  appletviewer su.html
  • การ run ผ่าน browser
    • url: localhost/applet/su.html

 

Security Sandbox

  • Security Sandbox เปรียบเสมือนกล่องทรายที่ช่วยลดการกระแทกเวลาเล่นเครื่องเล่นช่วยให้เราปลอดภัยมากขึ้น
  • ความหมายทางคอมพิวเตอร์จะใช้กำหนดขอบเขตความปลอดภัยเมื่อมีการเรียกใช้ applet ว่าจะแสดงผลอะไรให้ผู้ใช้ได้เห็นบ้าง
  • Applet ที่ไม่ได้ลงทะเบียนในการรับรองความปลอดภัยจะไม่มีความน่าชื่อถือและเรียกว่า “Unsigned applets” เมื่อถูกเรียกใช้งานบนเครื่อง client  applets ที่ไม่ได้ลงทะเบียนจะทำงานภายใต้ “Security Sandbox” หรืออนุญาตเฉพาะบางส่วนเท่านั้นเพื่อรักษาความปลอดภัยให้กับผู้ใช้
  • Applets สามารถลงทะเบียนเพื่อรับรองเพื่อระบุว่ามาจากแหล่งที่เชื่อถือได้
  • Applets  ที่ทำงานนอก sandbox จะมีความสามารถมากขึ้นและต้องได้รับอนุญาตจากผู้ใช้ก่อน ถ้าผู้ใช้ไม่อนุญาตก็จะทำงานภายใต้ sandbox หรือขอบเขตที่กำหนดไว้เท่านั้น
  • Java Applet จะถูกโหลดบนเครื่อง Client เมื่อผู้ใช้เข้าชมหน้าเว็บนั้นๆ ซึ่งประกอบด้วย applet ที่ฝังไว้ในหน้าเว็บด้วย

Java Servlet

  • Servlet เป็นโปรแกรมภาษา Java ที่ทำงานบน web หรือ applicatiton server ทำหน้าที่เป็นตัวกลางคอยรับติดต่อที่มาจาก web browser หรือ HTTP request กับฐานข้อมูลหรือโปรแกรมบน HTTP server
  • Java Servlet มีจุดประสงค์ในการพัฒนาโปรแกรมโดยใช้หลักการ Common Gateway Interface (CGI)
  • หลักการของ CGI ก็คือ เมื่อมี request เข้ามา CGI จะสร้าง process ขั้นมาใหม่โดย 1 process ต่อ 1 request ถ้ามี request เป็นจำนวนมากก็จะสร้าง process เท่ากับจำนวน request อาจจะให้มีปัญหาในการประมวลผลได้
  • ส่วน servlet จะถูกจัดการด้วย JVM  และ webserver ซึ่ง server สร้าง object ของ servlet เพียงตัวเดียวแต่ให้ทุกๆ request สามารถเรียกใช้งานร่วมกันได้ ทำให้ช่วยลดภาระการทำงาน
  • การเรียกใช้ Java Servlet จะต้อง compile ไฟล์ .java ให้เป็น .class ก่อนและเรียกใช้ผ่าน web.xml บน web browser

 

JavaServer Pages

  • JavaServer Pages (JSP) เป็นการพัฒนาเว็บเพจแบบไดนามิกที่มีหลักการพื้นฐานบน HTML, XML  ซึ่ง JSP นั้นคล้ายกับ PHP และ ASP
  • JSP ใช้หลักการเขียนโปรแกรมภาษา Java ซึ่งมีความสามารถในการสืบทอดคุณสมบัติและไม่ยึดติดกับ platform
  • JSP เป็นส่วนหนึ่งของ Java Servlet ที่ใช้ในการออกแบบส่วนติดต่อกับผู้ใช้ในรูปแบบ Java web Application
  • JavaServer Pages สามารถใช้งาน APIs ได้หลากหลายคล้ายกับ Servlet ซึ่ง Java APIs จะช่วยอำนวยความสะดวกและมีความสามารถในการทำงานที่หลากหลายเช่น ติดต่อฐานข้อมูล
  • JavaServer Pages สามารถทำงานร่วมกับ web server ได้หลากหลายเช่น Apache Tomcat หรือ Jetty
  • JSP ต้อง compile ให้เป็นไฟล์ .class ก่อนเรียกใช้งาน

 

ศัพท์ที่เจอบ่อย

  • tomcat
    • tomcat เป็น web server ที่พัฒนาขึ้นโดย apache group ที่รองรับการทำงานของ Java servlet และ JSP โดยทำงานร่วมกับ Tomcat Jasper เพื่อแปล jsp ให้เป็น servlet ก่อนนำไปประมวลผล
  • appletviewer
    • appletviewer เป็นโปรแกรมแสดงผลของ applet สำหรับเครื่องที่ไม่มี browser หรือจำลองตัวเองเป็น browser เพื่อดูการแสดงผลก่อนนำ applet นั้นไปใช้งานจริง
  • Javac
    • javac เป็นคำสั่งในการ conpile sourcecode ให้เป็น byte code หรือแปลงไฟล์ .java เป็น .class

 

สรุปจากเนื้อหาบทเรียน
: slide วิชา Internet Programming

 

 

, , , , , , , , , , , , , , , , , , ,