Thiết kế các thành phần dịch vụ

Một phần của tài liệu Kiến thức hướng dịch vụ và ứng dụng phát triển phần mềm chứng khoán (Trang 61)

□ Thiết kế thành phần P5.TradingServices

Phần này ta thực hiện thiết kế các chức năng cho dịch vụ

Thứ tư• Chức năng Mô tả

1 Đặt lệnh - Chức năng này thực hiện việc tạo một lệnh mới cho khách hàng.

- Đầu vào: Là một đối tượng lệnh bao gồm các tham số: ngày giao dịch, mã sàn, mã chứng khoán, lệnh mua hay bán, loại lệnh, khối lượng đặt, giá đặt, phiên giao dịch. - Đầu ra: Nếu đặt lệnh thành công chương trình sẽ tra ra số hiệu của lệnh mới đặt, ngược lại nếu thất bại chương trình sẽ hiển thị nguyên nhân không đặt được lệnh.

2 Lây ngày

giao dịch

- Chức năng này trả vê ngày giao dịch hiện tại của hệ thống.

- Đầu vào: Không có.

- Đầu ra: Ngày giao dịch hiện tại cùa hệ thống.

3 Lây thông

tin lệnh đặt

- Chức năng này thực hiện việc lây danh sách thông tin lệnh của hệ thống theo một tiêu chí nào đó.

64

khoán, loại lệnh, phiên giao dịch.

- Đầu ra: Một danh sách các lệnh thỏa mãn tiêu chí tìm kiếm.

4 Phong tỏa

tiền ngân hàng

- Thực hiện việc phong tỏa tiên tại tài khoản của khách hàng khi họ đặt lệnh thành công.

- Đầu vào: Mã khách hàng, giá trị tiền.

- Đầu ra: Phong tỏa số tiền theo số tiền đầu vào.

5 Lây thông

tin chứng khoán

- Thực hiện việc lây ra danh sách các mã chứng khoán và thông tin về giá của chúng.

- Đầu vào: Ngày giao dịch .

- Đầu ra: Danh sách các mã chứng khoán với các thông tin về giá như giá trần, giá sàn, giá tham chiếu, mâ chứng khoán, tên mã chứng khoán.

6 Lây thông

tin về chứng khoán sở hừu của khách hàng

- Thực hiện việc lây thông tin vê các mã chứng khoán sở hữu của khách hàng.

- Đầu vào: Mã khách hàng.

- Đầu ra: Danh sách các mã chứng khoán sở hữu của khách hàng. (adsbygoogle = window.adsbygoogle || []).push({});

7 Vân tin sô

dư tiền của khách hàng

- Thực hiện vân tin sô dư tài khoản tiên của khách hàng. - Đầu vào: Mã tài khoản, mã ngân hàng.

- Đầu ra: số dư tiền của khách hàng.

8 T A Lây vê A

thông tin của khách hàng

- Thực hiện lây các thông tin vê khách hàng đê phục vụ giao dịch.

- Đầu vào: Mã khách hàng.

- Đầu ra: Một đối tượng KH chứa các thông tin: tên, địa chỉ, điện thoại, email,...

9 Giải tỏa tiên ngân hàng

- Chức năng này thực hiện giải tỏa tiên tại ngân hàng cho khách hàng trong trường hợp lệnh đặt không khớp.

- Đầu vào: Mã khách hàng, giá trị tiền.

- Đầu ra: Hệ thống thực hiện giải tỏa tiền cho khách hàng. 10 Hủy lệnh - Chức năng này thực hiện việc hủy lệnh đặt tại công ty

của khách hàng.

- Đầu vào: Số hiệu lệnh đặt.

- Đầu ra: Thay đổi trạng thái lệnh trong cơ sở dừ liệu thành trạng thái X

... 1

□ Thiết kế thành phần Pó.Coreservice

T hứ tư • Chức năng Mô tả

1 Thêm tài

khoản khách hàng

- Chức năng này thực hiện việc mở tài khoan mới cho khách hàng.

- Đầu vào: Các thông tin về khách hàng như tên, địa chi, chứng minh thư nhân dân, số điện thoại, email, giới tính, năm sinh,...

- Đầu ra: Một mã tài khoản mới được cung cấp cho khách hàng.

2 Thêm thông

tin chứng khoán sở hữu

- Chức năng này thực hiện nhập chứng khoán sở hữu cho khách hàng.

- Đầu vào: Mã tài khoản, tên tài khoản, mã quản lý, mã chi tiết, mã chi nhánh, mã chứng khoán, số lượng.

