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

Install glassfish 4 as a windows service

Đầu tiên truy cập vào trang : https://glassfish.java.net/download.html


- Download về và giải nén :
- Vào cmd click chuột phải chon Admin và làm theo hình :
- Chạy và thành công :




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

Developing web service using JAX-WS

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.



Tổng Kết :
- Một web service sử dụng giao thức chuẩn mở nên có thể dùng cho nhiều client
- Dễ dàng sửa chữa web service mà không ảnh hưởng đến client
- Code kết nối client với service rất đơn giản và gọn gàng
- Tuy nhiên, ứng dụng khá chậm
- Hiểu cách làm Web service.
- Biết cách làm Web Service.

Overview of Rest Architecture & Restful Webservice

I. REST :
- Là 1 bộ những hướng dẫn và nguyên lý áp dụng trong việc thiết kế trên môi trường mạng
- REST không phải là giao thức, cũng ko phải là chuẩn.
II. Đặc Điểm của REST :
- Nguyên lý làm việc ở đây là trong một ứng dụng các client sẽ gửi thông tin lên server và các server sau khi nhận thông tin sẽ trả kết quả về với client.
- Giao thức Http là Stateless khi client gọi lên server thì client phải gửi toàn bộ các thông tin cần thiết để server có thể nhận biết client ấy và trả về.Khi xử lý xong thi server sẽ quên ngay lập tức
- Cache : các client có thể giữ lại các thông tin mà server gửi trả về .
- Code on Demand : mỗi khi server cần một thông tin gì đó thì server sẽ chuyển code đó về.
- Tất cả các tài nguyên được quy về một chuẩn duy nhất.
III. REST full web service :
- Dựa trên Rest
- Dựa trên HTTP
- Không phụ thuộc vào nền tảng và ngôn ngữ
- 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
IV. Bộ thư viện JAX-RS :
- Là một bộ thư viện chính thống trong java EE và được dựa trên annotation.
V. Tổng Kết :
- Nhờ có REST mà server được giảm tải công việc , ứng dụng sẽ nhanh hơn
- Mọi tài nguyên được quy về 1 dạng duy nhất nên dễ quản lý và đảm bảo an toàn
- Rest nhẹ hơn SOAP rất nhiều
- SOAP là chuẩn nhưng càng ngày, những ứng dụng lớn đều chuyển sang dùng REST

Java API for Webservice

- Có 4 loại thư viện chính :
+ JAX-RAC.
+ SAAJ.
+ JAXR.
+ JAXP.
I. XML Web Service :
-Tất cả các thao tác làm việc với web service đều thông qua xml dựa trên giao thức HTTP, XML, SOAP, 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ữ.
II. JAXP :
- Sử dụng SAX để quét 1 file XML <đọc>
- DOM ,DOM 2
- Bộ thư viện Transformer để transform các thông tin
III. JAXP-RPC :

-Server-Side RPC Runtime là nơi cung cấp các dịch vụ web service
-Client gửi thông tin đến server dưới dạng SOAP trên giao thức HTTP và ngược lại
-Client và server làm việc với nhau thông qua WSDL
-Ưu điểm :
+Sử dụng môi trường SOAP là chuẩn duy nhất trên web service
+ Sử dụng 2 quá trình marshalling and unmarshalling.
+Code trên java rất đơn giản
-Cung cấp ba phương thức làm việc :
+ Synchonorous request- response mode:Client phải đợi server hoàn thành
+ One way RPC mode: Không nhận thông tin trả về
+ Non-blocking RPC invocation mode:Client vẫn có thẻ làm những công việc khác
IV. JAXR :

- AXR cho phép các lập trình viên phần mềm Java để sử dụng duy nhất, dễ sử dụng trừu tượng API để truy cập vào một loạt các cơ quan đăng ký XML.
- Một mô hình thông tin thống nhất JAXR mô tả nội dung và siêu dữ liệu trong đăng ký XML.
- JAXR cung cấp cho các nhà phát triển khả năng viết các chương trình khách hàng registry bị di động trên đăng ký mục tiêu khác nhau.
- JAXR cũng cho phép khả năng giá trị gia tăng vượt ra ngoài các văn phòng đăng ký bên dưới.
V. SAAJ :
- Cho phép người sử dụng tạo và gửi thông điệp SOAP với đính kèm thông qua package javax.xml.soap
- SOAP cung cấp định dạng tin nhắn cơ bản cho Web services. Nó cho phép người dùng tạo và đọc tin nhắn theo chuẩn SOAP 1.1 và SOAP với đính kèm.
VI. JAXP :
- Không chỉ là bộ thư viện trên java làm việc với webservice mà nó được dùng trong rất nhiều các thư viện khác.Nó có nhiệm vụ convert các dữ liệu java sang XML và ngược lại.
VII. Tổng kế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.
- Mỗi bộ thư viện có chức năng và nhiệm vụ riêng.
- Tuy nhiên, việc học tất cả các thư viện đòi hỏi nhiều thời gian

Thứ Bảy, 16 tháng 8, 2014

Introduction to web service

I. Định nghĩa Web Service :

