enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례

17
Enterprise홖경에서의 오픈소스 기반 아키텍처 적용 사례 -Open Source Frameworktoolkit을 이용 삼성SDS 기술본부 / SA 그룹 정유선 선임 2010 한국SW아키텍트 대회 3 KSAS COEX 장보고 홀. 2010.7.9~10 nd 발표주제 : Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 발표자 : 정유선 소속 : 삼성SDS 기술본부 / SA 그룹 발표세션 : No. 18

Upload: jerry-jung

Post on 23-Jun-2015

1.089 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례

Enterprise홖경에서의 오픈소스 기반아키텍처 적용 사례

-Open Source Framework와 toolkit을 이용

삼성SDS

기술본부 / SA 그룹

정유선 선임

2010 한국SW아키텍트 대회 3 KSAS COEX 장보고 홀. 2010.7.9~10nd

발표주제 : Enterprise환경에서의오픈 소스 기반 아키텍처적용 사례

발표자 : 정유선소속 : 삼성SDS 기술본부 / SA 그룹발표세션 : No. 18

Page 2: Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례

2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd

Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선

Page 2

목차

1. Enterprise홖경에 오픈 소스 소프트웨어의 시사점

2. Hype Cycle for Open Source Software

3. 적용 가능한 오픈 소스 소프트웨어

4. Enterprise홖경에 오픈 소스 기반 아키텍처 사례

5. 개발 생산성 향상을 위한 오픈 소스 툴킷의 홗용

6. Enterprise홖경의 오픈 소스 도입 시 고려사항

7. 아키텍트와 오픈 소스 소프트웨어

Page 3: Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례

2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd

Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선

1. Enterprise홖경에 오픈 소스 소프트웨어의 시사점

Business홖경 변화

급변하는 비즈니스 홖경과 IT홖경의 변화로 기업시스템의

lifecycle은 단축되어 가고 있음

기업은 비즈니스 기회 창출과 경쟁력 향상을 위한 IT비용에

막대한 비용을 지출하고 있음

기업홖경에서의 오픈 소스 소프트웨어의 시사점

- 비용절감 측면 : 시스템 구축 시 소프트웨어 구입 비용 절감

- 개발생산성 향상 측면 : 오픈 소스 소프트웨어 프레임워크를 활용하고

오픈 소스 툴 킷을 사용하여 생산성 향상

- 소프트웨어 품질 확보 : 선진기술 확보 및 확장성 제공

- 독점 벤더에 대한 독립성 : 구축 및 유지보수 비용에 대한 제약을 탈피

Page 4: Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례

2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd

Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선

2. Hype Cycle for Open Source Software

- Open-source solutions are being deployed in increasingly mission-critical scenarios where the service

level must be equal to or better than closed-source alternatives.

- Open-source solutions are being adopted by increasingly conservative IT organizations that regard cost

and risk mitigation as their primary concerns.

Page 5: Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례

2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd

Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선

2. 적용 가능한 오픈 소스 소프트웨어

1 Open Source Architecture

2 Open Source Framework

3 Open Source Library

4 Open Source Toolkit

Page 6: Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례

2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd

Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선

Page 6

4. Enterprise홖경에 오픈 소스 기반 아키텍처 사례

시스템 요구사항

서비스 앆정성

Peak time 보장

Component 의존성 최소화

확장 가능한 구조

Down Sizing issue (상용 솔루션의 유지보수 비용 증대)

RIA 인터페이스 지원

사용자 관점의 빠른 응답 속도 고려

Page 7: Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례

2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd

Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선

System Overview

Analysis Framework

Service

Consumer

4. Enterprise홖경에 오픈 소스 기반 아키텍처 사례

Security Framework

A & A LDAP IDM

Portal Framework

Smart

Phone

PC

Tablet PC

External

Service

Portlet workspace

Entitlements

CMS

SearchCommunity

Communication

Component Service

BBSMail

PIMS

Board Personalization

Shared ServiceRSS/wikiCommunity

Archiving

Statistics Chart

Report tool

Management

Framework

Admin / Monitoring

Page 8: Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례

2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd

Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선

4. Enterprise홖경에 오픈 소스 기반 아키텍처 사례

Open Source Framework & library

SW Architecture 선정 기준 Open Source framework /library

Presentation Layer

표준 JSP 개발 JSP Standard Tag Library

Model II 지원Struts

Spring MVC 2.5

Data binding Layer Text기반의 Array처리 JSON

XML binding JAXB2.0

Vo class to XML Xstream

Business Layer Spring Framework

Persistence LayerSQL Mapper iBatis

OR Mapper OpenJPA

Interface LayerRest Interface ApacheCXF

Web Service Interface Apache Axis

AOP Logging, Transaction SpringAOP or AspectJ

Template Engine Mail Template Velocity

Logging Service Apache Commons Logging + Log4J

Batch Framework Quartz Scheduler + Spring Batch

Page 9: Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례

2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd

Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선

Page 9

DEMO

4. Enterprise홖경에 오픈 소스 기반 아키텍처 사례

Page 10: Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례

2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd

Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선

형상 관리 toolkit

형상관리 tool : 원자적 commit지원 , 개발 resource접귺 제어,

대용량 프로젝트에서도 앆정적인 형상 관리 지원, CI와의 확장성

선정 기준 : 사용 용이성, 처리 속도

Quality 지원 toolkit

단위 테스트 : Biz Class단위의 CRUD test

성능 테스트 : 웹 기반 시스템 부하 발생 Http Request재현

Code Inspection : Coding convention , 개발 SPM 준수 여부

체크

5. 개발 생산성 향상을 위한 오픈 소스 툴 킷의 홗용

Page 11: Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례

2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd

Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선

Communication toolkit

Issue Management System : 이슈 트래킹 시스템(형상 및

빌드/테스트와의 plug-in을 통해 통합 홖경 제공

Wiki: 의사 소통 tool, 관렦 자료 업로드

자동화 toolkit

CI tool: Continuous Integration tool , 자동/수동 빌드 지원,

다양한 plug-in지원, Daily build

5. 개발 생산성 향상을 위한 오픈 소스 툴 킷의 홗용

Page 12: Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례

2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd

Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선

5. 개발 생산성 향상을 위한 오픈 소스 툴 킷의 홗용

assign

developerConfiguration

ServerCI

Server

notification

Dev. Server

- Daily Build

- Daily Test

- Daily Code Inspection

Issue Created

Stage Server

Beta Server

Prod. Server

Integration Test

Performance Test

Version release

Build result

E-mail

CTIP Process

CTIP※ Continuous Integration - Martin Fowler

- Automate the Build

- Make Your Build Self-Testing

- Everyone Commits To the Mainline Every Day

- Keep the Build Fast

- Everyone can see what's happening

Issue Mgmt.Repository

Service Request

related issue

commit

source update

dev. release

Issue closedbuild &archive

Page 13: Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례

2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd

Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선

5. 개발 생산성 향상을 위한 오픈 소스 툴 킷의 홗용

DEMO

Page 14: Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례

2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd

Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선

OSS 도입 시 SW Architecture 고려사항

- 상용 솔루션 비교 근거

- Reference site 유무

- 안정성

- 기술 지원

- 통합/확장 성 측면

- 비용 절감 측면

상용 솔루션

장점 : 기술지원

앆정성

customizing 가능

단점 : 솔루션 구매 시 비용발생

유지보수 고비용

비 효율 적인 ROI

OSS

장점 : 저비용

최신 기술수용

타 OSS와의 plug-in 확장성

업그레이드

단점 : customizing 불가

기술지원 힘듦

종료되는 oss에 대한 문제

6. Enterprise홖경의 오픈 소스 도입 시 고려사항

VS

Page 15: Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례

2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd

Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선

품질 속성 고려사항

6. Enterprise홖경의 오픈 소스 도입 시 고려사항

Quality Attributes(품질 속성)

주요 내용 비고

Availability(가용성 측면)

- Enterprise 환경 적합성 검토- 대용량 트랜잭션 보장- HA 아키텍처 지원- 견고한 아키텍처- 확장 가능한 구조

- Mission Critical한 시스템 적용 시 risk가 적은가?- Clustering 및 고 가용성 보장을 위한 기술이 지원되는가?- 다른 plug-in과의 상호호환성이 보장되는가?

Performance(성능) - 응답 성능 보장- 캐싱 지원

- 응답 성능 보장을 위한 캐싱 알고리즘이 존재하는가? - 성능 보장 아키텍처가 지원되는가?

Usability(사용성) - 개발용이성- 쉬운 Interface

- 개발 시 참고할만한 reference가 존재하는가? (community등)- 외부 연동 시 쉬운 인터페이스가 고려 되어있는가?

Security(보앆) - 보안 취약점- 보안 기술

- 웹 기반 개발 시 보안 취약점이 발생하지 않는가?- 타 보안 관련 기술과의 연동이 가능한가?

Modifiability(변경 용이성)

- license 관련- 유지보수성- 기술 지원

- 지속적 patch 및 기술 지원하는 업체가 존재하는가?

Page 16: Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례

2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd

Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선

7. 아키텍트와 오픈 소스 소프트웨어

아키텍트의 역할

- 고객 대응 : 아키텍처에 영향을 주는 요구사항을 토대로 품질 속성을 도출 하고

trade-off를 통해 구현 가능한 소프트웨어 아키텍처를 제시

이때 , 적용 가능한 OSS에 대한 고객 설득도 포함되어야 함

- 프로젝트 관리 대응 : 기술적 위험 요소를 파악하고 의사결정권자에게 통지

이를 완화시키는 방앆을 강구해야 함

- 개발 파트 대응 : OSS 관렦 가이드 및 리뷰를 통해 발생되는 이슈에 대해 의사소통

창구 담당

- 기술 대응 : 상용 솔루션과 검토를 통해 프로젝트 일정/비용 등을 고려하여 OSS를

선택할 수 있어야 함.

도출된 아키텍처를 구현하기 위한 필요 기술 및 기능적 이슈에 대해

적극적 follow up. 필요 시 BMT , PoC 실시

이때, 기술 지원이 어려운 OSS의 경우에 대응방앆도 고려되야함

Page 17: Enterprise 환경에서의 오픈소스 기반 아키텍처 적용 사례

2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd

Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선

감사합니다.