Thứ Ba, 9 tháng 9, 2014

Java EE Security

Autthentication :

-là quá trình xác thực ,nhằm xác định một tài khoản đang vào hệ thống.Nếu không có quá trình xác thực này ,hệ thống của bạn sẽ không biết được tài khoản nào đang truy cập để có các phản hồi phù hợp.

-Cụ thể trong ứng dụng EJB,các server trong EJB sẽ xác thực tài khoản đang đăng nhập thuộc kiểu tài khoản nào và cấp các role cho tài khoản đó.

-Có 2 kiểu xác thực:
 +Digital certificates có thể được sử dụng để xác định người dùng cuối cùng, máy chủ, và các thành phần phần mềm khác.
   +Digital certificate-based authentication có thể được sử dụng trên các máy chủ, khách hàng, hoặc cả hai, tùy thuộc vào nhu cầu của ứng dụng

Thứ Hai, 8 tháng 9, 2014

JMS

Yêu cầu : 
 TechSchool Solutions designs software systems for schools. One of the problemsthat the schools face is teacher absenteeism or teachers taking leaves on a short  notice. The schools find it difficult to call substitute teachers in such a short time. TechSchool Solutions is planning to build a system which would enable the school teachers to request for leaves using the school portal. The system would then send an e-mail to all the substitute teachers that have been registered in the system. As a member of the development team, you are required to build the JMS-based module. Your tasks involve developing a session bean that acts as a message listener and receives a message from the JMS queue whenever a teacher puts in a leave request. The session bean, then calls other modules that handle rest of the processes.

Giải quyết vấn đề : 
Bước 1:Mở trình duyệt gõ localhost:4848



Chọn Destination Resource

Chọn New

Bước 2 : Tạo 1 web application  sau đó ta tạo  một Java Managed Bean. Ở đây ta gọi JMS bằng cách sau : 



Code tự sinh sẽ như sau : 
Sau đó ta khai báo các thông số : 

Ở trang index ta điền nội dung : 
Kết quả thu được : 

JPA, EJP & JSF

Yêu cầu đề bài Apply to your course assignment by get done 2 user stories

Giải quyết ván đề :
B1 : tạo 1 web application : 
B2 : Tạo 1 entity class from database để liên kết database với server : 
ở mục Data Source ta chọn New Data Source để thêm connection : 
Sau đó chọn Database Conection và thêm new connection.
B3 : Chuột phải source code /new /Persistence/JPA Controller
Chọn Add All

Sau đó netbean sẽ tự sinh ra code.Ở mục PostJpaController ta code như sau : 
B4 : Chuột phải source code /new /Enterprise JavaBean/Session Bean 

Kết quả thu được : 
Nhận xét : 
- Lượng code phải làm khá ít phần lớn là code tự sinh do netbean
- Lập trình không phải tập trung vào quản lý hay truy xuất CSDL , mà chỉ tập trung vào vấn đề giải thuật
 -Có thể tái sử dụng các gói EJB trong nhiều ứng dụng khác nhau.

Chủ Nhật, 7 tháng 9, 2014

Create & Use Session Bean

Yêu cầu : sử dụng session bean áp dụng vào asm để làm chức năng login.

Giải quyết vấn đề : 
B1 : tạo 1 web application : 
B2 : Tạo 1 entity class from database để liên kết database với server : 
ở mục Data Source ta chọn New Data Source để thêm connection : 
Sau đó chọn Database Conection và thêm new connection.
B3 : Chuột phải source code /new /Persistence/JPA Controller
Chọn Add All

Sau đó netbean sẽ tự sinh ra code.Ở mục AccountJpaController ta code như sau : 

B4 : Chuột phải source code /new /Enterprise JavaBean/Session Bean 
B4 : Chuột phải source code /new /JavaServer Faces/JSF Managed Bean : 


Kết quả thu được : 





Nhận xét : 
- Gặp nhiều khó khăn với liên kết server
- Gặp lỗi rất khó sửa do không có kĩ năng đọc lỗi
- Code ít phần lớn là code tự sinh của netbean

install glassfish 4 as a windows service

Download server tại trang web : https://glassfish.java.net/download.html Sau khi download ta giải nén và copy vào thư mục C:\Program Files. bật CMD run as Administrator và pase đường dẫn vào đó.
chạy câu lệnh : asadmin create-service
sau đó máy sẽ cài đặt thư viện glassfish.
Chạy task manager chọn tab Services, run domain1

kết quả:

Thứ Bảy, 6 tháng 9, 2014

introduction to Java EE & EJB

Nội dung của bài học là giới thiệu về Java  Enterprise Edition và Enterprise Java Beans.




Đị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 : chạy trên java nên không phụ thuộc vào nền tảng do được phát triển ở dạng component nê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 : rất nặng nên khi chúng ta mốn phát triển các ứng dụng vừa và nhỏ thì không nên sử dụng EJB.

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

Java API for Webservice

Nội dung bài học : giới thiệu các bộ thư viện mà java cung cấp để chúng ta có thể làm việc với webservice bao gồm :
 + 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).


1/ Web service dùng XML : 
-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ó cấu trúc phi trạng thái , kiến trúc không đồng bộ và không phụ thuộc vào bất cứ nền tảng cũng như ngôn ngữ nào 
2/ Bộ thư viện JAXP : 
bao gồm thư viện SAX2, DOM ,DOM2 : có chức năng quét file XML và thao tác trên nó.

3/ Bộ thư viện JAX-RPC 
Là bộ thư viện có trong java E 1.4 có chứa mô hình bao gồm :
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 trên web service
      + Sử dụng 2 quá trình marshalling and unmarshalling.


4/ Bộ thư viện 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.
5/ Bộ thư viện SAAJ : 
- 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
 - 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

6/ Bộ thư viện JAXB : 
- 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.JAXB có cấu trúc như hình : 

   

Nhược điểm của JAXB

  • Cần XML phải có DTD hoặc Schame và thư viện này không thể sử dụng với XML nói chung được
  • Cần phải cho JAXB biết cây được tổ chức như thế nào để giúp ứng dụng đơn giản hơn
  • JAXB không hỗ trợ các cấu trúc của DTD như là Internal subsets, NOTATIONS, ENTITY và ENTITYS, Enumerated, NOTATION nó chỉ hỗ trợ cho Schame mà thôi