MỤC LỤC
LỜI MỞ ĐẦU 2
LỜI CẢM ƠN 2
Các thuật ngữ viết tắt 3
CHƯƠNG I. TỔNG QUAN 4
1.1 Giới thiệu công ty chứng khoán Thiên Việt 4
1.2 Các Khái niệm 5
1.2.1 Nhân viên 5
1.2.2 Khách hàng 5
1.3 Các nghiệp vụ chính 6
1.3.1 Đối với nhân viên 6
1.3.2 Đối với khách hàng 6
1.3.3 Khách hàng đăng ký tài khoản 6
1.3.4 Gửi mail 9
1.4 Báo cáo nghiệp vụ chính: 10
CHƯƠNG II. PHÂN TÍCH HỆ THỐNG 12
2.1 Yêu cầu của hệ thống. 12
2.2 Mô tả nghiệp vụ đăng ký tài khoản 12
2.3 Khách hàng đăng ký tài khoản online 12
2.3.1 Đăng ký tài khoản 12
2.3.2 Tìm kiếm thông tin khách hàng đối với nhân viên công ty chứng khoán: 16
2.3.3 Khách hàng tìm kiếm thông tin : 16
2.3.4 Sửa chữa thông tin khách hàng 17
2.3.5 Hướng dẫn mở tài khoản 17
2.3.6 Gửi mail 17
2.4 Sơ đồ phân cấp chức năng 18
2.4.1 Sơ đồ phân cấp chứng năng 18
2.4.2 Mô tả các chức năng 18
2.5 Biểu đồ luồng dữ liệu : 19
2.5.1 Biểu đồ luồng dữ liệu mức ngữ cảnh 19
2.5.2 Biểu đồ luồng dữ liệu mức đỉnh 20
2.5.3 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý nghiệp vụ: 21
2.6 Mô hình thực thể quan hệ 22
CHƯƠNG III. GIỚI THIỆU CỤ THỰC HIỆN VÀ CÁC CÔNG NGHỆ LIÊN QUAN 23
3.1 Giới thiệu Struts 23
3.2 Giới thiệu Hibernate 26
3.3 Giới thiệu hệ quản trị cơ sở dữ liệu Postgre SQL 28
3.4 Giới thiệu Email 29
CHƯƠNG IV. THIẾT KẾ HỆ THỐNG 34
4.1 Thiết kế cơ sở dữ liệu 34
4.1.1 Thiết kế các bảng cơ sở dữ liệu 34
4.1.2 Sơ đồ thực thể liên kết 38
4.2 Thiết kế giao diện 38
KẾT LUẬN 44
TÀI LIỆU THAM KHẢO 45
PHỤ LỤC 46
MỤC LỤC 48
47 trang |
Chia sẻ: maiphuongdc | Lượt xem: 1705 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đề tài Đăng ký tài khoản trên mạng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
.Thông tin của người có quyền hoặc lợi ích tài chính với tài khoản này:
+ Họ và tên.
+ Điện thoại liên lạc.
+ Số CMTND/hộ chiếu.
+ Nơi cấp CMTND/hộ chiếu.
+ Ngày cấp.
- Giấy tờ kèm theo:
+ Chứng minh nhân dân (bản sao)
+ Hộ chiếu (bản sao)
+ Thông tin về người uỷ(nếu có)
+ Ngày sinh
+ Giới tính
+ Số CMND/Hộ chiếu
+ Ngày cấp
+ Nơi cấp
+ Địa chỉ thường trú
+ Địa chỉ liên hệ
+ Điện thoại
+ Email
+ Fax
- Quan hệ giữa người tư vấn và khách hàng: Công việc chính của người tư vấn là tiếp khách và tư vấn.Vì thế người tư vấn khách hàng phai có mối quan hệ rộng trên mọi lĩnh vực. Nguồn khách hàng của họ đến từ những đầu mối trung tâm giao dịch chứng khoán hay do chính nhà đầu tư tự tìm đến người tư vấn thông qua một số trang web chứng khoán.Thông tin cần thiết:
+ Không quen biết
+ Mới quen
+ Quan hệ họ hàng
+ Do giới thiệu (nếu có, đề nghị viết rõ họ tên của người giới thiệu) Họ tên
+ Hình thức khác.
1.3.4 Gửi mail
Nếu khách hàng chấp nhận những thông tin này là chính xác. Hệ thống sẽ trả lại cho khách hàng bản hợp đồng có đầy đủ thông tin theo mẩu và thông báo cho Khách hàng in “Phiếu yêu cầu mở tài khoản giao dịch chứng khoán”, “Hợp đồng mở tài khoản giao dịch chứng khoán”. Khi đó hệ thống sẽ tự động gửi mail vào địa chỉ mail của khách hàng, thông báo cho khách hàng đã đăng ký tài khoản thành công.
Báo cáo nghiệp vụ chính:
Thông tin về tài khoản của khách hàng:
Khi khách hàng đăng ký thành công sẽ có một bản báo cáo chi tiết về tất cả các thông tin của khách hàng như:
Họ và tên khách hàng
Ngày sinh
Giới tính
Số CMTND/ Hộ chiếu
Ngay cấp
Nơi cấp
Địa chỉ thường trú
Địa chỉ liên hệ
Email
Fax
Tên tổ chức nơi khách hàng làm việc
Nghành nghề kinh doanh chinh
Vị trí công tác của khách hàng.
Họ và tên vợ hoặc chồng.
Nơi làm việc của vợ hoặc chồng.
Nghề nghiệp của vợ hoăc chồng.
Vị trí công tác của vợ hoặc chồng.
Mục tiêu đầu tư của khách hàng
Mức độ chấp nhận rủi ro
Tài sản
Hiểu biết về đầu tư
Kinh nghiệm hoạt động trong đầu tư
Tài khoản tại nhà môi giới
Tên công ty đại chúng mà khách hàng nắm chức danh quản lý
Tên công ty đại chúng mà khách hàng nắm 05% vốn điều lệ trở lên.
Người có quyền lợi hoặc lợi ích đối với tài khoản này
- Họ và tên
- Số điện thoại
- Số CMTND/ Hộ chiếu
+ Ngày cấp
+ Nơi cấp
Giấy tờ kèm theo:
Chứng minh nhân dân (bản sao)
Hộ chiếu (bản sao)
Tài liệu khác
Thông tin người ủy quyền (nếu có)
Ngày sinh
Giới tính: Nam/ Nữ.
Số CMTND/ Hộ chiếu: Ngày cấp/ Nơi cấp
Địa chỉ thường trú
Địa chỉ liên hệ
Điện thoại
Email
Fax.
Cam kết của khách hàng
Chữ ký của khách hàng
Phần dành cho công ty chứng khoán
Ý kiến của nhân viên tư vấn
Chữ ký của nhân viên tư vấn
Chữ ký của trưởng phòng môi giới
Số tài khoản giao dich của khách hàng
CHƯƠNG II. PHÂN TÍCH HỆ THỐNG
2.1 Yêu cầu của hệ thống.
Chương trình mở tài khoản trên mạng đáp ứng được các yêu cầu sau:
a. Quản trị hệ thống
Phân quyền cho hệ thống.
Tạo người sử dụng.
b. Quản lý nghiệp vụ
Mở tài khoản online cho khách hàng.
Khách hàng có thể mở tài khoản trưc tiếp trên mạng.
Điền các thông tin vào phiếu cho nhân viên mở tài khoản.
Tìm kiếm thông tin khách hàng.
Hương đẫn mở tài khoản online
2.2 Mô tả nghiệp vụ đăng ký tài khoản
Chi tiết các nghiệp vụ.
Nhân viên
- Với những khách hàng đăng ký trực tiếp tại công ty thì nhân viên sẽ đưa cho khách hàng văn bản cần thiết để đăng ký tài khoản.
- Hướng dẫn khách hàng đăng ký tài khoản.
- Quản lý các thông tin của khách hàng.
2.3 Khách hàng đăng ký tài khoản online
- Đọc kỹ hướng dẫn mở tài khoản.
- Cập nhập các thông tin của khách hàng.
- Xác nhận lai thông tin.
2.3.1 Đăng ký tài khoản
a. Mục đích:
- Nhân viên cập nhâp các thông tin khách hàng khi khách hàng muốn tạo tài khoản trực tiếp.
- Khách hàng tự cập nhập các thông tin của mình vào hệ thống khi đăng ký trực tuyến. b.Người sử dụng : Nhân viên và khách hàng.
c.Điều kiện thực hiện:
- Khách hàng phải có các giấy tờ cần thiết .
- Đảm bảo tính pháp lý. d.Input – Thông tin cần nhập:
Họ tên khách hàng
Ngày sinh
Giới tính ( nam hay nữ)
Số chứng minh thư nhân dân/Hộ chiếu
Ngày cấp
Nơi cấp
Địa chỉ thường chú
Địa chỉ liên hệ
Điện thoại
Email
Fax
Số pin
Xác nhận số pin
Tên tổ chức nơi khách hàng làm việc
Nghành nghề kinh doanh chính
Vị trí công tác của khách hàng
Họ tên vợ( hoặc chồng).
Nơi làm việc của vợ (hoặc chồng).
Nghề nghiệp của vợ (hoăc chồng).
Vị trí công tác của vợ (hoặc chồng).
Mục tiêu đầu tư của khách hàng:
Thu nhập (%)
Tăng trưởng dài hạn (%)
Tăng trưởng trung hạn (%)
Tăng trưởng ngắn hạn (%)
Tổng (%)
Mức độ chấp nhận rủi ro:
Thấp (%)
Cao (%)
Trung bình (%)
Tổng (%)
Tài sản
Tài sản ngắn hạn (%)
Tài sản cố định (%)
Giá trị tài sản ròng (%)
Tổng thu nhập của khách hàng (%)
Thu nhập của vợ (chồng) (%)
Hiểu biết về đầu tư:
Chưa hiểu rõ
Còn hạn chế
Tốt
Rất tốt
Kinh nghiệm hoạt động trong đầu tư
Chưa có
Tín phiếu
Bán khống
Cổ phiếu
Trái phiếu
Chứng khoán
Tài khoản tại nhà môi giới
Tài khoản tiền gửi
Số tài khoản
Người quản lý tài
Tên công ty đại chúng mà khách hàng nắm chức danh quản lý
Tên công ty đại chúng mà khách hàng nắm 05% vốn điều lệ trở lên
Người có quyền lợi hoặc lợi ích đối với tài khoản này
Họ và tên
Số điện thoại
Số CMTND/ Hộ chiếu
Ngày cấp
Nơi cấp
Giấy tờ kèm theo
Chứng minh nhân dân (bản sao)
Hộ chiếu (bản sao)
Tài liệu khác
Thông tin người ủy quyền (nếu có)
Ngày sinh
Giới tính: Nam/ Nữ
Số CMTND/ Hộ chiếu: Ngày cấp/ Nơi cấp
Địa chỉ thường trú
Địa chỉ liên hệ
Điện thoại
Email
Fax
Quan hệ giữa người tư vấn và khách hàng
Không quen biết
Mới quen
Quan hệ họ hàng
Do giới thiệu
Hinh thức khác
e.Out put của nghiệp vụ:
Khi đã nhập tất cả các thông tin cần thiết khách hàng sẽ xem lại một lần nữa khi xác nhận thông tin.
Khi khách hàng đăng ký thành công thi hệ thống cho phép xuất ra một bản báo cáo về thông tin khách hàng.
Hệ thống sẽ lưu lại thông tin của khách hàng.
Một số lỗi mà hệ thống sẽ thông báo lại khi khách hàng nhập sai hoặc không đúng kiểu dữ liệu :
Bạn phải nhập tên
Ngày sinh phải đúng định dạng
Bạn phai nhập số CMTND/Hộ chiếu
Bạn phải nhập nơi cấp CMTND/Hộ chiếu
Số CMTND đã tồn tại
Bạn phải nhập ngày cấp CMTND/Hộ chiếu
Bạn phải nhập nơi cấp CMTND/Hộ chiếu
Bạn phai nhập địa chỉ thường trú
Bạn phải nhập điên thoại
Email không đúng định dạng
Email người ủy quyền không đúng định dạng
Bạn phải nhập số pin
Bạn phải nhập xác nhân số pin
Số pin và xác nhận số pin không trùng nhau
Số pin đã tồn tại
Mục tiêu đầu tư của khach hàng phải là số
Mức độ chấp nhận rủi ro phải là số
Tài sản phải là số
2.3.2 Tìm kiếm thông tin khách hàng đối với nhân viên công ty chứng khoán:
a.Mục đích:
Tìm kiếm và tra cứu thông tin khách hàng.
b.Người sử dụng:
Nhân viên
c.Điều kiện thực hiện:
Khách hàng đã đăng ký thành công tài khoản.
Để đảm bảo tính bảo mật thông tin khách hàng thì việc tra cứu nhiều khách hàng chỉ có nhân viên mới được thực hiện nghiệp vụ này.
d.Input – thông tin cần cập nhật
Nhân viên:
Tên khách hàng
Số CMTND/ Hộ chiếu
Số tài khoản
e. Output của nghiệp vụ
Hệ thống báo lại thông tin khách hàng
2.3.3 Khách hàng tìm kiếm thông tin :
a.Mục đích:
Tìm kiếm và tra cứu thông tin của mình.
b.Người sử dụng:
Nhân viên
c.Điều kiện thực hiện:
Khách hàng đã đăng ký thành công tài khoản.
Khách hàng chỉ có thể tra cứu thông tin tài khoản của mình
d. Input – thông tin cần cập nhật
Khách hàng:
Email
Số Pin
Số CMTND/ Hộ chiếu
e.Output của nghiệp vụ
Hệ thống báo lại thông tin khách hàng
Hệ thống có thể in ra các thông tin của khách hàng.
2.3.4 Sửa chữa thông tin khách hàng
a.Mục đích :
Khách hàng sửa chữa lại các thông tin .
b.Người sử dụng :
Khách hàng.
c.Điều kiện thực hiện :
Khách hàng đã đăng ký tài khoản.
d.In put thông tin cần nhập :
+ Khách hàng tìm kiếm chính xác thông tin của mình
e. Out put hệ thống
+ Cập nhật lại thông tin ma khách hàng đã đăng ký
+ Khách hàng khi muốn sửa chữa thông tin thì phải đến trực tiếp công ty chứng khoán.
2.3.5 Hướng dẫn mở tài khoản
Mục đích
Để cập nhật thông tin cho khách hàng về các quy định để mở một tài khoản.
Người sử dụng: Nhân viên
Điều kiện thực hiện
Thông tin về mở tài khoản đã đuợc thông qua.
Cấp lãnh đạo có thẩm quyền ký duyệt đã ký duyệt tính chính xác của thông tin.
Input - Thông tin cần cập nhật
Các thông tin liên quan đến mở tài khoản sẽ đươc nhân viên cập nhật hàng ngày.
Output của nghiệp vụ
Hệ thống sẽ đưa ra bảng hướng dẫn cho khách hàng đăng ký mở tàikhoản.
2.3.6 Gửi mail
a.Mục đích
Thông báo lại cho khách hàng các thông tin cần thiêt
b.Người sử dụng : Nhân viên
c.Điều kiện : mail của khách hàng phải có thật.
d. In put thông tin
+ HOST
+ SMTP_HOST
+ MAIL_FROM
+MAIL_FROM_PASSWORD
+ tenKhachhang
+ Email
+ Số chứng minh nhân dân
+Số PIN
e.Out put hệ thống
+Hệ thống sẽ tự động gửi thư đến địa chỉ email của khách hàng.
2.4 Sơ đồ phân cấp chức năng
2.4.1 Sơ đồ phân cấp chứng năng
Đăng ký tài khoản
Khách hàng
Tìm kiếm
Mở tài khoản cho KH
Đăng ký TK
In thông tin KH
Nhân viên
Hướng dẫn mở TK
Tìm kiếm KH
Hình 2. Sơ đồ phân cấp chức năng
2.4.2 Mô tả các chức năng
Tìm kiếm thông tin khách hàng
Nhân viên có thể tìm kiếm nhiều khách hàng
Khách hàng chỉ tìm kiếm thông tin của mình
Hướng dẫn mở tài khoản
Cập nhật sủa chữa thông tin mở tài khoản
Đăng ký tài khoản
Tạo mới tài khoản
Lưu thông tin khách hàng
Sủa chữa thông tin khách hàng : khách hàng đến công ty chứng khoán để thay đổi thông tin.
2.5 Biểu đồ luồng dữ liệu :
2.5.1 Biểu đồ luồng dữ liệu mức ngữ cảnh
Hình 3. Biểu đồ luồng dữ liệu mức ngữ cảnh với nhân viên
Hình 4. Biểu đồ luồng dữ liệu mức ngữ cảnh với khách hàng
2.5.2 Biểu đồ luồng dữ liệu mức đỉnh
Hình 5.Biểu đồ luồng dữ liệu mức đỉnh với nhân viên
Hình 6.Biểu đồ luồng dữ liệu mức đỉnh với khách hàng
Ghi chú :
Kho dữ liệu bao gồm tất cả các file dữ liệu của hệ thống.
2.5.3 Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý nghiệp vụ:
Hình 7. Biểu đồ luồng dữ liệu mức dưới đỉnh với nhân viên
Hình 8. Biểu đồ luồng dữ liệu mức dưới đỉnh với khách hàng
2.6 Mô hình thực thể quan hệ
Khách hàng
Mục tiêu đầu tư
Người ủy quyền
Người có quyền lợi
Quan hệ tư vấn khách hàng
Thông tin chung
Mức độ chấp nhận rủi ro
Tài sản
Hình 9. Mô hình thực thể quan hệ
CHƯƠNG III. GIỚI THIỆU CỤ THỰC HIỆN VÀ CÁC CÔNG NGHỆ LIÊN QUAN
Sau khi khảo sát và tìm hiểu về hệ thống em nhận thấy việc phát triển phần mềm theo mô hình web mang lại nhiều thuận lợi trong việc quản trị, cài đặt và bảo trì.
Để phát triển mô hình web em đã quyết định lựa chọn một số fremwork hiện đại và đang được sử dụng rộng dãi là struts và hibernate cùng với hệ quản trị cơ sở dữ liệu postgre SQL. Việc sử dụng 2 framework là struts và hibernate giúp cho việc phát triển phần mềm một cách nhanh chóng giảm bớt thời gian code dễ dàng cho việc phát triển và bảo trì cho các version sau.
3.1 Giới thiệu Struts
Struts, một dự án mã nguồn mở của Apache Software Foundation, là một bản hiện thực Java phía server của mẫu thiết kế Model-View-Controller (MVC). Dự án Struts được khởi xướng bởi Craig McClanahan vào tháng 5/2000, thuộc dự án Apache Jakarta. Hiện tại, dự án Struts đã trở thành một dự án độc lập - dự án Apache Struts.
Dự án Struts được thiết kế với mục đích cung cấp một bộ khung mã nguồn mở để tạo các ứng dụng Web, tách tầng trình bày (presentation layer) ra khỏi tầng giao tác (transaction layer) và tầng dữ liệu (data layer). Từ khi ra đời, dự án Struts nhận được nhiều ủng hộ của các nhà phát triển và nhanh chóng chiếm ưu thế trong cộng đồng mã nguồn mở.
Mẫu thiết kế MVC
Để nắm vững Struts Framework, bạn phải hiểu cơ bản về mẫu thiết kế MVC. Mẫu thiết kế MVC, được bắt nguồn từ Smalltalk, bao gồm ba thành phần: Model, View, và Controller.Ba thành phần của mẫu thiết kế MVC: - Model
Biểu diễn các đối tượng dữ liệu. Thành phần Model là những gì đang được thao tác và trình bày cho người dùng. Chúng thường biểu diễn các đối tượng nghiệp vụ hay các hệ thống backend khác và có thể được hiện thực là những JavaBean đơn giản, những Enterprise JavaBean, những biểu diễn đối tượng của dữ liệu được lưu trữ trong một cơ sở dữ liệu quan hệ, hoặc chỉ là những gì cần được thao tác hay biểu diễn trong một ứng dụng Web
-View Đóng vai trò là phần biểu diễn trên màn hình (screen representation) của thành phần Model. Thành phần View là đối tượng trình bày trạng thái hiện tại của các đối tượng dữ liệu. Mỗi thành phần View trong Struts Framework được ánh xạ đến một trang JSP, trang này có thể chứa bất kỳ sự kết hợp nào của các thẻ tùy biến Struts, JSP, và HTML. Các trang JSP trong Struts Framework có hai chức năng chính. Thứ nhất, đóng vai trò là tầng trình bày của một Controller Action đã được thực thi trước đó. Điều này thường được hoàn thành bằng cách sử dụng một tập thẻ tùy biến để duyệt và thu lấy dữ liệu mà Controller Action chuyển đến JSP đích. Loại View này không thể hiện đặc trưng của Struts và không được lưu tâm.Chức năng thứ hai, thể hiện đặc trưng của Struts, là thu thập dữ liệu cần thiết để thực hiện một Controller Action cụ thể. Điều này thường được hoàn thành bằng cách kết hợp các thư viện thẻ Struts và các đối tượng ActionForm. Loại View này chứa một số lớp và thẻ đặc-trưng-Struts.
-Controller Định nghĩa cách thức giao diện người dùng tương tác lại dữ liệu đầu vào. Thành phần Controller là đối tượng thao tác thành phần Model (hay đối tượng dữ liệu). Thành phần Controller của Struts Framework là xương sống của tất cả các ứng dụng Web Struts. Nó được hiện thực bằng một servlet có tên là org.apache.struts.action.ActionServlet. Servlet này nhận các yêu cầu HTTP và giao quyền điều khiển của mỗi yêu cầu, dựa vào URI của yêu cầu, cho một lớp org.apache.struts.action.Action do người dùng định nghĩa. Lớp Action là nơi mà thành phần Model của ứng dụng được thu lấy và/hay thay đổi. Khi lớp Action đã hoàn tất quá trình xử lý, nó trả về một khóa cho ActionServlet. Khóa này được sử dụng để xác định View nào sẽ trình bày các kết quả xử lý. Bạn có thể hình dung ActionServlet như một đại lý nhận các yêu cầu cho các dịch vụ, và dựa trên các yêu cầu này, tạo ra các đối tượng Action nhằm thực hiện logic nghiệp vụ cần thiết để hoàn tất các dịch vụ này.
Dưới đây là một số lợi ích khi sử dụng mẫu thiết kế MVC: Tính tin cậy - Tầng trình bày và tầng giao tác có sự phân chia rõ ràng, cho phép bạn thay đổi cảm quan của ứng dụng mà không cần biên dịch lại mã lệnh của Model hay Controller. Tính thích ứng và tái sử dụng cao - Mẫu MVC cho phép bạn sử dụng nhiều loại khung nhìn, tất cả cùng truy xuất đến một mã nguồn phía server, từ trình duyệt web (HTTP) cho đến trình duyệt không dây (WAP).Các phí tổn trong vòng đời phát triển rất thấp - Mẫu MVC chỉ cần có người lập trình cấp thấp phát triển và bảo trì các giao diện người dùng. Triển khai nhanh chóng - Thời gian phát triển có thể được giảm đáng kể, bởi vì những người lập trình cho thành phần Controller (nhà phát triển Java) chỉ tập trung vào phần giao tác, còn những người lập trình cho thành phần View (nhà phát triển HTML và JSP) chỉ tập trung vào phần trình bày. Tính bảo trì - Việc tách phần trình bày và logic nghiệp vụ cũng khiến việc bảo trì và sửa đổi một ứng dụng Web dựa trên Struts dễ dàng hơn.
Bản hiện thực Struts của mẫu MVC
Struts Framework mô hình hóa bản hiện thực phía server của mẫu MVC bằng cách kết hợp các trang JSP, các thẻ JSP tùy biến, và một Java servlet. Trong phần này, chúng ta mô tả ngắn gọn cách Struts Framework ánh xạ đến mỗi thành phần của mẫu MVC. Hình 10.Bản hiện thực Struts của mẫu MVC Hình trên mô tả quy trình xử lý mà hầu hết các yêu cầu ứng dụng Struts cần tuân theo. Quy trình này có thể được chia thành 5 bước cơ bản:- Một yêu cầu xuất phát từ một View đã được hiển thị trước đó.- Yêu cầu này được tiếp nhận bởi ActionServlet (đóng vai trò là một Controller), ActionServlet tìm URI được yêu cầu trong một file XML (sẽ được mô tả trong chương 3, “Làm quen với Struts”) và xác định tên lớp Action sẽ thực hiện logic nghiệp vụ cần thiết.- Lớp Action thực hiện logic của nó trên các thành phần Model của ứng dụng.- Khi đã hoàn tất quá trình xử lý, lớp Action trả quyền điều khiển cho ActionServlet, đồng thời
cung cấp một khóa (key) biểu thị các kết quả xử lý. ActionServlet sử dụng khóa này để xác
định các kết quả sẽ được chuyển đến đâu khi trình bày.- Yêu cầu kết thúc khi ActionServlet chuyển yêu cầu đến View được gắn với khóa trả về, và
View này trình bày các kết quả của Action.
web flow diagram:
Hình 11. web flow diagram
3.2 Giới thiệu Hibernate
3.2.1 Giới thiệu về Hibernate :
Hibernate là một dịch vụ lưu trữ và truy vấn dữ liệu quan hệ mạnh mẽ và nhanh. Hibernate giúp bạn phát triển các class dùng để lưu trữ dữ liệu theo cách thức rất là hướng đối tượng: association, inheritance, polymorphism, composition và collections. Hibernate cho phép bạn thực hiện các câu truy vấn dữ liệu bằng cách sử dụng ngôn ngữ SQL mở rộng của Hibernate (HQL) hoặc là ngôn ngữ SQL nguyên thuỷ cũng như là sử dụng các API.Không giống như các persistence layer khác, Hibernate không ẩn đi sức mạnh của ngôn ngữ SQL khỏi bạn mà Hibernate còn đảm bảo cho bạn việc bạn đầu tư vào công nghệ và tri thức cơ sở dữ liệu quan hệ là luôn luôn chính xác. Và điều quan trọng hơn nữa là Hibernate được license theo LGPL (Lesser GNU Public License). Theo đó, bạn có thể thoải mái sử dụng Hibernate trong các dự án open source hoặc các dự án thương mại (commercial).Hibernate là một dự án open source chuyên nghiệp và là một thành phần cốt tuỷ của bộ sản phẩm JBoss Enterprise Middleware System (JEMS). JBoss, như chúng ta đã biết là một đơn vị của Red Hat, chuyên cung cấp các dịch vụ 24x7 về hỗ trợ chuyên nghiệp, tư vấn và huyấn luyện sẵn sàng hỗ trợ bạn trong việc dùng Hibernate.Các thành phần của Hibernate project:* Hibernate Core: Cung cấp các chức năng cơ bản của một persistence layer cho các ứng dụng Java với các APIs và hỗ trợ XML mapping metadata.* Hibernate Annotations: Các map class với JDK 5.0 annotations, bao gồm Hibernate Validator.* Hibernate EntityManager: Sử dụng EJB 3.0 EntityManager API trong JSE hoặc với bất kỳ JEE server nào.* Hibernate Tools: Các tool tích hợp với Eclipse và Ant dùng cho việc sinh ra các persistence object từ một schema có sẵn trong database (reverse-engineering) và từ các file hbm sinh ra các class java để hiện thực các persistence object, rồi Hibernate tự tạo các object trong database (forward-engineering).* NHibernate: Hibernate cho .Net framework.* JBoss Seam: Một Java EE 5.0 framework cho phát triển các ứng dụng JSF, Ajax và EJB 3.0 với sự hỗ trợ của Hibernate. Seam hiện rất mới và tỏ ra rất mạnh để phát triển các ứng dụng Web 2.0. Nó tích hợp đầy đủ tất cả các công nghệ tốt nhất hiện nay.
3.2.2 Kiến trúc của Hibernate:
Biểu đồ mô tả tổng thể về Hibernate:
Hình 12. Tổng thể về Hibernate
Kiến trúc của Hibernate gồm 3 phần:
Quản lý kết nối: Dịch vụ quản lý kết nối của Hibernate cung cấp việc quản lý hết sức hiệu quả các connection đến database. Database connection luôn là phần đắt đỏ và nhiều rủi ro trong việc kiểm soát, chúng ta tốn nhiều tài nguyên để mở và đóng một connection, hơn nữa, việc xử lý dữ liệu phức tạp và có thể dẫn đến…….quên sót việc đóng kết nối hoặc đóng một cách không hợp lý. Điều này hoàn toàn không đơn giản và dẫn đến một ứng dụng đổ vỡ. (Một ví dụ là đóng nhiều kết nối trong 1 khối try...catch)
Quản lý transation (giao tác):dịch vụ quản lý giao tác cung cấp khả năng cho phép user thi hành nhiều phát biểu (statement) vào một thời điểm.
Object relational mapping: Công nghệ mapping dữ liệu dưới database thành dữ liệu trên object. Hibernate sẽ sử dụng SELECT, INSERT, UPDATE và DELETE trên các records và đưa thao tác dưới database tương ứng với việc thao tác tên Object java.
Mục đích sau cùng của hibernate đó là ORM, nhưng nó phải thêm vào các dịch vụ quản lý Connnection và Transaction vì phát sinh từ vấn đề performance và sự khó khăn khi tự mình xử lý những dịch vụ này trên Object được persistent. Hibernate buộc phải sử dụng những công cụ quản lý kết nối và transation của bên thứ 3 để hoàn thiện mô hình của mình. Một ví dụ là Apache DBCP thường được sử dụng trong connection pooling với Hibernate.
3.3 Giới thiệu hệ quản trị cơ sở dữ liệu Postgre SQL
Postgre SQl là một chương trình mã nguồn mở có nhiều đặc điểm hiện đại:
Câu truy vấn phức tạp (complex query)
Khóa ngoại (foreign key)
Thủ tục sự kiện (trigger)
Tính toàn vẹn của các giao dịch (integrity transactions)
Việc kiểm tra truy cập đồng thời đa phiên bản (multiversion concurrency control)
Hơn nữa, PostgreSQL có thể dùng trong nhiều trường hợp khác, chẳng hạn như tạo ra các khả năng mới như:
Kiểu dữ liệu
Hàm
Toán tử
Hàm tập hợp
Phương pháp liệt kê
Ngôn ngữ theo thủ tục
Postgre SQL không quy định những hạn chế trong việc sử dụng mã nguồn của phần mềm. Bởi vậy PostgreSQL có thể được dùng, sửa đổi và phổ biến bởi bất kỳ ai cho bất kỳ mục đích nào.
3.4 Giới thiệu Email
3.4.1.Gửi mail với SMTPCLIENT
Java phiên bản 1.2 trở đi hỗ trợ cho chúng ta gói sun.net.smtp dùng để gửi mail rất thuận tiện. Gói sun.net.smtp không được công bố chính thức trong các tài liệu của Sun nhưng trong thư viện kèm theo JDK ta sẽ tìm thấy gói này (ta dùng Winzip mở tệp tin jdk_home\jre\lib\rt.jar). Gói sun.net.smtp bao gồm 2 lớp chính là SmtpClient.class và SmtpPrintream.class dùng để chuyển dữ liệu và gửi mail tới khách lên trình chủ mail đến một máy chủ nào đó bạn phải cho biết: địa chỉ mail người gửi, địa chỉ mail người nhận, địa chỉ máy chủ (nơi chương trình quản lý mail hay còn gọi là mail server hoạt động).
3.4.1.1 Gửi mail bằng servlet
Ta thiêt kế trang web tĩnh sendForm.html dùng để tiếp nhận dữ liệu gửi mail (như địa chỉ, nội dung mail) và servlet, mang tên SendMail. Servlet. SendMail sẽ tạo đối tượng SmtpClient yêu cầu SmtpClient chuyển nội dung mail lên máy chủ.
3.4.1.2 Gửi mail bằng trang jsp
- Dữ liệu từ trình khách
- Tạo đối tượng SmtpClient dùng gửi mail
- Định địa chỉ gửi và địa chỉ nhận
- Tạo luồng xuất để gửi thông điệp mail
- Xuất phần thân mail
- Gửi mail đi
- Thông báo mail được gửi thành công
- Thông báo mail gửi bị lỗi.
GỬI VÀ NHẬN MAIL BẰNG JAVA MAIL API
3.4.2.1 Các khái niệm Mail
SmtpClient là cách đơn giản nhất để ta gửi mail đi. Trong trường hợp ta muốn nhận mail về hay sử dụng các tính năng nâng cao của dịch vụ mail. Java cung cấp cho ta một tập hợp các dịch vụ hay giao tiếp lập trình ứng dụng hạt nhân (API) phục vụ cho việc thiết kế các ứng dụng mail.
Trước khi bắt tay vào thiết kế chương trình web mail bằng Java Mail API, ta nên biết qua một số khái niệm cơ bản trong lĩnh vực gửi nhận mail sau đây:
Mail server: Theo mô hình hoạt động khach/ chủ, trình chủ của ta bằng một dịch vụ đóng vai trò người chủ phục vụ trình khách. Mail server thật ra là một chương trình mở socket lắng nghe các yêu cầu ( hay lệnh gửi mail) từ trình khách đưa đến. Web server sẽ tiếp nhận nội dung mail, phân bố mail đến các máy chủ khác cho phép trình khách truy cập vào máy chủ để nhận mail về, bảo vệ mail. Chính vì vậy, trước khi nhận hay gửi mail ta phải biết rõ địa chỉ IP của máy chủ mail server. Địa chỉ này thường gọi là mail host.
Giao thức gửi mail (Mail transport protocol): Để gửi mail đến máy chủ trình khách phải sử dụng một giao thức trò chuyện với mail server. Tương tự trình duyệt dùng giao thức HTTP để trò chuyện với trình chủ Web Server. Các trình khách muốn bắt tay với trình chủ mail server và gửi mail lên máy chủ sẽ sử dụng giao thức SMTP (Simple Mail Transport Protocol). SMTP khá nổi tiếng và được hầu hết các trình chu mail trên thế giới sử dụng. Địa chỉ IP của máy chủ nhận mail gửi đi thường được gọi là outgoing mail address.
Giao thức lưu trữ mail ( Mail store protocol): Khi trình chủ mail server tiếp nhận được mail, trình chủ phải tiến hành lưu trữ mail theo cách nào đó để trình khách có thể dễ dàng truy cập và và nhận mail về. Hiện nay POP3 (Post Office Protocol) và IMAP (Internet Message Access Protocol) là hai giao thức lưu trữ và lấy mail từ hộp thư (inbox) trên máy chủ khá phổ biến. Địa chỉ của máy chủ lưu trữ mail cho phép máy khách truy cập vào để nhận mail về được gọi là incoming mail address.
Thiết kế chương trình Web mail
Web mail là các chương trình gửi nhận mai trực tuyến (online) bằng internet. Mở trang web bằng trình duyệt, kết nối vào internet ta có thể gửi mail đi và nhận mail về ở bất cứ nơi nào. Yahoo mail (của công ty Yahoo) và Hotmail (của Microsoft) là hai ứng dụng web mail rất nổi tiếng hiện nay.
Để xây dựng web mail bằng servlet hay jsp ngoài việc có trình chủ hiểu Java ta cần có thêm hai thư viện hỗ trợ khác là mail.jar và activation.jar.
Các bước cơ bản khi xây dựng ứng dụng web mail.
Để đọc mail từ máy chủ, cơ bản ta cần thực hiện các bước sau:
Tạo đối tượng mail Session (ta lưu ý đối tượng Session ở đây dành cho ứng dụng mail, khác với HttpSession). Yêu cầu người dùng chọn các giao thức truy cập vào máy chủ.
Tạo đối tượng Store chuẩn bị lấy mail về. Để tạo được đối tượng Store ta cần yêu cầu người dùng đăng n
Các file đính kèm theo tài liệu này:
- 22435.doc