응용 프로그램 시스템 동작 위임 및 노출
업데이트: 2007년 11월
시스템 디자이너에서는 응용 프로그램 시스템의 동작을 제공 또는 소비하는 멤버를 지정할 수 있습니다. 이 작업은 시스템의 끝점 동작을 해당 멤버에 위임하여 수행할 수 있습니다. 또한 해당 시스템 멤버의 끝점 동작을 선택적으로 노출할 수도 있습니다. 이 작업을 완료하면 시스템 정의에 프록시 끝점이 표시됩니다.
시스템에 멤버를 추가하는 방법에 대한 자세한 내용은 방법: 응용 프로그램 시스템에 멤버 추가를 참조하십시오.
프록시 끝점을 통해 동작 위임 및 노출
시스템 정의의 끝점 동작을 멤버에 위임하면 Visual Studio에서는 시스템 정의 끝점을 해당 멤버에 복사하고, 시스템 정의에 프록시 끝점을 만들며, 프록시 끝점을 새 멤버 끝점에 연결합니다. 또한 멤버의 끝점 동작을 노출하면 Visual Studio에서는 해당 멤버의 새 프록시 끝점을 시스템 정의 경계에 추가합니다.
참고: |
---|
배포용으로 특정 시스템 정의의 유효성을 검사하려면 해당 시스템 정의 및 시스템 정의에 포함된 모든 시스템에 대해 끝점 동작을 위임해야 합니다. |
프록시 끝점을 사용하면 시스템의 멤버에 대한 액세스를 제공하고 이러한 멤버의 동작을 해당 시스템 외부로 노출할 수 있습니다. 프록시 끝점을 통해 노출되지 않는 멤버는 시스템 외부에 액세스할 수 있는 권한이 없으며, 해당 시스템의 외부에 있는 시스템과 응용 프로그램도 이러한 멤버에 액세스할 수 없습니다.
예를 들어 웹 서비스 공급자 끝점이 있는 ASP.NET 응용 프로그램이 포함된 시스템에 ASP.NET 응용 프로그램에 연결된 외부 데이터베이스도 있는 경우 웹 서비스 공급자 끝점만 프록시 끝점으로 노출하여 시스템 외부에서 데이터베이스에 대한 액세스를 제한할 수 있습니다. 이제 시스템에서는 웹 서비스를 통해 데이터베이스에 대한 액세스 지점을 하나만 노출하여 시스템 외부에서 데이터베이스에 직접 연결하지 못하도록 합니다.
프록시 끝점을 시스템 정의에 추가하는 경우 해당 시스템을 다른 시스템에 추가하고 이 시스템이 포함된 시스템의 배포를 평가할 때 분산 시스템 디자이너와 관련된 제약 조건을 정의합니다.
참고: |
---|
Visual Studio에서는 런타임에 이러한 제약 조건을 적용하기 위한 검사 작업을 수행하지 않습니다. 따라서 시스템 멤버에 대한 액세스에 보안을 적용하려면 프록시 끝점으로 정의한 제약 조건이 런타임에 수행되도록 해야 합니다. |
그러나 시스템이 배포되고 나면 해당 시스템과 프록시 끝점은 실제 엔터티로 존재하지 않으므로, 결국 모든 프록시 끝점이 응용 프로그램 끝점에 해당 동작을 위임합니다. 배포 시 시스템은 해당 동작을 해당 멤버의 끝점에 위임합니다. 위의 멤버가 시스템인 경우 이러한 시스템은 해당 멤버에 시스템의 동작을 위임하는 식으로 진행됩니다. 이 과정을 통해 시스템 계층 수에 관계없이 동작을 위임할 수 있습니다. 배포 과정에서는 시스템의 모든 구성이 확인되고 재정의된 응용 프로그램 설정과 연결된 응용 프로그램 끝점만 남겨집니다.
응용 프로그램 시스템의 프록시 끝점
프록시 끝점을 시스템 정의에 추가하면 위임 선을 통해 프록시 끝점이 멤버의 끝점에 연결됩니다. 프록시 끝점은 동작을 위임하거나 노출하는 끝점과 형식 및 역할이 항상 동일합니다. 예를 들어 공급자 끝점에 대해 동작을 노출하는 프록시 끝점은 공급자 끝점이기도 하며, 해당 위임 선은 프록시 끝점에서 공급자 끝점까지 이어지게 됩니다. 마찬가지로 소비자 끝점에 대해 동작을 노출하는 프록시 끝점은 소비자 끝점 역할도 수행하며, 해당 위임 선은 소비자 끝점에서 프록시 끝점까지 이어집니다. 끝점에 대한 자세한 내용은 응용 프로그램의 끝점 개요를 참조하십시오.
참고: |
---|
멤버가 올바르게 작동하고 시스템이 유효하려면 일반적으로 멤버의 소비자 끝점이 적절한 공급자 끝점에 연결되어 있거나 프록시 끝점에 위임되어 있어야 합니다. 그러나 소비자 끝점에 연결하는 것은 선택 사항입니다. 자세한 내용은 응용 프로그램 시스템 내 통신을 참조하십시오. |
시스템 정의의 프록시 끝점에는 해당 시스템 정의에 있는 멤버의 단일 끝점에 대한 한 번의 위임만 허용됩니다. 시스템 정의 외부에서 프록시 끝점은 자신이 노출하는 끝점 형식을 연결하는 데 적용되는 것과 동일한 규칙으로 다른 끝점에 연결할 수 있습니다. 단, 다음과 같은 사항을 추가로 고려하십시오.
공급자 형식의 프록시 끝점은 프록시 끝점을 정의하는 시스템 외부에서 하나 이상의 소비자 끝점에 연결할 수 있습니다. 동시에 외부 시스템 정의의 다른 프록시 끝점으로 노출할 수도 있습니다.
소비자 형식의 프록시 끝점은 단일 공급자 끝점에 연결하거나 외부 시스템 정의의 다른 프록시 끝점으로 노출할 수 있습니다.