1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Lập trình phân tán WEB SERVICE TRONG JAVA

37 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Web Service Trong Java
Tác giả Vũ Ngọc Hưng, Vương Hà Thanh Mẫn
Người hướng dẫn Ths. Nguyễn Trác Thức
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Lập trình phân tán
Thể loại Báo cáo cuối học kỳ
Thành phố TP.HCM
Định dạng
Số trang 37
Dung lượng 1,68 MB

Cấu trúc

  • 1. Tổng quan về Web Service (4)
    • 1.1. Khái niệm (4)
    • 1.2. Đặc điểm của web service (4)
    • 1.3. Ưu và nhược điểm của web service (4)
      • 1.3.1 Ưu điểm (4)
      • 1.3.2 Nhược điểm (5)
  • 2. Kiến trúc của web service (5)
  • 3. Các giao thức trong web service (6)
    • 3.1. XML (6)
    • 3.2. WSDL - Web Service Description Language (6)
    • 3.3. Universal Description, Discovery, and Integration (UDDI) (7)
    • 3.4. SOAP - Simple Object Access Protocol (8)
  • 4. Xây dựng một web service với các công nghệ của Java (9)
    • 4.1. Qui trình xây dựng một web service (9)
    • 4.2. Các thư viện dùng để tạo web service trong Java (9)
      • 4.2.1 JAX-WS (9)
        • 4.2.1.1 Các bước cơ bản để tự tay tạo một web service với JAX-WS 10 (10)
        • 4.2.1.2 Các lưu ý khi cài đặt một cụ thể hóa của SEI (10)
        • 4.2.1.3 Ví dụ (11)
      • 4.2.2 Apache Axis (13)
  • 1. Lời nói đầu (14)
  • 2. Project TaskManager (14)
    • 2.1. Giới thiệu (14)
    • 2.2. Yêu cầu chức năng (14)
    • 2.3. Cấu trúc chương trình (16)
    • 2.4. Chạy chương trình phía server (17)
    • 2.5. Chạy chương trình phía client (18)
  • 1. Các công cụ cần thiết (20)
  • 2. Cài đặt và cấu hình các công cụ (20)
  • 3. Tạo một web service trong NetBeans IDE (32)
  • 4. Tạo một Web Service Client trong NetBeans (33)
  • 5. Cài đặt và chạy ứng dụng (34)
  • Tài liệu tham khảo (37)

Nội dung

Tổng quan về Web Service

Khái niệm

Web service là một ứng dụng hoặc tiện ích được các nhà phát triển thiết kế để cung cấp cho nhiều người và tổ chức sử dụng Giống như việc xây dựng một trang web để mọi người có thể truy cập, web service hoạt động trên nền tảng web Điểm khác biệt của web service so với các ứng dụng web thông thường là khách hàng hay client không chỉ là trình duyệt web mà còn bao gồm các ứng dụng trên máy tính cá nhân và thiết bị di động.

Đặc điểm của web service

Dịch vụ Web, theo định nghĩa của W3C (World Wide Web Consortium), cho phép tương tác với các hệ thống khác thông qua một giao diện chung được mô tả bằng XML.

Dịch vụ Web cho phép tương tác giữa client và server trong các môi trường khác nhau, ví dụ như khi ứng dụng trên máy chủ Linux có thể hoạt động bình thường trên máy tính Windows mà không cần yêu cầu thêm về tính tương thích.

 Một Dịch vụ Web có bao gồm có nhiều mô-đun và công bố lên mạng Internet

Một ứng dụng khi triển khai hoạt động theo mô hình client-server, sử dụng phần mềm ứng dụng phía server như PHP, Java, Oracle Application Server hoặc Microsoft.NET.

Ưu và nhược điểm của web service

 Dịch vụ Web cung cấp khả năng hoạt động rộng lớn và linh hoạt với các ứng dụng phần mềm khác nhau chạy trên những nền tảng khác nhau

 Nền tảng của web service là công nghệ XML Hầu hết các hệ thống đều thể đọc và “hiểu” được tập tin XML

Thúc đẩy sự phát triển của các hệ thống phần mềm hiện có bằng cách tích hợp các quy trình và chức năng nghiệp vụ vào giao diện dịch vụ Web, từ đó công bố chúng rộng rãi trên Internet.

 Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần trong hệ thống, dễ dàng cho việc phát triển các ứng dụng phân tán

