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

Session bean

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


Bước 2: Thêm jdbc4 để kết nối với cơ sở dữ liệu



Bước 3: Tạo class Account.java



Bước 4: Tạo class ConnectionUtil.java để kết nối với database



Bước 5:Tạo class AccountDataAccess.java để viết code login





Bước 6:Tạo 1 SessionBean




Bước 7:Tạo 1 JSF Managed Bean



Bước 8: Add SessionBean vừa tạo vào trang JSF Managed Bean




Bước 9: Viết code cho trang index.xhtml


Kết quả:





Nhận xét
-Có 2 loại session bean phổ biến là stateless và stateful.
-Stateless bean không lưu trạng thái giao tiếp của client
-Bạn có thể sử dùng stateless bean để thực hiện bất cứ action nào trong ứng dụng
-Stateful bean có khả năng giữ lưu trữ trạng thái giao tiếp của client



Describe overview of technologies of Java EE & EJB

I: Java EE
  1: Thế nào là Java EE


     -Là nền tảng (platform , còn gọi tắt là J2EE) mở, chuẩn để phát triển, triển khai, và quản lý các ứng dụng doanh nghiệp hướng thành phần , ứng dụng Web, Server

  2: Tại sao lại dùng Java EE
     -Với developers
          +có thể sử dụng bất kỳ J2EE implementation để phát triển và triển khai
          +có rất nhiều tài nguyên trong cộng đồng J2EE
          + Sử dụng các thành phần có sẵn của bên thứ 3
     -Với Vendors
          +tự do sáng tạo trong cài đặt mà vẫn đảm bảo tính phổ biến của ứng dụng
          +không cần create/maintain các APIs cho riêng mình
     -Với Business Customer
          +đảm bảo tính phổ biến của ứng dụng
          +có nhiều thực thi để lựa chọn
          +rất nhiều công cụ để phát triển

   3: J2EE APIs
     -Java 2 Standard Edition (J2SE)
     -Java Database Connectivity (JDBC)
     -RMI-JRMP – Remote Method Invocation (RMI)
     -Java Interface Definition Language (Java IDL)
     -Remote Method Invocation – Internet Inter- ORB Protocol (RMI-IIOP)
     -Enterprise JavaBean (EJB)
     -Servlet
     -Java Server Page (JSP)
     -Java Message Service (JMS)
     -Java Naming and Directory Interface (JNDI)
     -Java Transaction API (JTA)
     -JavaMail
     -JavaBean Activation Framework (JAF)

  4:Các thành phần của J2EE


       J2EE được xây dụng trên một mô hình container component. Bốn container component cốt lõi  liên        quan đến bốn kiểu container được hỗ trợ trong J2EE bao gồm, Application Client, Applet, Web và EJB:

     -Java Application – là 1 chương trình chạy bên trong Application Client container. Application Client container cung cấp những APIs hỗ trợ cho messaging, remote invocation, database connectivity và lookup service
     -Applet – Applet component là java applet chạy bên trong Applet container, chính là web browser có hỗ trợ công nghệ Java.
      -Servlet và JSP – đây là Web-based component chạy ở bên trong Web container. Web container là một môi trường run-time cho servlet và jsp để cung cấp một cơ chế cho việc chuẩn bị, xử lý, định dạng nội dung động
      - Enterprise JavaBean (EJB) – EJB component là business component chạy bên trong EJB container. EJB component là phần nhân, cốt lõi của ứng dụng J2EE. EJB container cung cấp các dịch vự quản lý transaction, bảo mật, quản lý trạng thái, quay vòng tài nguyên (resource pooling)

5:Vai trò của J2EE
     -J2EE cung cấp các dịch vụ, các hàm giao tiếp(API) và các giao thức để triển khai các ứng dụng đa tầng.
     -J2EE Framework cho phép phát triển những ứng dụng distributed bằng cách cung cấp 1 tập các dịch vụ cơ bản như quản lý transaction, kiểm tra security, quản lý trạng thái, quản lý tài nguyên

Nhận xét
-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.
-Java EEcó  rất nhiều các công cụ mã nguồn mở hữu ích cho phép mở rộng nền tảng hay đơn giản hóa quá trình phát triển ứng dụng
-Tuy nhiên, người ta không dùng Java EE để lập trình ứng dụng game

Thứ Ba, 26 tháng 8, 2014

Install glassfish server

Bước 1: Tải glassfish server 4.0



Bước 2: Giải nén



Bước 3: Vào file vừa giải nén, chọn glassfish ==> bin, copy đường dẫn



Bước 4: Mở cmd , chạy câu lệnh


     Kết quả:


