jco 제 12회 자바컨퍼런스 - paas for business expert (부재: gae 오픈소스로...

55
비비비비 비비비비 비비 PaaS 비비비 비비 비비 유유유 유유유유 유유유유 유유유 [email protected]

Upload: uenginesolutions

Post on 10-May-2015

811 views

Category:

Technology


8 download

TRANSCRIPT

Page 1: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

비즈니스 전문가를 위한 PaaS 플랫폼 구축 전략

유엔진 오픈소스 프로젝트 장진영[email protected]

Page 2: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

강사소개 : 나도 7 ㅐ발자다

• 초등학교때 GW-Basic• 중고딩 : Pascal, C, Asm• 96 년 부터 Java • 2000 년 초 방황• 2003 년 오픈소스 BPMS 개발 & 공개• 2007 년 창업 , BPM 컨설팅• 2009 년 JCO 첫 발표• 2011 년 오픈소스 PaaS 에 필받음• 2012 년 JCO 에 오픈 PaaS 공개

Page 3: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

오늘의 스토리

• Google App Engine 같은 PaaS 플랫폼을 만들어 보고싶어진 개발자가 있었다…

• 적을 알고 나를 알고 , 잘 정리된 요구사항을 뽑기 위해 ‘ 모두 다 되는 기능목록’ 을 ( 맥가이버 칼 ) 뽑기에 이르는데…

• 결국 그것은… 망할 징조 ..? 라는걸 깨닫고 ..

• 분명한 차별성을 가져야 하며 , 많은 이에게 ‘ 돈’ 이 될만한 것을 만들자 . 비즈니스 목적성을 잃지 않아야지… 라는 깨달음을 얻는다 .

• 고군분투… 혼자서 모든 것을 구현할 수 는 없다 . 하지만 아키텍처는 거의 혼자서 수립해야 한다 .

• 그리고 결국 플랫폼의 알파버전을 완성하여 개발자 행사 당일 그것을 오픈하려하는데…

Page 4: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

PaaS 를 해야겠다 – Google App Engine

- 페이지번호 -

http://www.youtube.com/watch?v=shsBhM6LSns&feature=player_em

bedded

Page 5: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

PaaS 의 정의

PaaS 는 개발환경과 API 레벨에서의 가상화

- 페이지번호 -

What are PaaS users looking for?

Page 6: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

PaaS 의 정의 - 예시

Play My Code 는 웹상에서 바로 게임을 개발 , 경연 , 서비스 한다 .

- 페이지번호 -

클라우드 IDE 를 위해서는 코드 보안성이 중요하다

Page 7: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

PaaS Reference Architecture – Gartner’s

- 페이지번호 -

Page 8: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

- 페이지번호 -

PaaS Reference Architecture – Forrester’s

Page 9: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

PaaS 의 시장의 플랫폼 전쟁

( 독점적 ) PaaS 제공자들의 영토전쟁

- 페이지번호 -

Page 10: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

- 페이지번호 -

PaaS Reference Architecture – Forrester’s

Page 11: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

- 페이지번호 -

PaaS Reference Architecture – Forrester’s

Page 12: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Platform Business Strategy

- 페이지번호 -

• Step1:Lock-in: becoming loyal & subordinaring

• Step2:Churn-in: fishing by social networks

• Step3:Cross-Selling: 새로운 것을 살짝 : releasing new services

• Step4:Up-Selling: free to free-charging

Open Standard and global interoperability

Page 13: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 의 기회 !

PaaS 는 이식성 , 표준성이 따라주지 않으면 기업에 도입하기 힘들다 .

- 페이지번호 -

Page 14: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Nice 한 PaaS 가 되기 위해서 필요한 것은 ..

선택과 집중…( 각자를 연결해 보세요… )

- 페이지번호 -

Nice PaaSPlatform

Open SourceOpen Architecture

Security & Quality

Model-DrivenTooling

Social BusinessSupport

Portability Governance

Cloud ALM

APM

UX

Social Coding

GamificationRIA

Builders

N-ScreenSupport

BPM/BRE/BI

Page 15: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

PaaS for Business Expert

비즈니스 목표 중심의 어플리케이션 구현은 모델 중심의 아키텍처를 가져감

- 페이지번호 -

비즈니스목표

기능목표

구현목표

소스코드

사업계획

스펙문서

모델중심

Page 16: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

PaaS for Business Expert

비즈니스 전문가를 위한 PaaS 가 뜬다 .

- 페이지번호 -

PaaS for Business ExpertMorgan Stanley 클라우드 시장 전망 (2011)

2015 년 이후 독립적인 PaaS 가 시장 주도

확장형 PaaS 의 높은 시장가치 전망 (50 억불 시장 )

• 현재 PaaS 는 SaaS 혹은 IaaS 에 종속적이나 향후 2~3 년 이내에 PaaS 자체가 클라우드 시장을 주도할 전망

Page 17: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

• 비즈니스 프로세스 모델링과 Orchestration 을 통해 플랫폼 독립적이고 Loosely coupled 된 비즈니스 애플리케이션 개발

Ref) Gartner research

