Trang chủ Blog tỷ lệ cá cược bóng đá tối nay Ví dụ xây dựng hệ thống trực tuyến sử dụng tỷ lệ cá cược bóng đá tối nay (Business Rule Management System)

Blog sử dụng triệt để tỷ lệ cá cược bóng đá tối nay

Ví dụ xây dựng hệ thống trực tuyến bằng tỷ lệ cá cược bóng đá tối nay (Hệ thống quản lý quy tắc kinh doanh)

20210922 Progress Corticon

Bài viết này là bài viết được đóng góp bởi TIS Co, Ltd ()

Giới thiệu

Việc giới thiệu tỷ lệ cá cược bóng đá tối nay (Hệ thống quản lý quy tắc kinh doanh) đã thu hút sự chú ý nhằm mục đích trực quan hóa các quy tắc kinh doanh và cải thiện tính linh hoạt của hệ thống

tỷ lệ cá cược bóng đá tối nay triển khai các quy tắc kinh doanh dưới dạng bảng quyết định, làm cho chúng hiển thị và cho phép những người không phải là lập trình viên kiểm tra các quy tắc kinh doanh một cách trực quan Tuy nhiên, nếu bạn không hiểu cấu trúc của bảng quyết định và ghi nhớ những điểm cần xem xét, các vấn đề như ``hành vi dự định không xảy ra sau khi kết hợp các bảng quyết định'' hoặc ``bảng quyết định khó bảo trì'' sẽ xảy ra và bạn sẽ không thể tận hưởng đầy đủ các lợi ích của tỷ lệ cá cược bóng đá tối nay trong giai đoạn thử nghiệm và bảo trì

Ngoài ra, bằng cách hợp nhất các quy tắc kinh doanh trong tỷ lệ cá cược bóng đá tối nay, các quy tắc kinh doanh trở nên gắn kết lỏng lẻo với các chương trình quy tắc phi kinh doanh chẳng hạn như các chức năng kiểm soát, giúp có thể xây dựng một hệ thống rất linh hoạt và có khả năng chống lại sự thay đổi Tuy nhiên, mặc dù có thể thu thập kiến ​​thức về các thông số kỹ thuật và hoạt động của tỷ lệ cá cược bóng đá tối nay thông qua hướng dẫn sử dụng và đào tạo sản phẩm, nhưng có rất ít thông tin về các chương trình gọi tỷ lệ cá cược bóng đá tối nay và chúng tôi bối rối về cách thiết kế và phát triển chúng

Trong tài liệu này, những người chưa có kinh nghiệm về tỷ lệ cá cược bóng đá tối nay sẽ giới thiệu những kiến thức mà chúng tôi có được thông qua các ví dụ thực tế về xây dựng hệ thống trực tuyến bằng tỷ lệ cá cược bóng đá tối nay, tập trung vào hai điểm trên

TL;DR

  • Điểm của tài liệu này
    • Phương pháp phát triển bảng quyết định tỷ lệ cá cược bóng đá tối nay và những điểm cần cân nhắc
    • Cách phát triển ứng dụng sử dụng tỷ lệ cá cược bóng đá tối nay và những điểm cần cân nhắc
  • Đối tượng dự kiến của tài liệu này
    • Nhà phát triển không có kiến thức về tỷ lệ cá cược bóng đá tối nay
    • Nhà phát triển có kinh nghiệm phát triển tỷ lệ cá cược bóng đá tối nay nhưng không có kiến thức về xây dựng toàn bộ hệ thống bao gồm cả trình gọi tỷ lệ cá cược bóng đá tối nay
  • Các sản phẩm tỷ lệ cá cược bóng đá tối nay được sử dụng trong tài liệu này
    • Corticon tiến độ

Giới thiệu về tỷ lệ cá cược bóng đá tối nay

tỷ lệ cá cược bóng đá tối nay là gì

tỷ lệ cá cược bóng đá tối nay là hệ thống tách biệt "quy tắc kinh doanh" của một tổ chức hoặc công ty khỏi các ứng dụng kinh doanh và sử dụng "công cụ quy tắc" để đăng ký, quản lý và thực thi các quy tắc kinh doanh Các quy tắc kinh doanh là các tiêu chuẩn để đưa ra các phán đoán và hành động trong quá trình thực hiện hoạt động kinh doanh và được thể hiện dưới dạng ``If ○○○ (điều kiện), hãy thực hiện △△△ (hành động)'' Công cụ quy tắc là phần mềm lập trình và thực thi phần ``làm điều này trong trường hợp này'' của quá trình ra quyết định

