You are on page 1of 18

Multipurpose Infrastructure for

Network Application
(MINA)
CÔNG TY CỔ PHẦN CÔNG NGHỆ CAO VÀ
DỊCH VỤ PHẦN MỀM FACENET
TỔNG QUAN, KIẾN TRÚC
1 VÀ CÁC MODULE CHÍNH

2 DEMO

3 THẢO LUẬN
01
TỔNG QUAN, KIẾN
TRÚC VÀ CÁC
MODULE CHÍNH
1.1 OVERVIEW

Apache MINA là một khung ứng dụng mạng giúp người dùng phát triển các ứng dụng
mạng hiệu suất cao và khả năng mở rộng cao một cách dễ dàng.
Nó cung cấp một API không đồng bộ qua các phương thức truyền tải khác nhau như
TCP / IP và UDP / IP thông qua Java NIO.

Apache MINA thường được gọi là:


● NIO framework · library
IO ? NIO ?
● Client · server framework · library

● a networking · socket library


1.1 OVERVIEW
Hợp nhất API cho các loại truyền tải khác nhau

Filter interface như một điểm mở rộng, tương tự


bộ lọc servlet

t và cấp cao
API cấp thấp

Hỗ trợ SSL out of box · TLS · StartTLS sử dụng


Java 5 SSLEngine
Features Mô hình Thread có độ tùy chỉnh cao, hỗ trọ I / O
thông qua StreamIoHandler

Khả năng tích hợp JMX

Ngăn chặn sự quá tải và điều tiết lưu lượng dữ


liệu
1.2 APPLICATION ARCHITECTURE

MINA là phần gắn kết


giữa ứng dụng và lớp
mạng bên dưới, có thể
dựa trên giao tiếp TCP,
UDP, in-VM Hoặc là giao
thức nối tiếp RS-232C cho
một khách hàng.
1.2 APPLICATION ARCHITECTURE
1.2.1 SERVER ARCHITECTURE

IOAcceptor lắng nghe trên mạng các kết nối / gói tin đến
Đối với một kết nối mới, một phiên mới được tạo và tất cả các yêu
cầu tiếp đến từ Địa chỉ IP/Port được xử lý trong phiên đó.

Tất cả các gói nhận được cho một Phiên, đi qua Chuỗi bộ lọc.
Sau đó, gói tin hoặc đối tượng được chuyển đổi đến IOHandler.
1.2.2 CLIENT ARCHITECTURE

Máy khách tạo IOConnector bắt đầu liên kết với


Server.
Khi tạo Connection, một Phiên được tạo và được
liên kết với Connection.
Application / Client ghi vào Phiên, dẫn đến dữ liệu
được gửi đến Server, sau khi truyền qua Filter
Chain.
Tất cả các phản hồi / thông báo nhận được từ
Server được truyền qua Filter Chain và đến
IOHandler để xử lý.
1.3.MODULES
Mỗi khi máy khách kết nối với máy chủ, một phiên mới sẽ được tạo trên máy
chủ ,một phiên cũng sẽ được tạo trên máy khách.
Session Một phiên được sử dụng để lưu trữ thông tin liên tục về kết nối, và bất kỳ loại
thông tin nào mà máy khách hoặc máy chủ có thể cần sử dụng trong quá trình
xử lý yêu cầu.

IoService là 1 interface được implement bởi :IoAcceptor: ở phía server và


IoConnector ở phía client.

*Các lớp triển khai IoAcceptor:


IO Service
NioSocketAcceptor : IoAcceptor vận chuyển Socket không chặn(dùng cho TCP)
NioDatagramAcceptor : IoAcceptor truyền tải UDP không chặn
AprSocketAcceptor : IoAcceptor vận chuyển Socket chặn , dựa trên APR
VmPipeSocketAcceptor : IoAcceptor trong VM
*phía IoConnector cũng có các lớp tương ứng.

Nhiệm vụ:Quản lý phiên(session), Quản lý chuỗi bộ lọc(Filterchain),Lệnh gọi


trình xử lý(Handler),...
1.3.MODULES

Xử lý tất cả các sự kiện I / O do MINA kích hoạt. Giao diện là trung tâm của
IO Handler tất cả các hoạt động được thực hiện ở cuối Chuỗi bộ lọc.

Lọc tất cả các sự kiện và yêu cầu I / O giữa IoService và IoHandler.Bộ lọc có
thể được sử dụng để sửa đổi nội dung của gói (như chuyển đổi thành Đối
tượng, thêm / xóa thông tin, v.v.). Một số bộ lọc :
Filter -LoggingFilter ghi lại tất cả các sự kiện và yêu cầu.
-ProtocolCodecFilter chuyển đổi ByteBuffer đến thành message POJO và
ngược lại.
-CompressionFilter nén tất cả dữ liệu.
-SSLFilter bổ sung hỗ trợ SSL - TLS - StartTLS.
02

Demo
2. DEMO

2.1 CÁCH CÀI ĐẶT

Thêm dependency vào file pom.xml :

<dependency>
<groupId>org.apache.mina</groupId>
<artifactId>mina-core</artifactId>
<version>2.0.7</version>
</dependency>

Nên thêm dependency của log4j vào để sử dụng log4j in ra log.


2. DEMO
2.2 .Server

Tạo kết nối ở phía server


2. DEMO
2.3.Client

Tạo kết nối


phía client

Thực hiện kết


nối.
2. DEMO
2.3 .Server Handler

Xử lí các yêu cầu từ client đến server


2. DEMO
2.4.ClientSession Handler
TRÂN TRỌNG
CẢM ƠN!

CÔNG TY CỔ PHẦN CÔNG NGHỆ CAO VÀ DỊCH VỤ PHẦN MỀM FACENET

Thông tin liên hệ:


Công ty cổ phần công nghệ cao và Dịch vụ phần mềm Facenet
Tầng 3, tòa nhà 227 Phạm Văn Đồng, Phường Xuân Đỉnh, Quận Bắc Từ Liêm, Thành phố Hà Nội.
Phone: (+84 8) 29189206 | Email: support@facenet.vn

You might also like