Thứ Năm, 28 tháng 8, 2014

Install glassfish as a Window service


Bước 1:Tải glassfish server từ trang chủ của glassfish



link

Bước 2:Vào thư mục chứa glassfish/bin ,copy đường dẫn .chạy cmd dưới quyền admin



Bước 3:Tạo biến môi trường để chạy lệnh start/stop server từ Run (Window + R)



Bước 4:Từ cửa sổ Run,go startserv



Bước 5:Trên cửa sổ brower ,gõ localhost:4848



Kết quả:



Với một vài bước cơ bản ta đã khởi động và chạy được glassfish như 1 window server.

Thứ Tư, 27 tháng 8, 2014

Introduction to JEE and EJB


-Enterprise Java Beans :
+ là thành phần nằm ơ phía server .
+ được sư dụng để xây dựng ứng dụng enterprise.
+ nó đóng gói các business login của ứng dụng
+ là nền tảng để phát triển di động ,tái sử dụng và khả năng mơ rộng ứng dụng sử dụng ngôn ngữ java.


EJb là 1 conponent

+ là một đoạn code truy tố 1 hành vi nào đó,chúng ta sẽ gọi nó khi cần sử dụng nghiệp vụ nào đó.
+ Nó có thể tái sử dụng ở nhiều ứng dụng khác nhau
+ EJB là thành phần ở phía server được sư dụng để xây dựng 1 phần đa dạng của 1 ứng dụng
+ Yêu cầu chính của 1 thành phần là đóng gói được hành vi của 1 ứng dụng .

 Lợi ích của EJB
+ Đơn giản
+ Khả năng tái sử dụng
+ Khả năng mở rộng
+ Giao dịch

Nhược điểm :
Khi ta phat triển ứng dụng nhỏ và vừa ta không nên dùng EJB vì EJB rất nặng.

Mulitiered Applications





Một ứng dụng mulitiered được chia thành 3 phần:
+ Client machine ;application client,dynamic HTML page
+ Java EE server : jsp,enterprise bean
+ Database server

The EJB container : la nơi quản lý các ejb ,quản lý toàn bộ vòng đời cho ứng dụng cho chúng ta.




Đặc điểm của EJB:
+ quản lý tài nguyên và vòng đời của EJB
+quản lý trạng thái
+giao dịch
+bảo mật
+khả năng truy vấn từ xa
+bền bỉ

Vai trò của EJB:
+ cung cấp các thành phần có khả năng tái sử dụng
+cung cấp server
+ cung cấp thi hành môi trường mức độ thấp
+gộp các thành phần lại với nhau
+




Các loại bean:
+Session bean gồm stateless ,stateful
+ Enity bean





Thứ Sáu, 22 tháng 8, 2014

Build restful web service


DEMO:Create an restful web services to bring weather information to your customer


Bước 1: Tạo Java Class Library để làm thư viện chung cả cả server và client




Tao weather.java class



     Tạo  WeatherList.java để chuyển đổi dạng xml





Bước 2: Tạo Web Application để làm web services,ơ đây ta sử dụng Restful Web Service





Bước 3: Chỉnh sửa file ItemsResource.java,fix dữ liệu mà ta mong muốn 




Bước 4: Tạo Java Application làm client,chú ý chèn thêm class library mà ta đã tạo ban đầu để lấy dữ liệu.




Bước 5:: Thêm RESTful java Client





Bước 6:Tạo controller Weather


Buoc 7: Tao index.xhtml de hien thi thong tin


Kết quả: 


Nhận xét:
  - Sử dụng restful  phức tạp hơn Soap
  - Tuy nhiên, ứng dụng nhanh hơn Soap

Thứ Hai, 18 tháng 8, 2014

Rest Architecture & Restful Webservice

REST

-là một tập những hướng dẫn và nguyên lý được áp dụng cho kiến trúc trên mạng.
-không phải là giao thức cũng không phải là chuẩn.
-là phong cách kiến trúc trên mạng hệ thống được thiết kế.
-có giao thức,thành phần dữ liệu,hyperlinks,và clients như là một phần của hệ thống.
+WWW là một ví dụ của kiến trúc REST

Đặc điểm của REST