PaaS for Business Expert

BPaaS 는 Process Orchestration Approach 를 추구한다 .

Page 18: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

IBM’s SOA Maturity Model – Level 7

Process Orchestration ApproachPaaS for Business Expert

BPaaS 는 SOA 의 성숙도 수준을 모든 IT 조직에 균등한 품질로 유지할 수 있도록 한다

Page 19: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

새로운 오픈소스 프로젝트 – Open PaaS

프로젝트명 : 미정 ( 지금까지는 .. “ 프로세스 코디” & “메타웍스” )라이센스 : 오픈소스 라이센스 (MIT)개발시점 : 2011 년 9 월 부터 ~목표 : 국내 개발자 중심의 오픈소스 PaaS 플랫폼프로젝트 위치 :

범위 :

1.Cloud IDE java and javascript, and multi-language support2.Cloud ALM (Application Lifecycle Management)3.Application Platform WAS, security, mongo DB, structured DBMS, cache4.Integration PlatformEAI, SOA, REST mashup5.Model PlatformBPM, BRE, BI6.UI FrameworkModel-driven UI, POJO support- 페이지번호 -

http://code.google.com/p/metaworks3/

Page 20: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

사용언어 – 당연히 ? Java!

- 페이지번호 -

• 1. Isolation 이 쉽다 :VM 재기동이 용이하다 , 클래스 로더 구조가 쉽게 App영역과 플랫폼 영역을 나누기 좋다 .

• 2. 멀티 언어를 지원한다 :자바 플랫폼 위에서 BSF (Bean Shell Scripting Framwork) 같은 것은 거의 대부분의 스크립팅 언어를 지원해주어 개발자들을 포용하기 좋다 (JRuby, Javascript, Python, VBScript…)

• 3. 코드주입 및 컨트롤이 용이하다미터링 , 빌링 , 보안 등의 처리를 일관화하기 좋은 BCI, AOP 등의 도구들이 잘 제공된다 .

• 4. 개발자가 많다 . 자체가 생태계를 갖고 있다 .

Page 21: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Multi-Tenancy SupportAuto-Scaling

Metering / Logging / Authentication

Process Codi PaaS Platform

Your App

여러분의소셜 코딩의 힘으로 !!!

HTML5 및 메타데이터 기반 N-Screen 지원

BPM, ESB, CEP 등 SOA 아키텍처 제공

Open Flamingo

어플리케이션 및 데이터베이스 서버

클라우드 IDE

Open PaaS 의 아키텍처와 참여자

- 페이지번호 -

Your App Your App

Page 22: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현 노트

클라우드 IDE – 객체 유형

- 페이지번호 -

• 클래스• 자바 리소스• HTML• 자바스크립트

• 엔티티• DAO

• 프로세스

• 룰• 디시젼 테이블• 디시젼 트리

• 폼

Page 23: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현 노트

클라우드 IDENo SDK, IDE, Sandbox, Converter

- 페이지번호 -

• 순수웹기반 IDE Ace Editor 사용• Java7 컴파일

javax.JavaCompiler 사용