Để biết thêm thông tin về tỷ lệ cá cược bóng đá tối nay, vui lòng tham khảo trang web của SCSK Corporation bên dưới

Hướng dẫn sử dụng kỹ lưỡng tỷ lệ cá cược bóng đá tối nay tỷ lệ cá cược bóng đá tối nay

Corticon tiến độ là gì

Tài liệu này giới thiệu một ví dụ phát triển sử dụng Progress Corticon làm phần mềm tỷ lệ cá cược bóng đá tối nay

Progress Corticon là sản phẩm tỷ lệ cá cược bóng đá tối nay được sử dụng ở hơn 40 quốc gia trên thế giới và có các đặc điểm sau

  • Sử dụng phương pháp mô tả quy tắc thân thiện với người dùng, cho phép bạn tạo quy tắc gần như không cần mã hóa
  • Hợp tác linh hoạt với người gọi quy tắc
  • Môi trường phát triển tuyệt vời

Để biết thêm thông tin về Progress Corticon, vui lòng tham khảo trang web của SCSK Corporation bên dưới

Tiến trình hướng dẫn sử dụng hoàn chỉnh tỷ lệ cá cược bóng đá tối nay Giới thiệu sản phẩm Corticon

Phát triển tỷ lệ cá cược bóng đá tối nay

Chương này giải thích cách phát triển tỷ lệ cá cược bóng đá tối nay bằng Progress Corticon và những điểm cần cân nhắc

Tổng quan về hệ thống sẽ được xây dựng

Đầu tiên, tôi sẽ giải thích về hệ thống trực tuyến mà chúng tôi đang xây dựng bằng tỷ lệ cá cược bóng đá tối nay Sơ lược về hệ thống trực tuyến như sau

  • Xây dựng dịch vụ web gọi các quy tắc kinh doanh bằng ứng dụng Java sử dụng Spring Framework
  • Xuất bản dịch vụ quyết định thực thi các quy tắc kinh doanh trên máy chủ công cụ quy tắc Progress Corticon (Máy chủ Progress Corticon)
  • Cuộc gọi từ ứng dụng Java đến dịch vụ quyết định trên Máy chủ Progress Corticon sử dụng giao tiếp SOAP bằng JAX-WS (Trong ví dụ này, SOAP được sử dụng làm phương thức giao tiếp, nhưng cũng có thể giao tiếp REST bằng JAX-RS)

Mục tiêu phát triển tỷ lệ cá cược bóng đá tối nay

Để xây dựng tỷ lệ cá cược bóng đá tối nay của Progress Corticon, cần phát triển các tài liệu sau Chúng được phát triển bằng GUI sử dụng Corticon Studio, một công cụ phát triển do Progress Corticon cung cấp

  • Từ vựng
    • Các thực thể và thuộc tính được sử dụng trong quy tắc kinh doanh được gọi là lớp miền
    • Từ điển quản lý các lớp miền được gọi là từ vựng trong Progress Corticon
  • Bảng nội quy
    • Bảng quyết định là bảng trong đó các quy tắc kinh doanh được thể hiện bằng ngôn ngữ đơn giản dưới dạng mối quan hệ giữa "điều kiện" và "hành động"
    • Bảng quyết định được gọi là bảng quy tắc trong Progress Corticon
  • Luồng quy tắc
    • Một tập hợp gồm một hoặc nhiều bảng quy tắc xác định thứ tự và điều kiện gọi được gọi là luồng quy tắc
    • Dịch vụ triển khai luồng quy tắc và xuất bản nó được gọi là dịch vụ quyết định

Xây dựng bảng quyết định (bảng quy tắc)

Tôi sẽ giải thích bảng quy tắc, điều này rất quan trọng trong quá trình phát triển tỷ lệ cá cược bóng đá tối nay Cấu trúc của bảng quy tắc như sau

  • Điều kiện lọc
    • Mô tả các điều kiện để thực thi bảng quy tắc
    • Viết biểu thức điều kiện bằng cách sử dụng các thực thể và thuộc tính từ vựng
    • Cột là điều kiện AND
  • phần điều kiện
    • Nhập "Nếu ○○○" trong quy tắc công việc
    • Viết biểu thức điều kiện bằng cách sử dụng thực thể/thuộc tính từ vựng
    • Các cột (a đến e trong sơ đồ trên) là điều kiện AND (Điều kiện HOẶC có thể được viết trong một ô)
    • Nếu bạn không muốn đánh giá nó như một điều kiện, hãy nhập "-"
    • Thực hiện hành động trong hàng khớp với điều kiện giữa các hàng (1 đến 3 trong sơ đồ trên) của phần điều kiện
  • Bộ phận hành động
    • Nhập "Thực hiện △△△ (hành động)" trong quy tắc công việc
    • Sử dụng các thực thể và thuộc tính từ vựng để mô tả các hành động như gán giá trị
    • Thực hiện tất cả hành động được liệt kê trong các cột (A đến B trong sơ đồ trên) (Không làm gì nếu để trống)

