CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG SỬ DỤNG SOA
3.1. Các bước thực hiện trong chu kì sống SOA
Điểm khác biệt chính của SOA là cung cấp khả năng giao tiếp giữa các thành phần trong hệ thống sử dụng thông điệp (message) dựa trên các chuẩn giao tiếp đã đƣợc chuẩn hóa (HTTP, FTP, SMTP, ...). Chính nhờ đặc điểm này, hệ thống SOA trở nên độc lập với nền tảng (platform independent). Các dịch vụ hoạt động trên nền các nền tảng khác nhau vẫn có thể giao tiếp với nhau nhờ vào các giao diện giao tiếp đã đƣợc chuẩn hóa để cộng tác xử lý một tác vụ nào đó.
Sử dụng thông điệp (message) để giao tiếp có các lợi thế sau:
- Cross-platform: thông điệp (message) trở thành ngôn ngữ chung của các nền tảng và các ngôn ngữ lập trình khác nhau. Điều này đảm bảo các service trên các nền tảng khác nhau hoạt động với cấu trúc dữ liệu đặc thù của nền tảng đó.
- Thông tin liên lạc không đồng bộ: hoạt động gửi nhận thông điệp đƣợc thực hiện theo cơ chế Fire-and-Forget. Người gửi và người nhận không cần phải chờ thông điệp trả lời sau khi đã gửi đi một thông điệp. Điều này giúp cho người gửi và người nhận tiếp tục xử lý công việc sau khi gởi thông điệp mà không cần dừng thực thi để chờ thông điệp trả lời.
- Thông tin liên lạc đáng tin cậy: các thông điệp từ tên người gửi có thể được gửi đến một dịch vụ trung gian có nhiệm vụ lưu trữ (store) các thông điệp. Dịch vụ trung gian sẽ gửi (forward) thông điệp cho người nhận khi người nhận có thể xử lý yêu cầu tiếp theo. Cơ chế lưu trữ-và-gửi (Store-and-Forward) này đảm bảo các thông điệp sẽ không bị thất lạc trong trường hợp người nhận bị quá tải và không thể nhận thêm yêu cầu mới.
- Quản lí chủ đề: Việc trao đổi thông điệp theo cơ chế bất đồng bộ giúp ứng dụng không cần ngừng thực thi để chờ một tác vụ kết thúc mà có thể tạo ra các chủ đề xử lý các công việc khác nhau.
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn
- Thông tin liên lạc từ xa: Các thông điệp lưu trữ thông tin về các đối tượng dữ liệu dưới dạng đặc tả hình thức thay thế việc phải serialization and deserialization các đối tƣợng dữ liệu truyền qua mạng khi ứng dụng thực hiện gọi từ xa một ứng dụng khác.
- End-to-end an ninh: Thông điệp có thể lưu trữ thông tin về bối cảnh an ninh của kênh giao tiếp. Điều này cung cấp khả năng điều khiển liên quan đến an ninh nhƣ xác thực và uỷ quyền.
3.1.1. Vòng đời hệ thống SOA - Pha Mô Hình Hóa:
Thu thập yêu cầu.
Mô hình hóa ứng dụng (thiết kế use-case, cơ sở dữ liệu, …) với công cụ Oracle JDeveloper Studio và Oracle SQL Developer.
- Pha Tổng Hợp:
Thiết kế các quy trình trình nghiệp vụ.
Thiết kế các dịch vụ.
- Pha Triển Khai:
Triển khai dịch vụ bằng công cụ Oracle JDeveloper Studio.
Lưu trữ và tích hợp các dịch vụ của ứng dụng trên server bằng công cụ Oracle WebLogic.
- Pha Quản Lý:
Các quy trình nghiệp vụ đƣợc quản lý và giám sát bằng công cụ OracleBussiness Activity Monitoring (BAM).
3.1.2. Các pha cơ bản xây dựng hệ thống SOA Xây dựng hệ thống SOA trải qua 6 pha sau đây:
Hình 3.1 Vòng đời hệ thống SOA
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn
- Bước 1: Phân tích hướng dịch vụ (Service oriented analysis). Đây là giai đoạn đầu để quyết định phạm vi của hệ thống SOA. Hệ thống gồm những dịch vụ nào? Tầng dịch vụ đƣợc lƣợc đồ hoá ra (mapped out) và chia dịch vụ ra thành các mô hình, bao gồm hệ thống SOA sơ bộ.
- Bước 2: Thiết kế hướng dịch vụ (Service oriented design). Đây là giai đoạn có sự kết hợp chặt chẽ về sự thỏa hiệp của doanh nghiệp và nguyên lý hướng dịch vụ thành quy trình thiết kế dịch vụ. Trong pha này, làm cho người thiết kế dịch vụ phải đương đầu với giải quyết vấn đề then chốt đó là thiết lập nên những ranh giới thông qua các dịch vụ. Các tầng dịch vụ đƣợc thiết kế trong giai đoạn này có thể bao gồm tầng phổ khúc (orchestrantion), các kết quả của nó là trong sự xác định quy trình nghiệp vụ hình thức.
- Bước 3: Phát triển dịch vụ (Service development). Trong bước này là giai đoạn xây dựng thực tế. Ở đây vấn đề về nền tảng phát triển đi vào hoạt động, không quan tâm tới nó là loại dịch vụ nào. Một cách cụ thể, là sự lựa chọn ngôn ngữ lập trình, môi trường phát triển sẽ quyết định những mẫu dịch vụ và quy trình nghiệp vụ tầng phổ khúc nào phù hợp với thiết kế.
- Bước 4: Kiểm thử dịch vụ (Service testing). Để đưa ra những tiềm năng cho việc dùng lại và bao gồm cả những trạng thái không biết trước được, các dịch vụ được yêu cầu trải qua được sự nghiêm ngặt của việc kiểm thử trước khi được triển khai thành các sản phẩm.
- Bước 5: Triển khai dịch vụ (Service deployment). Giai đoạn thực thi này đưa đến việc cài đặt và cấu hình cho các thành phần phân tán, các giao diện dịch vụ và nhiều sản phẩm trung gian (middlewareproducts) kết hợp với nhau thành những máy chủ (server).
- Bước 6: Quản trị dịch vụ (Service administration). Sau khi các dịch vụ được triển khai, vấn đề quản lý các ứng dụng trở thành hàng đầu, mối quan tâm cho hệ thống phân tán, các ứng dụng dựa trên các thành phần (component based applications) và việc xem xét chúng nhƣ các dịch vụ trong một tổng thể.
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn