Xây dựng và triển khai các Web Services thành phần

Một phần của tài liệu Xây dựng service proxy để kiểm chứng ràng buộc thời gian trong web service composition (Trang 74 - 79)

Sau khi đã cài đặt thành công các Soap engine, chúng tôi sẽ tiến hành cài đặt các Service Composition trên các Web Server vừa được cài đặt lên.

Cài đặt Service SearchHotel

Trước tiên tiến hành cài đặt Web Service SearchHotel chạy trên môi trường J2EE tại cổng 2417.

Tệp cài đặt cho Web Service SearchHotel được chúng tôi viết trong file SearchHotelService.java, trong file này có chứa một phương thức SearchHotel với đối số truyền vào là một String và kết quả trả về cũng là một String. Khi Service Proxy gọi tới SearchHotel Service, thì xâu chứa tên của thành phố đích đến được đóng gói vào thông điệp SOAP, tại SearchHotel Service, sử dụng xâu chứa tên thành phố đích đến làm đối số truyền vào, thực hiện thao tác tìm kiếm trong database xem có kết quả khách sạn nào tương ứng với thành phố đích đến đó hay không.

Hình 31:Code kết nối database trong file SearchHotel Service

Sau đó chúng tôi tiến hành biên dịch file SearchHotelService.java thành file HTService.SearchHotelService.class, copy file này và đặt vào trong thư mục Wapp của J2EE theo đường dẫn sau “C:\Sun\SDK\domains\domain1\applications\j2ee- modulees\soap\WEB-INF\classes”.

Tiếp theo để triển khai dịch vụ này trên Web Server, ta cần phải viết một tệp deploy.wsdl để triển khai tệp đó lên web server, nội dung của file deploy.wsdl được thể hiện qua Hình 32:

Hình 32:Nội dung của tệp deploy.wsdl

Nhìn vào nội dung của tệp deploy.wsdl ta thấy một số các đặc điểm sau:

id = “urn:HTService” : Đây chính là tên của Web Service mà ta triển khai, sẽ được dùng để gọi trong code của Service Proxy.

methods=”SearchHotel” : Đây chính là phương thức mà Web Service sẽ sử dụng để thực hiện các thao tác tính toán như tìm kiếm database, trả về kết quả.

dd:java class=”HTService.SearchHotelService” : Đây là đường dẫn để web server có thể tìm kiếm được file SearchHotelService.class để thực thi công việc.

Sau đó chúng tôi copy file deploy.wsdl này vào thư mục C:\Webservice. Mở một console, chuyển thư mục làm việc tới thư mục C:\WebService và gõ lệnh sau để triển khai dịch vụ lên Web Server : C:\Webservice > java org.apache.soap.Server.ServiceManagerClient http://localhost:2417/soap/servlet/rpcrouter deploy deploy.xml. Lệnh này nhận ba tham số truyền vào đó là URL đến máy chủ SOAP, lệnh deploy và tập tin hợp lệ để triển khai dịch vụ trên máy chủ SOAP. Nếu quá trình triển khai thành công thì sẽ không có thông báo lỗi nào xuất hiện, sau đó ta có thể dùng lệnh C:\

triển khai trên máy chủ SOAP. Nếu ta thấy danh sách dịch vụ có xuất hiện tên urn:HTService là quá trình triển khai của ta đã thành công. Ngoài ra nếu muốn gỡ bỏ dịch vụ SearchHotel Serviece, ta hoàn toàn có thể dùng lệnh để gỡ bỏ dịch vụ bằng lệnh

C:\Webservice > java org.apache.soap.Server.ServiceManagerClient

http://localhost:8080/soap/servlet/rpcrouter undeploy urn:HTService.

Ngoài việc sử dụng công cụ dòng lệnh để triển khai, gỡ bỏ, liệt kê danh sách các dịch vụ, chúng ta còn có thể sử dụng công cụ triển khai trực quan được truy cập thông qua địa chỉ

http://localhost:8080/soap/admin

Hình 33:Danh sách các dịch vụ liệt kê trên web site soap engine

Nhìn vào hình minh họa trên ta có thể thấy được danh sách các dịch vụ đã được triển khai trên máy chủ SOAP của chúng ta. Dễ thấy dịch vụ SearchHotel Service đã được triển khai, thể hiện của SearchHotel Service chính là “urn:HTService”.

SearchHotel Service đã được cài đặt trên nền J2EE, với máy chủ Soap engine chạy trên cổng 2417 sử dụng thư viện API Apache Soap. Giờ chúng ta sẽ tiến hành cài đặt dịch vụ SearchFlight trên Web Server Apache TomCat, tại cổng 8080, sử dụng thư viện API Apache Axis. Đây là một thư viện hoàn toàn khác so với Apache Soap, điều đó càng minh họa rõ hơn cho công nghệ Web Service là một công nghệ không phụ thuộc vào môi trường cài đặt, ta hoàn toàn có thể sử dụng các công nghệ khác nhau nhưng vẫn làm cho các Service giao tiếp được với nhau.

Tương tự như dịch vụ SearchHotel, dịch vụ SearchFlight cũng được viết trong một file SearchFlightService.java. Và file này được dịch ra file SearchFlightService.SearchFlightService.class. Sau đó ta cần phải copy file này vào thư mục C:\Webservice\tomcat\webapps\axis\WEB-INF\classes. Và để triển khai dịch vụ này, chúng ta cần phải viết một file deploy.wsdd để triển khai dịch vụ. Nội dung của tệp deploy.wsdd được minh họa trong hình dưới đây :

Hình 34:Nội dung file deploy.wsdd

Trong file deploy.wsdd trên ta cần lưu ý :

• Thuộc tính service name = “SearchFlightService” : đây chính là tên của Service được dùng để triệu gọi, nó tương đương với thuộc tính id=”urn:HTService” trong file deploy.wsdl dùng để triển khai dịch vụ trên Apache Soap.

• Thuộc tính parameter = “” value=”SearchFlightService.SearchFlightService ” : trỏ đến vị trí của file SearchFlightService.class để máy chủ Axis tìm kiếm và sử

dụng. Nó tương đương với thuộc tính dd:java class=”HTService.SearchHotelService” trên Apache Soap.

Sau đó chúng tôi copy file deploy.wsdd này vào thư mục C:\Webservice. Mở một console, chuyển thư mục làm việc tới thư mục C:\WebService và gõ lệnh sau để triển khai dịch vụ lên Web Server: C:\Webservice > java org.apache.axis.Client.AdminClient deploy.wsdd để triển khai dịch vụ. Thực chất lệnh này sử dụng thư viện trong axis nhận tham số truyền vào là file deploy.wsdd để triển khai dịch vụ. Khi chạy lệnh thành công sẽ có thông báo “Processing file deploy.wsdd”. Nếu muốn hủy bỏ dịch vụ, chúng ta chỉ cần đổi tên file deploy.wsdd thành undeploy.wsdd và sửa nội dung 2 thẻ đóng mở <deployment> trong file undeploy.wsdd thành <undeployment> và thực hiện lệnh java org.apache.axis.Client.AdminClient undeploy.wsdd để hủy bỏ dịch vụ. Sau khi triển khai thành công Web Service SearchFlight đã sẵn sàng phục vụ.

Ta có thể nhìn thấy danh sách các dịch vụ đã được triển khai trong trang quản trị của Apache Axis như hình dưới đây:

(adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Xây dựng service proxy để kiểm chứng ràng buộc thời gian trong web service composition (Trang 74 - 79)