중화사전망 - 서예자전 - BS 와 CS 아키텍처를 어떻게 구분합니까

BS 와 CS 아키텍처를 어떻게 구분합니까

1. 간단히 말해서, 데이터베이스 서버에 대한 클라이언트 직접 액세스에는 2 계층 구조가 있습니다.

클라이언트는 미들웨어 및 기타 3 계층 구조의 응용 프로그램 서버를 통해 데이터베이스 서버에 액세스합니다.

3 층 구조는 2 층 구조보다 더 안전하다.

2. 클라이언트 프로그램에서 서버에 액세스하는 구조를 2 계층 구조라고 합니다. 트랜잭션 논리 처리로 캡슐화된 미들웨어를 통신으로 추가하는 것은 데이터 로드의 균형을 맞추는 3 계층 구조입니다!

3. 기초지식을 베껴 보세요. (사진 없음)

첨부: 관련 지식

현대사회의 소프트웨어 개발 아키텍처는 간단히 N 계층 아키텍처로 요약된다. 여기서 N 은 1 보다 크거나 같다. 즉, 독립 실행형 아키텍처 (n = 1), 클라이언트/서버 아키텍처 (n = 2), 다중 계층 아키텍처 (n); 2). 이러한 아키텍처를 간략하게 소개하고 비교해 보겠습니다.

독립 실행형 시스템: 이 소프트웨어는 독립 실행형 상태에 적합하며 일반적으로 사전 소프트웨어, 번역 소프트웨어 등과 같은 단일 어플리케이션에 적용됩니다. 이 개발 방법은 통합 관리 시스템 개발에 적합하지 않습니다.

C/S 구조: c/s 구조는 LAN 에서 개발되어 데이터를 중앙에서 관리할 수 있는 기능을 갖추고 있습니다. 처음 등장했을 때, 그것은 확실히 컴퓨터 개발의 많은 문제를 해결했다. 4GL 언어가 발전함에 따라 사용자 인터페이스도 점점 더 풍부해지고, 클라이언트가 사물을 처리할 수 있는 능력도 전체 시스템의 성능을 전반적으로 향상시키고, 관리 정보 시스템 (MIS) 을 빠르게 발전시켰다. 일반 범례는 그림 1 을 참조하십시오.

2 계층 아키텍처 개념에 따라 C/S 구조를 분해하면 표현 계층 (표현 계층이라고도 함) 과 데이터 계층으로 나눌 수 있습니다. 데이터 계층은 데이터 저장을위한 캐리어를 제공하고, 표현 계층은 특정 기술을 통해 데이터 계층에서 데이터를 제거하고, 어느 정도의 분석을 수행하고, 특정 형식으로 사용자에게 보여줍니다. 2 계층 아키텍처에서는 표현 계층이 데이터베이스를 직접 조작하며 대부분의 비즈니스 논리 (데이터 간 관계 규칙) 도 표현 계층에서 구현됩니다.

그림 1: 클라이언트/서버 아키텍처의 예

3 계층 아키텍처: 3 계층 아키텍처는 일반적인 n 계층 아키텍처입니다. 3 계층 아키텍처란 원래 2 계층 아키텍처의 비즈니스 논리 부분을 데이터 및 표현 계층에서 추출하여 미들웨어 서버를 형성하는 것입니다. 따라서 3 계층은 표현 계층, 비즈니스 논리 계층 및 데이터 계층입니다. 또한 그림 2 에 나와 있는 분산 시스템인 시스템 구조가 있습니다.

그림 2: 분산 시스템의 구조 다이어그램

분산 시스템에서는 클라이언트와 데이터 터미널 사이에 단 하나의 응용 프로그램 서버만 있어 클라이언트 소프트웨어를 관리하지만 성능 조정은 하지 않습니다. 예를 들어 클라이언트가 호출될 때마다 새 데이터베이스 연결이 생성되고 연결 버퍼 풀을 형성하기 위해 연결을 유지할 수 없습니다. 분산 애플리케이션에 일부 비즈니스 처리 로직이 통합되었지만 기존 C/S 아키텍처는 실제로 변경되지 않았습니다.

