1 / 25

สถาปัตยกรรมเทียร์

สถาปัตยกรรมเทียร์. TIER ARCHITECTURE. ความหมายของเทียร์. เทียร์ ( TIER ) คือโปรเซส (Process) ที่ใช้ในการจัดการงานใดงานหนึ่ง ดังนั้นในระบบหนึ่งจะมีเทียร์อย่างน้อยที่สุด 1 เทียร์ แต่จะมีจำนวนเท่าใดนั้นขึ้นอยู่กับ ทรัพยากรของแต่ละเครื่อง ลักษณะงานที่ทำ. สถาปัตยกรรมเทียร์.

aiko
Download Presentation

สถาปัตยกรรมเทียร์

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. สถาปัตยกรรมเทียร์ TIER ARCHITECTURE

  2. ความหมายของเทียร์ • เทียร์ (TIER) คือโปรเซส (Process) ที่ใช้ในการจัดการงานใดงานหนึ่ง ดังนั้นในระบบหนึ่งจะมีเทียร์อย่างน้อยที่สุด 1 เทียร์ แต่จะมีจำนวนเท่าใดนั้นขึ้นอยู่กับ • ทรัพยากรของแต่ละเครื่อง • ลักษณะงานที่ทำ

  3. สถาปัตยกรรมเทียร์ • เทียร์เดียว (Single tier) • สองเทียร์ (Two tier) • หลายเทียร์ (Multi tier)

  4. สถาปัตยกรรมแบบเทียร์เดียวสถาปัตยกรรมแบบเทียร์เดียว • ใช้ในเครื่องคอมพิวเตอร์โดยส่วนใหญ่ โดยที่โปรแกรมนั้นสามารถทำงานได้ทุกอย่างในตัวของมันเอง ตั้งแต่การรับข้อมูล ประมวลผล แสดงผล ตลอดจนการบันทึกงานลงในแฟ้ม เช่น โปรแกรมMicrosoft word หรือ Access

  5. สถาปัตยกรรมแบบสองเทียร์สถาปัตยกรรมแบบสองเทียร์ มีการแบ่งเทียร์ออกเป็นสองส่วน (Client/ Server) ซึ่งจะมีการทำงานประสานกันโดยอาศัยข้อตกตงทางการสื่อสารที่ได้ตกลงกันไว้ทั้งสองส่วน หน้าที่ของ Server คือทำหน้าที่ Background Process รับผิดชอบด้านการประมวลผลของระบบข้อมูลและในขณะที่ Client ทำหน้าที่ Foreground Process ที่รับผิดชอบทางด้านของ User Interface

  6. สถาปัตยกรรมแบบหลายเทียร์สถาปัตยกรรมแบบหลายเทียร์ • ในกรณีของ 2 tiers นั้นถ้ามีการเปลี่ยนแปลงความสัมพันธ์ทำให้ไม่สามารถสื่อสารกันได้ หรือทำให้เกิดความไม่เข้าใจระหว่างรูปแบบของข้อมูลที่ใช้ในการสื่อสารกัน จะต้องมีการปรับปรุงหรือเปลี่ยนแปลงเทียร์ทั้งสองเพื่อให้สามารถสื่อสารกันได้ เช่น ในระบบหนึ่งเรามีฐานข้อมูล SQL และมีการพัฒนาโปรแกรมขึ้นมาเพื่อใช้งานฐานข้อมูลดังกล่าว แต่ต่อมามีการเปลี่ยนฐานข้อมูลจาก SQL เป็น Oracle ทำให้ต้องมีการเปลี่ยนแปลงหรืออปรับปรุงส่วนของ Client ใหม่เพื่อเข้าใจรูปแบบการสื่อสารที่เปลี่ยนแปลงไป เพื่อเป็นการแก้ไขปัญหานี้จึงได้เพิ่มเทียร์ที่อยู่ระหว่างกลาง (Application tier)

  7. Middleware • ODBC • ADO • JDBC

  8. การติดต่อฐานข้อมูล JDBC-ODBC

  9. การติดต่อกับฐานข้อมูลการติดต่อกับฐานข้อมูล • Architecture Java Program Database JDBC : Java Database Connection Driver ผู้ผลิต DB จะสร้าง driver สำหรับติดต่อฐานข้อมูล โดยที่ driver จะแปลคำสั่งจาก JDBC ให้เป็นคำสั่งสำหรับเข้าใช้งาน DB ส่วนโปรแกรมจาวาจะส่ง sql ไปที่ JDBC แล้ว JDBC จะเปลี่ยนคำสั่งนั้นให้เป็นคำสั่งสำหรับ driver

  10. การเริ่มต้นการติดต่อกับ MS Access • จะต้องมีฐานข้อมูล • สร้าง user DSN • ติดต่อด้วย Java Application DSN DB Java Application

  11. สร้างฐานข้อมูลใน MS Access • สร้างฐานข้อมูล MyDb ใน Access • สร้าง table ชื่อ STUDENT มีโครงสร้างดังนี้

  12. สร้างฐานข้อมูลใน MS Access • ป้อนข้อลงลง table ชื่อ STUDENT • บันทึกลงใน D:\Eventprogramming\MyDb.mdb

  13. การสร้าง DSN • Start Control Panel Administrative Tools DataSource(ODBC)

  14. Click ปุ่ม ADD

  15. เลือกรายการ Driver do Microsoft Acess (*.mdb) แล้วคลิกปุ่ม Finish

  16.  ป้อนคำว่า STUDENT  Click Select เพื่อเลือกฐานข้อมูล

  17. การ Loading JDBC Driver • สามารถทำได้ด้วยคำสั่ง Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");

  18. การเริ่มต้น Connect Connection c = DriverManager.getConnection ("jdbc:odbc:STUDENT"," "," "); Password Data Base Name User Name

  19. Statements • Statement เป็น Interface สำหรับการสร้าง class ที่ทำหน้าที่ส่งประโยค sql ไปสู่ DB ผ่านทาง Connection ถ้ามีผลลัพธ์ ก็สามารถรับผลลัพธ์นั้นกลับเข้าสู่โปรแกรมเป็น resultset ซึ่ง Statement สามารถใช้งานได้ 3 รูปแบบ คือ • Statement สำหรับทำงานประโยค SQL ที่สร้างขึ้นครั้งเดียว • PrepareStatement สำหรับทำงานประโยค SQL ที่มีรูปแบบเดิมหลายครั้ง • CallableStatement สำหรับทำงานกับ Store Procedures

  20. Statements (con.) • Statement s = c.createStatement( ); • ResultSet r = s.executeQuery (" ______ "); • s.executeQuery ("SQL"); ใช้ในกรณีที่ประโยค sql นั้นมีผลลัพธ์กลับมา • s.executeUpdate ("SQL"); ใช้ในกรณีที่ประโยค sql นั้นมีไม่ผลลัพธ์กลับมาแต่มีผลต่อฐานข้อมูล • s.execute ("SQL"); ใช้ในกรณีที่ไม่ทราบว่าประโยค sql นั้นมีผลลัพธ์กลับมาหรือไม่ซึ่งถ้ามีจะต้องใช้ getResultSet รับค่าที่คืนกลับ หรือใช้ getUpdateCount เพื่อตรวจสอบจำนวน record ที่เปลี่ยนแปลง SQL Statement

  21. การทดสอบการเชื่อมต่อ • import java.sql.*; • import java.lang.*; • class DBTest { • public static void main (String st[ ]) throws Exception { • Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); • Connection c = DriverManager.getConnection("jdbc:odbc:STUDENT","",""); • Statement s = c.createStatement( ); • ResultSet r = s.executeQuery ("SELECT * FROM STUDENT"); • while(r.next()) { • System.out.println(r.getInt(1) + ", " +r.getString(2) + ", " + • r.getString(3)); } • s.close(); • c.close(); • } • }

  22. การทดสอบการเชื่อมต่อ • import java.sql.*; • import java.lang.*; • class DBTest{ • public static void main (String st[]) throws Exception{ • Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); • Connection c = DriverManager.getConnection("jdbc:odbc:STUDENT","",""); • Statement s = c.createStatement(); • s.executeUpdate("INSERT INTO STUDENT VALUES(134,'LUPING','MBA.')"); • ResultSet r = s.executeQuery("SELECT * FROM STUDENT"); • while(r.next()){ • System.out.println(r.getInt(1) + ", " +r.getString(2) + ", " + • r.getString(3));} • s.close(); • c.close(); • } • }

More Related