Upload
jerry-jung
View
1.089
Download
6
Embed Size (px)
Citation preview
Enterprise홖경에서의 오픈소스 기반아키텍처 적용 사례
-Open Source Framework와 toolkit을 이용
삼성SDS
기술본부 / SA 그룹
정유선 선임
2010 한국SW아키텍트 대회 3 KSAS COEX 장보고 홀. 2010.7.9~10nd
발표주제 : Enterprise환경에서의오픈 소스 기반 아키텍처적용 사례
발표자 : 정유선소속 : 삼성SDS 기술본부 / SA 그룹발표세션 : No. 18
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. 아키텍트와 오픈 소스 소프트웨어
2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd
Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선
1. Enterprise홖경에 오픈 소스 소프트웨어의 시사점
Business홖경 변화
급변하는 비즈니스 홖경과 IT홖경의 변화로 기업시스템의
lifecycle은 단축되어 가고 있음
기업은 비즈니스 기회 창출과 경쟁력 향상을 위한 IT비용에
막대한 비용을 지출하고 있음
기업홖경에서의 오픈 소스 소프트웨어의 시사점
- 비용절감 측면 : 시스템 구축 시 소프트웨어 구입 비용 절감
- 개발생산성 향상 측면 : 오픈 소스 소프트웨어 프레임워크를 활용하고
오픈 소스 툴 킷을 사용하여 생산성 향상
- 소프트웨어 품질 확보 : 선진기술 확보 및 확장성 제공
- 독점 벤더에 대한 독립성 : 구축 및 유지보수 비용에 대한 제약을 탈피
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.
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
2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd
Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선
Page 6
4. Enterprise홖경에 오픈 소스 기반 아키텍처 사례
시스템 요구사항
서비스 앆정성
Peak time 보장
Component 의존성 최소화
확장 가능한 구조
Down Sizing issue (상용 솔루션의 유지보수 비용 증대)
RIA 인터페이스 지원
사용자 관점의 빠른 응답 속도 고려
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
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
2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd
Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선
Page 9
DEMO
4. 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. 개발 생산성 향상을 위한 오픈 소스 툴 킷의 홗용
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. 개발 생산성 향상을 위한 오픈 소스 툴 킷의 홗용
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
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
2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd
Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선
5. 개발 생산성 향상을 위한 오픈 소스 툴 킷의 홗용
DEMO
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
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 및 기술 지원하는 업체가 존재하는가?
2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd
Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선
7. 아키텍트와 오픈 소스 소프트웨어
아키텍트의 역할
- 고객 대응 : 아키텍처에 영향을 주는 요구사항을 토대로 품질 속성을 도출 하고
trade-off를 통해 구현 가능한 소프트웨어 아키텍처를 제시
이때 , 적용 가능한 OSS에 대한 고객 설득도 포함되어야 함
- 프로젝트 관리 대응 : 기술적 위험 요소를 파악하고 의사결정권자에게 통지
이를 완화시키는 방앆을 강구해야 함
- 개발 파트 대응 : OSS 관렦 가이드 및 리뷰를 통해 발생되는 이슈에 대해 의사소통
창구 담당
- 기술 대응 : 상용 솔루션과 검토를 통해 프로젝트 일정/비용 등을 고려하여 OSS를
선택할 수 있어야 함.
도출된 아키텍처를 구현하기 위한 필요 기술 및 기능적 이슈에 대해
적극적 follow up. 필요 시 BMT , PoC 실시
이때, 기술 지원이 어려운 OSS의 경우에 대응방앆도 고려되야함
2010 한국SW아키텍트 대회 3 KSAS COEX 컨퍼런스 룸. 2010.7.15~16rd
Enterprise환경에서의 오픈 소스 기반 아키텍처 적용 사례 : 정유선
감사합니다.