어플리케이션 개발과 모바일 플랫폼

10
Platform Architect [email protected] April of 201 1 Re-thinking about Mobile Platform (Draft)

Transcript of 어플리케이션 개발과 모바일 플랫폼

Page 1: 어플리케이션 개발과 모바일 플랫폼

Platform Architect [email protected]

April of 2011

Re-thinking about Mobile Platform (Draft)

Page 2: 어플리케이션 개발과 모바일 플랫폼

Deploy & Mainternance, the biggest dilemma on mobile apps.

Mobile Device 상에서의 Application은 배포 그 시점부터 아래의 문제들이 발생하기 시작함

A Banktwitter

Join the conversation

내 단말에선 실행하다 죽네. 이걸 어플이라고 만드냐?http://bit.ly/ds5csa6z20 hours ago reply

아주 잘 되네요. 훌륭하네요. 좋습니다.안드로이드 어플도 곧 나온다니 내 갤럭시패드에서도 사용해 봐야겠네요.20 hours ago reply

아이폰용이 내 iPad에선 이상하게 보이네요.확인하고, 빨리 수정 좀...http://goog.le/ds5c6z22 hours ago reply

옵큐에서는 자꾸 어플이 죽네요. 이거 수정 해야 할 듯. 제조사에 물어보니 제조사 문제가 아니라 어플 문제라고 하네요. 23 hours ago reply

retweet

3630tweets

12:38

A Bank IT Help Desk

모바일용 서비스 어플 출시 92일차

고객 상담일지어플리케이션 구동이 안된다고 하는데고객이 데이터 동기화 설정 변경을 할 줄 모르는...

...

VOC #180A3453Push 알림이 자꾸 와서 껐지만 계속 온다고어플의 환경설정에서 바꾸셨다고 하는데 발송이...

고객 상담일지휴대 단말을 바꾸었는데 기존 데이터가 삭제기존 자신이 사용한던 데이터를 이관해서 사용할 수...

VOC #180B3998어플 삭제가 되지 않아 불편어플을 삭제하려고 시도하면 에러만 나고 삭제는...

고객 상담일지로그인 실패 메시지가 뜬다고 하는데iOS 버전 V1.06 에서는 로그인 실패라고 뜨는데...

고객 상담일지업그레이드 과정에서 계속 에러가업그레이드 후에 갑자기 잘 되던 기존 조회 서비스가..

Page 3: 어플리케이션 개발과 모바일 플랫폼

고객 접점은 과거 브라우저 기반의 응대보다 압도적으로 다양한 환경/상황에 직면해 가고 있음

12:38

...

이 고객의 경우는 정상 설치가 된 것인지 조차도 정확 하지가 않아서 응대가 쉽지 않아요. 연세가 좀 있으신 것 같은데 커뮤니케이션 조차 쉽지 않은 고객이라 저도 무척 답답하네요.

사용 기록이 전혀 없는데 사용하고 있었다고 하네요. 뭔가 추적으로 하려고 해도 쉽지가 않습니다. 이런 경우는 어떻게 해야 하나요?

운영체제를 업그레이드 해야 하는데 정상동작이 가능하다고 설득을 하고 있지만 업무적으로 사용하고 계시는 어플 구동 때문에...

우리 문제가 아니라, 아이폰 운영체제의 특성이라고 설득을 아무리 해 봐도 잘 안되네요. 이전 화면으로 돌아가는 취소 버튼을 사용하시 던 고객들에게 아이폰 어플의 다시읽기 버튼은 혼동이 오니 교체를...

자꾸 문자가 깨진다고 하시는데 그건 우리가 어떻게 해 볼 방법이 없는 것 아닌가요?

아이폰에서 사용하던 데이터를 이관해 달라는 요구인데 데이터 구조가 다르다고 이야길 해도 고객에게 설명하기엔 정보가 부족해서...

패드용 버전에서 이상하다고 하는데 패드 버전은 제공약속 일시가 이 미 지났는데... 언제 제공이 가능한 것인가요? 웹사이트에 관련 정보 를 내리던지 해 주세요.

