2. ποΈ System Architecture
2.1 Overall Architecture Overview
HONGIKINGAN CMS follows a standard web application architecture based on eGovFrame. The entire system consists of presentation layer, business layer, and data access layer, with each layer clearly separated.
System Layer Structure
(JSP, Tiles, HTML, CSS, JS)
(Spring Service, AOP, Security)
(MyBatis, JDBC, Transaction)
(CUBRID, Oracle, MySQL, etc.)
2.1.1 eGovFrame 4.2 Based Structure
HONGIKINGAN CMS is based on eGovFrame version 4.2 and utilizes the following major components:
- Runtime Environment Layer: Utilizes MVC, data processing, security, and other functions of the standard framework runtime environment
- Common Components: Utilizes necessary functions from eGovFrame common components
- Development Environment: Development support using eGovFrame development environment tools
| Category | Content |
|---|---|
| Base Technology | Spring Framework 5.3.27, Spring Boot 2.7.12 |
| Major Changes | Java 8+ support, Spring Security 5.8.3 applied, Spring Batch 4.3.8 applied |
| Improvements | Security vulnerability improvements, performance optimization, enhanced standard compliance |
2.1.2 Spring Framework 5.3.27 Utilization
HONGIKINGAN CMS is based on Spring Framework version 5.3.27 and utilizes the following Spring technologies:
| Spring Technology | Purpose |
|---|---|
| Spring MVC | Implementation of MVC pattern for web applications |
| Spring Security | Authentication and authorization management |
| Spring AOP | Aspect-oriented programming for logging, transactions, etc. |
| Spring OXM | XML processing |
| Spring Transaction | Transaction management |
2.1.3 Java 8 Runtime Environment
HONGIKINGAN CMS is designed to run in Java 8 environment and utilizes the following Java 8 features:
- Lambda Expressions: Functional programming support
- Stream API: Collection processing capabilities
- Date/Time API: Enhanced date and time processing
- Default Methods: Default method implementation in interfaces
2.2 Project Structure
HONGIKINGAN CMS consists of the following three major modules:
2.2.1 Humanframe BACKOFFICE
Consists of Java classes for the CMS admin area, basic system operation, schedulers, etc. Developers can directly modify when there is a need to change the basic admin functions of the CMS.
Main Components:
- System control classes
- Admin interface classes
- Admin controllers
- Admin services and DAOs
- System schedulers
- Admin interceptors and filters
- AOP implementations
- Batch schedulers
2.2.2 Humanframe WEB
Consists of Java classes for the CMS user area and various resources (jsp, xml, js, css, etc.) for Frontend Presentation (both admin and user).
Recommendation: It is recommended to implement all program sources (Java class, jsp, xml, etc.) for additional functions that are not basic CMS functions in this project.
Main Components:
- Website presentation classes
- Additional program classes (for admin and web users)
- User controllers
- User services and DAOs
- User interceptors and filters
- JSP pages and templates
- Static resources (CSS, JavaScript, images, etc.)
- Sitemap, JSP, frontend resources
- Web app libraries, custom tags, etc.
2.3 Database Structure
2.3.1 Data Entity List
HONGIKINGAN CMS manages the following major data entities:
- Site Management
- Board Management
- Content Management
- Menu Management
- Code Management
- Program Management
- Statistics Management
- Metadata Management
- Deployment Management
- Log Management
- Banner Management
2.3.2 ERD and Table Relationship Diagram
The HONGIKINGAN CMS database consists of the following major table groups:
ERD (Entity Relationship Diagram)
Database ERD is provided as a separate document
2.3.3 Major Table Description
| Table Group | Major Tables | Description |
|---|---|---|
| User Management | tn_mber, tn_mngr | User and admin information management |
| Permission Management | tn_mng_author, tn_mng_author_menu | Permission and permission group management |
| Site Management | tn_site, tn_pblcate_site | Multi-site management |
| Menu Management | tn_site_menu, tn_pblcate_site_menu | Menu structure and permission management |
| Board Management | tn_bbs_st, tn_bbs_ty1~8 | Board settings and post management |
| Content Management | tn_cntnts, tn_cntnts_hist, tn_media | Content and media management |
| File Management | tn_file, tn_file_group | File and file group management |
| Statistics Management | tn_stats_menu_month, tn_stats_menu_year | Statistics and visitor information management |
| Log Management | tn_mng_log, tn_mng_privacy_access | System logs and personal information access |
| Configuration Management | tn_mng_menu, tc_code | Admin menu and code management |
2.3.4 Detailed Description by Table Group
HONGIKINGAN CMS consists of the following major table groups:
1. Code Management Tables
- TC_CODE: Code group and code information management
- TC_CODE_LANG: Multi-language code information management
2. Board Related Tables
- TN_BBS_ST: Board basic configuration information
- TN_BBS_TY1~TY8: Post information by board type
- TN_BBS_FILE: Board attachment file information
- TN_BBS_CTGRY: Board category information
- TN_BBS_HASHTAG: Board hashtag information
3. Site Management Tables
- TN_SITE: Site basic information
- TN_SITE_MENU: Site menu information
- TN_SITE_MAIN: Site main page information
- TN_PBLCATE_SITE: Deployed site information
- TN_PBLCATE_SITE_MENU: Deployed menu information
- TN_CM: Comment information by menu
4. Content Management Tables
- TN_CNTNTS: Content basic information
- TN_CNTNTS_FORM: Content form information
- TN_CNTNTS_HIST: Content history information
- TN_CNTNTS_MAPNG: Content mapping information
5. Media Management Tables
- TN_MEDIA: Media basic information
- TN_MEDIA_FILE: Media file information
- TN_MEDIA_LANG: Media multi-language information
6. User Management Tables
- TN_MBER: Member information
- TN_MNGR: Admin information
- TN_DEPT: Department information
- TN_DEPT_EMP: Employee information by department
7. Other Management Tables
- TN_BANNER: Banner information
- TN_POPUP: Popup information
- TN_STATS_MENU: Statistics information by menu
- TN_STSFDG: Satisfaction information
For detailed column information, please refer to the column specification document.
2.3.5 Data Flow Diagram
The main data flow of HONGIKINGAN CMS is as follows:
- User Authentication Flow
- User login request β Authentication processing β Session creation β Permission verification β Menu access control
- Content Management Flow
- Content registration/modification β File upload processing β Database storage β Cache refresh
- Board Processing Flow
- Post registration/modification β Attachment processing β Database storage β Search index update
- Statistics Processing Flow
- User access β Log recording β Batch processing β Statistics data generation β Dashboard display
Appendix. Table Definition Document (Column Specification)
Table Definition Document (Column Specification) is provided as a separate document.