Sunday, May 10, 2015

SIGNATURE VERIFIER - ADD2

SIGNATURE VERIFIER


Đây là chương trình mà mình đã từng làm từ lâu, cho phép bạn tải một dữ liệu (file cỡ nhỏ) để cho phép hiển thị thông tin

Bước đầu tiên chúng ta cần tạo giao diện để yêu cầu người dùng tải lên file họ cần, mình đặt tên class này là GenerateSignature




Code bên trong GenerateSignature cho bạn theo dõi




Tạo một Class tiếp theo có tên là VerifySignature với giao diện sau





Code bên trong VerifySignature



Mục đích sau khi chạy nó cho phép hiển thị chia sẻ công khai












Security MD5 and Crytography - ADD 2

Bảo mật MD5

Tạo class chuẩn bị cho MD5




Chạy thử ứng dụng




Select, insert into database/Prepare Statement - ADD 2

Chào các bạn.

Quay trở lại với nhiệm vụ lần này, chúng ta cần phải lấy dữ liệu từ database và nhập vào ứng dụng để có thể hiển thị thông tin trên NetBeans. Để dễ hình dung hơn mình xin bắt đầu luôn.

Tương tự như ví dụ 1 tại đây: Order Pizza, chúng ta cũng cần tạo một file có dòng lệnh cho phép kết nối tới SQL.



Tạo SQL




Cần chỉnh sửa lại chút để có thể update từ SQL




Sau khi add thêm các biến từ Net Beans như hình dưới




Thì quay trở lại SQL, ngoài danh sách tên đã có trên SQL thì ta có thể nhận ra đã thêm được các biến đã add từ Net Beans








Order Pizza Application - Task 1 AAD2

Nhiệm vụ của chúng ta sẽ làm về một ứng dụng cho phép đặt trước Pizza tới một cửa hàng.

Bước đầu tiên để làm ứng dụng chúng ta cần tạo một Package Order Pizza  trong NetBeans và tạo một Frame Java để thiết kế giao diện ứng dụng như hình dưới:



Tiếp theo chúng ta cần tạo một Database chứa các thông tin đặt hàng trong đó. Vào SQL và tạo dòng lệnh như dưới đây:





Quay trở lại với NetBeans, gõ dòng lệnh để có thể kết nối với SQL



Thêm các dòng lệnh cho các chức năng Xác nhận để thêm thông tin




Chạy thử ứng dụng sau khi hoàn thành, đây là mình đã show sản phẩm sau hoàn thành






Wednesday, September 10, 2014

Java EE Security

1. Authentication (Tính xác thực):


     Authentication được hiểu là quá trình xác thực thông tin, bạn hoàn toàn có thể đánh giá thông tin đang truy cập của một người (một tài khoản) đang truy cập vào hệ thống đã được xác định.

     Giả sử nếu không có quá trình này, bạn không thế xác định được thông tin tài khoản đó, đồng nghĩa với đó là không thể xem được thông tin. Và quan trọng nhất, khi có ai truy cập phá hoại Server thì bạn không thể nào truy tìm được để xử lí.


Mô hình minh họa cho quá trình Authentication.


Trong quá trình diễn ra, cần phải có yêu cầu xác thực. Sẽ có hai cách để làm việc này:

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

       - Digital certificates đượ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.


2. Access Control Lists (ACLs):

        - Hiển thị danh sách thông báo lượng người truy cập.

        - Có thể quản lí được các danh sách này.

        - Với mỗi một tập tin ACL riêng biệt thì nó có thể được tạo bởi nhiều mục. Trong đó có chứa các tài nguyên và tính được lượng người truy cập vào tài nguyên đó.

Mô hình hoạt động của Access Control Lists (ACLs)


3. Realms

    - Nói đơn giản thì đây là một cơ sở dữ liệu dành cho những người muốn sử dụng tài nguyên. Điều đó để xác định giá tri của một ứng dụng web.

    - Server authentication service có khả năng quản lí người sử dụng trong đó, gộp User và Group.


 4. Users and Principals:

      - Một người sử dụng (User) là một cá nhân được quy định tại các máy chủ ứng dụng yêu cầu trước đó.


5. Groups and Roles:

      -Groups (Nhóm) là một tập hợp các người dùng xác thực, được phân loại và có định nghĩa rõ ràng.

      -Roles (Vòng tròn) được hiểu rộng hơn so với Group, nó có thể bao gồm nhiều User theo nhóm.
      -Roles có thể tương tác với các Group, quản lí đối tượng, vai trò của họ trong nhóm để có thể dễ dàng xem xét và sàng lọc các User.


Mô hình hoạt động của Groups and Roles


Assignment Using JPA, EJP & JSF

Tạo 1 Web Application


Bước 2: Tạo tầng làm việc với CSDL(JPA)







             Kết quả:

Bước 3: Làm việc với CSDL



  
   Kết quả:

Monday, September 8, 2014

MDB: Message Driven Bean

1. Giới thiệu:

   A Message-Driven Bean (MDB) là một bean doanh nghiệp hóa để có thể cho phép các ứng dụng Java EE đồng bộ hóa quá trình message. MDB hoạt động tương tự như JMS: Java Message Service nhưng nhận tin nhắn dễ dàng hơn.

  Để dễ dàng hơn chúng ta sẽ làm một ứng dụng nhỏ có sử dụng MDB.


