Trong kinh tế, dịch vụ là một quá trình bao gồm một loạt các hoạt động ít hay nhiều là vô hình, mà các hoạt động này thường xảy ra trong quá trình giao dịch giữa khách hàng và nhà cung ứng dịch vụ. Là một hoạt hàng hóa phi vật chất nhằm đem lại các giải pháp cho các vấn đề của khách hàng.
Hình 1.1: Hình minh họa về dịch vụ
Về khía cạnh công nghệ, dịch vụ là khúc dữ liệu phần mềm hoặc các cấu phần được cấu trúc để chúng có thể liên kết với các cấu phần phần mềm khác một cách dễ dàng. Ý tưởng đằng sau các phần mềm này thật đơn giản: Công nghệ nên được diễn tả thành từng đoạn dữ liệu mà người sử dụng có thể hiểu được hơn là một phần mềm ứng dụng ít người hiểu như ERP hoặc CRM.
1.1.2.1. Khái niệm
Kiến trúc hướng dịch vụ (Service Oriented Architecture) là một hướng tiếp cận với việc thiết kế và tích hợp các phần mềm, chức năng hệ thống theo dạng mô-đun, trong đó mỗi mô đun đóng vai trò là một dịch vụ kết nối lỏng lẻo và có khả năng truy cập thông qua môi trường mạng. Một cách đơn giản thì một hệ thống SOA là tập hợp các dịch vụ được chuẩn hoá trên mạng, trao đổi với nhau trong ngữ cảnh một tiến trình nghiệp vụ.
1.1.2.2. Mô hình giao tiếp bằng thông điệp (message) trongSOA
So với kiểu thiết kế Component-Based (hướng thành phần), đ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ệt hống sử dụng thông điệp dựa trên các giao thức đã đượ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 (platform independent). Các dịch vụ hoạt động trê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 tiếp đã được chuẩn hóa để cộng tác xử lý một tác vụ nào đó.
Hình 1.2: Thông điệp được truyền nhận giữa các dịch vụ
Sử dụng thông điệp để giao tiếp có các lợi thế sau:
Độc lập nền: Thông điệp 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 dịch vụ trên các nền khác nhau hoạt động với cấu trúc dữ liệu đặc thù của nền tảng đó.
Giao tiếp bất đồng bộ: 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.
Giao tiếp tin cậy: Các thông điệp từ bên 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 giansẽ chuyển tiếp (forward) thông điệp cho bên nhận khi bên nhận có thể xử lý yêu cầu tiếp theo. Cơ chế 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 Receiver bị quá tải và không thể nhận thêm yêu cầu mới.
Quản lý luồng: 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 luồng (thread) xử lý các công việc khác nhau.
Giao tiếp từ xa: Các thông điệp lưu trữ thông tin về các đối tượng dữ iệu dưới dạng đặc tả hình thức thay thế việc phải serialization (sắp xếp) và deserialization (hủy sắp xếp) 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 ứngdụng khác.
Bảo mật end-to-end: Thông điệp có thể lưu trữ thông tin về hình thức bảo mật 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 bảo mật như xác thực và phân quyền.
Sự cộng tác trong kiến trúc hướng dịch vụ là mô hình tìm kiếm, nối kết và gọi thực hiện dịch vụ.
Hình 1.3: Sự cộng tác trong kiến trúc hướng dịch vụ
Người dùng dịch vụ xác định vị trí dịch vụ động bằng cách truy vấn đến nơi đăng ký dịch vụ (Service Registry) tìm kiếm một dịch vụ khớp với yêu cầu của nó.
Nếu dịch vụ tồn tại thì nơi đăng ký dịch vụ sẽ cung cấp cho người dùng dịch vụ hợp đồng dịch vụ và địa chỉ điểm cuối của dịch vụ cung cấp
1.2.1. Các vai trò trong kiến trúc hướng dịch vụ
Người dùng dịch vụ (Service Consumer): là một ứng dụng, một mô-đun của phần mềm hay là các dịch vụ khác có nhu cầu sử dụng dịch vụ. Người dùng dịch vụ khởi tạo yêu cầu dịch vụ đến nơi đăng ký dịch vụ, nối kết với dịch vụ theo một giao thức truyền tải và chạy chức năng của dịch vụ. Người dùng dịch vụ gọi thực hiện dịch vụ bằng cách gửi yêu cầu theo đúng định dạng ghi trong bản hợp đồng dịch vụ.
Nhà cung cấp dịch vụ (Service Provider ): là một thực thể có địa chỉ mạng, nó chấp nhận và thực hiện các yêu cầu từ các người dùng. Nhà cung cấp dịch vụ công bố các dịch vụ và hợp đồng dịch vụ của nó đến nơi đăng ký dịch vụ để người dùng dịch vụ có thể tìm kiếm và truy cập dịch vụ.
Nơi đăng ký dịch vụ (Service Registry): là nơi được thiết lập cho việc tìm kiếm , đăng ký và cung cấp dịch vụ, nó là một thư mục trên mạng chứa các dịch vụ. Nơi đăng ký dịch vụ là một thực thể chấp nhận, lưu trữ các bản hợp đồng dịch vụ từ các nhà cung cấp dịch vụ và cung cấp các bản hợp đồng này đến người dùng dịch vụ có nhu cầu.
1.2.2. Các hoạt động trong kiến trúc hướng dịch vụ
Phát hành (Publish): nhà cung cấp dịch vụ công bố bản đặc tả dịch vụ (WebService Description Language - WSDL) của mình lên nơi đăng ký dịch vụ, khi đó người dùng dịch vụ có thể tìm kiếm và gọi thực hiện dịch vụ thông qua bản đặc tả này.
Tìm kiếm (Finding): người dùng dịch vụ định vị trí một dịch vụ bằng cách truy vấn đến nơi đăng ký dịch vụ (Service Registry) yêu cầu cung cấp một dịch vụ theo tiêu chuẩn của nó.
Nối kết và gọi thực hiện (Binding): sau khi có được bản đặc tả dịch vụ , người dùng dịch vụ tiến hành gọi thực hiện dịch vụ theo thông tin trong bản đặc tả dịch vụ.
Đối tượng trung tâm của mô hình kiến trúc hướng dịch vụ là khái niệm dịch vụ. Các dịch vụ là các thực thể độc lập thực hiện một chức năng nghiệp vụ riêng biệt. Các dịch vụ được đưa ra để cung cấp các cấp độ khác nhau về chức năng trong một nghiệp vụ. Sau đây là các tính chất mà dịch vụ có bên dưới kiến trúc hướng dịch vụ.
SOA hỗ trợ tính kết nối lỏng thông qua việc sử dụng hợp đồng và liên kết (contract and binding). Một người sử dụng dịch vụ truy vấn đến nơi lưu trữ và cung cấp thông tin dịch vụ (Nơi đăng kí dịch vụ - Registry) để lấy thông tin về loại dịch vụ cần sử dụng. Nơi đăng kí dịch vụ sẽ trả về tất cả những dịch vụ thoả tiêu chuẩn tìm kiếm. Từ bây giờ người dùng chỉ việc chọn dịch vụ mà mình cần và thực thi phương thức trên đó theo mô tả dịch vụ nhận được từ nơi đăng kí dịch vụ. Bên sử dụng dịch vụ không cần phụ thuộc trực tiếp vào cài đặt của dịch vụ mà chỉ dựa trên hợp đồng mà dịch vụ đó hỗ trợ.Tính kết nối lỏng giúp gỡ bỏ những ràng buộc điều khiển giữa những hệ thống đầu cuối. Mỗi hệ thống có thể tự quản lý độc lập nhằm tăng hiệu suất, khả năng mở rộng và khả năng đáp ứng cao. Những thay đổi cài đặt cũng được che giấu đi. Kết nối lỏng đem đến sự độc lập giữa bên cung cấp và bên sử dụng nhưng nó đòi hỏi các giao diện (interface) phải theo chuẩn và cần một thành phần trung gian quản lý, trung chuyển yêu cầu giữa các hệ thống đầu cuối.
Các dịch vụ được cung cấp trên môi trường mạng (Internet) và được đăng ký ở một nơi nhất định nên chúng dễ dàng được tìm thấy và tái sử dụng. Nếu một dịch vụ không có khả năng tái sử dụng, nó cũng không cần đến giao diện (interface) mô tả.Các dịch vụ có thể được tái sử dụng lại bằng cách kết hợp lại với nhau theo nhiều mục đích khác nhau.Tái sử dụng lại các dịch vụ còn giúp loại bỏ những thành phần trùng lắp và tang độ vững chắc trong cài đặt, nó còn giúp đơn giản hoá việc quản trị. Thực ra tái sử dụng dịch vụ lại dễ dàng hơn tái sử dụng thành phần hay lớp. Những dịch vụ được dùng chung bởi tất cả các ứng dụng của một hệ thống SOA gọi là những dịch vụ chia sẻ cơ sở hạ tầng (shared infrastructure service).
Sự trong suốt vị trí là một trong những đặc tính của kiến trúc hướng dịch vụ. Người dùng dịch vụ chỉ có thể biết vị trí dịch vụ tại nơi đăng kí dịch vụ. Sự trong suốt vị trí có được là do việc sử dụng nơi đăng kí dịch vụ, bộ trung gian dịch vụ và các bộ trung gian khác nằm giữa nhà cung cấp dịch vụ và người dùng dịch vụ.
Các dịch vụ trong SOA có khả năng giao tiếp với nhau. Nếu nhà cung cấp và người dùng dịch vụ có nền tảng khác nhau mà kết nối với nhau thì các giao thức giao tiếp dùng để hỗ trợ cho các tương tác dịch vụ cần phải tương thích với các nền tảng đó. Do có các yêu cầu giao tiếp, SOA sử dụng các công nghệ giao tiếp chuẩn mở như XML và Web Service.
Chức năng phần mềm có thể được đóng gói như là các dịch vụ có mức độ trừu tượng khác nhau trong một nghiệp vụ. Các dịch vụ có thể được tổng hợp để cài đặt các dịch có mức độ trừu tượng cao hơn. Ví dụ: Việc tổng hợp một quy trình nghiệp vụ từ các dịch vụ, sau đó quy trình được kết xuất như là một dịch vụ. Khả năng tổng hợp của dịch vụ liên quan tới cấu trúc đặc tả của dịch vụ. Cấu trúc đặc tả cho phép các dịch vụ có khả năng tổng hợp, lắp ráp vào các ứng dụng mà lập trình viên tích hợp không quan tâm đến dịch vụ đó được thiết kế như thế nào. Bằng việc sử dụng các dịch vụ đã được kiểm thử và xây dựng hoàn chỉnh làm gia tăng chất lượng của hệ thống phần mềm. Xây dựng các hệ thống theo kiến trúc hướng dịch vụ là đầu tư cho hiện tại và cả tương lai. Vì các dịch vụ dễ dàng dung lại, dễ dàng tổng hợp vào các ứng dụng khác. Với khả năng tổng hợp của dịch vụ làm cho hệ thống phần mềm có thể thích ứng nhanh chóng với các thay đổi, dễ dàng cải tiến, tái cấu trúc hệ thống phần mềm và thêm mới các chức năng cho nó một cách nhanh nhất có thể có. Một dịch vụ có thể được tổng hợp theo 3 cách: ứng dụng tổng hợp, các dịch vụ liên quan, dịch vụ tổng hợp. Một ứng dụng thường là sự lắp ráp, tổng hợp từ các dịch vụ, các thành phần với nhau cho một mục đích xác định. Dịch vụ liên quan là tập các dịch vụ được quản lý trong một dịch vụ lớn hơn. Vídụ: dịch vụ kiểm tra tài khoản, dịch vụ đăng kí tài khoản, dịch vụ quản lý thông tin khách hàng. Có thể được tổng hợp vào dịch vụ lớn là dịch vụ khách hàng. Dịch vụ tổng hợp là dịch vụ thực thi một nghiệp vụ, tương tác với nhiều dịch vụ hệ thống để tạo ra bản thân nó, thường được gọi là quy trình nghiệp vụ. Quy trình nghiệp vụ gồm một hay nhiều bước thực hiện, mỗi bước thực hiện là một tác vụ nghiệp vụ, mỗi tác vụ nghiệp vụ thực hiện gọi dịch vụ để hoàn thành tác vụ.
Với kích cỡ và độ phức tạp của những ứng dụng phân tán ngày nay, khả năng phục hồi của một hệ thống sau khi bị lỗi trở thành một yếu tố quan trọng. Một hệ thống tự hồi phục (self-healing) là một hệ thống có khả năng tự hồi phục sau khi bị lỗi mà không cần sự can thiệp của con người. Độ tin cậy (reliability) là mức độ đo khả năng một hệ thống xử lý tốt như thế nào trong tình trạng hỗn loạn. Trong kiến trúc hướng dịch vụ, các dịch vụ luôn có thể hoạt động hay ngừng bất kỳ lúc nào, nhất là đối với những ứng dụng tổng hợp từ nhiều dịch vụ của nhiều tổ chức khác nhau. Độ tin cậy phụ thuộc vào khả năng phục hồi của phần cứng sau khi bị lỗi. Hạ tầng mạng phải cho phép các kết nối động từ nhiều hệ thống khác nhau kết nối đến trong khi chạy. Một khía cạnh khác ảnh hưởng đến độ tin cậy là kiến trúc mà dựa trên để xây dựng ứng dụng. Một kiến trúc hỗ trợ kết nối và thực thi động khi chạy sẽ có khả năng tự phục hồi hơn một hệ thống không hỗ trợ những tính năng trên.Thêm vào đó, bởi vì những hệ thống dựa trên dịch vụ yêu cầu sự tách biệt giữa giao diện (interface) và cài đặt nên có thể có nhiều cài đặt khác nhau cho cùng một giao diện. Nếu một thể hiện dịch vụ nào đó không hoạt động thì một thể hiện khác vẫn có thể hoàn tất giao dịch cho khách hàng mà không bị ảnh hưởng gì. Khả năng này chỉ có được khi khách hàng chỉ tương tác với giao diện của dịch vụ chứ không tương tác trực tiếp cài đặt của dịch vụ. Đây là một trong những tính chất cơ bản của các hệ thống hướng dịch vụ.
Vai trò của mạng là chính yếu trong kiến trúc hướng dịch vụ. Một dịch vụ phải có một giao diện có địa chỉ mạng. Một người dùng dịch vụ trên một mạng phải có khả năng gọi dịch vụ thông qua mạng. Mạng cho phép các dịch vụ được dùng lại bởi bất kì người dùng dịch vụ nào, bất kì thời điểm nào. Khả năng tổng hợp ứngdụng từ các dịch vụ sẵn có trên các máy khác nhau chỉ có thể nếu dịch vụ hỗ trợ một giao diện mạng. Người dùng dịch vụ có thể truy cập một dịch vụ thông qua một giao diện cục bộ mà không phải thông qua mạng nếu người dùng dịch vụ và nhà cung cấp dịch vụ nằm trên cùng một máy. Mặc dù dịch vụ có thể được cấu hình cho việc truy cập từ người dùng dịch vụ trên cùng một máy nhưng dịch vụ phải đồng thời hỗ trợ cho việc truy cập dịch vụ từ bên ngoài.
SOA hỗ trợ khái niệm truy tìm dịch vụ (Finding). Một người sử dụng cần đến một dịch vụ nào đó có thể tìm kiếm dịch vụ dựa trên một số tiêu chuẩn khi cần. Người sử dụng chỉ cần hỏi một nhà cung cấp dịch vụ (Registry) về dịch vụ nào thoả yêu cầu tìm kiếm. Ví dụ, một hệ thống chuyển khoản (Hệ thống chuyển khoảng trong trường hợp này là một người dùng dịch vụ) yêu cầu nơi cung cấp dịch vụ tìm tất cả các dịch vụ có khả năng kiểm tra thẻ tín dụng. Nơi cung cấp dịch vụ trả về một tập các danh sách các dịch vụ (entry) thoả yêu cầu. Các entry chứa thông tin về dịch vụ, bao gồm cả phí giao dịch. Bên sử dụng sẽ chọn một dịch vụ có phí giao dịch thấp nhất trong danh sách các dịch vụ trả về, kết nối đến nhà cung cấp dịch vụ đó dựa trên thông tin đăng ký (registry entry) để sử dụng dịch vụ kiểm tra thẻ tín dụng. Trong phần mô tả dịch vụ kèm theo đã có tất cả các tham số cần thiết dùng để thực thi dịch vụ, bên sử dụng chỉ cần định dạng dữ liệu yêu cầu đúng theo mô tả cung cấp và gửi đi. Nhà cung cấp dịch vụ sẽ thực thi kiểm trả thẻ tín dụng và trả về một thông điệp có định dạng đúng như trong phần mô tả dịch vụ. Mối ràng buộc duy nhất giữa bên cung cấp và bên sử dụng là bản hợp đồng được cung cấp bởi nơi cung cấp dịch vụ trung gian. Mối ràng buộc này là ràng buộc trong thời gian chạy chứ không phải ràng buộc trong lúc biên dịch. Tất cả thông tin cần thiết về dịch vụ được lấy về vàsử dụng trong khi chạy.Ví dụ trên cho thấy cách người dùng dịch vụ tìm kiếm và sử dụng “động” một dịch vụ. Đây là một thế mạnh của SOA. Với SOA, phía người dùng dịch vụ không cần biết định dạng của thông điệp yêu cầu và thông điệp trả về, cũng như địa chỉ nhà cung cấp dịch vụ
Mặc dù việc sử dụng các giao diện tách biệt người dùng dịch vụ ra khỏi cài đặt dịch vụ nhưng các cài đặt của mỗi dịch vụ không nên kết nối với nhau. Ví dụ, một cài đặt dịch vụ phụ thuộc vào cài đặt của dịch vụ khác bằng cách chia sẽ mã lệnh,chia sẽ truy cập dữ liệu, … Cách thiết kế này dẫn đến tình trạng khó bảo trì và kiểm lỗi dịch vụ. Nếu các dịch vụ kết nối chặt, điều đó đi ngược lại mục đích của kiến trúc hướng dịch vụ đã đề ra:
SOA là một phương pháp luận giúp chúng ta tận dụng sức mạnh của các nguồn lực,nguồn tài nguyên khác nhau trong mạng máy tính để trở thành một hệ thống nhất. Mỗi một công ty có một mô hình SOA khác nhau. Nhìn chung mô hình SOA có các đặc điểm sau:
Hình 1.4: Kiến trúc phân tầng của SOA
Tầng kết nối (Connectivity): đây là tầng thấp nhất của SOA, có nhiệm vụ giao tiếp trực tiếp với các thành phần khác như cơ sở dữ liệu, giao tiếp với các ứng dụng khác, các Web Service…Vì vậy có thể coi đây là tầng vật lý của SOA.
Mục đích của tầng kết nối là kết nối các ứng dụng hoặc tài nguyên bên dưới và cung cấp chúng thành dạng những dịch vụ. Tầng này là tầng chuyên giao tiếp với các nhà cung cấp, hoạt động như một bộ chuyển đổi (adapter) giữa các ứng dụng phi dịch vụ và mạng các dịch vụ khác. Tùy vào ứng dụng cụ thể mà bộ chuyển đổi tương ứng được sử dụng.
Tầng Orchestration: Tầng Orchestration chứa các thành phần đơn đóng vai trò vừa là những dịch vụ sử dụng, vừa là những dịch vụ cung cấp. Những dịch vụ này sử dụng dịch vụ của tầng kết nối và các dịch vụ orchestration khác để kết hợp những chức năng cấp thấp hơn thành những dịch vụ hoạt động ở cấp cao hơn, có hành vi gần với chức năng nghiệp vụ thực hơn.
Là những dịch vụ đơn thuần kết hợp với những lời triệu gọi gọi tới các dịch vụ bên dưới, hoạt động như một mẫu mặt tiền. Chúng giúp đơn giản hoá quy trình tương tác với các dịch vụ cấp thấp và che dấu đi tính phức tạp với những người sử dụng dịch vụ ở tầng cao.
Là những dịch vụ định ra một tiến trình kết nối các dịch vụ ở cấp thấp hơn. Điều này rất hữu dụng với việc thiết kế các dịch vụ kết nối đến nhiều hệ thống enterprise bên dưới sau đó thực thi như một tiến trình.
Ví dụ, dịch vụ “Submit New Order” có thể được xem như một process service thực hiện tương tác với CSDL khách hàng để lấy thông tin khách hàng, quyết định dựa trên thông tin tài khoản của khách hàng, tương tác hệ thống lưu kho và hệ thống tài chính để hoàn tất đơn đặt hàng.
Process service có rất nhiều đặc tính phù hợp quy trình nghiệp vụ của doanh nghiệp nên có rất nhiều nỗ lực để chuẩn hoá cách thức định nghĩa ra chúng. Tổ chức OASIS đã đưa ra chuẩn WS – BPEL (Web Service Business Process Execution Language) cho process service
Là những dịch vụ cung cấp dữ liệu thu thập được từ nhiều nguồn dữ liệu khác nhau. Trong nhiều trường hợp, dữ liệu cùng tồn tại trên nhiều Cơ sở dữ liệu và ứng dụng khác nhau. Ví dụ thường thấy là thông tin về khách hàng. Doanh nghiệp thường lưu thông tin về khách hàng trong hệ thống đặt hàng, hệ thống tài chính và hệ thống CRM. Mỗi hệ thống chỉ chứa một phần dữ liệu trong toàn bộ dữ liệu về khách hàng
Data service thường không chỉ được xem như một dịch vụ orchestration mà nó còn chịu trách nhiệm tương tác trực tiếp với Cơ sở dữ liệu bên dưới thông qua những phương thức truy cập phi dịch vụ (non – service oriented access) như JDBC. Chúng cung cấp dữ liệu từ những ứng dụng độc lập và kết hợp dữ liệu từ nhiều nguồn khác nhau.
Data service thường sử dụng một số ngôn ngữ truy vấn và cơ chế mô tả khác để xác định quan hệ giữa những lược đồ dữ liệu (data schema). Các công nghệ phổ biến hiện nay là SQL, XSLT và Xquery, trong đó XSLT và Xquery là hai công nghệ thuần về việc truy vấn dữ liệu trong bối cảnh Web Service vì chúng xử lý và kết xuất dữ liệu dạng XML.
Tầng ứng dụng tổng hợp (Composite Application): Dữ liệu truyền qua lại giữa những dịch vụ cuối cùng cũng định hướng đến người sử dụng theo nhiều dạng giao diện khác nhau. Tầng này được xem là tầng tích hợp cuối cùng của quá trình tích hợp.
Tầng ứng dụng tổng hợp là tầng đơn thuần sử dụng các dịch vụ, nó cung cấp các ứng dụng cho người dùng cuối. Nhờ tính linh hoạt của SOA và đặc tính của các dịch vụ được tổng hợp từ tầng orchestration, các ứng dụng có khả năng biểu diễn mọi loại thông tin từ mọi nguồn thông tin, thậm chí cho phép người sử dụng gửi thông tin tổng hợp mà thông tin đó sẽ được phân phối lại cho các hệ thống bên dưới.
Tầng ứng dụng tổng hợp chia làm hai tầng nhỏ hơn là portal và portlet. Một Portlet được định nghĩa như một ứng dụng chạy trong một cửa sổ thành phần trong một ngữ cảnh với sự tách biệt rõ ràng giữa Portlet và ngữ cảnh của nó. Portlet là thành phần cung cấp và sử dụng dịch vụ. Có điều là chúng cung cấp một dạng dịch vụ giao diện đặc biệt được thiết kế đặc biệt để sử dụng bởi một bộ UI Framework consumer (một Portal). Mỗi Portlet sử dụng một số dịch vụ liên quan của tầng orchestration bên dưới và cho phép người sử dụng gửi thông tin bổ sung. Công nghệ web hiện nay như Java Server Faces và ASP.NET đều hỗ trợ xây dựng portlet. Portal là một bộ khung tích hợp sử dụng các Portlet, trang bị cho chúng một vẻ ngoài thống nhất và thể hiện chúng thành một giao diện hoàn chỉnh cho người dùng cuối.
Các thành phần khác: gồm có quy trình phát triển (development), quản lý các dịch vụ (service management), và quản lý con người (governance). Như vậy có thể thấy SOA không chỉ đơn thuần là về mặt công nghệ mà nólà tổng hòa của rất nhiều yếu tố: công nghệ, cơ sở hạ tầng, con người và quy trình nghiệp vụ.
(conf tiếp)» Tin mới nhất:
» Các tin khác: