온라인 어플리케이션 명명규칙
1. 어플리케이션
어플리케이션 단위는 관리 주체가 다르고, 어플리케이션 간 기능 호출을 최소화 할 수 있는 단위로 구분 한다. 어플리케이션은 Studio의 'Bxm 어플리케이션' 메뉴를 통해 생성한다.
본 장에서 나오는 예시는 Bxm 표준 샘플 코드를 대상으로 하므로 프로젝트 상황에 따라 유동적으로 변경이 가능하다.
구분 | 설명 |
---|---|
구성 |
L1코드 + L2코드 + L3코드 |
적용사례 |
BxmDftSmp |
기본원칙 |
|
2. Service
Service는 Studio 의 'Service 클래스' 메뉴를 통해 생성 되며 Service의 클래스 이름과 Service 이름은 다음과 같이 작성한다.
구분 | 설명 |
---|---|
Package - 구성 |
L1코드 + . + L2코드 + . +L3코드 + . + online + . + service |
Package - 적용사례 |
bxm.dft.smp.online.service |
Package - 기본원칙 |
|
클래스 - 구성 |
S + L3코드 + 화면번호 4자리(고유번호) + Service 구분 1자리(알파벳) |
클래스 - 적용사례 |
SSMP1001A, SSMP1002S |
클래스 - 기본원칙 |
|
클래스 - 부가정보 |
|
클래스 - 작성 예 |
|
오퍼레이션 - 구성 |
Service 명의 소문자 + 일련번호 3자리 |
오퍼레이션 - 적용사례 |
ssmp1001a001 |
오퍼레이션 - 기본원칙 |
|
오퍼레이션 - 부가정보 |
|
오퍼레이션 - 작성 예 |
|
3. Bean
프레임워크에서 BC(비즈니스 컴포넌트)는 Bean으로 사용되며 @BxmBean 어노테이션으로 정의 한다. BC는 Studio 의 'Bean 클래스' 메뉴를 통해 생성되며 BC의 이름은 다음과 같이 작성한다.
구분 | 설명 |
---|---|
Package - 구성 |
L1코드 + . + L2코드 + . +L3코드 + . + online 또는 batch + . + bean |
Package - 적용사례 |
bxm.dft.smp.online.bean |
Package - 기본원칙 |
|
클래스 - 구성 |
M + L3코드 + (표준단어)* + (일련번호 2자리)? |
클래스 - 적용사례 |
MSmpEmpInfMng, MSmpEmpInfMng01 |
클래스 - 기본원칙 |
|
클래스 - 부가정보 |
|
클래스 - 작성 예 |
|
메소드 - 구성 |
메소드 prefix + (표준단어)* |
메소드 - 적용사례 |
getEmpInf - 샘플 직원정보를 얻는다. addEmpInf - 샘플 직원정보를 추가한다. |
메소드 - 기본원칙 |
|
메소드 - 부가정보 |
|
메소드 - 작성 예 |
|
4. DBIO
DBIO는 데이터베이스에 직접 접근하는 객체로 Bean을 통해서만 호출이 가능하다. DBIO는 Studio 의 'DBIO' 메뉴를 통해 생성되며 DBIO의 이름은 다음과 같이 작성한다.
구분 | 설명 |
---|---|
Package - 구성 |
L1코드 + . + L2코드 + . +L3코드 + . + online 또는 batch + . + dbio |
Package - 적용사례 |
bxm.dft.smp.online.dbio |
Package - 기본원칙 |
|
클래스 - 구성 |
|
클래스 - 적용사례 |
|
클래스 - 기본원칙 |
|
클래스 - 부가정보 |
- DBIO는 소스코드 생성 방식으로 생성 되므로 사용자가 부가 정보를 입력하지 않는다. |
클래스 - 작성 예 |
소스코드를 직접 생성하지 않는다. |
SQL ID - 구성 |
|
SQL ID - 적용사례 |
selectOne01 selectOneEmpNm selectOneEmpNm01 |
SQL ID - 기본원칙 |
|
5. Default DBIO
테이블을 기반으로 DBIO와 IO를 자동 생성 해주는 Studio의 편의 기능중 하나로 Default DBIO의 표준은 다음과 같다.
(1) 생성된 DBIO
구분 | 설명 |
---|---|
Package - 구성 |
L1코드 + . + L2코드 + . +L3코드 + . + online 또는 batch + . + dbio |
Package - 적용사례 |
bxm.dft.smp.online.dbio |
Package - 기본원칙 |
|
클래스 - 구성 |
- D + 테이블 이름 ( 본 가이드에선 SMP_EMP_TST 테이블 사용 ) + 000 |
클래스 - 적용사례 |
- PK CRUD : DSmpEmpTst000 |
클래스 - 기본원칙 |
|
클래스 - 부가정보 |
- DBIO는 소스코드 생성 방식으로 생성 되므로 사용자가 부가 정보를 입력하지 않는다. |
클래스 - 작성 예 |
소스코드를 직접 생성하지 않는다. |
SQL ID - 구성 |
|
SQL ID - 적용사례 |
selectOneLock_SYS_C0011417 insert_SYS_C0011417 |
SQL ID - 기본원칙 |
|
(2) 생성된 DBIO의 IO
구분 | 설명 |
---|---|
Package - 구성 |
L1코드 + . + L2코드 + . +L3코드 + . + online 또는 batch + . + dbio.dto |
Package - 적용사례 |
bxm.dft.smp.online.dbio.dto |
Package - 기본원칙 |
|
클래스 - 구성 |
- 테이블 이름 ( 본 가이드에선 SMP_EMP_TST 테이블 사용 ) + 000 + Io |
클래스 - 적용사례 |
SmpEmpTst000Io |
클래스 - 기본원칙 |
|
클래스 - 부가정보 |
- IO 자바 소스는 소스코드 생성 방식으로 생성 되므로 사용자가 부가 정보를 입력하지 않는다. |
클래스 - 작성 예 |
소스코드를 직접 생성하지 않는다. |
6. IO
IO 이름은 다음의 경우에 따라 구분되어 작성된다. Bean 용 IO는 가급적 Service, DBIO의 IO를 재사용 하도록 하고 필요한 경우에만 따로 만든다.
(1) Service Input/Output: Service의 입출력을 위한 IO
(2) DBIO Input/Output: DBIO의 입출력을 위한 IO
(3) 인터페이스 Input/Output: EAI/MCI 등의 인터페이스를 위한 IO
(4) Bean Input/Output: Bean의 입출력을 위한 IO
IO는 'IO' 메뉴를 통해 생성되며 IO의 이름은 다음과 같이 작성한다.
6.1. Service Input/Output을 위한 IO 작성
구분 | 설명 |
---|---|
Package - 구성 |
L1코드 + . + L2코드 + . +L3코드 + . + online 또는 batch + . + service.dto |
Package - 적용사례 |
bxm.dft.smp.online.service.dto |
Package - 기본원칙 |
|
클래스 - 구성 |
|
클래스 - 적용사례 |
|
클래스 - 기본원칙 |
|
클래스 - 부가정보 |
- IO는 소스코드 생성 방식으로 생성 되므로 사용자가 부가 정보를 입력하지 않는다. |
클래스 - 작성 예 |
소스코드를 직접 생성하지 않는다. |
메소드 - 구성 |
IO는 자바 소스코드가 자동생성 되므로 개발자가 직접 메소드를 구성할 필요가 없다. |
6.2. DBIO를 위한 IO 작성
구분 | 설명 |
---|---|
Package - 구성 |
L1코드 + . + L2코드 + . +L3코드 + . + online 또는 batch + . + dbio.dto |
Package - 적용사례 |
bxm.dft.smp.online.dbio.dto |
Package - 기본원칙 |
|
클래스 - 구성 |
|
클래스 - 적용사례 |
|
클래스 - 기본원칙 |
|
클래스 - 부가정보 |
- IO는 소스코드 생성 방식으로 생성 되므로 사용자가 |
클래스 - 작성 예 |
소스코드를 직접 생성하지 않는다. |
메소드 - 구성 |
IO는 자바 소스코드가 자동생성 되므로 개발자가 직접 |
6.3. 인터페이스를 위한 IO 작성
구분 | 설명 |
---|---|
Package - 구성 |
L1코드 + . + L2코드 + . +L3코드 + . + online 또는 batch + . + inf.dto |
Package - 적용사례 |
bxm.dft.smp.online.inf.dto |
Package - 기본원칙 |
|
클래스 - 구성 |
|
클래스 - 적용사례 |
|
클래스 - 기본원칙 |
|
클래스 - 부가정보 |
- IO는 소스코드 생성 방식으로 생성 되므로 사용자가 부가 정보를 입력하지 않는다. |
클래스 - 작성 예 |
소스코드를 직접 생성하지 않는다. |
메소드 - 구성 |
IO는 자바 소스코드가 자동생성 되므로 개발자가 직접 메소드를 구성할 필요가 없다. |
6.4. Bean을 위한 IO 작성
Bean 메소드의 입력은 기본타입, 일반 객체를 자유롭게 사용할 수 있다. Bean
메소드의 IO가 필요한 경우에는 Service의 IO와 DBIO의 IO를 재사용한다.
재사용이 어려운 경우 다음을 참고하여 생성하여 사용한다.
구분 | 설명 |
---|---|
Package - 구성 |
L1코드 + . + L2코드 + . +L3코드 + . + online 또는 batch + . + bean.dto |
Package - 적용사례 |
bxm.dft.smp.online.bean.dto |
Package - 기본원칙 |
|
클래스 - 구성 |
|
클래스 - 적용사례 |
|
클래스 - 기본원칙 |
|
클래스 - 부가정보 |
- IO는 소스코드 생성 방식으로 생성 되므로 사용자가 부가 정보를 입력하지 않는다. |
클래스 - 작성 예 |
소스코드를 직접 생성하지 않는다. |
메소드 - 구성 |
IO는 자바 소스코드가 자동생성 되므로 개발자가 직접 메소드를 구성할 필요가 없다. |
7. Variables / Constants
Service, Bean 클래스의 멤버 변수로 사용되는 변수 명명 규칙에 대해 설명한다. 변수 및 상수 이름의 제한은 다음의 항목에 적용한다.
(1) 멤버 변수 선언
구분 | 설명 |
---|---|
맴버변수 선언 - 구성 |
클래스 이름에서 첫 글자는 소문자 |
맴버변수 선언 - 적용사례 |
mSmpEmpInfMng |
맴버변수 선언 - 기본원칙 |
|
맴버변수 선언 - 작성 예 |
|
(2) Service 오퍼레이션 파라미터
구분 | 설명 |
---|---|
Service 오퍼레이션의 파라미터 - 구성 |
Service 오퍼레이션의 input 파라미터 이름은 input + (일련번호 1자리)? 로 한다. |
Service 오퍼레이션의 파라미터 - 적용사례 |
ssmp1001a001(SSMP1001A001InDto input) |
Service 오퍼레이션의 파라미터 - 기본원칙 |
|
Service 오퍼레이션의 파라미터 - 작성 예 |
|
(3) 상수
구분 | 설명 |
---|---|
상수 - 구성 |
표준단어 + (_ + 표준단어)* |
상수 - 적용사례 |
|
상수 - 기본원칙 |
|
상수 - 작성 예 |
|
8. Service 테스트 케이스
구분 | 설명 |
---|---|
폴더명 - 구성 |
testcases/serviceTest |
파일명 - 구성 |
Test + Service 이름 + 일련번호3자리 |
파일명 - 적용사례 |
TestSSMP1001A003.case TestSSMP1001A001.case |
파일명 - 기본원칙 |
Test prefix + Service이름과 일련번호 3자리로 이루어진다. 테스트 케이스의 Service 이름은 모두 대문자로 작성한다. 프로젝트의 testcases/serviceTest 폴더에 생성한다. 파일의 확장자는 case를 사용한다. |
파일명 - 작성 예 |
9. Module 테스트 케이스
구분 | 설명 |
---|---|
폴더명 - 구성 |
testcases/moduleTest |
파일명 - 구성 |
Test + Bean 클래스 이름 + 일련번호3자리 |
파일명 - 적용사례 |
TestMSmpEmpInfMng001.mtest TestMSmpIntrLinkCall001.mtest |
파일명 - 기본원칙 |
Test prefix + Bean 클래스 이름과 일련번호 3자리로 이루어진다. 프로젝트의 testcases/moduleTest 폴더에 생성한다. 파일의 확장자는 mtest를 사용한다. |
파일명 - 작성 예 |
11. 명명규칙 예제
본 장에서 가이드 한 명명규칙을 지키면 다음 표와 같은 이름의 리소스가 생성 되어야 한다.
구분 | 설명 |
---|---|
프로젝트 |
|
Service 클래스 이름 및 Package |
|
Service IO 이름 및 Package |
|
Bean 이름 및 Package |
|
Bean IO 이름 및 Package |
|
DBIO 이름 및 Package |
|
DBIO IO 이름 및 Package |
|