달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
2007. 1. 29. 15:08

아키텍처 입문 - 샘플 프로젝트 그거/Architecture2007. 1. 29. 15:08

developerWorks
개요   |   요구사항 분석   |   모델링   |   자산과 패턴   |   통합   |   샘플 프로젝트

샘플 IT 프로젝트에서는 솔루션을 설계 및 개발하는 방법을 설명하는 기술자료와 튜토리얼을 포함하여, 비즈니스 문제 분석 및 요구 사항 정의 절차, 패턴을 사용한 올바른 비즈니스 애플리케이션 및 런타임 환경 결정, 아키텍처 솔루션의 모델링, 개발, 전개, 테스트용 툴 등을 설명한다.

비즈니스 성능 관리: International Goods and Groceries (IGG)라고 하는 가상 기업이 비즈니스 성능 관리를 정의하는 과정을 통해, 비즈니스 성능 관리 아키텍처의 핵심 엘리먼트들을 소개한다. International Goods and Groceries의 문제점을 이해하고, 매장 관리를 향상시킬 수 있는 솔루션, radio frequency identification (RFID) 기술을 구현하면서 얻게 되는 가치 등을 설명한다.

온 디맨드 솔루션 구현: On Demand Operating Environment 레퍼런스 아키텍처를 사용하여 금융 서비스 산업(고객 인롤먼트, 개인 대출, 온라인 트레이딩, 포트폴리오 관리 시나리오)을 설계 및 구현한다. Enterprise Service Bus (ESB)를 사용하여 분산 시스템들을 연결하고, 오케스트레이션과 프로비저닝을 통해 최적화 하며, 비즈니스와 IT 시스템 연산을 구현하고, 패턴을 사용하여 J2EE 애플리케이션과 ESB 연결을 개발하고, 워크플로우 태스크를 관리하며, 비즈니스 IT 서비스를 모니터링 한다.

분산 IT 시스템 합병: 두 개의 가상 보험 기업이 인수 합병 후에 분산 IT 인프라스트럭처를 합병 및 관리하는 방법을 설명한다. 프로세스 관리와 엔터프라이즈 애플리케이션 통합을 활용한 빠른 투자 회수 솔루션을 개발하는 방법을 설명한다.

모델-중심 개발: IBM Rational® Software Development Platform의 툴을 설명하고, 자동 평가 프로세스용 솔루션을 모델링 하는데 이것이 사용되는 방법을 설명한다. 솔루션 개발 프로세스에서 요구 사항 수집, 비즈니스 모델링, 애플리케이션 개발과 전개 단계를 설명한다. 통합 문제들, IT 전문가들의 역할 교환, 툴들간 개발 생성물 흐름도 설명한다.

공급 체인 비즈니스 프로세스 변형: 애자일, 온 디맨드 비즈니스 프로세스를 개발하는 온 디맨드 환경을 구현하는 방식을 연구한다. 패턴, 모델링, 워크플로우, 규칙, 모니터링을 설명하고, 재사용 가능한 자산들을 구현할 때 사용할 수 있는 방법과 기술들을 설명한다. 이 모든 것이 온 디맨드 비즈니스 프로세스의 빠른 구현을 지원한다.

중개 교환 솔루션 설계: 비즈니스 프로세스와 비즈니스 규칙 기술을 통합하여 커스터마이징 가능한 애플리케이션을 구현하고, 외부 파트너들에 보안 및 프라이버시 제약 조건을 실행하고, 서비스 지향 아키텍처를 구현하며, 웹 기반 사용자 인터페이스를 인트라넷으로 통합하고, “pay-as-you go billing” 모델을 지원하는 애플리케이션을 구현한다.

On Demand Workplace: 비즈니스 연산들을 통합하고, 웹 기반 포탈을 통해 핵심 정보와 애플리케이션을 사원들에게 제공한다. e-비즈니스용 IBM 패턴, IBM 제품과 툴, 오픈 표준 기반 기술(Java™, XML, wireless)을 사용하여 워크플레이스 솔루션을 설계 및 구현하는 방법을 설명한 기술자료와 튜토리얼도 포함되어 있다.

'그거 > Architecture' 카테고리의 다른 글

아키텍처 입문 - 통합  (0) 2007.01.29
아키텍처 입문 - 자산과 패턴  (0) 2007.01.29
아키텍처 입문 - 모델링  (0) 2007.01.29
아키텍처 입문 - 요구사항 분석  (0) 2007.01.29
아키텍처 입문 - 개요  (0) 2007.01.29
:
Posted by 뽀기
2007. 1. 29. 15:07

아키텍처 입문 - 통합 그거/Architecture2007. 1. 29. 15:07

developerWorks
개요   |   요구사항 분석   |   모델링   |   자산과 패턴   |   통합   |   샘플 프로젝트
프로세스
인력
정보
애플리케이션
IBM 제품 통합

비즈니스 프로세스에는 많은 애플리케이션들 간 복잡한 상호 의존성이 개입되어 있다. 이러한 비즈니스 프로세스와 애플리케이션들은 하나의 기업 내에 존재하거나, 비즈니스 체인(공급자, 제조자, 판매자, 파트너) 내의 여러 기업들까지 확장될 수 있다. 이러한 프로세스를 하나의 완벽한 워크플로우로 통합함으로써 보다 유연하고 적응성 있는 비즈니스와 IT 운영을 실현할 수 있다.

다음 소개할 자료들은 비즈니스 프로세스 통합에 사용되는 베스트 프랙티스, 툴, 패턴, 표준들이다.


베스트 프랙티스   레퍼런스 아키텍처
  포럼
패턴   블로그
표준      
 



베스트 프랙티스

프로세스 구성법과 SIBus, Part 2: 엔터프라이즈 프로세스 구성법: 비즈니스 프로세스 구성법과 WebSphere® Platform Messaging (SIBus)을 함께 사용하면 엔터프라이즈급의 비즈니스 프로세스 실행 환경을 만들 수 있다. 비즈니스 프로세스 구성법이 SIBus 관리 웹 서비스 연산과 어떻게 조화되는지를 설명한다.

WebSphere Business Integration Server Express를 사용하여 SMARTEAM Gateway와 SAP ERP 애플리케이션 통합하기: WebSphere Business Integration Server Express V4.3을 사용하여 SMARTEAM 제품 라이프 사이클 관리(PLM) 시스템과 SAP 엔터프라이즈 리소스 플래닝(ERP) 애플리케이션을 통합하는 방법을 설명한다. 유스 케이스를 통해 SMARTEAM 애플리케이션과 SAP ERP 시스템간 부분들, 머터리얼, 문서들을 동기화 하는 방법을 설명한다.

PHP를 사용하여 WebSphere Process Server V6 비즈니스 프로세스에 액세스 하기: PHP Hypertext Preprocessor (PHP) Server에서 WebSphere Process Server V6상에서 실행되는 Business Process Execution Language (BPEL) 기반 애플리케이션에 액세스 한다.

WebSphere Process Server 보안 개요: WebSphere Process Server V6에 기반하여 비즈니스 통합 시스템을 보안화 한다. 보안 요구 사항들, Process Server가 WebSphere Application Server V6의 보안 기능을 활용하는 방법, Process Server 컴포넌트를 보안화 하는 방법을 배운다. 비즈니스 통합을 위한 여러 엔드투엔드 보안 시나리오를 검토한다.

비즈니스 프로세스 통합 프로젝트 관리 규칙: 복잡한 비즈니스 프로세스 통합 프로젝트를 관리하는 기술들을 배운다. 구성 프로세스와 툴, 구조, 요구 사항과 변경 관리 프로세스를 설명한다.

온 디맨드 솔루션 구현하기: BPEL을 사용하여 비즈니스 프로세스 설계 및 구현하기: 비즈니스 프로세스를 설계 및 구현할 때 사용하는 다양한 패턴들을 연구한다.

Patterns: 프로세스 구성법과 워크플로우에 대한 직렬 및 병렬 프로세스: IBM 레드북에서는 프로세스 중심 통합을 사용한 비즈니스 애플리케이션 통합을 설명한다. 엔터프라이즈 내 직렬 및 병렬 프로세스 애플리케이션 패턴을 설명한다.

중개 교환 솔루션 디자인 및 구현: 서비스 소비자, 브로커, 공급자 간 비즈니스 프로세스 통합하기: 밸류 체인 속에서 비즈니스 프로세스 통합의 가치를 발견한다.

서비스 지향 아키텍처에서의 B2B 프로세스 중심 애플리케이션의 설계 및 전개: WebSphere Studio Application Developer Integration Edition V5.1에서 BPEL을 사용한 비즈니스 프로세스와, WebSphere Business Integration Message Broker Toolkit V5에서의 메시지 플로우를 생성 및 전개하는 방법을 설명한다.

비즈니스 프로세스 모델링: WebSphere Business Integration Modeler를 사용하여 새로운 비즈니스 프로세스를 만들고, 프로세스에 필요한 리소스들을 정의하며, 프로세스의 처리량과 비용을 테스트 하기 위한 시뮬레이션을 실행한다.

WebSphere Process Choreographer와 디자인 패턴을 사용하여 워크플로우 구현하기: 여러 가지 기본 액티비티를 포함하고 있는 비즈니스 프로세스를 구현 및 테스트하고, 간단한 웹 서비스를 호출하는 액티비티를 만들어 낸다.

WebSphere Business Integration Server Foundation 비즈니스 프로세스 통합 및 공급 체인 솔루션의 BPEL 프로세스: Business Process Choreographer의 비즈니스 프로세스 통합으로 공급 체인 프로세스를 체계화 하는 솔루션을 구현한다.

WebSphere Business Integration 어댑터: 어댑터 개발과 WebSphere Business Integration 솔루션: 어댑터 개발 프로젝트의 디자인 전략, 구현, 테스팅, 다중 브로커 유형에 기반한 전개 및 구현 등 전체 라이프 사이클을 설명한다.

WebSphere Business Integration 커넥터 개발 및 테스트: 샘플 커넥터를 빠르게 구현 및 전개한다. 커넥터와 커넥터 프레임웍을 간략히 소개한 후에, 커넥터 개발에 개입된 컴포넌트들(비즈니스 객체와 브로커)를 설명하고, Eclipse IDE를 사용하여 커넥터를 개발하는 방법을 설명한다.

