More Related Content
Similar to Ics craken 20151103
Similar to Ics craken 20151103 (20)
Ics craken 20151103
- 2. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
2
Platform Spec
1. Distributed Architecture
2. Server Deploy
3. Rewrited ICS Search
4. Script
# What is Craken
Index
- 3. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
3
1) Support OS
* Sever : Unix, Linux, Solaris, Windows..
2) Support JDK
* jdk1.7 이상
3) Support DB (예정)
* 논리적 저장소 : Craken
* 물리적 저장소 : File, RDB etc
4) 클라이언트 환경
* Internet Explorer / Mozilla Firefox / Safari / Chrome …
Platform Spec
- 4. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
ICS6Service
4
Content Hub as a service
PlatformasaService
Dynamic as a service
Database as a service
Search as a service
Publish as a service
I/O as a service
Global, Trusted, Secure Infrastructure
Rest
1) ICS6 Architecture
1. Distributed Architecture
- 5. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
5
2) ICS6 Architecture (Detail)
1. Distributed Architecture
Database
(Oracle)
ICS Web Admin
Searcher Indexer
Deploy
Client
ICS6 Server
Web Server
DB Server
File System
[ HTML, JS ]Virtual File System
icssearcher
Index File System
thoth
Content
Hub
Publisher
Deploy
Engine
publisher
dynamic
Dynamic
Rest
TCP/IP
socket
Rest
Rest
Rest
jdbc
jdbc
jdbc
jdbcjdbc
ajax, js
File i/o
- 6. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
6
3) ICS6 Architecture (Adv VS Disad)
1. Distributed Architecture
1. 각 유닛은 물리적 서버이므로 여러 개의 유닛의 통합은 가능하지만 유닛별 분산이 가능하지 않다.
2. 유닛을 나눈 기준은 기능별이므로 실제 환경의 부하에 따른 분산에 적합하지 않다.
3. 유닛별 관리 스트레스가 심하다(개발쪽의 버전관리와 운영쪽의 서버관리)
4. 특정 유닛을 담당하는 서버가 중단되면 해당 유닛의 서비스는 사용할 수 없다.
5. 유닛별 데이터 소통량이 리퀘스트에 비례하므로 네트워크 부하가 있다.
1. 유닛은 기능별 분리되어 있으므로 한 유닛서비스가 중단 되도 다른 유닛 서비스는 사용 가능하다.
2. 이전의 Single모드보단 낫다.
- 7. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
7
4) ICS6(wc) Architecture (Detail)
1. Distributed Architecture
Searcher/Indexer
Deploy
Client
ICS
Web Admin
ICS6 Server
Web Server
Craken-Logical
Database / FILE
repository
File System
[ HTML, JS ]
icssearcher
Index File System
thoth
publisher
Script
Query/Resource
Rest - Logical
TCP/IP
socket
ajax, js
File i/o
ARADON-Logical
Access
API API
물리적 분산
LoadBalancer(APACHE)
craken
- 8. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
8
5) ICS6 Architecture (Adv VS Disad)
1. Distributed Architecture
1. 이전과 다르다.
1. ICS6은 물리적 분산이 1..n으로 간단하게 가능하다.
2. 분산으로 로딩시 하나의 물리적 서버의 장애는 서비스에 영향이 없다.
3. 개발/배포/관리 스트레스가 줄어든다.
4. 분산시 기능별이 아닌 request별 분리가 가능하므로 서버의 자원을 더 효율적으로 사용 가능
- 9. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
9
1. Distributed Architecture
1. Session Manager – Jetty, ION Framework
2. Cached Query
3. Upload File(Image / BLOB)
4. Index/Search(Rewrited)
5. Schedule
예정 : Oracle Procuedure Replace
6) 관련 있는 이전 기능들
Failover(HA), Load Balancing
APACHE || LB
- 10. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
2. Server Deploy
10
Dynamic
WebServer
MongoDB
OracleDB
ICS6
Port :27017
Port :80,443
Port :80,443
Port :1521
Port :27017
Deploy Port :6204
1) ICS6
OtherSystem
- 11. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
ICS6(wc)
2. Server Deploy
11
ICS6(wc)
WebServer
OracleDB
ICS6(wc)
Port :7800
Port :80,443
Port :80,443
Port :1521
Deploy Port :6204
2) ICS6 with craken
OtherSystem
Called Script :
AAA(Authentication, Authorization, Accounting)
오픈하고자 하는 컨텐트 제어
Write Script :
Craken :
- 12. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
12
3) ICS6 with craken – WHY ?
Security란 보호하고 보여주지 않는게 아니라
적절한 사람에게 적절한 내용을 적절하게 보여주는 것
- 적절한 사람 : REST를 호출하는 사람을 인지(Header, Parameter, IP)
- 적절한 내용 : 허용할 수 있는 정보만(특정 카테고리, 아티클, 액션필드)
- 적절하게 : 과정에 대한 제어(시간, 로그 등)
그러나 “적절(Proper)”은 주관적이며 상대적이다.
양식이며 한식이며 일식이며 중식인 요리를 만들 수는 없지만 선택하게 할 수는 있다. – Scri pt
- 13. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
ICS6(wc)
2. Server Deploy
13
ScriptService
WebServer
OracleDB
ICS6(wc)
Port :7800
Port :80,443
Port :80,443
Port :1521
Deploy Port :6204
4) ICS6 with craken + ScriptService
Script :
AAA(Authentication, Authorization, Accounting)
오픈하고자 하는 컨텐트 제어
NO UI, NO ICS
OtherSystem
Write Script :
- 14. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
ICS6(wc)
2. Server Deploy
14
ScriptService
OracleDB
ICS6(wc)
5) 단절된 상태에서 자원 접근
OtherSystem2. /request/{sid}/{uid} : 실행할 script 저장
3. /response/{sid}/{uid} : event 등록
1. /script/{sid} : script run 요청
4. notify
5. /request/{sid}/{uid} script 실행
6. /response/{sid}/{uid} 결과값 저장
7. notify
8. 결과 값 전달
제한
- ICS6은 Client 정보에 직접 접근할 수 없다.
- ScriptService는 자원에 접근할 수 없다.
-> Broker 역할을 한다.
- 15. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
15
1) ICS6 Architecture (Detail)
3. Rewrited ICS Search
ICS Web Admin
ICS6 Server
Database
(Oracle)
DB Server
Searcher Indexer
icssearcher
Index File System
dynamic
Dynamic
2. Trigger - complicated
1. jdbc
MongoDB
3. Request Search
4. If(MOD-trigger) Index,
return result
WHY ?
1. Complicate Search Step
2. Not trust ICS
3. Index Have not all field
Replication - complicate
- 16. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
16
2) ICS6(wc) Architecture (Detail)
3. Rewrited ICS Search
ICS Web Admin
ICS6 Server
Database
(Oracle)
DB Server
Searcher Indexer
icssearcher
Index File System
Script(query)
JScriptEngine
Jdbc (Throw Event at DistCraken WEB-INF/indexfn)
1. Query
HTTP REQUEST
- 17. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
17
ICS6) ActionTag Search
* [[--ActionStart, search:…--]]
ICS6-ws) Query 옵션 추가
* [[--ActionStart,query:….--]]
* 기존 방법과 충돌이 발생하지 않으며 query 사용시 search 조건은 무시된다.
3. Rewrited ICS Search
1. Query는 재작성된 ICS의 search를 사용하기 때문에 DB의 SQL을 사용하는 search보다 빠르고
다양한 검색조건이 가능하다.
2. 검색조건의 복잡도에 많이 영향 받지 않는다.
3. Script/Query와 사용방식이 같다.(operator가 안정적이다.)
3) ActionTag
- 18. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
18
4. SCRIPT
Problem
* 무언가를 만들려고 할 때 고려사항이 너무 많다.
* 무언가를 수정하려고 할 때 고려사항이 너무 많다.
고려사항
* IN : Other Function(Regacy 기능들의 제약 – 승인룰,권한 etc)
* OUT : Other Client(클라이언트별로 가치기준이 다르다.)
기능들의 직교가 필요하다.
1) Purpose
- 19. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
19
2) Script Architecture (Detail)
4. SCRIPT
RestLet(/rest/…)
JScriptEngine
1. Write Script
HTTP REQUESTICS Web Admin
ICS6 Server
2. Compile script (Throw Event at DistCraken)
CMS Context
Referenced
Resource
Execution
Query
- 20. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
20
ICS6) Dynamic Service
* /ics/dynamic/article/{catid}
* API와 parameter, 내용, output format등이 고정되어 있다.
* 요구 기능의 합집합
ICS6-wc) Script Service[Query|Execution|Resource]
* /ics/rest/{type}/{scriptid}
* parameter와 내용, output format 등을 자유롭게 수정 가능
4. SCRIPT
1. 간섭을 일으키지 않는다.(version,client 직교 : SSO, API)
2. API을 스스로 정의할 수 있어 자유도가 높다.
3. 구조적인 보안은 이전과 차이가 없지만 스크립트에서는 자유롭다.
4. 기본적인 샘플이 제공된다. (자유도의 보완)
1. 자유도가 높다.
2. 기존과 조금 다르다.
3) Dynamic->Script (Adv VS Disad)
- 21. Company and Summary of CMS product
We’re making the standard of Content Management System
Copyright © 1999-2006 I-ON Communications. All rights reserved.
할 수 있는 것
Share Distributed Data(ex:HttpSession)
Composite Data Repository
Data Analytics Based MapReduce(expect)
Craken is Event Machine
Craken
21
# What is Craken
자쿠와는 다르다! 자쿠와는
RDB Schema-Free(TreeDocument Model)
Hadoop Share Data
InMemory DB(H2,HSQL) Distribute
MongoDB Embedable
Craken is not traditional repository
Craken Craken
1. regist event node
2. notify
3. Do anything 3. Do anything
Craken in ICS6
Share HTTP Session - 필수
Index Event Broker – 필수
File Event Broker & Store – 선택(대안 NAS)
Script Message Broker - 필수