• 실행 및 동적클래스 변경

Janino 의 JavaSourceClassLoader 사용

• 코드 어시스턴스 mw3 사용• 컴파일 오류 시스템 접근 클래스

( 파일시스템 ) 등의 사용을 차단

• PMD 기반 오류 잘못 유입될 무한반복코드 등을 차단

Page 24: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현 노트

어플리케이션 플랫폼

- 페이지번호 -

엔티티 디자이너 및 DAO 생성기

1. DB접근은 JDBC 라이브러리를 제공하지 않기 때문에 직접 접근하지 못하고 대신 JPA 표준으로 DAO 를 생성하여 표준을 맞추고 ORMapping 기능은 메타웍스 3 이 수행함

2. 데이터 접근에 관한 일종의 Proxy 를 두기 때문에 미터링 , 빌링이 가능한 데이터를 플랫폼이 수집하게 됨

Page 25: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현 노트

어플리케이션 플랫폼

- 페이지번호 -

Mongo DB (unstructured DB)

1. 몽고 DB 를 접근하는 API 를 Spring 으로 Autowired 하여 사용할 수 있음 .

2. 직접적인 몽고 DB API 접근은 메인 클래스로더에 의하여 차단됨3. Spring 을 경유하여 사용해야 하기 때문에 미터링과 빌링을 Advisor

에 의하여 처리함4. ThreadLocal 에 의하여 진입시점에 가입자 ( 태넌트 ) 에 대한

메타데이터가 들어오기 때문에 이를 기반으로 미터링 할 수 있게됨5. Spring 자체의 설정 기능을 제공하고자 하는 경우는 Spring대신에

Jboss 의 Byteman 을 사용할 수 있음

Page 26: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현 노트

UI 프레임워크 – 메타웍스 3

- 페이지번호 -

• Cloud IDE UI 의 많은 부분은 객체묘사정보에 의하여 자동화 처리되어야 함

• 이때문에 이클립스도 SWT와 같은 UI 프레임워크를 기반하고 있음

• 최근 이클립스의 Orion 프로젝트

PaaS 구현에 있어 의외로 매우 중요한 하부 요소임

1. 내부적으로 DWR 을 통하여 자바 -자바스크립트간 RMI 를 처리

2. EJS 템플릿 언어를 기반하여 클라이언트 -사이드에서 JSON 을 HTML 로 렌더링하여 표준기반의 빠른 RIA 를 생성할 수 있음

3. 기존에 사용하던 자바스크립트 및 자바 컴포넌트를 어노테이션 (@) 기반으로 래핑하여 메타웍스 3 컴포넌트로 빠르게 포장할 수 있음

Page 27: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현 노트

UI 프레임워크 – 메타웍스 3메타웍스 3 컴포넌트 래핑 예시 – 구글 챠트 컴포넌트

- 페이지번호 -

자바 = 모델 HTML = Face

자바스크립트 = FaceHelper

Page 28: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현 노트

UI 프레임워크 – 메타웍스 3메타웍스 3 컴포넌트 래핑 예시 – 구글 챠트 컴포넌트

- 페이지번호 -

자바 = 모델

Page 29: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현 노트

UI 프레임워크 – 메타웍스 3메타웍스 3 컴포넌트 래핑 예시 – 구글 챠트 컴포넌트

- 페이지번호 -

HTML = Face

Page 30: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현 노트

UI 프레임워크 – 메타웍스 3메타웍스 3 컴포넌트 래핑 예시 – 구글 챠트 컴포넌트

- 페이지번호 -

자바스크립트 = FaceHelper

Page 31: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현 노트

UI 프레임워크 – 메타웍스 3컴포넌트 조합 – 화이트박스 사용

- 페이지번호 -

Import assistance 로 빠르게

컴포넌트 import

동적 컴파일 & 클래스 로딩으로 바로 실행결과 확인

Page 32: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현 노트

UI 프레임워크 – 메타웍스 3컴포넌트 사용 – 블랙박스 사용

