STEP 1 - bizMOB

Download Report

Transcript STEP 1 - bizMOB

bizMOB Server 3.0
개발자 가이드
모빌씨앤씨
Mobile C&C
Ver 1.0
목차
1.
2.
3.
4.
5.
6.
7.
bizMOB
bizMOB
bizMOB
bizMOB
bizMOB
bizMOB
FAQ
Framework 소개
Server 개발환경 세팅 가이드
Service Builder 사용 가이드
Server 코딩 가이드
Server 테스트 가이드
Server 배포 및 운영 가이드
1. bizMOB Framework 소개
1. bizMOB Framework 소개
• 1-1. bizMOB Framework Architecture
• 1-2. bizMOB 구성
• 1-3. bizMOB 개발 프로세스
1-1. bizMOB Framework Architecture
1-1. bizMOB Framework Architecture

bizMOB Framework는 크게 Client Framework와 Server Framework로 분류할 수 있다.

bizMOB Client Framework



Clinet Framework는 Client Container 와 Clinet Web으로 구성된다.
Clinet Container는 Native App(iOS, Android) 영역으로 단말연동, 외부기기 연동, 통신 등 을 담당한다.
Clinet Web은 Html, JavaScript, CSS로 구성된 화면 및 데이터 컨트롤을 담당한다.

bizMOB Server Framework



Server Framework는 Java, Spring 기반의 Web Application 형태로 WAS 기반으로 구동된다.
Legacy System 연동을 위해 DB, WebService 등 다양한 외부 데이터와 연동한다.
Server와 Client는 Http 통신으로 Data는 JSON 형태로 송수신한다.
1-1. bizMOB Framework Architecture
Legacy
bizMOB Server
SFA
Group
Ware
Connector
Finance
Native App
Servlet
Native bizMOB Framework
Account
CRM
Dispatcher
(Parse Json Data)
Device
bizLogic
(Buisness
Logic Process)
SOAP,
XML,
Socket,
JDBC etc
Adapter
(TR Code Process)
BIS
ERP
ETC…
JSON
(HTTPServlet,
Multipart)
JSON(HTTP)
Xross UI Integration Framework
(JavaScript Library)
Xross
Util
WAS(tomcat, jeus, etc…)
JDK
OS
Mobile OS
Etc….
1-2. bizMOB 구성
1-2. bizMOB 구성(서버군)

bizMOB을 구성하는 서버군 제품은 bizMOB Server, bizMOB Portal, bizMOB Appsotre, bizMOB Push, Service Builder가 있
으며 각각의 역할은 다음과 같다.

bizMOB Server


Legacy System 연계와 Client와 통신을 담당한다.
bizMOB Server 기본 Framework 기반으로 고객사에 따라 별도 구현된다.

bizMOB Portal

회사관리, 사용자관리, 단말관리, Application/Contents관리, 통계 등의 기능을 제공하는 관리자 포탈이다.

bizMOB Appstore

개발된 Application을 배포하기 위한 App Store로 bizMOB Portal에서 등록한 Application을 다운로드/설치 할 수 있도록 제
공한다.

bizMOB Push


단말(iOS, Android)의 Push 기능을 사용하기 위한 Push Server로 Push 대상관리, Push 발송을 담당한다.
기본 Push 연동은 iOS의 경우 APNs Server, Android의 경우 GCM Server를 연동하여 Push 발송을 한다.

Service Builder


개발 및 유지보수 목적으로 bizMOB Server와 bizMOB Clinet간의 통신 규약을 정의하는 전문 등록관리를 담당한다.
bizMOB Server 개발 시 Eclipse와 연동된다.
1-2. bizMOB 구성
운영환경
http / https
3G,
LTE,
WI-FI
Web Server
(Option)
Was Server
Legacy System
bizMOB Server
bizMOB Portal
관리자
bizMOB Appstore
사용자
bizMOB Push
DB Server
bizMOB DB
※ 네트워크 및 장비 구성은 고객사에 따라 다름
개발환경
모빌 C&C
고객사
Was Server
Was Server
Web Server
(Option)
bizMOB Server
Legacy System
bizMOB Portal
Service Builder
bizMOB Appstore
bizMOB Push
Service Builder
DB Server
bizMOB DB
DB Server
개발자
※ Service Builder는 프로젝트 환경에 따라 내부 세팅 가능
1-3. bizMOB 개발 프로세스
디자이너
Client UI Design
요구분석
설계
화면설계
UI 디자인
웹 퍼블리셔
Html 생성
UI Publish
(Web)
웹 개발자
Html & JS Server 연동
Javascript
연동 개발
앱 개발자
Container Customizing
서버설계
UI 컨테이너
적용 (앱)
서버 개발자
JAVA Developer
어댑터
적용/개발
개별테스트
통합테스트
2. bizMOB 개발환경 세팅 가이드
2. bizMOB Server 개발환경 세팅 가이드
• 2-1. Tomcat(WAS) 설치
• 2-2. Eclipse 개발환경 구축
2-2. Tomcat(WAS) 설치
2-2. Tomcat(WAS) 설치

bizMOB 서버 개발은 Eclipse에서 Tomcat 서버를 이용하여 개발 테스트를 진행한다.

STEP 1. Tomcat 다운로드

URL : http://tomcat.apache.org에서 tomcat 6.x버전 또는 7.x버전 다운로드
2-2. Tomcat(WAS) 설치

STEP 2. Tomcat 설치

아래 화면(Choose Components)까지 Default로 진행
2-2. Tomcat(WAS) 설치

STEP 3. Tomcat 설정


개발상황에 따라 HTTP/1.1 Connector Port를 변경하여 사용
톰캣을 여러 개 설치해야 할 경우가 있으므로 Windows Service Name에서 식별 가능한 네이밍을 해야 함
2-3. Eclipse 개발환경 구축
2-3. Eclipse 개발환경 구축

bizMOB Server 개발은 Eclipse Tool을 사용하며 사전 세팅이 선행되어야 함
구분
WAS
버전
다운로드
apache-tomcat
6.0.x ~
http://tomcat.apache.org/
개발언어
JAVA J2SE
1.6x 권장
http://www.oracle.com/technetwork/java/javase/downloads
개발도구
Eclipse Java EE IDE
Indigo ~
http://eclipse.org/
플러그인
Properties Edit
-
Eclipse의 Install New Software에서 아래의 URL로 설치
http://propedit.sourceforge.jp/eclipse/updates
BizMOB Plugin
-
Eclipse의 Install New Software에서 아래의 URL로 설치
http://bizmob.mcnc.co.kr:90/adt/update
 사전작업.



이름
JAVA JDK 설치
Tomcat 설치
Eclipse 설치
2-3. Eclipse 개발환경 구축
 Properties Editor Ecilpse Plugin 설치

Java properties 파일 한글사용을 위해서 Ecilpse Plugin Properties Editor를 설치



STEP 1. Navigation : Help -> Install New Software 화면으로 이동
STEP 2. Add버튼 클릭 후, http://propedit.sourceforge.jp/eclipse/updates을 등록
STEP 3. PropertiesEditor의 Properties Editor 체크 후 Next -> Next -> 동의함 -> Finish
2-3. Eclipse 개발환경 구축
 bizMOB Ecilpse Plugin 설치

bizMOB Server 개발 시 Service Builder와 연계를 위해 bizMOB Plugin을 설치



STEP 1. Navigation : Help -> Install New Software
STEP 2. Add버튼 클릭 후, http://bizmob.mcnc.co.kr:90/adt/update 을 등록
STEP 3. bizMOB ADT의 bizMOB ADT Feature 체크 후 Next -> Next -> 동의함 -> Finish
2-3. Eclipse 개발환경 구축
 SVN Eclipse Plugin 설치

형상관리를 위해서 SVN Eclipse Plugin을 설치



STEP 1. Navigation : Help -> Eclipse MarketPlace
STEP 2. Find에서 SVN을 입력하고 검색하여 Subversive – SVN Team Provider를 Install
STEP 3. Eclipse 재시작 후, SVN Kit 1.3.8 선택 후 Next -> 동의함 -> Finish
2-3. Eclipse 개발환경 구축
 Eclipse 인코딩 설정


STEP 1. Navigation : Window -> Preferences
STEP 2. Text file encoding을 “UTF-8”로 세팅

주의 - Eclipse Default인 “MS949”를 사용할 경우 한글 인코딩에 문제가 생길 수 있음
2-4. Eclipse 개발환경 구축
 Service Builder 설정



STEP 1. Navigation : Window -> Preferences
STEP 2. bizMOB 탭에서 Service Builder URL 및 계정을 입력 후 “인증받기” 클릭 [테스트 계정 :: testuser / 1111]
STEP 3. Service Builder 연동 확인 : Window -> Show View -> bizMOB -> Messages Tree View

Messages Tree View에 Service Builder 전문 리스트를 확인
2-3. Eclipse 개발환경 구축
 개발용 서버(Tomcat) 세팅




STEP
STEP
STEP
STEP
1.
2.
3.
4.
Navigation : Window -> Show View -> Other -> Server
Server 탭에서 New -> Server
설치되어 있는 Tomcat의 버전 선택
Tomcat의 설치경로 지정
3. bizMOB Service Builder 사용 가이드
3. bizMOB Service Builder 사용 가이드
• 3-1. bizMOB 전문관리
• 3-2. 프로젝트 관리
3-1. bizMOB Service Builder 사용 가이드
3-1. bizMOB 전문관리



본 가이드의 bizMOB Service Builder 사용법은 Service Builder 페이지의 도움말로 제공하고 있다.
bizMOB Server와 Client 간의 통신 규약을 정의 하는 전문을 Service Builder에 등록하기 위해서 다음의 도움말을 참고한다.
전문관리 도움말 : http://bizmob.mcnc.co.kr:90/helpcenter/html/index.html
3-2. 프로젝트 관리


※
Service Builder의 전문은 프로젝트 단위로 관리되며 해당 프로젝트 생성 및 사용자 추가는 관리자 권한(admin, pm)의 사용자만 가능하
다.
프로젝트 관리 도움말 : http://bizmob.mcnc.co.kr:90/helpcenter/html/pjthelp.html
모빌C&C Service Builder : http://bizmob.mcnc.co.kr:90/builder


테스트 ID : testuser
PASSWORD : 1111
4. bizMOB 코딩 가이드
4. bizMOB Server 코딩 가이드
•
•
•
•
•
•
4-1.
4-2.
4-3.
4-4.
4-5.
4-6.
신규 프로젝트 생성
Model 객체 생성
Adapter 개발
Code Template
bizMOB Server 설정
Code Convention
4-1. 신규 프로젝트 생성
4-1-1. 신규 프로젝트 생성

bizMOB Server Project는 adapter, model, web, SMART_HOME으로 구성된다.
 SMART_HOME 생성


STEP 1
STEP 1. Navigation : File -> Other -> bizMOB MEAP -> SMART_HOME Project 선택
STEP 2. Project name을 입력 후 Finish ( default : SMART_HOME)
STEP 2
4-1. 신규 프로젝트 생성
 WEB 생성


STEP 1. Navigation : File -> Other -> bizMOB MEAP -> bizMOB WebServer Project 선택
STEP 2. Project name 입력, Target runtime 선택(사용할 WAS),
Dynamic web module version은 2.5 선택
Configuration은 bizMOB Server Project 선택 후 “Next”


STEP 1
STEP 3. Configure project for building a Java application 화면에서 “Next”
STEP 4. Context root를 입력( 서버 연동 시 url에 사용될 root ) 후 “Finish”
STEP 2
STEP 3
STEP 4
4-1. 신규 프로젝트 생성
 Model 생성


STEP 1. Navigation : File -> Other -> bizMOB MEAP -> bizMOB Model Project 선택
STEP 2. Project name 입력 후 “Finish”
STEP 1
STEP 2
4-1. 신규 프로젝트 생성
 Adapter 생성


STEP 1. Navigation : File -> Other -> bizMOB MEAP -> bizMOB Adapter Project 선택
STEP 2. Project name 입력 후 “Finish”
STEP 1
STEP 2
4-1. 신규 프로젝트 생성
4-1-2. 신규 프로젝트 설정

5-1-1에서 생성된 프로젝트 구동을 위해서 다음의 과정을 진행한다.
 bizMOB User Library 설정

bizMOB Server는 SMART_HOME/lib의 Library를 기반으로 구동된다.



STEP 1. web Project에서 마우스 오른쪽 클릭 -> Properties 선택
STEP 2. Java Build Path 선택 후 Libraries 탭 bizmob3.0를 선택 후 의 “Edit…” 클릭
STEP 3. “User Libraries..” 버튼 클릭
STEP 1
STEP 2
STEP 3
4-1. 신규 프로젝트 생성



STEP 4. “Import…” 버튼 클릭
STEP 5. “Browse…” 버튼 클릭
STEP 6. 5-1-1에서 생성한 SMART_HOME의 lib 폴더로 이동 후 bizmob3.0.userlibraries 선택
STEP 4
STEP 5
STEP 6
4-1. 신규 프로젝트 생성
 Web Deployment Assembly 설정

bizMOB Server의 adapter, model, library를 web Project에 Deployment Assembly 연결한다.




STEP
STEP
STEP
STEP
STEP 1
1.
2.
3.
4.
web Project에서 마우스 오른쪽 클릭 -> Properties 선택
Deployment Assembly 선택 후 “Add…”버튼 클릭
Project 선택 후 “Next”
5-1-1에서 생성한 adapter와 model을 선택 후 “Finish”
STEP 3
STEP 2
STEP 4
4-1. 신규 프로젝트 생성



STEP 5. STEP 2화면에서 “Add…”버튼 클릭
STEP 6. Java Build Path Entries 선택 후 “Next”
STEP 7. bizmob3.0과 bizmobEx 선택 후 “Finish”

STEP 5
bizmobEx 는 bizMOB 기본 라이브러리 외 별도 구현에 사용되는 라이브러리
STEP 6
STEP 7
4-1. 신규 프로젝트 생성
 Adapter와 Model 연결하기

Adapter에서 Model 객체를 사용하기 위해서 다음과 같은 설정을 한다.




STEP
STEP
STEP
STEP
1.
2.
3.
4.
Navigation : adapter project -> 마우스 오른쪽 클릭 -> Properties 선택
Java Build Path 탭으로 이동
Add 버튼 클릭 후 앞에서 생성한 model project 체크 후 “OK”
선택된 model project가 추가되었는지 확인 후 “OK”
STEP 1
STEP 2
STEP 3
STEP 4
4-1. 신규 프로젝트 생성
 Web과 Adapter 연결하기

Web에서 Adapter 객체를 사용하기 위해서 다음과 같은 설정을 한다.




STEP
STEP
STEP
STEP
1.
2.
3.
4.
Navigation : adapter project -> 마우스 오른쪽 클릭 -> Properties 선택
Java Build Path 탭으로 이동
Add 버튼 클릭 후 앞에서 생성한 adapter project 체크 후 “OK”
선택된 model project가 추가되었는지 확인 후 “OK”
STEP 1
STEP 2
STEP 3
STEP 4
4-2. Model 객체 생성
4-2. Model 객체 생성


Service Builder에 입력된 전문은 bizMOB Server 개발 툴을 이용하여 Model 객체로 자동 생성할 수 있다.
Model은 Request/Response에 대한 JSON포멧의 전문을 Java 객체로 변환한 것으로 Adapter에서 사용한다.
 Model Base Package 생성


STEP 1. Navigation : File -> Other -> Java -> Package 선택
STEP 2. Name 필드에 Base Package명을 입력 후 “Finish”
STEP 1
STEP 2
4-2. Model 객체 생성
 Model 객체 생성

STEP 1. Navigation : Messages Tree View -> 마우스 오른쪽 클릭 -> Generate Domain Class 선택


STEP 2. Source folder 선택


5-1에서 생성한 Model의 Soruce folder(src)를 선택한다.
STEP 3. Package 선택