Ngoài ra, thao tác khi thực hiện bảng quy tắc sẽ được giải thích bằng bảng quy tắc hiển thị ở trên

  1. Kiểm tra điều kiện lọc
    • Chỉ thực hiện quá trình xử lý tiếp theo nếu tất cả các biểu thức điều kiện được mô tả trong điều kiện lọc đều được thỏa mãn
    • Trong ví dụ trên, quá trình xử lý tiếp theo chỉ được thực hiện khi "tính toán nhân viênphụ cấp là 'không' VÀ nhân viêntuổi >= 20"
  2. Đánh giá điều kiện ở phần điều kiện và thực hiện phần hành động
    • Đánh giá các điều kiện trong từng cột của phần điều kiện và nếu các điều kiện khớp nhau thì thực hiện phần hành động
    • Trong ví dụ trên, các quy tắc kinh doanh sau được thực thi
      • EmployeeAge >= 30 VÀ Nếu Nhân viênHousing là 'Cho thuê', hãy đặt Phụ cấpPhụ cấp Nhà ở thành 30000
      • EmployeeAge >= 30 VÀ Nếu Nhân viênHousing là 'Do chủ sở hữu sở hữu', hãy đặt Phụ cấpPhụ cấp Nhà ở thành 20000
      • Nếu Độ tuổi của nhân viên < 30, hãy đặt Phúc lợiTrợ cấp nhà ở thành 20000
    • Ngoài ra, cột "0" thực thi phần hành động bất kể điều kiện trong phần điều kiện có được đáp ứng hay không Trong ví dụ trên, các quy tắc kinh doanh sau được thực thi
      • Đặt Tính toán phúc lợi cho nhân viên thành 'Đã hoàn thành' và Phụ cấpTrợ cấp nhà ở thành 0

Theo cách này, phương pháp viết bảng quy tắc rất khác so với các ngôn ngữ lập trình khác như Java Sau đây là những khác biệt về cấu trúc chương trình giữa bảng quy tắc và Java

  • Bảng quy tắc biểu thị từng biểu thức điều kiện dưới dạng điều kiện AND
  • Bảng quy tắc không sử dụng câu lệnh else hoặc case trong biểu thức điều kiện

Lý do tại sao bảng quy tắc có cấu trúc như vậy là vì mục đích của bảng quy tắc là "trực quan hóa các quy tắc kinh doanh" Bằng cách chỉ thể hiện từng điều kiện là "Nếu ○○○ thì (điều kiện) thực hiện △△△ (hành động)", ngay cả người dùng cuối không có kiến ​​thức về ngôn ngữ lập trình cũng có thể hiểu được các quy tắc kinh doanh một cách trực quan Điều này làm cho nó có thể xây dựng một hệ thống thân thiện với người dùng

Xem xét khả năng duy trì của bảng quyết định (bảng quy tắc)

Như đã đề cập ở trên, mục đích của bảng quy tắc là "trực quan hóa các quy tắc kinh doanh" Vì vậy, khi phát triển một bảng quy tắc, điều quan trọng là phải lưu ý đến khả năng bảo trì Phần này giải thích những điểm cần cân nhắc về khả năng bảo trì khi phát triển các bảng quy tắc

Một trong những điểm cần cân nhắc về khả năng bảo trì là ``tạo ra các biến thể của các điều kiện trong bảng quy tắc với MECE (không rò rỉ và không trùng lặp)'' Tôi sẽ giải thích điều này bằng cách sử dụng ví dụ thêm quy tắc ``Nếu nhân viên có con, hãy đặt trợ cấp nhà ở là 40000 yên và trợ cấp trẻ em là 10000 yên cho mỗi đứa trẻ'' vào bảng quy tắc tính toán trợ cấp nhà ở được giới thiệu trước đó