이 제조사 단말이 계속해서 문의가 들어오는데 아무래 확인을 좀 해 봐야. 현재 가지고 있는 단말 말고 새 모델들을 구입해야 ...

Deploy & Mainternance, the biggest dilemma on mobile apps.

VOC 계속 증가하고, 소보원에도 시정하라고 하고... 최대한 응대를 잘 하고 있지만 워낙 많은 콜이 ...

들어보지도 못한 단말인데...해외 단말인 것 같기도 하고요. 그런 문제는 상담도 하기 힘들죠. 단말관련 문서 현행화 좀 제대로 해 주세요. 상담 힘듭니다. ㅜ.ㅜ

고객상담센터

Page 4: 어플리케이션 개발과 모바일 플랫폼

유지보수와 계속 요구되는 업데이트와 새로운 환경의 변화는 끊이지 않음

Windows Phone 7 지원이요? 완전히 새로 개발해야죠. 기존에 소스 사용할 것 거의 없죠. 터미널 접속 서버 손 보는 것은 금방이지만 어 플리케이션 구현은 엔지니어 수배하고, 개발하고...4개월은 걸리죠.

패드의 그런 고해상도까지 지원하려면 그건 또 새로 개발하는 수 밖 에 없습니다. 기존 소스 재활용할 수 있지만 변경 적용하고, 테스트하려면 2달의 시간은 주셔야죠.

아무리 분석을 해 봐도 그건 사용자의 단말이 비정상적인 것 같아요. 수거를 해서 분석 하는 것 말고는 원인규명 방법이 없어요.

기존 버전 사용자들은 접속을 막는 것 말고는 방법이 없습니다. 그건 너무 많은 변경이 발생합니다. 기존 사용자들 항의 들어오는 것은 고 객센터 쪽에서 잘 설득해 주셔야죠 뭐.

사용자가 단말을 변경하고 처음 접속하면서 발생한 문제라고 봐야 합니다. 당장은 재연이 불가능하니...하필이면 임원 단말에서 그런 ...

거의 새로 개발하다시피 하는데, 아무리 중요한 일정이라고 해도 그 일정안에 새로운 버전에 대한 지원은 장담 못합니다.

배포 신청하고, 검수 받고...2-3주는 잡으셔야죠. 문제 없이 한 번에 패스한다는 전제하에.

Deploy & Mainternance, the biggest dilemma on mobile apps.

그 버전에서만 있었던 버그라니까요. 업그레이드 만 하면 금방 해결됩니다.

운영체제가 또 업그레이드 되었다고요? 지난 버전 버그도 아직 남았던데...언제 테스트를 또...

고객 단말 운영체제 자체가 바뀌었다고 하는데, 푸쉬 feedback 에는 아직도 기존 신호가 들어오고 있어서 강제로 막아야 하는 것인지...

IT 현업 및 개발사

Page 5: 어플리케이션 개발과 모바일 플랫폼

Multi-OS environment & Development efforts

개발 참여자들의 해당 운영체제 아래서의 어플리케이션 개발경력와 업무경험, 비즈니스 로직에 대한 이해 모두를 만족시키는 개발자가 요구됨

어플리케이션 개발시작부터 상용화까지 '관리'의 연속

각 개발 경력자들의 경력/스킬을 별도로 관리해야 함.진행 과정에서도 특정 OS의 진행에 전체 일정 조절

각 운영체제의 특성, UI/GUI 가이드라인이 각각 다름. 시작단계부터 UI/GUI 특성에 대한 정책에 대한 결정부터.

에뮬레이터에서의 디버깅이 가능한 것은 그나마 다행. 실제단말에서의 USB를 통한 디버깅은 번거로움의 연속

개발자의 개발 이후, 관리 및 QA 조직의 테스트 환경은 과거Host, C/S, Web 과는 비교도 할 수 없는 다양한 환경필요

특정 운영체제가 상대적으로 늦은 진척율을 보이는 경우, 전체적인 진척율 지연 혹은 각각 다른 상용 오픈과 이에 따른 다중화된 관리/사용자 항의가 뒤따름