Messages Tree View가 Eclipse 화면에 없을 경우 상단 메뉴 bizMOB – Open Messages Tree View를 클릭한다.
앞 단계에서 생성한 Model Base Package를 선택한다.
STEP 4. Finish 버튼을 클릭

STEP 1
해당 전문의 Header와 Request/Response Body 객체가 자동으로 생성된다.
STEP 2
STEP 3
STEP 4
4-3. Adapter 개발
4-3. Adapter 개발


정의한 전문에 대한 bizMOB Server의 로직은 Adapter에 구현한다.
기본 Adapter는 Model과 동일하게 Messages Tree View를 통해서 자동 생성되며 개발자가 내부 로직 코딩을 진행한다.
 Adapter Base Package 생성


STEP 1. Navigation : File -> Other -> Java -> Package 선택
STEP 2. Name 필드에 Base Package명을 입력 후 “Finish”
STEP 1
STEP 2
4-3. Adapter 개발
 Adapter 객체 생성

STEP 1. Navigation : Messages Tree View -> 마우스 오른쪽 클릭 -> Generate Adapter Class 선택


STEP 2. Source folder와 Package를 선택


5-1에서 생성한 Model의 Soruce folder(src)를 선택한다.
STEP 4. Package 선택


Adapter의 로직에 따라 Use Adapter를 선택한다. ( 기본제공 어댑터 : DB Adapter, SAP Adepter, HTTP Adapter)
STEP 3. Source folder 선택


Messages Tree View가 Eclipse 화면에 없을 경우 상단 메뉴 bizMOB – Open Messages Tree View를 클릭한다.
앞 단계에서 생성한 Model Base Package를 선택한다.
STEP 5. Finish 버튼을 클릭

해당 전문의 Adapter 객체가 자동으로 생성된다.
STEP 3
STEP 1
STEP 2
STEP 4
STEP 5
4-3. Adapter 개발
 Adapter 구조
자동 생성된 Adapter의 구조는 다음과 같다.

①
전문명 ID(TR CODE) : 생성된 Adapter의 전문 ID를
의미한다.
②
Logger : Adapter에서 로그 기록을 하기 위한 Log
Service 객체이다.
③
DBAdapter : Adapter에서 DB연동을 위한 Service
객체로 Adapter 생성할때 Use Adapter에서 선택되
었을때 추가된다.
④
HTTPAdapter : Adapter에서 HTTP 프로토콜을 이
용하여 연동하기 위한 Service 객체로 Adapter 생성
할때 Use Adapter에서 선택되었을때 추가된다.
⑤
onProcess 메소드 : Adapter의 로직이 구현되는 부
분으로 Requset/Response 처리 및 Legacy 연동에
대한 코딩을 한다.
1
2
3
4
5
4-3. Adapter 개발
 Request 전문 연동

서버 Adapter에서 Request Model객체를 통해 클라이언트에서 전달된 데이터를 사용한다.
1
2
3
4
①
Request 객체 : Adapter의 onProcess의
JsonAdaptorObject를 통해서 Request 객체를 생성
한다.
②
Header 객체 : Request Header 객체는 Request 객
체의 getHeader()를 통해서 생성한다.
③
Request Body 객체 : Request Body 객체는 Request
객체의 getBody()를 통해서 생성한다.
④
요청 데이터 : 클라이언트에서 전달된 데이터는
Request Body 객체의 get 메소드를 통해서 사용한다.
4-3. Adapter 개발
 Response 전문 연동

서버 Adapter에서 로직 처리 후 클라이언트로 전달할 데이터는 다음과 같이 처리한다.
1
2
3
4
5
①
Response 객체 : Adapter 처리 후 클라이언트로 데
이터를 전달하기 위한 객체(Header, Body로 구성)이
다.
②
Response Body 객체 : Adapter 처리 후 Response
전문에 정의한 데이터를 클라이언트에게 전달할 때
사용하는 객체이다.
③
Response Body 데이터 처리 : 각 전문에 해당된 데
이터를 set 메소드를 통해서 처리한다.
④
Set Response Header, Body : 1에서 생성한
Response 객체에 header와 body를 추가한다.
⑤
Return Response : Adapter 로직 완료 후 최종 데이
터는 makeResponse 메소드를 통해서 retrun한다.
(Adapter에서 정의한 Response 객체들은 bizMOB
Framework를 통해서 JSON포멧으로 자동 파싱되어
클라이언트로 전달된다.)
4-3. Adapter 개발
 Adapter 에러 처리

서버 Adapter에서 로직 처리 중 오류/에러에 대한 처리는 다음과 같다.
①
1
오류/에러 처리 : Adapter 처리 중 발생된 오류 또는
에러에 대한 처리는 makeFailResponse 메소드를 통
해 Return한다.
makeFailResponse에 전달할 변수는 에러코드와 에
러 메시지 이며, 전무코드 + 에러코드는 문자열4자
리 + 숫자에러코드4자리로 구성한다.
해당 메소드를 통해서 Return하면 클라이언트에게
전달할 전문 Header의 result 값이 false로 세팅된다.
4-4. Code Template
4-4. Code Template

bizMOB Server 개발 시 자주 사용하는 기능에 대한 Code Template.
 File Download




게시판의 첨부파일 또는 사진 등의 파일을 클라이언트가 다운로드 받기 위해서 UrlEncodedForm 방식의 bizMOB
Downloader Class를 AbstractDownloader를 상속받아 download Method를 구현한다.
Downloader Class 명은 Sample + Downloader 의 형태로 Class명의 끝은 항상 Downloader로 끝나야 한다.
Downloader 호출 URL은 Class명의 Downloader 앞에 문자열로 매핑된다.
Downloader Class 적용을 위해서 controller-servlet.xml 에 context:component-scan 태그를 추가한다.
Download 코드 작성
4-4. Code Template

Download Class의 예는 다음과 같다.
4-4. Code Template


기본 Download Class는 세션이 연결(LOGIN전문 수행)되어야 접근이 가능하다.
세션을 사용하지 않고 Download를 사용할 경우 다음의 Servlet Controller 구현하여 연결한다.

Servlet Controller에서 앞서 개발한 Download Class를 호출하도록 코딩하며 호출 URL은 @ReauestMapping설정에 따라 달
라진다.
예) 기본 다운로드(세션사용) : http://{context_root}/download/sample/
Servlet Controller(세션미사용) : http://{context_root}/sample/
4-4. Code Template
 File Upload




bizMOB Server는 MultiPartForm-Data 방식의 File Upload 기능을 제공한다.
클라이언트에서 사진 또는 동영상과 같은 파일을 서버로 전송하기 위해서 bizMOB Uploader를 호출하며 업로드된 파일은
임시저장 관리된다.
File UID 생성 전문(ZZ0004)과 File Upload controller는 bizMOB에서 제공되는 기능이며 Upload된 파일을 핸드링하는
Adapter는 별도 개발해야 한다.
bizMOB Upload 프로세스는 다음의 그림과 같다.
bizMOB 서버
Client
File Upload ADT
(고객사별개발)
3
전송
1
Create File UID ADT (ZZ0004)
2
File Upload Controller
(messageframework)
로드
저장
Temp File Repository
Legacy File Repository
4-4. Code Template

bizMOB의 Uploader를 사용하기 위해서 다음의 세팅을 확인한다.
대상 파일 : web project => WebContent/WEB-INF/controller-servlet.xml
WebContent/WEB-INF/config/applicationcontext/applicationcontext-webapp.xml
업로드 파일의 Max Size
업로드된 파일의 임시저장 경로(경로가 일치 해야함)
4-4. Code Template

bizMOB Server는 업로드된 임시저장소의 파일을 컨트롤 하기 위해서 다음의 기능을 제공한다.
① File 원본 명 조회 : uploadStorageAccessor.getFileName(UID);
② File Data 로드 : uploadStorageAccessor.load(UID);
③ 임시 저장된 File 삭제 : uploadStorageAccessor.remove(UID);

Upload Adapter 예는 다음과 같다.
4-4. Code Template
 DBAdapter

bizMOB Server에서 제공하는 Mybatis 기반의 DB 연동 모듈로 사용법은 다음과 같다.