WebSphere Partner Gateway V6와 AS2를 사용한 보안 문서 프로세스: WebSphere Partner Gateway의 컴포넌트와 네 개의 AS2 시나리오 내에서 인터랙팅 방법을 설명한다. AS2 스팩과 WebSphere Partner Gateway의 아키텍처를 설명한다.

zSeries V6용 WebSphere Developer를 사용하여 COBOL/CICS로 연결하기: J2EE™ 커넥터, IBM CICS® Transaction Gateway, CICS Transaction의 사용법을 설명한다.

WebSphere Business Integration Adapters와 WebSphere Process Server 통합: WebSphere Process Server의 비즈니스 프로세스를 설정하고, 이것을 WebSphere Business Integration Adapter의 공지 이벤트에서 호출한다.

EJB 서비스와 WebSphere Process Server 통합: 서비스 컴포넌트 아키텍처(SCA)에서 EJB 서비스를 통합하는 WebSphere Process Server 솔루션을 구현하고, WebSphere Process Server 같은 통합 제품을 실행하여 기존 EJB 기반 서비스를 재사용 한다.

J2EE 커넥터와 EGL을 사용하여 COBOL/CICS 애플리케이션 호출하기: J2EE 커넥터, JavaServer Faces, Enterprise Generation Language (EGL)를 사용하여 자바 코드 없이 웹 페이지에서 COBOL/CICS 프로그램을 실행하여 WebSphere Application Server Managed Connection Factory를 활용한다.



위로



  • WebSphere Portal 은 엔터프라이즈를 포탈이라고 하는 싱글 인터페이스로 통합하는데 사용할 수 있는 런타임 서버, 툴, 기타 여러 기능들을 포함하여 프레임웍을 제공한다. 또한 비즈니스 프로세스를 지원하는 워크플로우를 정의할 수 있다. 제품 관련 페이지를 참조하라.
  • WebSphere Process Server는 서비스 지향 아키텍처를 사용하여 비즈니스 프로세스를 통합 및 자동화 하고, 기존 IT 리소스들을 서비스 컴포넌트로서 사용하는 프로그래밍 모델을 제공한다. 제품 관련 페이지를 참조하라.
  • WebSphere Integration Developer는 재사용과 효율성을 향상시키고, 비즈니스 중심 개발을 수행하며, WebSphere Business Modeler와 통합하여 빠른 구현을 위해 모델을 반입한다. 제품 관련 페이지를 참조하라.
  • WebSphere Business Modeler는 프로세스 모델링, 필수 데이터 및 생성물 모델링, 구성 모델링, 리소스 모델링, 타임라인 및 위치 모델링, 시뮬레이션, 비즈니스 프로세스 분석 관련 기능을 제공한다. 제품 관련 페이지를 참조하라.
  • WebSphere Adapters는 엔터프라이즈 리소스 플래닝(ERP), Human Resources (HR), 고객 관리(CRM), 공급 체인 시스템간 정보를 교환하는 프로세스의 빠르고 쉬운 통합을 가능케 한다. 이들을 SOA를 구동하는 Enterprise Service Bus로 연결하여 애플리케이션을 실행한다. 제품 관련 페이지를 참조하라.
  • WebSphere Adapter Toolkit을 사용하여 J2EE Connector Architecture (JCA) 어댑터를 개발하여 비즈니스 고유의 요구 사항들을 채울 수 있다. 이 Eclipse 기반 툴킷은 기본 JCA 1.5 어댑터를 구현하거나 WebSphere Adapters에서 사용되는 Adapter Foundation Classes의 추가 기능을 활용하는 어댑터를 생성한다. 제품의 시험판을 다운로드 하라.
  • WebSphere Partner Gateway는 B2B 환경을 위한 통합 게이트웨이이다. 제품 관련 페이지를 참조하라.


위로



패턴

Direct Connection: Use the Direct Connection 애플리케이션런타임 패턴을 사용하여 한 쌍의 애플리케이션을 실행하여 커넥터나 어댑터를 통해 서로 직접 통신하는 시스템 디자인을 구축한다.

Broker: 약결합 인터페이스를 사용하여 목표 여러 목표 시스템들을 업데이트 할 프로세싱 요청을 구현할 때 Broker 애플리케이션런타임 패턴을 사용한다.

직렬 프로세스: 직렬 프로세스 애플리케이션런타임 패턴을 사용하여, 소스 애플리케이션에서 시작된 인터랙션에 대한 반응으로 여러 목표 애플리케이션에 의해 구현된 비즈니스 서비스를 활용하여, 엔드투엔드 비즈니스 프로세스 플로우를 구성한다.

병렬 프로세스: Use the 병렬 프로세스 애플리케이션런타임 패턴을 사용하여, 소스 애플리케이션에서 시작된 인터랙션에 대한 반응으로 여러 목표 애플리케이션에 의해 구현된 비즈니스 서비스를 활용하여, 엔드투엔드 비즈니스 프로세스에서의 사이클 시간을 줄인다.



위로



표준

Service Component Architecture (SCA)는 서비스 지향 아키텍처를 사용하여 애플리케이션과 시스템을 구현하는 모델을 설명하는 스팩이다. SCA는 서비스를 구현하는 이전 접근 방식을 확장 및 보완하며, 웹 서비스 같은 오픈 표준을 기반으로 구현된다.

Business Process Execution Language for Web Services Version 1.1 (한글)은 비즈니스 프로세스와 인터랙션 프로토콜을 공식적으로 기술하는 수단을 제공한다.

Web Services Business Process Execution Language Version 2.0 Working draft는 비즈니스 프로토콜과 실행 프로세스 모델에 필요한 프로세스 인터페이스 디스크립션을 포함하여, 여러 사용 패턴에 필요한 기술적 기반을 형성하는 비즈니스 프로세스 실행 언어에 대한 공통 개념들을 정의한다.



위로



레퍼런스 아키텍처

SOA Foundation: 이 백서에서는 IBM에서 정의한 SOA Foundation을 소개하고, IBM 관점의 서비스 지향 아키텍처를 설명한다. 라이프 사이클 모델, 논리적 아키텍처, 프로그래밍 모델, 물리적 아키텍처를 중심으로 아키텍처를 설명한다.

WebSphere Integration Reference Architecture 소개 (한글): 일반적인 통합 문제를 겪지 않고 엔터프라이즈 레벨의 비즈니스 통합의 요구 사항들을 설명한다.

온 디맨드 운영 환경: 아키텍쳐 개요 (한글): SOA의 개념에 입각하여, IBM On Demand Operating Environment의 엘리먼트를 설명한다.



위로


포럼


위로



블로그
:
Posted by 뽀기
2007. 1. 29. 15:07

아키텍처 입문 - 자산과 패턴 그거/Architecture2007. 1. 29. 15:07

developerWorks
개요   |   요구사항 분석   |   모델링   |   자산과 패턴   |   통합   |   샘플 프로젝트

개요   레퍼런스 아키텍처
컴포넌트   베스트 프랙티스와 표준
패턴  
 


다양한 IT 자산들이 개발되고 재사용 되어 미래 프로젝트에 가치를 더하고, 참조 아키텍처, 패턴, 프레임웍, 컴포넌트를 포함하여 추가 아키텍처 프레임웍을 보조한다. work products 또는 artifacts라고 불리는 이러한 자산들은 개발 프로세스의 직접적인 결과이다. 소프트웨어 개발 라이프 사이클의 결과로 생긴 다른 유형의 생성물들에는 요구 사항 문서, 소스 코드 파일, 전개 디스크립터, 테스트 케이스 또는 스크립트 등이 포함된다.

대부분의 경우, 이러한 생성물들은 처음부터 만들어지지 않는다. 대신, 이전의 작업에서 얻게 되거나, 오픈 표준 작업 그룹, 컨소시엄, 외부 퍼블리케이션을 통해 얻어진다. 소프트웨어 개발 자산들은, 새로운 솔루션과 애플리케이션을 구현할 때, 개발 프로세스를 추진하고, 디자인 결정을 재확인 하고, 코드 개발을 최소화 하는 등의 미래의 재정적인 이득을 만들어 낼 수 있다.

IT 자산들을 개발 및 재사용 하는 것과 관련한 베스트 프랙티스, 툴, 방법을 설명한다.

자산과 패턴 소개

소프트웨어 개발을 자산 기반 모델로 변형하기: Grady Booch는 IBM의 아키텍처와 전략 분야 전문가인 Mike Devlin과 Danny Sabbah와 인터뷰를 했다.

패턴 솔루션: 자산 기반 개발의 개요를 설명한다.

e-비즈니스용 패턴: 재사용 전략: 패턴을 정의하고, 소프트웨어 아키텍처에서 패턴을 이해하고 사용하는 방법을 설명한다.

서비스-지향 아키텍처(SOA)용 자산 라이프- 사이클 관리: 자산들을 관리, 적용, 재사용하는 툴과 메소드를 SOA 개발에 활용할 때 서비스의 효과적인 라이프 사이클 관리가 어떤 영향을 미치는 지를 알아본다.



위로



컴포넌트

컴포넌트는 대부분 IT 솔루션이나 애플리케이션으로 구성된 엘리먼트이다. 결합되었을 때, 식별 가능한, 자율적인 엘리먼트로서, IT 솔루션 내에서 비즈니스 가치를 제공한다. 컴포넌트는 아키텍처에서 기능을 나타내는 고급 엘리먼트가 될 수 있고, 제품에 전개되는 보다 상세한 프로그래밍 엘리먼트가 될 수 있다.

WebSphere Business Components와 웹 서비스 아키텍처: 컴포넌트의 예비 분석과 웹 서비스 이니셔티브를 이해하고, 완벽한 아키텍처의 보완 엘리먼트로서 이들의 차이점과 유사점을 설명한다.

진화하는 컴포넌트 모델 (한글): 웹 서비스 구현과 조합을 서비스-지향 아키텍처(SOA)의 언어 중립적인, 컴포넌트-기반 프로그래밍 모델을 가진 솔루션에 적용한다. 프로그래밍 모델은 프로그래머가 아닌 사람들도 기술을 마스터 하지 않고도 기존 IT 자산들을 사용할 수 있도록 한다.