Trong bảng quy tắc này, nếu "Nhân viênTuổi < 30 VÀ Nhân viênSố trẻ em > 0", cả hai điều kiện sau đều được đáp ứng Vì vậy, trợ cấp nhà ở không được xác định một cách duy nhất

  • Đáp ứng điều kiện số 3, 20000 được ấn định trợ cấp nhà ở
  • Đáp ứng điều kiện số 4, quy định trợ cấp nhà ở 40000

Thứ tự thực thi của bảng quy tắc được xác định tự động bởi trình tối ưu hóa của Progress Corticon, có tính đến hiệu suất xử lý, vv Do đó, các quy tắc không nhất thiết phải được thực thi theo thứ tự số của bảng quy tắc và không thể xác nhận trợ cấp nhà ở trừ khi bảng quy tắc được thực thi Bằng cách này, trong trường hợp bảng quy tắc có các điều kiện trùng lặp, không thể hiểu được các quy tắc kinh doanh chỉ bằng cách kiểm tra bảng quy tắc

Ngoài ra, đối với nhà ở của nhân viên, 'cho thuê' và 'quyền sở hữu' được sử dụng làm điều kiện, nhưng hãy xem xét trường hợp 'nhà ở công ty' được đưa vào loại nhà ở "EmployeeHousing = 'Nhà ở công ty' VÀ Nhân viên Số lượng trẻ em = 0" không đáp ứng bất kỳ điều kiện nào, do đó trợ cấp nhà ở và trợ cấp trẻ em sẽ là 0 Nếu bên thứ ba kiểm tra điều này, sẽ không thể xác định được liệu trợ cấp nhà ở và trợ cấp trẻ em bị giảm xuống 0 là ``cố ý'' hay ``lỗi trong việc thiết lập các điều kiện'' Theo cách này, trong trường hợp một bảng quy tắc có thiếu sót trong điều kiện, không thể hiểu được các quy tắc kinh doanh chỉ bằng cách kiểm tra bảng quy tắc

Do đó, điều quan trọng là tạo một bảng quy tắc với MECE (không rò rỉ và không trùng lặp) các biến thể của điều kiện như trong hình bên dưới Corticon Studio được trang bị cơ chế phát hiện rò rỉ và trùng lặp các điều kiện Bằng cách sử dụng chức năng này, bạn có thể tạo các bảng quy tắc MECE một cách đáng tin cậy

Kiểm tra bảng quyết định (bảng quy tắc)

Ở cuối phần giải thích về việc phát triển bảng quy tắc, phần này giải thích cách kiểm tra bảng quy tắc Chúng tôi cũng sẽ giới thiệu một số cải tiến mà chúng tôi đã thực hiện khi thử nghiệm bảng quy tắc

Ngay cả với các hệ thống sử dụng tỷ lệ cá cược bóng đá tối nay, vẫn cần phải tiến hành kiểm tra trên từng bảng quy tắc riêng lẻ để xác nhận chất lượng, giống như với các ngôn ngữ lập trình khác như Java Trong Progress Corticon, việc kiểm tra các bảng quy tắc (và các luồng quy tắc) được thực hiện bằng cách tạo ra các tài liệu được gọi là kiểm tra quy tắc Phương pháp tạo bài kiểm tra quy tắc như sau và các bước thực hiện cũng giống như đối với các ngôn ngữ lập trình khác như Java Kiểm tra quy tắc, như bảng quy tắc, được tạo bằng GUI bằng Corticon Studio

  • Tạo giá trị đầu vào cho bảng quy tắc
  • Tạo giá trị mong đợi cho bảng quy tắc
  • Chạy bảng quy tắc bằng cách sử dụng các giá trị đầu vào làm đầu vào và so sánh kết quả thực thi với kỳ vọng

Ngoài ra, các biến thể dữ liệu cho kiểm tra quy tắc được tạo dựa trên các điểm sau, giống như kiểm tra đơn vị chương trình cho các ngôn ngữ lập trình khác

  • Phạm vi của biểu thức điều kiện
  • Giá trị biên (trong bảng quy tắc mẫu ở trên, các bài kiểm tra được thực hiện đối với nhân viên ở độ tuổi 29, 30 và 31)
  • Giá trị bất thường (0, chuỗi trống, giá trị NULL, vv)

