본문 바로가기

Salesforce/Development

Apex 소개

728x90
Apex는 Salesforce Lightning Platform에서 제공하는 객체 지향 프로그래밍 언어입니다.
기본적인 문법은 JAVA와 유사하기 때문에 JAVA 경험이 있는 개발자라면 금방 배울 수 있습니다.
개발자는 Apex를 통해 API 호출과 함께 Lightning Platform 서버에서 흐름 및 트랜잭션 제어문 등을 실행할 수 있습니다.

Introducing Apex (Apex 소개)

Apex는 강력한 형식의 객체 지향 프로그래밍 언어로서 개발자가 API 호출과 함께 Salesforce 서버에서 흐름 및 트랜잭션 제어문을 실행할 수 있게 해 줍니다. Apex를 사용하면 자바처럼 보이고 데이터베이스 저장 프로 시저와 같은 구문을 사용하여 버튼 클릭, 관련 레코드 업데이트 및 Visualforce 페이지를 포함한 대부분의 시스템 이벤트에 비즈니스 로직을 추가할 수 있습니다. Apex 코드는 웹 서비스 요청과 객체의 트리거에 의해 초기화될 수 있습니다.
언어로서 Apex는 다음과 같습니다.
Integrated (통합)

Apex는 다음을 포함하여 일반적인 Lightning Platform 관용구에 대한 내장형 지원을 제공합니다.

- 데이터 조작 언어 (DML) 호출 (예 : INSERT, UPDATE, DELETE)
- sObject 레코드 목록을 반환하는 인라인 Salesforce SQL (SQL 쿼리 개체) 및 SOSL (Salesforce Object Search Language) 쿼리
- 한 번에 여러 레코드를 일괄 처리할 수 있는 루핑
- 레코드 업데이트 충돌을 방지하는 구문 잠금
- 저장된 Apex 메서드에서 빌드 할 수 있는 사용자 정의 공용 API 호출
- 사용자가 Apex에서 참조하는 사용자 정의 객체 또는 필드를 편집하거나 삭제하려고 할 때 발생하는 경고 및 오류

Easy to use (사용하기 쉬운)

Apex는 변수 및 표현식 구문, 블록 및 조건문 구문, 루프 구문, 객체 및 배열 표기법과 같은 익숙한 Java 관용구를 기반으로 합니다. Apex가 새로운 요소를 소개하는 곳에서는 Lightning Platform의 이해와 사용을 용이하게 하는 구문과 의미를 사용합니다. 따라서 Apex는 간결하고 작성하기 쉬운 코드를 생성합니다.

Data focused (데이터 집중)

Apex는 여러 쿼리 및 DML 문을 Salesforce 서버에서 단일 작업 단위로 함께 처리하도록 설계되었습니다. 개발자는 데이터베이스 저장 프로 시저를 사용하여 유사한 방식으로 데이터베이스 서버에 여러 트랜잭션 문을 함께 스레드 합니다. 다른 데이터베이스 저장 프로 시저와 마찬가지로 Apex는 사용자 인터페이스의 렌더링 요소에 대한 일반적인 지원을 제공하지 않습니다.

Rigorous (엄밀한)

Apex는 개체 및 필드 이름과 같은 스키마 개체에 대한 직접 참조를 사용하는 강력한 형식의 언어입니다. 참조가 유효하지 않은 경우 컴파일 시 신속하게 실패합니다. 모든 사용자 정의 필드, 객체 및 클래스 종속성을 메타 데이터에 저장하여 활성 Apex 코드에서 필요한 동안 삭제되지 않도록 합니다.

Hosted (호스팅 됨)

Apex는 전격 플랫폼에 의해 해석되고 실행되며 전적으로 제어됩니다.

Multitenant aware (다중 점유자 인식)

Lightning Platform의 나머지 부분과 마찬가지로 Apex는 다중 점유 환경에서 실행됩니다. 따라서 Apex 런타임 엔진은 런 어웨이 (runaway) 코드를 면밀히 감시하여 공유 리소스를 독점하지 못하게 합니다. 제한을 위반하는 코드는 이해하기 어려운 오류 메시지와 함께 실패합니다.

Easy to test (쉬운 테스트)

Apex는 단위 테스트 생성 및 실행을 위한 내장된 지원을 제공합니다. 적용되는 코드의 양과 코드의 어느 부분이 더 효율적인지를 나타내는 테스트 결과가 포함됩니다. Salesforce는 플랫폼 업그레이드 전에 모든 유닛 테스트를 실행하여 모든 사용자 정의 Apex 코드가 예상대로 작동하도록 합니다.

Versioned (버전 관리됨)

다른 버전의 API에 대해 Apex 코드를 저장할 수 있습니다. 이렇게 하면 동작을 유지 관리할 수 있습니다.
728x90