Bảng 23: Bảng Employees

Một phần của tài liệu xây dựng dịch vụ đám mây giới thiệu việc làm theo định hướng universal usability (Trang 32 - 65)

VaiTroID Int No Ma Vai Trò

Bảng 1: Bảng NguoiDung

Bảng VaiTro

Lưu trữ loại vai trò của người dùng đăng ký, gồm có cho nhà tuyển dụng, admin… Bảng liên quan đến chức năng kiểm tra vai trò người dùng.

Tên cột Kiểu dữ liệu nulls Khóa

Chính

Mô tả

VaiTroID int no Mã vai tro

TenVaiTro int no Ten Vai Tro

Bảng 2: Bảng VaiTro

Bảng LinhVuc

Lưu trữ lĩnh vực chính của công việc trong đơn đăng tuyển, như lĩnh vực công nghệ thông tin, điện tử viễn thông. Bảng liên quan chức năng tìm việc, đăng tuyển.

Tên cột Kiểu dữ liệu nulls Khóa

Chính

Mô tả

LinhVucID int

identity(1,1)

no yes Mã Lĩnh Vực

TenLinhVuc nvarchar(200) no Tên Lĩnh vực

Bảng 3: Bảng LinhVuc

Bảng NganhNghe

Lưu trữ các ngành nghề tương ứng với từng loại lĩnh vực. Bảng liên quan chức năng tìm việc, đăng tuyển.

Tên cột Kiểu dữ liệu nulls Khóa

Chính

Mô tả

NganhNgheID int identity(1,1) no yes Mã Ngành Nghề

TenNganhNghe nvarchar(200) no Tên Ngành Nghề

LinhVucID int no Mã Lĩnh Vực

Bảng 4: Bảng NganhNghe

Bảng NganhNghe_NguoiDung

Bảng lưu trữ khóa ngoài của bảng ngành nghề và bảng người dùng. Bảng liên quan chức năng tìm việc, đăng tuyển.

Tên cột Kiểu dữ liệu nulls Khóa Chính Mô tả

NganhNgheI D

int no Mã nganh nghe

Bảng 5: Bảng NganhNghe_NguoiDung

Bảng TinhThanh

Lưu trữ tỉnh thành, nơi làm việc của các đơn đăng tuyển. Bảng liên quan chức năng tìm việc, đăng tuyển.

Tên cột Kiểu dữ liệu nulls Khóa

Chính

Mô tả

TinhThanhID int identity(1,1) no yes Mã Tỉnh/Thành Phố

TenTinhThanh nvarchar(200) no Tên tỉnh/thành phố

Bảng 6: Bảng TinhThanh

Bảng DoiTuong:

Lưu trữ các đối tượng người sử dụng tham gia hệ thống để các nhà tuyển dụng có thể lựa chọn đối tượng khi đăng tuyển. Bảng liên quan chức năng tìm việc, đăng tuyển.

Tên cột Kiểu dữ liệu nulls Khóa Chính Mô tả

DoiTuongID int

identity(1,1)

no yes Mã loại khuyết tật

TenLoaiKhuyettat nvarchar(200) no Tên loại khuyết tật

MotaNgan nvarchar(100) yes Mô tả sơ lược về loại khuyết tật

MotaDai nvarchar(500) yes Mô tả chi tiết về loại khuyết tật

Bảng 7: Bảng DoiTuong

Bảng DoiTuong_NguoiDung

Bảng lưu trữ khóa ngoài của bảng Đối tượng và bảng Người Dùng. Bảng liên quan chức năng tìm việc, đăng tuyển.

Tên cột Kiểu dữ liệu nulls Khóa Chính Mô tả

DoiTuongID int no Mã đơn đăng tuyển

NguoiDungID int no Mã người dùng

Bảng 8: Bảng DoiTuong_NguoiDung

Bảng QuiMo

Phân loại theo qui mô của nhà tuyển dụng khi đăng ký. Ví dụ: qui mô từ 1-5 người. Bảng liên quan chức năng đăng ký nhà tuyển dụng.

