Track 1 : Platform & SSPL Session 7 전사모빌리티플랫폼 아키텍처구축모형 2012 년 7 월 18 일 한화 S&C 기술혁신연구소권익찬과장 kighie@hanwha.co.kr
전사모빌리티플랫폼아키텍처구축모형 INDEX 0. 들어가며 I. 전사모빌리티플랫폼의아키텍처고려사항 II. 전사모빌리티플랫폼의논리적구성모형 III. 구성요소별주요접근전략 - 단말앱실행환경 - 모바일서비스서버 - 모바일운영서버 - 개발환경 Ⅳ. 몇가지구축사례 Ⅴ. 모빌리티플랫폼의진화
0. 들어가며 전사모빌리티플랫폼 기업전사차원에서모바일서비스를개발, 실행, 운영할수있는통합적기반기술환경 MEAP, MCAP Make OR Buy?
1. 아키텍처고려사항 4
1. 전사모빌리티플랫폼의아키텍처고려사항 전사모빌리티플랫폼구축 ( 도입 ) 의조건 전사적으로다수의 다수의모바일앱들을 개발, 유지보수, 운영해야할상황 CRM 직원 유지보수 A SFA 유지보수 B 파트너 기간계 유지보수 C... 고객 다수의플랫폼 / 단말 다수의업무시스템과운영조직
1. 전사모빌리티플랫폼의아키텍처고려사항 전사모빌리티플랫폼의일반적요건들과대응 개발 / 유지보수생산성 Open Standard 기반의 One Source Multi Use, 재사용, 공동사용 기존 IT 조직의친숙성 업무와모바일기술의분리 전사적기술 / 보안대응 확장성, 유연성상호운용성보장 시스템수명 전사차원의통합아키텍처
1. 전사모빌리티플랫폼의아키텍처고려사항 전사모빌리티플랫폼아키텍처수립의원칙 플랫폼적용아키텍트 Real Object Archetype 플랫폼개발아키텍트 고객사플랫폼적용 ( 구축 ) 시고려사항 도메인의특성 도입사의 EA 모바일서비스의발전방향및요구품질 유지보수조직 레거시시스템및인프라 적용의다양성에대응하는플랫폼아키텍처및설계원칙각구성요소와하위구성요소들의역할을명확히세분화구성요소간결합도최소화 : 인터페이스의추상화하위구성요소들의가변점식별및확장점제공구성요소들의기술구현방식의다양성용인 ( 대체용이성보장 ) 전술운용의자유도향상 컴포넌트재사용및공유메카니즘제공 표준상의제약은있어도, 기술적인제약은최소화한다.
II. 일반적구성모형 8
II. 전사모빌리티플랫폼의일반적구성모형 전사모빌리티플랫폼의구성요소및역할 단말 App 실행환경 UI 컴포넌트호스팅 : 네이티브 or 웹 UI Native 기능컴포넌트호스팅 : Native 컴포넌트확장메카니즘 > 3rd.Party 컴포넌트 Adapter Device API 공통기능 API : 통신, 리소스관리, Push 메시징분배, 암호화 API 등업데이트관리 : 앱 ( 부분 ) 업데이트관리, 버전체크등 모바일서비스서버 개별앱업무서비스 : 서비스실행및웹 UI 제공트랜잭션보안 : 앱-사용자인증, 암복호화트랜잭션처리 : 메시지송수신및서비스 Brokering, 세션관리메시지변환 : 단말측게이트웨이 - 레거시측커넥터 모바일운영서버 단말 - 사용자관리 : 단말인증, MDM 모바일 Shared Service : Push 메시징처리운영통합 : 로그및통계관리 > 3rd. Party 운영환경통합앱관리 : 앱다운로드및업데이트, 앱유효성검사, 앱버전및권한관리 개발환경 코딩편의성제공 : WysWyg 혹은 Code Assist 디버깅및개발자테스트 : UI Emuatoting 및서버연동테스트패키징및형상관리 Wiki, 지식관리 : 아키텍처, 개발표준공유, 현행화 9
II. 전사모빌리티플랫폼의일반적구성모형 모바일앱서비스구성 사용자 모바일앱 1..n 1..n 인증 / 암복호화트랜잭션처리웹 UI 제공 ( 웹방식의경우 ) 모바일서비스서버 1..n 1..n 인증정보제공 EAI, ESB or Direct 서비스제공 1..n 업무시스템 앱배포 / 업데이트 Push 메시징단말인증처리앱유효성검사 모바일운영서버 단말인증정보제공앱유효성검사앱권한정보제공 Push 메시지전송 앱등록 ( 권한, 버전관리 ) 통계조회 운영자 MDM Agent 앱 MDM 단말영역 모바일서버영역 업무시스템영역 10
II. 전사모빌리티플랫폼의일반적구성모형 전사적모바일서비스구성예시 모바일웹 HTTP 모바일서비스서버 모바일앱 모바일앱 HTTP 모바일서비스서버 HTTP 모바일운영서버 EAI, ESB or Direct MDM 업무업무시스템업무시스템시스템 모바일앱 HTTP TCP 모바일서비스서버 MDM Agent 앱 단말영역 모바일서버영역 업무시스템영역 11
III. 구성요소별주요접근전략 단말앱실행환경 모바일서비스서버 모바일운영서버 개발환경 12
III. 구성요소별주요접근전략 단말앱실행환경 One Source Multi Use : 수평적 OSMU Native Transcoding 방식 Meta-language 방식 전용스크립트 (Markups) 엔진방식 (Lua, Tcl, XUL 등 ) 모바일 RIA 전통적 MEAP 들이채택 Web 서버측기술활용 JSF, Taglib Device Profile 클라이언트측기술활용 모바일웹프레임워크 (Jquery Mobile, Sancha 등 ) Hybrid (Webkit 기반 ) 웹방식 (Web 리소스를요청시서버에서제공 ) 최근 SI 업체들이널리채택 : 상호배타적기술구조가아니며, 업무특성에따라조합가능 웹컨텐츠의배포방식에따라 단말탑재 (Web 리소스를단말에탑재 ) 앱내장패키징 (Phonegap, Appspresso) 컨텐츠다운로드방식 ( 부분업데이트 ) - 기본적 OSMU 정책으로 Hybrid 방식채택 : UI 개발영역에서표준성, 보편성확보. 보조적으로 Native 기능연동용이 13
III. 구성요소별주요접근전략 단말앱실행환경 One Source Multi Use : 수직적 OSMU 업무내용이동일한경우 업무내용이구분되는경우 Phone Tablet 스크린 : 3 ~ 5 해상도 : 480/800px ~ 1280/800px 휴대전화 스크린 : 7 ~ 10 해상도 : 1024/600px ~ 2048/1536px 이통망이용가능한휴대컴퓨터 해상도에따른소스분리 (CSS, HTML 등 ) 단일소스에 Responsive Web 적용 공통기능 (JS) 공유 단일소스에 Responsive Web 적용 단일소스에 Responsive Web 적용 예 ) 모바일고객센터 : Phone, Tablet 용앱 업무내용동일 예 ) 모바일 SFA : - Phone 용앱 ( 약식가입설계 ) - Tablet 용앱 ( 정식가입설계 + 전자서명 / 청약 ) - Phone 과태블릿의경우, UX 및세부업무기능자체를다르게기획되고개발하는추세 - 각단말범주간업무내용이다를경우 : 공통컴포넌트의도출및공통소스에대한형상관리정책필요 14
III. 구성요소별주요접근전략 단말앱실행환경 Native Component 확장매카니즘 : Native 기능및 UI 컴포넌트 - Native 컴포넌트의재사용성향상, 컴포넌트자산관리및유지보수의효율성 - Hybrid 방식개발을위한 Javascript API 제공 각계층별유지보수조직구분명확 WebkitInterface Webkit PluginManager + execute(string, string, JsObject) : JsObject Javascript 호출을위한 Plugin 관리및 invoking Web UI 업무 SM Javascript 호출 Webkit 인터페이스를위한 Javascript 실행 port 단말실행환경 플랫폼지원 «interface» Plugin AnyPlugin AnyPlugin::AnyPluginImpl + dosomthing(object) : void + execute(string, JsObject) : JsObject + getnamespace() : string «interface» AnyFunction 타 native 모듈에서참조할기능 interface OtherNativeModule 15 Native Plugin Native Plugin 전사공통, 업무특화적인 Native 기능, UI 컴포넌트 ( 팝업, 키패드, 메뉴등 ) 등 Native 기능을일반화하여제공 업무화면 (Web) 에서조합하여사용 전사공통모바일 SM
III. 구성요소별주요접근전략 단말앱실행환경 통신인터페이스 - 서버세션및트랜잭션은통제가능한단일지점에서관리 일관된정책 ( 보안, 프로토콜 ) 적용용이 - 다양한프로토콜과메시지형식을추상화하여 UI 레이어에제공 업무단개발방식의통일성유지 «interface» Connector + getsession() : Session + sendmessage(string, JsObject) : JsObject + uploadfile(string, JsObject) : JsObject 1..* + 생생 / 관리 ConnectionManager + getconnector() : Connector + 연연관리 WebkitInterface LoginManager HttpConnector «interface» SessionManager TcpConnector UpdateManager «interface» + 데이터암암호암 EncryptionHandler + 데이터암암호암 «interface» MessageMapper + 메메메변변 + 메메메변변 하위구성요소확장점 : 세션관리, 메시지변환, 암복호화 (3 rd.party 구간암호화등 ) JsonMapper HttpPostMapper TelegramMapper MultiPartFileMapper 16
III. 구성요소별주요접근전략 단말앱실행환경 단말측보안 - 보안 Compliance : 다양한보안침해유형이새롭게등장하며, 도메인및업무특성에따른신속한대응이요구됨 - 기업보안표준 : 각기업에서는각유형별보안컴포넌트 ( 솔루션 ) 표준을이미채택하고있는경우많음 - 각영역별보안솔루션은역할, 기능을추상화한 Wrapper ( Plugin ) 에감싸서제공 - 3 rd.party보안솔루션에대한 Adapter ( Plugin ) 은해당사이트의공통자산으로관리 금융거래개인정보보호내부정보보호앱 / 컨텐츠보안 공인인증서 (PKI) 구간암호화모바일백신키패드보안 MDM ( 분실대응, 화면캡처방지등 ) SSL/IPSec VPN 앱위변조방지리소스보안 ( 기밀성, 무결성 ) Timestamp DRM 기타 Mobile SSO 17
III. 구성요소별주요접근전략 단말앱실행환경 단말실행환경의레이어구조 : Hybrid 방식 Web UI 영역 업무웹 UI 웹 F/W (JQuery 등 ) biz-common-web-library ( 업무공통 js, css, image 등 ) Web (Javascript) 단말앱실행환경 * 단말실행환경에대한추상화레이어 runtime-core-api [on-device on-devkit] plugin-api Native UI Plugins native 단말앱실행환경 Javasctipt Hosting WebkitInterface 기본 Infra Plugins Plugins 의존관계 Native 영역 Web UI 영역 18
III. 구성요소별주요접근전략 단말앱실행환경 모바일서비스서버 모바일운영서버 개발환경 19
III. 구성요소별주요접근전략 모바일서비스서버 Web UI 제공방식에따른유형들 1) Web UI 모바일서비스서버에서제공 단말앱 서비스서버 Webkit 단말앱실행환경 1..n Markup rendering Transaction 처리 0..m 1..n Legacy 서버측기술 (JSP, JSF 등 ) 활용가능. UI 로딩메 N/W Latency 발생 2) Web UI 단말탑재 ( 앱내장 / 부분업데이트 ) 단말앱 서비스서버 Local File System Webkit 단말앱실행환경 1..n Transaction 처리 0..m 1..n Legacy UI 로딩메 N/W Latency 없음. Off-line 작업가능 웹컨텐츠에대한별도의배포관리및보안 ( 위변조방메등 ) 기능필요 20
III. 구성요소별주요접근전략 모바일서비스서버 트랜잭션처리방식에따른유형들 1) 별도서비스개발 모바일앱 HTTP Mobile Gateway 서비스호스팅 service service Enterprise Connector EAI, ESB or Direct 1..n Legacy 레거메서비스들을조합한모바일특암서비스개발 모바일서비스로직을업무메스템에서분리 기존유메보수조직입장에서유메보수및관리포인트분산 2) 메시지라우팅및변환만담당 모바일앱 HTTP Mobile Gateway 서비스라우팅 Enterprise Connector EAI, ESB or Direct 1..n Legacy Legacy서비스호출을위한별도의코딩없음. 모바일서비스를위한업무로직은 Legacy( 업무메스템 ) 에서개발 업무로직의분산방메 ( 관리포인트집중 ) 모바일전용서비스서버의역할이축소되어, 업무구현메모바일 UI와레거메측의개발부담이증가 21
III. 구성요소별주요접근전략 모바일서비스서버 서버분할방식에따른유형들 1) 앱단위분할 고객센터앱 (B2C) 모바일고객센터서버 (B2C) 업무시스템 (1) 모바일서비스서버단의독자서비스구현 내용이많을경우에적합 SFA 앱 (B2P) 모바일 SFA 서버 (B2P) 업무시스템 (2) 2) 업무단위분할 고객센터앱 (B2C) SFA 앱 (B2P) 모바일영업지원서버업무시스템 (1) 현업 / 유지보수조직간독립성유지에적합 3) 사용자유형 (B2C, B2P, B2E) 분할 SFA 앱 (B2P) CRM 앱 (B2P) 모바일 FP 서비스서버 (B2P) 업무시스템 (1) 업무시스템 (2) 사용자유형에따른업무통합시적합 - 인증, 보안정책이다르며, 진화의방향다름 - 보조적으로앱단위분할가능 고객센터앱 (B2C) 모바일고객지원서버 (B2C) 업무시스템 (3) 22
III. 구성요소별주요접근전략 단말앱실행환경 모바일서비스서버 모바일운영서버 개발환경 23
III. 구성요소별주요접근전략 모바일운영서버 모바일운영통합 - 서비스서버와운영서버의분리 : 서비스서버는트랜잭션에집중, 운영서버는모바일운영의 Single View 제공 - 전사차원의모바일공통서비스통합 중복개발및분산방지 - 단말관리기능통합 단말-사용자에대한통일적통제 - 앱 Lifecycle에대한통합관리 : 앱배포, 업데이트, 권한, 유효성관리등 모바일서비스서버 1..n CI 배포관리 단말인증정보제공앱유효성검사앱권한정보제공메시징서비스운영화면제공 모바일앱 1..n 1..n 앱배포 / 업데이트단말인증처리앱유효성검사메시징서비스 공중망서비스 모바일운영서버 형상서버 (SVN,CVS) 모바일단말 MDM APNS / C2DM SMS 서버 24
III. 구성요소별주요접근전략 단말앱실행환경 모바일서비스서버 모바일운영서버 개발환경 25
III. 구성요소별주요접근전략 개발환경 PC 브라우저기반테스트환경 동일한 Web UI 코드로단말과 PC 에서테스트 / 디버깅할수있는환경제공 업무웹 UI 동일리소스 runtime-api.js 단말앱실행 PC 에서실행 on-device.js on-devkit.js Webkit Browser (Chrome, Safari) Web UI(javascript) 디버깅 모바일서비스서버 단말앱실행환경 메시지송수신디버깅 Eclipse Plugin (Jetty) 단말앱실행환경에대한대체기능제공 Message Mocking 26
Ⅳ. 몇가지구축사례 27
Ⅳ. 몇가지구축사례 보험사의사례 : B2P, B2C Phone/Tablet 업무내용별도 FP 지원앱 (B2P) SFA Smart-learning HTTP FP 모바일서비스서버 (B2P) 서비스호스팅 전자서명 전자청약 ( 대면 ) 상품 서비스라우팅 EAI MDM Agent HTTP MDM 서버 모바일운영서버 Legacy HTTP EAI 모바일고객창구앱 (B2C) HTTP 고객모바일서비스서버 (B2C) 서비스라우팅 28
Ⅳ. 몇가지구축사례 증권사의사례 : B2E Phone/Tablet 업무내용별도 SFA(B2E) SFA/WMS MTS/MCI 시세 / 주문 TCP( 양방향 ) 업무기능확장... TCP TCP MDM Agent n Legacy MDM 서버 모바일운영서버 TCP TCP MTS (B2C) TCP( 양방향 ) MTS/MCI 29
Ⅳ. 몇가지구축사례 Lessons Learned 1. HTML5 기반 One Source Multi Use 단말 / 플랫폼간의 OSMU 쉽지않음 별도의웹프레임워크확보필요 웹리소스공통컴포넌트도출및개발표준필요 2. 재사용및공동사용 Native Plugin 재사용비율높음 앱추가시공수 / 기간단축효과큼 3. 업무와모바일기술의분리 업무개발자위주의개발팀구성, 모바일개발자최소투입 전사공동모바일기술유지보수전담자운영 업무영역은기존유지보수조직내에서소화가능 문제 : HTML5, 모바일웹전문인력필요 4. 플랫폼및아키텍처유지 초기플랫폼적용 ( 구축 ) 이후아키텍처, 표준유지및재사용매카니즘유지방안 : 교육, 매뉴얼, 가이드만으로부족 플랫폼 R&D 전사플랫폼조직 개별앱개발간의 SPL 체계필요 30
Ⅴ. 모빌리티플랫폼의진화 31
Ⅴ. 모빌리티플랫폼의진화 단일스크린 한시스템에하나의스크린 PC 기반 : 웹브라우저 / x-internet 툴 / RIA 다중스크린 한시스템에여러스크린, 하나의앱에여러시스템통합 단말의수직적다양성 (SmartPhone, Tablet, PC, TV, DID) 과수평적다양성 (Windows, ios, Android) 보장 SmartWork 이슈와결합된업무형태의다양성및연속성확보 기존내부망서비스가공중망으로확대. Tablet과 PC간의경계모호 스크린확장에따른업무시스템의연계, 통합및장기적아키텍처이행방안필요 모바일앱을위한플랫폼을넘어전사차원의 multi-device(n-screen) 전략및아키텍처요구 32
감사합니다. 33