SlideShare a Scribd company logo
1 of 58
2015 OCE Specification Draft
Open Cloud Engine Initiative
www.opence.org
• Use Cases
기능설계겸 아키텍처안
• Outline:
– OSGi 와는 2015년에는 결별한다. (2016 이후 고려)
– Docker(현재의 OSGi 역할로) + Tomcat (JBoss 등) 로 간다.
– 애플리케이션 구조는 OSGi에서 일반적 Spring 기반 war를
deploy하는 maven archetype
– Full 시나리오: Migrator (Minute) -> Vaadin & JPA 생성
-> [클래스 수정 (UML) -> 자바반영] -> 디자인 수정 ->
앱 완료 -> 프로세스 연계
– Bahamas (레스토랑?) 과의 관계: CF에서의 BOSH의 역할
부여. ServiceBroker 의 기능이 없기 때문에 이 부분은
garuda 혹은 bahamas 에서 구현되어야 할 부분으로 보임.
– 오히려 cloud migration과 BSS 관점을 부각
Developer Portal
Zone
Bahama
Application Instance
Zone
Service Instance
Zone
Chef Server
Any IaaS
Recipes
The big picture
Developer Portal Zone Application Instance
Zone
Developer Portal Server (Tomcat)
Codi
(SNS/
Cloud IDE /
Migrator /
Marketplace/
SelfSVC/
Metering/Billing)
CI
(Jen
kins)
SSO
(CAS)
SVN/Git
Server
Nexus (App Repo)
*.war
Cloud Controller
App Instance
1
2
3
4
5
App Instance
App Instance
Build Time Support
BPM
Serv
er
DB
Brows
er
(올챙
이)
Application Instance Zone
Router (HA Proxy
Instance 1
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
Docker 2
(Tomcat)
AppB.war
Instance 2
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
Docker 2
(Tomcat)
AppB.war
Instance 3
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
MQ
Cloud Controller
Provisioning
Agent
1
2
3
Operation Time Support (Provisioning)
Application Instance Zone
Router (HA Proxy
Instance 1
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
Docker 2
(Tomcat)
AppB.war
Instance 2
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
Docker 2
(Tomcat)
AppB.war
Instance 3
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
MQ
Cloud Controller
1
2
Docker 2
(Tomcat)
AppB.war
create
Docker 2
Load
Full
Operation Time Support
(App Scale out)
Application Instance Zone
Router (HA Proxy
Instance 1
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
Docker 2
(Tomcat)
AppB.war
Instance 2
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
Docker 2
(Tomcat)
AppB.war
Instance 3
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
MQ
Cloud Controller
1
2
Docker 2
(Tomcat)
AppB.war
create
Docker 2
Dead
Operation Time Support
(App Fail-over)
Application Instance Zone
Router (HA Proxy
Instance 1
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
Docker 2
(Tomcat)
AppB.war
Instance 2
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
Docker 2
(Tomcat)
AppB.war
Instance 3
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
MQ
Cloud Controller
Docker 1
(Tomcat)
App-
A.war
Docker 2
(Tomcat)
AppB.war
(Tomcat)
App-
A.war
Docker 2
(Tomcat)
AppB.war
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
Docker 2
(Tomcat)
AppB.war
New Instance
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
Docker 2
(Tomcat)
AppB.war
Bahama / Chef Server
4
5
create
Anymore Room!
Min # of instance
Max # of instance
Instance Pool Scale out
Application Instance Zone
Router (HA Proxy
Instance 1
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
Docker 2
(Tomcat)
AppB.war
Instance 2
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
Docker 2
(Tomcat)
AppB.war
Instance 3
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
MQ
Cloud Controller
New Instance
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
Docker 2
(Tomcat)
AppB.war
Remove
Min # of instance
Not that
much
Request
1
2
Operation Time Support
(Instance Pool Scale in)
Application Instance Zone
Router (HA Proxy
Service
Instance
Zone
Database
Memory
Cache
FastCat
…….
Service
Broker
Service
Broker
Service
Broker
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
Docker 2
(Tomcat)
AppB.war
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
Docker 2
(Tomcat)
AppB.war
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
Docker 2
(Tomcat)
AppB.war
Provisioning
Agent
Docker 1
(Tomcat)
App-
A.war
Docker 2
(Tomcat)
AppB.war
MQ
Cloud Controller
1
2
Operation Time Support
(Service Brokerage)
Developer Portal Zone
BPM Server
Operation Time Support
(Integration via MSA / CSB)
Application Instance Zone
Router (HA Proxy
Provision
ing
Agent
Docker 1
(Tomca
t)
App-
A.war
Docker 2
(Tomca
t)
AppB.wa
r
Provision
ing
Agent
Docker 1
(Tomca
t)
App-
A.war
Docker 2
(Tomca
t)
AppB.wa
r
Provision
ing
Agent
Docker 1
(Tomca
t)
App-
A.war
Docker 2
(Tomca
t)
AppB.wa
r
Provision
ing
Agent
Docker 1
(Tomca
t)
App-
A.war
Docker 2
(Tomca
t)
AppB.wa
r
MQ
Cloud Controller
External Cloud
Services
REST Service
of AppA
SOA Service
Of AppB
REST/SOA Service
Of External Apps
Cloud IDE’s
BPMN
Modeler
Multi-tenancy Support
Developer Portal Zone
Metadata Server
Application Instance Zone
Router (HA Proxy
Provisioning
Agent
Docker 1
(Tomcat)
App-A.war
Docker 2
(Tomcat)
AppB.war
Provisioning
Agent
Docker 1
(Tomcat)
App-A.war
Docker 2
(Tomcat)
AppB.war
Provisioning
Agent
Docker 1
(Tomcat)
App-A.war
Docker 2
(Tomcat)
AppB.war
Provisioning
Agent
Docker 1
(Tomcat)
App-A.war
Docker 2
(Tomcat)
AppB.war
MQ
Cloud Controller
Brand for TID
Self
Service
Portal
Client
(Web
Browser
TID.service.com
Logic for TID
Metadata per
tenant
TID in ThreadLocal
Business Supporting Service:
Metering / Billing
Developer Portal Zone
Billing / Metering Server
Application Instance Zone
Router (HA Proxy
Provisioning
Agent
Docker 1
(Tomcat)
App-A.war
Docker 2
(Tomcat)
AppB.war
Provisioning
Agent
Docker 1
(Tomcat)
App-A.war
Docker 2
(Tomcat)
AppB.war
Provisioning
Agent
Docker 1
(Tomcat)
App-A.war
Docker 2
(Tomcat)
AppB.war
Provisioning
Agent
Docker 1
(Tomcat)
App-A.war
Docker 2
(Tomcat)
AppB.war
MQ
Cloud Controller
Application Log
Plan
Menag
ment /
Self
Service
Client
(Web
Browser
TID.service.com
serviceA
serviceA
serviceB
….
Billing data
per tenant
Aggregate and filter out Billing Logs
API design and protocol
OCE BSS
Service
Application
Billing /
Metering
Metadata Mgmt.
Self Service
Tenant Mgmt.
Get: app/{appId}/plan
Post: account/{accId}
Get: account/{accId}/invoices
Get: account/{accId}/metadata
IFrame: account/{accId}/selfservice
가입
테넌트특화화면
송장확인
테넌트설정변경
서비스 가격소개
Post: app/account
parameter: accountId={accId}
앱취득
• 화면설계안 (일부는 완성되었음)
User (Tenant, Provider, Operator)
SNS
SSO Tray and App Launcher
Application 영역
프로젝트 생성
유일한 앱 아이디
1. 프로젝트 등록
2. 개발자 공간 생성 (리눅
스 계정)
3. SVN 공간 생성
4. 기본 archetype 으로
maven project생성
5. Jenkins Build Job생성
(비동기로 처리)
생성된 프로젝트 커뮤니티
My First App
프로젝트를 생성중에 있습
니다
IDE
생성이 완료된 순으로
정보가 들어옴
My First App
프로젝트를 생성중에 있습
니다
IDE
클릭하면 상세한 진행
상황이 나타남
1. 프로젝트를 생성중에 있습니다
개발팀의 추가와 협업 활동
• http://wiki.opencloudengine.org/pages/vi
ewpage.action?pageId=2850835
• http://wiki.opencloudengine.org/pages/vi
ewpage.action?pageId=2850930
My First App
프로젝트 기본 정보입니다
클라우드 IDE
로 접속
IDE
기본 garuda app
archetype에 의하
여 생성됨
Getting Started Guide
1. From the scratch
2. From your existing project (Maven Only)
3. From the lagacy system (Code Gen)
See videos
다른 IDE 접근 경로
short
cuts
Run
Debug
Edit Configuration
Build
1. Maven build
2. Docker Run
3. Browse url -> to new
browser tab
실행 테스트
Run
1. 여러 개의 인스턴스로 분산된 로
그가 aggregated되어 표시됨
2. 테스트환경에서도 HA구성이 되
며 인스턴스 개수의 설정은 Edit
Configuration에서 함
실행로그출력
Maven Target 실행
Build
Tools
Code Generator
DB Browser
Shell
ShellShell Build Log
1. 개발자 홈에 접속시켜줌 (사용자
마다 코디 서버에 대하여 리눅스
계정을 준다?)
2. 개발자는 직접 mvn, svn, git등의
명령을 자신의 base dir에서 할
수 있다.
3. Docker 실행 인스턴스에 붙는 건
불필요??할듯하다.
쉘을 통하여 사용 자율성 제공
VCS
Commit
Update
Diff
…..
Shell
SVN Command Build Log
1. 특정 폴더 이하를 Commit,
Update, Diff 하는 것은 IntelliJ의
단순한 형태를 따른다.
2. Svn 자바 라이브러리 쓰는것이 복
잡하면 그냥 jsch로 명령을 보내
어 처리한다.
3. SVN command shell은 원하는 경
우 하단에 표시한다.(우선은 shell
기능 부터 주면 만약의 경우는 개
발자가 직접 붙어서 할 수 있도록
배려해준다)
버전 컨트롤
[여기서 걸림돌] 개발자 각자의 로컬 수정본
을 클라이언트 피씨에 받아서 이클립스 등에
서 사용할 수 있는 방법은?
• 클라우드 IDE가 완전한 개발 동선을 커버
하지 못하므로 중요하다.
• 혹시 git가??
• 원격 데탑에다 이클립스 올리…. X
클라우드 마이그래이션
Tools
Code Generator
DB Browser
Shell
기본 생성 애플리케이션에서 시작
Code generator는 DAO, Web Service,
UI까지 생성가능하다
(minuteProject 참고)
[생성된] UI 요소 편집
코드를 직접 편집
CustomerUI.
수준: 그냥 Editor 보다는 높은, CodeEnvy까지는 아닌..
Maven 에 주로 의존하는. 그러나 어느 정도 DB애플리케이션
은 이걸로만 개발할 수 있는
• Code Assist: Auto import for Classes and Annotations, “.”
assist, context assist(Ctrl+Space ), unimplemented
interface
• Search: Ctrl+Shift+R (by resource) / T (by type), Ctrl+f,
Search in Files, Find Usage (References…)
• Source: Setter/getter, implement interfaces
• 그밖에 꼭 있어야 할 것들만… 비용이 높아서.. Class구조
정보는 memory cache에 공유하여 빠르게…
저장시 자동 maven 빌드 (증분빌
드?)
CustomerUI.
Build
서비스 연결하기
CustomerUI.
Build
Services
Connect Service
Manage Connected Services
Connect a Service for Dev
FastCat Search
MySQL DB
keyword
……….
……
……….
……
import
연결한 서비스는
applicationContext에
applicationContext.xml.
실제 연결정보는 테스트와
운영시 동적으로 변경되므
로 의미 없음
Tools
Code Generator
DB Browser
Shell
1. 연결된 서비스로 데이터
베이스가 존재하는 경우
는 해당 커넥션이 선택되
도록 가이드된다.
2. 앱에 연결된 DB서비스가
없으면 연결하도록 기본
연결한다
데이터베이스 클라이언트
올챙이 here
가격 플랜 설정
Plan.xml
Preview
Basic
…..
100원/월
[가입]
Freemi
mum
…..
200원/월
[가입]
Pricing Plan
Run
Debug
Edit Configuration
Debug
1. 디버그 모드로 띄우면 도커내의
디버그 포트를 추가적으로 연다
2. 디버그 때는 인스턴스를 1개로 제
한 (메시지로 알려줘야 함)
3. 라인 마커 부분을 클릭하면 디버
그 포인트 토글
4. Watch/Evaluate 를 위하여 jdb
class를 직접호출하거나 system
call 하여 사용 터미널로 열어줌
(http://docs.oracle.com/javase/7/
docs/technotes/tools/windows/j
db.html)
5. Jdb의 소스코를 참고하여 개발할
수도 있
음:http://docs.oracle.com/javase/
7/docs/technotes/guides/jpda/jd
b.html
6. http://www.cs.rit.edu/~rwd/Publi
c/JavaDebugging/
디버그 걸기
도움 받기
CustomerUI.
Start Guide
API Documentation
BPMN Modeling
Community
Knowledge Base
마켓플레이스 올리기
App 등록
우측상단영역의 'Apps'를 선택 후,
'앱스토어'를 선택한다.
(http://wiki.opencloudengine.org/display/GD/App
+Store)
사용자: 앱 사용 (구매)
사용자: 셀프서비스 – 메타데이터
관리
http://wiki.opencloudengine.org/pages/vie
wpage.action?pageId=1310994
사용자: 셀프서비스 – 프로세스 관
리
 업무 전문가를 위한
실행가능 프로세스
언어 – BPMN
 GUI기반 비즈니스 룰
정의
 웹서비스 통합 (*CSB)
 비즈니스 폼
 데이터 매핑
• DB 쿼리 자동화
• SQL 툴
사용자:
사용량 및 인보이스(송장) 확인
운영자: 앱 모니터링
TO-DO
• 타 플랫폼 사례 벤치마킹
• 잘된 오픈소스가 있다면 그것을 참고
• 앱을 올렸다 / 내렸다 / 인스턴스를 늘였다/줄였다 하는 기능 등은 CF의 UI
를 참고
운영자: 바하마를 기반으로 서비스
인스턴스 및 서비스 레서피 관리
앱론처에
서 ‘바하마’
선택
SSO가 처리되어 별도 로그인 필요없음
운영자: FastCat Service 관리
• SSO가 처리되어 별도 로그인 필요없음
앱론처에서
‘FastCat’ 선택
운영자: 테넌트/앱/앱-서비스별 사
용량 및 인보이스(송장) 확인
운영자: 매출 예측 및 플랜개선 포
인트 확인
차별화 포인트
• 모델링 도구 기반의 PaaS for Business Expert 특성 강화
• Cloud Foundry 기반 (Application PaaS) 과의 연계를 통한 강력한 기반 시장 진입
클라우드 파운드리 오픈 클라우드 엔진
빅데이터 개발
플랫폼
• Hadoop 기반 도구와 클러스
터 구성
• CF 지원 내용 포함
• Web GUI (Flamingo)를 통한 데이
터 관리, 조작, 클러스터 실행
비즈니스 모델링
• 외부 서비스 연동 • 비즈니스 프로세스 모델링
• 데이터베이스 모델링
• UML 모델링/ 리버스엔지니어링
애플리케이션
개발
• 이클립스 (스프링)
• 다종언어(빌드팩) 지원
• 이클립스
• 클라우드 IDE 및 마이그래이터
• Docker기반 다중 언어 지원
애플리케이션 유
통/관리/론칭
/SSO
• 앱 마켓플레이스
• 앱론처
• SNS기반 SSO
마켓 프리센스
• IBM Bluemix, 중국 바이두 • CF 기반 구성요소들과 융합:
• BOSH기반으로 전환 (현재 chef)
• HM 활용, OSGi Buildpack 개발
시장 진입 전략
• 우리가 사용해야 한다.
• 우리의 SaaS서비스 DevOps환경으로 적용하여 일구어낸
‘문화’를 팔아야 한다.
• 이것은 1년 정도 걸릴 것으로 보인다.
• 그 사이엔 비 기술적 요인: Cross-Browsing (IE비지원에
따른 환경적 이슈) 과 비용절감 이슈로 고객에게 접근해
야 먹힌다. 클라우드라는 이름은 어렵다.
• 기존 BPM 고객과 신규고객에 끼워서 제공해야 먹힌다.
• 이후 어플라이언스 형태의 기업용 앱 단말기 처럼 판매.
• 중소 SI 기업 (제공자)에게의 특화된 무기로 판매.
Thank you

More Related Content

What's hot

What's hot (20)

[24]안드로이드 웹뷰의 모든것
[24]안드로이드 웹뷰의 모든것[24]안드로이드 웹뷰의 모든것
[24]안드로이드 웹뷰의 모든것
 
Spring boot와 docker를 이용한 msa
Spring boot와 docker를 이용한 msaSpring boot와 docker를 이용한 msa
Spring boot와 docker를 이용한 msa
 
Process Oriented Architecture
Process Oriented ArchitectureProcess Oriented Architecture
Process Oriented Architecture
 
Open source apm scouter를 통한 관제 관리 jadecross 정환열 수석
Open source apm scouter를 통한 관제  관리 jadecross 정환열 수석Open source apm scouter를 통한 관제  관리 jadecross 정환열 수석
Open source apm scouter를 통한 관제 관리 jadecross 정환열 수석
 
[26]자동화, 계륵에 살 붙이기 : Evolution of Android Automation Test
[26]자동화, 계륵에 살 붙이기 : Evolution of Android Automation Test[26]자동화, 계륵에 살 붙이기 : Evolution of Android Automation Test
[26]자동화, 계륵에 살 붙이기 : Evolution of Android Automation Test
 
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
 
Open Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS SnapshotsOpen Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS Snapshots
 
01.개발환경 교육교재
01.개발환경 교육교재01.개발환경 교육교재
01.개발환경 교육교재
 
Spring 4.x Web Application 살펴보기
Spring 4.x Web Application  살펴보기Spring 4.x Web Application  살펴보기
Spring 4.x Web Application 살펴보기
 
01.공통컴포넌트 교육교재
01.공통컴포넌트 교육교재01.공통컴포넌트 교육교재
01.공통컴포넌트 교육교재
 
[114]angularvs react 김훈민손찬욱
[114]angularvs react 김훈민손찬욱[114]angularvs react 김훈민손찬욱
[114]angularvs react 김훈민손찬욱
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos
 
iOS9 소개
iOS9 소개iOS9 소개
iOS9 소개
 
세미나 Spring mybatis
세미나 Spring mybatis세미나 Spring mybatis
세미나 Spring mybatis
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론
 
IBM JVM 소개 - Oracle JVM 과 비교
IBM JVM 소개 - Oracle JVM 과 비교IBM JVM 소개 - Oracle JVM 과 비교
IBM JVM 소개 - Oracle JVM 과 비교
 
[오픈소스컨설팅]Spring 3.1 Core
[오픈소스컨설팅]Spring 3.1 Core [오픈소스컨설팅]Spring 3.1 Core
[오픈소스컨설팅]Spring 3.1 Core
 
스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처
스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처 스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처
스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처
 
목적에 맞게 Angular, React, Vue
목적에 맞게 Angular, React, Vue목적에 맞게 Angular, React, Vue
목적에 맞게 Angular, React, Vue
 
개발자 지향 WAS : IBM WebSphere Liberty Server
개발자 지향 WAS : IBM WebSphere Liberty Server개발자 지향 WAS : IBM WebSphere Liberty Server
개발자 지향 WAS : IBM WebSphere Liberty Server
 

Similar to 2015 oce specification

마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
Amazon Web Services Korea
 

Similar to 2015 oce specification (20)

Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
 
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
 
[221] docker orchestration
[221] docker orchestration[221] docker orchestration
[221] docker orchestration
 
DevOps with AWS Edge
DevOps with AWS EdgeDevOps with AWS Edge
DevOps with AWS Edge
 
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
 
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
 
Openshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud NativeOpenshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud Native
 
마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기
 
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravelXECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
 
처음 시작하는 라라벨
처음 시작하는 라라벨처음 시작하는 라라벨
처음 시작하는 라라벨
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyond
 
Unionweb프로젝트
Unionweb프로젝트Unionweb프로젝트
Unionweb프로젝트
 
OpenStack Horizon AWS Plugin For Hybrid Cloud
OpenStack Horizon AWS Plugin For Hybrid CloudOpenStack Horizon AWS Plugin For Hybrid Cloud
OpenStack Horizon AWS Plugin For Hybrid Cloud
 
[slideshare]k8s.pptx
[slideshare]k8s.pptx[slideshare]k8s.pptx
[slideshare]k8s.pptx
 
Cloud-Barista 제1차 오픈세미나 - CB-Spider : 멀티 클라우드 인프라 연동 프레임워크(1st Open Seminar, ...
Cloud-Barista 제1차 오픈세미나 - CB-Spider : 멀티 클라우드 인프라 연동 프레임워크(1st Open Seminar, ...Cloud-Barista 제1차 오픈세미나 - CB-Spider : 멀티 클라우드 인프라 연동 프레임워크(1st Open Seminar, ...
Cloud-Barista 제1차 오픈세미나 - CB-Spider : 멀티 클라우드 인프라 연동 프레임워크(1st Open Seminar, ...
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
 
Spring one참석기 ksug
Spring one참석기 ksugSpring one참석기 ksug
Spring one참석기 ksug
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래
 

More from uEngine Solutions

More from uEngine Solutions (20)

이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기
이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기
이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기
 
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
 
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3
 
Event storming based msa training commerce example v2
Event storming based msa training commerce example v2Event storming based msa training commerce example v2
Event storming based msa training commerce example v2
 
Event storming based msa training commerce example
Event storming based msa training commerce exampleEvent storming based msa training commerce example
Event storming based msa training commerce example
 
Event Storming and Implementation Workshop
Event Storming and Implementation WorkshopEvent Storming and Implementation Workshop
Event Storming and Implementation Workshop
 
designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...
 
Microservice coding guide
Microservice coding guideMicroservice coding guide
Microservice coding guide
 
Safe cloud native transformation approaches
Safe cloud native transformation approachesSafe cloud native transformation approaches
Safe cloud native transformation approaches
 
microservice architecture public education v2
microservice architecture public education v2microservice architecture public education v2
microservice architecture public education v2
 
From event storming to spring cloud implementation
From event storming to spring cloud implementationFrom event storming to spring cloud implementation
From event storming to spring cloud implementation
 
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
 
Distributed transanction in microservices
Distributed transanction in microservicesDistributed transanction in microservices
Distributed transanction in microservices
 
From event storming to spring cloud implementation
From event storming to spring cloud implementationFrom event storming to spring cloud implementation
From event storming to spring cloud implementation
 
Micro service architecture
Micro service architectureMicro service architecture
Micro service architecture
 
Bluemix paas 기반 saas 개발 사례
Bluemix paas 기반 saas 개발 사례Bluemix paas 기반 saas 개발 사례
Bluemix paas 기반 saas 개발 사례
 
Building multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quickBuilding multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quick
 
Building multi tenancy enterprise applications
Building multi tenancy enterprise applicationsBuilding multi tenancy enterprise applications
Building multi tenancy enterprise applications
 
Metaworks4 intro
Metaworks4 introMetaworks4 intro
Metaworks4 intro
 
아키텍트대회 유엔진-장진영-Sw공학표준을 기반한 alm
아키텍트대회 유엔진-장진영-Sw공학표준을 기반한 alm아키텍트대회 유엔진-장진영-Sw공학표준을 기반한 alm
아키텍트대회 유엔진-장진영-Sw공학표준을 기반한 alm
 

2015 oce specification

  • 1. 2015 OCE Specification Draft Open Cloud Engine Initiative www.opence.org
  • 3.
  • 4. 기능설계겸 아키텍처안 • Outline: – OSGi 와는 2015년에는 결별한다. (2016 이후 고려) – Docker(현재의 OSGi 역할로) + Tomcat (JBoss 등) 로 간다. – 애플리케이션 구조는 OSGi에서 일반적 Spring 기반 war를 deploy하는 maven archetype – Full 시나리오: Migrator (Minute) -> Vaadin & JPA 생성 -> [클래스 수정 (UML) -> 자바반영] -> 디자인 수정 -> 앱 완료 -> 프로세스 연계 – Bahamas (레스토랑?) 과의 관계: CF에서의 BOSH의 역할 부여. ServiceBroker 의 기능이 없기 때문에 이 부분은 garuda 혹은 bahamas 에서 구현되어야 할 부분으로 보임. – 오히려 cloud migration과 BSS 관점을 부각
  • 5. Developer Portal Zone Bahama Application Instance Zone Service Instance Zone Chef Server Any IaaS Recipes The big picture
  • 6. Developer Portal Zone Application Instance Zone Developer Portal Server (Tomcat) Codi (SNS/ Cloud IDE / Migrator / Marketplace/ SelfSVC/ Metering/Billing) CI (Jen kins) SSO (CAS) SVN/Git Server Nexus (App Repo) *.war Cloud Controller App Instance 1 2 3 4 5 App Instance App Instance Build Time Support BPM Serv er DB Brows er (올챙 이)
  • 7. Application Instance Zone Router (HA Proxy Instance 1 Provisioning Agent Docker 1 (Tomcat) App- A.war Docker 2 (Tomcat) AppB.war Instance 2 Provisioning Agent Docker 1 (Tomcat) App- A.war Docker 2 (Tomcat) AppB.war Instance 3 Provisioning Agent Docker 1 (Tomcat) App- A.war MQ Cloud Controller Provisioning Agent 1 2 3 Operation Time Support (Provisioning)
  • 8. Application Instance Zone Router (HA Proxy Instance 1 Provisioning Agent Docker 1 (Tomcat) App- A.war Docker 2 (Tomcat) AppB.war Instance 2 Provisioning Agent Docker 1 (Tomcat) App- A.war Docker 2 (Tomcat) AppB.war Instance 3 Provisioning Agent Docker 1 (Tomcat) App- A.war MQ Cloud Controller 1 2 Docker 2 (Tomcat) AppB.war create Docker 2 Load Full Operation Time Support (App Scale out)
  • 9. Application Instance Zone Router (HA Proxy Instance 1 Provisioning Agent Docker 1 (Tomcat) App- A.war Docker 2 (Tomcat) AppB.war Instance 2 Provisioning Agent Docker 1 (Tomcat) App- A.war Docker 2 (Tomcat) AppB.war Instance 3 Provisioning Agent Docker 1 (Tomcat) App- A.war MQ Cloud Controller 1 2 Docker 2 (Tomcat) AppB.war create Docker 2 Dead Operation Time Support (App Fail-over)
  • 10. Application Instance Zone Router (HA Proxy Instance 1 Provisioning Agent Docker 1 (Tomcat) App- A.war Docker 2 (Tomcat) AppB.war Instance 2 Provisioning Agent Docker 1 (Tomcat) App- A.war Docker 2 (Tomcat) AppB.war Instance 3 Provisioning Agent Docker 1 (Tomcat) App- A.war MQ Cloud Controller Docker 1 (Tomcat) App- A.war Docker 2 (Tomcat) AppB.war (Tomcat) App- A.war Docker 2 (Tomcat) AppB.war Provisioning Agent Docker 1 (Tomcat) App- A.war Docker 2 (Tomcat) AppB.war New Instance Provisioning Agent Docker 1 (Tomcat) App- A.war Docker 2 (Tomcat) AppB.war Bahama / Chef Server 4 5 create Anymore Room! Min # of instance Max # of instance Instance Pool Scale out
  • 11. Application Instance Zone Router (HA Proxy Instance 1 Provisioning Agent Docker 1 (Tomcat) App- A.war Docker 2 (Tomcat) AppB.war Instance 2 Provisioning Agent Docker 1 (Tomcat) App- A.war Docker 2 (Tomcat) AppB.war Instance 3 Provisioning Agent Docker 1 (Tomcat) App- A.war MQ Cloud Controller New Instance Provisioning Agent Docker 1 (Tomcat) App- A.war Docker 2 (Tomcat) AppB.war Remove Min # of instance Not that much Request 1 2 Operation Time Support (Instance Pool Scale in)
  • 12. Application Instance Zone Router (HA Proxy Service Instance Zone Database Memory Cache FastCat ……. Service Broker Service Broker Service Broker Provisioning Agent Docker 1 (Tomcat) App- A.war Docker 2 (Tomcat) AppB.war Provisioning Agent Docker 1 (Tomcat) App- A.war Docker 2 (Tomcat) AppB.war Provisioning Agent Docker 1 (Tomcat) App- A.war Docker 2 (Tomcat) AppB.war Provisioning Agent Docker 1 (Tomcat) App- A.war Docker 2 (Tomcat) AppB.war MQ Cloud Controller 1 2 Operation Time Support (Service Brokerage)
  • 13. Developer Portal Zone BPM Server Operation Time Support (Integration via MSA / CSB) Application Instance Zone Router (HA Proxy Provision ing Agent Docker 1 (Tomca t) App- A.war Docker 2 (Tomca t) AppB.wa r Provision ing Agent Docker 1 (Tomca t) App- A.war Docker 2 (Tomca t) AppB.wa r Provision ing Agent Docker 1 (Tomca t) App- A.war Docker 2 (Tomca t) AppB.wa r Provision ing Agent Docker 1 (Tomca t) App- A.war Docker 2 (Tomca t) AppB.wa r MQ Cloud Controller External Cloud Services REST Service of AppA SOA Service Of AppB REST/SOA Service Of External Apps Cloud IDE’s BPMN Modeler
  • 14. Multi-tenancy Support Developer Portal Zone Metadata Server Application Instance Zone Router (HA Proxy Provisioning Agent Docker 1 (Tomcat) App-A.war Docker 2 (Tomcat) AppB.war Provisioning Agent Docker 1 (Tomcat) App-A.war Docker 2 (Tomcat) AppB.war Provisioning Agent Docker 1 (Tomcat) App-A.war Docker 2 (Tomcat) AppB.war Provisioning Agent Docker 1 (Tomcat) App-A.war Docker 2 (Tomcat) AppB.war MQ Cloud Controller Brand for TID Self Service Portal Client (Web Browser TID.service.com Logic for TID Metadata per tenant TID in ThreadLocal
  • 15. Business Supporting Service: Metering / Billing Developer Portal Zone Billing / Metering Server Application Instance Zone Router (HA Proxy Provisioning Agent Docker 1 (Tomcat) App-A.war Docker 2 (Tomcat) AppB.war Provisioning Agent Docker 1 (Tomcat) App-A.war Docker 2 (Tomcat) AppB.war Provisioning Agent Docker 1 (Tomcat) App-A.war Docker 2 (Tomcat) AppB.war Provisioning Agent Docker 1 (Tomcat) App-A.war Docker 2 (Tomcat) AppB.war MQ Cloud Controller Application Log Plan Menag ment / Self Service Client (Web Browser TID.service.com serviceA serviceA serviceB …. Billing data per tenant Aggregate and filter out Billing Logs
  • 16. API design and protocol OCE BSS Service Application Billing / Metering Metadata Mgmt. Self Service Tenant Mgmt. Get: app/{appId}/plan Post: account/{accId} Get: account/{accId}/invoices Get: account/{accId}/metadata IFrame: account/{accId}/selfservice 가입 테넌트특화화면 송장확인 테넌트설정변경 서비스 가격소개 Post: app/account parameter: accountId={accId} 앱취득
  • 17. • 화면설계안 (일부는 완성되었음)
  • 18.
  • 19. User (Tenant, Provider, Operator) SNS
  • 20. SSO Tray and App Launcher Application 영역
  • 21. 프로젝트 생성 유일한 앱 아이디 1. 프로젝트 등록 2. 개발자 공간 생성 (리눅 스 계정) 3. SVN 공간 생성 4. 기본 archetype 으로 maven project생성 5. Jenkins Build Job생성 (비동기로 처리)
  • 22. 생성된 프로젝트 커뮤니티 My First App 프로젝트를 생성중에 있습 니다 IDE 생성이 완료된 순으로 정보가 들어옴
  • 23. My First App 프로젝트를 생성중에 있습 니다 IDE 클릭하면 상세한 진행 상황이 나타남 1. 프로젝트를 생성중에 있습니다
  • 24. 개발팀의 추가와 협업 활동 • http://wiki.opencloudengine.org/pages/vi ewpage.action?pageId=2850835 • http://wiki.opencloudengine.org/pages/vi ewpage.action?pageId=2850930
  • 25. My First App 프로젝트 기본 정보입니다 클라우드 IDE 로 접속 IDE
  • 26. 기본 garuda app archetype에 의하 여 생성됨 Getting Started Guide 1. From the scratch 2. From your existing project (Maven Only) 3. From the lagacy system (Code Gen) See videos
  • 28.
  • 29. short cuts Run Debug Edit Configuration Build 1. Maven build 2. Docker Run 3. Browse url -> to new browser tab 실행 테스트
  • 30. Run 1. 여러 개의 인스턴스로 분산된 로 그가 aggregated되어 표시됨 2. 테스트환경에서도 HA구성이 되 며 인스턴스 개수의 설정은 Edit Configuration에서 함 실행로그출력
  • 32. Tools Code Generator DB Browser Shell ShellShell Build Log 1. 개발자 홈에 접속시켜줌 (사용자 마다 코디 서버에 대하여 리눅스 계정을 준다?) 2. 개발자는 직접 mvn, svn, git등의 명령을 자신의 base dir에서 할 수 있다. 3. Docker 실행 인스턴스에 붙는 건 불필요??할듯하다. 쉘을 통하여 사용 자율성 제공
  • 33. VCS Commit Update Diff ….. Shell SVN Command Build Log 1. 특정 폴더 이하를 Commit, Update, Diff 하는 것은 IntelliJ의 단순한 형태를 따른다. 2. Svn 자바 라이브러리 쓰는것이 복 잡하면 그냥 jsch로 명령을 보내 어 처리한다. 3. SVN command shell은 원하는 경 우 하단에 표시한다.(우선은 shell 기능 부터 주면 만약의 경우는 개 발자가 직접 붙어서 할 수 있도록 배려해준다) 버전 컨트롤
  • 34. [여기서 걸림돌] 개발자 각자의 로컬 수정본 을 클라이언트 피씨에 받아서 이클립스 등에 서 사용할 수 있는 방법은? • 클라우드 IDE가 완전한 개발 동선을 커버 하지 못하므로 중요하다. • 혹시 git가?? • 원격 데탑에다 이클립스 올리…. X
  • 36. 기본 생성 애플리케이션에서 시작 Code generator는 DAO, Web Service, UI까지 생성가능하다 (minuteProject 참고)
  • 38. 코드를 직접 편집 CustomerUI. 수준: 그냥 Editor 보다는 높은, CodeEnvy까지는 아닌.. Maven 에 주로 의존하는. 그러나 어느 정도 DB애플리케이션 은 이걸로만 개발할 수 있는 • Code Assist: Auto import for Classes and Annotations, “.” assist, context assist(Ctrl+Space ), unimplemented interface • Search: Ctrl+Shift+R (by resource) / T (by type), Ctrl+f, Search in Files, Find Usage (References…) • Source: Setter/getter, implement interfaces • 그밖에 꼭 있어야 할 것들만… 비용이 높아서.. Class구조 정보는 memory cache에 공유하여 빠르게…
  • 39. 저장시 자동 maven 빌드 (증분빌 드?) CustomerUI. Build
  • 40. 서비스 연결하기 CustomerUI. Build Services Connect Service Manage Connected Services Connect a Service for Dev FastCat Search MySQL DB keyword ………. …… ………. …… import
  • 41. 연결한 서비스는 applicationContext에 applicationContext.xml. 실제 연결정보는 테스트와 운영시 동적으로 변경되므 로 의미 없음
  • 42. Tools Code Generator DB Browser Shell 1. 연결된 서비스로 데이터 베이스가 존재하는 경우 는 해당 커넥션이 선택되 도록 가이드된다. 2. 앱에 연결된 DB서비스가 없으면 연결하도록 기본 연결한다 데이터베이스 클라이언트 올챙이 here
  • 44. Run Debug Edit Configuration Debug 1. 디버그 모드로 띄우면 도커내의 디버그 포트를 추가적으로 연다 2. 디버그 때는 인스턴스를 1개로 제 한 (메시지로 알려줘야 함) 3. 라인 마커 부분을 클릭하면 디버 그 포인트 토글 4. Watch/Evaluate 를 위하여 jdb class를 직접호출하거나 system call 하여 사용 터미널로 열어줌 (http://docs.oracle.com/javase/7/ docs/technotes/tools/windows/j db.html) 5. Jdb의 소스코를 참고하여 개발할 수도 있 음:http://docs.oracle.com/javase/ 7/docs/technotes/guides/jpda/jd b.html 6. http://www.cs.rit.edu/~rwd/Publi c/JavaDebugging/ 디버그 걸기
  • 45. 도움 받기 CustomerUI. Start Guide API Documentation BPMN Modeling Community Knowledge Base
  • 46. 마켓플레이스 올리기 App 등록 우측상단영역의 'Apps'를 선택 후, '앱스토어'를 선택한다. (http://wiki.opencloudengine.org/display/GD/App +Store)
  • 48. 사용자: 셀프서비스 – 메타데이터 관리 http://wiki.opencloudengine.org/pages/vie wpage.action?pageId=1310994
  • 49. 사용자: 셀프서비스 – 프로세스 관 리  업무 전문가를 위한 실행가능 프로세스 언어 – BPMN  GUI기반 비즈니스 룰 정의  웹서비스 통합 (*CSB)  비즈니스 폼  데이터 매핑 • DB 쿼리 자동화 • SQL 툴
  • 51. 운영자: 앱 모니터링 TO-DO • 타 플랫폼 사례 벤치마킹 • 잘된 오픈소스가 있다면 그것을 참고 • 앱을 올렸다 / 내렸다 / 인스턴스를 늘였다/줄였다 하는 기능 등은 CF의 UI 를 참고
  • 52. 운영자: 바하마를 기반으로 서비스 인스턴스 및 서비스 레서피 관리 앱론처에 서 ‘바하마’ 선택 SSO가 처리되어 별도 로그인 필요없음
  • 53. 운영자: FastCat Service 관리 • SSO가 처리되어 별도 로그인 필요없음 앱론처에서 ‘FastCat’ 선택
  • 54. 운영자: 테넌트/앱/앱-서비스별 사 용량 및 인보이스(송장) 확인
  • 55. 운영자: 매출 예측 및 플랜개선 포 인트 확인
  • 56. 차별화 포인트 • 모델링 도구 기반의 PaaS for Business Expert 특성 강화 • Cloud Foundry 기반 (Application PaaS) 과의 연계를 통한 강력한 기반 시장 진입 클라우드 파운드리 오픈 클라우드 엔진 빅데이터 개발 플랫폼 • Hadoop 기반 도구와 클러스 터 구성 • CF 지원 내용 포함 • Web GUI (Flamingo)를 통한 데이 터 관리, 조작, 클러스터 실행 비즈니스 모델링 • 외부 서비스 연동 • 비즈니스 프로세스 모델링 • 데이터베이스 모델링 • UML 모델링/ 리버스엔지니어링 애플리케이션 개발 • 이클립스 (스프링) • 다종언어(빌드팩) 지원 • 이클립스 • 클라우드 IDE 및 마이그래이터 • Docker기반 다중 언어 지원 애플리케이션 유 통/관리/론칭 /SSO • 앱 마켓플레이스 • 앱론처 • SNS기반 SSO 마켓 프리센스 • IBM Bluemix, 중국 바이두 • CF 기반 구성요소들과 융합: • BOSH기반으로 전환 (현재 chef) • HM 활용, OSGi Buildpack 개발
  • 57. 시장 진입 전략 • 우리가 사용해야 한다. • 우리의 SaaS서비스 DevOps환경으로 적용하여 일구어낸 ‘문화’를 팔아야 한다. • 이것은 1년 정도 걸릴 것으로 보인다. • 그 사이엔 비 기술적 요인: Cross-Browsing (IE비지원에 따른 환경적 이슈) 과 비용절감 이슈로 고객에게 접근해 야 먹힌다. 클라우드라는 이름은 어렵다. • 기존 BPM 고객과 신규고객에 끼워서 제공해야 먹힌다. • 이후 어플라이언스 형태의 기업용 앱 단말기 처럼 판매. • 중소 SI 기업 (제공자)에게의 특화된 무기로 판매.

Editor's Notes

  1. minuteProject 는 아주 다양한 기술세트들을 기반으로 UI, DAO, Service를 생성할 수 있다.
  2. Vaadin -> Java (default) ExtJS -> Fiddle 정도?
  3. Code Assist: Auto import for Classes and Annotations, “.” assist, context assist(Ctrl+Space ), unimplemented interface Search: Ctrl+Shift+R (by resource) / T (by type), Ctrl+f, Search in Files, Find Usage (References…) Source: Setter/getter, implement interfaces 그밖에 꼭 있어야 할 것들만… 비용이 높아서.. Class구조정보는 memory cache에 공유하여 빠르게…
  4. 오류출력(marker처리), Hint 제공 (advanced)
  5. 개발용으로 서비스를 연결함. 운영시에는 설정을 달리해야 함.
  6. 모든 서비스들은 Spring에서 접근 가능하도록 API화가 이루어져야 한다. 만약 Spring으로 API가 존재하지 않는 RESTful 등으로 된 서비스들은 API documentation이 Service Instance Group 쪽에서 제공되어야 한다. 연결을 하면 서비스 그룹의 개발기 인스턴스 그룹에 개발용 Datasource 등이 요청되고, 요청된 영역은 서비스키:연결정보 (json): 연결방식 (Spring|REST|…) 으로 관리된다.
  7. META-INF/plan.xml 은 OCE 애플리케이션의 가격설정이 들어가는 장소이다 (** marketplace (app store))에서 설정하는게 맞나?