Service Component Architecture로 SOA 솔루션 구현하기: SOA에서 비즈니스 솔루션을 구현 및 조합하고, 서비스를 통합하고 구성하도록 특별히 설계된 새로운 프로그래밍 모델인 Service Component Architecture라고 하는 서비스 지향 아키텍처를 구현하는 새로운 프로그래밍 패러다임을 공부한다.

컴포넌트 통합하기: 컴퓨팅이 메인프레임 시스템에서 웹-기반 분산 시스템으로 옮겨가면서 네트워크로 연결된 시스템과 컴포넌트들이 엔터프라이즈 시스템의 부분들을 통합하는데 얼마나 중요한 역할을 하는지를 설명한다.

기능 장애가 있는 조직에서 컴포넌트 아키텍처 사용하기: 컴포넌트 아키텍처와 코드 재사용에 대한 저자의 경험을 나눈다.

Rational Application Developer for WebSphere를 이용한 컴포넌트 테스팅: 컴포넌트 테스트를 구현 및 전개하는 프로세스를 자동화하는 것에 초점을 맞춰, 컴포넌트 테스팅을 소개한다.

컴포넌트 구성과 Unified Change Management: 설정 관리를 위한 컴포넌트-기반 아키텍처인 Unified Change Management (UCM)를 사용한다.

컴포넌트 다이어그램과 UML: Unified Modeling Language (UML) 2.0 스팩의 구조 다이어그램인, 컴포넌트 다이어그램을 소개한다.



위로



패턴

패턴은 일반적으로, 솔루션 개발에 사용될 수 있는 폼, 템플릿, 또는 프로그래밍 모델이다. 패턴은 필수적인 애플리케이션 컴포넌트이다. 개발 될 컴포넌트가 기반 패턴과 많은 공통점을 갖고 있다면, 그 컴포넌트는 패턴을 나타내는 것으로 간주된다.

e-비즈니스용 패턴: 재사용 가능한 자산 그룹이 웹 기반 애플리케이션 개발 프로세스의 속도를 어떻게 높이는 지를 설명한다. 다음은 그러한 패턴들을 분류한 것이다.

Redbook: e-비즈니스 시리즈에 패턴 접근 방식 적용하기: e-비즈니스에 IBM Patterns를 사용하여 재사용 가능한 아키텍처 템플릿들을 인스턴스로 만들어서, 80% 되풀이 되는 비즈니스 문제를 해결한다.

e-비즈니스용 패턴: 재사용 전략: 아키텍트 관점에서, 소프트웨어 개발에 있어서 패턴의 사용법을 설명한다.

e-비즈니스용 퍼베이시브 포탈 패턴: 본 IBM Redbooks™ 시리즈에서는 퍼베이시브 액세스용 포탈 상에서 Access Integration pattern을 설명한다.

SOA 환경에서 자가 서비스 구현하기: IT 시스템의 유연한 통합을 실현하는데 도움이 되는 솔루션을 구현할 때 SOA와 Enterprise Service Bus (ESB)를 검토한다.



위로



레퍼런스 아키텍처와 프레임웍

AIT 또는 소프트웨어 아키텍처는 큰 IT 솔루션에 속한 각 측면들의 디자인을 이끄는 패턴, 프레임웍, 컴포넌트 세트이다. 프레임웍은 일반적으로, 어떤 솔루션과 애플리케이션이 구성 및 개발될 수 있는지에 대한 지원 구조로서 정의된다. 프레임웍에는 지원 프로그램, 코드 라이브러리, 스크립팅 언어, 기타 생성물들을 지원하여 다양한 솔루션 컴포넌트들 또는 애플리케이션을 결합한다. 레퍼런스 아키텍처(reference architecture)는 기업 또는 업계에서 고려되는 IT 솔루션 아키텍처로서, 일반적인 문제들에 대한 구체적인 필요를 다루고 있다. 기업에 의해 사용되는 레퍼런스 아키텍처는 비즈니스 요구 사항에서 명시되어 있지 않는 한, 솔루션 개발용 디폴트 아키텍처로서 간주된다.

레퍼런스 아키텍처: 최상의 베스트 프랙티스: IBM Rational® Unified Process에서 제공하는 가이드라인을 따라가다 보면, 강력한 레퍼런스 아키텍처가 소프트웨어 개발 프로젝트에서 어떤 역할을 하는지, 그 차이점을 알 수 있다. 레퍼런스 아키텍처를 효과적으로 수집, 관리, 사용하는 실질적인 분류법을 설명한다.

웹 서비스를 구현하는 SOA 프로그래밍 모델: 프로그래머가 아닌 사람들도 IT 기술을 마스터 하지 않고 IT 자산들을 생성 및 재사용할 수 있도록 하는 SOA용 IBM 프로그래밍 모델을 검토한다.

재사용 가능한 아키텍처의 빠른 생성: 소스 코드를 복사해서 붙이는 클래스 레벨의 소단위 재사용에서, 프레임웍과 아키텍처 레벨에서 대단위, 대규모 재사용으로 성장한 재사용 기술을 검토한다. 이 글은 패턴과 IBM Rational XDE를 사용하는 재사용 가능한 프레임웍에 초점을 맞춘다.

자율 컴퓨팅 레퍼런스 아키텍처: 자율 컴퓨팅 시스템 구현에 필요한 프레임웍을 자율 컴퓨팅 레퍼런스 아키텍처가 구성하는 방법을 설명한다.

WebSphere Integration Reference Architecture 소개 (한글): 이 포괄적인 서비스-기반 토대에서 통합과 관련한 전통적인 문제를 일으키지 않고, 엔터프라이즈 레벨의 비즈니스 통합을 어떻게 이룩하는지를 설명한다.

WebSphere Business Integration Server의 Enterprise Service Bus 기능: WebSphere Business Integration Server의 정황 속에서 IBM WebSphere® Business Integration Reference Architecture를 분석한다.

비즈니스 정보 솔루션 아키텍처: 데이터 웨어하우징 솔루션에서 비즈니스 정보의 역할을 분석한다.

포탈 솔루션 구현하기: 본 IBM 레드북에서는 WebSphere Portal Server 기반 동적 워크플레이스의 설계와 구현을 설명한다.

The Open Group Architecture Framework (TOGAF)과 IT 아키텍처: 오픈 표준 프레임웍을 연구하고, 더 나은 IT 아키텍트가 되는 방법을 연구한다.

기타 IBM 프레임웍:

  • IBM Tivoli Management Framework: Tivoli 관리 애플리케이션 수트의 토대가 되는 IBM Tivoli Management Framework을 설명한다.
  • Enterprise Identity Mapping (EIM): Kerberos, Lightweight Directory Access Protocol (LDAP), Kerberos Network Authentication Service를 포함한 광범위한 기술이 포함된 크로스 플랫폼 솔루션인 Enterprise Identity Mapping (EIM)을 사용법을 설명한다. EIM은 IBM에서 제공하는 프레임웍으로서 인증 사용자들을 OS/400 (애플리케이션) 사용자 ID로 연결한다.
  • Unstructured Information Management Architecture Framework (UIMA): 컴포넌트 인터페이스, 디자인 패턴, 데이터 표현, 개발 역할들을 지정하는 아키텍처에 대해 배운다.

오픈 소스 프레임웍 예제:

  • Eclipse: 소프트웨어 구현에 확장성 있는 개발 플랫폼과 애플리케이션 프레임웍을 제공하는 오픈 소스 커뮤니티 프로젝트인 Eclipse에 대해 알아본다.
  • Graphical Editing Framework과 Eclipse Modeling Framework을 사용한 Eclipse 개발: Eclipse 플랫폼에서 사용하도록 Eclipse Tools Project에서 개발된 두 개의 프레임웍인 Graphical Editing Framework (GEF)과 Eclipse Modeling Framework (EMF)을 IBM Redbook에서 설명한다.
  • Apache Struts: Apache Struts 프로젝트가 전통적인 Model-View-Controller (MVC) 디자인 패러다임의 변형인 Model 2 방식에 기반하여 애플리케이션 아키텍처를 개발시키는 방법을 설명한다.
  • Apache Cocoon: 영역의 분리와 컴포넌트 기반 웹 개발 개념을 중심으로 구현된 웹 개발 프레임웍인 Apache Cocoon을 소개한다.
  • XML 프로젝트: Xerces, Xalan, Simple Object Access Protocol (SOAP), XML-RPC를 포함하여, XML에 기반한 프로젝트에 대해 배운다.


위로



베스트 프랙티스와 표준

자산과 패턴의 베스트 프랙티스는 실제-경험에 기반한 가이드라인이다. 이것은 비즈니스와 기술적 문제를 해결하는데 도움이 된다.

Java theory and practice: pseudo-typedef 반패턴: 자바 언어에 대한 제너릭의 추가로 유형에 대한 짧은 이름을 정의하는데 어떤 typedef 장치도 존재하지 않기 때문에, 일부 개발자들은 그다지 좋지 않은 대안 typedef에 의존한다. Brian Goetz가 이 반패턴의 한계를 설명한다.

온 디맨드 솔루션 설계하기: 모델링, 애플리케이션 통합, 정책 기반 오케스트레이션을 사용하여, 온 디맨드 솔루션을 설계 및 구현할 때 분석가, 디자이너, 아키텍트의 역할에 대해 알아본다.

온 디맨드 소프트웨어 개발에 재사용 가능한 자산 구현하기: 온 디맨드 환경의 구현 뒤에 숨은 방법론을 분석하고, 패턴, 모델링, 워크플로우, 규칙과 모니터링이 포함된 유스 케이스를 살펴본다.

WebSphere Business Integration 툴로 웹 서비스 애플리케이션 최적화 하기: WebSphere Business Integrator를 사용하여 서비스 지향 아키텍처에서 웹 서비스 애플리케이션을 최적화 한다.

모델-중심 아키텍처: 모델-중심 아키텍처의 모델링을 사용하여 소프트웨어를 보다 효율적으로 개발한다.

코드에 디자인 결점 노출하기: Architectural Discovery: IBM Rational Software Architect 툴의 Architectural Discovery 컴포넌트를 분석하고, 이것을 사용하여 코드에서 좋고 나쁜 패턴을 탐지한다.

