JAVA API
J2EE Web services api’s
J2EE cung cấp 4 web service apis để triển khải ứng dụng web service. Đó là :
+Java API cho XML-based RPC(JAX-RPC)
+SOAP with Attachments API cho java(SAAJ)
+Java API for XML Registries (JAXR)
+Java API for XML processing (JAXP)
XML web services
XML Web Services làm việc với các giao thức web chuẩn như HTTP, XML,
SOAP, và TCP/IP.
Features:
+stateless architecture: server sẽ không lưu lại dấu vết của client khi
nó request lên server
+Cơ chế đa luồng
+Cơ chế giao tiếp đa nền tảng ,ngôn độc lập
Processing XML documents sử
dụng JAXP
JAXP hoặc Java API cho quá trình xử lý XML cung cấp cơ chế validating and
parsing tài liều xml sử dụng các ứng dụng được viết bằng ngôn ngữ java. Nó cung
cấp thư viện SAX để đọc file xml. Tuy dễ để đọc nhưng khó trong thao trên file
, nên ta còn dùng Dom2
SAX Parser
SAX xử lý tài liệu xml , nơi mà các thành phần
thông tin được phiên dịch tuần tự và sau đó được chuyển đổi sang các các sự kiện
tuần tự. SAX sẽ không load bất cứ tài liệu xml nào vào trong bộ nhớ của nó . Vì
vậy nó rất nhanh .
Các classes/ interfaces được dùng để quét một tài liệu xml là :
-DefaultHandler
-SAX parser factory
-SAXParser XML Reader
Dom Parser
-Javax.xml.parsers
Trong mô hình này dữ liệu được convert sang dom
Mô hình JAX-RPC in web
service
Lợi ích của việc dung JAX_RPC
JAX_RPC làm giảm nhiều sự phức tạp bằng nhiều cách cho lập trình viên. Một số các lợi ích như sau:
JAX_RPC làm giảm nhiều sự phức tạp bằng nhiều cách cho lập trình viên. Một số các lợi ích như sau:
-Quá trình tạo ra SOAP request và responses được tiêu chuẩn hóa.
-Quá trình marshalling và unmarshalling của các tham số được tiêu chuẩn
hóa.
-Quá trình code chủ yếu trên java, các phần còn lại do RPC đảm nhiệm
Quá trình request lên JAX-RPC service từ client
Để request cũng
như response từ hai phía , clien và server, ta phải convert dữ liệu từ dạng
java sang xml trung gian. Như vậy chúng ta có thể làm việc với web service,
nhưng không cần quan tâm đến cách sử dụng soap cũng như xml
Các chế độ làm việc trong JAX_RPC service
JAX-RPC cung cấp
3 chế độ làm việc như sau :
-Synchronous request-response mode : Trong cách này client sau khi gửi request lên server, nó sẽ đợi cho đến khi có kết quả return trả về một giá trị hay một exception nào đó thi sẽ tiến hành tiếp tục công việc
-Synchronous request-response mode : Trong cách này client sau khi gửi request lên server, nó sẽ đợi cho đến khi có kết quả return trả về một giá trị hay một exception nào đó thi sẽ tiến hành tiếp tục công việc
-One-Way-RPC mode :
Ở cách này thi client sẽ gọi một method từ xa, avaf sau đó tiếp tục hoạt các
công việc trong luồn của nó và không bị khóa lại . Sẽ không có giá trị hay
exception được trả về trong cách gọi này .
-Non-Blocking RPC
invocation mode. Với cách này, một clien sẽ gọi các thủ tục từ xa và tiếp tục
luồn làm việc của nó mà không bị khóa lại.Nhưng nó sẽ có cơ chế gửi một request
sau một khoảng thời gian để kiểm tra xem service xử lý request hay chưa.
JAXR API
Registry là một
nguồn dữ liệu được chia sẻ , cái mà được thể hiện trong form của một web-based
service., giúp qua trình tương tác dễ dàng hơn.
The java API for
XML registries(JAXR) API cung cấp một bộ đơn của các API dùng để truy xuất vào
các XML registries như UDDI avf ebXML registry .Vì vậy JAXR API cũng được gọi
là một abstract uniform java API
UDDI Registry standared
ebXML Registry Standard
Electronic
business XML (ebXML ) là một business to business XML framework cái mà cho phép
các nghiệp vụ được thực hiện một cách số hóa thông qua internet
Các đặc điểm của
một mô hình ebXML :
-Cung cấp
tính năng validate dữ liệu. Cải thiện tính toàn vẹn của thông tin
-Cung cấp
các gói các object có quan hệ với nhau
-Cung cấp
khả năng giao tiếp đồng bộ hóa ,hoặc bất đồng bộ hóa
-Hỗ trợ chứng
thực chữ ký điện tử , hoặc phân quyền
JAXR Architecture
JAXR
provider bao gồm 2 thành phân:
-Registry-specific
JAXR provider
-JAXR
pluggagle provider
SAAJ
SOAP với tập
đính kèm API cho java (SAAJ) là một API cái mà cho phép người dung tạo và gửi một
tin nhắn SOAP với file đính kèm .
Các class
trong SAAJ API
JAXB
Jaxb không
chỉ là bộ thư viện dung cho webservice, nó còn có thể dung để convert qua là giữa
đối tương java cũng như xml
Quá trình bindling của JAXB
Khái niệm UNmarshalling
Unmarshalling
là quá trình chuyển đổi giữa tài liệu xml sang dạng dạng nội dung cây
Một số nhược điểm của JAXB
-XML phải
có DTD hoặc Schema. Và nó không thể sử dụng với xml nói chung được
-Chúng ta
cũng phải làm them một số công việc được yêu cầu để cho jaxb biết cái cần được
xây dựng như thể nào để làm cho ứng dụng trở nên đơn giản hơn.
-JAXB không
hỗ trợ các cấu trúc cảu DTD
Không có nhận xét nào:
Đăng nhận xét