코딩 절차
①
②
③
쿼리 작성 (SQL XML) : 사용할 쿼리를 xml 파일에 작성한다. (작성법은 Mybatis와 동일함)
SqlMapConfig.xml 설정 : 1번 과정에서 생성된 xml파일을 SqlMapConfig.xml의 mapper에 추가한다.
Adapter 코딩 : bizMOB 에서 제공하는 dbAdapter의 API를 사용하여 코딩한다.
1
2
Result 객체
Parameter 객체
Mapper에 SQL File을 추가한다.
3
DB Adapter 추가
SQL File :: namespace . id
4-4. Code Template

Select API
①
selectOne : 조회 쿼리 Result Row가 1개 인 경우 사용
dbAdapter.selectOne(DB Name, Query Mapper.Query Id, Request Body or Object)
②
selectList : 조회 쿼리 Result Row가 1개 이상인 경우 사용
dbAdapter.selectList(DB Name, Query Mapper.Query Id, Request Body or Object)
4-4. Code Template

Update API
dbAdapter.update(DB Name, Query Mapper.Query Id, Request Body or Object)

Insert API
dbAdapter.insert(DB Name, Query Mapper.Query Id, Request Body or Object)
4-4. Code Template

Delete API
dbAdapter.delete(DB Name, Query Mapper.Query Id, Request Body or Object)

Transaction

bizMOB에서 제공하는 DB Adapter는 디폴트로 Auto Commit으로 수행된다. Transaction 처리를 위해서는 다음과 같은 절차를 따른다.
① [설정] SqlMapConfig.xml에서 Transaction을 적용할 DB의 transactionManager 값을 “JDBC”로 변경한다.
기본 값은 “MANAGED” 이며,
Transaction을 사용할 경우 “JDBC”로 변경
4-4. Code Template
②
[코딩] 세션을 Open
③
[코딩] 쿼리 수행 : Auto Commit API 사용법에서 DB Name 자리에 2번에서 Open한 세션을 입력한다.
④
[코딩] commit / rollback 처리
현재까지 수행된 쿼리를 commit 한다.
현재까지 수행된 쿼리를 rollback한다.
현재까지 수행된 쿼리를 commit 후 세션을 종료한다.
현재까지 수행된 쿼리를 rollback 후 세션을 종료한다.
※ Transaction 사용했을 때 반드시 session.close 또는 rollbackAndClose/commitAndClose을 수행해서 세션을 종료한다.
4-4. Code Template
 HttpAdapter

bizMOB Server에서 제공하는 Http Client 모듈로 Apache에서 권장하는 코드 템플릿 방법으로 제공하고 있다.

코딩 절차
① Http Mapper 모듈을 작성한다(default – UrlEncodedFormEntity, 필요에 따라 Entity를 변경해야 함).
② Adapter 코딩 : bizMOB 에서 제공하는 httpAdapter의 API를 사용하여 코딩한다.
* 데모코드에 기본 HTTP Mapper파일 제공(UrlEncodedFormEntityMapper.java, DM0005_Adapter.java)
1
2
4-4. Code Template

API
①
doPost: Post방식으로 전송할 경우 사용
요청 파라메터 세팅
Post Call
응답 데이터 확인
②
doGet : Get방식으로 전송할 경우 사용
요청 파라메터 세팅 & Get Call
응답 테이터 확인
4-4. Code Template
 Meta Data(세션) 사용법

Adapter에서 서버의 세션을 사용하고자 할 때 bizMOB Server의 Meta Data를 활용하며 사용법은 다음과 같다.

Meta Data 조회
①
②
Adapter Input parameter인 JsonAdaptorObject 에서 ObjectNode 형태의 Meta 객체를 로드
ObjectNode에서 세션에 저장되어 있는 Key 값으로 데이터를 조회
1
2

Meta Data 저장/수정
①
②
③
④
1
2
3
Adapter Input parameter인 JsonAdaptorObject 에서 ObjectNode 형태의 Meta 객체를 로드
ObjectNode에서 세션에 데이터 저장 및 수정( 기존에 저장되어 있는 Key로 저장 시 Value 가 최신으로 변경됨)
JsonAdaptorObject의 Meta에 수정된 Meta 객체(ObjectNode)를 매핑한다.
어댑터 수행 종료 후 bizMOB Server 코어 로직에서 변경된 세션을 저장처리한다.
4-5. bizMOB Server 설정
4-5. bizMOB Server 설정

bizMOB 서버의 설정은 web project의 config와 SMART_HOME에 포함된 xml, properties 파일들을 통해서 이루어진다.
 Web Project Config 구성
경로 및 파일명
web project
WEB-INF/config
설명
bizmob_configuration.xml
bizMOB Server 구동에 관한 기본 설정파일
applicationcontext
bizMOB Server 구동에 관한 Spring 설정
server
bizMOB Server 구동에 관한 기타 설정
sql

MSSQL
bizMOB Server Core에서 사용하는 MSSQL 쿼리
MYSQL
bizMOB Server Core에서 사용하는 MYSQL 쿼리
ORACLE
bizMOB Server Core에서 사용하는 ORACLE 쿼리
bizMOBDB_SqlMapConfig.xml
bizMOB Server 기본 sql config 설정 파일
journalDB_SqlMapConfig.xml
bizMOB Server 저널링 sql config 설정 파일
Web project에 포함된 설정 파일은 bizMOB 기본 제공된 파일로 가이드에 언급된 내용 외 임의 수정을 하지 않도록 한다.
4-5. bizMOB Server 설정
 bizMOB 기본 설정 방법

bizMOB Server 구동에 필요한 기본 설정에 대한 변경은 WEB-INF/config/bizmob_configuration.xml 파일을 수정한다.

기본설정

SMART_HOME 경로 설정
bizMOB Server가 구동 시 참조할 외부설정파일(SMART_HOME)의 경로를 입력해 주어야 한다.
설정은 customHome 태그에 입력한다. (다중으로 입력이 가능하며 순차적으로 접근 가능한 경로인지 판단하며 구분은 “,” 으로 한다.)

통계수집여부 설정
통계 및 모니터링을 위해서 journal Data를 DB에 입력 여부를 설정한다. (true : 사용, false : 미사용)

웹에뮬레이터 사용여부 설정
Client 개발 시 사용하는 Web 에뮬레이터가 서버와 연동 가능 여부를 설정한다. (true : 가능 , false : 불가능)

어댑터 자동리로드 서비스 설정
어댑터 리소스가 변경되었을때 서버에서 자동으로 리로드 여부를 설정한다. (true : 자동리로드 , false : 리로드 안함)
4-5. bizMOB Server 설정

인증방법 설정

인증 모드 설정
서비스 되는 유형에 따라 인증모드를 설정하며 유형은 b2b, b2c로 구분된다.
b2b : 기업용 서비스로 사용자, 단말 인증을 수행
b2c : 사용자, 단말 인증을 하지 않는다.

인증 순서 설정
bizMOB Server는 2중 인증의 구조로 되어 있으며 bizmob, legacy로 구분한다. 해당 인증 순서는 설정의 의해 변경이 가능하다.
bizmob은 bizMOB DB에 등록되어 있는 사용자, 단말에 대한 인증을 수행 하며, legacy는 프로젝트에서 구현하는 Adapter의 인증로직을 수행
한다.

인증 방법 설정
인증 방식은 db, file을 제공하며 운영 시에는 반드시 db로 세팅 한다.
db : bizMOB DB 기반의 라이선스, 사용자, 단말 인증을 수행하며 자동 업데이트를 지원한다.
file : 개발 시 사용되는 모드로 file 기반의 라이선스 인증을 수행하며 사용자, 단말 인증은 수행하지 않는다.
자동 업데이트를 지원하지 않는다.
4-5. bizMOB Server 설정

멀티로그인 설정

멀티로그인 설정 기능 사용여부
멀티로그인 정책을 적용여부를 설정한다. (true : 기능 사용, false : 사용안함)

세션타입설정
sessionType에서 최근 접속시간에 따라 세션타임아웃이 늘어나는 일반적인 세션설정과 세션 토큰 인증방식과 같은 개념인 고정된 세션타임
으로 설정할 수 있다.
fixed : 고정된 세션 타임
flexible : 최근 접속시간 + 세션타임