- Đầu ra: Là một đối tượng lưu giừ kết quả trả về cùa lời gọi hàm, nó có thể thành công hoặc thất bại.

3 Lây thông (adsbygoogle = window.adsbygoogle || []).push({});

tin chi tiết về khách hàng

- Thực hiện lấy các thông tin về khách hàng phục vụ mục đích vẩn tin thông tin khách hàng.

- Đầu vào: Mã tài khoản.

- Đầu ra: Thông tin về khách hàng.

4 Lây vê

thông tin các tỉnh thành

- Thực hiện lấy các thông tin về các tỉnh thành. - Đầu vào: Không có.

- Đầu ra: Danh sách các tỉnh thành trong cả nước.

5 Thêm mới

một người dùng vào hệ thống

- Thực hiện việc thêm mới một người sử dụng vào hệ thống.

- Đầu vào: Tên đăng nhập, tên đầy đủ, mật khẩu, trạng thái, mã nhóm.

- Đầu ra: Là một đối tượng lưu giữ kết quả trả về của lời gọi hàm, nó có thể thành công hoặc thất bại.

6 Tìm kiêm

một người dùng

- Thực hiện việc tìm kiêm một người dùng bât kỳ trong hệ thống.

- Đầu vào: Tên người dùng.

- Đầu ra: Một danh sách các người dùng thóa mãn tiêu chí tìm kiếm.

7 Phân quyên

cho nhóm

- Thực hiện việc phân quyên các chức năng trong hệ thông cho nhóm.

- Đầu vào: Một danh sách các quyền, mã nhóm.

- Đầu ra: Là một đối tượng lưu giữ kết quả tra về cua lời gọi hàm, nó có thế thành công hoặc thất bại.

66

8 Lây thông

tin về các quyền cho người dùng

- Thực hiện việc lấy thông tin các quyền trong cơ sơ dừ liệu cho người dùng.

- Đầu vào: Mã nhóm.

- Đầu ra: Một danh sách các quyền theo mã nhóm của người dùng.

9 Tìm kiêm (adsbygoogle = window.adsbygoogle || []).push({});

khách hàng

- Thực hiện việc tìm kiêm các khách hàng trong hệ thông. - Đầu vào: Mã tài khoản, tên tài khoản, số chứng minh thư nhân dân.

- Đầu ra: Một danh sách các khách hàng thỏa mãn tiêu chí tìm kiếm.

10 Đăng nhập

hệ thống

- Thực hiện việc xác thực người dùng. - Đầu vào: Mã đăng nhập, mật khẩu.

- Đầu ra: Là một đối tượng lưu giừ kết quá tra về cua lời gọi hàm, nó có thế thành công hoặc thất bại.

11 Thêm mới

một nhóm người dùng

- Thực hiện việc thêm mới một nhóm người dùng. - Đầu vào: Mã nhóm, mă chi nhánh.

- Đầu ra: Là một đối tượng lưu giữ kết quả trả về cùa lời gọi hàm, nó có thể thành công hoặc thất bại.

12 Lây vê danh

sách các người dùng trong nhóm

- Thực hiện việc lây vê danh sách các người dùng trong nhóm.

- Đầu vào: Mã nhóm.

- Đầu ra: Một danh sách các người dùng thuộc nhóm.

Bảng 5.2: Danh sách các hàm chức năng cho dịch vụ CoreService

□ Thiết kế Enterprise Service Bus

Khi thiết kế một hệ thống SOA ta cần cân nhắc vấn đề hiệu năng của hệ thống và những nguyên tắc của SOA, không nên áp dụng đồng nhất một phương pháp cho từng dịch vụ. Ở đây thành phần P5.TradingService rất cần các tính năng về load balancing và failover, do đó để đảm bảo được các yếu tố đó ta sẽ thực hiện thiết kế một ESB cho thành phần này.

Theo nghiên cứu về các mẫu thiết kế ESB bên trên thì ta áp dụng mẫu thiết kế kiểu lá chắn (Interceptors) là thích hợp nhất. Hình vẽ dưới đây sẽ là mô hình triển khai ESB cho thành phần P5. TradingService

Hình 5.3: ESB được triển khai để hỗ trợ cơ chẻ cân bằng tải và khắc phục lỗi

Giái thích về mô hình:

