백엔드 모델링
백엔드 모델은 역할별로 나뉩니다. API는 외부에 약속하는 계약이고, Controller·Service·Query·Class는 그 계약을 구현하는 코드 구조이며, 환경 모델은 실행 대상별 연결을 관리합니다.
| 모델 | 담당 | 주요 추가 작업 |
|---|---|---|
| API | 요청·응답 계약 | API 명세 추가, Endpoint, Schema |
| Controller | 요청을 받는 진입점 | Controller 추가, Handler 추가, 의존성 추가 |
| Service | 업무 로직 | Service 추가, Operation 추가, 의존성 추가 |
| Query | SQL과 결과 계약 | 그룹(Mapper)과 쿼리 추가 |
| Class | Entity·DTO·VO | Package 추가, Class 추가, 관계 추가 |
| External Class | 외부 라이브러리 호출 | 언어별 import와 호출 바인딩 |
| 환경 | 개발·검증·운영별 연결 | 환경 추가, 논리 자원, 연결 |
모델 연결하기
섹션 제목: “모델 연결하기”모델을 만들 때 다른 모델은 필요하지 않습니다. 저장한 뒤 서로 연결합니다.
| 연결 | 지정 위치 |
|---|---|
| Controller → Service | 사용할 서비스 |
| Service → Query | 사용할 쿼리 |
| HTML → API | HTML 요소의 API 호출 대상 |
| 환경 → DB·API·Controller | 환경 모델의 논리 자원 |
| Query → 논리 DB | 환경 모델의 쿼리 연결 |
연결할 대상은 먼저 저장되어 있어야 합니다. 연결과 실행 검증은 프로그램을 생성하거나 실행할 때 수행합니다.
API 모델
섹션 제목: “API 모델”프론트엔드와 외부 시스템이 사용하는 계약을 정리합니다. API 명세 추가로 시작하고 Endpoint와 데이터 Schema를 작성합니다. 선택한 항목의 상세 편집에서 내용을 고칩니다.
계약 문서는 **문서 내보내기 → Word 문서 (.docx)**로 만듭니다.
API 모델의 원본은 .uni 소스입니다. 화면의 삭제는 Endpoint에만 사용할 수 있고, Schema와 API 항목은 “이 항목은 코드 탭에서 삭제합니다.” 안내에 따라 코드 보기에서 지웁니다.
Controller, Service, Class 모델
섹션 제목: “Controller, Service, Class 모델”세 모델은 코드 보기의 사용법이 같습니다.
- 코드 편집 시작을 선택합니다.
- 코드를 고치고 계약 확인으로 확인합니다.
- 코드 저장 또는
Ctrl+S로 저장합니다.
Controller의 Unibase 소스 보기는 모델에서 만든 소스를 읽는 화면입니다. 여기서 편집하거나 실행하지 않습니다.
Class 모델에서 관계를 구성하고, 다이어그램은 그룹 생성으로 묶어 볼 수 있습니다. External Class 모델링은 Class 모델의 한 형태로, 외부 라이브러리를 언어별로 어떻게 가져오고 호출할지 기록합니다.
Query 모델
섹션 제목: “Query 모델”Mapper 역할의 그룹 아래에 쿼리를 작성합니다.
| 대상 | 필수 항목 | 다른 항목 |
|---|---|---|
| 그룹 | 이름, 패키지, Mapper 클래스명 | 설명 |
| 쿼리 | 이름, 소속 그룹, 메서드명, 반환형 | Unibase 본문, 파라미터, 결과 컬럼, 유형, Timeout(초), 읽기 전용 쿼리 |
유형은 SELECT, INSERT, UPDATE, DELETE, PROCEDURE입니다. 코드 보기에서는 Query 본문과 Mapper 원문을 확인합니다.
Query 모델은 데이터베이스 모델의 테이블을 구조적으로 참조하지 않습니다. 테이블 이름을 바꿨다면 쿼리 본문을 직접 확인하세요.
환경 모델
섹션 제목: “환경 모델”개발, 검증, 운영별 연결을 관리합니다.
| 항목 | 내용 |
|---|---|
| 환경 | 환경 정의. 환경 구분은 개발, 검증, 운영 |
| 논리 자원 | 데이터베이스, API, 컨트롤러 자원 |
| 환경별 연결 | 환경마다 사용할 외부 연결 참조 |
| 쿼리 연결 | 쿼리가 사용할 논리 DB. Mapper 기본 연결보다 개별 쿼리 연결이 우선 |
데이터베이스 연결에는 SQLite, MySQL, PostgreSQL, Oracle을 쓸 수 있습니다. 호스트, 포트, DB 이름, 접속 계정과 시간 제한을 입력합니다.
SQLite 이외의 DB는 인증서와 서버 이름을 검증하는 TLS 연결을 사용합니다. 연결 설정 검토는 설정 내용을 확인하는 기능이며 실제 연결 성공을 뜻하지 않습니다.
환경 모델은 일반 키-값 변수 목록을 제공하지 않습니다. 정해진 항목만 관리합니다.
서버 코드를 내보내면 저장된 모든 환경이 포함됩니다. 배포할 때 UNIBASE_PROFILE 값으로 사용할 환경을 지정합니다. 알 수 없는 환경 값이나 빠진 주소는 다른 값으로 대체되지 않고 실패합니다.
프로그램 생성
섹션 제목: “프로그램 생성”Controller, Service, Class, Query 모델의 프로그램 생성·실행으로 서버 코드를 만듭니다. 순서와 대상 제한은 서버 코드 생성하기를 참고하세요.
생성 후 오류가 나면 오류 모델 열기로 원인 모델로 이동합니다.