세션유지시간 설정
bizMOB Server 내부에서 관리하는 세션의 유지 시간을 설정한다. (분 단위 세팅)

멀티로그인 정책 설정
사용자 로그인 정책을 설정한다.
freeUsers : 멀티로그인 허용
onlyFirstUser : 처음 로그인한 유저의 세션을 유지
onlyLastUser : 마지막 로그인한 유저의 세션을 유지

서버정보 설정
이중화된 서버의 정보를 입력하여 세션 정책을 공유하도록 한다.
4-5. bizMOB Server 설정
 bizMOB Adapter Base 설정 방법




bizMOB Server에서 개발된 Adapter는 Base Package를 지정해야 한다. (Base Package 하위에 존재하는 Adapter는 서버구
동 시 자동으로 로드됨)
해당 설정은 web project의 WEB-INF/config/applicationcontext/applicationcontext-adapter.xml 파일을 수정한다.
첫 번째 context-componet-scan 태그 base-package에 Adapter의 package를 입력한다.
base-package="com.mcnc.smart.hybrid.adapter.impl" 부분은 수정하지 않도록 주의한다.
예) 가이드 기준 => base-package=“com.mcnc.bizmob.demo.adapter”
4-5. bizMOB Server 설정
 bizMOB DB 설정


bizMOB Server가 DB와 연동되어 구동되기 위해서는 bizMOB DB, Journal DB 설정 해야 한다.
bizMOB DB는 인증(사용자, 단말), 업데이트(앱,컨텐츠) 등을 위해서 설정되어야 하며
해당 설정은 WEB-INF/config/sql/bizMOBDB_SqlMapConfig.xml 파일을 수정한다.
1
①
DataBase 구분 설정 : 연동하려는 DB의 유형을 설정한
다.( Oracle DB : ORACLE, MSSql DB : MSSQL, MySql DB :
MYSQL)
②
DataSource 명 설정 : WAS에 설정한 Data Source명에 맞
춰 설정한다.
2

Journal DB 는 통계 및 모니터링을 위한 Journaling을 위해 설정되어야 하며
해당 설정은 WEB-INF/config/sql/journalDB_SqlMapConfig.xml 파일을 수정한다. (설정방법은 위 bizMOB DB와 동일)
4-5. bizMOB Server 설정
 SMART_HOME 구성
경로 및 파일명
SMART_HOME
conf
applicationcontext
bizMOB Server 개발 시 추가되는 Spring 설정
dev-license
bizMOB Server 개발 라이선스
properties
bizmob.properties
bizMOB Server 기본 properties 파일
server
display_message_en.xml
에러메시지 영문 properties 파일
display_message.xml
에러메시지 기본(한글) properties 파일
log4j2.xml
Log 설정 파일
mandatorConfig.xml
슈퍼User 설정 파일
servicePauseInterceptorConfig.xml
서비스 일시중지 설정 파일
session_management.xml
세션 설정파일
Sql
lib
설명
bizMOB Server 개발 시 추가되는 SQL 설정 및 쿼리
bizMOB Server 구동에 사용되는 라이브러리
4-5. bizMOB Server 설정
 bizMOB custom – Spring 설정 추가방법


프로젝트 개발 시 추가되는 Spring 설정파일은 SMART_HOME/conf/applicationcontext 디렉토리에 추가한다.
서버가 구동 될 때 SMART_HOME/conf/applicationcontext 의 xml파일을 로드 하며 파일 규칙은 없다.
 bizMOB custom – Properties 사용방법


SMART_HOME/conf/properties 에 Adapter에서 사용할 properties를 정의 하여 사용한다.
bizMOB Server에서 기본 제공하는 bizmob.properties는 다음과 같은 방법으로 사용한다.
샘플코드 (adapter)
String prefixUrl = SmartConfig.getString("ekp.webservice.prefix.url");
 http://gw.kyowon.dev
# smartConfig 에서 사용하는 프로퍼티 샘플 (bizmob.properties)
ekp.webservice.prefix.url = http://gw.kyowon.dev
# 현장관리자 전문명
FM00003.tr.name =최초 사용 등록
FM01001.tr.name =로그인
…
4-5. bizMOB Server 설정
 bizMOB custom – 세션 체크설정방법


bizMOB Server는 TRCode 단위로 세션체크를 설정하여 사용 할 수 있다.
세션설정은 SMART_HOME/conf/server/session_management.xml을 수정한다.



세션 사용 : default = on
세션 미사용 : default = off
서비스별 설정 : 특정 전문별로 별도 세션 설정을 할 수 있으며 해당 전문 코드를 명시하고 설정한다.
예) ZZ0001 = off
4-5. bizMOB Server 설정
 bizMOB custom – Error 메시지 설정방법


Adapter에서 Client로 전달 할 Error 메시지를 설정할 수 있다.
세션설정은 SMART_HOME/conf/server/display_message.properties 을 수정한다.

적용방법 : ErrorCode = Message
예) ERR000 = 세션이 만료되었습니다. 로그인을 다시 하세요.
4-5. bizMOB Server 설정
 bizMOB custom – Mybatis 설정방법


Mybatis에서 제공하는 Configuration 방식을 이용하여 Datasource를 설정한다.
아래코드는 bizMOB core에서 사용하고 있는 bizMOBDB_SqlMapConfig.xml파일이며 SMART_HOME/conf/sql 디렉토리에
도 위와 같은 방식으로 xml을 설정하면 bizMOB이 구동될 때 자동으로 로드한다.
<configuration>
<properties>
<property name="DATABASE" value="ORACLE" />
</properties>
<typeAliases>
sql에서 request/response 으로 사용할 DTO 모델 정의
<typeAlias type="com.mcnc.smart.db.type.DBMap" alias="DefaultMap" />
<typeAlias type="com.mcnc.portal.auth.model.Env" alias="Env" />
…
</typeAliases>
<typeHandlers>
<typeHandler javaType="boolean" jdbcType="CHAR" handler="com.mcnc.common.mybatis.handler.BooleanCharTypeHandler" />
<typeHandler javaType="boolean" jdbcType="VARCHAR" handler="com.mcnc.common.mybatis.handler.BooleanCharTypeHandler" />
</typeHandlers>
<environments default="BizMOBDB">
<environment id="BizMOBDB">
<transactionManager type="JDBC" />
<dataSource type="JNDI">
<property name="initial_context" value="${initial_context}" />
<property name="data_source" value="bizmobDS" />
</dataSource>
</environment>
</environments>
WAS에 정의되어 있는 datasource 세팅
bizMOB이 구동될 때 initial_context 값을 자동으로 세팅
<mappers>
<mapper url="file:///${bizmobCoreHome}/sql/${DATABASE}/Application.xml" />
<mapper url="file:///${bizmobCoreHome}/sql/${DATABASE}/ServerLicense.xml" />
…
</mappers>
</configuration>
해당 datasource에서 사용할
SQL Mapper파일의 경로
4-6. Code Convention
4-6. Code Convention

bizMOB Server 개발 시 적용할 규칙.
 전문코드(TR Code) 생성 정책

전문 코드는 1~7자리로 7자리를 넘었을 때는 포털 저널링 시 에러가 발생된다.
 에러코드(Error Code) 생성 정책

어댑터 코딩 시 에러코드를 정의 할 때 다음과 같은 규칙을 권장한다.
전문코드(1~7자리) + 그룹코드(4자리문자) + 에러코드(4자리숫자)
 세션(Meta Data) 사용 정책


어댑터간 데이터 공유를 위해서 bizMOB Server Meta 데이터(세션에 저장)를 사용한다.
Meta 데이터를 사용하기 위해서 세션이 유지되어야 하며 bizMOB LOGIN 전문을 반드시 수행해야 한다.
4-6. Code Convention
 Adapter 로그 정책

로그 출력 시 트랜젝션ID(tID)를 출력한다. ( 데모 Adapter 소스 참고 )

