Chƣơng 4 SOA VÀ VẤN ĐỀ TÍCH HỢP
4.4. Ứng dụng SOA và Webservice để tích hợp các hệ thống đƣợc xây dựng trên NET và J2EE
xây dựng trên .NET và J2EE
Các web service được xây dựng nhằm hỗ trợ trong việc trao đổi dữ liệu giữa các ứng dụng hay dịch vụ, và cho phép cung cấp phương thức của một đối tượng để có thể được truy cập bởi các đối tượng phần mềm hay ứng dụng khác thông qua môi trường mạng.
Hiện nay, .NET và J2EE là hai hệ nền được nhiều người sử dụng để triển khai các hệ thống lớn. Và nhu cầu cho việc tích hợp hay liên kết giữa các hệ thống này là có thực và ngày càng trở nên cấp thiết. Mọi người mong muốn và đang cố gắng có thể tạo được sự liên kết giữa các đối tượng được phát triển trên J2EE (Java Bean) và các đối tượng được phát triển trên nền .NET. Nhưng điều này khơng dễ dàng thực hiện vì kiến trúc của hai hệ nền này tương đối khác nhau nhiều.
.NET được thiết kế để có thể tương thích tốt với hệ điều hành Windows, và sử dụng lại phần lớn những tính năng nền tảng của Windows như đa luồng, quản lý bộ nhớ, truy cập hệ thống tập tin và tập những hàm APIs cấp hệ thống.
J2EE được xây dựng dựa trên những tính năng của máy ảo Java để hỗ trợ cho nhiều hệ điều hành.
Các web service có thể dùng để thiết lập mối liên kết giữa các hệ thống, ứng dụng được phát triển dựa trên hai hệ nền này. Tuy nhiên, vẫn cịn một vài hạn chế bởi các tính năng hiện đang được hỗ trợ (đến thời điểm hiện tại) của web service vẫn chưa thật sự là đầy đủ. Ngoài ra còn là sự khác biệt quá lớn về kiến trúc giữa hai hệ nền này. Hình 4-9 đặt các tầng của kiến trúc .NET và J2EE cạnh nhau để thể hiện rõ những sự khác nhau giữa hai hệ nền
Hình 4-9 – Sự khác nhau giữa kiến trúc .NET và J2EE
Với sự khác nhau cơ bản như thế, nên việc tích hợp, liên kết giữa hai hệ nền .NET và J2EE có một số giới hạn và chỉ có thể đạt được ở một mức độ trừu tượng khá cao.
Giải pháp tốt nhất đó là xây dựng các đặc tả dịch vụ (như là các tập tin WSDL) để xác định gói các đối tượng sẽ được trao đổi hay gói các phương thức sẽ được gọi.
Ví dụ như, nếu các ứng dụng cần chia sẻ thơng tin về khách hàng, thì ta có thể định nghĩa một lược đồ (Xml schema) mô tả loại thông tin trên, định nghĩa thông tin mô tả các phương thức dựa trên lược đồ này (trong các tập tin WSDL) và sau cùng là xây dựng các thông điệp SOAP dựa trên các nguồn thông tin vừa xây dựng. Ta thấy rằng, khi đó các tập tin WSDL và các lược đồ dữ liệu đóng vai trị rất quan trọng trong việc thực hiện mối liên kết này vì đây chính là các mơ hình dữ liệu mà hai bên cùng chia sẻ.
Hình 4-10 – Vai trò của WSDL trong liên kết các hệ thống.
Hình 4-10 cho thấy khi một hệ thống xây dựng trên nền .NET và một hệ thống xây dựng trên nền J2EE cùng chia sẻ và cùng hiểu một tập tin WSDL thì chúng có thể liên kết với nhau.
Bởi vì web service khơng hỗ trợ đầy đủ các đặc trưng và tính năng của .NET và J2EE nên mức độ liên kết vẫn còn hạn chế. Cụ thể, các chức năng về quản lý chu kỳ sống của đối tượng, quản lý các phiên giao dịch … của .NET và J2EE không được hỗ trợ bởi web service. Hình 4-11 minh họa các trao đổi thông điệp SOAP giữa hai hệ thống sau khi đã thiết lập và chia sẻ cùng một đặc tả dịch vụ WSDL
Hình 4-11 – WSDL mơ tả cách các thơng điệp SOAP đƣợc xử lý
Vì các thơng điệp SOAP là các tài liệu XML, nên địi hỏi các bên phải có khả năng hiểu và xử lý các dữ liệu dạng XML. Ngoài ra, các thông điệp này được phát sinh dựa trên WSDL mà đã đạt được thỏa thuận của các bên, nên có thể xem như là một “ngơn ngữ chung” cho các hệ thống để có thể hiểu và xử lý trong quá trình liên kết.