1.멀티태넌트가 각자의 리소스를 등록 가능토록 하려면 객체에 어노테이션 @Resource 를 부여2.컴포넌트 사용시엔 템플릿에 채워넣기 식으로 리소스나 설정 변경만으로 사용할 수 있음

- 페이지번호 -

컴포넌트 저작시 컴포넌트 사용시

Page 33: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현 노트

클라우드 IDE - 모바일 시뮬레이션 – 폰갭

- 페이지번호 -

• Phonegap.js 를 시뮬레이션 해줌

• 빠르게 웹앱을 테스팅 한 후 실제 타겟 디바이스에 맞추어 프로젝트를 export 시켜 사용

• 진동기 , LBS, 카메라 등 대부분의 폰갭 디바이스 접근 JS API를 시뮬레이션시킴 ( 로드맵 )

Page 34: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현 노트

모델 플랫폼

- 페이지번호 -

• 업무 전문가가 최대한 쉽게 다룰 수 있도록 비즈니스 규칙 변경을 용이하게 함

보험료 산출 , 금융대출심사 , 투자리스크관리 등 광범위하게 적용됨

• 웹기반 룰디자이너

mw3 기반 개발

• 동적 실행• 프로세스와 연계

비즈니스 규칙 편집 및 실행기 (BRMS & BRE)

Page 35: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현 노트

모델 플랫폼

- 페이지번호 -

• 업무 전문가가 룰과 클래스들을 업무 프로세스와 연결하여 비즈니스 환경변화에 적응력을 높힘

• 현재 기존 유에진 프로세스 디자이너를 확장

순수웹으로 4 월 정도 전환 예정

• 동적 실행

비즈니스 프로세스 디자이너 ( 매시업 ) 및 엔진

Page 36: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현노트 – 차별성 : Infra 의 공유를 넘어

- 페이지번호 -

SOA 아키텍처를 ‘공유’ (or Lease) 하다

Serv

ice C

on

sum

er

Business Processe

s

Services

개발협의 /계획프로세스

Proto 설계검증 프로세스

양산 /이관프로세스

Serv

ice P

rovid

er

Application

Service Compone

nt

E 메일

cBOMcBOM 경영전략정보

경영전략정보 경영분석경영분석 LegacyLegacy

계약현황사업계획

통계자료

구매계약

연구현황

협업허브

2.0

포탈

BPM

(uEngine)

ESB

(Serv

ice M

ix)

.NET c

omponent

Java

com

ponent

Database

&

Applicatio

n

Business Processe

s

개발협의 /계획프로세스

Proto 설계검증 프로세스

양산 /이관프로세스

Application

Service Compone

nt E 메일

cBOMcBOM 경영전략정보

경영전략정보 경영분석경영분석 LegacyLegacy

계약현황

사업계획

통계자료

구매계약

연구현황

협업허브

2.0

포탈

BPM

(uEngine)

Service Composite Service

.NET c

omponent

Java

com

ponent

Database

&

Applicatio

n

•표준 /비표준 인터페이스 혼재•연동 발생 시 마다 개발자 개입 불가피•높은 결합도 ( 직접접근 ) 로 인한 아키텍처 재수립

•표준 인터페이스 (SOAP) / 동적 연동 등이 가상화됨 •비즈니스 분석가가 필요한 연동을 수행•아키텍처도 빌려쓰면 편하다

프로젝트 1 프로젝트 2 프로젝트 3

구매계약통계자료

프로젝트 1 프로젝트 2 프로젝트 3

Page 37: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현노트 – 차별성 : 보안 관점

Public Cloud 와 Private Cloud 입장에서 각각 바라본 ‘ 보안’

- 페이지번호 -

Public PaaS 의 입장 – 불순함 ?의 방어

1. 파일 시스템 등 시스템 리소스에의 접근 e.g. 포맷시도2. java.lang.System 클래스가 보유한 다양한 시스템 함수의 남용3. 무한루프4. SQL injection5. …

Private PaaS 의 입장 – IT 거버넌스

1. 코드의 균일한 품질2. 사용하지 않기로 약속한 라이브러리 차단3. 테스팅을 거쳐야만 제출4. 애자일 방법론 적용 – 회고시간에 IDE 를 차단 , 회고를 작성하게 유도5. 코드의 외부 유출 차단