Adapter 처리 시간 및 Legacy System 처리시간을 출력한다.
Legacy 처리 시간
Adapter 처리 시간
4-6. Code Convention
 주석 정책

bizMOB Server에서 개발되는 파일(class) 및 소스(code)에는 다음과 같은 주석 정책을 따른다.

Adapter Class 파일 주석

각 전문별 생성된 Adapter Class 파일 상단에 다음의 주석을 필수로 작성한다.
/**
* <p> Title : Adapter Class의 개요 작성<p>
* <p> Legacy System : Adapter Class에서 연동하는 System(DB,SAP 등)의 상세 정보를 기록<p>
* <p> Description : Adapter Class의 주요 목적 및 세부 설명을 기록<p>
*
* <p> Error Code : Adapter Class에서 정의한 에러코드에 대한 설명을 기록<p>
*
* <p> Last Update Date : 최종 수정 일자를 기록
*
* @author 작성자
*
*/


일반 Class 파일 주석
일반적으로 생성된 Java Class 파일에는 다음의 주석을 필수로 작성한다.
/**
* <p> Title : Class의 개요 작성<p>
* <p> Description : Adapter Class의 주요 목적 및 세부 설명을 기록<p>
*
* <p> Last Update Date : 최종 수정일을 기록
*
* @author 작성자
*/
4-6. Code Convention

함수 주석

함수를 추가했을 때 해당 함수에 대해서 다음의 주석을 필수로 작성한다.
/**
* <p> Title : 함수의 개요 작성<p>
* <p> Description : 함수의 주요 목적 및 세부 설명을 기록<p>
*
* @param 입력받는 파라메터에 대한 설명
* @return 리턴되는 데이터에 대한 설명
*
*/


코드 주석
코드를 작성할 때 각 코드에 대한 명확한 설명을 주석으로 기록한다. 선언한 변수, 조건문, 반복문에 대한 주석은 필수로 기
록한다.
①
변수 주석
 변수가 선언된 곳에 변수에 대한 의미 및 설명을 주석으로 기록한다.
String userId = reqBody.getUserId(); // 사용자 ID
String passwd = reqBody.getPasswd(); // 사용자 패스워드
②
조건/반복문 주석
 조건/반복문의 시작지점에 해당 로직의 의미를 명확히 주석으로 기록한다.
// 첨부된 파일이 있을 경우 수행
if( CodesEx.ATTACH_FILE_Y.equalsIgnoreCase(attachFlag) ){
// 요청된 첨부파일 리스트를 반복 처리
for (DM0004Request_Body_attachList attach : attachList) {
}
}
4-6. Code Convention
 코드 정책

Adapter 개발 시 선언하는 변수, 함수에 대한 Naming과 상수 정의 방법은 다음의 규칙을 따른다.

Naming


Adapter 개발 시 생성하는 변수 및 함수에 대한 Naming 규칙은 카멜 표기법(Camel Notation)을 따른다.
생성되는 변수(함수의 Input Parameter 포함) 및 함수는 의미 있는 Naming을 부여한다. (a, a1, aaa 등의 Naming 하지 않도록 함)
[올바른 예]
(변수)
String userId = “tester”;
String userName = “테스터”;
String deptName = “개발팀”;
(함수)
public String testAdapterMethod(String trCode){
}
[잘못된 예]
(변수)
String a1= “tester”;
String a2 = “테스터”;
String a3 = “개발팀”;
(함수)
public String abc1(String param1){
}
4-6. Code Convention

상수 정의


Adapter 개발 시 코드상의 상수 값들은 bizMOB Server에서 제공하는 Code Class를 상속받아 상수 Class를 작성하여 사용한다.
상수 변수는 대문자로 단어의 구분은 “_”를 사용한다.
[상수 정의 Class 예]
상수변수는 대문자와 “_” 로 Naming 한다.
public class CodesEx extends Codes{
/**
* Adapter 정의 상수
*/
public static final String ATTACH_FILE_Y= "Y"; // 첨부파일 유
public static final String ATTACH_FILE_N= "N";// 첨부파일 무
/**
* DATA_SOURCE
*/
public static final String DATA_SOURCE_DEMO_bizMOBDB = "BizMOBDB"; // bizMOB DB
public static final String DATA_SOURCE_DEMO_LEGACYDB = "LegacyDB"; // Legacy DB
}
[상수 정의를 통한 올바른 코딩]
// 첨부된 파일이 있을 경우
if( CodesEx.ATTACH_FILE_Y.equalsIgnoreCase(attachFlag) ){
}
[하드 코딩된 잘못된 코딩]
// 첨부된 파일이 있을 경우
if( “1”equalsIgnoreCase(attachFlag) ){
}
비교 대상의 값이 상수변수의 Name으로 의미 파악이 쉬움
비교 대상의 값의 의미를 파악하기 어려움
5. bizMOB Server 테스트 가이드
5. bizMOB Server 테스트 가이드
• 5-1. JUnit 테스트 가이드
• 5-2. Web Browser를 통한 테스트 가이드
5-1. JUnit 테스트 가이드
5-1. JUnit 테스트 가이드


bizMOB Server는 개발된 Adapter를 단위 테스트를 위해 JUnit 테스트 방법을 제공한다.
JUnit 테스트는 Server를 실행하지 않고 개발된 Adapter만을 단위 테스트 한다.
 Test Adapter Class 생성



STEP 1. Navigation : bizMOB -> Generate Test Adapter Class 선택
STEP 2. Source folder의 “Browse…”버튼 클릭
STEP 3. Web 프로젝트의 Test Folder 선택 후 “OK”
STEP 1
STEP 2
STEP 3
5-1. JUnit 테스트 가이드


STEP 4. Package 의 “Browse…”를 클릭하여 test Class를 생성할 Package를 선택하거나 직접 입력한다.
Package Name는 Adapter의 Package + test의 형태를 권장한다.
STEP 5. “Finish”를 클릭하여 Test Class를 생성한다.
STEP 4
STEP 5
5-1. JUnit 테스트 가이드
 JNDI 설정

Adapter에서 연동할 DB의 정보를 jndi.xml 파일에 입력한다.
5-1. JUnit 테스트 가이드
 Adapter별 JUnit Adapter Class 생성

Adapter의 JUnit Test를 위한 JUnit Adapter Class 생성 방법은 다음과 같다.




STEP
STEP
STEP
STEP
1.
2.
3.
4.
Navigation : Messages Tree View -> 마우스 오른쪽 클릭 -> Generate JUnit Adapter Class 선택
Source folder의 “Browse…”버튼 클릭 -> test folder 선택 후 “OK”
Package의 “Browse…”버튼 클릭 -> Test Adapter Class가 생성된 Package를 선택 후 “OK”
“Finish”를 클릭하여 JUnit Adapter Class를 생성한다
STEP 2
STEP 1
STEP 3
STEP 4
5-1. JUnit 테스트 가이드

STEP 5. 생성된 JUnit Adapter Class의 테스트 대상 Adapter의 import 한다.
STEP 5
테스트 대상 Adapter 를 import 한다.
5-1. JUnit 테스트 가이드
 Test JSON File 생성

Adapter를 테스트 하기 위해 요청 전문에 대한 Test JSON File을 생성한다.





STEP
STEP
STEP
STEP
STEP
1.
2.
3.
4.
5.
Navigation : Messages Tree View -> 마우스 오른쪽 클릭 -> Generate Json File 선택
“Import” 버튼을 클릭 (요청전문 JSON 출력됨)
요청전문의 body에 테스트 데이터를 입력
“Next”를 클릭하여 Test JSON File을 저장 위치 지정화면으로 이동
Adapter의 test/data folder를 지정한 후 “Finish” 클릭으로 Test JSON File 생성
STEP 1
STEP 5
STEP 2
STEP 3
STEP 4
5-1. JUnit 테스트 가이드
 JUnit Test 실행 (Run)

앞의 과정이 완료되면 각 어댑터별 JUnit Test가 가능하다. Test를 위한 방법은 다음과 같다.


