Kiểu lá chắn (Interceptors)

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 42)

Theo một cách khác một ESB dựa trên một giao thức kết nối “điểm tới điểm” có thể hỗ trợ gián tiếp các cuộc gọi dịch vụ với điều kiện là để gọi “các bộ chắn” hoặc “các đối tượng ủy quyền”. Một phương pháp tiếp cận dễ dàng là để thay thế endpoint vật lý mà chúng cung cấp một dịch vụ với một phần của phần cứng hoặc phần mềm mà chúng phục vụ như một bộ cân bằng tải. Các consumer vẫn sử dụng một endpoint chính thức, các endpoint được ủy nhiệm các nhiệm vụ thực: khi các message đén, hộ cân bằng tải gửi chúng tới những nhà cung cấp dịch vụ vật lý khác nhau mà nó biết đến (xem hình dưới đây).

lo ad b a la n c e r T T Deplcyeca:: 152.168.1.51 P ro vid er A T T Deplcyec a:: 152.168.1.52 P rovider B

19Hình 2.4: Một ESB với một bộ cân bang tải cho các dịch vụ được cung cấp

Một phương pháp tiếp cận ESB phức tạp hon cung cấp một cách đánh chặn hoặc ủy quyền cho mỗi nhà cung cấp và mồi người tiêu dùng. Trong trường họp này, consumer sẽ truyền thông theo kiểu “điểm tới điểm” chỉ với bộ chắn được chi rõ của nó. Bộ chắn sẽ định tuyến mồi cuộc gọi tới một nhà cung cấp thích họp, sử dụng bộ chắn cụ thể cùa nó. Trong kịch bản này, sự kỳ diệu cùa việc định tuyến thông minh và các dịch vụ ESB khác được hoàn toàn đóng gói từ thế giới bên ngoài bằng các bộ chắn. Trên thực tế, bên trong nó một giao thức hoàn toàn khác nhau có thế được sử dụng. Chú ý ràng giao thức Web Service vốn đã là giao thức truyền thông “điếm tới điếm”. Vừa lúc sụ trao đối các dịch vụ giữa hai hệ thống không đòi hỏi các công cụ hoặc các chương trình, nhưng ta phải biết và chỉ rõ endpoint của một dịch vụ gọi trong quy trình chi phối của ta. Các chuẩn Web Service không cung cấp cho việc cân bằng tải và chuyèn hướng dự phòng.

46 C o nsu m er 2 I ị S e n e te a ie sT S :c : 1 5 2 . 1 6 8 . 1.C2 u --- --- ___________ T I Deplcyeca:: 192.1ÓE.1.C2 In te r c e p to r ESB ' In te r c e p to r _ _ _ _ _ _ _ ị _ _ _ _ _ _ _ Deplc/ec a:: 152.168.1.52 I P ro vid er B 20Hình 2.5: Một ESB sử dụng các bộ chắn

Mặc dù vậy, load balancing và failover là những yêu cầu cốt lõi cho các h ệ t h ố n g p h â n

tán lớn. Vì lý do này, sớm hoặc muộn mỗi ESB dựa trên web service sẽ kết h ọ p c h ặ t

chẽ với các bộ chắn. Những bộ chắn này cũng phải giúp đế thỏa thuận với những khía cạnh khác của một ESB, như bảo mật và theo dõi (monitoring)

Deplcyeca:: 152.168.1.51 Provider A In te rc e p to r C onsum er 1 Sere r e a e s T S :c: 152.11:5.1.Cl f T Deplcyec a:: 192.168.1 .Cl In te rc e p to r 2,1 [SOA in Practice]

CHU ONG 3 - ỨNG DỤNG WCF VÀO SOA

■&. Chương này trình bày tông quan vê công nghệ WCF trong .NET Framework 4.0 như mô hình các thành phần trong WCF, nội dung của chương này sẽ là kiên thức CO' bản để giúp hiện thực hóa các dịch vụ trong SOA bằng công nghệ wCF.

3.1 Giói thiệu về WCF

