Tuesday, September 9, 2014

Architecting assignment using jpa, ejb & jsf

Bước 1 : Tạo Web Application :


Bước 2 :Tạo Peristence -> Entity class from database để tạo kết nối với database và làm theo các bước sau





Bước 3 : Chọn SQL tương ứng và chỉnh thông số theo database của bạn 


Sau đó chọn dbo



Bước 4 : Chúng ta chọn các bảng cần thao tác :



Các class được sinh ra 


Bước 5 : Viết phương thức trong nhưng class được sinh ra sẵn 




Bước 6 : Tạo Session Bean :





Bước 7 : Tiếp đó tạo JSF ManagedBean :







Nhận xét : 

- EJB giúp người sử dụng đơn giản hóa việc code, giúp làm việc nhanh chóng dễ dàng không mất thời gian 
- EJB có thể nảy sinh nhiều lỗi phức tạp trong quá trình sử dụng





Bước 1 : Tạo Web Application :


Bước 2 : Tạo class Account entity :

Bước 3 : Tạo class ConnectionUtil để kết nối với dtb :


Bước 4 : Tạo class Data Access :
Bước 5 : Tạo 1 session bean :


Bước 6 : Tạo 1 trang JSF :


Bước 7 : Add Session Bean vào Java Managed Bean :


Source : http://www.mediafire.com/download/qs0iedj27wleakh/LoginDemo.rar

Introduction to Java EE & EJB








Định nghĩa : EJB(Enterprise Java Beans ) là 1 component của server.Nó là một thành phần chạy code bên phía server. Nó được dùng để xây dựng ứng dụng enterprise. Khi chúng ta muốn phát triển những ứng dụng enterprise lớn cho doanh nghiệp thi chúng ta mới cần sử dụng EJB.
Mỗi EJB bao gồm một cái business applications.

EJB được gọi là một component độc lập vì nó là một đoạn code đưa ra ngoài một behavior và chúng ta sẽ gọi ra khi cần sử dụng và được tái sử dụng ở rất nhiều ứng dụng khác nhau 
Tại sao nên sử dụng EJB :
- Vì dễ tạo ra.Nó là một lớp java bình thường chúng ta chỉ cần thêm một chút các nocation vào là có thể tạo ra một EJB.
- EJB có dạng component nên nó rất dễ tái sử dụng.
- EJB được nhúng trong các server contener mà các contener này có khả năng hỗ trợ cho việc phát triển ứng dụng lớn nên nó có tính scalable rất cao.
Tổng thể về EJB :  Là một ứng dụng cho người dùng , có cấu trúc nhiều tầng  , nhiều lớp. 
Tầng đầu tiên là : tần giao diện (tâng client) đó có thể là trình duyệt hay một ứng dụng bình thường.
Tầng tiếp theo là tầng web : tầng này được phát triển bằng servlet hoặc Jsp tầng này lấy các câu lệnh của tầng EJB để hiển thị lên tầng giao diện
Tầng EJB có nhiện vụ sử lý nghiệp vụ và tầng cuối cùng là tầng làm việc với database.


Nhận xét : 
Ưu điểm :  không phụ thuộc vào nền tảng do được phát triển ở dạng component nên có tính tái sử dụng và được chạy trên server.
Java EE là cho phép chúng ta xây dựng ứng dụng tốn rất ít công sức.

Nhược điểm :  phát triển các ứng dụng vừa và nhỏ thì không nên sử dụng EJB.

Install glassfish 4 as a windows service

Các bước cài GlassFish như một webService trong Windows 

Bước 1: Chúng ta vào https://glassfish.java.net/download.html để tải JDK và GlassFish.
Bước 2:Sau khi tải GlassFish chúng ta sẽ giải nén và copy đường dẫn thư mục.
Bước 3: bật CMD run as Administrator và pase đường dẫn vào đó
Bước 4:chạy câu lệnh : asadmin create-service
Bước 5: Chạy task manager chọn tab Services, run domain1



Các bạn có thể xem thêm tại đây : https://www.youtube.com/watch?v=UmQnihW1Hdw&feature=youtu.be

Saturday, August 23, 2014

Rest Architecture & Restful Webservice

1:Giới thiệu
  - Trên giao diện web dùng phương thức HTTP để làm việc. HTTP dùng để trao đổi thông tin giữa client và server.
  - Những công nghệ web chuẩn: SOAP, WSDL, XML, URL
  - Để phát triển web service có 2 cách tiếp cận:
     + Standards-based: dựa trên SOAP
     + REST-based : đơn giản hơn SOAP, coi web service là tài nguyên trên HTTP


2: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.

3:Đặc điểm: 
   -Có client, server : Client gửi thông tin lên server, và server sẽ trả kết quả về
   -Có 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
   -Có cache :Client có thể giữ lại thông tin mà server trả về
   -Code on demand: Server sẽ chuyển code về client
   -Có phân tầng

4: RESTful 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

5:Bộ thư viện JAX-RS
  - Là 1 bộ thư viện chính trong Java EE
  - Dựa trên annotation

Nhận xét:
 - REST giup 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 
 - 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

1: Các bộ thư viện

   J2EE cung cấp 4 thư viện Web Service APIs để làm việc với Web Service:
       + 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).

2: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ữ

3: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

4:JAX-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

5:JAXR

-Làm việc với UDDI và ebXML Registry
-UDDI Registry : Giúp cho Web Service Provider làm việc dễ dàng
-ebXML Registry
     +Hỗ trợ validate dữ liệu
     +Hỗ trợ việc đóng gói object
     +Hỗ trợ giao tiếp
     +Hỗ trợ phân quyền dữ liệu

6: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

7: JAXB

  - Cung cấp các class Java sinh ra từ XML schemas  có tác dung giúp thao tác với file XML dễ dàng hơn.
  - Một số hạn chế 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.