2. 2
문서이력
G-boardSequenceDiagram
버전 변경일자 변경내용 작성자
0.5 2014.09.04 G-Board 서비스 운용 프로세스 정의 신승민
0.6 2014.09.16 GCD 프로세스 보정
Mail 주소를 key값으로 적용 초기화 루틴 추가
신승민
0.7 2014.09.18 OAuth 프로세스 Blackbox로 변경
기타 루틴 보정
신승민
3. 3
문서의 목적
- G-Board 운용 서비스 설계
문서의 의도
- 운용 서비스 동작 이해
문서의 목적/의도
G-boardSequenceDiagram
4. 4
CE G-Board IoT Server Client(Phone)
CE_ID
Command_Set(Basic)
Event_Log
Result_Log
IoT_ID:OAuth
CE_Connect
C_S*:DB Mapping
Parser
Reporting
CE_ID:IoT_ID
CE_Command:C_S
Log
IoT_ID:OAuth
RCU 구성
Reporting
연관도
G-boardSequenceDiagram
* C_S : Command_Set
5. 5
Diagram : OAuth 인증(최초 1회) - 1
G-boardSequenceDiagram
CE G.B IoT User
WiFi-Direct
WiFi AP Profile
if, Token is null then, IoT (with CE_Info)
(CE_ID, Token, refresh_Token)
WiFi-Direct
WiFi
(ID, PWD)
OAuth (Token)
WiFi
AP
WiFi AP
(SSID, PWD )
WiFi AP
Profile
WiFi AP
Profile
Internal-DB check
(Token )
IoT check (email )
OAuth part
(Blackbox)
Device Registration (with CE_Info
Device_ID
6. 6
Diagram : OAuth 인증(갱신, 사용자 변경) - 2
G-boardSequenceDiagram
CE G.B IoT User
WiFi 3
WiFi-Direct
WiFi-Direct
AP or
Internal-DB check
(Token )
if, Token isn't null then, gmail (A)
if, A=( )
WiFi AP Profile
WiFi
AP
WiFi AP
(SSID, PWD )
WiFi AP
Profile
WiFi
(ID, PWD)
OAuth (Token)
if, A ( )
Token
WiFi-Direct
WiFi AP
Profile
Token
OAuth
Process
IoT check (email )
Case #1
Case #2
7. 7
Diagram : OAuth 인증(토큰 자동 갱신) - 3
G-boardSequenceDiagram
Black-box
CE G.B IoT User
OAuth (Token_expire Check)
ACK or NACK (Token expire)
if, ACK then Process #1
if, NACK then Process #2
Token (refresh_Token, Token)
Token
Refreshed Token
Token
Process #1
OAuth (Token)
Process #2
9. 9
App-UI : Flow-Chart #1
G-boardSequenceDiagram
Start
IoT Server
(A)
B<=3
NO
(B++)
A=Success
YES
" "
MSGNO
-
(ID/PWD)
YES
ID/PWD is
Correct?
(Search CE_List)
(CE_List)
(CE Choice)
OAuth
YES
NO
ID/PWD
1
Command_List
(C)
( )
App-DB
UI
Result null
YES
3
NO 1
2
1
※ 자체 회원DB 인증단계
(ID 와 OAuth 메일 인증값 매핑)
10. 10
App-UI : Flow-Chart #2
G-boardSequenceDiagram
2
on
UI
(A)
Command
(Command 'A')
App-DB
Command 'A'
(to G-board)
Return value
Check
(C)
C null
B<=10
(B++)
YES
NO
"
"
.
NO
YES
C is
error/Correct?
Error MSG
Error
Result MSG
Correct
11. 11
App-UI : Flow-Chart #3
G-boardSequenceDiagram
3
"
.
"
WiFi-Direct
WiFi
"
"
.
.
WiFi AP List
" AP"
(WiFi-Direct)
(A)
A is Connect
" "
.
NO
OAuth
YES
(Token)
Black Box
ID/PWD
(mail ) App-DBID
WiFi AP
WiFi AP
WiFi AP List
AP
(SSID/PWD )
WiF AP
WiFi AP ,
OAuth
(to G-Board)
G-Board
Check
(B)
B is Success
NO
WiFi
(to G-Board)
YES
AP 'A'
1
3G/LTE
※ 새로운 기기를 설치했거나 APP을 최초 등록하는 경우,
12. 12
App-UI : Flow-Chart #4
G-boardSequenceDiagram
start
WiFi-Direct
(between G.B)
( A)
(from G.B)
Internal DB
(A:B)
(B)
A = B
WiFi AP
WiFi AP List
AP
(SSID/PWD )
WiF AP
WiFi AP ,
[OAuth ]
(to G-Board)
G-Board
Check
(C)
C is Success
WiFi
(to G-Board)
WiFi-Direct
YES
OAuth
(Token)
Black Box
ID/PWD
(mail )
TOKEN , ID
NO
1
NO AP Process
Device Delete
(to G.B)
Delete
ACK
NACK
YES
(to G.B)
13. 13
G-Board : Flow-Chart #1
G-boardSequenceDiagram
Start
WiFi
'A' Check
Internal-DB
(Table or TXT)
Check
'A' is Null
WiFi Mode
(WiFi-Direct)
YES
(Host)
WiFi-Direct
?
IoT
(B)
YES
WiFi-AP
[SSID, PWD]
(C)
NO
(C++)
C<=10
Error Code
(WiFi )
YES
NO
1
1
WiFi-AP
Connect?
NO
Token
YES
NO
WiFi AP ,
OAuth
(from Phone)
DB
Return
(to Phone)
WiFi Mode
(NIC)
2
2
Command_List(A)
(from CE)
Internal-DB
(Table or TXT)
Command_List(A)
IoT Server
IoT Server
?
(D++)
D<5
NO
NO
Error Code
(IoT Server )
4
YES
YES
3
3
Internal-DB
(Table or TXT)
B is same
WiFi AP
(from Phone)
Mail
(to Phone)
Mail
(B)
(from Phone)
NO
YES
2
Internal-DB
14. 14
G-Board : Flow-Chart #2
G-boardSequenceDiagram
Command_set
(B)
Receive 'B'
Parsing 'B'
(C)
Internal-DB
(Table or TXT)
(C:A)
(A)
Correct?
Command C
(E)
YES
Error Code
( LED )
Error Code
IoT Server
NO
Receive 'E'
'E' is ?
Command
Reset
Error Code
( LED )
Error Code
IoT Server
YES
Error_Code
(D++)
D < 10
YES
Success Result
2nd Server
NO
Success_Code
End
4
Success Result
IoT Server