STEP 1. Navigation : JUnit Adapter Class -> 마우스 오른쪽 클릭 -> Run As -> JUnit Test 선택
STEP 2. 해당 JUnit Adapter Class가 최초 실행됬을 경우 이클립스 설정에 따라 Launcher 선택화면이 나타날 수 있다.
Launcher 화면에서 “Eclipse JUnit Launcher” 를 선택하고 “OK”
STEP 1
STEP 2
5-1. JUnit 테스트 가이드
 JUnit Test 실행 (Debug)

Adapter를 Debug 모드로 테스트 할 경우 다음과 같이 실행한다.


STEP 1. Adapter의 확인 할 곳에 Breakpoint를 지정한다.
STEP 2. Navigation : JUnit Adapter Class -> 마우스 오른쪽 클릭 -> Debug As -> JUnit Test 선택
실행 되면 STEP1에서 지정한 포인트에 멈추게 되며 이후 진행은 Eclipse Debug와 동일하다.
STEP 2
STEP 1
Breakpoint 지정
5-1. JUnit 테스트 가이드
 JUnit Test 로그 확인


JUnit Test가 실행되면 Eclipse의 Console창에 로그가 출력된다.
로그의 형태는 로그 세팅과 Adpater 로그에 따라 다소 차이가 있을 수 있다.
Adapter 등록 로그
( 추가한 Adapter 가 정상 등록되어 있는지 확인 )
요청/응답 전문 로그
( 요청한 데이터와 Adapter 수행 후 응답된 데이터를
확인)
5-1. JUnit 테스트 가이드
 세션(Meta Data)를 사용하는 Adapter 테스트 방법

Test 대상의 Adapter에서 세션데이터(Meta Data)를 사용할 경우 JUnit Adapter Class의 setSession() 메소드에 다음과 같은
코드를 추가한다.
Adapter로 전달할 기본 Meta Data 세팅
( 세션에 데이터를 저장하는 Adapter를 테스트 할 때 추가 )
Adapter로 전달할 기본 Meta Data 에 테스트 데이터를 세팅
( 세션에서 데이터를 로드하는 Adapter를 테스트 할 때 추가 )
RESPONSE 위에 출력된 META는 Adapter 수행 후 저장된 Meta Data
REQUEST 위에 출력된 META는 Adapter 에 전달된 Meta Data
5-2. Web Browser 테스트 가이드
5-2. Web Browser 테스트 가이드

bizMOB Server를 구동하고 Web Browser를 통한 테스트 방법으로 테스트 절차는 다음과 같다.
(웹브라우저는 크롬이나. 파이어폭스를 권장함, IE는 응답전문이 File로 저장됨).
 Eclipse Test Server(Tomcat) 세팅 – Web Project 추가



STEP 1. Navigation : Server -> Tomcat Server -> 마우스 오른쪽 클릭 -> Add and Remove… 클릭
STEP 2. Available 탭에 생성한 Web Project를 선택 후 “Add” 클릭
STEP 3. “Finish”
STEP 1
STEP 2
Add 클릭 하면 Available의 web project가 Configured로 이동
STEP 3
5-2. Web Browser 테스트 가이드
 Eclipse Test Server(Tomcat) 세팅 – Service Port 및 Path 설정



STEP 1. Navigation : Server -> Tomcat Server 더블 클릭
STEP 2. Overview 화면의 Ports 탭의 Port Number를 수정/확인 한다.
(기본Port 8080, 사용하고자 하는 Port로 변경한다.)
STEP 3. Web Modules 화면의 Path를 확인
(Web Project 생성시 설정한 값이 기본 세팅됨. 변경할 경우 Edit 클릭 후 수정)
STEP 3
STEP 2
사용할 포트로 변경
5-2. Web Browser 테스트 가이드
 Eclipse Test Server(Tomcat) 세팅 – Data Source 설정


STEP 1. Navigation : Package Explorer -> Server -> Tomcat v6.0 Server at localhost-config -> context.xml 오픈
※ Tomcat v6.0 Server at localhost-config Folder 명은 다를 수 있음
STEP 2. Data Source 정보 입력 후 Save
STEP 1
STEP 2
bizMOB DB
Data Source
추가
Legacy DB
Data Source
추가
※ 개발된 시스템에서 연동되는 DB 연결 정보를 입력한다.
5-2. Web Browser 테스트 가이드
 Eclipse Test Server(Tomcat) 실행


STEP 1. Navigation : Server -> Start 또는 Debug 클릭
STEP 2. Console창에 로그를 확인
STEP 1
STEP 2
정상 실행된 로그
5-2. Web Browser 테스트 가이드
 Web Browser를 통한 Adapter 호출(응답전문 전송)

브라우저의 URL창에 요청 전문을 입력하여 Eclipse에서 실행되고 있는 Server를 호출한다.
요청 URL : http://서버IP:포트/컨텍스트/전문명.json?message=요청파라미터( json)
예) http://127.0.0.1:8080/demo/DM0002.json?message={ "header" : { "error_code" : "“, "error_text" : "“, "info_text" : "“,
"login_session_id" : "“, "message_version" : "“, "result" : false,"trcode" : "DM0002” },"body" : { "endIndex" : 9, "startIndex" : 0 }}

요청전문 데이터는 JUnit 테스트의 Test JSON File 을 참고한다.
요청 전문 입력
응답 전문 출력
5-2. Web Browser 테스트 가이드
 Web Browser를 통한 LOGIN 테스트




{
bizMOB Server의 인증을 위해서 LOGIN 전문을 호출한다.
LOGIN 전문은 bizMOB에서 기본 제공하고 있으며 고객사별 개발된 인증 전문을
포함한다.
Adapter에서 세션(Meta Data)를 사용할 경우 반드시 LOGIN 전문을 호출해야
한다.
고객사별 LOGIN 전문 확인 사항
app_key : 고객사별 발급된 앱 키를 입력
emulator_flag : true일 경우 단말 인증을 하지 않음
user_id : 포탈에 등록된 사용자 ID
legacy_message : 고객사별 개발된 인증 Adapter 요청 전문
legacy_trcode : 고객사별 개발된 인증 Adapter TR Code

LOGIN 전문 테스트 요청
요청 URL : http://서버IP:포트/컨텍스트/LOGIN.json?message=요청파라미터
( json)
}
"body": {
"phone_number": "",
"emulator_flag": true,
"app_key": "BM20ANP0",
"device_id": "1",
"user_id": "tester1",
"password": "",
"manual_phone_number": true,
"os_type": "Android",
"legacy_message": {
"body": {
"passwd": "1111",
"userId": "tester1"
},
"header": {
"device_id": "",
"error_code": "",
"error_text": "",
"info_text": "",
"login_session_id": "",
"message_version": "",
"model": "",
"os_type": "",
"os_version": "",
"result": true,
"trcode": "DM0001"
}
},
"legacy_trcode": "DM0001"
},
"header": {
"result": true,
"info_text": "",
"login_session_id": "",
"error_text": "",
"message_version": "",
"error_code": "",
"trcode": "LOGIN"
}
6. bizMOB 배포 및 운영 가이드
6. bizMOB 배포 및 운영 가이드
• 6-1. bizMOB Server 배포 가이드
• 6-2. bizMOB Server 운영 가이드
6-1. bizMOB Server 배포 가이드
6-1. bizMOB Server 배포 가이드

bizMOB Server는 WAS(Tomcat, Jeus, weblogic 등)에 설치되어 구동되며 배포하기 위해서 개발된 소스를 WAR의 형태로 빌
드 한다. 배포될 대상은 빌드 된 WAR파일과 SMART_HOME 설정파일이다.
6-1-1 bizMOB Server 빌드 방법



STEP 1. Navigation : Web project 마우스 오른쪽 클릭 -> Export 클릭
STEP 2. Web -> WAR file 선택 후 “Next”
STEP 3. Destination 탭에서 “Browse…” 클릭 후 저장 할 위치와 WAR File 명을 지정한다.
동일한 파일을 Overwrite 할 경우 “Overwrite existing file” 체크한다.
“Finish” 클릭 하면 빌드 된다.
재 빌드로 동일한 파일에 Overwrite 할 경우 체크한다.
6-1. bizMOB Server 배포 가이드
6-1-2 WAS별 bizMOB Server 적용 방법