구체적인 Business Logic에 대한 이해와 구현에 집중하는 것이 아니라, 직면하고 있는 어플리케이션의 구현 가능여부, 동작의 안정성, 디버깅에 집중

아무리 유능한 엔지니어라고 하더라도 자신이 담당한 업무 이외의 타 운영체제에까지 순간 순간 지원을 오가며 자신의 일을 처리하는 것은 집중도/완성도를 저하시킬 수 밖에 없음

1990년대 후반부터의 본격적인 임베디드 분야에서의 개발/배포/관리 환경이 근본적으로 개선되거나 통합적으로 정비되지 못한 채, 스마트폰의 도래와 함께 급격하게 혼재되어 다가오고 있음. 이는 당장은 여러가지 개발업무적 기회로 비추어지고 있으나 이미 여러가지 각도에서의 피로도 증가가 나타나고 있음.

Multi-OS Embedded S/W Dev. Env.

Page 6: 어플리케이션 개발과 모바일 플랫폼

도입비용보다 배포/관리 비용이 낮은 플랫폼

Essential requirements on MEAP

운영체제에 대한 연속적/지속적 확장이 구조적으로 가능함이 보장되어 있는 플랫폼

단일 개발/테스트 환경(단일 Desktop 운용체제)에서 모든 운영체제의 어플리케이션에 대한 Runtime 디버깅 환경 지원

기존 어플 개발환경 즉 운영체제 제공의 에뮬레이터 기반의 개발환 경과의 직접 연동된 디버깅/테스트 환경 지원

에뮬레이터/단말은 물론 필요시 원격으로 사용자/최종 소비자 단말 에 대한 접속/디버깅 지원 (사용자 동의과정 필수)

Enterprise/In-house 배포의 경우 어플 패치가 필요 없거나 최소화 된 방식의 제공

내/외부의 각종 비즈니스 어플리케이션과의 인터페이스를 위한 http/ftp/db/file 등 다양한 프로토콜에 대한 지원

플랫폼 레벨에서의 인터페이스 유연성을 위한 XML/JSON 등 다양 한 데이터 포맷에 의한 연동 지원

RSA/SEED/SH1,2와 같은 다양한 암호화 프토토콜 지원 및 전달 메 시지의 수신/열람 확인 및 비밀번호 열람/SSL 지원

APNS, C2DM과 같은 Push 서버/Feedback 관리 시스템의 지원 및 Direct push 미지원 단말을 위한 polling 시스템지원

Stop

MEAP : Mobile Enterprise Application Platform(Framework)

Page 7: 어플리케이션 개발과 모바일 플랫폼

Recommended requirements for MEAP분야

Distance Diagnosis/Integrated Debug & Dev. Environment

현재 시장 배포 기준으로 1천만대 이상 배포되어 있는 각종 단말에 대한 지원 및 향후 시장에 일정한 영향력을 행사할 수 있는 운영체제에 대한 지원

Good items as a Mobile Platform

Mobile Web/Server Side Script 는 물론 Native application이 함께 구동되 고, 통합 관리될 수 있는 플랫폼 혹은 개발환경 통합 지원

개발/테스트 담당자의 Desktop의 운영체제(Window,Mac, Linux) 모두를 지원하는 통합 개발도구 및 기존의 보편적 IDE와의 통합(예:Eclipse)

디바이스 관리 자체가 불필요한 환경 --> 네트워크는 이미 충분히 구비 되었다.기본은 full network,

디바이스에 대한 원격데이터 초기화 수준의 관리로는 부족함. 원격 통합 관리시스템에서의 통합적 데이터 백업/복원/단말기 이전 관리 지원

Multi-OS Support/Hybrid Performance/HAL

Mobile Web/Server Side Script 는 물론 Native application이 함께 구동되고, 통합 관리될 수 있는 플랫폼