Người dùng ở đây là thành phần P1 .TradingApplication, các người dùng sẽ gửi yêu cầu kết nổi tới dịch vụ với nhà cung cấp P5.TradingService thông qua ESB, khi ESB nhận được thông điệp yêu cầu từ phía các consumer nó lập tức phân tích thành phần tiêu đề (header) của thông điệp để quyết định xem message này được gửi tới nhà cung cấp dịch vụ P5.TradingService trên máy tính vật lý có địa chỉ 192.168.1.51 hay 192.168.1.52 (đây cũng chính là chức năng cân bằng tải của ESB) , kết qua tra về cua lời gọi này được trả về cho consumer thông qua ESB, trong trường hợp một dịch vụ P5.TradingService trên máy tính vật lý vì một lý do nào đó có thế bị chết hoặc bị lỗi thì ngay lập tức ESB sẽ chuyển thông điệp yêu cầu đó sang một kênh dịch vụ còn lại đâ\ chính là cơ chế chuyển đối dự phòng (failover) của ESB.

□ Thiết kế mô hình bảo mật

Theo như phần tìm hiểu về mô hình báo mật đối với hệ thống SOA ta có thế thiết kế múc bảo mật cho hệ thống phần mềm như sau:

Đối vói sự xác thực

Bẩi buộc người dùng phải đăng nhập thông tin về mã người dùng và mật khẩu trước khi sử dụng dịch vụ để xác thực đúng người dùng.

6 8

Khi người dùng xác thực tài khoản thành công thì bước tiếp theo là căn cứ vào các quyền sử dụng dịch vụ của người dùng đế tải về các thông tin về quyền cua người dùng từ cơ sở dừ liệu và chỉ cho phép người dùng làm việc với các chức nâng dịch vụ trong quyền hạn của mình.

Bảo mật tầng truyền vận (adsbygoogle = window.adsbygoogle || []).push({});

Có thể sử dụng giao thức bảo mật https đề cài đặt các dịch vụ. Giao thức này sẽ mà hóa các cuộc gọi web service thông qua SSL

5.3.3 Phát triển các dich vu• •

- Các thành phần được phát trien theo công nghệ .Net Framework 4.0 cua Microsoft. - Các thành phần Provider bao gồm các dịch vụ P5, P6 sẽ áp dụng công nghệ WCF đế cài đặt, bản thân công nghệ WCF đã hỗ trợ cho các nguyên tắc khi phát trien một hệ thống SOA như khả năng tích hợp với các hệ thống khác tốt nhờ giao thức truyền thông dựa trên SOAP và XML, đồng thời dề dàng tái sử dụng lại khi phát triển một thành phần mới cũng do giao thức trên mang lại.

- Thành phần ESB được phát triển bàng cách sử dụng cơ chế routing trong .NET Framework 4.0.

5.4 Một số bảng chính trong cơ sở dữ liệu

Cơ sở dữ liệu được sử dụng trong ứng dụng là SQLServer 2005, sau đây là một số bàng chính sử dụng trong phần mềm:

Bảng Customers: Chứa thông tin khách hàng.

S T T T ên tr ư ờ n g Kiêu Y nghĩa

1 B r a n c h C o d e v a r c h a r M ã c h i n h á n h 2 C o n t r a c t N u m b e r v a r c h a r S ô h ợ p đ ô n g 3 C u s t o m e r l d v a r c h a r S ô tà i k h o ả n 4 B r o k e r ld in t Id n h â n v i ê n m ô i g i ớ i 5 C u s t o m e r N a m e v a r c h a r T ê n k h ô n g d â u 6 C u s t o m e r N a m e V ie t n v a r c h a r T ê n c ỏ d â u 7 C u s t o m e r T y p e c h a r L o ạ i k h á c h h à n g : I- C á n h â n / E - T ô c h ứ c 8 D o m e s t i c F o r e i g n c h a r L o ạ i h ìn h : D - T r o n g n ư ớ c / F - N ư ớ c n g o à i 9 D o b s m a lld a t e t im e N g à y s in h 10 S e x c h a r G i ớ i tín h 11 S i g n a t u r e l m a g e l im a g e M â u c h ữ k ý 1 12 S ig n a t u r e l m a g e 2 im a g e M â u c h ữ k ý 2 1 3 O p e n D a t e s m a lld a t e t im e N g à y m ờ T K 1 4 C l o s e D a t e s m a lld a t e t im e N g à y đ ỏ n g T K 1 5 C a r d T y p e in t L o ạ i g i â y C M N D /H Ộ c h iê u 1 6 C a r d ld e n t it y v a r c h a r S ô C M N D 1 7 C a r d D a te s m a lld a t e t im e N g à y c â p 1 8 C a r d ls s u e r v a r c h a r N ơ i c â p 1 9 A d d r e s s v a r c h a r Đ ị a c h i k h ô n g d â u 2 0 A d d r e s s V ie t n v a r c h a r Đ ị a c h i c ỏ d â u