적용 절차
①
②
③
WAR File 적용
SMART_HOME 설정
Data Source 설정 ( bizMOB DB, Legacy DB )
 Tomcat 적용 방법
①

WAR File 적용
STEP 1. Tomcat이 설치 되어 있는 디렉토리의 webapps로 이동
예) C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\webapps

STEP 2. 빌드 된 WAR File을 webapps 디렉토리에 복사
STEP 1
Tomcat 구동 서버
배포 파일을 복사한다.
STEP 2
개발자 PC
6-1. bizMOB Server 배포 가이드
②


SMART_HOME 적용
STEP 1. 개발된 SMART_HOME을 Export
[SMART_HOME -> 마우스 오른쪽 클릭 -> Export -> General -> File System]
※ SMART_HOME을 운영환경에 적용할 때 반드시 설정값을 확인 후 Export 한다.
STEP 2. Export 된 SMART_HOME 디렉토리를 운영될 서버(Tomcat이 설치되어있는 서버)의 특정 디렉토리에 복사
STEP 2
STEP 1
개발자 PC
Tomcat 구동 서버
SMART_HOME을 특정 디렉토리에 Export 한다.
6-1. bizMOB Server 배포 가이드
③



Data Source 설정
STEP 1. Tomcat이 설치 되어 있는 디렉토리의 conf로 이동
예) C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\conf
STEP 2. context.xml 을 오픈
STEP 3. 연동하는 DB에 대한 Data Source 정보를 추가 후 저장
File Open
DB 연동 정보를 추가
6-1. bizMOB Server 배포 가이드
 Tomcat 외 WAS 적용 방법

Tomcat 외 WAS(JEUS, Weblogic, Websphere 등) 적용 방법은 별도 문서로 제공한다.
6-2. bizMOB Server 운영 가이드
6-2. bizMOB Server 운영 가이드

bizMOB Server를 운영 환경은 고객사에 따라 다르며 본 가이드에서 제공하는 내용은 기본 bizMOB 적용 환경을 기준으로
함.
6-2-1 bizMOB Server 로그
 로그 Level

F : fatal, E : error, W : warn, I : info, D : debug, T : trace
 Server Start 로그
SMART_HOME 경로 출력
Uploader 설정 로그 (임시저장 경로 출력)
등록된 Adapter 목록 출력
Tomcat의 기본 Logger 설정
6-2. bizMOB Server 운영 가이드
 Adapter 요청 및 처리 로그


bizMOB Server Core에서 출력하는 로그는 Logger Level을 T(Trace)로 설정 해야 모든 로그를 확인 할 수 있다.
Adapter의 시작과 끝은
I} 140228 162727:404 [http-8080-1-15] MessageController - ===== Start DM0002 >>>>>
I} 140228 162727:756 [http-8080-1-15] MessageController - <<<<< DM0002 End =====

으로 확인 할 수 있다.
요청 전문에 대한 전문은
T} 140228 162727:410 <4736452950000000001>[http-8080-1-15] MessageAwareService - > message : { "header" :
{ "error_code" : "", "error_text" : "", "info_text" : "", "login_session_id" : "", "message_version" : "", "result" : false, "trcode" :
"DM0002" }, "body" : { "endIndex" : 9, "startIndex" : 0 } }


으로 확인 할 수 있다.
Adapter 처리 후 응답 전문은
T} 140228 162727:756 <4736452950000000001>[http-8080-1-15] MessageAwareService - > RV(message) :
{"header":{"result":true,"trcode":"DM0002","error_code":"","error_text":"","info_text":"","login_session_id":"","message_versio
n":""},"body":{"list":[{"deptName":"개발팀","docId":"DEBD0000000026","attachFlag":"N","title":"모빌씨앤씨 공지입니
다.","regName":"테스터1","regDate":"201402271004"},{"deptName":"개발팀
","docId":"DEBD0000000014","attachFlag":"N","title":"","regName":"테스터1","regDate":"201402261442"}],"totalCnt":17}}

으로 확인 할 수 있다.
6-2. bizMOB Server 운영 가이드
 Server 에러 로그


bizMOB Server 구동 중 자주 발생되는 에러 로그 유형과 대처 방안은 다음과 같다.
bizMOB Server Core에서 발생되는 에러에 대해서는 SMART_HOME/conf/server/display_message.properties 에 정의 되어
있으며 해당 에러코드로 해당 증상을 확인 할 수 있다.

[유형1] SMART_HOME 미 설정 시 로그

[대처방안] : WAS에 SMART_HOME 설정을 했는지 확인한다. ( 배포 가이드 WAS 설정 참고 )

[유형2] 잘못된 포멧의 전문 요청 로그

[대처방안] : Client에서 요청된 전문의 JSON 포멧이 잘못되어 있는지 확인한다.
6-2. bizMOB Server 운영 가이드

[유형3] 등록되지 않은 Adapter를 호출 했을 때 로그

[대처방안] : Server Start 로그에서 해당 Adapter가 정상적으로 등록되었는지 확인
Client 에서 요청한 전문코드가 정확한지 확인
6-2. bizMOB Server 운영 가이드
6-2-2 bizMOB Portal 사용 방법
 Portal 접속


bizMOB Portal은 Web Page로 인터넷 브라우저를 통해서 접속한다.
접속 URL은 고객사 세팅에 따라 다르며 모빌씨앤씨 테스트 Portal 접속 정보는 다음과 같다.



접속 URL : http://218.55.79.93:8090/smart-admin
ID : bizmob
PW : 1
bizMOB Portal 로그인 화면
bizMOB Portal 접속 화면
6-2. bizMOB Server 운영 가이드
 Portal 어플리케이션 사용로그




bizMOB Server 사용로그를 Portal을 통해 확인 할 수 있다.
Portal에서 제공하는 사용로그는 실시간은 아니며 서비스 처리 빈도에 따라 다소 시간의 차이가 발생된다.
사용로그의 내용은 서비스 요청 시간,사용자,TR코드 등 일부 정보 만 표시되며 요청 및 응답전문 , 에러로그 등은 bizMOB
Server의 로그를 통해서 확인해야 한다.
로그인을 사용하지 않은 서비스에 대한 사용자 정보는 Unknown으로 표시된다.
어플리케이션 사용 로그 화면
특정 서비스에 대한 처리 상세 정보 화면
7. FAQ
7. FAQ
7. FAQ
 bizMOB License 에러 관련 대응 방안은?

bizMOB Server는 모빌씨앤씨에서 발급한 License를 적용해야 하며 개발, 운영버전으로 관리된다. License에 관련 에러의 유
형은 다음과 같다.
①
License 만료
증상확인 : Server 로그 상에 “FAILED TO READ LICENSE! THE SERVER STOPS!” 메시지가 출력됨
원인 : 발급 받은 License의 기간이 만료 되었을 때 발생
조치방법 : bizMOB License를 정상적으로 발급 받았는지 여부, 기간이 만료되었는지 확인 한다.
license.json 파일의 “to_license”의 기간을 확인
②
License 허용 IP 불일치
증상확인 : Server 로그 상에 “YOUR IP {IP} IS NOT ALLOWED” 메시지가 출력됨
원인 : License 에 등록된 서버 IP와 구동되는 서버의 IP가 다를 경우 발생
조치방법 : bizMOB License 발급 시 적용 서버의 IP와 현재 서버가 구동되는 IP가 일치 하는지 확인 한다.
license.json 파일의 “server_ips”의 IP를 확인
②
License App Key 불일치
증상확인 : Server 로그 상에 “YOUR APPLICATION ‘{APPKEY}’ IS NOT ALLOWED” 메시지가 출력됨
원인 : License 에 등록된 APP KEY 와 연동 단말에서 등록된 APP KEY가 다를 경우 발생
조치방법 : 요청된 APP에서 전달된 App Key를 확인한다.
license.json 파일의 “app_license”의 app key를 확인
 bizMOB Server의 세션 타임아웃 시간은 어떻게 조절하나요?

bizMOB Server에서 사용하는 세션은 WAS의 세션을 사용하며 타임아웃 설정은 WAS 설정을 따른다.