Để kiểm tra chất lượng của bảng quy tắc theo cách này, cần chuẩn bị dữ liệu thử nghiệm bao gồm các biến thể của dữ liệu Trong trường hợp này, do tính chất của dự án, cần phải tiến hành thử nghiệm trên một số lượng lớn bảng quy tắc trong thời gian ngắn Khi có nhiều bảng quy tắc cần phát triển, cần rất nhiều nhân lực để chuẩn bị dữ liệu thử nghiệm nên chúng tôi dự định sử dụng nhân lực ở nước ngoài để chuẩn bị và tiến hành thử nghiệm Tuy nhiên, công cụ phát triển Corticon Studio được người dùng cấp phép, vì vậy nếu muốn làm việc trên nó cùng lúc, bạn sẽ phải trả phí giấy phép tương ứng Vì vậy, từ góc độ chi phí, người ta cho rằng sẽ khó thực hiện đồng thời công việc ở nước ngoài

Do đó, bằng cách triển khai các ý tưởng sau, chúng tôi đã có thể chuẩn bị và tiến hành các thử nghiệm sử dụng ở nước ngoài

  • Progress Sản phẩm hỗ trợ phát triển BT4C (Công cụ tốt nhất cho Corticon) của Progress Corticon được sử dụng để tạo các giá trị đầu vào và giá trị mong đợi cho các bài kiểm tra quy tắc trong Excel
  • Xây dựng một máy chủ ảo với Corticon Studio được cài đặt ở khu vực Tokyo của AWS (Amazon Web Services) và giúp máy chủ này có thể truy cập được từ nước ngoài
  • Tạo quy tắc kiểm tra ở nước ngoài bằng Excel, nhập quy tắc đó vào Corticon Studio trên máy chủ AWS và có thể chạy kiểm tra quy tắc

BT4C (Công cụ tốt nhất cho Corticon) là một chức năng cho phép bạn nhập các bảng quy tắc và kiểm tra quy tắc được tạo trong Excel vào Corticon Studio Điều này giúp các nhà phát triển chưa cài đặt Corticon Studio có thể nhập các bài kiểm tra quy tắc được tạo trong Excel vào Corticon Studio và chạy các bài kiểm tra, cho phép một số lượng lớn các nhà phát triển ở nước ngoài tạo các bài kiểm tra quy tắc cùng một lúc

Ngoài ra, Corticon Studio sẽ được cài đặt trên Windows Server trên AWS, giúp có thể truy cập được từ các địa điểm ở nước ngoài Điều này giúp có thể nhập các bài kiểm tra quy tắc được tạo ở nước ngoài trong Excel vào Corticon Studio và thực hiện các bài kiểm tra Nhân tiện, nếu bạn cài đặt Corticon Studio trên PC ở vị trí ngoài khơi, nó sẽ vi phạm quy định xuất khẩu Để giải quyết vấn đề này, chúng tôi đã cài đặt Corticon Studio trên một máy chủ ảo ở khu vực AWS Tokyo và truy cập vào máy chủ ở khu vực Tokyo từ một địa điểm ở nước ngoài

Quy trình kiểm tra bảng quy tắc sử dụng ở nước ngoài như sau

  • Một nhà phát triển ở Tokyo sử dụng Corticon Studio để tạo bảng quy tắc và đưa bảng quy tắc đó vào công cụ quản lý cấu hình trên AWS (trong trường hợp này, Subversion được sử dụng)
  • Nhà phát triển ở nước ngoài sử dụng Excel để tạo các bài kiểm tra quy tắc và gửi chúng cho quản trị viên ở nước ngoài
  • Quản trị viên ở nước ngoài tạo các bài kiểm tra quy tắc bằng cách nhập các bài kiểm tra quy tắc được tạo trong Excel vào Corticon Studio trên AWS
  • Quản trị viên ở nước ngoài kiểm tra bảng quy tắc từ các công cụ quản lý cấu hình trên AWS và chạy thử nghiệm bằng cách sử dụng thử nghiệm quy tắc

Điều này giúp tối ưu hóa phí giấy phép Corticon Studio và thúc đẩy thử nghiệm bảng quy tắc ngay cả khi khối lượng phát triển tăng lên

Phát triển Java gọi tỷ lệ cá cược bóng đá tối nay

Trong chương trước, chúng tôi đã giải thích phương pháp phát triển và những điểm cần cân nhắc cho chính tỷ lệ cá cược bóng đá tối nay Chương này giải thích cách phát triển một ứng dụng Java sử dụng tỷ lệ cá cược bóng đá tối nay để thực thi các quy tắc kinh doanh và cung cấp kết quả xử lý cho người dùng cuối cũng như những điểm cần xem xét

Cấu hình dịch vụ