- 21 Windows Communication Foundation (WCF) là một công cụ phần mềm cho phát triển và triên khai các dịch vụ trên môi trường window. WCF cung cấp một môi trường chạy cho các service. Mặc dù trong lý thuyết ta có thể xây dựng các dịch vụ không dùng WCF, trong thực tế việc xây dựng các dịch vụ là dễ dàng hơn với WCF, WCF là một cài đặt chuẩn công nghiệp của Microsoft định nghĩa các dịch vụ tương tác, kiểu hội thoại, và quản lý các giao thức khác nhau. Bởi vậy WCF cung cấp thao tác giữa các dịch vụ.

- WCF cung cấp những tính năng trực tiếp hồ trợ ứng dụng của các nguyên tắc hướng dịch vụ. Sự mở rộng khác nhau và các công nghệ bên trong wcf đã được thiết kế dè tăng các tiềm năng của sự nhận thức rõ các chất lượng của SOA (như khớp nối long lẻo, sự tự trị, giảm thiểu tiêu thụ tài nguyên, khả năng dò tìm dịch vụ, tái sử dụng dịch

v ụ ) .

Tất cả các chuẩn của Web Service đều được hỗ trợ bởi WCF. Thực tế, ngôn ngữ WSDL đã thiết lập chính nó như một chuẩn ngôn ngừ định nghĩa giao diện (interface definition language) cho các dịch vụ WCF Siêu dữ liệu có thế được viện dần bằng tài liệu cho mỗi dịch vụ để các định nghĩa WSDL tương ứng có thể được phát hiện sứ dụng các điểm trao đổi siêu dữ liệu.

Nền tảng WCF gom nhóm các công nghệ phân tán cũ vào bên trong một mô hình chương trình thống nhất đơn giản

_ _ * f Î * t - _-

'y 2 * * 9

Hình 3.1: Mô hình chương trình thông nhât đã được thiêt lập bởi WCF

21 [P rogram m ing W C F S e r v ic e s] 22 [SO A w ith .N E T and W in d o w s A zu re]

48

3.2 Kiến trúc WCF

Hình dưới đây mô tả các lớp chú yếu trong kiến trúc của WCF

