비즈니스 규칙 및 스크립트 포함

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기2분
  • 비즈니스 규칙은 인스턴스 기록에 대한 CRUD(생성, 읽기, 업데이트, 삭제) 작업 중에 실행할 수 있는 서버 측 작업입니다.

    주:
    에이전트 AI의 도움을 받아 애플리케이션을 생성하는 것이 좋습니다. 자세한 내용은 에이전트 AI를 사용하여 애플리케이션 빌드 및 편집 문서를 참조하십시오.

    비즈니스 규칙을 사용할 때 바람직한 프랙티스는 다음과 같습니다.

    • 비즈니스 규칙을 작고 구체적으로 유지합니다.
    • 기본 시스템 비즈니스 규칙을 수정하지 마십시오.
    • 전역 비즈니스 규칙 대신 스크립트 포함을 사용합니다.
    • 필요한 경우에만 스크립팅을 사용하십시오.
    • 스크립트 포함에 재사용 가능한 스크립트 논리를 저장합니다.
    • 쿼리를 사용하여 비즈니스 규칙 내에서 처리되는 기록을 제한합니다.
    • 클라이언트 스크립트 실행 시 효율성을 향상하려면 클라이언트 호출 가능 비즈니스 규칙을 피하십시오.
    • 항상 비즈니스 규칙과 함께 조건을 사용하여 비즈니스 규칙이 실행되는 시기를 제어합니다. 조건이 있는 비즈니스 규칙을 실행하는 것도 디버깅에 도움이 될 수 있습니다. 비즈니스 규칙이 조건 없이 실행되는 경우는 거의 없습니다.

    비즈니스 규칙은 데이터베이스 작업 전후에 실행되도록 구성할 수 있습니다. 또한 비동기적으로 실행되거나 양식을 표시하거나 쿼리를 실행하기 전에도 실행되도록 구성할 수 있습니다.

    실행 사용 시기 예제
    이전 데이터베이스 작업 전에 동기적으로 저장 작업의 일부로 현재 객체의 값을 설정하거나 업데이트합니다. 필요한 경우 실행을 확인하고 중단합니다. 개발자가 해당 기록의 다른 입력을 기반으로 현재 기록의 상태를 설정하려고 합니다.
    이후 데이터베이스 작업 후 동기적으로 데이터베이스 업데이트 후 이벤트 및 알림을 트리거하여 이전 객체에 액세스하거나 특정 항목이 순서대로 발생하도록 합니다. 업데이트 중인 기본 테이블 이외의 관련 기록을 업데이트하여 이전 객체에 액세스하거나 특정 항목을 순서대로 발생시킵니다. 개발자가 현재 기록에서 하위 기록으로 값을 계단식으로 내려가려고 합니다.
    비동기 데이터베이스 작업이 완료된 후 별도의 프로세스로 비동기적으로 실행됩니다. 규칙에 의해 트리거된 프로세스를 실행하는 데 시간이 걸릴 수 있습니다. 작업을 트리거한 사용자에게 당장 출력이 필요하지 않은 경우. 기록의 이전 값 또는 특정 작업 시퀀스에 접근할 필요가 없는 경우 이벤트, 알림 또는 관련 기록 업데이트를 트리거합니다. 개발자는 시간이 걸릴 수 있는 외부 프로세스를 트리거하거나 많은 수의 기록을 업데이트해야 합니다.
    표시 해당 양식이 표시될 때마다 실행됩니다. 클라이언트 측 스크립트에서 서버 측 객체를 사용할 수 있도록 하는 데 사용됩니다. 개발자는 현재 기록과 연결된 사용자에 대한 정보를 클라이언트 측 스크립트에서 사용할 g_scratchpad 객체에 쓰려고 합니다.
    주:
    current.update()는 비즈니스 규칙에서 사용해서는 안 됩니다. current.update()를 사용하면 추가 데이터베이스 작업이 트리거되어 중복 알림, 재귀 루프 등이 발생할 수 있습니다.

    스크립트 포함을 사용하여 서버 스크립트에서 사용할 JavaScript 함수와 클래스를 저장합니다. 각 스크립트 포함은 서버 측 스크립트 간에 재사용할 수 있는 객체 클래스 또는 함수를 정의합니다.

    스크립트 포함의 다른 곳에서 사용해야 할 수 있는 모든 코드를 저장합니다. 비즈니스 규칙, UI 작업, 워크플로우 스크립트, 스크립팅된 REST API 등에서 스크립트 포함을 호출합니다. UI 작업에서 비즈니스 규칙을 호출하거나 스크립트로 작성된 REST API에서 UI 작업을 호출하는 대신, 코드를 스크립트 포함에 넣고 두 위치 모두에서 스크립트 포함을 호출합니다.

    스크립트 포함에 함수를 유지하면 다른 스크립트 영역에 함수를 배포하기 전에 함수를 테스트할 수 있으므로 전반적인 개발 및 테스트 시간이 줄어듭니다.

    자세한 내용은 비즈니스 규칙을 참조하십시오.