본문으로 건너뛰기

식별자와 파일 경로

게시판 예제는 같은 화면의 HTML·JavaScript·거래 계약·SQL 계약을 BOD010이라는 이름으로 연결합니다.

식별자​

값항목게시판에서의 의미
HDSApplicationID애플리케이션
BODProjectID게시판 업무 프로젝트
BOD010TransactionID게시글 목록 화면·거래
LD01ServiceID / SQL statement id목록 조회 기능
DB01SQL datasource서버에 등록된 데이터 원본

BOD는 이 예제의 프로젝트 ID입니다. SQL을 실행하는 서버 모듈 이름은 dbclient이며 서로 다른 개념입니다.

LD01은 예제의 명명 관례로 **L(List) + D(Database) + 01(순번)**입니다. 명명 관례와 거래 계약의 CommandType은 구분하세요. 서버 라우팅은 실제 CommandType 설정으로 결정됩니다.

서비스 ID 접두어 관례​

소스 저장소의 샘플 계약에서 두 글자 접두어가 다음 관례로 반복됩니다. 서버가 접두어를 해석하지는 않으며, 기존 프로젝트는 다른 규칙을 쓸 수 있습니다.

자리글자의미
첫 글자G L I U D M단건 조회, 목록 조회, 등록, 변경, 삭제, 저장·수정(Flag로 분기하는 저장 포함)
둘째 글자D G F P실행하는 모듈: dbclient, graphclient, function, prompter. 계약의 CommandType과 같은 글자

파일 배치​

아래는 기본 contracts 경로를 사용하는 BOD 예제입니다.

contracts/
├─ wwwroot/HDS/BOD/BOD010.html
├─ wwwroot/HDS/BOD/BOD010.js
├─ transact/HDS/BOD/BOD010.json
└─ dbclient/HDS/BOD/BOD010.xml
파일확인할 값
BOD010.js화면 객체 $BOD010, transaction.LD01
BOD010.jsonApplicationID, ProjectID, TransactionID, Services[].ServiceID
BOD010.xmlheader의 application/project/transaction/datasource, statement id

이 예제의 거래 계약은 JSON입니다. 현재 transact 로더는 .json과 .txn 확장자를 읽습니다. SQL 계약의 .xml과 혼동하지 마세요.

계약 확장자​

기본 배포본의 예제는 .json·.xml이고, IDE로 만든 프로젝트는 .txn·.dbc 같은 모듈별 확장자를 씁니다. 모듈은 두 확장자를 모두 읽으며 쌍이 되는 확장자는 내부 형식이 같습니다. 모듈 소스의 ModuleConfiguration.ContractFileExtensions 기준입니다.

모듈기존 확장자모듈별 확장자내부 형식
transact.json.txnJSON
dbclient.xml.dbcXML
function.xml.fncXML
command.xml.basXML
graphclient.xml.cypXML
prompter.xml.pmtXML
repository.json.rpoJSON

확장자가 형식을 뜻하지는 않으므로 기존 파일의 확장자를 일괄 변경하지 마세요. .fnc는 기존 폴더형 함수(featureMain.*, featureMeta.json, featureSQL.xml)를 한 파일로 합친 형식입니다. IDE에서 여는 파일 기준의 설명은 파일과 저장 규칙에 있습니다.

소스와 실행 경로​

소스 저장소의 원본 예제는 2.Modules/wwwroot/Contracts 아래에 있습니다. 배포본에서는 모듈의 계약 복사·경로 설정에 따라 contracts에 복사되어 사용됩니다.

편집했는데 결과가 바뀌지 않으면 원본과 실행 중인 계약 경로를 비교하세요. 경로와 복사 설정은 wwwroot, transact, dbclient에서 확인합니다.

기본 BOD 화면 접속 주소는 http://localhost:8421/view/BOD/BOD010.html입니다. 파일 시스템 경로를 브라우저 주소로 그대로 사용하지 않습니다.

실습은 게시판 첫 조회, 호출 규칙은 거래 호출로 이어집니다.