ASP를 사용하는 많은 웹 사이트는 구성 요소를 전혀 사용하지 않지만이 기사에서는 ASP가 인터넷 클라이언트와 구성 요소 사이의 브리지로 가정됩니다.
ASP 및 구성 요소 부서 서비스
ASP는 서버에서 클라이언트가 사용할 HTML 또는 XML 파일을 만드는 데 가장 일반적으로 사용되므로 주로이 사용 시나리오에 대해 논의합니다. 이것은 일반적인 질문을 제기합니다. ASP 페이지가 서버에 있다면 비즈니스 계층의 일부에 속합니까? 구성 요소 세계에서 대답은 일반적으로 아니오입니다. ASP는 서버에서 실행되며 응용 프로그램 서버와 같은 공간에있을 수 있지만 비즈니스 로직의 일부는 아닙니다.
사용자 인터페이스 도구가 커지거나 더 많은 비즈니스 간 솔루션이 활성화되면서 이러한 명확한 차이를 유지하면 큰 보상을받을 수 있습니다.
이 말하면서 가장 중요한 비즈니스 계층 및 프레젠테이션 계층 분할 기준을 살펴 보겠습니다.
비즈니스 로직과 별도의 UI 코드. 여기에는 ASP 내부 구성 요소를 사용하여 다른 DLL에있는 것처럼 비즈니스 로직 코드와 분리하는 MTS 객체를 사용하는 등 UI에 결합 된 코드 작성이 포함됩니다.
ASP 페이지와 별도의 트랜잭션. 트랜잭션 ASP는 경우에 따라 매우 우수하지만 구성 요소와 다층 응용 프로그램이 변경됩니다. 구성 요소는 거래 및 비즈니스 로직 시맨틱을 관리하기 위해 클라이언트 계층에 의존해서는 안됩니다.
동일한 시스템 및/또는 웹 서버 프로세스에 대표 구성 요소 (요청 및 응답을 사용하는 구성 요소)를 배치하십시오. ASP 내부 구성 요소 개체를 사용하는 객체가 원격 시스템에 배치되면 내부 구성 요소로의 모든 호출이 콜백 양식으로 발생합니다. IIS 클라이언트를 호출하는 COM+ 서버는 COM+ 서버로 성능을 크게 줄이고 보안 구성을 복잡하게합니다. 이러한 조정 객체는 "라이브러리 활성화"로 표시된 COM+ 응용 프로그램에 배치 할 수 있습니다.
ASP는 서버에 존재하므로 ASP 페이지는 리소스 공유 규칙을 준수하고 확장 성을 염두에 두어야합니다. 아래 세부 사항을 참조하십시오.
"세션"에서 경영진은 사용자 별 상태를 피하려고 노력해야합니다.
ASP 상태를 유지하고 가능한 경우 리소스 풀을 허용하십시오.
작동 방법
코드 세그먼트가 비즈니스 로직 또는 프레젠테이션 계층에 속하는지 여부를 평가할 때 "ASP 페이지를 버튼 유형 전화 응용 프로그램으로 바꾸어야하는 경우 해당 코드가 여전히 유용합니까?" 대답이 "예"인 경우 비즈니스 로직 코드 또는 사용자 인터페이스 도우미 코드로 나눌 수 있습니다.
클라이언트를 변경 한 후 코드를 사용할 수 없거나 사용자 인터페이스를 구성하기위한 도우미 인 경우 코드는 표현 서비스 계층에 속합니다. ASP 페이지 또는 ASP 내부 구성 요소를 사용하는 구성 요소에 있습니다. 비즈니스 객체 구성 요소에 속하지 않습니다.
데스크탑과 ASP 클라이언트의 차이점을 이해하십시오
ASP는 데스크탑의 기존 단일 스레드 Win32 응용 프로그램과 달리 구성 요소의 특수 클라이언트입니다. 주요 차이점은 다음과 같이 요약됩니다.
스레드 관리 : ASP는 다중 스레드 클라이언트입니다. 이것은 서로 다른 ASP 페이지를 동시에 처리 할 수있는 동시 활동이 많이있을 수 있음을 의미합니다. 이는 객체가 시스템을 독점적으로 차지하는 유일한 사용자라고 거짓으로 주장 할 수 없음을 의미합니다. 이렇게하면 예상치 못한 반응이 예를 들어 ASP 세션이나 응용 프로그램 변수에 객체를 저장하는 나쁜 습관을 개발할 수 있습니다.