Tên cột Kiểu dữ liệu nulls Khóa

Chính

Mô tả

TenQuiMo int no Ten qui mo

Bảng 9: Bảng QuiMo

Bảng LoaiHinh

Loại Hình công việc trong đơn đăng tuyển như: toàn thời gian, bán thời gian.. Bảng liên quan chức năng đăng tuyển, tìm việc.

Tên cột Kiểu dữ

liệu

nulls Khóa Chính Mô tả

LoaiHinhID int no yes Mã loai hinh

TenLoaiHinh int no Ten loai hinh

Bảng 10: Bảng LoaiHinh

Bảng MucLuong

Mức Lương của công việc trong đơn đăng tuyển như: thỏa thuận, cạnh tranh… Bảng liên quan chức năng đăng tuyển, tìm việc.

Tên cột Kiểu dữ liệu nulls Khóa

Chính

Mô tả

MucLuongID int no yes Mã Muc Luong

TenMucLuong Nvarchar(300) no Ten Muc Luong

Bảng 11: Bảng MucLuong

Bảng CapBac

Bảng lưu trữ cấp bậc của ứng viên trong đơn đăng tuyển. Ví dụ: như cấp bậc :”Sinh viên thực tập” . Bảng liên quan chức năng đăng tuyển, tìm việc.

Tên cột Kiểu dữ liệu nulls Khóa

Chính

Mô tả

CapBacID int no yes Mã cap bac

TenCapBac Nvarchar(300) no Ten cap bac

Bảng 12: Bảng CapBac

Bảng NhaTuyenDung

Bảng lưu trữ thông tin của nhà tuyển dụng khi đăng ký vào hệ thống. Bảng liên quan chức năng đăng ký nhà tuyển dụng, tìm việc.

Tên cột Kiểu dữ liệu nulls Khóa

Chính

Mô tả

NhaTuyenDungID int identity(1,1) no yes Mã nhà tuyển dụng

dụng trên thị trường

Mieuta nvarchar(4000) no Miêu tả thông tin về nhà tuyển dụng như cơ sở vật chất …, địa chỉ.

Email varchar(50) no Email nhà tuyển dụng

SoDienThoai varchar(50) no Số Điện Thoại của nhà tuyển dụng

Website Nvarchar(100) yes Website của nhà tuyển dụng

LinhVucID int no Mã Lĩnh vực công việc

TrangthaiID bit no Trạng thái hoạt động của nhà tuyển dụng

AnhDaiDien varchar(200) no Lưu trữ ảnh nhà tuyển dụng

NguoiLienHe Nvarchar(200) No Ten Nguoi Lien He

QuiMoID Int no Ma Qui Mo

ViTriText Nvarchar(500) no Vi Tri Cong ty

Lat Float no Kinh do

Lng Float no Vi do

Bảng 13: Bảng NhaTuyenDung

Bảng NhaTuyenDung_NguoiDung

Bảng lưu trữ khóa ngoài của bảng nhà tuyển dụng và bảng người dùng. Bảng liên quan chức năng đăng ký nhà tuyển dụng, tìm việc.

Tên cột Kiểu dữ liệu nulls Khóa

Chính

Mô tả

NhaTuyenDungID int no Mã đơn đăng tuyển

NguoiDungID int no Mã người dùng

Bảng 14: Bảng NhaTuyenDung_NguoiDung

Bảng DonDangTuyen

Bảng lưu trữ đơn đăng tuyển ứng với nhà tuyển dụng cụ thể. Bảng liên quan chức năng đăng tuyển, tìm việc. Bảng liên quan chức năng đăng ký nhà tuyển dụng, tìm việc.

DonDangtuyenID int identity(1,1) no yes Mã đơn đăng tuyển

NgayDang datetime no Ngày đăng của đơn đăng tuyển

NgayKetthuc datetime no Ngày kết thúc của đơn đăng tuyển

Mieuta nvarchar(4000) no Miêu tả công việc