Sơ đồ thể hiện vai trò của MDB


2. Thực hành:

   Đề bài được giao cho lần này:

"Alpha is the name of a mail-order company. You are part the team that is developing a solution for automating the processes involved between order logging, invoicing, and the shipment of goods. You have to develop a message-driven bean that acts as an intermediary between the sub-systems that constitute the solution. Each of the subsystems is implemented in the form of entity beans. The first subsystem is where the orders are logged. As soon as the order is registered, a message is sent from the Order subsystem to the message-driven bean. The message-driven bean, in turn calls the other two subsystems, Invoicing and Shipping to proceed with the order. In other words, the message-driven bean that you develop should act as a trigger for the other two subsystems."
"Bạn là thành viên trong một công ty nhận order thư điện tử. Các đơn hàng đã đặt sẽ được lưu vào hệ thống và nhiệm vụ của bạn sẽ là gửi những bức thư đó tới nơi họ đã yêu cầu."


Trước tiên khi bắt đầu làm demo, bạn cần sẵn sàng chạy Server GlassFish trong NetBeans. Nếu bạn chưa cài đặt được thì hãy đọc bài viết: Install Glassfish to Windows Service Applications




 localhost:4848 trên trình duyệt để chạy Server GlassFish





Trong giao diện JMS Destination Resources, tạo mới





Đặt tên cho Resource






Kết quả sau khi tạo xong







Tiếp theo vào NetBeans để tạo mới Project





Tiếp tục tạo một class JSF Managed Bean (hoặc vào Other - JavaServer Beans)




Sau khi tạo xong, trong class đó, bạn click chuột phải và chọn Send JMS Message như hình dưới





Giao diện Send JMS Message hiện ra, nhấn tiếp OK




Kết quả sau khi add





Gợi ý thêm các biến cần thiết



Trang giao diện JSF




Tiếp theo ta tạo một EJB Module




Ta tiếp tục tạo một Message-Drive Bean




Chạy thử ứng dụng




3. Nhận xét:

Nhìn chung MDB có các cấu trúc và tính chất giống như JMS. Nhưng như mình nói ở trên thì MDB có nhiều chức năng hỗ trợ tốt hơn hẳn so với JMS. Và điều đặc biệt mà MDB có đó là nó có thể xử lí nhiều yêu cầu cùng một lúc thay vì hạn chế một yêu cầu như JMS.

Saturday, September 6, 2014

JMS: Java Message Service

1. Giới thiệu:

   Java Message Service là một dạng API cho phép gửi tin nhắn giữa hai và nhiều client với nhau, hay được hiểu là trao đổi giữa các khách hàng.

   Nhìn chung JMS có thể dễ dàng cho phép tạo, gửi và nhận các tin nhắn, thông tin. Hiện nay JMS đã cho phép cung cấp phiên bản 2.0 vào tháng 5 năm 2013.


Mô hình hoạt động của JMS



2. Thực hành:

"Demo 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."


"Thiết kế một phần mềm hệ thống dành cho trường học. Một trong vấn đề hiện nay mà nhà trường phải đối mặt đó là việc giáo viên xin nghỉ đột xuất. Và nhiệm vụ của bạn là phải làm một ứng dụng cho phép nhà trường gửi thông tin (email) tới các học sinh thông báo việc giáo viên thay thế. 
Là một thành viên trong nhóm phát triển, bạn cần xây dựng ứng dụng dựa trên mô hình JMS. Với session bean, có thể gọi các module khác nhau để xử lí các quá trình diễn ra."



Trước tiên khi bắt đầu làm demo, bạn cần sẵn sàng chạy Server GlassFish trong NetBeans. Nếu bạn chưa cài đặt được thì hãy đọc bài viết: Install Glassfish to Windows Service Applications




Gõ localhost:4848 trên trình duyệt để chạy Server GlassFish





Trong giao diện JMS Destination Resources, tạo mới





Đặt tên cho Resource




Kết quả khi tạo xong





Tiếp theo vào NetBeans để tạo mới Project





Tiếp tục tạo một class JSF Managed Bean (hoặc vào Other - JavaServer Beans)




Sau khi tạo xong, trong class đó, bạn click chuột phải và chọn Send JMS Message như hình dưới




Giao diện Send JMS Message hiện ra, nhấn tiếp OK




Kết quả hiển thị sau khi add xong





Khai báo các biến





Tiếp theo chúng ta sẽ tạo giao diện, tạo một JSF page để làm việc này



Gõ dòng lệnh để tạo giao diện



Tạo tiếp một Web Application khác




Tạo các class tương tự như Message Server ở trên




Giao diện JSF




Chạy ứng dụng trên Web


Bạn có thể tải demo trên: JMSMessage


3. Nhận xét: 
            Với JMS, bạn có thể dễ dàng tạo, nhận, gửi dễ dàng. Tuy nhiên điều đáng tiếc của JMS trong Project đó là không thể xử lí được nhiều yêu cầu cùng một lúc.