Add Java architecture analysis for migration reference
This commit is contained in:
@@ -134,6 +134,69 @@ nc localhost 8923
|
|||||||
{"id":"test","type":"response","status":"success","data":{"controllers":[...]}}
|
{"id":"test","type":"response","status":"success","data":{"controllers":[...]}}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Java Source Code Architecture (Reference for Migration)
|
||||||
|
|
||||||
|
### 1. System Architecture
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────────────────────────────────────────────────────┐
|
||||||
|
│ GUI Client (Swing) │
|
||||||
|
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐ │
|
||||||
|
│ │ frmMain │ │ frmSettings │ │ frmCreateArray │ │
|
||||||
|
│ └──────────────┘ └──────────────┘ └──────────────────┘ │
|
||||||
|
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐ │
|
||||||
|
│ │ jpController │ │ dlgServer │ │ dlgDiskInfo │ │
|
||||||
|
│ └──────────────┘ └──────────────┘ └──────────────────┘ │
|
||||||
|
├─────────────────────────────────────────────────────────────┤
|
||||||
|
│ Global Data Layer │
|
||||||
|
│ ┌─────────────────────────────────────────────────────┐ │
|
||||||
|
│ │ PageDataDB.java (~7300 lines) │ │
|
||||||
|
│ └─────────────────────────────────────────────────────┘ │
|
||||||
|
├─────────────────────────────────────────────────────────────┤
|
||||||
|
│ Protocol Layer │
|
||||||
|
│ ┌──────────────────┐ ┌──────────────────────────┐ │
|
||||||
|
│ │ InBandAPI │ │ SNMP │ │
|
||||||
|
│ │ Port 8922 │ │ Port 162/8922 │ │
|
||||||
|
│ └──────────────────┘ └──────────────────────────┘ │
|
||||||
|
└─────────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. In-Band API Protocol (Port 8922)
|
||||||
|
|
||||||
|
**OpCodes:**
|
||||||
|
| OpCode | Function |
|
||||||
|
|--------|----------|
|
||||||
|
| 0x01 | GET_PAGE (read info pages) |
|
||||||
|
| 0x1D | SEND_PASSWORD (authentication) |
|
||||||
|
| 0xBC | Unlock |
|
||||||
|
| 0x1B | Erase RAID |
|
||||||
|
| 0xCC | Create RAID |
|
||||||
|
| 0xCE | Set Global Config |
|
||||||
|
| 0x26 | Commit Config |
|
||||||
|
|
||||||
|
**Page Codes:**
|
||||||
|
- Page 0: Controller Info
|
||||||
|
- Page 1: RAID Snapshot
|
||||||
|
- Page 7: LUN Map Table
|
||||||
|
- Page 10-14: RAID Info
|
||||||
|
- Page 16-17: Disk/Slice Names
|
||||||
|
- Page 20: Array Info
|
||||||
|
- Page 26: Enclosure Info
|
||||||
|
- Page 27: Disk List
|
||||||
|
|
||||||
|
### 3. Key Java Files
|
||||||
|
|
||||||
|
| File | Description |
|
||||||
|
|------|-------------|
|
||||||
|
| `InBandAPI/SendCmd.java` | TCP communication core |
|
||||||
|
| `InBandAPI/BasePage.java` | Abstract base for page data |
|
||||||
|
| `PageDataDB.java` | Global database (~7300 lines) |
|
||||||
|
| `frmMain.java` | Main window (~318KB) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
Proprietary - Accusys Inc.
|
Proprietary - Accusys Inc.
|
||||||
|
|||||||
Reference in New Issue
Block a user