Yeucau nvarchar(4000) no Yêu cầu đối với công việc

NhaTuyenDungID int no Mã nhà tuyển dụng

NganhNgheID int no Mã ngành nghề

TrangThaiID int no Ma trang thai xet duyet

MucLuongID Int no Ma muc luong

LoaiHinhID Int no Ma loai hinh cong viec

CapBacID Int no Ma Cap bac cong viec

ChucDanh Nvarchar(100) No Chuc danh cong viec

Bảng 15: Bảng DonDangTuyen

Bảng DonDangTuyen_DoiTuong

Bảng lưu trữ khóa ngoài của bảng đơn đăng tuyển và bảng đối tượng. Bảng liên quan chức năng đăng ký nhà tuyển dụng, tìm việc.

Tên cột Kiểu dữ

liệu

nulls Khóa Chính Mô tả

DonDangTuyenID int no Mã đơn đăng tuyển

DoiTuongID int no Mã đối tượng người sử dụng

Bảng 16: Bảng DonDangTuyen_DoiTuong

Bảng lưu trữ trạng thái xét duyệt của nhà tuyển dụng, đơn đăng tuyển. Bao gồm 4 trạng thái chính sau: Vừa nhập, Đang duyệt, Hợp lệ, Không hợp lệ. Mặc định khi vừa đăng ký, nhà tuyển dụng, đơn đăng tuyển ở trạng thái vừa nhập. Bảng liên quan chức năng đăng ký nhà tuyển dụng, tìm việc, đăng tuyển.

Tên cột Kiểu dữ liệu nulls Khóa Chính Mô tả

TrangThaiID int no yes Mã trang thai

TenTrangThai Nvarchar(100) no Ten Trang Thai

Bảng 17: Bảng TrangThai

1.3.2 Các bảng liên quan đến cơ chế phân quyền của DotNetNuke framework

Dotnetnuke giúp lập trình viên có thể dễ dàng xây dựng một hệ thống có phân quyền chặt chẽ. Cơ chế phân quyền dựa trên thành phần trang, sâu vào bên trong là thành phần chức năng của hệ thống. Mỗi quyền hay nhóm quyền khác nhau sẽ chỉ được truy cập đến những nội dung được cho phép trên hệ thống. Có thể cùng một chức năng, nhưng với mỗi quyền khác nhau, giao diện có thể thay đổi tùy theo quyền đó.Do đó, DotNetNuke tổ chức các bảng dữ liệu để lưu trữ thông tin về quyền, người dùng và các module như trong hình 9:

Liên kết giữa các bảng liên quan đến cơ chế phân quyền

Bảng người dùng(Users)

Tên cột Kiểu dữ liệu nulls Khóa chính Mô tả

UserID int identity(1, 1)

no yes Xác định một người dùng khi đăng nhập vào hệ thống

Username Nvarchar(100) no Tên của người dùng

FirstName varchar(50) no Họ

LastName Nvarchar(50) no Tên

IsSuperUser bit no Có được cấp quyền host hay không

AffiliateId int yes

Email nvarchar(256) yes Thư điện tử

DisplayName nvarchar(128) no Tên hiện thị

UpdatePassword bit no Có thay đổi password không

LastIPAddress Nvarchar(50) yes Địa chỉ IP

IsDeleted bit No Có bị đánh dấu xóa hay không

CreatedByUserI D

int yes

CreatedOnDate datetime yes Ngày đăng kí

LastModifiedBy UserID

int yes Chỉnh sửa lần cuối bởi ai

LastModifiedOn Date

datetime yes Ngày chỉnh sửa cuối

LoaiKhuyetTatI D

int yes Loại khuyết tật

QuocGia varchar(50) yes Quốc gia

TrangCaNhan varchar(50) yes Trang cá nhân

ChuKy Nchar(100) Yes Chữ ký

NickChat Varchar(100) Yes Nickchat

SoDienThoai Varchar(50) Yes Số điện thoại

NgheNghiep Nvarchar(100) Yes Nghề nghiệp

