2013-06-30 15 views
0

하나의 작은 데이터베이스 응용 프로그램을 만들고 있습니다. 이 응용 프로그램에서 나는 자바 스윙을 사용하고 최대 절전 모드를 사용하여 데이터베이스에 접근하고있다. 어제 제 친구가 두 계층 또는 세 계층을 사용하고있는 아키텍처를 물었습니까? 내 대답은 잘 모르겠습니다. 그런 다음 Google에서 검색 한 결과 몇 가지 답변을 찾았습니다. 다음은 이러한 답변의 링크입니다. 2 단계 및 3 단계 실제 구현

Explain the different tiers of 2 tier & 3 tier architecture?

3 Tier Architecture vs 2 Tier Architecture


나는이 두 개의 링크가 그래서 조금 이해 읽어 보시기 바랍니다.

그러나 실제로는 구현 방법이 사실상 프로그래밍 언어로 말하려는 것입니다.

아직도 무엇인지 이해할 수 없습니까? 어떻게 구현됩니까? 구현 된 실제 사례를 하나 줄 수 있습니까?

+0

또 하나의 방법은 내가 결정할 수있는 방법 또는 계층 내가 지금 두 계층 또는 3 계층을 말하고 의미를 사용하고 계십니까? –

답변

0

Grisha와의 토론에 따라 계층과 계층의 차이점을 고려해야합니다.

응용 프로그램의 레이어는 논리적 구분 단위입니다. 예를 들어 사용자 인터페이스 계층, 비즈니스 로직 계층, 서비스 계층, 데이터 액세스 계층이있을 수 있습니다. 모든 레이어는 응용 프로그램의 해당 부분/단위를 구현하는 코드가 있어야합니다.

계층은 분리/배치의 물리적 단위를 나타냅니다. 모든 계층 (사용자 인터페이스 계층, 비즈니스 로직 계층, 서비스 계층, 데이터 액세스 계층)이 동일한 서버 시스템에 배포 된 경우 계층이 하나뿐입니다.

데이터베이스가 다른 컴퓨터와 다른 서버의 다른 모든 레이어에서 호스팅되는 경우 두 계층으로 구성됩니다.

일반적으로 사용자 수 (또는 응용 프로그램의 부하)가 증가함에 따라 단일 서버는 효율적으로 수행 할 수 없으므로 가능한 경우 더 많은 계층을 추가하거나보다 강력한 서버를 사용해야합니다.

따라서 계층 수는 사용자가 보유한 계층 수보다 작거나 같을 수 있습니다. 응용 프로그램의 아키텍처가 결정됨에 따라 설계 단계에서는 도면층 수를 알 수 있지만 배치를 계획 한 후에는 계층 수를 확인할 수 있습니다.

http://www.codeproject.com/Articles/70061/Architecture-Guide-ASP-NET-MVC-Framework-N-tier-En

당신이 더 이상 질문이있는 경우 더 많은 논의 주시기 바랍니다 @ "디자인의 확장 성 옵션"섹션에서 봐 주시기 바랍니다.고마워요

+0

그래서, 귀하의 답변에 따라 내 데이터베이스 응용 프로그램이 단일 컴퓨터에 구현되므로 하나의 계층입니다. 내가 맞습니까? –

+1

예. 데이터베이스 응용 프로그램이 단일 컴퓨터에서 구현되고 동일한 컴퓨터가 응용 프로그램의 다른 부분을 호스팅하는 경우 ... 한 계층입니다 .... 그리고 당신 말이 맞습니다! –

+0

그리고 만약 내가 두 대의 기계가 하나의 기계가 데이터베이스와 전체 응용 프로그램을 가지고 있고 다른 기계는 응용 프로그램의 한 형태 만 가질 것입니다? –

1

응용 프로그램에는 Swing 기반 GUI와 DB에 대한 연결이 있습니다. 사용자가 GUI를 통해 약간의 변경을하면 즉시 DB에 반영됩니다 (즉, 업데이트/삽입/삭제 등). 따라서 2 계층 아키텍처 (GUI + DB)가 있습니다.

이제 사용자가 GUI를 통해 일부 변경을 수행 할 때 DB로 직접 이동하지 않고 요청을 처리하는 특정 서버 (예 : 웹 서버)로 적절한 요청을 보낸 다음 DB에 대해 적절한 작업을 수행한다고 가정합니다. 이 경우에는 3 계층 아키텍처 (GUI + 서버 + DB)

+0

이제 2 계층 아키텍처를 사용하고 있다고 말할 수 있습니다. 감사. 하지만 내가 지정한 한가지 더, 나는 또한 최대 2/3의 중간 단계로 최대 절전 모드를 사용하고 있습니까? –

+0

Hibernate는 DB를 사용하는 유일한 방법 중 하나입니다. 그것은 아키텍처에 영향을 미치지 않습니다. –