- Là sự kết hợp các máy tính cá nhân với các thiết bị khác, các cơ sở dữ liệu và các mạng máy tính để tạo thành một cơ cấu tính toán ảo mà người sử dụng có thể làm việc thông qua các trình duyệt mạng.
- Web Service bao gồm :
+ Là thành phần software của phần mềm.
+ Trong mỗi web service chứa nhiệm vụ riêng của nó.
II. Đặc Điểm của Web Service :
- Được xây dựng trên XML và những giao thức chuẩn đó là :
+ HTTP (HyperText Transfer Protocol).
+ SOAP (Simple Object Access Protocol)
- XML là một ngôn ngữ không phụ thuộc nền tảng
- Web service không phụ thuộc vào nền tảng và thậm chí web service không phụ thuộc vào ngôn ngữ.
--> Web service cung cấp dịch vụ trên java, cũng có client từ worl net, PHP hay bất kỳ nền tảng nào khác.
III. Sử dụng của Web Service :
- Wb service để tích hợp các thành phần, các ứng dụng khác nhau trong một doanh nghiệp hoặc cần kết nối các buisness khác nhau thì dùng đến web service.
IV. Cách hoạt động của Web Service :
- Client sẽ gọi lên server trên môi trường internet sử dụng ngôn ngữ SOAP trên giao thức HTTP. Trên phương thức SOAP nó sẽ phân tích để hiểu client muốn gì. Sau khi hiểu xong server sẽ xử lý và trả về SOAP dưới dữ liệu XML.
V. Component của Web Service :
- SOAP (Simple Object Access Protocol): truyền dữ liệu.
- WSDL (Web Service Description Language) : mô tả.
- UDDI : dùng để mô tả, tìm kiếm, tích hợp các client và server của web service.
1. SOAP (Simple Object Access Protocol) :
- SOAP áp dụng XML để xác định dữ liệu dạng văn bản qua HTTP và SMTP.
- Web Service dùng SOAP trong quá trình truyền tải dữ liệu.
- SOAP không phụ thuộc ngôn ngữ lập trình hay bất cứ nền tảng nào vì nó dùng XML.
- SOAP gồm nhiều phần :
2. WSDL (Web Service Description Language) :
- WSDL là ngôn ngữ được sử dụng để mô tả đầy đủ về Web Service theo chuẩn XML như các phương thức, kiểu dữ liệu,… dựa trên XML schema.
3. UDDI :
- Universal Description, Discovery, and Intergration (UDDI) là một tập các quy tắc đăng ký và tìm kiếm thông tin các Web Service. Nó đóng vai trò như service broker cho phép người sử dụng dịch vụ tìm đúng nhà cung cấp dịch vụ cần tìm.

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

Application of xml in web

I. Generating XML Data from Databases :
-Chúng ta có thể dùng rất nhiều các kỹ thuật khác nhau :
+Dùng SQL để lấy dữ liệu từ database.
+Sau đó dung Xpath, XQuery, DOM, SAX.
II.Transforming Data into HTML :
- Chúng ta có thể Generate dữ liệu từ dạng XML sang HTML bằng 3 cách:
+ Client-Side Transformation : Chuyển dữ liệu có dạng XML hoặc HTML đến client. Sau đó, client sẽ dùng XSLT để biến đổi sang dạng tương ứng.
+ Server-Side Transformation: Ngay trên server để biến đổi sang dạng tương ứng rồi chuyển đến client.
+ External Transformaton.
III. Transforming Data into PDF:
- Nguồn dữ liệu đầu vào là duy nhất XML, sau đó có thể involves ra các định dạng khác nhau
- Cụ thể, trong PDF, chúng ta có thể dùng XSL-FO
IV. Importing\Exporting XML Data :
- Chúng ta hoàn toàn có thể dùng những công cụ khác nhau để Importing\Exporting dữ liệu từ XML sang database và ngược lại.
V. Validating Well-Formdness :
-Chúng ta phải kiểm tra xem XML có đúng định dạng hay không
-Các bước để kiểm tra
+ Kết nối , phân tích dữ liệu XML.
+ Tạo SchemaFactory.
+ Nạp W3C XML schema.
+ Phê chuẩn DOM tree.
+ Kiểm tra lỗi.
VI. Nhận xét:
- Chúng ta có thể thấy XML và Web application có thể áp dụng rất linh hoạt.
- Việc chuyển đổi dữ liệu từ XML sang các dạng khác rất dễ dàng và nhanh chóng .
- Có nhiều cách để kiểm tra tính hợp lệ của file XML

XML database and mapping

