MỤC LỤC
Với sự hỗ trợ của cơ chế đảo ngược sự kiểm soát này chúng ta không cần phải tạo đối tượng ngay trong mã nguồn mà mô tả chúng sẽ được tạo ra thế nào, hơn thế nữa, chúng ta không cần không cần phải kết nối các thành phần(components) và các dịch vụ(services) một cách trực tiếp mà chỉ cần mô tả thành phần nào cần dịch vụ nào trong một tập tin cấu hình. Trong đó, factory là một đối tượng của lớp BeanFactory (Spring có hơn một ngàn lớp/interface như vậy) có tác dụng như một nhà máy sản xuất (tạo ra) các đối tượng khi người dùng đưa các yêu cầu vào, ở trường hợp này người dùng đã yêu cầu factory tạo ra 1 đối tượng từ mẫu có tên là Speaker. JSF bao gồm các thành phần giao diện phía server và các API để trình bày các gói giao diện người dùng, quản lý trạng thái của các gói đó, xử lý các sự kiện phát ra từ các gói giao diện khi người dùng thao tác lên các gói giao diện đó, xác thực dữ liệu, chuyển đổi dữ liệu, phân luồng điều hướng giữa các trang, hỗ trợ đa ngôn ngữ và cung cấp các mở rộng cho các gói giao diện người dùng này.
Bước 4: Update Model Values: Bây giờ chúng ta đã chắc chắn về giá trị cục bộ của các component đã được cập nhật và chính xác và đúng kiểu, có thể chuyển đi với bất kỳ bean nào được tập hợp hoặc mô hình các đối tượng. Đối tượng này không có quan hệ với session hiện tại của Hibernate,ta có thể hiểu nôm na là đối tượng này chưa liên quan đến dòng nào trong cơ sở dữ liệu và có thể bị thu gom bởi garbage collector khi không còn được tham chiếu bởi bất kì đối tượng nào.
- Sau khi đã điền đầy đủ các thông tin trên người dùng nhấn vào nút đăng kí, hệ thống sẽ kiểm tra tính đúng đắn của dữ liệu nhập vào bằng javascript, sau đó hệ thống sẽ kiểm tra sự tồn tại của username trong hệ thống, nếu chưa có hệ thống sẽ thêm username vào hệ thống và thông báo đăng kí tài khoản thành công, sau đó chuyển đến trang quản lý thông tin người dùng dựa vào loại tài khoản mà người đó chọn. - Chức năng: Nhà TD được quyền tạo thông tin của mình trên Skills theo mẫu có sẵn để giúp ứng viên tìm kiếm các DN, nộp đơn và xem tin tuyển dụng của họ. - Chức năng: Hệ thống tạo nên một công cụ cho phép các TC đào tạo tự cập nhật các tin đào tạo và thông tin về tổ chức của mình để quảng bá đến người học bao gồm hình ảnh và nội dung giới thiệu về tổ chức cũng như hình ảnh các khóa học.
Trường hợp người quản trị nội dung chưa kịp kiểm tra thông tin, nếu số người báo spam vượt mức (qui định) thì hệ thống sẽ tự ẩn bài spam. - Chức năng: Tin tức bao gồm tin tuyển dụng trong hệ thống và tin lọc về từ các tang khác và tin các khóa học đào tạo; tin tức chia sẻ. Luồng cơ bản: Nhà tuyển dụng đăng nhập vào hệ thống, nhấn vào nút đăng tin tức tuyển dụng, hệ thống sẽ hiển thị trang web chứa thông tin cần điền vào, nhà tuyển dụng điền đầy đủ thông tin, sau đó chọn nút xem trước để xem thông tin đã đầy đủ chưa, sau đó nhà tuyển dụng nhấp nút đăng tin, hệ thống sẽ cập nhật tin đã đăng vào cơ sở dữ liệu, gửi email thông báo đến nhân viên quản lý là có tin tuyển dụng mới cần được xét duyệt, hệ thống thông báo với nhà tuyển dụng là tin tức đang được kiểm duyệt và quay trở lại trang danh sách các tin tức tuyển dụng của nhà tuyển dụng đã đăng.
Luồng cơ bản: Nhà tuyển dụng đăng nhập vào hệ thống, nhấn vào liên kết đến mục quản lý tin tức tuyển dụng, hệ thống sẽ hiển thị danh sách các tin tức tuyển dụng đã đăng của nhà tuyển dụng. Tính năng đăng khóa học tiện lợi, quản lý tin đăng theo từng tài khoản tổ chức đào tạo và tìm tất cả các khóa học liên quan của trung tâm. Xem trước tin sẽ đăng: Nhân viên trung tâm đào sau khi đã nhập xong các thông tin về khóa học có thể xem trước nội dung khóa học sẽ được hiển thị như thế nào bằng cách nhấn nút xem trước (preview).
Để đảm bảo các tin đăng có chất lượng, sau khi các thông tin khóa học đã điền đầy đủ, người đăng tin được nhập một thông báo đã đăng tin thành công và đợi bộ phận kiểm duyệt nội dung sẽ sớm kích hoạt tin đăng. Nội dung hiển thị của trang là danh sách các khóa học đã đăng cùng chức năng tìm kiếm, xem chi tiết, thêm, xóa, sửa, hiển thị hoặc ẩn khóa học…. Luồng cơ bản: Khi nhận được email thông báo từ hệ thống là có bài viết mới cần xét duyệt, người quản trị nội dùng chọn link đến chức năng xét duyệt tin tức, hệ thống sẽ hightlight các tin tức mới nhất, người quản trị nội dung sẽ xem chi tiết từng tin tức, sau đó quyết định có cho phép đăng tin lên hệ thống hay không.
Nếu không chấp nhận tin tức thì phải có lý do không chấp nhận sau đó hệ thống sẽ gửi email thông báo đến trung tâm đào tạo hoặc nhà tuyển dụng về kết quả xét duyệt tin tức. Luồng cơ bản: Nhà tuyển dụng nhắn vào link liên kết đến chức năng quản trị tài khoản của người quản trị, hệ thống cho phép người quản trị chỉnh sủa các thông tin như mật khẩu, hình đại diện, email liên hệ.
Tầng này có nhiệm vụ trình bày dữ liệu ra cho Người dùng, điều hướng giữa các trang giao diện, nhận các dữ liệu đầu vào từ Người dùng để gửi xuống tầng dưới nó là tầng xử lý chính của ứng dụng (presentation tier). - Trong cấp này khóa luận sử dụng framework Java server Faces và bộ thư viện mở rộng Primefaces cung cấp sẵn các gói giao diện rất hữu ích. - Lý do chọn Java server Faces(JSF) ở tầng này: JSF là một bộ khung làm việc (framework) được phát triển dự trên mẫu thiết kế(design pattern) MVC(một trong những mẫu thiết kế nổi tiếng thường dùng cho các hệ thống lớn).
Cho nên để tăng tính thẩm mỹ và dễ dàng trình bày các View Object ra cho Người dùng, hệ thống hiện thực trong luận văn này sử dụng Primefaces để bổ sung vào phần View của JSF. Spring có thể loại trừ cồng kềnh khi một lớp có khai báo quá nhiều đối tượng và làm tăng hiệu quả của kỹ thuật lập trình houwonsg đối tượng ví dụ như lập trình dựa trên việc xây dựng các interface rồi viết các class hiện thực (implement) để sử dụng tính năng đa kế thừa trong kỹ thuật lập trình hướng đối tượng. Để sử dụng các phân cấp ngoại lệ của spring thì bộ dịch các ngoại lệ của việc truy xuất dữ liệu phải được khai báo trước trong tập tin cấu hình.
Nó cũng cho phép tích hợp tốt với các bộ khung ánh xạ giữa đối tượng và mối quan hệ dựa trên các bảng dưới cơ sở dữ liệu (O/R mapping) , đặc biệt đó là Hibernate. Spring cung cấp cơ chế xử lý hiệu quả và an toàn với các Hibernate session, xử lý tập tin cấu hình của HibernateSessionFactories và JDBC data sources trong ngữ cảnh ứng dụng và làm cho ứng dụng dẽ dàng để kiểm thử. Hibernate sẽ đối tượng hóa các bảng(table) ở dưới cơ sở dữ liệu, khi đó việc móc nối với các hệ cơ sở dữ liệu trở nên đơn giản hơn với Hibernate.
Package infobean: Chứa các đối tượng view (view object) nhằm lưu trữ thông tin người dùng nhập và lưu vào session và được gửi về cho các backing bean xử lý. Package bo: Chứa các lớp xử lý chính của chương trình, các lớp này nhận các lời gọi từ các backing bean ở tầng trên và xử lý với sự hỗ trợ của các phương thức ở tầng dưới(tầng DAO). Để tỏch bạch rừ ràng giữa các cấp (tier), hệ thống trong khóa luận này chia ra làm nhiều tập tin cấu hình nhỏ hơn rồi được liên kết lại trong tập tin applicationContext.xml.
Thư mục template: gồm các tập tin khung mẫu được dùng lại ở các trang giao diện. Việc điều hướng giữa các trang giao diện cũng được cấu hình trong tập tin này.