Thúc đẩy hệ thống tích hợp giúp giảm phức tạp, hạ giá thành dịch vụ và phát triển hệ thống nhanh chóng Điều này cũng tạo điều kiện cho sự tương tác hiệu quả với các hệ thống của doanh nghiệp khác.

 Ở góc độ doanh nghiệp, web service là một công nghệ phục vụ rất tốt trong việc quảng bá dịch vụ của mình cho đa dạng khách hàng

 Có quá nhiều chuẩn cho dịch vụ Web khiến người dùng khó nắm bắt cũng như gây khó khăn cho các nhà phát triển

 An toàn và bảo mật thông tin là một vấn đề nan giải của web service

 Có nhiều vấn đề về các tác vụ đòi hỏi transaction (ví dụ như chuyển tiền qua lại giữa các ngân hàng) chưa được giải quyết hoàn chỉnh

Tốc độ thực thi của web service chịu ảnh hưởng lớn từ tốc độ đường truyền Internet, và nhìn chung, các web service thường hoạt động chậm hơn so với các ứng dụng thông thường khác.

Vấn đề đảm bảo Chất lượng Dịch vụ (QoS) vẫn chưa được giải quyết triệt để, đặc biệt khi dịch vụ web gặp phải tình trạng quá tải (peak load), điều này có thể dẫn đến những thiệt hại nghiêm trọng cho phía khách hàng.

Kiến trúc của web service

Kiến trúc của web service

Web services consist of three main standards: SOAP (Simple Object Access Protocol), WSDL (Web Service Description Language), and UDDI (Universal Description, Discovery, and Integration) UDDI is utilized for registering and discovering web services that are specifically described in WSDL The UDDI interface communicates with the UDDI server using SOAP, after which SOAP applications request a web service SOAP messages are accurately transmitted through HTTP and TCP/IP protocols.

Chồng giao thức dịch vụ Web là tập hợp các giao thức mạng máy tính, giúp định nghĩa, xác định vị trí, thi hành và tạo ra dịch vụ Web tương tác với các ứng dụng hoặc dịch vụ khác Chồng giao thức này bao gồm bốn thành phần chính.

Dịch vụ vận chuyển đóng vai trò quan trọng trong việc truyền thông điệp giữa các ứng dụng mạng, sử dụng nhiều giao thức khác nhau như HTTP, SMTP, FTP, JSM, và gần đây là giao thức Blocks Extensible Exchange Protocol (BEEP).

 Thông điệp XML: có nhiệm vụ giải mã các thông điệp theo định dạng

XML để có thể hiểu được ở mức ứng dụng tương tác với người dùng

Hiện tại, những giao thức thực hiện nhiệm vụ này là XML-RPC, SOAP và REST

WSDL là ngôn ngữ mô tả dịch vụ Web, cho phép miêu tả các giao diện chung của dịch vụ này Nó sử dụng định dạng XML để truyền tải tham số và các loại dữ liệu cần thiết cho các thao tác và chức năng mà dịch vụ Web cung cấp.

Khám phá dịch vụ là quá trình tập trung các dịch vụ vào một nền tảng đã được đăng ký, giúp các dịch vụ Web dễ dàng nhận diện và tìm kiếm những dịch vụ khác để tương tác Để đảm bảo khả năng truy cập và giao tiếp giữa các dịch vụ, việc đăng ký là cần thiết Hiện nay, UDDI API thường được sử dụng để thực hiện các chức năng này.

Các giao thức trong web service

XML

Dịch vụ Web là sự kết hợp của nhiều thành phần khác nhau, sử dụng các tính năng và đặc trưng của chúng để giao tiếp hiệu quả XML đóng vai trò quan trọng trong việc giải quyết vấn đề này và là kiến trúc nền tảng cho việc xây dựng dịch vụ Web.

WSDL - Web Service Description Language

WSDL định nghĩa cách mô tả dịch vụ Web theo cú pháp tổng quát của XML, bao gồm các thông tin:

 Giao thức và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của dịch vụ Web

 Loại thông tin: thao tác, tham số, những kiểu dữ liệu (có thể là giao diện của dịch vụ Web cộng với tên cho giao diện này)