I. XML như Database :
-Sử dụng xml như một cơ sở dữ liệu
-Dùng để lưu trữ thông tin, hỗ trợ chúng ta truy xuất, quản lý thông tin một cách dễ dàng nhất
-Lưu trữ dữ liệu ở xml rất đơn giản
-Định dạng xml vô cùng phổ biến
-Convert dữ liệu từ xml sang các định dạng khác đơn giản
II. Phân Loại :
- XML Database có hai loại chính:
+ XML-Enabled : hỗ trợ để sử dụng XML
+ Native XML : thay đổi và lưu trữ dữ liệu dưới dạng XML.
III. Mục Đích :
- Không phụ thuộc nền tảng, công nghệ
- XML dùng để mo ta thông tin
- Thông tin được mô tả dạng nodes và cho phép chúng ta tổ chức các node lồng nhau
- Thông tin có thể trùng nhau.
IV. Tổ chức CSDL XML :
- Data-Centric Documents: Tổ chức dữ liệu theo cấu trúc (Soap)
- Document-Centric Documents: XML không có cấu trúc chặt chẽ như Data-Centric Documents mà có thêm những thứ khác như tài liệu HTML…
V. Object :
- Object Là mỗi node trong XML được chuyển đổi.
- Các thư viện để biến đổi tài liệu XML sang object và ngược lại
VI. Native XML Databases :
- Mọi thông tin được lưu trữ dưới dạng XML
- Hỗ trợ truy xuất cơ sở dữ liệu bằng query
- Dùng XSLT để lấy dữ liệu từ trong file XML
-Hỗ trợ việc cập nhật dữ liệu
VII. Mapping giữa CSDL ở dạng quan hệ và CSDL XML :
- Mapping rất đơn giản.
VIII. Mapping CSDL XML và object :
- Mapping phức tạp hơn.
IX. Nhận Xét :
- XML rất phổ biến.
- Cập nhật, truy xuất dữ liệu từ file XML đơn giản và dễ dàng.
- Sử dụng XML dễ dàng.

Overview of Dom level 2

I. DOM Level 2 là gì :
-DOM Level 2 là DOM được xây dựng dựa trên DOM Level 1
-DOM Level 2 có 6 module khác nhau
+ Traversal giúp di chuyển trên cái cây dễ dàng hơn.
+ Range giúp cắt một đoạn trên file XML.
+ Event giúp xử lý các event.
+ Views, HTML , Style.
II. CORE và RANGER :
- Core: DOMImplementation, DocumentFragement, Document, NodeList, Attr, Element
- Range: Range, DocumentRange
III. Module Event :
- Được xây dựng dựa trên module DOM Level 1.
- Không bắt buộc phải có.
- Giúp chúng ta đăng ký, định nghĩa thêm các event khác nhau.
IV. Event Flow :
- Traversal module
- 3 interface :
+ TreeWalker
+ Nodelterator
+ NodeFilter
- Css module :
+ CSSStyleSheet,
+ CSSRuleList,
+ CSSHediaRule,
+ CSSStyleDeclaration.
V. Nhận Xét :
- Vì DOM Level 2 được xây dựng dựa trên DOM Level 1 nên DOM level 2 có những tính năng vượt trội hơn DOM Level 1.
-Tính bảo mật của DOM Level 2 sẽ cao hơn và an toàn hơn

Overview DOM

I. Tại sao lại dùng DOM :
Chúng ta sử dụng DOM vì SAX có một nhược điểm là nó không cho chúng ta truy suất tới bất kì một điểm nào ngay lập tức trong file xml mà phải đọc thông tin 1 cách tuần tự từ trên xuống dưới.Và việc đọc dữ liệu từ file XML dùng SAX rất phức tạp đặc biệt cho những chức năng tìm kiếm phức tạp do không hỗ trợ DTD , không có nhiều thông tin về Lexical và không thể dùng SAX để cập nhật thông tin của 1 file XML.
II. DOM :
- DOM có tất cả các đặc điểm mà SAX không có
- Có thể truy xuất vào nhiều tài liệu cùng một lúc
- Có thể quản lý các cấu trúc dữ liệu phức tạp
- Cho phép thay đổi dữ liệu
- Cho phép truy xuất đến các thành phần trong XML một cách ngẫu nhiên, liên tục.
III. Các thành phần của DOM :
- DOM có cấu trúc hình cây.
IV. Cách thức làm việc với DOM :
- Tương tự như trong SAX, SAX có SAXParser thì trong DOM có Document Buider và Document Buider Factory, XML data.
V. Nhận xét :
-  DOM có tất cả các ưu điểm và giải quyết được tất cả các nhược điểm của SAX.
- DOM sẽ phân tích toàn bộ dữ liệu XML trong bộ nhớ trong khi SAX chỉ phân tích một phần nhỏ trong bộ nhớ.

Thứ Ba, 5 tháng 8, 2014

Use Validator to validate xml against a schema

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.




- Chạy :
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.





- Chạy :


XPATH

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.




- Chạy :


Tổng Kết :
 - Có vai trò rất quan trọng trong quá trình trao đổi thông tin, dữ liệu.
- Code đơn giản và ngắn gọn.
- Hiểu hơn về XPath.
- Biết cách làm XPath.

JAXP and XML Tranformation (Trax)

Create an application, which accepts an XSLT file as its first argument and XML document as second argument. Then, create an application using the following classes, which transforms a Source and sends the output to a Result object.
1. Use the TransformerFactory class and its methods.
2. Use the Transformer class and its methods.




- Chạy :
* Tổng Kết :
- Việc chuyển đổi XML thành các định dạng khác là rất cần thiết và quan trọng.
- Biết cách chuyển đổi XML.
- Hiểu hơn về XML.