Bước 5: Mở Tash Manager, chọn Services==> domain1, chuyển Status từ stop sang running


Kết quả:

II:Windows Service Applications 

1: Giới thiệu chung
  - Dịch vụ của Microsoft Windows, trước đây gọi là dịch vụ NT, cho phép bạn tạo các ứng dụng thực thi chạy trong Windows của mình.
  - Những dịch vụ này có thể được tự động bắt đầu khi máy tính khởi động, có thể được tạm dừng và khởi động lại, và không hiển thị bất kỳ giao diện người dùng

 2: Cách khởi tạo
  -Bạn tạo ra server của bạn như là một dự án Visual Studio của Microsoft.
  -Sau khi bạn tạo và xây dựng các ứng dụng, bạn có thể cài đặt nó bằng cách chạy dòng lệnh InstallUtil.exe và đi qua các đường dẫn đến tập tin thực thi của server
  - Bạn cũng có thể thực hiện rất nhiều các nhiệm vụ tương tự bằng nút Services trong Server Explorer hoặc bằng cách sử dụng các lớp ServiceController.

3: So sánh với Visual Studio Applications
  - Các tập tin thực thi của một dự án ứng dụng service phải được cài đặt trên máy chủ trước khi dự án có thể hoạt động một cách có ý nghĩa. Bạn không thể gỡ rối hoặc chạy một ứng dụng service bằng cách nhấn F5 hoặc F11, bạn có thể không ngay lập tức chạy một service
  - Bạn phải tạo các thành phần cài đặt cho các ứng dụng service
  - Các ứng dụng Windows service được chạy trong bối cảnh an ninh riêng và được bắt đầu trước khi người dùng đăng nhập vào máy tính Windows mà chúng được cài đặt.

4:Vòng đời của Service
  - Đầu tiên, các service được cài đặt vào hệ thống mà nó sẽ chạy
  - Sau khi dịch vụ đã được tải, bạn có thể bắt đầu một service từ các  Services Control Manager, từ Server Explorer, hoặc từ mã bằng cách gọi phương thức Star
  - Một dịch vụ đang chạy có thể tồn tại trong trạng thái này vô thời hạn cho đến khi dừng lại hoặc tạm dừng hoặc cho đến khi tắt máy tính. Một dịch vụ có thể tồn tại ở một trong ba trạng thái cơ bản: Chạy, Tạm dừng hoặc dừng.
  - Bạn có thể tạm dừng, dừng lại, hoặc tiếp tục một service từ các Services Control Manager, từ Server Explorer, hoặc bằng cách gọi phương pháp trong mã

5: Các loại Service
  -Có hai loại hình dịch vụ, bạn có thể tạo ra trong Visual Studio bằng cách sử dụng NET Framework.          + Service sử dụng Win32OwnProcess.
+ Service sử dụngWin32ShareProcess.

Nhận xét
-Các bước cài đặt của glassfish tương đối dễ dàng và ngắn gọn hơn so với tom-cat
-Windows server rất thuận tiện, dễ dàng triển khai, quản lý và sử dụng
-Càng ngày, hạ tầng bảo mật càng được quan tâm và nâng cao
-Tính ổn định cao, luôn luôn sẵn sàng, khả năng mở rộng tốt và hiệu năng đạt cấp độ doanh nghiệp

Thứ Ba, 19 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


     + File Post.java


     + File MyList.java để chuyển đổi dạng xml



Bước 2: Tạo Web Application để làm web services


Bước 3: Tạo Restful Web Service

 


Bước 4: Chỉnh sửa file ItemsResource.java

Bước 5 Tạo Java Application làm client


Bước 6: Add RESTful java Client



Kết quả: 


Demo: https://drive.google.com/file/d/0B-EFzewQLSMDWDlJNnQwdkdFYzg/edit?usp=sharing

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ời gian chờ server xử lý dữ liệu sẽ giảm thiểu
  - Do tính năng gọn nhẹ và nhanh chóng nên Restful đang ngày càng được sử dụng rộng rãi

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

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.

Bước 1: Tạo new project JavaWeb



Bước 2: Thêm Web Services

Bước 3: Viết code cho file web services




Test thử web services


Bước 4: Tạo new project Java



Bước 5: Thêm Web Services Client



Copy WSDL vừa test thử vào WSDL URL



Bước 5:Kéo method validateCart vào file main




Bước 6: Viết code cho file main



Kết quả



Demo: https://drive.google.com/file/d/0B-EFzewQLSMDRnJQblltbXVxbEU/edit?usp=sharing

Nhận xé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

Thứ Tư, 13 tháng 8, 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:
 -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

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.

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