GioiTinh Bit Yes Giới tính

NgaySinh Datetime Yes Ngày sinh

TinhTrangHonN han

Nvarchar(50) Yes Tình trạng hôn nhân

ThanhPho Varchar(50) yes Thành phố

Anh Varchar(50) Yes Ảnh

TrangThai Bit Yes

Trạng thái

QuyenID Int Yes Mã quyền

Bảng 18: Bảng User

Bảng thông tin người dùng(UserProfile)

Tên cột Kiểu dữ liệu nulls Khóa

chính

Mô tả

ProfileID int identity(1,1) No PK

UserID int No FK

PropertyDefinitionID int Yes

PropertyValue nvarchar(255) Yes

PropertyText nText Yes

Visibility int Yes

LastUpdatedDate datetime Yes

Bảng 19: Bảng UserProfile

Bảng lưu thông tin về quyền(Roles)

Tên cột Kiểu dữ liệu nulls Khóa chính Mô tả

RoleID int identity(1,1) No PK

PortalID int No FK

RoleName nvarchar(50) No

Description nvarchar(255) Yes

RoleGroupID int No FK

Bảng 20: Bảng Roles

Bảng lưu thông tin nhóm quyền(RoleGroup)

Tên cột Kiểu dữ liệu nulls Khóa chính Mô tả

RoleGroupID int identity(1,1) No PK

RoleGroupName nvarchar(50) No

Description nvarchar(255) Yes

Bảng 21: Bảng RoleGroup

Bảng lưu thông tin các quyền người dùng(UserRoles)

Tên cột Kiểu dữ liệu nulls Khóa chính Mô tả

UserRoleID int identity(1,1) No PK

UserID int No FK

ExpiryDate datetime Yes

RoleID int No FK

IsTrialUsed bit Yes

EffectiveDate datetime Yes

Bảng 22: Bảng UserRoles

1.4 Thiết kế qui trình nghiệp vụ

Phần này mô tả thiết kế các qui trình nghiệp vụ quan trọng nhất của dịch vụ Giới Thiệu Việc Làm.

1.4.1 Tìm việc

Hình 10 Miêu tả các bước tìm việc, nguời dùng vào mục tìm việc, lựa chọn lĩnh vực, ngành nghề, tỉnh thành, đối tượng sử dụng để tìm kiếm, sau đó chương trình sẽ gọi các web service từ Dịch Vụ Cloud WebService. Phần đặc biệt trong qui trình này là quá trình giao tiếp giữa modul tìm việc và dịch vụ cloud WebService.

Hình 10. Miêu tả các bước tìm việc

1.4.2 Đăng tuyển

Hình 11 Miêu tả qui trình tạo một việc làm mới (đăng tuỷen) nhà tuyển dụng sẽ vào modul Đăng Tuyển, sau đó chương trình sẽ gọi các web service từ DịchVụ Cloud WS. Đơn đăng tuyển đầy đủ các thông tin bao gồm yêu cầu công việc, chức danh,

cấp bậc, vị trí, các yêu cầu đối với người ứng tuyển. Phần đặc biệt trong qui trình này là quá trình giao tiếp giữa modul đăng tuyển và dịch vụ cloud WebService.

Hình 11. Miêu tả các bước đăng tuyển

1.4.3 Tìm vị trí nhà tuyển dụng

Hình 12 Miêu tả các bước tìm vị trí nhà tuyển dụng gần vị trí đang đứng của nguời dùng qua giao diện Android, sau đó chương trình sẽ gọi các web service từ Dịch Vụ Cloud WS. Phần đặc biệt trong qui trình này là quá trình tương tác giữa hệ điều hành Android với dữ liệu trên cloud thông qua việc gọi các dịch vụ webservice để thông qua giao diện map view trong Android tìm kiếm các nhà tuyển dụng gần vị trí người dùng thông qua hệ thống định vị.

Hình 12. Miêu tả các bước tìm vị trí nhà tuyển dụng

Sau quá trình thiết kế là quá trình cài đặt dịch vụ, sẽ được mô tả trong mục II Cài đặt

II. Cài đặt

2.1 Kiến trúc cài đặt dịch vụ Giới Thiệu Việc Làm

Kiến trúc cài đặt dịch vụ Giới Thiệu Việc Làm Như trong hình 13, dịch vụ gồm 3 phần chính, là trang web trên nển tảng google app engine, dịch vụ giới thiệu việc làm trang cungkhoinghiep.net, ứng dụng tìm việc, hiển thị tuyển dụng gần vị trí người dùng ở Android. Trong đó dịch vụ giới thiệu việc làm triển khai trên nển tảng google app engine sẽ cung cấp các web service để dịch vụ giới thiệu việc làm trên trang cungkhoinghiep.net và ứng dụng tìm việc ở Android sử dụng và tương tác với dữ liệu. Do đó triển khai cài đặt được thực hiện theo 3 thành phần chính này.

Hình 13. Cấu trúc cài đặt dịch vụ

2.2 Môi trường cài đặt

2.2.1 Trang web trên nền tảng google app engine

- Môi trường cài đặt python 2.5 - Google App Engine 1.4.1 - HTML, CSS, Jquery 1.4.1

- Tổng cộng có 429 file, dung lượng 2,74 MB. - Chia làm các file chính:

• /static : chứa file css, js

• /templates: chứa file html đại diện cho tầng presentation

• /entitites: chứa các class khai báo dữ liệu, gồm 18 class đại diện cho 18 bảng,

• /controllers: chứa các class tương tác với dữ liệu và giao diện, đại diện cho tầng business

• /xmlWS: chứa file thực thi các web service.

2.2.2 Dịch vụ Giới Thiệu Việc Làm trang cungkhoinghiep.net

- Môi trường cài đặt: .Net 3.5 - DotNetNuke 5.1

- Asp.net

- Tổng cộng có 122 file, dung lượng 631 KB. - Chia làm các file chính:

• . ascx: chứa file đại diện tầng presentation. • .cs: file đại diện tầng business

2.2.3 Ứng dụng Android

- Môi trường cài đặt: Android SDK 2.2 Froyo. - Tổng cộng có 70 file, dung lượng 318KB. - Chia làm các file chính:

• /src: chứa các package sau:

 Com.google.android: chứa các file Activity, file tương tác của chương trình.

 Longtdbk.android.job: chứa các file tương tác dữ liệu nhận được từ web service.

 Org.xmlrpc.android: thư viện để gọi web service dưới định dạng XML-RPC.

• /res: chứa các file giao diện của chương trình.

2.3 Dữ liệu

Dịch vụ Giới thiệu việc làm lưu trữ dữ liệu trên cloud

Trong GQL không có khái niệm bảng, tất cả đều là các Entities (thực thể). Khi khởi tạo một thực thể, sẽ tự tạo thêm trường key, ID, keyname. Cách khởi tạo một entities:

Giả sử có bảng Employee như sau:

Tên cột Kiểu dữ liệu nulls Khóa Chính

firstname String

last_name String

hire_date DateTime

Attended_hr_training bit

Bảng 23: Bảng Employees

Bảng này tương ứng với thực thể Employee như sau:

class Employee(db.Model):

last_name = db.StringProperty() hire_date = db.DateProperty()

attended_hr_training = db.BooleanProperty()

2.4 Giải thuật

2.4.1 Viết webservice trên cloud

Để viết webservice có 3 loại giao thức phổ biến hiện nay là SOAP, REST, XMLRPC. Trong đó XMLRPC phù hợp với những ứng dụng nhỏ, và kết hợp phù hợp nhất trong môi trường Python. XML-RPC là một giao thức gọi từ xa qua internet. XML-RPC là mọt dạng của HTTP-POST. Giá trị truyền đi là một xâu XML. XML-RPC có thể truyền dữ liệu dạng string, date, array, list.

Sử dụng ngôn ngữ python trong google appengine, kết hợp với thư viện xmlrpcserver.py, để thực hiện hàm web service.