-là client-server:client gửi request lên server ,server trả kết quả về cho client
- stateless: Client gửi toàn bộ thông tin lên server để server có thể nhận biết client là ai để trả về toàn bộ thông tin cần thiết. Sau khi xử lý xong, server sẽ quên ngay lập tức
-cache :Client có thể giữ lại thông tin mà server trả về,giúp cho ứng dụng nhẹ và chạy mượt hơn.
-Code on demand: Server sẽ chuyển code về client
-Có phân tầng




RESTfull Webservice

-dưa trên kiến trúc của REST
-truy vấn sử dụng HTTP
-nền tảng và ngôn ngữ độc lập
-trọng lượng nhẹ so với SOAP
-sử dụng Uniform Resource để gửi dữ liệu

Client gửi thông tin lên server thông qua HTTP request và server trả kết quả về dựa trên HTTP response.
Thông tin trả về có thể la JSON,XML...
Các phương thức của HTTP:
-POST:gửi thông tin lên server
-GET:lấy thông tin từ server về
-PUT: cập nhật thông tin
-DELETE:xóa thông tin trên server


Bộ thư viện JAX-RS

-là bộ thư viện chính thông trong Java EE ,xây dựng dựa trên annotation.
-Nguồn có 2 dạng:
+Root resource class
+Sub resource

Nhận xét: RESTfull Webservice đang được sử dụng thay thế cho SOAP nhờ vào những ưu điểm của nó mang lại trong việc xây dựng ứng dụng
-Nó giúp cho ứng dụng nhẹ và chạy mượt hơn.


Chủ Nhật, 17 tháng 8, 2014

Java API for Webservice

Các bộ thư viện mà java cung cấp để làm việc với webservice:
       + Java API for XML-based RPC (JAX-RPC).
       + SOAP with Attachments API for Java (SAAJ).
       +Java API for XML Registries (JAXR).
       +Java API for XML Processing (JAXP).

XML Webservice

XML Webservice làm việc với chuẩn giao thức web la http,soap và tcp/ip
-Đặc điểm:
    +cấu trúc phi trạng thái
    +kiến trúc không đồng bộ
    +không phụ thuộc vào nền tảng , ngôn ngữ


JAXP

-Thư viện SAX2 để đọc file XML nhưng không thể thao thác được dữ liệu
  -Thư viện DOM2 dùng để thao tác dũ liệu của file XML
  -Bộ thư viện Transformer để transform các thông tin

JAX-RPC

Ưu điểm cả RPC:
-SOAP là chuẩn duy nhất
-gồm 2 quá trình là:marshalling và unmarshalling
-Code trên java đơn giản,phần việc còn lại do rpc đảm nhận


-Synchronous request-response mode: client gửi request đến server và phải đợi server hoàn thành thì client mới làm việc tiếp
-One-way RPC mode: client gửi thông tin lên server và sau khi gửi xong là xong không quan trọng server xử lí như thế nào
-Non-blocking RPC invocation mode: client gửi thông tin lên server và vẫn làm các việc khác,và liên tục gửi các request lên server xem server đã xử lí xong chưa.Khi server xử lí xong sẽ trả về 1 số, 1 giá trị nào đó và client sẽ xử lí giá trị mà server trả 



JAXR API


-bộ thư viện làm việc với Registry
-Một registry là một nguồn chia sẻ cái mà thực hiện trong form của web service làm cho kết nối business y tới business dễ dàng hơn.



ebXML Registry Standard 


-Hỗ trợ validate dữ liệu, tích hợp đảm bảo dữ liệu toàn vẹn
-Hỗ trợ việc đóng gói các object có quan hệ với nhau
-Hỗ trợ giao tiếp synchronous (đồng bộ) và asynchronous(bất đồng bộ)
-Hỗ trợ chứng thực,phân quyền dữ liệu

SAAJ: giúp ta gửi file đính kèm trong web service

JAXB:Nhiệm vụ chính là convert xml sang đối tượng java và từ đối tượng java sang xml
Nhược điểm của JAXB:
-Yêu cầu DTD và XML Schemas.
-Khi tạo dữ liệu phải chỉ định JAXB biết cấu trúc cây
-Không hỗ trợ tạo DTD pháp lý như Notation, Entity hay Entities.