운영체제가 제공하는 UI 관련 컨트롤 및 GPS/NFC/Bluetooth 등 하드웨어 장치에 대한 Native 어플리케이션 수준의 제어 및 parameter control 지원

Device Management 주소록/SMS Message/일정/메모 등 OEM 데이터에 대한 서버차원에서의 단말/웹/데스

크톱 통합 Sync/백업/복원 지원

Repository

사용자의 repository는 언제나 훼손되거나, 삭제되거나, 무결성이 깨질 수 있다는 전제아래 데이터의 원격 복구/추적/삭제 지원 및 자동화된 복구 지원

국내외 3G 이상의 네트워크 환경에서의 full network 기반의 서비스(설정 파일을 제외한 non-local repository를 통한 서비스)를 지원

Interface

Email/SNS/RSS(ATOM)/IM 등 외부 메시징 혹은 커뮤니케이션 채널로부터의 메시지 수집 및 배포 관련 연동 지원

HTTP, RESTful, TCP/IP, FTP 등 다양한 프로토콜 기반의 인터페이스 및 JSON, XML 및 File 기반의 데이터 송수신 지원

Page 8: 어플리케이션 개발과 모바일 플랫폼

Comparison table of the MEAP

대부분 구현 가능/Custom 컨트롤 구현은 운영체제별로 구현해야 함

Sybase, Antenna, SKT SKAF, Mindware

새로운 언어학습 투자 필요OS별 엔진의 안정성/호환성 보장 필요Apple 등의 정책에 민감할 수 있음

서버 차원에서의 단일화된 관리 가능

불필요

가능(개별 어플별 touch 필요)

재활용성 높음

어플 개발 생산성이 높으며 별도 어플 배포/사후 관리 불필요

플랫폼 차원의 대처(클라이언트 엔진 변경 이외의 대처 불필요)

부분적 지원 --> 지원범위 확대

하나의 코드로 native 수준의 어플 생성실시간 디버깅/원격 디버깅 지원클라이언트별 배포관리 불필요

운영체제별 컨트롤/UI 제어 가능한 실행 엔진을 개발한 후 표준 코드를 이용한 개발 후 이를 클라이언트에서 동일하게 실행

Runtime Engine 기반

특정 운용체제용 코드 혹은 비표준 코드를 이용한 개발 후 타운영체제용으로 transcode 혹은 Compiler에 의한 빌드

플랫폼 차원의 대처 및 배포된 클라이언트 검증필요

하나의 코드로 복수 운영체제 어플의 동시 지원코드/형상관리 용이

버전 및 배포관리 필요

코드 변환

가능(개별 어플별 touch 필요)

어플 개발의 생산성은 높으나 별도의 어플 배포/사후관리

실시간 디버깅 불가능난이도/복잡도 높은 어플 개발에 한계/retouch 과도한 발생OS별 배포관리 필요가장 낮은 퍼포먼스 불가피

거의 불가능

운영체제 전체 기능 활용운영체제/단말 최적화 개발실시간 디버깅 지원

OS API 활용도

구현기술만 지원된다면 제약이 존재하지 않음

OS 컨트롤 지원

해상도 변화

OS별 SDK/API를 이용한 개발/배포/관리

제약 없음

버전 및 배포관리 필요

별도 어플의 개발/배포 및 사후 관리 필요

가능

단점요약

장점요약

Mother's App. SK C&C

독립적 어플리케이션 개발

개발/구현 요약

국내외 독립개발자 및 기업 대부분

부분적 지원 --> 지원범위 확대

어플리케이션 개별적 대처(대부분 하위 호환성 보장)

항목

OS 버전 변화

배포관리

각 운영체제별 별도 관리 필요

기존소스/타 운영체제 코드 재활용성

오프라인/데이터 동기화

재활용성 낮음(코드변환 매핑 룰에 포함된 경우에만)

대부분 구현 가능/Custom 컨트롤 구현은 운영체제별로 구현해야 함

가능(가장 정교한 관리 가능)

다중 운영체제 지원시 높은 개발/배포/관리 비용사후관리/응대가 지속적 증가할 수 밖에 없음플랫폼화에 한계(라이브러리/템플릿 Pool )

