- 컴포넌트란 무엇인가?
- 클라이언트 컴포넌트와 서버 컴포넌트는 어떻게 구분하는가?
- 클라이언트 컴포넌트
- 로컬 자원을 사용하여 작업을 수행.
- 서버에게 데이터를 요청하거나, 특정 작업을 수행하도록 요청을 보낸다.
- 사용자와 직접 상호작용.
- 주로 GUI 컴포넌트: 버튼, 리스트, 스프레드 시트.
- 서버 컴포넌트
- 클라이언트의 요청을 처리, 응답을 제공.
- 서버의 중앙집중 자원 사용, 다수의 클라이언트 요청에 응답.
- 컨테이너 안에 포함되어 통신. 이때 통신은 서버 내부에 들어있는 비즈니스 오브젝트들이 서로 통신하는 것.
- EJB(Enterprise Java Beans), CORBA(Common Object Request Broker Architecture) 등.
- 컴포넌트 아키텍쳐
- 플러그-인 된 컴포넌트를 관리하는 시스템
- 컴포넌트가 어떤 기능을 수행하는지
- 컴포넌트의 서로 통신하는 방법
- 컴포넌트를 생성/찾는 매커니즘
- 기타 기반 서비스
- 컨테이너의 역할
- 컴포넌트의 생성, 소멸, 생명주기 관리 제공.
- 클라이언트 - 컴포넌트 사이 메시지 패싱 관리.
- 트랜잭션, 보안 등 다수의 컴포넌트들이 사용하는 기반 서비스 제공.
- 컴포넌트 아키텍쳐 1 - Web Application Server (WAS)
- 컴포넌트 아키텍쳐 2 - CORBA
IDL(Interface Description Language)로 자바/C++ 등의 각자 다른 언어를 표준 언어로 전환.
스텁을 통해 ORB로 접근.
- 컴포넌트 아키텍쳐 3 – 계층 아키텍처
계층을 나누는 이유: 계층간의 독립성 확보, 각 레이어마다 어울리는 프로그램으로 구성.
- 사용자 인터페이스: Windows widget, GUI 컴포넌트
- 사용자 다이얼로그: 한 세션에서 발생하는 사용자 상호작용 관리
- 시스템서비스: 비즈니스 서비스의 접속장치
- 비즈니스 서비스: 핵심 비즈니스 정보업무, 규칙 표현
4개의 계층으로 나눠서 컴포넌트들을 정의.
- EJB 구성요소
- EJB 프로그래밍 단계
- 인터페이스 작성
- 홈 인터페이스: 엔터프라이즈 빈을 클라이언트가 사용할 수 있도록 생성, 탐색함
- 리모트 인터페이스: 엔터프라이즈 빈이 클라이언트에게 제공하는 메서드를 선언함
- 응용 클래스 작성
- 엔터프라이즈 빈이 실제 어떤 일을 하는지를 구체적으로 정의한 클래스를 작성함
- 홈 인터페이스: HelloHome.java
- 리모트 인터페이스: Hello.java
- 세션빈 클래스: HelloBean.java
- 클라이언트: helloClient.java
- 시스템 컴포넌트 명세
- 통합 아키텍쳐
- 명세의 실현
- 배치의 개념
- 물리적 구현물 (HW, SW)의 배치에 관한 정보를 표현함
- 대상: 프로세서, 디바이스, 네트워크, DB, 응용 소프트웨어
- 노드(node) 단위로 표현함
- 노드의 표현
- 홈 시스템 배치
- CoCoME - The Common Component Modeling Example
- CoCoME Use case
'강의 정리 > 소프트웨어 분석 및 설계' 카테고리의 다른 글
소프트웨어 분석 및 설계 중간 정리 (1) | 2024.04.18 |
---|---|
소프트웨어 분석 및 설계 (2) 모델링 (0) | 2024.04.16 |
소프트웨어 분석 및 설계 (7) 상태 모델 (0) | 2024.04.15 |
소프트웨어 분석 및 설계 (6) 유스케이스 모델2 (0) | 2024.04.08 |
소프트웨어 분석 및 설계 (5) 유스케이스 모델 (0) | 2024.04.02 |