
넥사크로 프로젝트 구조, 처음 보면 왜 이렇게 복잡할까?
처음 넥사크로 프로젝트에 투입되었을 때 가장 당황했던 부분은 프로젝트 구조였습니다.
Java 프로젝트는 어느 정도 익숙했지만 넥사크로 프로젝트는 수많은 폴더와 Form, Frame, Dataset, Popup 파일들이 존재했습니다.
처음에는 단순히 화면만 수정하면 되는 줄 알았습니다.
하지만 실제로는
메뉴 구조
공통 함수
공통 Dataset
Frame 구성
Popup 구조
Transaction 연동
등이 유기적으로 연결되어 있었습니다.
삼성전자 MES 프로젝트에 처음 투입되었을 때도 어느 파일이 실제 화면인지 찾는 데만 며칠이 걸렸던 기억이 있습니다.
그래서 오늘은 실무 프로젝트 기준으로 넥사크로 구조를 정리해보려고 합니다.
넥사크로 프로젝트는 화면만 있는 것이 아니다
많은 입문자들이 Form만 이해하면 된다고 생각합니다.
하지만 실제 프로젝트는 다양한 영역으로 구성됩니다.
대표적으로 다음과 같은 구조를 가집니다.
- Frame
- Form
- Popup
- Common
- Dataset
- Transaction
- Service
프로젝트 규모가 커질수록 이러한 구조는 더욱 중요해집니다.
Frame 구조 이해하기
Frame은 프로젝트의 뼈대 역할을 합니다.
쉽게 말하면 모든 화면을 감싸고 있는 틀입니다.
실무에서는 보통 다음 영역으로 구성됩니다.
Top Frame
상단 메뉴
사용자 정보
로그아웃 기능
등을 담당합니다.
Left Frame
메뉴 트리
프로그램 목록
즐겨찾기
등을 제공합니다.
Work Frame
실제 업무 화면이 표시되는 영역입니다.
사용자가 메뉴를 클릭하면 해당 Form이 이 영역에 로딩됩니다.
실무에서 가장 많이 보게 되는 영역입니다.
Form은 실제 업무 화면이다
Form은 사용자가 직접 사용하는 화면입니다.
예를 들어
생산 실적 조회
품질 분석
LOT 조회
제품 등록
등이 모두 Form으로 구성됩니다.
실제 개발 업무의 대부분은 Form 수정이나 신규 Form 개발입니다.
제가 참여했던 MES 프로젝트에서도 수백 개 이상의 Form이 존재했습니다.
Popup 구조 이해하기
실무에서는 Popup 사용 빈도가 매우 높습니다.
대표적인 예는 다음과 같습니다.
제품 검색
사원 검색
거래처 검색
상세 정보 조회
등
대부분 별도의 Popup 화면으로 제공됩니다.
실제로 신규 개발보다 Popup 수정 요청이 더 많았던 경험도 있습니다.
Common 영역이 중요한 이유
프로젝트 규모가 커질수록 Common 영역의 중요성이 커집니다.
대표적으로
공통 함수
공통 메시지
공통 Validation
공통 Transaction
등이 위치합니다.
신규 화면을 개발할 때 Common 영역을 적극 활용하면 개발 속도가 크게 향상됩니다.
반대로 Common 관리가 제대로 되지 않으면 유지보수 비용이 급격히 증가합니다.
Dataset 구조 이해하기
넥사크로의 핵심은 결국 데이터입니다.
대부분의 프로젝트는 다음과 같은 흐름으로 동작합니다.
조회 요청
↓
Transaction 호출
↓
DB 조회
↓
Dataset 저장
↓
Grid 표시
실무에서 장애가 발생하면 가장 먼저 Dataset을 확인하는 이유도 여기에 있습니다.
화면 문제처럼 보여도 실제 원인은 Dataset인 경우가 많습니다.
Transaction과 Service 연결 구조
처음 프로젝트에 참여하면 가장 헷갈리는 부분입니다.
실제 구조는 다음과 같습니다.
Form
↓
Transaction
↓
Controller
↓
Service
↓
DAO
↓
Database
이 구조를 이해하면 전체 시스템 흐름이 보이기 시작합니다.
저 역시 처음에는 단순히 Transaction만 호출했지만 시간이 지나면서 Service와 DAO 구조까지 함께 이해하게 되었습니다.
그 이후 유지보수 능력이 크게 향상되었습니다.
실무 프로젝트 폴더 구조 예시
실제 운영 프로젝트는 대략 다음과 같이 구성됩니다.
Project
├─ Frame
├─ Common
├─ Popup
├─ Dataset
├─ Transaction
├─ MES
├─ PLM
├─ Admin
└─ Sample
프로젝트마다 차이는 있지만 기본적인 개념은 비슷합니다.
프로젝트 분석 시 가장 먼저 확인하는 것
새로운 프로젝트에 투입되면 저는 항상 다음 순서로 확인합니다.
1. Frame 구조
화면 이동 방식 확인
2. Common 함수
공통 기능 확인
3. Transaction 구조
서버 연동 방식 확인
4. Dataset 구조
데이터 흐름 확인
5. Form 분석
업무 로직 확인
이 순서로 접근하면 적응 속도가 훨씬 빨라집니다.
실무 경험에서 얻은 교훈
신입 시절에는 화면만 수정하면 된다고 생각했습니다.
하지만 실제 운영 프로젝트에서는
공통 함수
공통 Dataset
Popup
Frame
Transaction
구조를 이해하지 못하면 유지보수가 어렵습니다.
오히려 코딩보다 구조를 이해하는 시간이 더 중요할 때도 많았습니다.
특히 대규모 MES와 PLM 프로젝트에서는 구조를 이해하는 능력이 개발 생산성을 크게 좌우했습니다.
마무리
넥사크로 프로젝트는 단순히 Form만으로 구성되지 않습니다.
Frame, Common, Popup, Dataset, Transaction이 유기적으로 연결되어 하나의 시스템을 구성합니다.
저 역시 여러 프로젝트를 경험하면서 느낀 점은 화면 개발 능력보다 프로젝트 구조를 이해하는 능력이 더 중요할 수 있다는 것입니다.
만약 넥사크로를 공부하고 있다면 단순히 화면 만드는 방법만 익히지 말고 프로젝트 전체 구조를 함께 이해해보길 추천합니다. 구조를 이해하는 순간 신규 개발과 유지보수가 훨씬 쉬워질 것입니다.
'개발기초' 카테고리의 다른 글
| 개발기초 넥사크로 10편 (넥사크로 유지보수 시 꼭 확인해야 할 것들, 실무 경험으로 배운 장애 대응 노하우) (0) | 2026.06.12 |
|---|---|
| 개발기초 넥사크로 9편 (넥사크로 개발 환경 구축, 처음 프로젝트를 시작하기 전에 알아야 할 것들) (0) | 2026.06.11 |
| 개발기초 넥사크로 7편 (넥사크로 공통함수 설계 방법, 유지보수와 생산성을 동시에 높이는 개발 습관) (0) | 2026.06.09 |
| 개발기초 넥사크로 6편 (넥사크로 Variable 사용법, 유지보수를 쉽게 만드는 데이터 관리 방법) (0) | 2026.06.08 |
| 개발기초 넥사크로 5편 (넥사크로 Event 처리 방법, 버튼 클릭부터 화면 제어까지) (1) | 2026.06.07 |