Một WSDL hợp lệ bao gồm hai phần chính: phần giao diện mô tả cách kết nối và phần thi hành cung cấp thông tin truy xuất cơ sở dữ liệu Cả hai phần này được lưu trữ trong hai tệp XML riêng biệt, bao gồm tệp giao diện dịch vụ và tệp thi hành dịch vụ Phần giao diện của dịch vụ Web xác định cách thức giao tiếp qua dịch vụ, bao gồm tên, giao thức liên kết và định dạng thông điệp yêu cầu cần thiết để tương tác với dịch vụ Web, tất cả được trình bày trong thư mục của WSDL.

WSDL được sử dụng kết hợp với XML schema và SOAP để cung cấp dịch vụ Web qua Internet Khi một client kết nối đến dịch vụ Web, nó có thể đọc WSDL để xác định các chức năng có sẵn trên server Sau đó, client sử dụng SOAP để truy xuất các chức năng chính xác được mô tả trong WSDL.

Tập tin wsdl do GoogleSearch cung cấp

Universal Description, Discovery, and Integration (UDDI)

Để sử dụng dịch vụ, khách hàng cần tìm kiếm thông tin về cách thức sử dụng và nhà cung cấp dịch vụ UDDI xác định các thành phần cần thiết để cung cấp thông tin này, giúp khách hàng truy cập và nhận thông tin cần thiết khi sử dụng dịch vụ Web.

Trang trắng là nơi lưu trữ thông tin liên hệ và các định dạng chính yếu của dịch vụ Web, bao gồm tên giao dịch, địa chỉ và thông tin nhận dạng Những thông tin này giúp các đối tượng khác dễ dàng nhận diện và xác định dịch vụ.

Trang vàng – Yellow Pages cung cấp thông tin chi tiết về các dịch vụ Web phân loại theo từng loại khác nhau Những thông tin này giúp người dùng dễ dàng tìm kiếm và nhận diện các dịch vụ Web phù hợp với nhu cầu của họ.

 Trang xanh – Green pages: chứa thông tin kỹ thuật mô tả các hành vi và các chức năng của dịch vụ Web

 Loại dịch vụ – tModel: chứa các thông tin về loại dịch vụ được sử dụng

Dịch vụ Web sử dụng giao thức để công bố thông tin lên mạng, cho phép các ứng dụng tìm kiếm và xác định các dịch vụ khác cần thiết.

SOAP - Simple Object Access Protocol

Dịch vụ Web có thể được truy xuất thông qua giao thức Simple Object Access Protocol (SOAP), cho phép người dùng thực hiện các lệnh gọi theo định dạng của SOAP để truy cập vào UDDI registry.

SOAP là một giao thức giao tiếp dựa trên XML, đóng vai trò là xương sống cho các ứng dụng phân tán được phát triển bằng nhiều ngôn ngữ và hệ điều hành khác nhau Giao thức này cho phép truyền tải các thông điệp XML qua mạng máy tính, thường sử dụng giao thức HTTP.

Open Project, mở project có tên TaskManager_Server được đính kèm theo báo cáo này

Nhấp phải p\vào project chọn RUN, giao diện chính của màn hình xuất hiện:

Nhập user và password để đăng nhập vào hệ thống:

Chạy chương trình phía client

Chọn File > Open Project, mở project có tên TaskManager_Client được đính kèm theo báo cáo này

Nhấp phải chọn RUN để chạy ứng dụng

Khi đăng nhập thành công, giao diện chính của Task Manager client sẽ hiển thị Để xem các tác vụ của người dùng hiện tại, hãy chọn "Show Tasks".

PHỤ LỤC: XÂY DỰNG VÀ TRIỂN KHAI MỘT WEB

SERVICE TỪ CÁC CÔNG CỤ CÓ SẴN

Việc tự xây dựng một web service là khả thi nhưng phức tạp đối với người mới bắt đầu, do yêu cầu nhiều tập tin cấu hình và bước biên dịch Hiện nay, hầu hết các web service đều được phát triển thông qua các bộ công cụ tích hợp sẵn như NetBeans IDE và Eclipse.

Trong phần này chúng ta sẽ cùng tìm hiểu cách sử dụng các công cụ sẳn có để tạo và sử dụng một web service.

