다음을 통해 공유


N 계층 .NET Framework 데이터 애플리케이션 개요

참고 항목

데이터 집합 및 관련 클래스는 2000년대 초반에 적용된 레거시 .NET Framework 기술로, 응용 프로그램이 데이터베이스에서 연결이 끊어진 동안 응용 프로그램이 메모리의 데이터로 작업할 수 있도록 합니다. 사용자가 데이터를 수정하고 변경 내용을 다시 데이터베이스에 유지할 수 있도록 하는 애플리케이션에 특히 유용합니다. 데이터 세트는 매우 성공적인 기술로 입증되었지만 새 .NET 애플리케이션은 Entity Framework Core를 사용하는 것이 좋습니다. Entity Framework는 표 형식 데이터를 개체 모델로 사용하는 더 자연스러운 방법을 제공하며 더 단순한 프로그래밍 인터페이스를 제공합니다.

‘N 계층’ 데이터 애플리케이션은 여러 ‘계층’으로 분리된 데이터 애플리케이션입니다. “분산 앱”과 “다중 계층 애플리케이션”이라고도 하는 N 계층 애플리케이션은 클라이언트 및 서버 간에 분산되는 별개의 계층으로 처리를 분산합니다. 데이터에 액세스하는 애플리케이션을 개발할 때 애플리케이션을 구성하는 여러 계층을 명확하게 구분해야 합니다.

일반적인 N 계층 애플리케이션에는 프레젠테이션 계층, 중간 계층 및 데이터 계층이 포함됩니다. N 계층 애플리케이션의 여러 계층을 분리하는 가장 쉬운 방법은 애플리케이션에 포함할 각 계층에 대해 개별 프로젝트를 만드는 것입니다. 예를 들어, 프레젠테이션 계층은 Windows Forms 애플리케이션일 수 있지만 데이터 액세스 논리는 중간 계층에 위치한 클래스 라이브러리일 수 있습니다. 또한 프레젠테이션 레이어는 웹 서비스와 같은 서비스를 통해 중간 계층의 데이터 액세스 논리와 통신할 수 있습니다. 애플리케이션 구성 요소를 별도의 계층으로 분리하면 애플리케이션의 유지 관리성과 확장성이 높아집니다. 이는 전체 솔루션을 다시 설계하지 않고도 단일 계층에 적용할 수 있는 새로운 기술을 더 쉽게 도입할 수 있기 때문입니다. 또한 N 계층 애플리케이션은 일반적으로 프레젠테이션 계층으로부터 격리를 유지하는 중간 계층에 중요한 정보를 저장합니다.

Visual Studio에는 개발자가 N 계층 애플리케이션을 만드는 데 도움이 되는 몇 가지 기능이 포함되어 있습니다.

  • 데이터 세트는 데이터 세트(데이터 엔터티 레이어)와 TableAdapters(데이터 액세스 레이어)를 분리할 수 있도록 하는 DataSet Project 속성을 제공합니다.

  • Visual Studio의 LINQ to SQL 도구는 DataContext와 데이터 클래스를 별도의 네임스페이스에 생성하는 설정을 제공합니다. 이를 통해 데이터 액세스 및 데이터 엔터티 계층을 논리적으로 분리할 수 있습니다.

  • LINQ to SQL은 애플리케이션의 여러 계층으로부터 DataContext를 가져오는 데 사용할 수 있는 Attach 메서드를 제공합니다. 자세한 내용은 LINQ to SQL을 사용한 N 계층 및 원격 애플리케이션을 참조하세요.

프레젠테이션 계층

‘프레젠테이션 계층’은 사용자가 애플리케이션과 상호 작용하는 계층입니다. 추가 애플리케이션 로직이 포함된 경우가 많습니다. 일반적인 프레젠테이션 계층 구성 요소에는 다음이 포함됩니다.

프레젠테이션 계층은 일반적으로 서비스 참조(예: Visual Studio 애플리케이션의 Windows Communication Foundation Services 및 WCF Data Services를 사용하여 중간 계층에 액세스합니다. 프레젠테이션 계층은 데이터 계층에 직접 액세스하지 않습니다. 프레젠테이션 계층은 중간 계층의 데이터 액세스 구성 요소에 따라 데이터 계층과 통신합니다.

중간 계층

‘중간 계층’은 프레젠테이션 계층과 계층 및 데이터 계층이 서로 간의 통신을 위해 사용하는 계층입니다. 일반적인 중간 계층 구성 요소에는 다음이 포함됩니다.

  • 비즈니스 규칙 및 데이터 유효성 검사와 같은 비즈니스 논리.

  • 다음과 같은 데이터 액세스 구성 요소 및 논리:

다음 그림에서는 Visual Studio에서 사용할 수 있는 기능 및 기술과 N 계층 애플리케이션의 중간 계층에 적합할 수 있는 기능 및 기술을 보여 줍니다.

중간 계층 구성 요소

중간 계층

중간 계층은 일반적으로 데이터 연결을 사용하여 데이터 계층에 연결합니다. 이 데이터 연결은 일반적으로 데이터 액세스 구성 요소에 저장됩니다.

데이터 계층

데이터 계층 은 기본적으로 애플리케이션의 데이터를 저장하는 서버입니다(예: SQL Server를 실행하는 서버).

다음 그림에서는 Visual Studio에서 사용할 수 있는 기능 및 기술과 N 계층 애플리케이션의 데이터 계층에 적합할 수 있는 기능 및 기술을 보여 줍니다.

데이터 계층 구성 요소

데이터 계층

프레젠테이션 계층의 클라이언트에서 직접 데이터 계층에 액세스할 수 없습니다. 대신에 중간 계층의 데이터 액세스 구성 요소는 프레젠테이션과 데이터 계층 간의 통신에 사용됩니다.

N 계층 개발에 대한 도움말

다음 항목은 N 계층 애플리케이션 작업에 관한 정보를 제공합니다.

데이터 세트 및 TableAdapter를 다른 프로젝트로 분리

연습: N 계층 데이터 애플리케이션 만들기

LINQ to SQL을 사용한 N 계층 및 원격 애플리케이션

참고 항목