Thứ Sáu, 8 tháng 2, 2008

Web Service với các công nghệ chuẩn của JAVA

Các công nghệ nền tảng của Web Service  :



XML (eXtensible Markup Language)
  • Đã trở thành chuẩn cho việc mô tả dữ liệu được trao đổi trên nền web.
  • Là ngôn ngữ đánh dấu, sử dụng các thẻ (tag) để đánh dấu nội dung của văn bản và định nghĩa cấu trúc của thông tin.
      
             
                    
                    
                    
             
      
      
             
                    
             
      
  • Tài liệu XML phải tuân theo một cấu trúc chuẩn (Well-formed).
  • Tài liệu XML thường được kết hợp với lược đồ XML (XML Schema) để quy định cú pháp và cấu trúc các thẻ được sử dụng trong tài liệu XML.
  • Do có các tính chất trên nên tài liệu XML có thể dễ dàng được xử lý bởi các ứng dụng và XML là ngôn ngữ dữ liệu cho Web Service.
SOAP (Simple Object Access Protocol)
  • Là giao thức cấp cao dựa vào XML để trao đổi thông tin trong các hệ thống phân tán.
  • SOAP cung cấp một định dạng chung cho các dữ liệu được trao đổi giữa client và server.
  • Đơn vị trao đổi thông tin cơ bản của SOAP là 1 SOAP message.
  • SOAP Message chính là một SOAP Envelope trong đó chứa SOAP Body và có thể chứa SOAP Header.
  • SOAP Envelope xác định XML Namespace và loại encoding được sử dụng trong SOAP message.
  • SOAP header được sử dụng để cho các ứng dụng quyết định việc xử lý SOAP message như thế nào.
      
              
                    
                     ?
              
     


WSDL (Web Service Definition Language)
  • Client và server giao tiếp với nhau thông qua việc gửi các SOAP message. WSDL định nghĩa ra nội dung và câu trúc của SOAP message đó.
  • WSDL là tài liệu XML đùng để mô tả interface của Web service.
  • Tài liệu WSDL định nghĩa một lược đồ XML cho việc mô tả web service.
  • Vd:
      
             
                   
            
      
      
             
      
      
              
       
       
              
       
       
              
       
       
               
       
       
               
       
       
                
       
       
                
                        
                        
               
               
                         
                         
               
               
                         
                         
                         
               
       
       
                
                
                        
                        
                        
                
                
                         
                         
                         
               
               
                         
                         
                         
                        
               
         
        
                
                       
                
        

Các công nghệ của Java hỗ trợ Web Service

JAXP (Java API for XML Processing)
  • Là một tập hợp các API cho việc xử lý tài liệu XML
  • Bao gồm các tập API con để xử lý tài liệu XML như DOM, SAX.
JAX-RPC (Java API for XML – Remote Produce Call)
  • Tập hợp các API để cung cấp các service bằng XML-RPC.
  • Cho phép Java gọi các phương thức của Web Service thông qua các hệ thống phân tán.
  • Không giới hạn việc sử dụng nền Java cho cả client và server. Client sử dụng JAX-RPC có thể gọi Web Service trên các nền tảng khác nhau. Client không dùng Java cũng có thể gọi các Web Service sử dụng công nghệ Java với Jax-RPC.
  • Được thiết kế để đơn giản việc sử dụng SOAP. Lập trình viên không cần phải làm công việc xử lý trực tiếp với SOAP mà chỉ cần sử dụng ngôn ngữ Java và các tập API của Java.
  • Từ phiên bản WSDP 2.0. JAX-RPC được đặt tên lại thành JAX-WS.
JAXB (Java API for XML Data Binding) 
  • Cung cấp các phương thức để mapping tài liệu XML thành 1 tập hợp các đối tượng Java và các Interface dựa trên lược đồ XML.
  • Làm việc trực tiếp với XML thay vì phải xử lý nội dung XML.
  • Công việc được thực hiện với 2 bước chính đó là:
    • Sử dụng bộ binding compiler được cung cấp với JAXB để binding lược đồ XML thành các đối class Java và các interface.
    • Sử dụng các phương thức gắn kết dữ liệu XML với các class và interface được tạo ra.
SAAJ (SOAP with Attachment API for Java)
  • Một tập hợp API tuân theo đặc tả SOAP with Attachment.
  • Dùng để tạo ra SOAP message có hoặc không có đình kèm dữ liệu nhị phân.
XWS (XML and Web Service Sercurity) 
  • Cung cấp bảo mật cấp SOAP message cho các ứng dụng sử dụng JAX-RPC.
  • Thông tin bảo mật được chứa trong SOAP header.
  • Mục đích dùng để chống các sự truy cập trái phép khi message được gửi trên đường truyền.
Các công cụ để sử dụng các công nghệ của Java cho web service.  

APT
  • Apt là công cụ cung cấp phương tiện cho việc xử lý các annotation được thêm vào trong Java bởi JSR 175. JSR 175 cho phép lập trình viên khai báo những loại bổ nghĩa cấu trúc mới để kết hợp với thành phần trường, phương thức, class.
  • Ant task cho apt được cung cấp bởi JAX-WS
  • Vd:
sourcedestdir="directory for generated source files" nocompile="true|false" print="true|false"
factorypath="" factory="name of AnnotationProcessorFactory to use" xlistannotationtypes="true|false"
xlistdeclarations="true|false" xprintaptrounds="true|false" xprintfactoryinfo="true|false" xclassesasdecls="true|false" debug="true|false" debuglevel="lines|vars|source" nowarn="true|false"
deprecation="true|false" bootclasspath="" extdirs="" endorseddirs=""
sourcepath="" encoding="specify character encoding used by source files"
target="generate class files for specific virtual machine verrsion">
...
...


  • Bảng các tuỳ chọn của công cụ apt
- verbose: In ra thông báo
- classpath: Đường dẫn đến các class và thư viện
- destdir: Xác định nơi chứa các class được biên dịch
- sourcedestdir: Xác định nơi chứa các file source java được tạo ra
- nocompile: Không biên dịch các file source java
- print: In ra máy in
- debug: Tạo ra các thông tin debug
- debuglevel: Cấp độ debug: lines, vars, sources
- nowarn: Không tạo ra các cảnh báo
- sourcepath: Xác định đường dẫn đến các file source java
- encoding: Xác định encoding được sử dụng cho các file source java
- target: Tạo ra các file class ứng với một phiên bản nhất định
- option: Các tuỳ chọn đối với bộ xử lý annotation
  • Vd:


Trong build.xml bạn sẽ thấy rõ hơn.

      
      
               '
              
      
      
              
                     
              
       

WSImport
  • Công cụ để tự động tạo ra các file class và source java để làm việc với web service dựa vào tài liệu wsdl.
  • WSImport Ant task được cung cấp bởi JAX-WS.
  • Bảng các tuỳ chọn của wsimport
wsdl WSDL file
destdir:Xác định đường dẫn chứa các file class được tạo ra
sourcedestdir:Xác định đường dẫn chứa các file source java được tạo ra
verbose: Hiện thông báo
binding: Xác định find dùng để binding dữ liệu
package: Xác định package
  • Vd:

Cón Tiếp.
DangTrung.

Không có nhận xét nào:

Đăng nhận xét