주문형 코드
Code on demand분산 컴퓨팅에서 주문형 코드란 클라이언트 소프트웨어의 요청에 따라 서버 컴퓨터에서 클라이언트 컴퓨터로 실행 가능한 소프트웨어 코드를 전송하는 모든 기술을 말한다. 웹 상의 코드 온 디맨드 패러다임의 잘 알려진 예로는 자바 애플릿, 어도비의 Flash Player용 ActionScript 언어, 자바스크립트가 있다.[1]
프로그램 코드는 사용자(클라이언트)가 클라이언트의 웹 브라우저를 사용하여 코드에 대한 링크가 포함된 웹 페이지를 요청할 때까지 웹 서버에서 비활성 상태로 유지된다. 이 요청에 따라 웹 페이지와 프로그램은 HTTP를 이용하여 사용자의 기계로 전송된다. 페이지가 표시되면, 코드가 브라우저에서 시작되어 중지될 때까지(예: 사용자가 웹 페이지를 나가는 것) 사용자의 컴퓨터 내부에서 로컬로 실행된다.
Code on Demand는 코드 이동성 분야에서 모바일 코드를 사용하는 것이다.[2]
제약
클라이언트-서버
첫 번째 제약조건은 시스템이 클라이언트와 서버로 구성되어야 한다는 것이다.
서버에는 클라이언트가 사용하고자 하는 리소스가 있다. 예를 들어, 서버에는 주가 리스트(즉, 자원)가 있고 고객은 이러한 가격을 멋진 그래프에 표시하려고 한다.
두 사람 사이에는 우려가 뚜렷이 구분되어 있다. 서버는 백엔드(데이터 스토리지, 비즈니스 규칙 등)를 처리하고 클라이언트는 프런트엔드(사용자 인터페이스)를 처리한다.
상태 비저장
클라이언트와 서버 간의 상호작용을 더욱 단순화하기 위해, 두 번째 제약조건은 그들 사이의 통신이 상태 비저장이어야 한다는 것이다.
이것은 클라이언트의 세션에 대한 모든 정보가 클라이언트에 보관되고, 서버는 전혀 인식하지 못한다는 것을 의미한다. 그 결과 각 요청은 요청을 수행하는 데 필요한 모든 정보를 포함해야 한다(즉, 어떤 상황 정보에 의존할 수 없음).
캐시
클라이언트-서버 통신의 마지막 제약조건은 서버의 응답이 캐시 가능 또는 캐시 불가능으로 표시되어야 한다는 것이다.
효과적인 캐시는 클라이언트와 서버 상호 작용의 수를 줄일 수 있으며, 이것은 시스템 성능에 긍정적으로 기여한다. 적어도 사용자 입장에서는.
대구
COD(Code-on-Demand)는 REST의 유일한 선택적 제약 조건이다. 그것은 고객들이 그것의 유연성을 향상시킬 수 있도록 해준다. 왜냐하면 사실 특정한 일들이 어떻게 이루어질지 결정하는 것은 서버이기 때문이다. 예를 들어, Code-On-Demand를 사용하면, 클라이언트는 서버가 이 프로세스에 사용되는 암호화 루틴/키를 인식하지 못하도록 통신을 암호화하기 위해 자바스크립트, 자바 애플릿 또는 플래시 어플리케이션을 다운로드할 수 있다.
그러나 COD를 사용하면 가시성이 감소하므로 이 제약조건은 선택사항이다. 또한 모든 API가 이러한 유연성을 필요로 하는 것은 아니다.
참고 항목
참조
- ^ Carzaniga, Antonio; Gian Pietro Picco; Giovanni Vigna (2007). Is Code Still Moving Around? Looking Back at a Decade of Code Mobility. ICSE COMPANION '07 Companion to the Proceedings of the 29th International Conference on Software Engineering. Washington, DC, USA: IEEE Computer Society. pp. 9–20. CiteSeerX 10.1.1.119.5295. doi:10.1109/ICSECOMPANION.2007.44. ISBN 978-0-7695-2892-2.
- ^ Fuggetta, Alfonso; Gian Pietro Picco; Giovanni Vigna (1998). "Understanding Code Mobility". IEEE Transactions on Software Engineering. 24 (5): 342–361. CiteSeerX 10.1.1.20.3442. doi:10.1109/32.685258. ISSN 0098-5589. Retrieved 29 July 2009.