1. 계층형 개발
예전의 소프트웨어 개발에서는 2계층 구조가 매우 중요한 위치를 차지했습니다. 2계층 구조는 오늘날에도 여전히 널리 사용되고 있지만, 2계층 구조는 클라이언트의 유지관리 비용이 높고 분산 처리를 구현하기 어렵다는 등의 단점이 많이 있습니다. 2계층 아키텍처의 최종 사용자 서비스와 백엔드 서비스 사이에 더 많은 계층이 추가되면서 다중 계층 아키텍처가 등장했습니다.
전통적인 3계층 이론은 그림 2-63에 표시된 것처럼 애플리케이션을 세 가지 수준으로 나눕니다.
프레젠테이션 레이어는 인간과 컴퓨터의 상호 작용을 처리하는 데 사용됩니다. 현재 가장 주류를 이루는 두 가지 프레젠테이션 계층은 Windows 형식과 WebBrowser 형식입니다. 주요 책임은 마우스 클릭, 입력, HTTP 요청 등과 같은 사용자 요청을 처리하는 것입니다.
도메인 논리 계층은 기업의 실제 활동을 시뮬레이션하며 기업 활동의 모델로도 간주될 수 있습니다.
데이터 소스 계층은 데이터베이스, 메시징 시스템 및 트랜잭션 시스템을 처리합니다.
실제 적용에서는 3단 구조에 약간의 변화가 있다. 예를 들어, Windows에서. NET 시스템에서 애플리케이션은 프리젠테이션 계층(프레젠테이션 계층), 비즈니스 계층(비즈니스 계층) 및 데이터 액세스 계층(데이터 액세스 계층)의 세 가지 계층으로 구분되며, 이는 각각 고전적인 3계층 이론의 세 가지 수준에 해당합니다. NET 시스템의 프리젠테이션 계층은 데이터 액세스 계층, 즉 레코드 세트 기술에 직접 접근할 수 있다는 점은 언급할 가치가 있습니다. ADO.NET에서 이 기술은 매우 성숙해졌으며 프레젠테이션 계층의 특정 데이터 인식 구성 요소를 통해 매우 친숙한 기능을 달성합니다. 이러한 교차 계층 액세스 기술은 계층 간의 종속성을 깨뜨릴 수 있으므로 일반적으로 허용되지 않는 것으로 간주됩니다. Windows 플랫폼에서는 지침을 엄격히 준수한다는 것은 많은 추가 작업을 의미합니다. 그러므로 우리는 규범도 정적이지 않다는 것을 알 수 있습니다.
이 시스템에서는 데이터 액세스 계층을 기본 데이터 액세스 계층과 비즈니스 데이터 액세스 계층으로 더 나누어야 합니다. 전자는 주로 데이터베이스 액세스 및 트랜잭션 처리를 완료하는 반면, 후자는 데이터베이스의 테이블에 대한 기본 데이터 액세스 개체를 상속하여 자체 데이터 액세스 요구 사항을 구현합니다. 이 시스템에는 그래픽 구성 및 인터페이스 데이터 상호 작용이 포함되므로 프레젠테이션 계층은 데스크톱 모드와 IE 모드의 조합을 채택합니다. 비즈니스 작업은 주로 IE에서 수행되고, P3(또는 MS 프로젝트)와의 데이터 인터페이스는 주로 데스크톱에서 수행됩니다. 모드가 완료되었습니다.
그림 6-63 계층형 개발의 도식
2. 서비스 지향 아키텍처
SOA(서비스 지향 아키텍처 또는 서비스 지향 아키텍처라고도 함) 서비스 지향 아키텍처) 서비스 아키텍처)는 인터넷 환경에서 비즈니스 통합의 요구를 해결하기 위해 특정 작업을 완료할 수 있는 독립적인 기능 개체를 연결하여 구현된 소프트웨어 시스템 아키텍처를 의미합니다. SOA는 잘 정의된 인터페이스와 서비스 간의 계약을 통해 애플리케이션(서비스라고 함)의 다양한 기능 단위를 연결하는 구성 요소 모델입니다. 인터페이스는 중립적인 방식으로 정의되며 서비스가 구현되는 하드웨어 플랫폼, 운영 체제 및 프로그래밍 언어로부터 독립적이어야 합니다. 이를 통해 다양한 시스템에 내장된 서비스가 통합되고 공통된 방식으로 상호 작용할 수 있습니다.
이 시스템은 구성 요소 내에서는 응집력이 높고 구성 요소 간 결합도는 낮은 서비스 지향 아키텍처를 채택하여 시스템의 유지 관리성, 확장성 및 이식성을 향상시킵니다.
3. 객체지향 설계 방식을 채택합니다
이 시스템은 객체지향 프로그래밍 방식을 채택합니다. 객체지향 소프트웨어 개발의 주요 목적은 재사용 가능한 소프트웨어 기술을 사용하여 문제 해결 속도를 높이고, 개발 시간을 단축하며, 소프트웨어 기능이 변경될 때 소프트웨어 개발 비용을 줄이는 것입니다. 하나 이상의 클래스의 구현 방법만 수정하면 됩니다. 소프트웨어 기능 변경의 영향이 지역화되어 소프트웨어 유지 관리 비용이 절감됩니다.
객체 지향 소프트웨어 설계의 주요 과제는 소프트웨어 시스템을 기본 데이터 유형 또는 클래스와 하위 클래스로 분해하고 각 기본 클래스와 하위 클래스의 특성을 정의하는 것입니다. 특정 구현에서는 디자인의 필수 부분을 표준화하고 이를 상위 클래스로 컴파일했습니다. 공통 데이터 및 처리는 상위 클래스에서 정의되고, 기타 하위 클래스는 상위 클래스에서 상속되어 특별한 요구 사항에 따라 적절하게 확장됩니다.
구체적인 구현 과정에서 우리는 다음 방법을 채택했습니다:
(1) 객체 캡슐화 사용: 기본 클래스 라이브러리의 경우 엄격한 코드 캡슐화, 클래스 변경 및 업그레이드를 구현했습니다. 라이브러리는 클래스 라이브러리를 사용하는 프로그램에 영향을 주지 않으므로 프로그램의 유지 관리성이 향상됩니다.
(2) 다중 상속 사용: 데이터 삽입, 삭제, 수정, 저장, 데이터 정렬, 필터링, 검색 및 바꾸기, 테이블 인쇄 등 일반적으로 사용되는 기능을 사용합니다.
(3) 다형성 사용: 다형성은 프로그래밍에 큰 유연성을 제공합니다. 우리는 다형성을 사용하여 다양한 환경에서 유사한 기능에 대한 통합 액세스 인터페이스를 제공함으로써 프로그램의 가독성을 향상시킵니다.
4. 분산 컴퓨팅 기술
CORBAR, COM 등 다양한 분산 기술이 있습니다. .NET 플랫폼에는 WEB 서비스와 Net Remoting 기술이 있습니다. 웹 서비스는 응용 시스템의 구성 요소 모델과 운영 체제 프로그래밍 언어의 경계를 넘어 클라이언트나 다른 서버에서 호출할 수 있는 새로운 분산 컴퓨팅 기술입니다.
웹 서비스는 SOAP를 사용하여 HTTP를 통해 원격 메소드 호출을 수행하는 새로운 방법입니다. 과거에는 DCOM(Distributed COM)을 사용하면 원격 서버의 개체를 인스턴스화하고 메서드를 사용하고 결과를 얻는 데 매우 번거롭고 필요한 구성을 수행하는 데 많은 노력이 필요했기 때문에 이 문제는 과거에는 매우 어려웠습니다. 기능.
시스템은 웹 서비스를 사용하여 분산 구조를 구현하고, 분산 트랜잭션은 .Net Enterprise Service를 사용하여 구현합니다. 암시적 분산 트랜잭션 구현:
암시적 분산 트랜잭션의 가장 큰 장점은 트랜잭션을 수동으로 제어할 필요가 없다는 것입니다. 트랜잭션 범위는 코드 블록을 통해 선언되며 이 범위 내의 작업은 자동으로 입력됩니다. 거래. 이러한 유형의 트랜잭션 방법은 .Net Enterprise Service의 transactionscope 개체를 통해 구현됩니다. 분산 트랜잭션 구현 표시:
분산 트랜잭션을 표시하여 DTC에서 수동으로 트랜잭션을 얻고 트랜잭션을 입력해야 하는 연결과 트랜잭션을 연결한 다음 수동으로 제출하거나 롤백합니다. 이러한 유형의 트랜잭션 방법은 .Net Enterprise Service의 Committable Transaction 개체를 통해 구현됩니다.
5. 워크플로 엔진과 통합
이 시스템에 사용되는 워크플로 시스템은 컴퓨터 통신 기술, 구성 요소 기술 및 그래픽 기술을 결합하여 실용적이고 진보적이며 안정적인 성능을 제공합니다. 국내 최고 수준에 도달했습니다.
6. VML 기술을 사용하여 브라우저에서 진행 계획 다이어그램 그리기
브라우저에서 그림을 그리는 것은 항상 많은 소프트웨어 회사가 도달하기 어려운 단계였습니다. 시스템은 VML 기술을 사용하여 사용자에게 브라우저에서 직접 진행 계획을 그리는 기능을 제공하고 그림 6-64와 같이 진행 계획을 편집하여 추적할 수도 있습니다.
시스템 내 일정계획도는 싱글코드번호와 더블코드번호 2가지 형태가 있으며 서로 변환이 가능하다.
7. Microsoft Office 소프트웨어와의 완벽한 결합 및 긴밀한 통합
Microsoft Office는 일반적으로 사용되는 사무용 소프트웨어이며 업무용 연락처 시트, 디자인 등 엔지니어링 관리 프로세스에 사용되는 많은 파일입니다. 변경 주문 대부분의 파일은 Word 형식이고 일부 보고서는 Excel 형식이므로 시스템이 Microsoft Office 제품군과 원활하게 연결되어야 합니다.
Microsoft Office와의 통합에 중점을 두어 사용자의 사용을 용이하게 할 뿐만 아니라 Microsoft Office에 대한 사용자의 투자를 최대한 보호합니다.
8. 전자 서명 및 필기 기술의 통합
엔지니어링 프로젝트 관리, 특히 자필 서명에 대한 문서 보안 및 신뢰성에 대한 요구 사항이 계속 증가함에 따라 전자 도장에 대한 요구 사항은 다음과 같습니다. 더욱 엄격해 Word/Excel 문서에 서명과 날인이 필요합니다. 여러 사람 부서, 검증 가능한 서명, 인증, 부인 방지 등의 기능이 필요합니다. 실제 상황을 바탕으로 Oriental Thinking은 타사 소프트웨어인 iSignature(이 기술은 공안부의 보안 검사를 통과함) 자필 서명 및 전자 도장 소프트웨어 관리 솔루션을 사용합니다. 이 솔루션은 정보 암호화 및 데이터 압축 처리 기술을 사용하고 안정성이 뛰어나며 확장성이 뛰어나 정부 및 기업에서 널리 사용됩니다.
iSignature 수기 서명 전자 도장 소프트웨어는 서명 키 디스크와 소프트웨어로 구성됩니다. 서명 키 디스크에는 자체 CPU, 고속 메모리 및 암호화 처리 메커니즘이 있으며 이는 단위 또는 개인 디지털 인증서를 저장하는 데 사용됩니다. 정보 또는 서명 정보. 서명된 키 디스크는 USB 인터페이스를 통해 컴퓨터에 연결됩니다. 소프트웨어는 Word/Excel에 자동으로 내장되어 인감이나 서명을 구현합니다.
9. SMS 모드와의 통합
제3자 제품과의 통합 GSM-SMModem SMS 모드는 SMS의 송수신 기능, 보류 중인 작업에 대한 적시 알림을 실현하기 위해 채택되었습니다. 알림 보내기 공지사항 등
10.OWC 기술
OWC(Office Web Components)는 스프레드시트, 차트, 데이터베이스를 웹사이트에 게시하는 데 사용할 수 있는 구성 요소 개체 모델(COM) 컨트롤 모음입니다. . 게시된 항목과 데이터 액세스 페이지를 보는 데에도 사용할 수 있습니다. "테이블 템플릿 태그" 기술은 테이블과 데이터베이스 데이터의 교환 및 저장을 실현하는 데 사용됩니다. 이는 서로 다른 고속도로 프로젝트(일반적으로 프로젝트당 약 400개)의 서로 다른 테이블로 인해 각 테이블의 프로그램을 반복적으로 수정하는 문제를 해결합니다.
이 시스템은 직관적인 인터페이스와 간단한 조작으로 Microsoft의 OWC 기술을 사용합니다. 시스템에서 운용되는 다양한 테이블은 엑셀 테이블의 운용방식과 일관되며 사용자의 습관에 부합한다. 양식 데이터 작성 효율성이 향상되었습니다. 보고서 형식의 사용자 정의 및 출력을 용이하게 합니다.
11. Biztalk Server와의 손쉬운 통합
Biztalk은 XML 기반의 데이터 교환 표준이며, Biztalk Server는 Microsoft의 엔터프라이즈 애플리케이션 통합 서버입니다. .
Biztalk Server를 통해 프로세스를 포함한 OA 및 기타 시스템과 시스템을 쉽게 통합할 수 있습니다.
12. 싱글 사인온(Single Sign-On) 기술
싱글 사인온(Single Sign-On)은 디지털 인증서를 기반으로 한 암호화 및 디지털 서명 기술을 사용하여 중앙 집중적이고 통합적인 관리와 사용자 신원 인증을 구현하며 다음과 같은 역할을 합니다. 시스템과 다른 응용 시스템에 대한 통합 로그인 포털을 제공하는 동시에 신원 인증을 통과한 합법적인 사용자에게 각 응용 시스템에 대한 로그인 티켓을 발급함으로써 "원 포인트 로그인, 다중 포인트 로밍"을 실현합니다.
13. 휴대용 장치(PDA) 모바일 작동
그림 6-65 휴대용 장치 모바일 작동
시스템은 스마트 클라이언트 기술(SmartClient)을 채택하고 Handheld 장치 모바일 작동을 제공합니다. 디바이스(PDA) 모바일 운용 능력. 예를 들어 품질 검사 및 평가를 위해 현장 검사 데이터를 PDA를 통해 직접 수집한 후 동기화 메커니즘을 통해 서버 데이터와 동기화할 수 있습니다.
14. 멀티스레딩 기술
기본적으로 하나의 스레드만 애플리케이션 프로세스에서 작업을 실행하지만 시스템은 파일 압축, 데이터 전송 등 CPU 집약적인 작업을 수행하는 경우가 많습니다. . 단일 스레드를 사용하면 시스템의 전체 성능이 저하됩니다.
이 시스템은 멀티스레딩 기술을 사용하여 새로운 스레드가 복잡한 작업을 실행할 수 있도록 함으로써 시스템 성능을 보장합니다.
15. Enterprise Library 2.0의 적용
Enterprise Library는 Microsoft에서 기업 개발을 위해 제공하는 기본 구성 요소 집합으로, 데이터 액세스, 보안, 로그, 예외, 암호화/복호화 및 기타 서비스. Enterprise Library 2.0은 1.0에 비해 기능이 더욱 완벽해지고 사용이 간편해지는 등 주요 변경 사항이 적용되었습니다. 이 시스템은 Enterprise Library 2.0을 사용하며 이 시스템의 적용에 더욱 적합하도록 2차 개발을 거쳤습니다.
16.Ajax 기술
Ajax는 브라우저가 사용자에게 보다 자연스러운 탐색 경험을 제공할 수 있도록 하는 일련의 기술을 사용합니다. Ajax 이전에는 웹 사이트에서는 사용자의 작업이 항상 서버의 "생각 시간"과 동기화되는 제출/대기/재표시 패러다임을 강요했습니다. Ajax는 서버와 비동기적으로 통신하는 기능을 제공하여 사용자를 요청/응답 주기에서 해방시킵니다. Ajax를 사용하면 사용자가 버튼을 클릭할 때 JavaScript와 DHTML을 사용하여 UI를 즉시 업데이트하고 업데이트를 수행하거나 데이터베이스를 쿼리하도록 서버에 비동기 요청을 할 수 있습니다. 요청이 다시 오면 전체 페이지를 새로 고치는 대신 JavaScript 및 CSS를 사용하여 이에 따라 UI를 업데이트할 수 있습니다. 무엇보다도 사용자는 브라우저가 서버와 통신하고 있다는 사실조차 알지 못합니다. 즉, 웹 사이트가 즉각적으로 반응하는 것처럼 보입니다.
시스템은 Ajax 기술을 광범위하게 채택하여 시스템 효율성을 높이고 사용자 경험을 향상시킵니다.