A p p lic atio n C o n tra c ts __ í rị.-4 * r ì • v - ạ x . . ■ • , . ¿ é 1 1...1... ... _____ ... ...i ( Service R u n tim e M essa g in g v , n;4 'Mề. ị p lề è m ỉ ỹ ệ - A W Ệ 2... - . . . - i l ! !Ë ---- _--- fT--?—■---- —' ' ■ • ■ ■ỉấấềiêắầ1<‘. ' Ề V— __________—__,________> - ...-¿ ¿ ¿ L_______■■ --- l i . ,

\ Activdtion and Hosting

v-*.: ; “ * .1 f Hi ... -mi, n rrtrw.1t... „ 1 LMÍII[rmi. Héi: ỵ>ẩ' 23Hình 3.2: Kiến trúc cùa WCF 3.2.1. Hợp đòng (Contracts)

Khái niệm contract trong WCF cũng giống như các họp đồng mà ta ký trong đời sống thật. Một họp đồng có thể chứa các thông tin như kiểu công việc ta sẽ làm, và những thông tin mà ta muốn đưa ra cho các bên khác. WCF contract cũng chứa các thông tin tương tự như vậy. Thông thường có các loại contract sau:

- Services Contract

Các hợp đồng dịch vụ mô tả toán từ mà dịch vụ có thể cung cấp. Ví dụ, dịch vụ đã được cung cấp để biết thời tiết của thành phố dựa trên mã vùng. Chúng ta gọi dịch vụ này như hợp đồng dịch vụ. Nó sẽ được tạo sử dụng thuộc tính “Service” và “Operational Contract”.

- Data Contract

Nó mô tả các kiểu dừ liệu tùy chỉnh đã được lộ ra tới client. Điều này xác định các kiểu dừ liệu được truyền đến và đi từ dịch vụ. Các kiểu dữ liệu như int, string đã được xác định bởi client bởi vì nó đã được đề cập đến trong tài liệu ngôn ngừ định nghĩa lược đồ XML, nhưng tùy chỉnh được tạo ra lóp hoặc kiểu dừ liệu không thế được xác định bởi các client, ví dụ như kiểu dữ liệu cho nhân viên. Bằng cách sử dụng

DataContract, chúng ta có thể làm cho khách hàng nhận thức được rằng chúng ta đang sư dụng kiểu dừ liệu nhân viên cho việc trả lại hoặc băng qua tham số tới phương thức.

- Message Contract

WCF tương tác với với mồi phần khác bàng sự trao đối các thông điệp SOAP. Bèn trong WCF, cẩu trúc và thiết kế thông điệp SOAP đã được tham chiếu như “message contract”. Một “message contract” có thể được bao gồm các định nghĩa cho một hoặc nhiều hơn các tiêu đề và thân SOAP.

- Policy and Bindings

Chỉ rõ các điều kiện yêu cầu để truyền thông với một dịch vụ,..., yêu cầu bao mật đế truyền thông với dịch vụ, giao thức và mã hóa đã được sử dụng cho sự liên kết.

3.3.2. Dịch vụ Runtime (Service Runtime)

Nó chứa đựng các hành vi xuất hiện trong thời gian chạy của dịch vụ. - Throttling behavior: Điều khiến số lượng thông điệp được xử lý. - E r r o r behavior: Chỉ rõ những gì xảy ra khi xuất hiện lồi trong dịch vụ.

- M etadata behavior: Hành xử như thế nào và liệu siêu dừ liệu là sằn dùng ra bèn ngoài dịch vụ chưa.

- Instance behavior: Chỉ rõ bao nhiêu thể hiện của dịch vụ phái được tạo trong khi chạy.

- Transaction behavior: Cho phép khôi phục lại của các toán tử giao tác nếu một lỗi xuất hiện.

- Message inspection: Kiểm tra thông điệp đem lại cho dịch vụ khả năng kiếm tra tất cả hay một số phần của thông điệp.

- Dispatch behavior: Kiểm soát cách thức thông điệp được xử lý bởi cơ sở hạ tầng WCF.

- Concurrency behavior: Hành xử này giúp cho việc điều khiển sổ lượng luồng có thể truy nhập tới một thực thể của dịch vụ.

- P aram eter filtering: Bộ lọc thông điệp.

3.2.3. Thông điệp (Message)

Tầng thông điệp bao gồm các kênh. Kênh A là một thành phần xử lý một thông điệp theo một cách nào đó, ví dụ sự xác thực một thông điệp. Một sự thiết lập các kênh cũng được biết như một chồng các kênh. Các kênh là sự trừu tượng cốt lõi cho việc gửi các thông điệp và nhận các thông điệp từ một điểm cuối. Có hai loại kênh là

- Các kênh truyền vận: Nắm giữ việc gửi và nhận các thông điệp từ mạng. Các giao thức như HTTP, TCP, MSMQ.

- Các kênh giao thức: Cài đặt SOAP dựa trên giao thức bằng sự xử lý và có thể chinh sửa thông điệp. Ví dụ, WS-Security và WS-Reliability.

3.2.4. Kích hoạt và Chửa (Activation and Hosting )

Các dịch vụ có thể được chứa và được thực thi, bởi vậy nó sẽ sẵn dùng đế tất cá mọi người truy cập từ client. WCF có thể host theo các cách sau:

50

- WCF có thê host trong Internet information Service (IIS).

- Dịch vụ kích hoạt Windows Activation Service (WAS) cua window là một cơ chế kích hoạt mới với I IS 7.0. Ngoài ra đế truyền thông dựa trên HTTP, WCF cũng có thê sử dụng WAS đề cung cấp sự kích hoạt thông điệp cơ bản trên các giao thức khác nhu TCP.

- Tự host (Self hosting)

Dịch vụ WCF có thể được host như ứng dụng console, winform hoặc ứng dụng WPF (Windows Presentation Foundation) với giao diện đồ họa.

- Dịch vụ của window (Windows Service)

WCF có the cũng được host như một window service, để nó là dưới sự kiêm soát của sự quán l ý điều khiển dịch vụ.

CH Ư Ơ N G 4 - N G H IỆ P v ụ PHẦN MỀM

Chương này trình bày về các quy trình nghiệp vụ dành cho giao dịch chứng khoán nhu’ quy trình đặt lệnh môi giới, quy trình sửa và hủy lệnh môi giới đê từ đó cỏ thờ trién khai các quv trình này vào ứng dụng phần mềm.

4.1 Quy trình nhập lệnh môi giói

4.1.1 Mô tả khái quát

- Ọuy trình này cho phép thực hiện nhập và duyệt lệnh giao dịch chứng khoán (buo gồm cả lệnh mua và lệnh bán). Khách hàng có thể đặt lệnh qua nhiều hinh thức khác nhau như đặt lệnh trực tiếp tại công ty chứng khoán, qua Fax, email hay điện thoại. - C á c lệnh đó sẽ được nhân viên môi giới nhập vào phần mềm giao dịch (StockPro). Hệ thống sẽ tự động kiểm tra số dư tiền đối với lệnh mua, số dư chứng khoán đối với lệnh bán. Trong trường hợp lệnh mua không đủ tiền, hệ thống sẽ đưa ra cảnh báo thiếu tiền. Trong trường hợp lệnh bán không đủ số dư chứng khoán, StockPro sẽ đưa ra cánh báo cho nhân viên môi giới biết, StockPro chỉ cho phép thực hiện lệnh bán thiếu chứng khoán đổi với tài khoản khách hàng có chứng khoán cầm cố. Nếu lệnh bán chứng khoán cầm cố được khớp, kết thúc giao dịch, kế toán sẽ phải giải tỏa chứng khoán cầm cố để treo chứng khoán bán ngày T.

- Sau khi nhập lệnh vào hệ thống thành công, nhân viên môi giới ghi số hiệu lệnh, giò nhập lệnh vào phiếu lệnh và chuyển cho Cán bộ duyệt lệnh

- Sau khi lệnh được duyệt, lệnh giao dịch sẽ được truyền vào hai sàn, thông thường, lệnh sẽ được truyền trực tiếp nhưng nếu vì một lý do nào đó, đường truyền gặp sự cố thì nhân viên giao dịch cần phải truyền lệnh vào sau qua điện thoại đế đảm bảo tính kịp thời. Khi lệnh đã ở trên sàn và được nhân viên giao dịch tại sàn nhập liệu vào hệ thống của trung tâm, chương trình có một chức năng cho phép kiểm soát tính đúng đán của dừ liệu nhập trên sàn so với dừ liệu tại Công ty chứng khoán (chi áp dụng trong trường hợp truyền lệnh trực tiếp). Việc đối chiếu kết quả khớp lệnh sã được hệ thống thực hiện một cách tự động và sau đó gửi kết quả khớp lệnh cho khách hàng qua SMS.

52 Q uy trình n h ậ p d u y ệ t lện h Môi g iớ i K hách H àng P hò ng Giao D ịch Đắt đầu

Yèu cầu đặt lệnh cùa KH

.... -T- - -■

1 Phiếu lệnh

9 1 Gửi thòng tin kết quà khớp lệnh tới KH

qua SMS

Quy trinh hủy sửa lệnh

2 G D V kiểm tra tính hợp lệ cùa thông tin trên phiếu lệnh

Kết Thúc

Không

GD ?

9.2 Thông báo kết quả khớp lệnh giải tỏa CK cầm cổ đối

VỠI lệnh bán CK càm cổ

. Đổi chiếu kết quả giao dịch ! của sờ-trung tàm GDCK —J --- không Cò có 6.2 Đ ọc lệnh vào sàn Hùy, Sửa lệnh? I

Sửa lỗi sau giao dịch

7. Đại diện sàn nhập lệnh vào hệ thống của TTGD

TH xày ra sự cố

<6.1 Truyèn lệnh vào san

TH thống thướng

Hợp lệ

Không hợp lệ

Kết \ Thúc

3. Giao dịch viên nhập lệnh của Hợp lệ - > khách hàng vào hệ thống

StockPro

4. StockPro Tự động vấn tin số dư tiền gửi cùa KH tại NH, và số dư chứng khoán đổi với lệnh bán

5. Kiểm soát duyệt lệnh

Khỏng dù

4.1 Thông báo khảch hàng thiếu tiề n/ chứng khoán

Hình 4.1: Sơ đồ quy trình nhập lệnh môi giới

4.1.3 Các bước thực hiện

Bưóc Mô tả Chi tiểt

1 Khách hàng đặt lệnh

Khách hàng có thê đặt lệnh qua điện thoại, đên trực tiêp sàn giao dịch tại công ty CK để viết phiếu lệnh hoặc Fax lệnh

2 Kiêm tra Kiêm tra tính chính xác, tính hợp lệ trên phiêu lệnh. Nêu phiếu lệnh không hợp lệ, nhân viên môi giới phái húy phiếu lệnh, và yêu cầu KH viết lại phiêu lệnh khác

3 Nhập lệnh vào

hệ thống

Nhập lệnh mua/bán của khách hàng vào hệ thông StockPro qua màn hình nhập lệnh

Iìuóc Mô tả Chi tiêt

StockPro

4 Tự động kiêm tra số dư tiền và chứng khoán

Tự động kiêm tra sô dư tiên đôi với lệnh mua và sô dư chứng khoán đối với lệnh bán

4.1 Thiêu tiên, thiếu CK

StockPro sẽ đưa ra cảnh báo, nhân viên môi giới căn cứ vào thông tin thiếu tiền, thiếu CK => thông báo cho khách hàng biết.

4.2 Cho phép thực hiện lệnh thiếu tiền, thiếu CK

Đôi với việc không đủ tiên trong mua chứng khoán, nêu cho phép thực hiện tiếp thì cập nhật thông tin bảo lãnh còn nếu không cho phép thì kết thúc luôn quy trình ở đây. Đối với việc bán thiếu CK, nếu khách hàng có CK cầm cố thì tiếp tục thực hiện lệnh, nếu không thì kết thúc quy trình nhập lệnh

5 Kiêm soát

duyệt lệnh tại công ty

Kiêm soát viên kiêm tra phiêu lệnh gôc với dừ liệu đà nhập trên hệ thống StockPro

Nếu lệnh không có sai sót, duyệt lệnh trên hệ thống, ký nháy vào vị trí trưởng phòng môi giới và chuyển phiếu lệnh cho nhân viên chuyển lệnh vào TTGDCK.

Nếu phát hiện có sai sót trong khâu nhập lệnh thì chuyến lại cho nhân viên nhập lệnh để sửa lỗi.

6.1 Truyên lệnh vào sàn

Hệ thông hô trợ chức năng truyên lệnh một cách tự động vào sàn giao dịch sau khi lệnh được duyệt

6.2 Đọc lệnh vào sàn

Trong trường hợp vì một lý do nào đó, đường truyên dữ liệu vào hai sàn giao dịch có vấn đề, nhân viên môi giới cần phải tiến hành đọc lệnh qua điện thoại vào sàn giao dịch

7 Nhập lệnh vào hệ thống của TTGD

Đại diện giao dịch tiên hành nhập lệnh vào hệ thông giao dịch ngay khi nhận được lệnh từ công ty. Khi lệnh đà được nhập vào hệ thống của TTGD, nếu khách hàng có yêu cầu sửa giá, hoặc hủy lệnh => quy trình hủy sứa lệnh đã vào sàn

8 Đôi chiêu Deal tự động

Hệ thông có một chương trình cho phép kiêm tra đôi chiếu lệnh nhập tại công ty với kết quả lệnh do TTGD trá

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 42)

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

(76 trang)