Nhân xét:Web service cung cấp rất nhiều bộ thư viện để thao tác dữ liệu XML dễ dàng và đơn giản hơn.,giúp tối ưu hóa ứng dụng.


Developing web service using JAX-WS

Demo : Happy Consumer International Bank (HCIB), a leading multinational organization having established branches all over the world is now starting its banking services in India. The Bank has employed you as a full time System Consultant with them. It wants to deploy a Web Service that will offer credit card validation and online banking facilities that are typically offered by all the multinational banks. The main priorities for the online banking system are reliability, availability and serviceability of the application. Additionally, the system should be highly scalable and secure as the bank expects substantial growth in the future. Consider yourself to be a part of the team that implements the credit card validation module. Develop a JAX_RPC based Web Service that exposes the boolean validateCreditCard(cardNumber) method. This method implements the logic for credit card number validation, and returns a boolean value indicating whether the card number is valid or not.

B1:Tạo mới web application,trong project này ta tạo service 



B2:Code phương thức validatdeCart 

B3:Chọn vào service vừa tạo ra,chuột phải chọn Test Service để lấy đường link của webservice

B4:Tạo java application để sư dụng webservice ta vừa tạo ra,trong project ta tạo Webservice client để dùng service vừa tạo.


B5:Code cho hàm main,ta kéo phương thức của webservice vào hàm main để sử dụng



Kết quả:


Source code:đây

Nhận xét:Web service giúp tối ưu hóa ứng dụng
-Dễ dàng chỉnh sửa trên service mà không ảnh hưởng đến client.



Thứ Năm, 14 tháng 8, 2014

introduction to web service

Webservice là gì

Webservice là thành phần của ứng dụng,cung cấp dịch vụ trên môi trường internet.


Trong một service :
-Là thành phần của phần mềm
-Bao gồm một vài business logic bên trong nó.
-Được truy vấn bởi clients tại bất kỳ vị trí nào.
Webservice được sử dụng cho lớp business để giao tiếp với clients khác.

Đặc điểm của Webservice

Webservice được xây dựng dựa trên XML và sử dụng protocol như:
-HTTP
-SOAP

XML là platform  ngôn ngữ độc lập

XML forms cho việc giao tiếp Webservice

Web services là tương thích

Tại sao cần Webservice

-Kết nối các thiết bị,các ứng dụng chạy trên nền tảng khác nhau.
-Chúng ta có rất nhiều hệ thống khác nhau,ta cần webservice để kết nối các hệ thống lại với nhau.Dùng web service để kết nối các business khác nhau,và tích hợp các ứng dụng lại với nhau.

Làm việc với Webservice 

Khi clients gọi đến server(Webservice) trên môi trường internet sử dụng giao thức SOAP, SOAP sẽ phân tích để xem client muốn gì.SOAP trả về dư liệu cho client dưới dạng XML.


Các thành phần của Webservice

Các thành phần chính của Webservice gồm các thành phần dưới đây:
-SOAP(Simple Object Access Protocol)
WSDL(Webservice Service Description Language):để mô tả về webservice
-UDDI (Universal Description,Discovery and Integration):dùng để phát hiện ,tìm kiếm và tích hợp các clientnts và server của webservice.


SOAP Message: là XML trọng lượng nhẹ dựa trên chuẩn giao thức.
-được sử dụng để trao đổi thông tin trên websevice .
-được sử dụng để chueyeent tin nhắn trên http và trên giao thức khác. 

SOAP message bao gồm 2 phần:
-XML declaration : khai báo
-SOAP envelope:chứa thông tin gửi đi gồm 2 phần:
+Header
+Body

WSDL(Webservice Service Description Language):để mô tả về webservice dưới dạng XML
-Bao gồm các thông tin thứ dưới đây:
+Các phương thức có sẵn
+Loại giao thức
+Tham số và trả về loại giao thức
+Vị trí của webservice

UDDI (Universal Description,Discovery and Integration):dùng để phát hiện ,tìm kiếm và tích hợp các clientnts và server của webservice.
+là nền tảng độc lập,được sử dụng để mô tả và xuất bản Webservice


Nhận xét:Webservice là một thành phần của ứng dụng ,nó không phụ thuộc vào nền tảng.
-Giúp tối ưu hóa ứng dụng
-Là 1 chuẩn của mô hình clients-server.

