Chuyển đổi các ứng dụng một bên thuê thành các ứng dụng nhiều bên thuê

Là các chuyên gia công nghệ, một trong những mục tiêu của chúng tôi là chia sẻ các kinh nghiệm của mình và những bài học mà chúng tôi học được, trong trường hợp này là kiến thức mà chúng tôi đã thu được từ việc xây dựng các ứng dụng nhiều bên thuê chạy trên IBM® SmartCloud Enterprise (Doanh nghiệp SmartCloud của IBM). Cụ thể là, chúng tôi sẽ mô tả các kỹ thuật mà chúng tôi đã sử dụng để chuyển đổi các ứng dụng SOA một bên thuê hiện có thành các ứng dụng Phần mềm là một Dịch vụ (SaaS) nhiều bên thuê. Cuối cùng, mặc dù, chúng tôi hy vọng các công cụ sẽ được phát triển để giúp các nhà phát triển bằng cách tự động hóa các phép chuyển đổi các ứng dụng một bên thuê thành các ứng dụng nhiều bên thuê phức tạp hơn.

pdf11 trang | Chia sẻ: lylyngoc | Lượt xem: 1517 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Chuyển đổi các ứng dụng một bên thuê thành các ứng dụng nhiều bên thuê, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Chuyển đổi các ứng dụng một bên thuê thành các ứng dụng nhiều bên thuê Là các chuyên gia công nghệ, một trong những mục tiêu của chúng tôi là chia sẻ các kinh nghiệm của mình và những bài học mà chúng tôi học được, trong trường hợp này là kiến thức mà chúng tôi đã thu được từ việc xây dựng các ứng dụng nhiều bên thuê chạy trên IBM® SmartCloud Enterprise (Doanh nghiệp SmartCloud của IBM). Cụ thể là, chúng tôi sẽ mô tả các kỹ thuật mà chúng tôi đã sử dụng để chuyển đổi các ứng dụng SOA một bên thuê hiện có thành các ứng dụng Phần mềm là một Dịch vụ (SaaS) nhiều bên thuê. Cuối cùng, mặc dù, chúng tôi hy vọng các công cụ sẽ được phát triển để giúp các nhà phát triển bằng cách tự động hóa các phép chuyển đổi các ứng dụng một bên thuê thành các ứng dụng nhiều bên thuê phức tạp hơn. Trước tiên, hãy xem xét một số các giải pháp truyền thống từ một quan điểm của IBM (do chúng tôi quen với điều đó). Các giải pháp công nghiệp của IBM IBM cung cấp một danh mục phần mềm sâu và rộng với một bộ các khả năng phong phú. Ngoài ra, dựa trên rất nhiều các cam kết khách hàng của chúng tôi, chúng tôi có thể nói rằng IBM đang ở một vị trí duy nhất để kết hợp các khả năng này để tạo ra các giải pháp công nghiệp "ngoài hộp" (out of the box) giúp các khách hàng giải quyết các vấn đề kinh doanh cụ thể. Cách tiếp cận này cho phép các khách hàng tốn ít thời gian và nỗ lực tích hợp các sản phẩm phần mềm của IBM để giải quyết các nhu cầu kinh doanh cụ thể của họ. Kiến trúc tham khảo SOA của IBM Kiến trúc tham khảo SOA của IBM là một trình cho phép (enabler) chủ yếu để đạt được các mệnh đề giá trị của một kiến trúc hướng dịch vụ, tạo điều kiện thuận lợi cho việc tạo ra các tài sản có thể sử dụng lại, linh hoạt để thực hiện các giải pháp kinh doanh từ đầu đến cuối. Tiêu chuẩn SOA RA (Open Group SOA Reference Architecture - Kiến trúc tham khảo SOA của Tập đoàn Open) cung cấp các hướng dẫn và các tùy chọn để đưa ra các quyết định về kiến trúc, thiết kế và thực hiện trong kiến trúc của các giải pháp hướng dịch vụ, gồm cả kiến trúc của các giải pháp đám mây. Mục tiêu của tiêu chuẩn SOA RA là cung cấp một kế hoạch chi tiết để tạo và đánh giá kiến trúc. Hơn nữa, nó cung cấp những hiểu biết, các mẫu và các khối xây dựng để tích hợp các phần tử cơ bản của một SOA vào một giải pháp hoặc kiến trúc doanh nghiệp. Kiến trúc tham khảo SOA của IBM giúp tạo ra các giải pháp hướng tới các qui trình kinh doanh, các công cụ kinh doanh, trao đổi tin nhắn, tích hợp dịch vụ, truy cập dữ liệu và đóng gói phần mềm và các thành phần di sản. Để biết thêm thông tin, hãy xem Ưu điểm đối với các tiêu chuẩn kiến trúc tham khảo SOA của IBM. Nhiều giải pháp trong đó được phát triển theo Kiến trúc tham khảo SOA của IBM. Ví dụ,  Một cổng thông tin được sử dụng để tập hợp các thành phần của các ứng dụng vào một khung nhìn riêng và cho phép mọi người cộng tác và tương tác với các doanh nghiệp của họ hoặc các dịch vụ Công nghệ thông tin dựa trên vai trò của họ.  Một bus dịch vụ doanh nghiệp được sử dụng để cung cấp tính linh hoạt khi tích hợp và kết nối dịch vụ.  Các nguyên tắc bảo mật như nhận dạng, xác thực, uỷ quyền, kiểm toán và tuân thủ được áp dụng cho toàn bộ vòng đời hướng dịch vụ.  Các đồng hồ hiệu năng chính được theo dõi trong thời gian thực để cho giải pháp đó có thể nhận được thông tin mà chúng cần để phòng tránh, cách ly, chẩn đoán và sửa chữa các vấn đề.  Các phân tích kinh doanh được áp dụng để khám phá các liên kết nhạy cảm và hỗ trợ một giải pháp đưa ra các quyết định đúng.  Các báo cáo được thiết kế, tùy chỉnh và tiêu dùng thông qua cổng thông tin tích hợp. Như bạn có thể hình dung, các khả năng của một danh mục phần mềm bao gồm WebSphere® Portal (Cổng thông tin WebSphere), Lotus® Sametime, Cognos Business Intelligence (Kinh doanh thông minh Cognos), WebSphere MQ, WebSphere Message Broker (Người môi giới thông báo WebSphere), Business Process Management (Quản lý qui trình kinh doanh), Tivoli® Access Manager (Trình quản lý truy cập Tivoli), DB2®, Rational® Asset Manager (Trình quản lý tài sản Rational của DB2), v.v.. có thể được kết hợp để tạo các giải pháp ngoài hộp mới. Vậy thì thách thức đó trở thành ... ...Làm thế nào để bạn tạo ứng dụng SaaS nhiều bên thuê sử dụng các sản phẩm doanh nghiệp có sẵn mà không có khái niệm nguyên gốc riêng của chúng về một bên thuê, nhất là khi bạn cần mở rộng thêm để hỗ trợ càng ngày càng nhiều bên thuê trong giải pháp đó? Gần đây chúng tôi đã thực hiện một nỗ lực phát triển với các nhóm Giải pháp công nghiệp của mình để chuyển đổi các giải pháp SOA một bên thuê thành các giải pháp SOA nhiều bên thuê, sẵn sàng để triển khai trong IBM SmartCloud Enterprise như là các giải pháp SaaS. Mặc dù một giải pháp SOA có thể sử dụng nhiều sản phẩm phần mềm trung gian của IBM và việc chuyển đổi nó sang nhiều bên thuê có vẻ khó khăn, khả năng mở rộng của các sản phẩm phần mềm trung gian của IBM thực sự làm cho phép chuyển đổi này khá đơn giản. Bài này mô tả các kỹ thuật và những hiểu biết có thể có ích nếu bạn muốn chuyển đổi các giải pháp một bên thuê hiện có của bạn thành các giải pháp SaaS nhiều bên thuê. Trước tiên hãy xem xét khái niệm về nhiều bên thuê. Về đầu trang Khái niệm về nhiều bên thuê Các công ty lớn và nhỏ, cũng như các ISV, ngày càng tìm hiểu các giải pháp dựa trên đám mây và SaaS là mô hình phân phối mới của họ. Trong danh mục phần mềm của IBM, có nhiều cách tiếp cận để tạo ra các dịch vụ SaaS mới. Một cách tiếp cận là tạo ra một dịch vụ mới từ đầu để được cung cấp như là một giải pháp SaaS; ví dụ, IBM Blueworks Live. Cách tiếp cận khác là lấy một sản phẩm đã bắt đầu như một dịch vụ doanh nghiệp, tại doanh nghiệp và "tiến hóa" nó thành một giải pháp SaaS; ví dụ, Thương mại- là-một-Dịch vụ, Cognos và IBM SmartCloud cho Doanh nghiệp xã hội (trước đây là LotusLive™). Trong cách tiếp cận đầu tiên, nhiều bên thuê có xu hướng xây dựng từ nền lên. Đối với cách tiếp cận thứ hai, dịch vụ tại doanh nghiệp có thể không có khái niệm về một bên thuê, nhưng bạn có thể đạt được nhiều bên thuê bằng cách sử dụng các cấu hình tùy chỉnh. Hãy xem xét một số kịch bản nhiều bên thuê phổ biến để làm nổi bật định nghĩa vạch chuẩn của bên thuê. Về đầu trang Các kịch bản nhiều bên thuê phổ biến Khái niệm chung về nhiều bên thuê đã được thảo luận trong các bài viết trước (xem Tài nguyên). Một khái niệm quan trọng cần hiểu là có một phạm vi các khả năng để chia sẻ tài nguyên. Hình 1 định nghĩa các ngăn xếp công nghệ nơi nhiều bên thuê có liên quan đến một môi trường đám mây. Hình 1. Phạm vi nhiều bên thuê khi được mức tài nguyên chia sẻ xác định Như bạn có thể thấy, các kịch bản nhiều bên thuê gồm có: 1. Không chia sẻ tài nguyên nào. 2. Tài nguyên phần cứng chia sẻ. 3. Hệ điều hành chia sẻ. 4. Phần mềm trung gian chia sẻ. 5. Các ứng dụng chia sẻ. Hãy xem xét từng kịch bản chi tiết hơn. Kịch bản 1: Không chia sẻ. Mỗi bên thuê có ngăn xếp hoàn chỉnh riêng của mình về các ứng dụng, các phần mềm trung gian, các hệ điều hành và cơ sở hạ tầng (phần cứng). Mỗi bên thuê hoàn toàn được tách rời nhau ngoại trừ nó có thể sẽ chạy trong cùng một trung tâm dữ liệu vật lý. Kịch bản 2: Phần cứng chia sẻ. Bên thuê sẽ bắt đầu chia sẻ cơ sở hạ tầng trong một trung tâm dữ liệu. Ví dụ, bên thuê có thể chia sẻ các máy chủ (ví dụ, Intel®, Power), lưu trữ (SONAS®, NetApp®) và các mạng (Juniper, Cisco) trong các trung tâm dữ liệu. Kịch bản 3: Hệ điều hành chia sẻ. Bây giờ bên thuê sẽ chia sẻ cơ sở hạ tầng và các hệ điều hành. Các trình siêu giám sát như KVM và VMware® thường được sử dụng để ảo hóa phần cứng để cho phép nhiều hệ điều hành chạy trên phần cứng đó. Bên thuê vẫn còn được tách rời với các bên thuê khác vì mỗi bên có thể có các phiên bản riêng của mình về các máy chủ ứng dụng, các máy chủ cơ sở dữ liệu và các ứng dụng. Mức chia sẻ này cũng được gọi là Cơ sở hạ tầng là một Dịch vụ (IaaS). Kịch bản 4: Phần mềm trung gian chia sẻ. Bây giờ bên thuê đang bắt đầu chia sẻ một bộ các dịch vụ phần mềm trung gian chạy trên đỉnh của các hệ điều hành và cơ sở hạ tầng chia sẻ; ví dụ, dịch vụ bảo mật, cổng thông tin, các dịch vụ cơ sở dữ liệu, các dịch vụ giám sát, v.v.. Các ứng dụng khác nhau có thể được xây dựng trên các thành phần phần mềm trung gian chia sẻ này. Mức chia sẻ này cũng được gọi là Nền tảng là một Dịch vụ (PaaS). Kịch bản 5: Các ứng dụng chia sẻ. Bây giờ bên thuê sẽ chia sẻ cùng một ứng dụng với các bên thuê khác. Bằng chính bản chất của việc chia sẻ này, các bên thuê cũng sẽ chia sẻ cùng một phần mềm trung gian, gồm cả các phiên bản được sử dụng để thực hiện các ứng dụng. Mặc dù các bên thuê đang chia sẻ tài nguyên cơ bản giống nhau, chúng vẫn còn được tách rời logic với mỗi bên thuê khác. Một bên thuê không có khả năng nhìn thấy các tài sản của bên thuê khác (ví dụ như dữ liệu có thể được lưu trữ trong các máy chủ cơ sở dữ liệu hoặc hệ thống tệp). Mức chia sẻ này cũng được gọi là Phần mềm là một Dịch vụ (SaaS). Nói chung, càng có số điểm nhiều bên thuê cao hơn (có nghĩa là trong kịch bản 5, các ứng dụng chia sẻ), càng cần ít nỗ lực hơn để thiết lập một bên thuê mới vì càng có nhiều ngăn xếp cơ bản được chia sẻ. Đối với bất kỳ doanh nghiệp nào, các kế hoạch nhằm mang lại càng ngày càng nhiều bên thuê hơn về sau, có khả năng mở rộng mà không cần đến một sự gia tăng to lớn về cả hai tài nguyên kỹ thuật và tài nguyên kinh doanh sẽ là điều quan trọng cần xem xét trước. Có một cơ sở mã được chia sẻ có thể làm tăng các tiêu chuẩn thời gian tới giá trị cho cả nhà cung cấp lẫn các khách hàng và cho phép các sáng kiến mới được triển khai trong vài tuần thay vì vài tháng hoặc vài năm. Ở trên, chúng tôi đã đề cập đến một số các giải pháp phần mềm một-bên thuê đã không có một khái niệm về một bên thuê nguyên gốc trong thiết kế của chúng; chúng ta hãy thảo luận cách có thể giải quyết điều đó trước khi chúng tôi công bố 7 kỹ thuật giúp bạn chuyển đổi phần mềm một-bên thuê thành các giải pháp nhiều bên thuê. Về đầu trang Cách ly tạo ra một bên thuê trá hình Mặc dù chẳng có phần mềm nào trong các sản phẩm phần mềm mà chúng tôi đã đề cập mang theo mình khái niệm rõ ràng về một bên thuê (hoặc với thực tế đó, khái niệm về những người dùng trong một bên thuê), mỗi sản phẩm có chứa một khái niệm dựng sẵn về sự cách ly có thể được sử dụng để thực hiện một giải pháp nhiều bên thuê. Ví dụ, bài viết về các hướng dẫn thực hành tốt nhất để đạt được nhiều bên thuê hợp tác bằng cách sử dụng Rational Asset Manager ("Các hướng dẫn thực hành tốt nhất cho sự hợp tác trung tâm tài sản dựa trên đám mây", xem Tài nguyên) mô tả cách sử dụng khái niệm các cộng đồng tài sản trong Rational Asset Manager để đạt được sự cách ly và chia sẻ tài sản giữa các bên thuê. Một cộng đồng tài sản có thể được tạo ra cho một bên thuê và những người dùng của bên thuê đó có thể xuất bản tài sản cho cộng đồng; Tuy nhiên, những người dùng của bên thuê khác sẽ không nhìn thấy hoặc truy cập vào cộng đồng tài sản này theo mặc định. Một phương thức tương tự có thể được áp dụng cho phần còn lại của các dịch vụ của IBM đã đề cập ở trên. Do phần mềm của IBM có thể mở rộng được, nhiều khi đó là vấn đề sử dụng các API trong các sản phẩm để thực hiện tuỳ chỉnh. Khi sử dụng khái niệm này, chúng ta hãy xem xét bảy kỹ thuật sẽ giúp bạn chuyển đổi sang nhiều bên thuê. Về đầu trang Bảy kỹ thuật để chuyển đổi sang nhiều bên thuê Trong những nỗ lực của chúng tôi để chuyển đổi các giải pháp SOA công nghiệp, chúng tôi xác định bảy kỹ thuật có thể có ích khi bạn chuyển đổi các ứng dụng một bên thuê của bạn thành các ứng dụng SaaS nhiều bên thuê đầy đủ được xây dựng trên các sản phẩm phần mềm trung gian của IBM. Những kỹ thuật đó là  LDAP chia sẻ.  Đăng nhập một lần.  Cơ sở dữ liệu máy chủ chia sẻ.  Bus dịch vụ doanh nghiệp (Enterprise Service Bus) chia sẻ.  Các báo cáo cụ thể của bên thuê.  Các tệp bản ghi nhật ký cụ thể của bên thuê.  Giao diện người dùng thống nhất qua Cổng thông tin WebSphere. Chúng ta hãy xem xét chi tiết từng kỹ thuật. LDAP chia sẻ Để tạo ra một môi trường nhiều bên thuê, một trong những điều đầu tiên cần triển khai là một LDAP chia sẻ để cho bạn có thể có một vị trí trung tâm để quản lý thống nhất thông tin của người dùng và của tổ chức. IBM Tivoli Directory Server (Máy chủ thư mục Tivoli của IBM) là một công cụ LDAP phổ biến mà chúng tôi sử dụng. Tất cả các sản phẩm phần mềm IBM của chúng tôi đã cung cấp tích hợp ngoài hộp với Tivoli Directory Server, vì thế rất nhiều tài sản cài đặt hiện tại có thể được sử dụng. Có một vài lĩnh vực cần chú ý. Mỗi sản phẩm thường đi kèm với các thuộc tính được tối ưu hóa để xây dựng các bộ lọc tìm kiếm cụ thể với sản phẩm đó và cấu trúc thư mục LDAP mặc định riêng của nó. Bạn sẽ cần thực hiện một số việc tiêu chuẩn hóa và điều chỉnh các thiết lập mặc định này khi chia sẻ LDAP giữa nhiều sản phẩm. Ví dụ, chú ý đến sự phân biệt dạng chữ: Một số sản phẩm có thể bỏ qua trường hợp này trong khi các sản phẩm khác có thể không, như ví dụ điển hình sau đây: cn=users, o=ibm, c=us so với: cn=Users, o=IBM, c=US Đăng nhập một lần Đăng nhập một lần (SSO) cho phép một người dùng đăng nhập một lần và sau đó truy cập vào tất cả các hệ thống mà không bị nhắc đăng nhập lại cho mỗi lần truy cập vào một hệ thống trong chúng. Do nhiều sản phẩm phần mềm trung gian được xây dựng trên WebSphere Application Server (WAS – Máy chủ ứng dụng WebSphere), công nghệ LTPA (Lightweight Third-Party Authentication – Xác thực trọng số nhẹ của bên thứ ba) của IBM có thể được sử dụng và nó hoạt động hiệu quả trong một môi trường dựa trên trình duyệt. Hình 2 cho thấy một ví dụ về toàn bộ luồng. Hình 2. Đăng nhập một lần giữa nhiều máy chủ bằng cách sử dụng thẻ xác thực LTPA Khi một yêu cầu HTTP đến, WebSEAL làm việc với Tivoli Access Manager Policy Server (Máy chủ chính sách của Trình quản lý truy cập Tivoli) để xác định xem tài nguyên cần thiết có được bảo vệ không. Nếu được bảo vệ, WebSEAL đảm bảo rằng người dùng được xác thực trước khi cho phép yêu cầu này đạt tới các ứng dụng; ví dụ, một portlet chạy trên WebSphere Portal. Nếu portlet cần truy cập vào máy chủ khác, ví dụ như Sametime Community Server, thẻ xác thực LTPA chia sẻ xác định người dùng đã được WebSEAL xác thực; người dùng đó sẽ không bị kiểm tra xác thực lại. Mặc dù thẻ xác thực LTPA là một kỹ thuật tiêu chuẩn để thực hiện SSO giữa các máy chủ ứng dụng WebSphere, trong thực tế bạn vẫn phải cẩn thận khi triển khai một hệ thống như vậy trong đám mây. Dưới đây là một số thách thức mà chúng tôi gặp phải khi triển khai các giải pháp.  Một tệp LTPA quan trọng thường được xuất khẩu từ một hệ thống (ví dụ, WebSEAL) và sau đó được nhập khẩu vào hệ thống khác (ví dụ, WebSphere Portal, máy chủ Domino). Điều quan trọng là tệp quan trọng này sử dụng một cách thích hợp để mô tả LDAP chia sẻ, ví dụ bằng cách sử dụng một tên miền đầy đủ như sau: com.ibm.websphere.ltpa.Realm=vhost1111.site1.compute.ihost.com\:389   Nếu một máy chủ đang sử dụng một bí danh và đã xuất khẩu một tệp LTPA quan trọng với tên bí danh đó, nhưng một máy chủ khác không hỗ trợ sử dụng bí danh, thì SSO sẽ không làm việc đúng.   Bạn có thể thấy một lỗi trong các tệp bản ghi nhật ký cho biết thẻ xác thực LTPA của bạn đã hết hạn. Điều này có thể xảy ra nếu thời gian của hệ điều hành thiết lập trên mỗi máy ảo không giống nhau. Ví dụ, nếu thời gian thiết lập trên máy ảo WebSEAL là 10:00 và thời gian thiết lập trên máy ảo Portal là 1:00, thì khi máy chủ Portal mở thẻ xác thực và so sánh nó với thời gian cục bộ của nó, nó sẽ nghĩ rằng thẻ xác thực này đã hết hạn. Vấn đề này là khá nổi bật trong môi trường IBM SmartCloud do đồng hồ trên các máy ảo được cung cấp không đảm bảo giống nhau. Chúng tôi phải thực hiện các bước bổ sung để thiết lập lại hoặc đồng bộ lại đồng hồ trên mỗi máy ảo tới cùng một thời gian và múi giờ để cho SSO làm việc đúng. Chúng tôi cũng khuyên bạn trước tiên nên tiến hành kiểm tra SSO theo từng cặp trước khi bạn kiểm tra toàn bộ luồng. Ví dụ, đảm bảo SSO làm việc giữa:  WebSEAL và Portal  WebSEAL và Sametime  Portal và Sametime Khi các cặp này sắp làm việc, hãy kiểm tra toàn bộ đường dẫn từ WebSEAL > Portal > Sametime. Có rất nhiều máy chủ liên quan đến một giải pháp SOA, do đó, có một cách hệ thống để kiểm tra, rồi lặp lại bước kiểm tra đó là một nhân tố thành công quan trọng để quản lý các loại lỗi khác nhau có thể gặp phải trong một môi trường đám mây. Cơ sở dữ liệu máy chủ chia sẻ Điều thứ ba mà bạn muốn xem xét trong môi trường nhiều bên thuê của bạn là làm thế nào để cách ly dữ liệu của bên thuê của bạn với từng bên thuê khác. Giả sử ứng dụng một bên thuê của bạn đang sử dụng một cơ sở dữ liệu quan hệ như DB2, nhiệm vụ này tương đối đơn giản. Có một vài mô hình phổ biến như minh họa trong Hình 3. Hình 3. Các mô hình cơ sở dữ liệu nhiều bên thuê 1. Mỗi bên thuê có cơ sở dữ liệu riêng của mình. 2. Mỗi bên thuê có lược đồ riêng của mình trong một cơ sở dữ liệu riêng. 3. Tất cả các bên thuê chia sẻ cùng một cơ sở dữ liệu. Kịch bản đầu tiên đòi hỏi số lượng thay đổi trong ứng dụng ít nhất để nhận ra khái niệm về bên thuê. Thông thường tất cả thay đổi mà nó đòi hỏi dùng cho ứng dụng để kết nối với cơ sở dữ liệu cụ thể của bên thuê phải dựa vào mã định danh (ID) bên thuê. Kịch bản 1 cũng cung cấp sự cách ly nhiều nhất giữa các bên thuê. Ví dụ, các cơ sở dữ liệu của bên thuê 1 và bên thuê 2 có thể được lưu trữ theo một lịch biểu khác nhau. Kịch bản thứ hai là điển hình nếu ứng dụng hiện tại có khái niệm về siêu dữ liệu riêng của mình và dữ liệu của người dùng cần lưu trú trong cùng một cơ sở dữ liệu do cách đã thiết kế các kết nối cơ sở dữ liệu hiện có. Trong trường hợp đó, bạn có thể xem xét tách rời dữ liệu của bên thuê bằng lược đồ trong cùng một cơ sở dữ liệu và cần giảm thiểu việc thiết kế lại cần thiết. Kịch bản thứ ba yêu cầu nhiều thay đổi nhất trong ứng dụng và thiết kế các bảng. Khái niệm về ID bên thuê phải được đưa vào trong thiết kế các bảng để ứng dụng có thể kiểm tra dữ liệu đang cập nhật hoặc lấy ra cho một bên thuê cụ thể dựa vào ID bên thuê đó. Kịch bản này được sử dụng điển hình hơn bởi các ứng dụng được thiết kế từ nền lên để được cung cấp như SaaS. Bus dịch vụ doanh nghiệp chia sẻ Một ESB (Enterprise Service Bus – Bus dịch vụ doanh nghiệp) hỗ trợ các khái niệm về thực hiện SOA bằng cách tách khung nhìn của một dịch vụ của khách hàng với việc thực hiện một dịch vụ. Việc tách khung nhìn của một dịch vụ của khách hàng với việc thực hiện thực tế làm tăng tính linh hoạt của kiến trúc. Nó cho phép thay thế một nhà cung cấp dịch vụ bằng nhà cung cấp khác mà không để khách hàng nhận ra sự thay đổi này hoặc sự thay đổi luân phiên của kiến trúc. Có nhiều mẫu ESB khác nhau và các ánh xạ sản phẩm tương ứng (xem Sách Đỏ trong Tài nguyên). Dự án đang hoạt động hiện tại của chúng tôi tập trung vào một cấu trúc liên kết điển hình bằng cách sử dụng WebSphere MQ và WebSphere Message Broker. WebSphere MQ tạo điều kiện thuận lợi cho truyền thông giữa các ứng dụng. Một hàng đợi WebSphere MQ dùng làm thùng chứa (container) cho các thông báo được trao đổi giữa các ứng dụng. Một trình quản lý hàng đợi quản lý các hàng đợi và dùng làm một thùng chứa cho các hàng đợi. WebSphere Message Broker mở rộng WebSphere MQ và có thể được sử dụng để xử lý các thông báo trong hàng đợi bằng cách sử dụng các quy tắc của người môi giới. Trong một hệ thống nhiều bên thuê, tất cả các bên thuê chia sẻ một cá thể riêng của WebSphere MQ và WebSphere Message Broker. Trong một thiết lập như vậy, thông tin được một bên thuê gửi đi phải được cách ly với bên thuê khác. Một cách để đạt được sự cách ly này là cung cấp một trình quản lý hàng đợi duy nhất cho mỗi bên thuê. Cá