21 T e l v a r c h a r S ô đ iệ n th o ạ i 2 2 F a x v a r c h a r S ô F a x 2 3 M o b i l e v a r c h a r S ô đ iệ n th o ạ i d i đ ộ n g 2 4 M o b i l e 2 v a r c h a r S ô đ iệ n th o ạ i di đ ộ n g 1 2 5 E m a il v a r c h a r Đ ịa c h i E m a il 2 6 U s e r C r e a t e in t N g ư ờ i tạ o 2 7 D a t e C r e a t e s m a lld a t e t im e N g à y tạ o 2 8 U s e r M o d i f y in t N g ư ờ i c ậ p n h ậ t 2 9 D a t e M o d i f y s m a lld a t e t im e N g à y c ậ p n h ậ t 3 0 P r o x y S t a t u s b it T r ạ n g th á i ủ y q u y ê n : Y e s / N o 3 1 A c c o u n t S t a t u s c h a r T r ạ n g th á i tài k h o ả n : 0 - M Ớ / C - Đ ó n g 3 2 N o t e s n v a r c h a r G h i c h ú

Bảng 5 3 : Mô tả thông tin cho bảng Customers

Bàng GlStockCode: Chứa dừ liệu bảng mã chứng khoán.

S T T T ên tr ư ò n g K iêu Y nghĩa

1. Id in t S ô Id 2 . S t o c k C o d e v a r c h a r M ã c h ứ n g k h o á n 3 . S t o c k T y p e c h a r L o ạ i c h ứ n g k h o á n S - C ổ p h iế u ; U - C h ứ n g c h i q u ỹ ; D - T rá i p h iế u 4 . S t o c k N a m e v a r c h a r T ê n m ã c h ứ n g k h o á n 5 . P a r V a lu e d e c im a l M ệ n h g iá 6 . S h o r t N a m e v a r c h a r T ê n v i ê t tăt 7 . B o a r d T y p e c h a r L o ạ i sà n 8 . S t o c k N a m e V i e t n v a r c h a r T ê n m ã c h ứ n g k h o á n b ă n g t i ê n g V iệ t 9 . S t o c k F e e d e c im a l 10 . L i s t e d V o l u m e d e c im a l K h ô i lư ợ n g n iê m y ê t 11 . R o o m F o r e ig n e r d e c im a l K h ố i lư ợ n g n ắ m g i ữ c ủ a n h à đ ầ u tư n ư ớ c n g o à i

Bảng 5.4: Mô tả thông tin bảng GlStockCode

Bảng StockPrice: Ghi thông tin giá chứng khoán.

S T T T ê n t r ư ờ n g K i ể u Y n g h ĩ a 1 T r a d in g D a t e v a r c h a r N g à y g i a o d ịc h

2 S t o c k C o d e v a r c h a r M ã c h ứ n g k h o á n 3 S t o c k T y p e c h a r L o ạ i c h ứ n g k h o á n

S : C ồ p h iế u ; U : C h ứ n g c h í q u ỹ ; D : T rái p h iế u 4 B o a r d T y p e c h a r S à n n iê m y ê t M : s à n H S X , S: s à n H N X 5 O p e n P r i c e d e c im a l G iá m ờ c ử a 6 C l o s e P r i c e d e c im a l G iá đ ó n g c ử a 7 B a s ic P r i c e d e c im a l G iá th a m c h i ê u 8 C e i l i n g P r i c e d e c im a l G iá trân

70

9 F lo o r P r ic e d e c im a l G iá sà n 10 A v e r a g e P r i c e d e c im a l G iá tr u n g b ìn h 11 T r a n s a c t i o n D a t e s m a lld a t e t im e N g à y g i a o d ịc h

Bủng 5.5: Mô tả thông tin bảng StockPrice

Bang StockOrder: Ghi các lệnh đã nhập vào hệ thống StockPro trong ngày hiện tại.

S T T T ên trư ờ n g Kiêu Y nghĩa

1 O r d e r D a t e v a r c h a r N g à y đ ặ t lệ n h 2 O r d e r T im e v a r c h a r G i ờ đ ặ t lệ n h 3 O r d e r S e q in t S ô h iệ u lệ n h tạ i c ô n g ty 4 O r d e r N o v a r c h a r S ô h iệ u lệ n h s à n trả v ê 5 O r d e r T y p e v a r c h a r L o ạ i lệ n h 6 O r d e r S id e c h a r L ê n h m u a b á n ! S: L ệ n h b á n , B : L ệ n h m u a 7 B o a r d T y p e c h a r S à n M : S à n H S X ; S: S à n H N X 8 S t o c k C o d e v a r c h a r M ã c h ứ n g k h o á n 9 O r d e r V o lu m e d e c im a l K h ô i l ư ợ n g lệ n h 1 0 O r d e r P r ic e d e c im a l G iá đ ặ t 11 O r d e r V a lu e d e c im a l G iá trị lệ n h 12 O r d e r F e e d e c im a l P h í đ ặ t lệ n h 13 C u s t o m e r l d v a r c h a r M ã k h á c h h à n g 14 B r a n c h C o d e v a r c h a r M ã c h i n h á n h /H ộ i s ớ đ ặ t lệ n h 15 T r a d e C o d e v a r c h a r M ã đ i ê m g i a o d ịc h đ ặ t lệ n h 1 6 C u s t o m e r B r a n c h C o d e v a r c h a r M ã c h i n h á n h q u ả n lý k h á c h h à n g 17 C u s t o m e r T r a d e C o d e v a r c h a r M ã đ i ê m g i a o d ịc h q u ả n lý k h á c h h à n g 18 R e c e i v e d B y v a r c h a r N g ư ờ i n h ậ n lệ n h 19 A p p r o v e d B y v a r c h a r N g ư ờ i d u y ệ t lệ n h 2 0 O r d e r S t a tu s c h a r T r ạ n g th á i lệ n h H : L ệ n h c h ư a d u y ệ t c ù a đ ạ i lý P: L ệ n h c h ư a d u y ệ t tạ i H ộ i s ờ / C h i n h á n h 21 A le r t C o d e c h a r M ã c ả n h b á o C : L ệ n h t h iế u tiề n S: L ệ n h t h iế u c h ứ n g k h o á n 2 2 N o t e s n v a r c h a r G h i c h ú k h i đ ặ t lệ n h 2 3 S e s s i o n in t P h iê n g i a o d ịc h 2 4 T r a n s a c t io n D a t e s m a lld a t e t im e N g à y g i a o d ịc h c ù a h ệ t h ô n g 2 5 R e f N o in t S ô th a m c h i ê u

Bảng 5.6: Mô tả thông tin bảng StockOrder

Eỉảng TradingOrder: Chứa thông tin các lệnh đã nhập vào hệ thống giao dịch tại 2 sàn HNX và HSX trong ngày giao dịch hiện tại.

2 O r d e r T im e v a r c h a r G i ờ đ ặ t lệ n h 3 O r d e r S e q in t S ô h iệ u lệ n h tạ i c ô n g ty 4 B r a n c h C o d e v a r c h a r M à h ộ i s ờ c h i n h á n h n ơ i đ ặ t lệ n h 5 T r a d e C o d e v a r c h a r L o ạ i lệ n h 6 O r d e r N o v a r c h a r S ô h iệ u lệ n h d o s à n trà v ê 7 O r d e r T y p e v a r c h a r L o ạ i lệ n h 8 O r d e r S id e c h a r L o ạ i m u a b á n S: L ệ n h b á n ; B : L ệ n h m u a 9 B o a r d T y p e c h a r S à n g i a o n iê m y ê t 0 : S a n H S X ; S: S à n H N X 10 S t o c k C o d e v a r c h a r M ã c h ứ n g k h o á n 11 S t o c k T y p e c h a r L o ạ i c h ứ n g k h o á n S : C ồ p h iế u ; U : C h ứ n g c h i q u ỹ ; D: T rá i p h iế u 12 O r d e r V o lu m e d e c im a l K h ô i lư ợ n g lệ n h 13 O r d e r P r ic e d e c im a l G iá đ ặ t 14 C u s t o m e r l d v a r c h a r M ã k h á c h h à n g 15 C u s t o m e r B r a n c h C o d e v a r c h a r M ã c h i n h á n h q u à n lý k h á c h h à n g 16 C u s t o m e r T r a d e C o d e v a r c h a r M ã đ iê m g i a o d ịc h q u ả n lý k h á c h h à n g

Một phần của tài liệu Kiến thức hướng dịch vụ và ứng dụng phát triển phần mềm chứng khoán (Trang 61)