SOA용 재사용 엔지니어링 (한글): SOA의 중요한 가치인 재사용을 적용할 시기를 알아본다. 솔루션을 개발할 때 재사용을 적용할 적기를 알아본다.

SOA 반패턴: 서비스 지향 아키텍처의 채택과 성공적인 실현의 방해물 (한글): 부정적인 결과를 만들어 내는 일반적인 상황이나 솔루션을 피해보자. 다양한 SOA 작업을 통해 얻은 개인적인 경험을 바탕으로 걸러낸 반패턴을 설명한다.

SCA와 SDO 스팩: 새로운 Service Component Architecture와 Service Data Objects 스팩을 사용하여 SOA에 기반하여 애플리케이션을 구현하는 보다 강력하고 단순한 방법들을 찾아본다.

SOA와 통합용 패턴 언어:SOA와 SOI용 패턴을 연구하고, 강력하고 유연한 SOA를 구현하기 위해 핵심 아키텍처를 결정할 때 사용할 수 있는 개념들을 검토한다.

웹 서비스 개발 패턴 이해하기: 자바™를 사용하여 Web Services Description Language (WSDL)를 만든다. WSDL을 사용하여 자바를 만든다. WSDL로 시작하여 자바를 만든다. 이는 다시 WSDL을 만드는데 사용되고, 다시 자바를 만드는데 사용된다. 이러한 세 가지 개발 패턴의 장단점을 분석한다.

패턴을 사용하여 포틀릿 구현하기: Rational Software Architect와 IBM State Oriented Portlet Patterns를 사용하여 IBM WebSphere Portal용 포틀릿 애플리케이션을 빠르게 구현할 수 있는 방법을 연구한다.

패일오버(failover) 패턴을 사용하여 IBM Tivoli System Automation 설정하기: Tivoli System Automation Failover Configuration Pattern 자산을 사용하여 고 가용성 솔루션의 개발과 전개를 단순화 할 수 있다.

점-대-점 트랜잭션 사용 케이스 모델: 재사용 가능한 자산을 사용하여 프로젝트의 아키텍처 단계에 대한 문서화를 단순화 한다.



위로



아래 소개하는 툴들은 아키텍처의 디자인, 개발, 적용에 도움이 되는 툴들이다. 잘 알려진 패턴(Gang of Four)을 사용하거나, Rational Software Architect 빌트인 패턴 엔진과 패턴 마법사를 사용하여 직접 만들 수 있다. 이 마법사를 사용하여 기존 코드와 모델을 활용할 수 있다.

  • IBM SOA Business Catalog는 IBM과 IBM SOA Specialty 비즈니스 파트너들이 제공한 재사용 가능한 SOA 콘텐트의 온라인 디렉토리이다. 어댑터, 모델, QuickStarts, 웹 서비스에 이르기까지, 기존 서비스, 컴포넌트, 기능, 확장 등을 활용함으로써, SOA 환경을 빠르게 향상시킬 수 있다.
  • IBM Rational Software Architect는 통합 디자인 및 개발 툴로서, 애플리케이션과 서비스 구현에 UML과 모델 중심 개발을 활용한다. 제품 관련 페이지를 참조하거나 시험판을 다운로드 하라.
  • Reusable Asset Specification은 재사용 가능한 소프트웨어 자산들을 패키징 할 수 있는 표준 방식을 정의한다.
  • IBM RUP for Asset-Based Development 플러그-인은 설정 가능한 소프트웨어 개발 프로세스 플랫폼으로서, 입증된 베스트 프랙티스와 설정 가능한 아키텍처를 제공한다. 제품 관련 페이지를 참조하거나 시험판을 다운로드 하라.

'그거 > Architecture' 카테고리의 다른 글

아키텍처 입문 - 샘플 프로젝트  (0) 2007.01.29
아키텍처 입문 - 통합  (0) 2007.01.29
아키텍처 입문 - 모델링  (0) 2007.01.29
아키텍처 입문 - 요구사항 분석  (0) 2007.01.29
아키텍처 입문 - 개요  (0) 2007.01.29
:
Posted by 뽀기
2007. 1. 29. 15:06

아키텍처 입문 - 모델링 그거/Architecture2007. 1. 29. 15:06

developerWorks
개요   |   요구사항 분석   |   모델링   |   자산과 패턴   |   통합   |   샘플 프로젝트

개요  
애플리케이션 모델링   표준
프로세스 워크플로우 모델링   포럼
서비스-지향 모델링   블로그
데이터 모델링  
 


모델링은 전체 시스템을 시각화 하고, 다양한 옵션들을 평가하며, 기술적 또는 재정적 위험에 처하기 전에 디자인을 보다 면밀히 검토할 수 있는 기능을 제공한다. 오늘날의 소프트웨어 시스템은 복잡하다. 그러한 시스템을 모델링 하면 그 복잡함을 관리할 수 있고, 디자인과 관련 리스크를 이해할 수 있다.

모델링 애플리케이션, 프로세스 워크플로우, 서비스 지향 환경, 데이터를 위한 베스트 프랙티스, 툴, 방법론을 연구해 본다. 모델을 실행 코드와 재사용 가능한 자산으로 변형하는 방법도 설명한다.

모델링 소개

모델링의 가치: 모델링이 비주얼 콘텐트뿐만 아니라, 텍스트 콘텐트를 어떻게 제공하고, 이들의 조합이 왜 중요한지를 설명한다. 소프트웨어 개발 라이프 사이클의 다양한 단계를 모델링 하는 방법과, 각 단계에 맞는 모델링 유형을 살펴본다.

모델-중심 아키텍처(Model-Driven Architecture) 소개: 모델과 모델링의 중요성을 연구하고, 모델 중심 아키텍처(MDA)의 네 가지 핵심 원리를 설명한다.

코드-중심에서 모델-중심 개발로 옮기는 방법: 모델-중심 개발 방식을 사용하여 고급 소프트웨어를 보다 효율적으로 개발하는 방법을 설명한다.

모델-중심 개발로 IT의 비즈니스 가치를 높이는 방법: 성공적인 IT 프로젝트는 비즈니스 실패가 될 수 있다. 모델 중심 개발 방식을 사용하여 이렇게 원치 않는 결과를 미연에 방지할 수 있다.

아키텍처-중심 개발: 패턴과 모델-중심 개발을 사용하여 복잡성을 줄여서 전체 개발 프로세스를 단순화 한다.

모델-중심 시스템 개발 방식을 사용한 하드웨어/소프트웨어 공동 개발: 솔루션 설명: 첨단 프린팅 시스템 정황에서 모델 중심 시스템 개발(MDSD) 프로세스를 자세히 설명한다.


애플리케이션 모델링

UML 기초: Unified Modeling Language 소개 (한글): Unified Modeling Language (UML)의 기초를 이해하고, 사용 방법과 이유를 설명하고, 비주얼 디자인 언어의 중추를 형성하는 기본 다이어그램을 소개한다.

Unified Modeling Language Version 2.0: 모델-중심 개발의 개요와 UML 2.0에서 향상된 부분을 설명한다.

유스 케이스 유형과 생성물 이해하기: 다양한 유형의 유스-케이스와 생성물들을 검토하고, 유스 케이스 기술을 여기에 대해 잘 모르는 팀에 도입해 본다.

UML 기초: 클래스 다이어그램: 구조 다이어그램 유형(클래스, 인터페이스, 데이터 유형, 컴포넌트)를 정의하는데 사용되는 클래스 다이어그램을 소개한다.

UML기초: 시퀀스 다이어그램 (한글): 시스템의 요구 사항들을 문서화 하고 시스템의 디자인을 고양시키는 시퀀스 다이어그램을 소개한다.

UML 기초: 컴포넌트 다이어그램: 시스템의 컴포넌트들 간 구조적 관계를 보여주는데 사용되는 중요한 컴포넌트 다이어그램을 소개한다.

효과적인 UML 다이어그램을 쉽게 만들기: 콘텐트 어시스트와 다이어그램 어시스트 같은 보조 모델링 기능을 사용하여 IBM Rational® 모델링 제품에서 UML 다이어그램을 만들어 본다.

Rational Software Modeler: Rational Software Modeler가 요구 사항들을 클래스 다이어그램과 시퀀스 다이어그램 같은 UML에 기반하여 유스 케이스와 기타 생성물들로 변환하는 방법을 설명한다.

Rational Software Architect: Rational Software Architect를 사용하여 간단한 클래스와 유스 케이스 다이어그램을 만들고, 클래스 다이어그램에서 코드를 만들고, 코드의 구조적 분석을 수행한다.

모델-중심 개발로 복잡성 줄이기: 요구 사항 수집, 비즈니스 모델링, 애플리케이션 개발, 솔루션 개발 프로세스 단계를 상세히 설명한다.

Eclipse Modeling Framework을 이용한 모델링: 모델 생성, 코드 작성, 생성된 애플리케이션 사용, 에디터의 커스터마이징 과정을 설명한다.

패턴: Rational Software Architect를 사용한 모델-중심 개발: 본 IBM Redbook에서는 모델 중심 개발(MDD) 소프트웨어 라이프 사이클이 다른 방식과는 어떻게 다른지, MDD 프로젝트를 효과적으로 플래닝 및 관리하는 방법을 설명한다. 이미 MDD 프로젝트를 수행하고 있다면, Rational Software Architect를 사용하여 작업을 수행하는 방법을 배운다.

Graphical Editing Framework과 Eclipse Modeling Framework을 이용한 Eclipse 개발: Eclipse 프레임웍을 소개하고, 이 프레임웍을 사용하는 코드를 작성하는 방법을 설명한다. 본 IBM Redbook은 Eclipse 플러그인 개발자를 위한 글이다.

Architectural Manifesto: 본 칼럼에서는 모델 중심 아키텍처, IT 아키텍트의 공통 관심사 등을 다룬다.

SNAP/SHOT을 사용하여 Host Environments 모델링 하기: Parallel Sysplex®, MVS™ 호환성 모드, PR/SM, 동적 트랜잭션 라우팅, DB2® Universal Database™(데이터 공유), IMS™, SNAP/SHOT 시뮬레이션 툴을 사용한 배치(batch) 윈도우 같은 복잡한 호스트 환경을 모델링 한다. 본 레드북은 MVS 개발자를 위한 문서이다.