Thứ Sáu, 8 tháng 8, 2014

Use validator to validate xml against a shema

Module 10.1: Create a program that accepts two command line parameters. The first parameter must specify the name of an XML document and the second parameter must specify the name of a schema. The program should validate the XML document against the specified schema by creating a DOM source on the
document.

B1: Tạo 1 java application




B2:Tạo file tomcat-users.xml




B3:Tạo file tomcat-users.xsd để validate thông tin




B4:Triển khai code cho hàm main



Kết quả:






Module 10.2 :Create a program that accepts two command line parameters. The first parameter must specify the name of an XML document and the second  parameter must specify the name of Schema. The program must also validate the XML document against the specified schema by creating a SAX source on the document.


B1: Tạo 1 java application


B2:Tạo file tomcat-users.xml



B3:Tạo file tomcat-users.xsd để validate thông tin



B4:Triển khai code cho hàm main



Kết quả:




Nhận xét:
Validate là một bước quan trọng trong việc xây dựng các ứng dụng
Validator giúp cho chúng ta kiểm soát lỗi của file xml


Describe technologies to apply xml into web application

Generate xml data form DB 

Có 4 cách được áp dụng rộng rãi để lấy về dữ liệu xml đó là

-Application-Specific Query Language
-XMLPath (Xpath)
-XMLQuery (XQuery)

-Structured Query Language (SQL)


Transforming Data into HTML

Với sự các tính năng của XSTL stylesheets,dữ liệu lxml có thể được chuyển đổi sang  các định dạng khác nhau. như html. Với tác vụ này ta sẽ có 3 cách làm .
-Client side transformation:Cách , xml được chuyển về và được chuyển đổi sang định dạng tương ưng ở phái cient-side
-Server side transformation:Cách này thi quá trình chuyển đổi ngay trên server
-Extenal transformation : Ta sẽ có một nội dung khác để làm nhiệm vụ chuyển đổi này
Không chỉ có chuyển sang html mà ta có thể chuyến nhưng định dạng khác với xml nguồn, vd như ta sẽ có thể transform được dữ liệu sang dạng PDF

Transforming Data into PDF

Định dang PDF có thể được tạo ra bởi XSL-FO(EXTENSIBLE STYLESHEET LANGUAGE).
Quá trình chuyển đổi này gồm hai bước.
-Chuyển đổi xml thành XSL-FO bằng xstl
-Sau đó xử lý object nói trên bằng Formatting engine

Importing\Exporting XML Data

-Như vậy cũng thể import , export dữ liệu xml theo nhu cầu
-Với JSP ta có thể add dữ liệu từ tài liệu định dang xml sang cơ sở dữ liệu sql server và ngược lại.
Importing: Tạo dữ liệu trong db từ xml


Exporting; xuất dữ liệu từ db thành xml (webservice) phục vụ cho mục đich khác như ta đã đề cập

Nhưng một vấn đề cần lưu ý để làm nhưng việc ở trên là chúng ta phải có được một tài liệu xml đúng định dạng.


Nhận xét:

Các công nghệ giúp chúng ta dễ dàng chuyển đổi xml thành các dang khác nhau,vi dụ nhu html
-Việc áp dụng xml cho ứng dụng web ngay càng trở nên dễ dàng hơn bao giờ hết

Use Xpath

Module 9 :
In an organization, five hundred employees are working. Out of which some are apprentices. The Delivery Unit Head of that organization gave you the responsibility to develop a software, with which you can find the details of apprentices. Use the below files to develop the application:
1. The EmployeeDatabase.xml file holds the data of all employees.
2. Use XPath expressions.
In this application, the apprentices are defined in the trainee namespace while all other employees are defined in the default namespace. This application should count the number of apprentices and print their details on the user console.


B1:Tao moi java application

B2:Tao file employee.xml có nội dung như sau,ở đây ta có namspace để sử dụng bên hàm main


B3: Triển khai code cho hàm main,dùng namespaceContext và triển khai các phương thức override





Kết quả: ta tính được tổng số bản ghi



Nhận xét:
-Xpath có vai trò rất quan trọng trong quá trình trao đổi thông tin, dữ liệu
-Xpath cho phép ta chọn lựa những thông tin, dữ liệu nào mà ta muốn chuyển