Một trong những mục đích của việc giới thiệu tỷ lệ cá cược bóng đá tối nay là tách biệt "quy tắc kinh doanh" khỏi các ứng dụng kinh doanh Do đó, các ứng dụng Java gọi tỷ lệ cá cược bóng đá tối nay cũng phải có cấu trúc lớp giống như cấu trúc bên dưới, lưu ý đến việc trích xuất các quy tắc nghiệp vụ

  • Logic nghiệp vụ riêng biệt xử lý các quy tắc kinh doanh khỏi logic phi nghiệp vụ (chẳng hạn như truy cập DB)
  • Riêng biệt luồng điều khiển và logic nghiệp vụ

Như được hiển thị trong sơ đồ trên, cấu trúc lớp của dịch vụ truy cập tỷ lệ cá cược bóng đá tối nay và xử lý các quy tắc kinh doanh cũng như dịch vụ truy cập DB (tham chiếu và cập nhật) phải được xây dựng riêng Lý do là để giảm sự phụ thuộc giữa các quy tắc kinh doanh tỷ lệ cá cược bóng đá tối nay (bảng quy tắc và luồng quy tắc) và các chức năng khác ngoài quy tắc kinh doanh (truy cập DB, vv) Kết quả là, ngay cả khi các quy tắc kinh doanh được sửa đổi trong quá trình bảo trì, tác động lên ứng dụng vẫn có thể được bản địa hóa

Ngoài ra, như được hiển thị trong sơ đồ trên, luồng điều khiển và lệnh gọi đến các dịch vụ khác nhau (logic nghiệp vụ, quyền truy cập DB) phải được làm thưa thớt bằng cách sử dụng DI (Chèn phụ thuộc) Lý do là để giảm sự phụ thuộc giữa các quy tắc kinh doanh tỷ lệ cá cược bóng đá tối nay (bảng quy tắc và luồng quy tắc) và các chức năng điều khiển (gửi, nhận SOAP và xử lý lỗi) Kết quả là, ngay cả khi các quy tắc kinh doanh được sửa đổi trong quá trình bảo trì, tác động lên ứng dụng vẫn có thể được bản địa hóa

Giải thích chi tiết việc tách logic nghiệp vụ và truy cập DB Để đạt được điều này, cần phải lấy trước dữ liệu DB theo yêu cầu của các quy tắc kinh doanh và liên kết nó với tỷ lệ cá cược bóng đá tối nay như hiển thị bên dưới

  • Lấy dữ liệu DB được sử dụng trong quy tắc kinh doanh khi tham chiếu DB
  • Đặt dữ liệu DB trên giao tiếp SOAP khi truy cập Progress Corticon từ ứng dụng Java
  • Trên Progress Corticon, tạo từ vựng tương ứng với dữ liệu DB Đặt dữ liệu DB được liên kết từ ứng dụng Java với từ vựng đó
  • Bảng quy tắc trên Progress Corticon sử dụng tập dữ liệu DB trên từ vựng

Tuy nhiên, nếu có một lượng lớn dữ liệu được liên kết từ ứng dụng Java với Progress Corticon thì có thể nảy sinh các lo ngại về hiệu suất Do đó, điều quan trọng là phải giảm số lượng mục được truy xuất càng nhiều càng tốt bằng cách chỉ định các điều kiện tìm kiếm khi truy xuất dữ liệu từ DB trong ứng dụng Java

Ngoài những cách trên, bạn cũng có thể áp dụng hai phương pháp sau mà chúng tôi sẽ giới thiệu bên dưới

  • Phương pháp lưu giữ dữ liệu DB trên bảng quy tắc Progress Corticon
    • Phương pháp lưu trữ dữ liệu bằng cách coi bảng quy tắc như một bảng RDB, đồng thời truy cập và sử dụng dữ liệu đó từ các bảng quy tắc khác
    • Chỉ có thể được áp dụng khi số lượng dữ liệu DB ít, không có cập nhật và thay đổi không thường xuyên
    • Phương pháp này vượt trội nhất về hiệu suất vì nó không yêu cầu quyền truy cập DB trong ứng dụng Java hoặc liên kết dữ liệu DB với Progress Corticon
  • Phương thức cho phép truy cập DB từ Progress Corticon
    • Một phương pháp để đạt được quyền truy cập DB từ Progress Corticon bằng cách sử dụng EDC (Kết nối dữ liệu doanh nghiệp) (Trước đây đây là một tùy chọn bổ sung, nhưng kể từ tháng 7 năm 2020, EDC được đưa vào làm tính năng tiêu chuẩn từ Phiên bản 57)
    • Hiệu quả cao khi có số lượng lớn dữ liệu DB và khó thu hẹp trước các điều kiện tìm kiếm
    • Khi sự phụ thuộc giữa các quy tắc kinh doanh và bảng DB tăng lên, cần phải xem xét khả năng bảo trì và giới hạn các bảng mục tiêu