Rational Software Architect에서 UML을 CORBA로 변형하기: CORBA 템플릿 모델을 생성 및 사용하여, 고유의 CORBA 모델을 만들어 본다.



위로



프로세스 워크플로우 모델링

분석가를 위한 비즈니스 프로세스 모델링 기초 (한글): 비즈니스 프로세스를 정의하고, IBM WebSphere® Business Integration Modeler의 기능을 연구하는데 분석가들이 사용하는 모델링 개념을 설명한다.

비즈니스 모델링에서 웹 서비스 구현까지: 비즈니스 프로세스 모델링: 단순한 비즈니스 프로세스가 모델링 되는 샘플 시나리오를 통해서, 서비스 소비자에 의해 호출될 수 있는 웹 서비스를 정의하는데 사용하는 생성물들을 만들어 본다.

UML 에서 BPEL 까지 (한글): 웹 서비스의 UML, BPEL, 모델 중심 아키텍처를 설명한다.

BPEL4WS를 이용한 비즈니스 프로세스: 언어의 다양한 컴포넌트들을 이해하고, 자신만의 완전한 프로세스를 만든다.

WebSphere Business Integration Modeler를 사용한 비즈니스 프로세스 모델링 (한글): IBM WebSphere Business Integration Modeler V5.1을 사용하여 비즈니스 프로세스를 그래픽으로 모델링하는 방법과 기술을 익혀서 개발 환경에 사용할 수 있는 생성물들을 만들어 본다.

비즈니스 프로세스 모델링: WebSphere Business Integration Modeler 내에서 비즈니스 프로세스를 정의하는 세 단계를 배운다.

WebSphere Business Integration Modeler V5.1을 사용한 비즈니스 프로세스 모델링: WebSphere Business Integration Modeler와 Rational XDE를 사용하여 비즈니스 프로세스를 모델링 한다. WebSphere Application Developer Integration Edition의 컴포넌트인 WebSphere Process Choreographer를 사용하여 프로세스 모델링의 복잡함을 줄인다.

온 디맨드 비즈니스 프로세스 라이프 사이클: : IBM에서 사용했던 실제 하드웨어 주문 처리 시스템을 기반으로 한 시나리오를 사용하여, 재사용 가능한 자산들을 구현하는데 사용할 수 있는 패턴, 모델링, 워크플로우, 규칙, 모니터링, 방법과 기술을 설명한다. 이 모든 것이 온 디맨드 비즈니스 프로세스의 빠른 생성에 도움이 된다.

WebSphere MQ Workflow를 사용한 비즈니스 프로세스 모델링: WebSphere MQ Workflow를 사용하여 비즈니스 프로세스를 모델링 한다. 특히 이 프로세스에는 루프(looping) 같은 복잡한 로직이 포함된다.

비즈니스 모델링을 위한 Rational UML 프로파일: Rational Unified Process (RUP)의 컴포넌트인 비즈니스 모델링 용 Rational UML 프로파일을 설명한다. 비즈니스 모델을 캡처에 UML 언어를 사용하고 RUP에서 Business Modeling Discipline의 지원을 받는다.

비즈니스 서비스 모델링: WebSphere Business Modeler와 Rational Software Modeler를 통합하면 비즈니스 요구 사항과 IT 솔루션 사이의 의미적 차이를 메울 수 있다.



위로



서비스-지향 모델링

서비스-지향 모델링과 아키텍처 (한글): 서비스 지향 모델링과 아키텍처를 소개하고, 서비스 지향 아키텍처(SOA) 구현에 필요한 분석과 디자인에 필요한 작업들을 설명한다.

서비스-지향 분석과 디자인 엘리먼트: Object-Oriented Analysis and Design (OOAD), Enterprise Architecture (EA) 프레임웍, 비즈니스 프로세스 모델링(BPM) 같은 프랙티스에서 엘리먼트들을 결합하여, 여기에 혁신적인 엘리먼트를 필요에 따라 추가하여, 양질의 SOA를 구현할 수 있는 접근 방식을 모색한다.

서비스-지향 솔루션 모델링: Rational Unified Process Update for Service-Oriented Architecture (RUP Update for SOA)와 UML Profile for Software Services의 Rational Software Architect 구현의 결합 뒤에 숨은 의미, 범위, 개념 등을 분석한다.



위로



데이터 모델링

Rational Data Architect를 사용하여 데이터 소스 통합하기: IBM Rational Data Architect에서는 비즈니스 결정과 비즈니스 변형을 문서화 할 수 있는 하나의 툴을 사용하고, 체크포인트를 사용하고, 정보 통합 프로세스를 자동화 할 수 있다. 연합 디자인을 위한 툴 지원 프로세스에 대해 알아본다.