장치 하드웨어에 제어

주요 솔루션사

HTML5의 모바일 브라우저 도입과 각종 API의 최종 표준결정이 어느정도 가시화 된 시점에는 가장 대표적

이며 유력한 플랫폼 가운데 하나인 모바일 웹과의 비교는 별도의 문서 및 첨부된 참조문서 참조

Page 9: 어플리케이션 개발과 모바일 플랫폼

Scorecard for selection of Enterprise Mobile Platform

1스마트폰은 물론 데스크탑과 각종 non smartphone/SetTopBox(SmartTV) 등 기기에 대한 제약 없는 확장성에 대한 구조적 검증여부

100

2에뮬레이터/단말 및 원격 단말에 의한 디버깅 등 통합 개발환경 및 개발 이후의 테스트- 검증/운영/유지보수/관리에 대한 통합 지원

90

3기능상의 추가/디버그 등의 사안 발생시마다 새로운 App.의 빌드 및 배포와 버전관리 최 소화/자동화/최적화 등 통합 관리 방안의 지원여부

80

4모바일 기기 특성과 장점인 동시에 문제점인 데이터 및 송수신 관련 정보의 암/복호화 및 송수신은 물론 열람 여부에 대한 추적과 확인 등 암호/부인 방지기능에 대한 지원여부

70

5모바일 플랫폼의 향후 주요 플랫폼으로 예정된 HTML5 및 OMA DM 등 각종 산업/기술 표준의 수용방안 및 Hybrid 방안에 대한 고려/방안 제공 여부

60

6어플리케이션 플랫폼 고유의 기능은 아니지만 모바일 기기의 특성을 고려한 통합 메시징 (SMS/MMS/Email/IM/SNS/Blog 등) 및 Push 관련 서버플랫폼지원

60

7Platform이 항상적으로 요구받고 있는 내외부 시스템과의 연동을 위한 LDAP/ERP/BI/ Messaging/EP/EDM 등과의 인터페이스를 위한 각종 프로토콜 및 데이터 포맷에 대한 확장성 있는 지원 여부

50

배점은 작성자의 주관적 판단에 따라 작성되었음. 다만 관련 산업의 리딩그룹 및 리서치 회사들의 모바일 플랫폼 관련 언급 즉 Sybase, SKY Technology, AntennaSoftware, Gartner 등의 자료에서 언급된 빈도 및 강조점 등을 참조하여 작성

[High priority issues only]

Page 10: 어플리케이션 개발과 모바일 플랫폼

HTML5는 Mobile Web과 기존의 유선 중심의 Web의 통합을 가져올 수 있는 강력한 산

업표준이 될 것현재 W3C에서는 Mobile Web이 갖고 있는 자기 장점을 확장하고, 단점으로 지적되고 있는 제약에 대한 확장/표

준화 노력을 기울이고 있으며, 구체적으로는 6개의 Working Group 에서 위에서 언급된 문제점과 제약들을 극복

하기 위해 노력. 이러한 노력들은 국제표준화라는 이해관계 조절에 제약에 따라 다소간의 시간이 걸리는 자체의

제약이 존재하는 것이 사실이지만, 오히려 이는 향후 강력한 힘을 갖게 될 것.

현재 W3C에서 Google 등의 참여를 통해 진행되고 있는 Working Group은

1. HTML

2. Web Applications

3. Device APIs & Policy

4. Geolocation

5. Web Notification

6. Web Events

등 6개 분야에서 웹이 갖는 디바이스

제어에 대한 제약과 같은 한계를 넘

어서기 위한 표준화 노력이 계속되고

있다.

HTML5 in MobileWeb & Messaging platform on mobile

Appendix

Extras: Box Links: Related Tags월간 메시징 사용규모( 2010년 기준/유무선 )

Blog Post : 0.22 억건

Twiiter Post : 21 억건

MMS : 6,000 억건

SMS : 41,000 억건

Email : 80,000 억건

IM 채팅 : 130,000억건