Gọi dịch vụ ra quyết định

Phần này giải thích cách truy cập dịch vụ quyết định trên Progress Corticon từ ứng dụng Java Trong ví dụ này, quyền truy cập vào Progress Corticon sử dụng giao tiếp SOAP bằng JAX-WS

Cấu trúc dữ liệu SOAP (tệp XML) dùng để liên kết với Progress Corticon là các thực thể từ vựng và thuộc tính được sử dụng trong bảng quy tắc trong dịch vụ quyết định Do đó, ứng dụng Java cần thiết lập các giá trị đầu vào và thu được kết quả xử lý cho DTO tương ứng với từ vựng Progress Corticon

Nếu phương thức liên lạc với Progress Corticon là SOAP thì các bước bắt buộc như sau

1 Lấy tệp WSDL (Ngôn ngữ mô tả dịch vụ web) của dịch vụ quyết định từ Bảng điều khiển web Progress Corticon (bảng điều khiển quản lý) 2Sử dụng chức năng JAX-WS từ tệp WSDL của dịch vụ quyết định, tự động tạo các thành phần truy cập và DTO (có cùng cấu trúc với các thực thể và thuộc tính của từ vựng Progress Corticon) được sử dụng trong giao tiếp SOAP 3 Triển khai logic để đặt giá trị đầu vào thành DTO được tạo tự động 4 Triển khai logic để truy cập Progress Corticon bằng cách sử dụng các thành phần truy cập được tạo tự động 5 Triển khai logic để thu được kết quả xử lý từ DTO được tạo tự động

Xem xét khả năng bảo trì và hiệu suất của dịch vụ quyết định

Điều rất quan trọng là thiết kế các đơn vị trong đó các dịch vụ quyết định sẽ được truy cập từ các ứng dụng Java Phần này giải thích các điểm cần xem xét về khả năng bảo trì và hiệu suất khi tạo dịch vụ quyết định

Đầu tiên, các dịch vụ quyết định (luồng quy tắc) phải được liên kết với các trang quy tắc cho cùng mục đích (sử dụng cùng các thực thể và thuộc tính) Những lợi ích của việc thực hiện nó như sau

  • Vì các quy tắc kinh doanh cùng loại sẽ được thu thập trong luồng quy tắc nên khả năng bảo trì sẽ được cải thiện
  • Vì số lượng loại thực thể và thuộc tính được đặt từ Java giảm đi nên lượng xử lý truyền dữ liệu với lượng giao tiếp DTO và SOAP cũng giảm đi, cải thiện hiệu suất xử lý

Tuy nhiên, nếu đơn vị luồng quy tắc được tạo quá nhỏ thì số lượng truy cập vào Progress Corticon từ ứng dụng Java sẽ tăng lên Trong trường hợp đó, những nhược điểm sau sẽ xảy ra

  • Như đã giải thích ở phần trước, cần triển khai quá trình xử lý hợp tác từ ứng dụng Java đến Progress Corticon, điều này làm tăng chi phí phát triển
  • Các mối lo ngại về hiệu suất nảy sinh do số lượng quy trình giao tiếp giữa ứng dụng Java và Máy chủ Progress Corticon tăng lên
  • Các mối lo ngại về hiệu suất nảy sinh do số lần truyền dữ liệu đến và đi từ DTO trong ứng dụng Java tăng lên

Để xem xét những điều trên, trước tiên cần thiết kế và phát triển bằng cách xem xét tổng thể (mối quan hệ và sự phụ thuộc giữa các bảng quy tắc), thay vì tập trung vào từng bảng quy tắc khi thiết kế và phát triển Ngoài ra, thay vì thiết kế và phát triển chỉ tập trung vào tỷ lệ cá cược bóng đá tối nay, cần thiết kế hướng tới phía người dùng (ứng dụng Java) Nói cách khác, cần thiết kế và xây dựng các ứng dụng tối ưu hóa toàn bộ thay vì tối ưu hóa một phần

Đảm bảo chất lượng bằng CI/CD

Cuối cùng, trong phần này, chúng tôi sẽ giới thiệu cơ chế CI/CD mà chúng tôi đã áp dụng trong nghiên cứu điển hình này để cải thiện chất lượng của toàn bộ hệ thống trực tuyến bằng Progress Corticon

