tin quan trọng trong quản lý, cần có tài khoản đăng nhập, kết hợp firewall... - Hệ thống thiết kế theo ngôn ngữ tiếng viết cũng như xây dung đơn giản phù
Chương 3:Thiết kế kiến trúc3.1. Chọn topology hệ thống: 3.1. Chọn topology hệ thống:
Với 3 mô hình kiển trúc phổ biến 1 tầng (one-tier architecture), 2 tầng (two-tier architecture) và 3 tầng (Three-tier architecture)
Đối với hệ thống quản lý thư viện với quy mô nhỏ như trong các trường học một số thư viên cỡ nhỏ trung bình để đơn giản trong việc sử dụng quản lý nên sử dụng mô hình 1 tầng
Với hệ quản lý thư viện cỡ lớn của thành phố lớn trung tâm yêu cầu hệ thống lớn độ phức tạp cao nên lựa chọn mô hình 2 hoặc 3 tầng sẽ phù hợp, hợp lý hơn. Với kiến trúc 3 tầng hệ thống bao gồm :
• Tầng dữ liệu quản lý thư viện là server dữ liệu (được gọi là DBServer).Host DBServer là một DBMS xử lý cho việc truy cập dữ liệu.
• Tầng ở giữa, giao tiếp với tầng dữ liệu, là 1 máy server (ThuVienServer), tạo lại bản sao số lượng vật liệu đưa vào quá trình và quan hệ. Dữ liệu truy cập cho server này được cung cấp bởi DBMS.
• Tầng dưới có thể các máy tinh nằm trong hệ thống thư viện hoặc đơn thuần là các máy tính cá nhân của người dung có thể đăng nhập vào web thông qua mang internet
3.2. Chọn ngôn ngữ lâp trình, cơ sở dữ liệu, giao thức
• Ngôn ngữ lâp trình: có nhiều ngồn ngữ lâp trình khác nhau để xây dựng hệ quản lý Ngôn ngữ lâp trình lựa chọn ở đây là Java vì nó là một ngôn ngữ lập trình hướng đối tượng. Phát triển OOPS (Object-Oriented Programming System – hệ thống lập trình hướng đối tượng) dễ dàng trong việc triển khai và duy trì mô-đun hệ thống, linh hoạt và mở rộng cũng như phát triển hệ thống.Với đó là sự phát triển mạnh mẽ của Java trong nhưng năm gần đây, hỗ trợ tốt cho người lâp trình trong quá trình code, xây dựng hệ quản lý. Có một cộng đồng lớn mạnh hâu thuẫn cũng như hỗ trợ tốt trên các máy tính destop laptop, các web browser,trên di động smart Phone…
Có thể chọn giữa công nghệ như HTML/CGI, java Applet, servlets ….
Trong đó trên server, Servlet là công cụ tốt nhất được chọn để xử lý CGI yêu cầu vì chúng có thể di động
• Cơ sở dữ liệu : có nhiều hệ cơ sở dữ liệu có thể được sử dụng: MySQL,, SQL Server hay oracle Với mỗi loại nó đều có ưu nhược điểm riêng tùy thuộc vào yêu cầu khách hàng cũng như đáp ứng đủ nhu cầu mà lựa chọn hệ quản trị CSDL phù hợp
Ở đây lựa chon hệ CSDL MySQL vì nó là hệ quản lý CSDL phổ biến, miễn phí tích hợp chung với nhiều ngôn ngữ lâp trình khác . Cùng với đó là tốc độ xử lý cũng như độ tin cậy của nó. Chính yếu tố phát triển trong cộng đồng mã nguồn mở nên mysql đã qua rất nhiều sự hỗ trợ của những lập trình viên yêu thích mã nguồn mở. Mysql cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL Nhưng Mysql không bao quát toàn bộ những câu truy vấn cao cấp như SQL. Về bản chất Mysql chỉ đáp ứng việc truy xuất đơn giản nhưng hầu hết có thể giải quyết bài toán trong hệ thống này của chúng ta
• Giao thức sử dụng ở đây có thể TCP/IP client server giao thức phổ biến trên mạng internet , các máy tính destop ở thư viện cho phép nhân viên thư viện sử dụng trong việc quản lý, cũng như máy tính của khách hàng, điện thoại di đông smart phone… đêu có thể kết nối đến để đặt hàng, xem xét thông tin danh sách tài liệu mượn…
Tìm hiểu applet
Ví dụ sau trình bày cách tạo ra một Applet cơ bản cần phải nhúng một mã HTML để chạy chương trình này.
import java.applet.*; import java.awt.*;
public class Main extends Applet{ public void paint(Graphics g){
g.drawString("Welcome in Java Applet.",40,20); }
}
<HTML> <HEAD> </HEAD> <BODY> <div >
<APPLET CODE="Main.class" WIDTH="800" HEIGHT="500"> </APPLET>
</div> </BODY> </HTML>
Kết quả trên web brower: Welcome in Java Applet.
Tìm hiểu servlets
Ví dụ code serlvets Hello world: // Import required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
// Extend HttpServlet class
publicclassHelloWorldextendsHttpServlet{
privateString message;
publicvoid init()throwsServletException
{
// Do required initialization message ="Hello World";
}
publicvoid doGet(HttpServletRequest request,
HttpServletResponse response)
throwsServletException,IOException
{
// Set response content type
response.setContentType("text/html");
// Actual logic goes here.
PrintWriterout= response.getWriter();
}
publicvoid destroy()
{
// do nothing. }
}
Bây giờ biên dịch mã ở trên và gọi các lớp được tạo ra trong mã HTML của bạn như sau:
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
Kết quả trên web brower:
3.3. Thiết lâp chính sách đồng thời và bảo mật
Với hệ quản lý thư viện hay bất kỳ hệ quản lý nào khác vấn đề bảo mật liên quan đến: Tính toàn vẹn, tính bí mật, tính sẵn dùng, tính xác thực… luôn rất quan trọng đều cần đước quan tâm chú ý.
CSDL người dùng tài liệu, giao dịch mượn trả tài liệu vô cùng quan trong luôn cần được bảo vẻ bảo mật vì thế cần xây dựng chính sách phù hợp bảo mật cho hệ thống Mỗi một người dùng muốn sử dụng hệ thống đều phải có tài khoản để đăng nhập
Mã số khách hàng thông tin tài khoản và mật khẩu sử dụng để đăng nhập sẽ được quản lý trực tiếp tại trung tâm, trong mỗi lần bảo trì, sử dụng máy tích hợp chuẩn Java. Tất cả mọi truy cập tới dịch vụ sẽ được bảo mật bởi giao thức SSL trên TCP/IP.
Xây dựng hệ thống hoàn chỉnh khắc phục giảm lỗi liên quan đến bảo mật, hệ thống. Chú ý vấn đề thiết lập tài khoản mật khẩu
Thiết lập firewall tường lửa bảo vệ hệ thống. Server sẽ được triển khai sau tường lửa để mọi truy cập ở ngoài được kiểm soát.
Cũng như thường xuyên kiểm tra phát hiện lỗi lỗ hổng trong bảo mật
3.4. Phân rã thành các hệ thống con
Đối với mỗi hệ thống dều cần được phân rã thành hệ thống con thành các tầng hoặc các hệ thống con khác
Với hệ quản lý Thư viện có thể chia hệ thống thành các phần khác nhau thông quan chức năng
• Quản lý tài liệu, sách…
• Quản lý nhân viện thư viện
• Quản lý khách hàng bạn đọc, thẻ bạn đọc
• Quản lý xử lý mượn, trả tài liệu
Hoặc phân chia thành các phần kiến trúc : client, server, database….