Page 38: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현 노트

어플리케이션 플랫폼

- 페이지번호 -

Security Framework

CodiClassLoader (extends Janino + javax.ClassCompler)( 동적 클래스 로딩 )

CodiDwrServlet ( 모든 외부 접근의 경로 )

Compiled User App(class files

In-memory)

Cloud IDE

User App Source (*.java)

PMD 정적분석(무한반복 등 점검 )

<< 빌드타임 >> << 런타임 >>

컴파일

업로드된라이브러리

(jar)

SecurityManager (패키지 차단 , 파일 접근 차단 )

BCI 기반의 보안 및 과금 로직 주입 (Javassist 로 구현 )

Page 39: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현 노트 - SecurityManager

Page 40: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현 노트 – BCI 기반 보안 코드 주입

Page 41: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현 노트 – BCI 기반 보안 코드 주입

secured.classmethods=

java.io.File.createNewFile, java.io.File.delete, java.io.File.list , java.io.File.listFiles, java.io.File.renameTo, java.io.File.mkdir, java.io.File.mkdirs, java.lang.System.setOut, java.lang.System.load, java.lang.System.loadLibrary, java.lang.System.setOut, java.lang.System.setProperties, java.lang.System.setErr, java.lang.System.setSecurityManager, java.lang.System.getSecurityManager

Page 42: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Open PaaS 구현 노트 – Metering Billing by Spring AOP

Page 43: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

예제 어플리케이션

금융권

- 페이지번호 -

• 금융 대출 심사 ASP 서비스 – 프로세스 자동화와 룰엔진의 결합 등 모델 플랫폼을 쉽게 관리하여 서비스를 할 수 있는 분야

소셜 비즈니스 어플리케이션

• 소셜네트워크와 연결된 기업의 오픈이노베이션 , 협업 등의 어플리케이션• 소셜커머스 어플리케이션• 소셜네트워크게임

모바일 비즈니스 어플리케이션

• 웹앱 모바일 어플리케이션 – 상대적으로 비즈니스용도에 적합

Page 44: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

플랫폼 활용 패턴1 – 비즈니스 적용

직접 고객

- 페이지번호 -

• 기술구현보다는 비즈니스 모델 구현에 집중하고 싶다• 커스터마이징이 용이한 환경이 필요하고 벤더 종속이 되기 싫다• 조직 전반의 IT 거버넌스 이슈를 쉽게 관리해야 한다

– IT 프로젝트 마다의 개발기 및 미들웨어 설치 /교육 /관리 비용

플랫폼 제공자

• 자체 플랫폼에 대한 개발자를 빠르게 끌어들이고 싶은 경우 클라우드 IDE와 소셜 코딩 개념을 통하여 빠르게 플랫폼 확산효과를 보고자 할때

Page 45: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

플랫폼 활용 패턴2 – 오픈소스 프로젝트 or 커뮤니티내 웹사이트나 오픈소스 프로젝트를 갖고 계신분

- 페이지번호 -

• 내 사이트에서 친구들이 코딩을 직접 해보면서 서로 대화하는 공간으로 만들자

몽고 DB 는 웹상에서 직접실행가능한 쉘을 익명 유저에게도 제공한다 .

Page 46: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

참 , 구현이 중요한게 아니라 플랫폼이 성공할까 ?

개발자들이 써야 한다

- 페이지번호 -

• 진입 장벽이 낮아야 한다 . 클라우드 IDE 로 조금 극복• 재미있어야 한다 . • 지속적으로 흥미를 잃지 않도록 유지시켜야 한다 .

개발자들이 들끓어야 한다 .

• 서로 경합하거나 , 자극이 될 수 있어야 한다• 서로 부족한 면을 보완할 수 있으면 좋다 집단지성 ?• 달성하고 , 성공하는 모습이 최대한 공유될 수록 좋다

Page 47: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

Gamification 의 사례 – Heroku.com

- 페이지번호 -