Cơ chế CI/CD được thực hiện như sau

  • Triển khai tệp EDS, là mô-đun thực thi của dịch vụ ra quyết định của tỷ lệ cá cược bóng đá tối nay, vào môi trường phát triển Máy chủ Corticon bằng Corticon Web Console (bảng điều khiển quản lý)
  • Các ứng dụng Java được xây dựng và triển khai hàng ngày trên môi trường phát triển máy chủ AP (JBoss EAP) bằng Jenkins
  • Chúng tôi đã tạo JUNIT để thực hiện ``giao tiếp SOAP với các ứng dụng Java'' và ``so sánh các giá trị thực tế của kết quả xử lý (dữ liệu SOAP và DB) với các giá trị dự kiến'' và sử dụng Jenkins để thực hiện tất cả các thử nghiệm hàng ngày

Tích hợp các dịch vụ ra quyết định của Progress Corticon và ứng dụng Java hàng ngày Hơn nữa, bằng cách triển khai các thử nghiệm hồi quy bằng JUnit, có thể duy trì chất lượng của cả ứng dụng tỷ lệ cá cược bóng đá tối nay và Java ở mức cao nhất quán Điều này cho phép phát hành sản xuất an toàn

Kết luận

Tài liệu này tập trung vào khả năng bảo trì và chất lượng

Sau khi trải nghiệm nghiên cứu điển hình này, chúng tôi cảm thấy đúng là ``bằng cách giới thiệu tỷ lệ cá cược bóng đá tối nay, các quy tắc kinh doanh có thể được trực quan hóa và tính linh hoạt của hệ thống có thể được cải thiện'' Tuy nhiên, tôi cũng nhận ra rằng trừ khi chúng tôi phát triển các bảng quyết định và ứng dụng tỷ lệ cá cược bóng đá tối nay sử dụng tỷ lệ cá cược bóng đá tối nay theo cách có thể hưởng lợi từ tỷ lệ cá cược bóng đá tối nay, chúng tôi sẽ không thể xây dựng một hệ thống có khả năng bảo trì cao

Ngoài ra, tôi nhận ra rằng ngay cả với tỷ lệ cá cược bóng đá tối nay, cũng như các ứng dụng được phát triển bằng các ngôn ngữ lập trình khác, việc xây dựng chất lượng là điều tối quan trọng Để đạt được mục đích này, cũng như với việc phát triển Java nói chung, cần phải xem xét cải tiến quy trình thử nghiệm và giới thiệu các cơ chế như CI/CD

Khi bắt đầu nghiên cứu điển hình này, chúng tôi đã có được kiến thức về thông số kỹ thuật sản phẩm của Progress Corticon thông qua đào tạo Tuy nhiên, do chưa hiểu rõ các điểm trên nên trong giai đoạn triển khai và thử nghiệm đã xảy ra tình trạng quay lui, chính sách phát triển được lặp lại nhiều lần Do đó, lần tới khi bạn xây dựng hệ thống bằng tỷ lệ cá cược bóng đá tối nay, chúng tôi tin rằng điều quan trọng là phải chia sẻ với các thành viên trong nhóm của bạn những điểm sau được mô tả trong tài liệu này và để họ hiểu những điểm đó trước khi bắt đầu phát triển

  • Phương pháp phát triển bảng quyết định tỷ lệ cá cược bóng đá tối nay và những điểm cần cân nhắc
  • Phương pháp phát triển và những điểm cần cân nhắc đối với các ứng dụng sử dụng tỷ lệ cá cược bóng đá tối nay

Chúng tôi cũng muốn cải thiện quy trình thử nghiệm và CI/CD Ví dụ: trong nghiên cứu điển hình này, các bước sau được thực hiện thủ công nhưng chúng tôi tin rằng tự động hóa bằng Jenkins cũng có thể thực hiện được và sẽ mang lại hiệu quả cao

  • Tự động thực hiện toàn bộ quá trình kiểm tra quy tắc Progress Corticon
  • Tự động hóa việc tạo và triển khai các mô-đun thực thi dịch vụ quyết định Progress Corticon (tệp EDS)

Tôi hy vọng rằng nghiên cứu điển hình này sẽ giúp ích phần nào cho những người sắp thử phát triển hệ thống bằng tỷ lệ cá cược bóng đá tối nay hoặc những người đã thử nó và đang lo lắng về cách tiến hành cũng như giúp họ thành công trong quá trình phát triển

đóng

đóng

[16 tháng 2 (Thứ Năm)]

Hội thảo thực hành “Progress Corticon”

Nhấp vào đây để biết chi tiết