Metaworks is Metadata Oriented Application Framework
which is Inspired from the Adaptive Object Models and OMG Reflection, MDA.
The main approach is
Application Component Generation on the fly from metadata
Now Metaworks version 3 Is A POJO framework that
encourages the Domain-Driven Design and
Especially for developing model-driven applications (UML, BPMN, etc)
Metaworks is Metadata Oriented Application Framework
which is Inspired from the Adaptive Object Models and OMG Reflection, MDA.
The main approach is
Application Component Generation on the fly from metadata
Now Metaworks version 3 Is A POJO framework that
encourages the Domain-Driven Design and
Especially for developing model-driven applications (UML, BPMN, etc)
안드로이드 웹뷰의 모든것
이형욱
NAVER / Whale Core
웨일 브라우저 TL로 웨일 브라우저 개발 및 관련 기술을 연구하고 있습니다. 웹엔진 (WebKit, Blink) 오픈소스 활동을 하고 있으며, 현재 브라우저 렌더링 성능 및 메모리 최적화에 관심이 있습니다.
[26]자동화, 계륵에 살 붙이기 : Evolution of Android Automation TestNAVER Engineering
자동화, 계륵에 살 붙이기
: Evolution of Android Automation Test
송의초경
N Tech Service/ Contents QA
NTS Contents QA 팀에서 근무하고 있는 송의초경입니다. 오디오 플랫폼에서 주로 QA를 진행했고 네이버 뮤직을 거쳐 현재는 오디오 클립 QA를 담당하고 있습니다. 자동화 거버넌스 TF에서 자동화 라이브러리의 유지 보수도 함께 담당하고 있습니다.
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기Nanha Park
# Part 1
개발자의 주위환경에 대해 살펴보고 Cloud Foundry overview, Cloud Foundry 를 구성하는 components 마지막으로 Deploy 환경에 대해 알아보겠습니다.
# Part 2
설치부터 코드까지, 데모찍은 동영상은 추후 제공예정
부족한 부분은 nanhap@gmail.com 으로 문의메일 주시면 성심성의껏 답변 드리겠습니다. 감사합니다.
안드로이드 웹뷰의 모든것
이형욱
NAVER / Whale Core
웨일 브라우저 TL로 웨일 브라우저 개발 및 관련 기술을 연구하고 있습니다. 웹엔진 (WebKit, Blink) 오픈소스 활동을 하고 있으며, 현재 브라우저 렌더링 성능 및 메모리 최적화에 관심이 있습니다.
[26]자동화, 계륵에 살 붙이기 : Evolution of Android Automation TestNAVER Engineering
자동화, 계륵에 살 붙이기
: Evolution of Android Automation Test
송의초경
N Tech Service/ Contents QA
NTS Contents QA 팀에서 근무하고 있는 송의초경입니다. 오디오 플랫폼에서 주로 QA를 진행했고 네이버 뮤직을 거쳐 현재는 오디오 클립 QA를 담당하고 있습니다. 자동화 거버넌스 TF에서 자동화 라이브러리의 유지 보수도 함께 담당하고 있습니다.
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기Nanha Park
# Part 1
개발자의 주위환경에 대해 살펴보고 Cloud Foundry overview, Cloud Foundry 를 구성하는 components 마지막으로 Deploy 환경에 대해 알아보겠습니다.
# Part 2
설치부터 코드까지, 데모찍은 동영상은 추후 제공예정
부족한 부분은 nanhap@gmail.com 으로 문의메일 주시면 성심성의껏 답변 드리겠습니다. 감사합니다.
* 발표 동영상: https://youtu.be/xWSk3h4IlcY
데브옵스는 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는 문화 철학, 방식 및 도구의 조합입니다. 기존의 소프트웨어 개발 및 인프라 관리 프로세스를 사용하는 조직보다 제품을 더 빠르게 혁신하고 개선할 수 있도록 AWS 에서는 어떻게 도움 드릴 수 있는지 알아봅니다.
Openshift 활용을 위한 Application의 준비, Cloud Nativerockplace
What is Cloud-native - DevOps, MSA and Cloud-native: Openshift 활용을 위한 Application의 준비, Cloud Native
*웨비나 다시보기 영상 바로가기:
https://www.youtube.com/watch?v=tzSBS-vki6w
Cloud-Barista 제1차 오픈세미나 - CB-Spider : 멀티 클라우드 인프라 연동 프레임워크(1st Open Seminar, ...Cloud-Barista Community
멀티 클라우드 서비스 공통 프레임워크 기술(Multi-Cloud Service Common Framework)
- 커뮤니티 사이트(Community Site) : https://github.com/cloud-barista
주요 내용 : 이종 멀티 클라우드 인프라 연동 기술 소개 및 개발 현황
- CB-Spider 시스템 및 서비스 개요
- CB-Spider 기술 개발 현황
- CB-Spider 기술 개발 로드맵
Suggested platform provides a contactless microservices / cloud native application design learning and development using online tools including Cloud-ide and Event-storming tool, kafka, Spring-boot and kubernetes without any installation
Event storming based msa training commerce example v2uEngine Solutions
Event storming based msa training with a commerce example. Contains analysis, implementation and operation by event storming and microservices frameworks and devops tools
Event storming based msa training with a commerce example. Contains analysis, implementation and operation by event storming and microservices frameworks and devops tools
designing, implementing and delivering microservices with event storming, spr...uEngine Solutions
Implementing Microservices is something like an adventure. Analyzing and decomposing microservices with applying DDD and make them into code, all is not easy. With new simple approach - Event storming, designing and implementing an event-driven MSA became easier ever seen before.
By event storming, we can derive so many meaningful objects such as Entity, Domain Events, and Services that can be mapped with implementation objects in Spring cloud.
Metaworks 4 is a progressive enterprise web framework that promotes POJO-based domain driven development, micro-services architecture-ready, and material design and responsive web. Metaworks 4 utilizes VueJS, Spring Data, and Spring Hateoas. Plus, Metaworks4 can be composed with OCE's components like IAM, API-GW, Billing to enable MSA architecture.
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 관점을 부각
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}
앱취득
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
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
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에 공유하여 빠르게…
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/
디버그 걸기
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 기업 (제공자)에게의 특화된 무기로 판매.
minuteProject 는 아주 다양한 기술세트들을 기반으로 UI, DAO, Service를 생성할 수 있다.
Vaadin -> Java (default)
ExtJS -> Fiddle 정도?
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에 공유하여 빠르게…
오류출력(marker처리), Hint 제공 (advanced)
개발용으로 서비스를 연결함. 운영시에는 설정을 달리해야 함.
모든 서비스들은 Spring에서 접근 가능하도록 API화가 이루어져야 한다.
만약 Spring으로 API가 존재하지 않는 RESTful 등으로 된 서비스들은 API documentation이 Service Instance Group 쪽에서 제공되어야 한다.
연결을 하면 서비스 그룹의 개발기 인스턴스 그룹에 개발용 Datasource 등이 요청되고, 요청된 영역은 서비스키:연결정보 (json): 연결방식 (Spring|REST|…) 으로 관리된다.
META-INF/plan.xml 은 OCE 애플리케이션의 가격설정이 들어가는 장소이다
(** marketplace (app store))에서 설정하는게 맞나?