Các công cụ cần thiết

 JDK 6 update 13 hay mới hơn (http://java.sun.com/javase/downloads/index.jsp)

 NetBeans IDE 6.5 hay cao hơn, chú ý nên tải gói đầy đủ các ứng dụng (khoảng 240 MB) tại http://www.netbeans.org/downloads/

Để sử dụng các ví dụ và ứng dụng của nhóm, bạn cần cài đặt MySQL, vì chúng sử dụng cơ sở dữ liệu này Hãy tải xuống bộ công cụ tích hợp để bắt đầu.

(Apache, PHP, MySQL và PHPMyAdmin) XAMPP for Windows phiên bản 1.7.1 tại http://www.apachefriends.org/download.php?xampp- win32-1.7.1-installer.exe

 Driver dùng để kết nối với cơ sở dữ liệu MySQL cho Java: version 5.1.7 http://dev.mysql.com/downloads/connector/j/

Cài đặt và cấu hình các công cụ

 Cài đặt XAMPP for Windows:

 Cài đặt MySQL driver cho máy chủ Glassfish:

- Copy tập tin mysql-connector-java-5.1.7-bin.jar vào thư mục lib trong Glassfish v2.1 (mặc định là C:\Program Files\glassfish-v2.1\lib)

 Tạo cơ sở dữ liệu:

- Khởi động máy chủ Apache: trên desktop hay vào Program Files >

- Ở mục Apache, nhấn Start để khởi động máy chủ Apache

- Vào trình duyệt, gõ http://localhost:

- Nếu lần đầu tiên sử dụng, cần chọn ngôn ngữ hiển thị.Ở đây chúng ta chọn English

- Ở vùng phía bên trái màn hình, chọn “PhpMyAdmin”:

- Giao diện PHPMyAdmin xuất hiện:

- Trong mục “Create New Databse” gõ “mytimer”, nhấn enter

Cơ sở dữ liệu “mytimer” đã được tạo:

- Chọn tab “SQL” trên thanh công cụ:

- Mở tập tin mytimer,sql (được đính kèm trong thư mục của project này)

- Copy nội dung của tập tin này vào và dán vào vùng “Run SQL query/queries on database mytimer”trong PHPMyAdmin:

- Nhấn “Go” để thực thi câu Query

- Như vậy chúng ta đã cài đặt thành công CSDL mytimer cho ví dụ này:

 Chọn File > Open Project Mở project TaskMananger_Server được kèm theo trong báo cáo này

 Chọn mục Servers, nếu chưa có server nào thì nhấp phải chọn Add Server…

 Hộp thoại tạo server hiện ra:

 Làm theo các bước như hướng dẫn để thêm một server mới Lưu ý là để TaskManager có thể chạy được server cần được được chọn là GlassFish V2

 Sau khi đã có server, click phải chuột, chọn Start để khởi động Server:

 Sau khi server đã khởi động thành công.Chúng ta sẽ tiến hành tạo Connection Pool cho cơ sở dữ liệu mytimer đã tạo ở các bước trước

 Mở Xampp control Kiểm tra xem MySQL server đã được khởi động hay chưa:

 Vào trình duyệt, gõ http://localhost:4848 để vào trang admin của GlassFish:

 Đăng nhập vào với user và password được thiết lập lúc cài đặt (mặc định là admin – adminadmin)

 Trong phần Common Tasks ở khung phía bên trái, chọn Resources:

Nhấn Connection Pool, chọn New…

 Trong mục Name, gõ mytimer

 Trong mục Resource Type chọn javax.sql.ConnectionPoolDataSource

 Mục Database Vendor chọn MySQL

 Nhấn Next để đến bước tiếp theo

 Trong phần Additional Properties ở dưới cùng, chúng ta chỉ cần thíêt lập các thông tin sau:

- Passsword: 123456 (user name và password đăng nhập vào database)

- Url: jdbc:mysql://localhost:3306/mytimer

- URL (chú ý có 2 url): jdbc:mysql://localhost:3306/mytimer

- Nhấn Ping để test xem connection pool có liên kết được với server MySQL hay chưa

- Ở khung bên trái màn hình, chọn JDBC resources,chọn New:

 Thiết lập giá trị cho các mục:

 Nhấn OK để hoàn tất.

Tạo một web service trong NetBeans IDE

 Trong NetBeans, chọn File > New Project

 Trong mục Categories chọn Java Web

 Ở khung phía bên phải chọn Web Application

 Các bước thiết lập khác cứ để mặc định hoặc có thể tùy chỉnh lại theo ý muốn Nhấn Finish

 Sau đó trong mục Web Services, nhấp phải, chọn New > Web Service…

 Các bước còn lại có thể làm như ví dụ trên hay làm theo các chỉ dẫn rất trực quan của NetBeans.

Tạo một Web Service Client trong NetBeans

Các hướng dẫn chi tiết về tạo một web service và web service client có thể tham khảo tại http://www.netbeans.org/kb/docs/websvc/jax-ws.html

 Trong NetBeans chọn New > Project

 Click phải vào project và chọn New > Web Service client

 Sau đó làm theo hướng dẫn của NetBeans.

Cài đặt và chạy ứng dụng

Trong NetBeans IDE, vào thẻ Projects, nhấp phải lên project TaskManager, chọn Deploy:

 Sau khi deploy thành công, vào Web Services trong project TaskManager, nhấp phải lên MyTimerWs chọn Test Web Service để test web service:

 Tuy nhiên bước này không cần thiết vì sau khi deploy thì web service đã có thể sử dụng được từ phía client

Dịch vụ web linh hoạt và độc lập với nền tảng, được phát triển trên nền tảng Java, là sự kết hợp hoàn hảo cho việc xây dựng hệ thống tích hợp với chi phí thấp và hiệu quả cao.

Với sự hỗ trợ của các công cụ hiện có, việc tạo web service trong Java trở nên dễ dàng hơn, nhưng để nắm vững vấn đề lại là một thách thức phức tạp Dự án TaskManager hiện đang trong giai đoạn phát triển ban đầu, mặc dù còn đơn giản, nhưng hứa hẹn sẽ trở thành một ứng dụng hữu ích cho các nhóm làm việc vừa và nhỏ, đặc biệt trong việc hỗ trợ học tập cho sinh viên.

Ngày đăng: 11/10/2022, 14:43

HÌNH ẢNH LIÊN QUAN

Hình bên dưới thể hiện quá trình liên lạc giữa một dịch vụ web viết dựa trên JAX-WS với client - Lập trình phân tán WEB SERVICE TRONG JAVA
Hình b ên dưới thể hiện quá trình liên lạc giữa một dịch vụ web viết dựa trên JAX-WS với client (Trang 9)
Chương trình được thiết kế từ đầu theo mơ hình MVC (Model – Controlle r- View): - Lập trình phân tán WEB SERVICE TRONG JAVA
h ương trình được thiết kế từ đầu theo mơ hình MVC (Model – Controlle r- View): (Trang 16)
Nhấp phải p\vào project chọn RUN, giao diện chính của màn hình xuất hiện: - Lập trình phân tán WEB SERVICE TRONG JAVA
h ấp phải p\vào project chọn RUN, giao diện chính của màn hình xuất hiện: (Trang 17)
2.4. Chạy chương trình phía server - Lập trình phân tán WEB SERVICE TRONG JAVA
2.4. Chạy chương trình phía server (Trang 17)
Nếu đăng nhập thành cơng thì màn hình giao diện cơ bản của Task Manager client sẽ hiện ra: - Lập trình phân tán WEB SERVICE TRONG JAVA
u đăng nhập thành cơng thì màn hình giao diện cơ bản của Task Manager client sẽ hiện ra: (Trang 18)
2.5. Chạy chương trình phía client - Lập trình phân tán WEB SERVICE TRONG JAVA
2.5. Chạy chương trình phía client (Trang 18)
2. Cài đặt và cấu hình các cơng cụ - Lập trình phân tán WEB SERVICE TRONG JAVA
2. Cài đặt và cấu hình các cơng cụ (Trang 20)
Biểu 2: Tình hình dân số và lao động huyện Gia Lâm qua 4 năm 1996 - 1999. - Lập trình phân tán WEB SERVICE TRONG JAVA
i ểu 2: Tình hình dân số và lao động huyện Gia Lâm qua 4 năm 1996 - 1999 (Trang 22)
- Ở vùng phía bên trái màn hình, chọn “PhpMyAdmin”: - Lập trình phân tán WEB SERVICE TRONG JAVA
v ùng phía bên trái màn hình, chọn “PhpMyAdmin”: (Trang 23)
- Ở khung bên trái màn hình, chọn JDBC resources,chọn New: - Lập trình phân tán WEB SERVICE TRONG JAVA
khung bên trái màn hình, chọn JDBC resources,chọn New: (Trang 31)

TÀI LIỆU CÙNG NGƯỜI DÙNG