2.4.2 Kết nối và thực thi web service trong môi trường Dotnetnuke:

Để liên lạc với dữ liệu trên cloud qua web service với giao thức XML-RPC, sử dụng thư viện CookComputing.XMLRPCV2.dll. Do dữ liệu trả về là một xâu XML, do đó cần thực hiện các bước sau:

- Lấy giá trị từ xâu XML trả về:

Hình 14. Lấy giá trị từ XML

- Chuyển từ xâu xml về dạng DataTable:

Hình 15. Chuyển thành DataTable

2.4.3 Kết nối và thực thi web service với Android

Để liên lạc qua web service qua giao thức XML-RPC, ta thực hiện các bước tương tự trong DotNet Nuke như đã giới thiệu trong mục 2.3.3.

- Sử dụng thư viện org.xmlrpc.android để nhận được giá trị trả về từ web service.

- Phân tích chuỗi XML nhận được và lấy về giá trị.

2.5 Cài đặt dịch vụ (web service)

Các dịch vụ sau đây cung cấp dưới dạng dịch vụ web, được mô tả ở các bảng dưới đây:

Tên hàm addLinhVuc(string key, LinhVucID) Chức năng Thêm lĩnh vực

Địa chỉ http://longtdbk.appspot.com/app.addLinhVuc

Bảng 24: Dịch vụ addLinhVuc

Tên hàm getLinhVuc(string key, LinhVucID) Chức năng Chi tiết lĩnh vực của nhà phát triển theo ID

Địa chỉ http://longtdbk.appspot.com/app.getLinhVuc

Bảng 25: Dịch vụ getLinhVuc

Tên hàm deleteLinhVuc(string key, LinhVucID)

Chức năng Xóa lĩnh vực tương ứng với key của nhà phát triển

Địa chỉ http://longtdbk.appspot.com/app.deleteLinhVuc

Bảng 26: Dịch vụ Bảng deleteLinhVuc

Tên hàm addNganhNghe(string key, NganhNgheID) Chức năng Thêm Ngành nghềvào trang web của nhà phát triển

Địa chỉ http://longtdbk.appspot.com/app.addNganhNghe

Bảng 27: Dịch vụ addLinhVuc

Tên hàm getNganhNghe(string key, LinhVucID, NganhNgheID) Chức năng Chi tiết ngành nghề của nhà phát triển theo ID

Địa chỉ http://longtdbk.appspot.com/app.getNganhNghe

Tên hàm deleteNganhNghe(string key, NganhNgheID) Chức năng Xóa Ngành Nghề tương ứng với key của nhà phát triển

Địa chỉ http://longtdbk.appspot.com/ app.deleteNganhNghe

Bảng 29: Dịch vụ deleteNganhNghe

Tên hàm addDoiTuong(string key, DoiTuongID)

Chức năng Thêm Đối tượng vào trang web của nhà phát triển

Địa chỉ http://longtdbk.appspot.com/app.addDoiTuong

Bảng 30: Dịch vụ addDoiTuong

Tên hàm getDoiTuong(string key, DoiTuongID) Chức năng Chi tiết đối tượng của nhà phát triển theo ID

Địa chỉ http://longtdbk.appspot.com/app.getDoiTuong

Bảng 31: Dịch vụ getDoiTuong

Tên hàm deleteDoiTuong(string key, Đối tượng)

Chức năng Xóa Đối tượng tương ứng với key của nhà phát triển

Địa chỉ http://longtdbk.appspot.com/app.deleteDoiTuong

Bảng 32: Dịch vụ deleteDoiTuong

Tên hàm addNhaTuyenDung(keyNguoiDung, LinhVucID, TenThuongHieu, Email, SoDienThoai, MieuTa, ViTri, Lat, Lng, NguoiLienHe)

Một phần của tài liệu xây dựng dịch vụ đám mây giới thiệu việc làm theo định hướng universal usability (Trang 32 - 65)

Tải bản đầy đủ (DOC)

(65 trang)
w