3 계층 아키텍처에서 표현 계층은 주로 고객과의 상호 작용 기능을 제공하고, 데이터 계층은 시스템의 모든 데이터 저장 수단을 제공하며, 비즈니스 논리 계층은 전체 시스템의 비즈니스 처리 논리를 통합하여 미들웨어를 형성합니다. 미들웨어는 전후를 계승하는 역할을 한다. 표현 계층은 IDL 을 통해 미들웨어를 호출합니다. 미들웨어는 이를 데이터 처리 원칙으로 변환하고, 데이터베이스에서 해당 데이터를 가져오고, 클라이언트에 반환하는 소프트웨어를 클라이언트 요구 사항으로 표시합니다. 그림 3 에는 3 계층 아키텍처의 다이어그램이 나와 있습니다.

그림 3: 3 계층 아키텍처 다이어그램

C/S 구조와 3 계층 아키텍처에 대해 간략하게 설명했습니다. 관련 이점은 분명합니다. 그것들 사이의 차이를 더 잘 알 수 있도록, 우리는 그것들을 비교할 것이다.

C/S 구조의 단점:

효과적인 중앙 집중식 제어 부족: 많은 C/S 소프트웨어에서 모든 구성 요소를 한 곳 (예: 시스템) 에서 관리할 수 없는 대신 여러 클라이언트 애플리케이션으로 분할해야 하기 때문에 유지 관리 및 보안이 어려워집니다.

보안 부족: 분산 컴퓨터 시스템에서는 정보에 대한 액세스 보안을 제어하기가 어렵습니다. 클라이언트는 민감한 데이터를 분석해야 하는 경우가 많기 때문에 보안 취약점이 생기기 쉽다.

클라이언트의 작업량이 매우 큽니다. 어플리케이션의 모든 비즈니스 논리가 클라이언트당 구현되면 데스크탑 컴퓨터만 사용하는 클라이언트 리소스는 감당하기 어렵습니다.

소프트웨어 재사용성 저하: C/S 구조의 응용 소프트웨어는 일반적으로 운영 체제에 따라 사용자 정의되며 개발 도구도 제한되므로 요소를 변경해야 할 경우 다시 실행할 수 있습니다. 예를 들어, 원래 C 언어로 개발되었으며 지금은 PB 로 개발되어야 하므로 모든 원본 작업을 다시 실행해야 합니다.

어플리케이션이 점점 복잡해짐에 따라 데스크탑 컴퓨터는 시스템의 성능 요구 사항을 충족하기 위해 지속적으로 업그레이드해야 하며, 때로는 데스크탑 시스템의 감당력보다 훨씬 더 많은 경우도 있습니다. 예를 들어, 멀티스레드 및 대칭 멀티프로세싱과 같은 고급 운영 체제의 기능은 표준 데스크탑 컴퓨터 시스템에서 사용할 수 없을 수 있으며, 이러한 기술을 갖춘 서버에 액세스하지 않으면 클라이언트의 데스크탑 시스템이 이러한 신기술의 성능을 결코 얻지 못할 수 있습니다.

이러한 문제들에 대해 3 계층 아키텍처는 좋은 해결책을 제공한다.

3 계층 아키텍처에서 응용 프로그램 기능은 클라이언트와 서버 간에 나뉘며 시스템은 응용 프로그램을 통해 사용자 정의 인터페이스 시스템을 비즈니스 프로세스 논리와 분리합니다. 업무 처리 논리를 미들웨어 서버에 집중시킴으로써 클라이언트 작업량을 줄이고 중요한 데이터에 대한 액세스 제어를 단순화할 수 있습니다.

3 계층 구조에서 클라이언트는 서버의 데이터 변경 사항으로부터 분리됩니다. 간단히 말해 비즈니스 처리 논리는 클라이언트 사용자 인터페이스 변경의 영향을 받지 않습니다. 3 계층 시스템의 매우 중요한 특징 중 하나는 시스템이 구성 요소 재사용성이 우수하다는 것입니다. 예를 들어 PB 에서 개발된 구성 요소는 VC 에서 사용할 수 있습니다. 그것의 범례는 그림 4 에 나와 있다.