CHƯƠNG 3. XÂY DỰNG ỨNG DỤNG QUẢN LÝ NGUỒN LỰC DỰA TRÊN NỀN TẢNG MICROSOFT WINDOWS AZURE
3.5. Các mô hình thiết kế hệ thống quản lý nguồn lực
3.5.1. Thiết kế kiến trúc vật lý
Kiến trúc vật lý của hệ thống được mô tả như sau :
Hụ thụng Quụn lý
nguụn lục Windows Azure Diagnotics
Sql Azure Sql Azure
Access Control Cache
Transaction 2
CPU 3 Storage cache
4
Access control transaction 5
6 Database
Service Reports
7
Reports Key Performance
Indicators Service 8KPI
Table/Blod
Storage table/blod 9
Hình số 3.30 : Kiến trúc vật lý hệ thống Mô tả kiến trúc :
Phía client : Các máy tính nhân viên truy nhập vào hệ thống thông qua trình duyệt IE 7.0, FireFox.
Phía Service : Cài đặt và triển khai hệ thống quản lý nhân lực nên đám mây Azure. Các thành phần phía service được mô tả như sau :
Sql Azure: Hệ quản trị cơ sở dữ liệu trên nền tảng Azure. Được sử dụng để lưu trữ cơ sở dữ liệu quan hệ.
Access Control: Được sử dụng để kiểm soát đăng nhập hệ thống (xác thực và kiểm tra quyền truy cập).
Cache: Cơ chế tạo và lưu trữ đối tượng nên trên bộ nhớ cache nhằm tăng tốc độ xử lý tính toán.
Windows Azure Diagnotic: Chương trình quản lý nguồn lực sử dịch vụ Windows Azure Diagnotic thực hiện khả năng logging cho Windows Azure runtime. Nó chạy cùng với thể hiện của các role của ứng dụng, thu thập các dữ liệu diagnostics trên t ng cấu hình và người dùng có thể lưu lại thông tin này vào dịch vụ lưu trữ nếu nó được cấu hình.
Service Report: Dịch vụ lưu trữ các báo cáo của chương trình. Service Report chạy trên nền tảng của Sql Azure và hoạt động theo mô hình SOA.
Key Performance Indicators (KPI) Service: Dịch vụ lưu trữ các phương thức thực hiện trong modul đánh giá nhân viên dựa theo bộ chỉ tiêu KPI- chỉ số đánh giá hiệu năng. Dịch vụ này được xây dựng dựa theo kiến trúc WCF.
CPU : Chính là các thể hiện của ứng dụng quản lý nguồn lực. Tùy theo yêu cầu thực của người dùng, chúng ta có thể thiết lập thể hiện theo các mực độ là nhỏ, trung bình và lớn.
3.5.2. Lựa chọn công cụ và môi trường phát triển
Công cụ lập trình: Visual Studio 2010 (ASP.Net 4.0), Azure SDK 1.4, Sql Server 2008.
Hệ điều hành: Window 7 hoặc Windows Server 2008 SP1.
Công cụ thiết kế : Enterprise Achitect 2009, visio 2010.
Công cụ quản lý dự án: Microsoft Projects.
3.5.3. Thiết kế mô hình phát triển Phần mềm được thiết kế theo mô hình sau :
Hình số 3.31 Phân tầng ứng dụng Mô tả các thành phần trong mô hình phát triển:
Mô hình được xây dựng là sự kết hợp giữa mô hình phân lớp 3 tầng và mô hình hướng dịch vụ SOA. Với mô hình phân lớp 3 tầng giúp cho thiết kế kiến trúc dễ dàng, hiệu năng xử lý giữa các thành phần tốc độ cao. Tuy nhiên các thành phần trong mô hình có sự gắn kết chặt chẽ do vậy khi có sự thay đổi dẫn đến các nhà phát triển chỉnh sửa chương trình rất nhiều. Để giảm thiểu sự phụ thuộc các thành phần (tầng trình diễn, tầng xử lý nghiệp vụ và tầng truy vấn cơ sở dữ liệu) sẽ được thiết kế theo nguyên mẫu nghịch đảo và loại bỏ sự phụ thuộc (Inversion of control Dependency injection).
Với dữ liệu báo cáo sẽ được lưu trữ và xử lý bằng cách sử dụng dịch vụ báo cáo (Report service). Ngoài ra với mô dul tính toán hiệu năng của nhân viên, áp dụng đánh giá theo hệ thống KPI. Các chỉ tiêu đánh giá hiệu năng (KPI) này sẽ được xử lý bằng cách sử dụng các dịch vụ web thông qua công nghệ WCF.
Tầng trình diễn: Chứa giao diện ứng dụng đó chính là các trang aspx và có sử dụng Ajax.
Tầng xử lý nghiệp vụ: Bao gồm các lớp thực thể, Interface và các lớp Repository và Service đảm nhiệm chức năng xử lý nghiệp vụ có sự hợp với cache nhằm tăng tốc độ xử lý.
Tầng truy vấn cơ sở dữ liệu: Bao gồm các interface và các lớp đảm nhiệu truy cập và xử lý dữ liệu với cơ sở dữ liệu quan hệ Sql Azure và với dữ liệu table và blod.
Cơ sở dữ liệu đám mây: Bao gồm hai loại dữ liệu : Cơ sở dữ liệu quan hệ Sql Azure và table, blod.
Dịch vụ các báo cáo: Chứa các báo cáo của ứng dụng, khác với các ứng loại ứng dụng thông thường, các báo cáo được thiết kế và triển khai theo mô hình dịch vụ.
WCF Web role: Chứa các dịch vụ được viết theo công nghệ WCF. Mô hình các thành phần WCF được thiết kế theo mô hình SOA. Chứa các phương thức phục vụ cho việc đánh giá nhân viên. Hệ thống đánh giá được thực hiện dựa theo bộ chỉ tiêu KPI.
3.5.4. Thiết kế nguyên mẫu phát triển
Mô hình thiết kế hệ thống được xây dựng dựa theo hai nguyên mẫu sau:
Nguyên mẫu nghịch đảo sự phụ thuộc (Dependency inversion): Các module ở các tầng phụ thuộc sự tr u tượng mà không phụ thuộc vào cái cụ thể.
Kết hợp với nguyên tắc sử dụng mẫu Adapter có sự kết hợp “HTTP Context cache API “.
Hình dưới đây minh họa cho thiết kế nguyên mẫu phát triển của hệ thống.
Hình số 3.32: Thiết kế nguyên mẫu phát triển hệ thống
3.5.5. Xác định biểu đồ lớp thiết kế
Các lớp thiết kế của biểu đồ lớp được xác định theo các ca sử dụng của hệ thống quản lý nguồn lực. Dựa theo tài liệu yêu cầu dự án, tài liệu phân tích các ca sử dụng và tài liệu thiết kế nguyên mẫu của hệ thống, chúng ta sẽ xác định được các lớp thiết kế của biểu đồ lớp.
Trong khuôn khổ luận án, tôi chỉ trình bày lớp thiết kế của biểu đồ lớp ứng với ca sử dụng “Thêm mới hoàn toàn nhân viên”.
Hình số 3.33: Biểu đồ lớp thiết kế cho ca sử dụng thêm mới hoàn toàn nhân viên
Mô tả các lớp : Lớp Employee : là lớp thực thể chứa các thuộc tính sử dụng lưu trữ thông tin của nhân viên. Giao diện IEmployeeRepository chứa các phương thức được thực thi bởi lớp EmployeeRepository.
Lớp EmployeeRepository là lớp cơ sở của lớp EmployeeManRepository. Lớp EmployeeManRepository tương ứng với nhân viên có vai trò là quản lý nhân sự.
Giao diện IEmployeeManRepository chứa các phương thức được thực thi bởi lớp EmployeeManRepository.
Lớp HttpContextCacheAdapter thực thi các hàm của giao diện ICacheStorage. Đóng vai trò xử lý lưu trữ thông tin lên bộ nhớ cache của Server.
Lớp EmployeeService là lớp đóng vai trò thực thi các phương thức của lớp EmployeeRepository nhưng cải tiến bằng cách sử dụng lưu trữ thông tin nên cache, quá trình xử lý được thực thi thông qua giao diện ICacheStorage.