• 눈을 의심하지 마세요 .. PaaS 플랫폼의 UI랍니다

개발 운용에 필요한리소스들을 게임 아이템처럼보여주는 대시보드

Page 48: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

소셜코딩 지원

이왕 웹상에서 컴파일 , 실행이 다되는 마당에 페이스북에서 코딩 못할 것 없지 않은가 ? 친구중에는 훌륭한 경험을 갖고 있어 문제해결을 빨리 해줄 수 있다 .

Page 49: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

소셜코딩 지원

소셜 코딩에 고려사항들 어느 수준까지 공유할 것인가 ?

•해당 개발 아이템 팔로워 •해당 개발 아이템 팔로워의 친구•전체 공개 ( 플랫폼 팔로워 )

보안 문제는 어떻게 할 것인가 ?

•외부화 한 문제 해결의 경우 접근 리소스 설정( 예 : 데이터소스는 접근 못함 등 )•PMD 룰 설정 통한 특정 표현 잠금

수많은 Submit 들을 모두 테스팅 할 것인가 ?•테스팅 자동화 프로세스 – 요건 정의시

평가 보상은 어떻게 할 것인가 ?• 평가 보상 프로세스 자동화

프로세스 기반 ALM 의 필요성(Application Lifecycle Management)

Page 50: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

유사한 접근

오픈소스 PaaS

•AppScale : a GAE open source clone

소셜 코딩 & 클라우드 IDE

•Github•Cloud9 IDE•Eclipse Orion

PaaS for 비즈니스 전문가

•Cordys•Run-my-workflow (in Google App Market)•WorkXpress

- 페이지번호 -

Page 51: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

로드맵 - 개발측면

국내외 오픈소스 BI 플랫폼 통합•맵 - 리듀스 엔진 및 매시업 툴인 ‘ 오픈플라밍고’ 통합•맵 - 리듀스 Trigger 프로세스 액티비티 개발•Olap4Cube – Hive 기반 OLAP server 통합

클라우드 IDE + 사례기반 KM/ 추천 시스템•라인디버깅 지원•개발자가 닥친 상황의 실시간 분석 해결방안 추천•Line-By-Line Locking 채팅기반 협업 코딩•100% 폰갭 시뮬레이션

샘플 어플리케이션•Best Practices – 금융 , 제조 , 소셜앱 , 모바일 앱 등•웹표준 기반 RIA applications – mw3 의 기능은 어디까지가 한계이며 , 어디까지 추상화되는가 ?

- 페이지번호 -

Page 52: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

로드맵 – 그 외

홍보 및 에반젤라이징 활동•컴포넌트 / 앱 경연 레포지토리 구축•관련 국내외 커뮤니티 리더의 참여 의뢰•페이스북 코딩 어플 •프로젝트 명칭 공모•트레이닝 투어 – 관심있으신 학교와 기업은 등록해주세요 무상교육실시

문서화•문서 및 동영상 오픈 – Slideshare and 유튜브•오픈 문서화 프로세스

테스팅•IaaS 환경 테스팅•보안 뚫기 – Hack the Open PaaS ? 행사•개발기 - 운영기 분리 – 운영기는 OpenShift / AppScale 등과 연결 테스팅

- 페이지번호 -

Page 53: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

(저의 ) 교훈 : Requirements of nice PaaS

A Nice Platform

Open SourceOpen

ArchitectureSecurity &

Quality

Model-DrivenTooling

Motivation

Portability Governance

Cloud ALMAPM

UX

Social Coding

GamificationRIA

Builders

N-ScreenSupport

BPM/BRE/BI

Cloud IDE

Page 54: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)

플랫폼 비즈니스 … 집단지성이 필요합니다 .

오픈 이노베이션 기반의 플랫폼을 고민하시는 분들…저를 친구로 추가해주세요 ^^

- 페이지번호 -

혹은

페이스북 그룹명 “ 메타웍스 3 스터디” 로 검색해서 그룹에 가입

Page 55: Jco 제 12회 자바컨퍼런스 - PaaS for Business Expert (부재: GAE 오픈소스로 따라잡기)