본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Low-Code; LCDP; 로우코드
손코딩을 최소화하고 시각적 모델링·드래그 앤 드롭·설정으로 애플리케이션을 만들고, 필요한 부분만 코드로 보완하는 개발 방식

로우코드 개발 플랫폼(LCDP, Low-Code Development Platform)은 화면·데이터 모델·업무 흐름을 그래픽 편집기로 정의하면 플랫폼이 실행 코드나 실행 환경을 만들어 준다. 표현하기 어려운 로직이나 외부 연동은 스크립트·API 호출로 직접 작성할 수 있다는 점에서 노코드와 구분된다. 개발 속도를 높이고 현업 사용자(시민 개발자, citizen developer)의 참여를 늘리려는 목적으로 쓰인다.

노코드와 비교

편집 원본 편집
구분 로우코드 노코드 전통적 개발
주 사용자 개발자, 숙련된 현업 현업 사용자(비개발자) 개발자
코드 작성 일부 필요(확장 지점) 원칙적으로 없음 전부 작성
유연성·확장성 중간~높음 낮음(플랫폼 기능 범위 내) 가장 높음
개발 속도 빠름 가장 빠름 느림
대상 업무 업무 시스템, 내부 포털, 연계 앱 양식·워크플로·간단한 앱 대규모·핵심 시스템
종속성 플랫폼 종속 큼 플랫폼 종속 매우 큼 낮음
장점
  • 개발 기간·비용 단축, 프로토타입을 빠르게 만들 수 있다(프로토타이핑 모델과 잘 맞는다).
  • 현업과 개발자가 같은 모델을 보며 협업하므로 요구사항 오해가 줄어든다.
  • 인증, 데이터 연결, 배포 같은 공통 기능을 플랫폼이 제공한다.
단점
  • 벤더 종속(lock-in): 생성된 산출물이 특정 플랫폼 런타임에 묶여 이전이 어렵다.
  • 복잡한 로직·고성능 요구에는 한계가 있고, 플랫폼 밖 확장 시 오히려 비용이 늘 수 있다.
  • 생성 코드의 품질·성능을 직접 통제하기 어렵고, 디버깅과 테스트 자동화가 제한될 수 있다.
  • 라이선스가 사용자 수·앱 수에 따라 과금되는 경우가 많아 장기 비용 검토가 필요하다.

거버넌스·보안 이슈

편집 원본 편집
  • 섀도 IT: 현업이 IT 부서 모르게 앱을 만들면 자산·데이터 흐름 파악이 어려워진다. 앱 등록·승인 절차와 환경(개발/운영) 분리가 필요하다.
  • 접근 통제: 플랫폼 커넥터가 가진 권한이 크면 데이터 과다 노출이 생긴다. 최소 권한 원칙과 역할 기반 권한을 적용한다.
  • 데이터 보호: 개인정보·중요정보가 외부 SaaS 플랫폼에 저장·처리되는지 확인한다.
  • 형상·변경 관리: 시각적 모델도 버전 관리, 변경 이력, 배포 승인을 거쳐야 한다(형상 관리).
  • 품질 보증: 플랫폼이 생성하는 부분과 직접 작성한 스크립트를 구분하여 검토하고, 사용자 입력 검증 등 시큐어 코딩 항목을 점검한다.

코드 자동생성·모델 기반 개발과의 관계

편집 원본 편집

로우코드는 모델에서 실행 산출물을 얻는다는 점에서 모델 기반 개발(MDD, Model-Driven Development)의 실용적 형태로 볼 수 있다.

  • MDA(Model Driven Architecture): OMG가 제시한 접근법으로, 플랫폼 독립 모델(PIM)을 플랫폼 종속 모델(PSM)로 변환하고 이를 코드로 생성한다. 업무 관점의 계산 독립 모델(CIM)을 앞 단계로 둔다.
  • 코드 자동생성: UML 등 모델이나 명세에서 소스코드 골격을 생성한다. CASE 도구, 전자정부 표준프레임워크 개발환경의 코드 생성 기능, DB 스키마에서 CRUD 코드를 만드는 도구 등이 있다.
  • 차이: MDA/MDD는 표준 모델 언어와 변환 규칙을 중시하고 생성된 코드를 개발자가 다루는 경우가 많다. 로우코드는 플랫폼 고유의 모델과 런타임을 쓰며, 코드를 노출하지 않거나 확장 지점만 연다.
  • 로우코드와 노코드의 구분 기준(코드 확장 여부, 주 사용자, 유연성)
  • 벤더 종속·섀도 IT·권한 관리 등 감리 시 점검할 위험 요소
  • MDA의 CIM → PIM → PSM → 코드 변환 흐름
  • 생성 코드도 형상 관리·테스트·보안 점검 대상이라는 점