Cho đến nay, chúng tôi khám phá các khái niệm về kiến trúc hướng dịch và kiểm tra hậu quả tổ chức thực hiện SOA. Tuy nhiên, trong thực tế SOA chỉ là một khía cạnh của kiến trúc tổng thể của một cảnh quan hệ. SOA đã làm với hệ thống giao tiếp như thế nào để thực hiện quá trình phân phối. Những quy trình phân phối được khởi xướng bởi qua giao diện hoặc các quá trình hàng loạt và lưu trữ dữ liệu của họ trong phần phụ trợ, và cách SOA tổ chức truyền thông có tác động đến cả hai qua giao diện và các phần phụ trợ. Chương này sẽ đặt vị trí SOA trong bối cảnh bức tranh toàn cầu của SOA cảnh quan dựa trên hệ thống. Chúng tôi sẽ bắt đầu bằng cách kiểm tra cách khác nhau của một mô hình dựa trên SOA architec trúc. Sau đó chúng tôi sẽ thảo luận về các chủ đề như chia sẻ công việc giữa SOA và qua giao diện, và các câu hỏi cụ thể liên quan đến kết nối với phần phụ trợ. 9.1 SOA dựa trên mô hình Kiến trúc Sơ đồ của một hệ thống cảnh quan dựa trên SOA có thể trông rất khác nhau, tùy thuộc vào ý định và quan điểm của họa sĩ minh họa xem. Minh họa như vậy có thể tập trung vào kinh doanh, tên miền, hợp lý, hoặc các khía cạnh kỹ thuật của cảnh quan. có thể trông giống như Hình 9-1. Portal B2B Call Center Appl. . Appl trình Sáng tác cơ bản Quy tắc Đọc Viết Rule Đọc Viết Rule Đọc Viết Backend miền Tên miền F IGURE 9-1. Một mô hình kiến trúc dựa trên SOA hợp lý Bên trong cảnh quan của bạn, bạn có lĩnh vực khác nhau, trong đó có vai trò cụ thể và có trách nhiệm cụ thể. Một miền thường là một cái gì đó bạn có thể xác định trong tổ chức cấu trúc của bạn. Ví dụ, nó có thể là một công ty, một bộ phận, một đơn vị kinh doanh, một bộ phận, hoặc một nhóm. Điểm quan trọng là nó phải là một thực thể "tự nhiên" với trách nhiệm rõ ràng. Một phụ trợ trong mô hình này đại diện cho các hệ thống kỹ thuật và dữ liệu liên quan của nó và capabil-ities, mà tên miền chịu trách nhiệm. Về mặt kỹ thuật, nó có thể là một hệ thống duy nhất, một tập hợp các hệ thống khác nhau, hoặc thậm chí một thành phần của một hệ thống chia sẻ với các lĩnh vực khác. Lý tưởng nhất, với một miền hoàn hảo / CNTT liên kết, giới hạn hệ thống sẽ phù hợp với phạm vi kinh doanh. Nhưng trong thực tế, vì lý do lịch sử (và cuồng loạn), điều này thường không phải là trường hợp. Trong những trường hợp này, các lĩnh vực cần được xác định bởi các khía cạnh kỹ thuật hoặc tổ chức? Tôi khuyên bạn nên sử dụng ranh giới tổ chức, bởi vì mục đích của việc này deci-sion là xác định người chịu trách nhiệm cho các dịch vụ liên quan đến một tên miền. Theo văn bản trong Chương 7, dịch vụ cơ bản được cung cấp bởi các lĩnh vực cụ thể. Hình 9-1 cho thấy ba loại trong số họ: đọc và viết các dịch vụ, trong đó có các dịch vụ cơ bản dữ liệu theo phân loại của chương 6, và các dịch vụ quy định, trong đó có dịch vụ logic cơ bản mà ủng hộ vide quy tắc kinh doanh nói chung. Các dịch vụ bọc các chi tiết kỹ thuật của các phụ trợ. 110 CHAPTERNIN E người chịu trách nhiệm cho các dịch vụ như vậy? Như đã đề cập trong Chương 8, bạn có thể có một bộ phận cross-domain để xử lý những vấn đề này. Ví dụ, các nhà quản lý giải pháp được thảo luận trong chương đó có thể thuộc về một "s bộ phận" chịu trách nhiệm về các dịch vụ cross-domain. Bộ phận này sẽ, tất nhiên, là một miền của riêng mình, mặc dù bạn có thể không coi nó là một "tự nhiên" lĩnh vực kinh doanh. Nói cách khác, theo mô hình tên miền của bạn, có thể có "cross-bộ phận" tên miền chịu trách nhiệm về quá trình tổng thể. (Tôi cũng đã thấy các phòng ban quản lý lý thực hiện và để vai trò này.) Nếu bạn không có bộ phận cross-domain, bạn cần một số cách để chỉ định các dịch vụ cross-domain với các lĩnh vực cụ thể, bởi vì ai đó phải chịu trách nhiệm về các dịch vụ đó . Trong trường hợp này, sự phân công của một dịch vụ cho một miền nên là một phần của thiết kế giải pháp của bạn. Lưu ý rằng có cũng có thể là hệ thống thứ bậc của lĩnh vực, làm cho các quy tắc quản responsibil-du khách và phức tạp hơn. Ví dụ, bạn có thể có tên miền phụ cung cấp dịch vụ cơ bản, lĩnh vực cung cấp hai loại dịch vụ bao gồm:. Thể loại đầu tiên sẽ sử dụng các dịch vụ trong lĩnh vực này, trong khi loại thứ hai cũng sẽ sử dụng dịch vụ (cơ bản) của các lĩnh vực khác Tuy nhiên, hãy cẩn thận về việc quá nhiều quy tắc. Hãy nhớ rằng SOA là một khái niệm hỗ trợ không đồng nhất, kể cả trong cơ cấu tổ chức. Một miền (công ty, bộ phận, vv) cung cấp năm dịch vụ có thể sẽ nhìn khác nhau từ một tên miền cung cấp hàng trăm dịch vụ. 9.1.2 Mô hình kiến trúc hỗn hợp gì nếu bạn muốn bao gồm một số chi tiết kỹ thuật trong sơ đồ của bạn, thay vì chỉ tập trung -ing vào các khía cạnh kinh doanh hay hợp lý của kiến trúc hệ thống của bạn? Một quan điểm kỹ thuật hơn một chút của cảnh quan được giới thiệu trong phần trước có thể trông giống như Hình 9-2. Trong hình này, bạn có thể nhìn thấy các khía cạnh cả hợp lý và kỹ thuật của kiến trúc. Nó chứa các khía cạnh mới như sau: • Tất cả các cuộc gọi dịch vụ đang hiển thị như được định tuyến thông qua một ESB (trong đó có hậu quả mà bạn không thể nhìn thấy mà sáng tác và dịch vụ quá trình gọi các dịch vụ cơ bản). • Dịch vụ Quy trình có thể được thực hiện (và quản lý) bằng một công cụ BPM hoặc công cụ. • Tất cả các dịch vụ cung cấp logic cơ bản quy tắc kinh doanh được thực hiện trong một công cụ quy tắc. Mặc dù nó bao gồm một số chi tiết kỹ thuật, quan điểm này vẫn thể hiện tổng thể archi-Tecture từ một điểm miền hướng nhìn. Điều quan trọng là phải hiểu rằng quan điểm thứ hai này không mâu thuẫn với các đầu tiên. Họ chỉ là quan điểm khác nhau của cảnh quan tương tự. 9. 1 SOA - BASEDARCHITECTUREMODE LS ESB trình BMP cơ Bao gồm quy tắc cơ bản Quy tắc Đọc Viết Rule Đọc Viết Rule Đọc Viết cơ phụ trợ miền Tên miền F IGURE 9-2. Một mô hình kiến trúc dựa trên SOA bao gồm các khía cạnh hợp lý và kỹ thuật 9.1.3 Kiến trúc kỹ thuật Mô hình An xem hướng nhiều hơn về mặt kỹ thuật có thể trông giống như Hình 9-3. Trong sơ đồ này, các khía cạnh kỹ thuật của hệ thống cảnh quan chiếm ưu thế. ESB là ở trung tâm. Lĩnh vực cung cấp dịch vụ dữ liệu và dịch vụ cơ bản chỉ bao gồm; logic cơ bản dịch vụ và dịch vụ quá trình được tách ra, bởi vì công cụ đặc biệt được cung cấp cho họ. Nhìn vào mô hình này đặt ra câu hỏi về việc liệu và trong ý thức những gì một tên miền chịu trách nhiệm về các dịch vụ của nó cơ bản logic (dịch vụ quy định) và / hoặc dịch vụ quá trình . Chúng tôi chạy vào một cuộc xung đột ở đây. Trong khi một dịch vụ hợp lý quy định thuộc về một lĩnh vực kinh doanh thông thường, nó có thể là tốt hơn để quản lý tất cả các quy tắc trong một tên miền thông thường liên kết với một động cơ quy tắc. Tương tự như vậy, xác định tất cả các dịch vụ quá trình trong một địa điểm trung tâm thông thường có thể mong muốn: nó cho phép bạn để có được một ấn tượng tổng thể của tất cả các quy trình kinh doanh của bạn tại thời gian thiết kế và thời gian chạy. 112 CHAPTERNIN E Portal B2B Call Center Appl. . Appl ESB Nội quy cơ Rule Rule Rule Đọc Viết Đọc Viết Đọc Viết tên miền Tên miền F IGURE 9-3. Một mô hình kiến trúc dựa trên SOA kỹ thuật 9.1.4 Chọn Kiến trúc Model Right tôi đã nghe rất nhiều các đối số cho và chống lại các mô hình khác nhau thảo luận ở đây. Làm thế nào để đối phó với quá trình và loại trừ các dịch vụ là một câu hỏi trung tâm. Có một vài điểm để xem xét: • Một mặt, một tên miền phải có trách nhiệm tất cả các logic kinh doanh của mình. Đối với điều này rea-con trai, cần kiểm soát không chỉ đọc cơ bản và văn bản dịch vụ mà còn các dịch vụ cơ bản logic, và dịch vụ quá trình nếu điều này có ý nghĩa từ một quan điểm kinh doanh. • Mặt khác, có một công cụ BPM chung và động cơ và / hoặc động cơ quy định chung bởi một đội ngũ quản lý giúp để có được hiệu ứng sức mạnh tổng hợp cho các công cụ và cho phép có được một điểm chung cho tất cả các quy trình và quy tắc kinh doanh. Công cụ nhà cung cấp có xu hướng thích các mô hình kỹ thuật, bởi vì nó cho phép họ bó với nhau những điều bạn có thể mua. ESB, công cụ BPM, và các quy tắc động cơ thậm chí có thể được coi là một bộ phần mềm SOA chung (hoặc một "tiên tiến ESB"). Kết hợp với một kho lưu trữ mà người đàn ông lứa tuổi tất cả các dịch vụ, phương pháp này cung cấp cho bạn một cách đồng nhất để quản lý toàn bộ doanh nghiệp của bạn. Chỉ các chi tiết thực hiện các dịch vụ cơ bản sẽ được bên ngoài phạm vi trung tâm này. Sử dụng các công cụ tốt, bạn có thể dễ dàng có được một cái nhìn tổng quan của tất cả các dịch vụ của bạn, các quy tắc kinh doanh, và quy trình kinh doanh cả ở thời gian thiết kế và thời gian chạy. 9. 1 SOA - LS BASEDARCHITECTUREMODE cách khác nhau để thực hiện các quy trình và quy tắc. Ví dụ, bởi vì BPEL có limita chức, bạn có thể thấy rằng bạn phải thực hiện một số dịch vụ quá trình trong một ngôn ngữ lập trình thông thường như Java. Một lần nữa, không hiểu lầm tôi. Tôi không chống lại đồng nhất. Nếu bạn có thể đạt được nó và nó là thích hợp, hãy cho nó. Chỉ vì nó tốt hơn để chỉ có một nhà cung cấp cơ sở dữ liệu, nó giúp để có chỉ có một công nghệ trung gian cho ESB, chỉ có một động cơ BPEL, và động cơ chỉ có một quy tắc. Tuy nhiên, phải cảnh giác rơi vào cái bẫy của đòi hỏi tính đồng nhất ngay cả khi giá quá cao (vấn đề có thể phát sinh khi bạn cố gắng để đi đến một thoả thuận chung, một lần cùng các yêu cầu khác nhau, và như vậy). Các khía cạnh kỹ thuật chỉ là chi tiết thực hiện, và cuối cùng là điểm kinh doanh là quan trọng hơn trong hai. Ngoài ra, đừng quên rằng có một sự khác biệt giữa phổ biến và tập trung. Nếu phổ biến dẫn đến tập trung, hệ thống của bạn sẽ không còn quy mô. 9.2 Xử lý qua giao diện và phần phụ trợ Bây giờ, hãy thảo luận về một số khía cạnh đặc biệt của việc tích hợp SOA qua giao diện và phần phụ trợ. 9.2.1 Vai trò và Trách nhiệm Điểm quan trọng đầu tiên để hiểu là nơi lối vào kết thúc và bắt đầu SOA. Chúng tôi sẽ tập trung vào qua giao diện mà giao diện người dùng. Dịch vụ trong SOA là giao diện cho các kịch bản B2B. Các kịch bản này được tổ chức trong một cách mà một hệ thống hoặc một thành phần giao tiếp theo thời gian với một hệ thống khác để đọc hoặc viết một số dữ liệu. Giữa các cuộc gọi dịch vụ, người tiêu dùng dịch vụ sử dụng logic kinh Ness của mình để thực hiện nhiệm vụ của mình. Điều này có nghĩa rằng một lối vào mà hành động một
đang được dịch, vui lòng đợi..