Rational Application Developer V6.0에서의 시각적 데이터 모델링: IDEF1X, Information Engineering (IE or Crow's Foot, UML 등, 이 세 개의 산업 표준 디자인을 지원하는 Rational Application Developer 6.0의 비주얼 데이터 모델링 기능을 설명한다.

alphaWorks 다운로드: DB2 Content Manager용 데이터 아키텍트: DB2 Content Manager 애플리케이션용 재사용 가능한 모델 자산을 구현하는 데이터 모델링 툴과 인프라스트럭처를 사용한다.

IBM Rational XDE Developer for Java를 사용한 DB2 UDB 데이터베이스 모델링: Rational XDE Developer for Java™를 사용하여 DB2 Universal Database (UDB)를 모델링 하는 방법을 설명한다.

효과적이고 유연한 데이터 웨어하우스 솔루션: DB2 Data Warehouse Edition에 기반하여 기본적인 데이터 웨어하우스 솔루션을 플래닝, 디자인, 구현하는 유연하고 효과적인 방법을 생각해 본다.



위로



  • Rational Data Architect는 비즈니스 결정과 비즈니스 변형을 문서화 하고, 체크포인트를 도입하고, 정보 통합 프로세스를 자동화 할 수 있는 정보 통합 툴이다. 제품 관련 페이지를 참조하라.
  • Rational Systems Developer는 Eclipse를 활용하고, 소프트웨어 아키텍트와 모델 중심 개발자들이 Unified Modeling Language (UML 2)를 활용하는 C/C++, Java J2SE, CORBA 기반 애플리케이션을 구현할 수 있도록 하는 디자인 및 개발 툴이다. 제품 관련 페이지를 참조하거나 시험판을 다운로드 하라.
  • Rational Software Modeler는 커스터마이징 가능한, UML 2.0 기반 비주얼 모델링 및 디자인 툴로서, 프로세스, 플로우, 디자인의 문서화와 통신을 실행한다. 제품 관련 페이지를 참조하거나 시험판을 다운로드 하라.
  • Rational Software Architect는 애플리케이션과 서비스 구현에 모델 중심 개발과 UML을 활용하는 디자인 및 개발 툴이다. 제품 관련 페이지를 참조하거나 시험판을 다운로드 하라.
  • Rational Application Developer는 포괄적인 IDE로서, 웹, 웹 서비스, 자바, J2EE, 포탈 애플리케이션의 디자인, 개발, 분석, 테스트, 프로파일링 및 개발에 사용된다. 제품 관련 페이지를 참조하거나 시험판을 다운로드 하라.
  • Rational Rose Data Modeler는 고급의 유연한 모델링 환경을 제공하여 데이터베이스 디자인을 가속화 한다. 제품 관련 페이지를 참조하거나 시험판을 다운로드 하라.
  • Rational Rose XDE Developer for Java는 UML 2.0같은 최신 표준을 지원하는 비주얼 모델링 제품이다. 제품 관련 페이지를 참조하거나 시험판을 다운로드 하라.
  • WebSphere Business Modeler는 프로세스 모델링, 엔터프라이즈 모델링, 필수 데이터 및 생성물 모델링, 구성 모델링, 리소스 모델링, 타임라인 및 배치 모델링, 시뮬레이션, 비즈니스 프로세스 분석 기능을 제공한다. 제품 관련 페이지를 참조하거나 시험판을 다운로드 하라.
  • WebSphere Business Integration Workbench는 비즈니스 프로세스와 소프트웨어 모델을 테스트, 분석, 시뮬레이트, 검사하는 프로세스 모델링 툴이다. 제품 관련 페이지를 참조하라.
  • WebSphere MQ Workflow는 시스템과 사람을 포함한 프로세스의 자동화에 사용된다. 제품 관련 페이지를 참조하라.


위로



표준
  • Object Management Group Model-Driven Architecture (OMG MDA)는 비즈니스와 기술의 변화에 대해 개방적이고, 벤더-중립적인 방식을 취한다.
  • W3C Web Services Architecture는 웹 서비스 아키텍처를 정의한다. 기능 컴포넌트를 규명하고, 이러한 컴포넌트들 간 관계를 정의하여, 전체 아키텍처의 속성을 만들어 낸다.
  • Unified Modeling Language (UML)는 OMG Model-Driven Architecture의 토대를 제공한다. 아키텍처와 애플리케이션 모델링을 통한 비즈니스 모델링부터, 개발, 전개, 관리, 혁신에 이르기까지 개발 및 통합의 모든 단계를 통합한다.


위로



포럼


위로



블로그
:
Posted by 뽀기
2007. 1. 29. 15:05

아키텍처 입문 - 요구사항 분석 그거/Architecture2007. 1. 29. 15:05

developerWorks
개요   |   요구사항 분석   |   모델링   |   자산과 패턴   |   통합   |   샘플 프로젝트

개요   포럼
베스트 프랙티스   블로그
  교육
방법  
 


소프트웨어 개발 프로젝트에서는 요구 사항을 통해 거의 모든 액티비티, 태스크, 결과물들이 발생한다. 몇 가지 핵심 기술과 반복적인 개발 방식을 사용함으로써, 프로젝트의 성공을 보장하는 요구 사항들을 개발할 수 있다. 프로젝트 초기에 시간을 들여서, 필요, 기능, 요구 사항들을 정의 및 문서화 하면, 비즈니스 목표에 맞게 소프트웨어 요구 사항 스팩을 마련할 수 있다.

본 장에서는, 베스트 프랙티스, 툴, 요구 사항 분석 방법을 검토하고, 그러한 요구 사항들을 IT 기능과 솔루션으로 연결시켜 본다.


요구 사항 분석

요구 사항: 개요: 정확한 요구 사항은 소프트웨어 프로젝트 성공의 필수 요소이다. 이 글에서 그 이유를 설명하고, 효과적인 요구 사항 문서화를 위한 3 단계 접근 방식을 설명한다.

유스 케이스 유형과 생성물 이해하기: 다양한 유형의 유스 케이스와 생성물을 검토하고, 이러한 것에 익숙하지 않은 팀들에 유스 케이스 기술을 도입하는 방법을 설명한다.

소프트웨어 요구 사항에서 비즈니스 가려내기: 복잡한 요구 사항들을 분석하는 기술을 익혀서, 비즈니스와 소프트웨어 요구 사항을 더욱 부각시킬 수 있다.

유스 케이스를 사용하여 비즈니스 요구 사항 파악하기: 핸드폰 결제 시스템인 Simpay의 비즈니스 요구 사항 엔지니어링 프로젝트에 기반하여 비즈니스 요구 사항들을 파악하는 7 가지 실질적인 원리들을 배운다.

요구 사항 방식 (PDF): 세 가지 전형적인 요구 사항 방식을 연구한다. 익스트림(Extreme) 요구 사항 방식, 애자일(Agile) 요구 사항 방식, 강력한(Robust) 요구 사항 방식.

비즈니스-중심 개발의 핵심 원리: 소프트웨어-중심 시스템의 생성, 전개, 진화에 있어서 산업계의 베스트 프랙티스로 자리잡은 새로운 원리를 배워봅시다.



위로



베스트 프랙티스

소프트웨어 개발 생산성과 프로젝트 성공 비율: 우리가 문제를 제대로 파악하고 있는가? Rational RequisitePro 같은 훌륭한 요구 사항 관리 툴을 사용하는 방법은 알고 있겠지만, 처음부터 올바른 요구 사항을 관리하고 있다는 것을 어떻게 확신할 수 있는가? 이 글에서 그 해답을 찾는다.

요구 사항에서 디자인으로 이동하기 (PDF): 요구 사항 스팩에서 디자인으로 원만하게 진행해 본다. 디자인을 시작하기 전에 유스 케이스로 어디까지 진행할지, 아키텍처적으로 중요한 요구 사항을 분석하고, 요구 사항 스팩에서 디자인으로 이동할 때 연결하는 중심 생성물로서 유스 케이스를 만드는 방법을 설명한다.

Rational 툴을 J2EE-기반 프로젝트에 적용하기 (한글): IBM Rational® Unified Process와 기타 Rational 툴들을 빡빡한 스케줄과 예산이 책정된 개발 프로젝트에 적용한다. Part 1에서는 고급 플래닝과 요구 사항 분석을 설명한다.

비즈니스 필요에 맞는 올바른 소프트웨어 개발 인프라스트럭처 구현하기: 소프트웨어 개발 인프라스트럭처를 강화하고 온 디맨드 환경을 만드는 올바른 구매 결정을 내린다. Part 1에서는 비즈니스와 인프라스트럭처 필요의 우선순위를 정하고, 제안서(RFP)를 정의하고, 요구 사항과 분석 기능을 강화하는 옵션에 대해 설명한다.

모델-중심 개발로 복잡함 줄이기: 솔루션 개발 프로세스에서 요구 사항 수집, 비즈니스 모델링, 애플리케이션 개발과 전개 단계를 분석한다.

서비스 mock를 사용하여 SOA 개발 체계화 하기: 유스 케이스와 mock 객체를 사용하여 SOA 애플리케이션의 품질을 높여보자. Bobby Woolf가 여러 팀들과 작업할 때 개발을 쉽게 할 수 있는 다섯 단계 프로세스를 설명한다.

Comment lines: 기능 외적 요구 사항이 왜 문제가 되는가? 기능은 중요하다. 하지만, 기능 외적 요구 사항을 고려하지 않는다면, 솔루션은 무용지물이 된다.

애플리케이션 개발용 Rational 비주얼 툴 연구: 소프트웨어 애플리케이션을 시각적으로 디자인 및 개발할 수 있는 Rational 툴을 설명한다.



위로



  • Rational RequisitePro®는 프로젝트 팀을 위한 요구 사항 및 유스 케이스 관리 툴이다. 제품 관련 자료자료를 찾아보거나, 시험판을 다운로드 하라.
  • Rational ClearCase®는 소프트웨어 개발 자산들의 라이프 사이클 관리와 컨트롤을 제공한다. 제품 관련 자료를 참조하라.
  • Rational SoDA는 포괄적인 프로젝트 문서 및 리포트의 생성 및 관리를 자동화 한다. 시험판을 다운로드 하라.
  • Rational Software Modeler는 커스터마이징 가능한, UML 2.0 기반 비주얼 모델링 및 디자인 툴로서, 프로세스의 문서화 및 통신, 흐름 및 디자인을 가능케 한다. 제품 관련 자료를 찾아보거나, 시험판을 다운로드 하라.
  • IBM Rational Software Development Platform은 소프트웨어와 소프트웨어 기반 시스템을 구현, 통합, 현대화, 확장, 전개할 수 있는 제품, 툴, 서비스를 제공한다. 오퍼링 관련 자료를 참조하라.


위로



솔루션 개발 방식

포럼


위로



블로그


위로



교육

'그거 > Architecture' 카테고리의 다른 글

아키텍처 입문 - 샘플 프로젝트  (0) 2007.01.29
아키텍처 입문 - 통합  (0) 2007.01.29
아키텍처 입문 - 자산과 패턴  (0) 2007.01.29
아키텍처 입문 - 모델링  (0) 2007.01.29
아키텍처 입문 - 개요  (0) 2007.01.29
:
Posted by 뽀기
2007. 1. 29. 15:04

아키텍처 입문 - 개요 그거/Architecture2007. 1. 29. 15:04

developerWorks
개요   | 요구사항 분석   |   모델링   |   자산과 패턴   |   통합   |   샘플 프로젝트

소개  
왜 아키텍처가 중요한가  
IT 아키텍트의 역할  
아키텍처의 역사 요약  
IBM이 IT 아키텍트를 정의하는 방법  
IT 아키텍처  
샘플 IT 프로젝트  
추가 자료  
 


Bobby Woolf는 IT 아키텍처의 의미와 역사를 설명합니다. IT 아키텍처가 어떻게 진화했는지, 그리고 IBM 아키텍처 의미를 어떻게 규명하는지도 설명합니다. 아키텍처를 더욱 잘 이해할 수 있도록 developerWorks에 개제된 자료들도 제공합니다.

Bobby는 IBM Software Services for WebSphere의 멤버이자, WebSphere® 개발 컨설턴트이다. Enterprise Integration PatternsThe Design Patterns Smalltalk Companion을 공동 집필했다. Bobby의 블로그(developerWorks)에서 IT 아키텍처를 주제로 한 더 많은 정보들을 볼 수 있다.

IT 아키텍처 소개

IT 아키텍처란 무엇인가? 아키텍처는 중요하다. 시스템 전문가에게 무엇이 중요한지를 묻는다면, 그들은 아키텍처라고 할 것이다. 시스템의 아키텍처는 시스템을 구현하는 전문가들이 공통으로 이해해야 하는 부분이다. 시스템의 주요 부분들을 이해함으로써, 시스템, 주 컴포넌트들, 이들의 상관 관계를 이해할 수 있다. 아키텍처는 전문 디자이너들이 가장 중요하다고 생각하고 있는 모든 것들을 포함하고 있다. 아키텍처는 중요성으로 상세히 분류되고, 덜 중요한 아키텍처는 낮은 수준의 디자인으로 간주된다.

시스템이 실행되는 한, 아키텍처는 결코 끝나지 않는다. 아키텍처는 시스템이 인식될 때, 첫 번째로 그려지는 부분이다. 시스템의 요구 사항들을 지속적으로 파악하고, 그러한 요구 사항들을 실현하면서 아키텍처는 변하게 된다.

정보 기술(IT) 분야에서, 하나의 소프트웨어 중심 시스템일지라도, 많은 아키텍처가 있다. 전체 시스템이 가장 높은 우선순위에 있는 것으로 간주된다면, 이것은 엔터프라이즈 아키텍처(enterprise architecture)이다. 하드웨어와 시스템을 실행하는 낮은 수준의 소프트웨어는 인프라스트럭처 아키텍처(infrastructure architecture)이다. 네트워크 아키텍처(network architecture)에서 네트워크는 가장 높은 우선 순위가 된다. 또 다른 것으로는 스토리지 아키텍처(storage architecture)가 있다. 연산 아키텍처(Operations architecture) 는 로드 스파이크(load spike) 같은 상황 속에서도 시스템을 무리 없이 실행하는 책임을 맡고 있다.

한 개의 아키텍처는 없지만, 엔터프라이즈 아키텍처는 가장 높은 레벨의 아키텍처이다. 엔터프라이즈는 공통 목표를 가진 조직들의 집합이다. 엔터프라이즈는 기업 또는 정부 기관이 될 수 있고, 같은 조직에서 서로 독립적으로 운영되는 부서가 될 수도 있다. 엔터프라이즈에는 비즈니스 파트너, 공급자, 고객들이 포함된다. 비록, 상충하는 이해관계 때문에 공통 목표를 달성하기가 어렵다. 엔터프라이즈 아키텍처는 소프트웨어 중심 시스템을 생산, 실행, 관리하는데 필요한 엔터프라이즈의 모든 영역과 필요들을 다룬다.



위로



왜 아키텍처가 중요한가

모든 시스템은 아키텍처를 갖고 있기 때문에 아키텍처는 중요하다. 가끔, 아키텍처는 시스템의 일부가 구현되기 전에 개발된다. 또 어떤 경우에는, 아키텍처에 대한 정식 정의 없이 소프트웨어 구현이 발생한다. 하지만, 후자와 같은 경우에도, 시스템은 아키텍처를 갖고 있고, 소프트웨어 세계에서도, 시스템 아키텍처는 시스템이 구현된 후에 명확해진다.

구조화 되지 않은(non-architected) 아키텍처에는 세 가지 일반적인 유형이 있고, 각각 경멸하는 듯한 뉘앙스이지만 중요한 이름을 갖고 있다.

  1. 커다란 진흙 덩이(Big ball of mud) (Shantytown) -- 이러한 유형의 시스템에는 사용되지 않는 많은 세그먼트가 포함된다. 하지만, 사용되지 않는 부분들도 규명하기도 힘들고, 제거하기는 더욱 어려운 것들로 쌓여있다.
  2. 스파게티(Spaghetti) -- 어떤 논리적 흐름이 없는 시스템이다. 여기에서 어떤 부분은 다른 부분과 연결되어 있을 수 있다. 이 같은 경우, 대부분의 부분들은 다른 많은 부분들에 대해 약간의 의존성을 갖고 있다. 이 같은 의존성이 시스템의 전체 기능에 작은 차이를 만든다.
  3. 카드로 만든 집(House of cards) -- 이러한 아키텍처에서는, 모든 부분들이 다른 많은 부분들에 의존하여, 한 부분을 변경하면 여러 부분들에 영향을 미치고, 한 가지 문제를 해결하면 더 많은 것들이 해결된다.

한 가지 유형의 속성을 가진 많은 시스템들이 두 개의 다른 유형들을 가질 수도 있다. 아래 그림은 이 세 가지 유형 모두를 가진 아키텍처 예제이다.

complex system design

시스템은 플래닝 되지 않기 때문에 이러한 방식으로 구현된다. 장기적 성공에 필요한 자질을 고려하지 않고, 필요 기술과 리소스가 부족한 사람들에 의해서, 순간적인 필요만 맞추기 위해 서둘러 구현된다. 그와 같은 시스템을 구현하는 팀은 너무 적은 인원을 갖고 있거나, 재능 있는 팀 멤버들의 효율성을 희석시키는 사람만 너무 많은 경우가 있다.

앞의 그림을 보면, 팀이 시스템을 구현하기 전에 아키텍처 디자인이 왜 필요한지를 알 수 있다. 시스템을 구현할 때, 단 한 가지라도, 작은 비전만 있어도 디자인 팀을 이런 식으로 혼란에 몰아 넣지 않을 수 있다. 이러한 비전은 세부적일 필요는 없고, 무엇이 필요하고, 어떻게 해야 하는지에 대한 전체적인 개념을 담고 있어야 한다. 누군가가 시스템 구현을 시작하기 전에 아키텍처를 포괄한 비전만 있으면, 주문은 일관성 있고 이해하기에 충분하고, 시스템은 구현될 수 있다. 새로운 필요가 생기면 팀이나 다른 팀이 수정할 수도 있다.




위로


IT 아키텍트의 역할

아키텍트는 아키텍처를 개발하고 구현된 것을 보장하는 책임을 맡은 사람이다. 개인 아키텍트가 이 모든 일을 할 수 있지만, 개발에는 팀 위주의 접근 방식이 개입된다. 이러한 관점에서 볼 때, 아키텍트는 팀의 코치, 오케스트라의 지휘자, 영화 감독 정도로 간주된다. 구현되고 있는 시스템의 아키텍트 비전은 팀의 구현 플랜이 된다.

IT 아키텍트에게 어떤 기술이 필요한가? IT 아키텍트는 큰 그림을 봐야 하고, 주요 부분들을 이해해야 하며, 이들을 어떻게 조합할 것인가를 알아야 한다. IT 아키텍트는 요구 사항, 예산, 인력, 타임프레임 같은 상충하는 필요들간 균형을 맞춰야 한다. 시스템이 무엇을 수행해야 하는지를 봐야 한다. 또한, 앞으로의 필요와 시스템이 직면할 문제들을 예상할 수 있어야 하고, 이 문제를 해결할 방법도 준비해야 한다. 아키텍트는 비전을 세운 후에, 그 비전에 대해서 팀과 상의하고, 멤버들이 그 비전을 수행할 수 있도록 동기를 부여해야 한다.

아키텍트에게 가장 필요한 것은 경험이다. 초보자가 아키텍트가 될 수는 없다. 아키텍트가 되고자 하는 사람들은 큰 일을 시도하기 전에 개인 분야를 통달해야 한다. 프로젝트를 관리하고, 스테이크홀더들과 작업하고, 팀을 이끈 경험이 필요하다. 좋은 아키텍트가 따로 있는 것이 아니다. 그 역할에 맞게 성장하는 것이다.



위로



아키텍처의 역사 요약

다음은 IT 아키텍처의 주요 사건들을 연대기별로 요약한 것이다.

  • 메인프레임. 최초의 애플리케이션은 중앙 컴퓨터에서 실행되었다. 사용자들은 단순 단말기나 텔레타이프 머신을 통해 연결했다. 아키텍처는 단순했다: 애플리케이션은 운영 체계 이상의 모든 일을 수행했다. IBM DB2® 또는 Oracle--같은 외부 데이터베이스도 없었다. 애플리케이션은 데이터를 자체 파일에 저장했다. 메시징 시스템, GUI, 공유 데이터, 애플리케이션들간 인터랙션이 없었다.
  • 워크스테이션. 데스크탑 컴퓨터가 일반화 되면서, 데스크탑 컴퓨터에서 실행되는 애플리케이션도 일반화 되었다. VisiCalc, WordPerfect (현재 Corel Corporation), Microsoft® Office 애플리케이션 같은 개인용 애플리케이션이 생겼다. 이들은 개인용 애플리케이션이었다; 각 사용자들은 로컬로 설치된 카피를 실행했고, 사용한 후에는 중지했다. 어떤 데이터도 공유되지 않았다. 로컬 디스크에 있는 파일에 저장되었으며, sneaker-net에 의해서만 분산되었다.
  • 네트워킹. 네트워크는 워크스테이션들을 서로서로 연결하거나, 공유 서버 컴퓨터, 메인프레임 스타일의 중앙 프로세싱 컴퓨터로 연결했다. 이로써 엔터프라이즈 내에서 이메일 기능을 실행할 수 있고, 파일 서버상에서 파일을 공유하게 되었다.
  • 클라이언트/서버. 네트워킹이 클라이언트/서버 컴퓨팅을 가능케 하고, 애플리케이션은 더 이상 중앙 컴퓨터나 워크스테이션에서 전적으로 실행되지 않고, 이 둘 사이를 나누었다. 원래 클라이언트/서버 애플리케이션들은 워크스테이션에서 실행되었지만, 데이터베이스 서버에서 중앙 데이터에 액세스 했다. 나중에 아키텍처는 애플리케이션을 두 부분으로 나누었다: 서버에서 실행되는 비즈니스 로직용 공유 컴포넌트와, 사용자 인터페이스를 구현했던 로컬 클라이언트로 나누었다. 중앙 비즈니스 로직을 호스팅 할 필요가 애플리케이션의 서버 부분을 실행 및 관리하는 애플리케이션 서버 개발을 이끌었다.
  • N-tier. 클라이언트/서버 아키텍처는 2-티어(two-tier) 아키텍처로 일컬어진다. 데이터베이스 서버는 애플리케이션 서버와는 다른 호스트 컴퓨터에서 실행되고, 이것은 3-티어(three-tier) 아키텍처이다. 네트워크 기반 애플리케이션이 점점 더 복잡해지면서, 디자이너들은 애플리케이션 스택--GUI에서 데이터베이스까지--을 클라이언트와 서버상의 더 많은 프로세스들로 나누었다. 이 같은 멀티-티어(multiple-tier) 디자인을 n-tier 아키텍처라고 한다.
  • 인터넷. 인터넷은 글로벌 네트워크이다. 인터넷은 대부분의 기업들의 네트워크 보다 오래되었지만, 인터넷으로 연결될 수 있는 내부 네트워크를 구현하기 전까지는 비즈니스 세계에서는 액세스 하는 것이 불가능 했다. 인터넷은 통신과 정보를 엔터프라이즈의 사용자들뿐만 아니라, 전 세계 사용자들 사이에서도 공유가 가능하도록 했다.
  • World Wide Web. 웹(Web)은 인터넷을 그래픽으로 만들었다. 작성자는 단어와 그림--Hypertext Markup Language (HTML)를 사용--을 조합 문서로 공개하고 전 세계 사용자들이 볼 수 있도록 한다. 이러한 HTML 문서들은 다른 문서에 대한 하이퍼링크를 포함하고 있기 때문에, 또 다른 문서에 대한 레퍼런스도 활성화 되었고, 독자들은 참조된 소스로 직접 액세스 할 수 있다. 이것은 노드 만큼 중요한 링크에 대한 정보를 온 디맨드(on demand)로 제공하는 것의 시작이었다.
  • Browser GUIs. 웹은 HTML 브라우저를 사용하여 정정 HTML 문서들을 본다. 이 패러다임은 빠르게 채택되어, 원격 애플리케이션들에 액세스 하는 인터랙티브 GUI를 제공했다. 이것은 중앙화된 컴퓨팅 모델로의 회귀였다. HTML 실행과 단순한 스크립팅을 제외하고는 클라이언트에서 실행되는 애플리케이션은 실제로 없었기 때문에, 사실상, 클라이언트/서버 모델이 아니었다. 인풋 값의 밸리데이션 조차도 서버에서 수행되어야 했다.
  • 웹 서비스. 인터넷은 애플리케이션들을 연결하기 위해 구현되었지만, 웹은 사람들을 정적 콘텐트와 서버 애플리케이션으로 연결시켜 주었다. 웹 서비스는 웹을 사용하여 애플리케이션들을 연결하여, 하나의 애플리케이션이 웹 연결을 통해 또 다른 애플리케이션을 실행할 수 있다.
  • Web 2.0. 웹 서비스를 웹 사이트에 적용한 것이다. 웹 사이트의 사용자는 더 이상 사람이 아니라, 또 다른 애플리케이션이 된다.
  • 서비스-지향 아키텍처(SOA). 애플리케이션은 중앙 컴퓨터나 워크스테이션에서 전적으로 실행하려는 경향이 있다. 클라이언트/서버와 n-티어 아키텍처는 애플리케이션 레이어들을 분산했다. 브라우저 GUI들은 애플리케이션을 서버로 옮겼다. n-티어 아키텍처 조차도, 런타임 스택이 독립적이기 때문에 완전히 통일된 구조였다. 애플리케이션들은 피어(peer)들 처럼 인터랙팅 한다. SOA는 애플리케이션을 사용자 기능을 나타내는 서비스 코디네이터(합성 애플리케이션의 소비자)와 그 기능을 구현하는 공급자로 나눈다. 코디네이터가 특정 애플리케이션에 고유하다면, 서비스는 여러 합성 애플리케이션들을 재사용 하고 공유될 수 있다.
  • 이벤트-중심 아키텍처(Event-driven architecture). SOA에서, 서비스 코디네이터는 원하는 서비스를 지정 및 호출한다. 이벤트 중심 아키텍처(EDA)에서, 애플리케이션은 이벤트를 탐지하고 공지를 만들어 낸다; 다른 애플리케이션들은 공지를 받고 서비스를 호출할 수 있는 핸들러를 갖고 있다. 이러한 방식으로, 탐지 애플리케이션은 이벤트에 대한 응답으로 호출해야 하는 모든 서비스에 대해 알 필요가 없다; 간단히, 이벤트를 알리고, 다른 애플리케이션들이 어떤 서비스를 호출해야 할지를 결정할 수 있도록 한다.

developerWorks Service-Oriented Architecture (SOA)와 웹서비스에서 자세한 내용을 참조하기 바란다.



위로



IBM이 IT 아키텍트를 정의하는 방법

Information technology (IT) 아키텍처는 소프트웨어 중심(software-intensive) 시스템의 기본적인 구조이다. IT 아키텍처의 가장 주도적인 부분은 애플리케이션이고, 여기에서 사용자들은 비즈니스 태스크를 수행하기 때문에, 시스템은 소프트웨어 중심적이다.

애플리케이션 외에도, IT 아키텍처에는 다른 측면들이 있다. IT 아키텍처에서 애플리케이션들은 실행 토대인 인프라스트럭처가 필요하다. 이 토대는 하드웨어-서버 컴퓨터, 데스크탑 워크스테이션, 스토리지, 네트워킹으로 구성된다. 또한, 미들웨어-애플리케이션 서버, 데이터베이스 서버, 메시징 시스템, 워크플로우 엔진, 규칙 엔진들을 포함한, 서버 소프트웨어로 구성된다. 데이터는 이러한 토대에 저장되고, 자산으로서 관리되며, 여러 애플리케이션들에 액세스 하여 사용할 수 있다. 이 토대는 통합 솔루션의 호스트도 되며, 애플리케이션들은 이 토대 위에서 서로 통신할 수 있다.

IT 아키텍처의 또 다른 측면은 이러한 엘리먼트들을 조합하는 것이다. 이 모든 것은 런타임 시 관리되어 올바른 연산을 수행할 수 있도록 해야 한다. 아키텍트는 이 모든 부분들--인프라스트럭처, 애플리케이션, 데이터, 통합, 연산--이 하나의 완벽한 시스템을 형성하여 사용자의 필요를 채울 수 있도록 해야 한다.

다양한 종류의 IT 아키텍트들이 있다. IBM은 다음과 같이 여섯 개의 아키텍처 원칙을 정의했다.

  1. 엔터프라이즈 아키텍처. 엔터프라이즈 아키텍트는 IT 기능을 비즈니스 필요에 연결하는데 집중한다. 아키텍트는 다양한 애플리케이션들 간 관계, 애플리케이션들 간 공유된 데이터, 애플리케이션 통합, 애플리케이션 실행 인프라스트럭처 등 엔터프라이즈 전체의 소프트웨어-중심 시스템을 관리한다.
  2. 애플리케이션 아키텍처. 애플리케이션 아키텍트는 비즈니스 프로세스를 자동화 하고, 사용자가 비즈니스 태스크를 수행할 수 있도록 돕는 기능을 제공하는 애플리케이션 디자인에 집중한다. 성능, 가용성, 확장성, 보안, 무결성을 포함한 기능 및 서비스 품질에 대한 요구 사항에 부합하는 애플리케이션을 설계할 책임을 맡고 있다. 또한, 애플리케이션을 실행하는데 필요한 소프트웨어와 하드웨어를 비롯하여, 애플리케이션을 개발하는 툴과 방법론을 평가 및 선택하는 책임도 있다.
  3. 정보 아키텍처. 정보 아키텍트는 데이터의 구조, 무결성, 보안, 접근성을 포함하여, 여러 애플리케이션에서 사용되는 데이터에 집중한다. 아키텍트는 데이터 관리용 시스템을 디자인, 구현, 테스트, 설치, 운영, 관리하는 책임이 있다. 이러한 시스템의 디자인은 소스, 위치, 무결성, 가용성, 성능, 수명 등을 설명해야 한다.
  4. 인프라스트럭처 아키텍처. 인프라스트럭처 아키텍처는 서버 컴퓨터, 스토리지, 워크스테이션, 미들웨어, 비 애플리케이션 소프트웨어, 네트워크, 엔터프라이즈에서 요구하는 애플리케이션과 비즈니스 프로세스를 지원하는 물리적 장치 등, 하드웨어와 서버 소프트웨어의 디자인에 집중한다. 아키텍트는 이러한 컴포넌트들을 평가 및 선택할 책임이 있다. 디자인과 선택된 제품의 유효성 검사를 위한 모델링, 시뮬레이션, 테스트도 담당하고, 결과 인프라스트럭처의 성능, 가용성, 확장성도 관리한다.
  5. 통합 아키텍처. 통합 아키텍트는 기존 애플리케이션, 소프트웨어 오퍼링, 네트워크, 엔터프라이즈 또는 엔터프라이즈들 간 협업할 수 있는 시스템을 실행하는 솔루션의 디자인에 집중한다. 다양한 기술, 벤더, 플랫폼, 컴퓨팅 스타일을 사용한다.
  6. 연산 아키텍처. 연산 아키텍트는 엔터프라이즈에서 사용되는 인프라스트럭처와 애플리케이션을 관리하는 솔루션의 디자인에 집중한다. 플래닝, 전략, 그리고, 복잡한 정보 시스템의 설치, 연산, 마이그레이션, 관리용 아키텍처를 담당한다.

이러한 아키텍트들은 영역들이 겹치기 때문에 독립적으로 작업하지 않는다. 인프라스트럭처 아키텍트는 시스템 실행을 위한 토대를 설계한다. 애플리케이션 아키텍트는 사용자용 프로그램을 설계하고, 통합 아키텍트는 프로그램들이 통합될 수 있도록 힘쓰고, 정보 아키텍트는 여기에 데이터가 포함되도록 한다. 연산 아키텍트는 이 모든 것들이 올바르게 실행되도록 하고, 엔터프라이즈 아키텍트는 이 모든 측면들을 감독하고 이들이 모두 협력할 수 있도록 한다. 다음 섹션에서는 IBM에서 규명한 여섯 개의 아키텍처 원리들간 관계를 설명하겠다.

six IT disciplines

IT 아키텍처

IBM developerWorks에는 아키텍처를 비롯한 다양한 기술 토픽들을 배울 수 있는 풍부한 자료들이 있다. 다음과 같이 유형 별로 자료를 제공한다.

  • 기술자료. IBM의 가장 숙련된 기술 스태프와 객원 기고가들이 집필을 맡고 있다. developerWorks 기술자료는 아키텍처를 비롯하여, 특정-제품 및 벤더-중립적인 애플리케이션 개발에 대한 모든 것을 망라하고 있다.
  • 튜토리얼과 교육. IT 기술을 배울 수 있는 단계별 가이드이다. 제품과 기술과 관련하여 시리즈로 구성된다.
  • IBM 교육 보조 자료. IBM 제품들을 사용하는데 필수적인 기술 관련 튜토리얼이다.
  • 팟캐스트. IBM 내/외부의 기술 리더들로부터, 전문적인 견해와 기술 혁신과 진화에 대해 들어본다.
  • 웹캐스트. 무료 기술 프레젠테이션으로서 최신 제품과 기술에 대한 정보를 알 수 있다.
  • 블로그. IBM의 유명한 기술 스태프들의 블로그를 소개한다. 주로 아키텍처 문제에 대한 이슈들을 다룬다.
  • 샘플 IT 프로젝트. 요구 사항부터 구현에 이르기까지 전체 프로젝트를 샘플링 했다.

다양한 아키텍처 관련 주제들을 찾을 수 있다. 다음은 가장 중요한 아키텍처 주제 및 IBM 제품들이다.

  • 서비스-지향 아키텍처
  • WebSphere Business Process Management
  • 가상화, 그리드, 자율 컴퓨팅
  • WebSphere Extended Deployment

서비스 지향 아키텍처(Service-Oriented Architecture)

SOA는 가장 새롭고, 가장 훌륭한 애플리케이션 아키텍처이며, IT의 미래이다. 다음은 추가 자료이다.


WebSphere Business Process Management

WebSphere Business Process Management는 SOA 애플리케이션의 구현과 전개와 관련한 IBM 제품을 제공한다. 다음은 WebSphere Business Process Management 관련 자료들이다.


가상화, 그리드, 자율 컴퓨팅

가상화는 구현 구조를 숨기면서, 논리적 리소스를 만든다. 그리드 컴퓨팅은 리소스들을 모으고, 태스크들을 선택적으로 분산한다. 자율 컴퓨팅은 자가 치료가 가능한 시스템으로 만들며, 요구와 문제에 동적으로 반응할 수 있도록 한다. 기타 자세한 정보:


WebSphere Extended Deployment

WebSphere Extended Deployment은 WebSphere Application Server 환경으로서 그리드와 자율 기능을 제공한다. 다음은 추가 자료들이다:



위로



샘플 IT 프로젝트

developerWorks 샘플 IT 프로젝트에는 IT 시스템 개발 과정을 이해하는데 도움이 되는 아키텍처, 기술, IBM 제품들이 망라되어 있다. 아키텍처를 다루는 프로젝트는 다음과 같다.



위로



추가 자료

IT 아키텍처 관련 추가 자료들도 참조하라.

:
Posted by 뽀기