บทคัดย่อ: บทความนี้จะแนะนำกรอบการทำงานสำหรับการพัฒนาระบบข้อมูลการจัดการบนเว็บ การใช้เทคโนโลยี JSP/Servlet และผสมผสานกับรูปแบบการออกแบบ MVC ทำให้กระบวนการพัฒนามีความยืดหยุ่นและบำรุงรักษาได้ง่ายขึ้น
คำสำคัญ: ระบบสารสนเทศเพื่อการจัดการ JSP เซิร์ฟเล็ต รูปแบบการออกแบบ MVC JDBC
1. บทนำ
ระบบสารสนเทศเพื่อการจัดการ (MIS) เป็นระบบที่ประกอบด้วยบุคคลและคอมพิวเตอร์ที่สามารถรวบรวม ส่ง จัดเก็บ ประมวลผล และใช้ข้อมูลได้ ด้วยการพัฒนาวิทยาศาสตร์และเทคโนโลยีและการขยายตัวของข้อมูล สารสนเทศขององค์กรได้กลายเป็นหนึ่งในวิธีการที่มีประสิทธิภาพสำหรับองค์กรต่างๆ ที่จะยังคงอยู่ในตำแหน่งที่เหนือชั้นในการแข่งขัน MIS ไม่เพียงแต่ให้ข้อมูลและข้อมูลในเวลาที่เหมาะสมและครอบคลุม ลดความซับซ้อนของงานทางสถิติ และจัดทำรายงานที่แตกต่างกันสำหรับระดับการจัดการที่แตกต่างกัน แต่ยังสามารถคาดการณ์สถานการณ์ในอนาคตตามข้อมูลในอดีตได้อีกด้วย ดังนั้นจึงเป็นสิ่งสำคัญอย่างยิ่งที่จะใช้วิธีการใดในการพัฒนาระบบข้อมูลการจัดการที่คำนึงถึงทั้งประสิทธิภาพการพัฒนาและประสิทธิภาพการดำเนินงานและตอบสนองฟังก์ชันการประมวลผลเหตุการณ์แบบกระจาย บทความนี้อธิบายวิธีการใช้ JSP/Servlet เพื่อสร้างระบบข้อมูลการจัดการสามระดับ
2. สถาปัตยกรรมสามชั้นของระบบ
สถาปัตยกรรมสามชั้นของระบบแสดงในรูปที่ 1
รูปที่ 1 สถาปัตยกรรมแอปพลิเคชันเว็บที่ใช้เทคโนโลยี Java
ระบบข้อมูลการจัดการทั้งหมดใช้สถาปัตยกรรมสามระดับของเบราว์เซอร์/เว็บ/ฐานข้อมูล เว็บเซิร์ฟเวอร์ยอมรับคำขอ รันแอปเพล็ตฝั่งเซิร์ฟเวอร์ Java Servlet ผ่านแอปพลิเคชันเซิร์ฟเวอร์ และส่งคืนเอาต์พุต ดังนั้นจึงตระหนักถึงการโต้ตอบของทรัพยากรข้อมูลกับไคลเอนต์ เซิร์ฟเวอร์ฐานข้อมูลใช้เพื่อจัดเก็บข้อมูลต่างๆ ที่ใช้ในระบบสารสนเทศเพื่อการจัดการ และข้อมูลจะถูกป้อนโดยตรงโดยโปรแกรมจัดการฐานข้อมูล ไคลเอนต์ของระบบต้องการเพียงเบราว์เซอร์เท่านั้น บุคลากรที่เกี่ยวข้องสามารถสอบถาม เพิ่ม แก้ไข ลบข้อมูล และจัดการข้อมูลผ่านทางเบราว์เซอร์ได้
3. รูปแบบการออกแบบระบบ
รูปแบบการออกแบบเป็นตัวแทนอย่างเป็นทางการที่ใช้โดยโปรแกรมเมอร์เชิงวัตถุเพื่อแก้ปัญหาการเขียนโปรแกรม ในปัจจุบัน เว็บแอปพลิเคชันส่วนใหญ่ที่มีโครงสร้างเบราว์เซอร์/เซิร์ฟเวอร์ เบราว์เซอร์จะโต้ตอบกับผู้ใช้โดยตรงในรูปแบบของ HTML หรือ JSP และตอบสนองต่อคำขอของผู้ใช้ แม้ว่าจะใช้งานง่าย แต่ปริมาณข้อมูลที่ดำเนินการโดยระบบข้อมูลการจัดการส่วนใหญ่ก็มีจำนวนมหาศาล เมื่อโค้ดเพิ่มขึ้น หน้า JSP จะบวมและเว็บเซิร์ฟเวอร์จะโอเวอร์โหลด ดังนั้น รูปแบบการออกแบบที่ใช้ตัวควบคุมมุมมองโมเดล (MVC.Model-View-Controller) จึงถูกนำมาใช้บนเลเยอร์กลาง เลเยอร์ Model ถูกใช้เพื่อใช้ตรรกะทางธุรกิจ เลเยอร์ View ถูกใช้เพื่อแสดงอินเทอร์เฟซผู้ใช้ และเลเยอร์ Controller มีหน้าที่หลักในการควบคุมความสัมพันธ์ระหว่างเลเยอร์ View และเลเยอร์ Model ในการใช้งานเฉพาะ Servlet ถูกใช้เป็นตัวควบคุมของแอปพลิเคชัน เอกสาร JSP ถูกใช้เป็นมุมมอง และ JavaBeans ถูกใช้เพื่อเป็นตัวแทนของโมเดล คำขอทั้งหมดจะถูกส่งไปยัง Servlet ในฐานะตัวควบคุม ซึ่งยอมรับคำขอและตอบสนองโดยจัดส่งไปยัง JSP ที่เหมาะสมตามข้อมูลคำขอ ในเวลาเดียวกัน Servlet ยังสร้างอินสแตนซ์ JavaBeans ตามข้อกำหนดของ JSP และส่งออกไปยังสภาพแวดล้อม JSP JSP สามารถรับข้อมูลใน JavaBeans ได้โดยการเรียกเมธอดโดยตรงหรือใช้แท็กที่กำหนดเองของ UseBean รูปแบบการออกแบบนี้จะแยกชั้นข้อมูลจากชั้นการนำเสนออย่างมีประสิทธิภาพ ทำให้การพัฒนาทำงานได้ง่ายและรวดเร็วยิ่งขึ้น ในโหมดการออกแบบนี้ การถ่ายโอนข้อมูลระหว่างระดับต่างๆ จะแสดงในรูปที่ 2
รูปที่ 2 การถ่ายโอนข้อมูลของรูปแบบการออกแบบ MVC รูปที่
4 เทคโนโลยีการเข้าถึงข้อมูล
ฐานข้อมูลเป็นเนื้อหาหลักของระบบสารสนเทศเพื่อการจัดการ ปัจจุบันมีเทคโนโลยีอินเทอร์เฟซเว็บและฐานข้อมูลมากมาย หนึ่งในนั้น JDBC เป็นอินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชันสำหรับโปรแกรม Java เพื่อเชื่อมต่อและเข้าถึงฐานข้อมูล ประกอบด้วยชุดของคลาสและอินเทอร์เฟซที่เขียนด้วยภาษา Java และเป็น Java API สำหรับการเรียกใช้งาน SQL งบ ในระบบข้อมูลการจัดการที่แนะนำในบทความนี้ เทคโนโลยี JSP/Servlet+JDBC ใช้ในการเข้าถึงข้อมูล กล่าวคือ ไคลเอนต์ไม่ได้สร้างคำสั่งการสืบค้นฐานข้อมูล และเบราว์เซอร์บนไคลเอนต์จะสร้างการเชื่อมต่อกับเว็บเซิร์ฟเวอร์ระดับกลาง ผ่าน URL เว็บเซิร์ฟเวอร์มีหน้าที่หลักในการรับคำขอข้อมูล HTTP จากเบราว์เซอร์ภายในเครื่องหรือระยะไกล จากนั้น หลังจากที่ Servlet ในเลเยอร์กลางได้รับคำขอแล้ว ก็จะใช้ API มาตรฐานที่ JDBC จัดเตรียมไว้ให้เพื่อเข้าถึงฐานข้อมูลและดำเนินการที่เกี่ยวข้องโดยดำเนินการ SQL คำสั่งในโปรแกรม จากนั้น Servlet จะส่งข้อมูลการสืบค้นไปยัง JSP และสุดท้ายจะสร้างเพจ JSP มาตรฐานและส่งคืนผลลัพธ์ไปยังเบราว์เซอร์ที่ร้องขอ ด้วยวิธีนี้ ไม่เพียงแต่แยกไคลเอนต์ออกจากเซิร์ฟเวอร์ฐานข้อมูล แต่ยังปรับปรุงประสิทธิภาพของการเข้าถึงฐานข้อมูลอีกด้วย
5. ตัวอย่าง
เพื่อให้อธิบายวิธีการใช้ JSP/Servlet เพื่อสร้างระบบข้อมูลการจัดการแบบสามระดับได้ดีขึ้น ผู้เขียนจะใช้ตัวอย่างเพื่อวิเคราะห์และออกแบบระบบข้อมูลการจัดการคำสั่งซื้อทางไปรษณีย์สำหรับสินค้าโภคภัณฑ์ ระบบข้อมูลการจัดการคำสั่งซื้อสินค้าทางไปรษณีย์นี้ใช้ภาษา Java เพื่อพัฒนาแอปพลิเคชันฝั่งเซิร์ฟเวอร์ และใช้ Webshpere ของ IBM เป็นเซิร์ฟเวอร์แอปพลิเคชัน ระบบการจัดการฐานข้อมูลใช้ SQL Server7.0 และโปรแกรมอินเทอร์เฟซฐานข้อมูลใช้อินเทอร์เฟซ JDBC2 ทั้งระบบใช้วิธีการบนเว็บเพื่อจัดการลูกค้า การจัดการพนักงาน การจัดการคำสั่งซื้อ การจัดการสินค้า การจัดการขาออก การจัดการขาเข้าและการประมวลผลทางธุรกิจอื่นๆ การควบคุมกระบวนการ การควบคุมอำนาจ สถิติการสืบค้น และฟังก์ชันการพิมพ์ของธุรกิจสั่งซื้อทางไปรษณีย์ . โดยจะวิเคราะห์ฟังก์ชันการสืบค้นของส่วนการจัดการคำสั่งซื้อโดยละเอียด
5.1 การออกแบบฐานข้อมูล
สำหรับส่วนของคำสั่งซื้อ จำเป็นต้องกำหนดตารางข้อมูลคำสั่งซื้อ Db_order โดยฟิลด์ในตารางประกอบด้วยหมายเลขคำสั่งซื้อ (ddbh) หมายเลขลูกค้า (khbh) หมายเลขผลิตภัณฑ์ (spbh) ราคาต่อหน่วยผลิตภัณฑ์ (spdj) และ ปริมาณการสั่งซื้อ (dgsl) ราคารวม (hjzj) จำนวนที่ได้รับ (sdje) วันที่ได้รับ (sdrq) ในการใช้ตาราง Db_order ในแอปพลิเคชัน จะต้องสร้างการเชื่อมต่อฐานข้อมูล ฟังก์ชั่นนี้ถูกนำมาใช้โดย sql_data.java ส่วนหนึ่งของรหัสมีดังนี้
คลาสสาธารณะ sql_data {
String url = "jdbc:odbc:PostOrder"; // ใช้ชื่อโฮสต์และหมายเลขพอร์ตของคุณที่นี่
String Login = "sa"; // ใช้ข้อมูลเข้าสู่ระบบของคุณที่นี่
รหัสผ่านสตริง ="zh12345"; // ใช้รหัสผ่านของคุณที่นี่
การเชื่อมต่อการเชื่อมต่อสาธารณะ = null;
คำชี้แจงสาธารณะ st = null;
สาธารณะ ResultSet rs = null;
พยายาม
-
Class.forName("com.microsoft.jdbc.sqlserver.SqlServerDriver");
conn =DriverManager.getConnection(url, ผู้ใช้, รหัสผ่าน);
} จับ (ยกเว้น e)
-
e.printStackTrace();
-
}
5.2 การออกแบบชั้นกลาง
ในกระบวนการพัฒนาระบบข้อมูลการจัดการคำสั่งซื้อสินค้าทางไปรษณีย์ตามแนวคิดการออกแบบรูปแบบ MVC และรวมกับสถานการณ์จริงของระบบเราจึงแบ่งชั้น Model เพิ่มเติมตามการแบ่งส่วนแรงงาน . โดยทั่วไปเลเยอร์ Model จะประกอบด้วย JavaBeans จำนวนมาก ตามบทบาทที่แตกต่างกันของ Bean เหล่านี้ในระบบ จะถูกแบ่งออกเป็นสามประเภท: Command Beans, Data Beans และ View Beans ในหมู่พวกเขา Command Beans ถูกใช้เพื่อใช้ตรรกะทางธุรกิจ กล่าวคือ การประมวลผลอินสแตนซ์ของวัตถุ Data Beans ใช้เพื่ออธิบายและกำหนดโมเดลออบเจ็กต์ที่เป็นนามธรรมจากโลกแห่งความเป็นจริง และ View Beans ใช้เพื่อห่อหุ้มและส่งคืนอินสแตนซ์ของออบเจ็กต์ที่ประมวลผลเพิ่มเติม . ให้กับลูกค้า
ขั้นแรก Command Beans รับข้อมูลที่ส่งผ่านโดย Servlet สรุปข้อมูลทางธุรกิจในอินสแตนซ์ออบเจ็กต์ที่กำหนดโดย Data Beans และประมวลผลข้อมูลตามตรรกะทางธุรกิจ เมื่อจำเป็นต้องเรียกใช้การดำเนินการเข้าถึงฐานข้อมูล Command Beans จะใช้อินสแตนซ์อ็อบเจ็กต์และข้อมูลการควบคุมที่เกี่ยวข้องเพื่อดำเนินการฐานข้อมูลให้เสร็จสิ้นผ่านวิธีอินเทอร์เฟซฐานข้อมูล หลังจากการดำเนินการฐานข้อมูลเสร็จสิ้น ชุดบันทึกที่ส่งคืนจะถูกห่อหุ้มไว้ในอินสแตนซ์อ็อบเจ็กต์ของ Data Beans หลังจากการประมวลผลบางอย่าง ข้อมูลที่จำเป็นต้องส่งคืนไปยังอินเทอร์เฟซจะถูกห่อหุ้มไว้ใน View Beans ที่กำหนดไว้ล่วงหน้า และข้อมูลจะถูกส่งกลับผ่าน View Beans . ไปยังอินเทอร์เฟซ
ต่อไปนี้เป็นส่วนหนึ่งของโค้ดของ OrderGl.java ที่สอบถามและประมวลผลคำสั่งซื้อ
OrderGl คลาสสาธารณะ {
-
//กำหนดวิธีการต่อไปนี้เพื่อทำให้การดำเนินการค้นหาคำสั่งซื้อเสร็จสมบูรณ์
สตริงสุดท้ายสาธารณะ currentMultiQuery(
คำขอ javax.servlet.http.HttpServletRequest
javax.servlet.http.HttpServletResponse การตอบกลับ)
พ่น com.goods.Exception.GoodsException
-
//รับข้อมูลแบบสอบถามที่เกี่ยวข้องจากหน้า JSP
com.goods.view.OrderView view = getView (คำขอ, ตอบกลับ);
String ddbh = view.getDdbh(); //หมายเลขคำสั่งซื้อ
//สร้างคำสั่ง SQL
สตริง sqlQuery = "เลือก ddbh,khbh,spbh,spdj,dgsl,hjzj,sdje,sdrq จาก db_order";
//ดำเนินการดำเนินการสอบถาม
java.util.Vector vector = ใหม่ java.util.Vector();
com.goods.sjk.sql_data ต่อ = ใหม่ com.goods.sjk.sql_data();
พยายาม
-
java.sql.ResultSet rs = per.executeQuery(sqlQuery);
ในขณะที่ (rs.next())
-
com.goods.dx.Db_order temp = ใหม่ com.goods.dx.Db_order();
temp.setDdbh(rs.getString("ddbh"));
temp.setKhbh(rs.getString("khbh"));
temp.setSpbh(rs.getString("spbh"));
temp.setSpdj(rs.getString("spdj"));
temp.setDgsl(rs.getString("dgsl"));
temp.setHjzj(rs.getString("hjzj"));
temp.setSdje(rs.getString("sdje"));
temp.setSdrq(rs.getString("sdrq"));
vector.addElement(อุณหภูมิ);
-
rs.ปิด();
ต่อ.ปิด();
} จับ (โยนได้ e)
-
e.printStackTrace();
ต่อ.ปิด();
cxyw.printErrorToWeb(คำขอ, ตอบกลับ, e.toString());
กลับ e.toString();
-
//สะท้อนข้อมูลที่เกี่ยวข้องกับอินเทอร์เฟซ view.setVct(vector);
request.setAttribute("ดู", ดู);
กลับ "1";
-
}
5.3
มุมมองการออกแบบไคลเอนต์เป็นส่วนหนึ่งของแอปพลิเคชันที่แสดงข้อมูลแก่ผู้ใช้ นั่นคือเว็บเพจที่ส่งคืนให้กับผู้ใช้หลังจากที่ผู้ใช้ทำการร้องขอ เมื่อคลิกปุ่ม "สอบถาม" หน้าผลลัพธ์ข้อมูลคำสั่งซื้อ ordercx.jsp ที่ได้รับตามหมายเลขคำสั่งซื้อจะปรากฏขึ้น ซึ่งทำได้โดยใช้ไวยากรณ์ต่อไปนี้ในเพจ JSP:
<jsp:useBean id="view" class="com.goods.view.OrderView" scope="request" />
<jsp:useBean id="temp" class="com.goods.dx.Db_order" scope="page" />
<jsp:useBean>การดำเนินการใช้รหัสและขอบเขตเพื่อค้นหาแต่ละออบเจ็กต์ที่มีอยู่ จากนั้นส่งผ่าน <%=view.getDdbh()
และ <%=temp.getDdbh()%> เพื่อรับข้อมูลที่เกี่ยวข้อง
6. สรุป
บทความนี้เสนอวิธีแก้ปัญหาสำหรับการพัฒนาระบบข้อมูลการจัดการสามระดับบนเว็บโดยใช้เทคโนโลยี JSP/Servlet โซลูชันนี้ตระหนักถึงการแยกเลเยอร์การนำเสนอและเลเยอร์ลอจิก ทำให้ระบบสามารถปรับขนาดได้สูง ขณะเดียวกันก็ให้แนวคิดและวิธีการที่สมบูรณ์สำหรับการพัฒนาระบบข้อมูลการจัดการ