교육자료 Copyright 2016 Uracle. All rights reserved
교육내용 1.1 모피어스소개 1.2 모피어스서버구성의이해 1.3 Admin Server 및 GW( 게이트웨이 ) Server환경의이해 1.4 Morpheus Push 이해 2. Admin 기능이해및주요기능사용방법 ( 실습 ) 2.1 사용자추가 2.2 메뉴권한설정 2.3 버전등록 2.4 리소스다운로드 2.5 Push발송 3. Server IDE 소개및사용방법 ( 실습 ) 3.1 Server IDE환경설정 3.2 GW Server 실습 (DB사용) 3.3 GW Server 실습 (Legacy API사용 ) 2
교육일정 10:00 ~ 10:50 10 분 ~ 15 분휴식 11:00 ~ 11:50 2. Admin 기능이해및주요기능사용방법 점심 13:00 ~ 13:30 3. Server IDE 소개및사용방법 ( 환경설정 ) 10 분휴식 13:40 ~ 15:00 3. Server IDE 소개및사용방법 (GW DB 사용 ) 10 분 ~ 15 분휴식 15:10 ~ 17:00 3. Server IDE 소개및사용방법 (GW Legacy Api 사용 ) 10 분 ~ 15 분휴식 17:10 ~ 18:00 4. Admin 기능이해및주요기능사용방법 ( 실습 ) 3
What is Morpheus? Morpheus 는최신 IT Trend 를반영하면서동시에기업의 Needs 에충족하는웹표준기반의 Enterprise Mobility Solution 입니다. Cloud IDE Cross Platform N-Screen 4
What is Morpheus? Morpheus 주요기능입니다. Hybrid Platform Native 속도, 단말기능, 오프라인구동 Web 확장, 배포, OS 독립 백엔드통합 다양한표준인터페이스어뎁터제공 Admin 툴을통한전문관리모듈제공 OSMU OS 별 Native 플랫폼제공 (Android, ios) 다양한해상도지원가능한 UX 보안 다양한보안통신모듈템플릿제공 리소스암복호화를통한컨텐츠보안 리소스아키텍쳐 UI 리소스실시간업데이트아키텍쳐 리소스업데이트관리 Admin 제공 플랫폼확장 플랫폼 / 리소스독립적인아키텍쳐 외부솔루션적용용이한오픈구조 개발편리성 Web 표준, 레이아웃 / 유형별 UI 패키지 Morpheus WN-Interface API 제공 부가플랫폼 Push, 기업 AppStore, SNS, Streaming G/W, SFA, FFA, CRM 등업무별패키지 최적화 UX 모바일 UX 콤포넌트가이드앱제공 웹표준및접근성준수컨텐츠구성 통합관리 Morpheus 제품군통합관리도구 MDM 단말관리, 공장초기화, 암호설정 IDE 편리한통합개발환경지원 PC 에뮬레이더및디버거제공 확장라이브러리 추가확장기능개발이가능한 Plug-In 구조 추가확장기능개발을위한 Sample Code 제공 5
What is Morpheus? Morpheus 특장점입니다. One Source Multi Use 하나의소스코드로다양한 OS 어플리케이션개발 다양한단말기의화면해상도동시지원 손쉬운유지보수 UI 구성및 Contents 내용을실시간업데이트 앱검수없이업데이트가능, 적용시간최소화 Hybrid Platform Native의동작속도와 Web의 UI구성편의성을결합 모바일 Web에서구현하기어려운다양한기능과화면지원 효율적인개발환경 HTML, Java Script 기반으로구성되어개발인력확보용이 수만은레퍼런스를통해다양한컴포넌트보유 Plug-In 구조의 Library 통합개발환경 (IDE) 추가확장기능개발을위한 Plug-In 구조의 Library 제공 개발편의성을위한 Sample Code 제공 사용성이높은통합개발환경제공 통합개발 / 테스트환경제공 (PC 에뮬레이터, 디버거제공 ) 6
What is Morpheus? Morpheus 는 Server, Client 와개발지원환경인 IDE, Browser emulator 로구성되어있으며, 기업환경에따라 Template Apps 과 Plug-in 을제공합니다. 또한, 부가적으로 Store, Push(Public, Private) 도함께제공가능합니다. Morpheus Client Morpheus Server Morpheus Store User Interface Mobile POC Admin POC HTML(5) JavaScript Image CSS 사용자인증 사용자가입 App 등록 / 버전관리 사용자 / 권한관리 SAP App 배포 My Page 사용량통계 시스템관리 Web-Native Interface 1.0 Core Library Web-Native Interface 2.0 Native Framework EXT3 EXT2 EXT1 Morpheus Mobile Server 앱위변조체크 버전체크 Morpheus PUSH PUBLIC Resource Update Service Processing File Upload/ Download Security Message Push Processing 서비스등록 Legacy Adaptation 발송대상추출 MS Exchange HTTP/SOAP EAI/TCP Legacy Adaptor Set Plug-in I/F PRIVATE 메시지발송 메시지관리 DB Morpheus Client IDE Wizard Emulator Editor Debugger Morpheus Server IDE Project/Config Wizard Deploy Toolkit Legacy Data Simulator Parameter Mapper Legacy Adaptation DashBoard Source Generator 7
리소스관리자기능을통하여화면단위의 UI 리소스를동적으로업데이트할수있습니다. 별도의 App. Store 검수및재등록절차없이동적업데이트가가능하다. Static Contents Morpheus Mobile Server Admin Tool 개발자 App 수정변경개발 UI 변경부분수정등록 HTML Image 리소스변경승인 리소스배포형상및버전생성 관리자 리소스변경및배포형상 / 버전관리 Java Script 리소스배포승인 Configuration File 리소스배포시작 APP 사용자 변경된내용실시간반영 Resource Controller Web Server WAS 8
System Configuration for Mobile System Client DMZ 내부망 Was Server 이중화 MEAP DB Web Server Meap gw container1 이중화 Upload/download File storage Meap 관리자 container2 Meap web 내부 web Meap admin web 내부관리자 PC 9
Software Configuration 10
Software Requirement 구분 구성요소 제품내역 System S/W OS Server Linux, Unix, Windows 계열 OS Network TCP/IP DBMS Oracle, MSSQL, MySQL WAS Weblogic, JEUS, Tomcat, JBOSS(most overall WAS 지원 ) Web Server WebtoB, Apache, IIS (most overall Web Server 지원 ) Application S/W 개발환경 Server JDK SE 1.8 권장 Spring 3.1.2 Version, Mybatis 3.2.2 Version 개발환경 Client JDK SE 1.7 권장, Eclipse Helios 이상권장 11
Morpheus 통합 Admin 은모바일관리및서버단말연동, 스토어관리, Push 발송등시스템전반적인관리기능을한눈에볼수있도록제공합니다. 모바일관리 리소스업로드 리소스관리 배포관리등의리소스관리기능 PUSH 발송관리 사용자관리 Monitoring App 관리 설정 앱스토어 App 관리 단말기관리등의 App. 관련스토어관리기능제공 통계 push 통계 스토어통계등의 Push, 스토어서비스에따른통계데이터제공기능 시스템관리 공지사항관리 관리자계정관리등시스템전반에대한설정및등록기능제공 12
Admin Server 기본기능 Morpheus DB (Oracle, Mysql, SqlServer) 기능확장의경우 관리자 Admin WAS 서버 Legacy DB 주요기능 - 리소스관리 (HTML, CSS, JS, Image) - 앱버전관리 - PUSH 발송관리 - 통계 13
GW Server Morpheus DB (Oracle, Mysql, SqlServer) 리소스 (Html, JS, Image, Css) Down JSON API 통신 ios / Android Client 주요기능 - 리소스다운로드 - 앱버전관리 - Legacy API 제공 - API 접속정보수집기능 GW 서버 API 통신 Legacy DB Legacy System 14
GW Server APP Assert HTML A.html B.html CSS A.css IMAGE A.pns JS A.js Request { "head":{ },"body":{ } "device_id":"","device_md":"iphone","phone_no":"","screen_id":"","system_name":"browser Emulator","system_version":"1.0.0","appid":"kr.co.uracle.guidekit","app_name":"","app_version":"" "data":"1" Response { "head":{ "result_code":"200","result_msg":"success" },"body":{ "list":[ {"info":{"product":"mouse","price":"23,000","maker":"samsung"}},{"info":{"product":"hdd","price":"156,000","maker":"western Digital"}} } ]} } public class SampleController { // 어노테이션으로 SampleService 클래스를주입받는다. @Autowired(required=true) private SampleService sampleservice; @SuppressWarnings("unchecked") @ResponseBody @RequestMapping(method=RequestMethod.POST, value="/api/sample/{id}") public String get(httpservletrequest request, HttpServletResponse response, @PathVariable String id, @RequestBody String body) throws Exception { } // JSON 문자열을 Map or List Object 로변환 body = URLDecoder.decode(body, "UTF-8"); ObjectMapper om = new ObjectMapper(); Map<String, Object> requestmap = om.readvalue(body, new TypeReference<Map<String, Object>>(){}); // 비지니스로직실행 requestmap = (Map<String, Object>) sampleservice.getcompanysample( requestmap, id ); //Map Object 를 JSON 문자열로변환 ObjectMapper mapper = new ObjectMapper(); String data = mapper.writevalueasstring(requestmap); return data; GW Server 15
GW Server HTTP Request Header head 헤더명값범위기본값필수설명 Accept application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,application/json,text/html application/json Y 요청데이터유형 - HTTP Request Body JSON 키 JSON 값범위 기본값필수여부 app_version Y 단말의해당 application 버전 app_name Y 단말의해당 application 이름 system_version Y 단말 OS 버전 system_name Y 단말의시스템 OS 명 device_id Y 단말고유식별번호 device_md Y 단말모델명 (SHW-M110S) phone_no 단말전화번호 ( 아이폰은지원하지않으나디폴드값 Empty 값으로고정 ) callback_function HTTP 응답수신후 Native 에서호출할함수명 callback_request_data_flag y/n n Y 전문요청데이터를응답데이터에포함시켜수신할지에대한여부 screen_id 화면아이디 appid Y 모바일앱아이디 (G/W 서버 1.1.2 버젼이상반영됨 ) user_id user_name 16 설명 사용자아이디 (G/W 서버 1.3 버젼이상반영됨 )/ 통계정보를조회하기위해서는필수입력항목이다. 사용자이름 (G/W 서버 1.3 버젼이상반영됨 )/ 통계정보를조회하기위해서는필수입력항목이다. page_name 리소스파일명 (G/W 서버 1.3 버젼이상반영됨 ) packet_seq 화면 UI 동기화처리를위한패킷순번 (G/W 서버 1.3 버젼이상반영됨 ) body 사용자정의부분각업무별필요한데이터를정의하여사용한다.
Morpheus Push APP App Push Client Library 1 App 다운로드 or 업데이트 3 서비스가입요청 (GUEST 가입 ) 주요파라미터 (Device id) (App id) (PNSID)* Receiver Push 가입 API Push 서비스위한고유식별자생성 Push 가입처리 가입정보 DB 저장 4 사용자정보 DB 저장 (GUEST 가입 ) Morpheus DB 5 사용자정보 Cache 저장 (GUEST 가입 ) User cache 2 App 설치 and Background processing 6 사용자가입처리응답 가입정보 Cache 저장 가입처리응답 사용자통합정보메모리 Cache NoSQL Cache 관리 주요파라미터 (PSID)* (PNSID)* : UPNS / GCM / APNS 등푸쉬서비스종류에대한구분자값 (PSID)* : Push 발송을위한 Private unique key value (Public 에서는 GCM 또는 APNs 에서발급하는 Push token value) 17
Morpheus Push 1 APP App Push Client Library App 다운로드 or 업데이트 4 서비스가입요청 (GUEST 가입 ) 주요파라미터 (Device id) (Public push key) (App id) (PNSID)* Receiver Push 가입 API Push 가입처리 5 사용자정보 DB 저장 (GUEST 가입 ) Morpheus DB 6 사용자정보 Cache 저장 (GUEST 가입 ) 2 App 설치 and Background processing 3 각 Vendor 에서제공하는 Public push center 를통해 push key 를얻어온다. Public push key 는 PSID* 로활용됨 Public cloud GCM APNs 7 사용자가입처리응답 가입정보 DB 저장 가입정보 Cache 저장 가입처리응답 User cache 사용자통합정보메모리 Cache NoSQL Cache 관리 (PNSID)* : UPNS / GCM / APNS 등푸쉬서비스종류에대한구분자값 (PSID)* : Push 발송을위한 Private unique key value (Public 에서는 GCM 또는 APNs 에서발급하는 Push token value) 18
Morpheus Push 1 4 Private 푸쉬발송및수신확인처리 발송채널 UPNS 3 Private 발송 Push 발송기 푸쉬발송데이터메모리 Queue Push 발송요청 Push Admin Public Provider 3 Sender Legacy 시스템 4 Public 전달 GCM APNs 구글폰발송 IOS폰발송 Public 발송 2 발송대상자 Targeting User cache 사용자통합정보메모리 Cache 발송요청 API CALL.. NoSQL Cache 관리 5 메시지수신 (Only Public GCM) 또는읽음확인 (Private, Public) Push 수신기 수신결과데이터메모리 Queue Receiver 6 푸쉬발송결과처리 DB 푸쉬발송요청시처리결과를 DB 저장요청 Flag 를 Y 값으로요청시성공건에대해서도 DB 결과를저장한다. - Default 값은 N 으로발송성공건에대해서는저장하지않는다. UPMC 서버의결과전용로그파일로확인가능함 - 발송실패건에대해서는저장 Flag 값과무관하게무조건저장함 19
Morpheus Push 자세한사항은아래의경로에대해서확인하세요. http://www.morpheus.kr/ 20
3. Server IDE 소개및사용방법 설치항목 1. JDK1.7 설치 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 2. Server IDE 다운로드 http://www.morpheus.kr/ SUPPORT > 모피어스가이드 > [Morpheus IDE] 서버가이드 3. APACHE TOMCAT설치 4. MYSQL 5. CROME브라우저 6. POSTMAN(REST CLIENT) 21
3. Server IDE 소개및사용방법 GW Server 실습 (DB 사용 ) POST MAN 으로대체 Morpheus DB (Oracle, MySql, SqlServer) JSON API 통신 SQL ios / Android Client GW 서버 Legacy DB (MySql) 22
3. Server IDE 소개및사용방법 GW Server 실습 (Legacy API 사용 ) POST MAN 으로대체 Morpheus DB (Oracle, MySql, SqlServer) JSON API 통신 JSON API 통신 ios / Android Client GW 서버 Legacy System (JSON,XML) 23
3. Server IDE 소개및사용방법 GW Server 실습 http://[ip]:[port]/msp-gw-web/document 24