ibmdw_rest_v1.0.ppt

Similar documents
Intro to Servlet, EJB, JSP, WS


I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx

슬라이드 1

No Slide Title

슬라이드 1


PCServerMgmt7

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

오늘날의 기업들은 24시간 365일 멈추지 않고 돌아간다. 그리고 이러한 기업들을 위해서 업무와 관련 된 중요한 문서들은 언제 어디서라도 항상 접근하여 활용이 가능해야 한다. 끊임없이 변화하는 기업들 의 경쟁 속에서 기업내의 중요 문서의 효율적인 관리와 활용 방안은 이

Week13

Building Mobile AR Web Applications in HTML5 - Google IO 2012

JavaGeneralProgramming.PDF

<4D F736F F D205B4354BDC9C3FEB8AEC6F7C6AE5D3131C8A35FC5ACB6F3BFECB5E520C4C4C7BBC6C320B1E2BCFA20B5BFC7E2>

PowerPoint 프레젠테이션

1217 WebTrafMon II

AGENDA 모바일 산업의 환경변화 모바일 클라우드 서비스의 등장 모바일 클라우드 서비스 융합사례

ETL_project_best_practice1.ppt

Portal_9iAS.ppt [읽기 전용]

신림프로그래머_클린코드.key

J2EE & Web Services iSeminar

Voice Portal using Oracle 9i AS Wireless

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer

Microsoft Word - 조병호

thesis

이제는 쓸모없는 질문들 1. 스마트폰 열기가 과연 계속될까? 2. 언제 스마트폰이 일반 휴대폰을 앞지를까? (2010년 10%, 2012년 33% 예상) 3. 삼성의 스마트폰 OS 바다는 과연 성공할 수 있을까? 지금부터 기업들이 관심 가져야 할 질문들 1. 스마트폰은

UNIST_교원 홈페이지 관리자_Manual_V1.0

컴퓨터과학과 교육목표 컴퓨터과학과의 컴퓨터과학 프로그램은 해당분야 에서 학문적 기술을 창의적으로 연구하고 산업적 기술을 주도적으로 개발하는 우수한 인력을 양성 함과 동시에 직업적 도덕적 책임의식을 갖는 IT인 육성을 교육목표로 한다. 1. 전공 기본 지식을 체계적으로

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_ pptx

요약 1

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Microsoft Word - 김완석.doc

(......).hwp

Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이

SchoolNet튜토리얼.PDF

2파트-07

KYO_SCCD.PDF

Service-Oriented Architecture Copyright Tmax Soft 2005

Interstage5 SOAP서비스 설정 가이드

untitled

미래 서비스를 위한 스마트 클라우드 모델 수동적으로 웹에 접속을 해야만 요구에 맞는 서비스를 받을 수 있었다. 수동적인 아닌 사용자의 상황에 필요한 정보를 지능적으로 파악 하여 그에 맞는 적합한 서비스 를 제공할 수 새로운 연구 개발이 요구 되고 있다. 이를 위하여,

Multi Channel Analysis. Multi Channel Analytics :!! - (Ad network ) Report! -! -!. Valuepotion Multi Channel Analytics! (1) Install! (2) 3 (4 ~ 6 Page

partprime_intro.key

DW 개요.PDF

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

HTML5가 웹 환경에 미치는 영향 고 있어 웹 플랫폼 환경과는 차이가 있다. HTML5는 기존 HTML 기반 웹 브라우저와의 호환성을 유지하면서도, 구조적인 마크업(mark-up) 및 편리한 웹 폼(web form) 기능을 제공하고, 리치웹 애플리케이 션(RIA)을

about_by5

I What is Syrup Store? 1. Syrup Store 2. Syrup Store Component 3.

UML

Remote UI Guide

J2EE Concepts

2009방송통신산업동향.hwp

¨ìÃÊÁ¡2

10.ppt

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

ecorp-프로젝트제안서작성실무(양식3)

160322_ADOP 상품 소개서_1.0

MySQL-Ch05

Web Application Hosting in the AWS Cloud Contents 개요 가용성과 확장성이 높은 웹 호스팅은 복잡하고 비용이 많이 드는 사업이 될 수 있습니다. 전통적인 웹 확장 아키텍처는 높은 수준의 안정성을 보장하기 위해 복잡한 솔루션으로 구현

NCS : ERP(SAP) ERP(SAP) SW IT,. SW IT 01., 05., 06., 08., 15., , 05. SW IT,,,, SAP HR,,, 4,,, SAP ABAP HR SCHEMA, BSP,

제 출 문 환경부장관 귀하 본 보고서를 습마트기기 활용 환경지킴이 및 교육 통합 서비스 개 발 과제의 최종보고서로 제출합니다. 주관연구기관 : 주관연구기관장 : 2015년 10월 주식회사 덕키즈 김 형 준 (주관)연구책임자 : 문종욱 (주관)참여연구원 : 김형준, 문병

TTA Journal No.157_서체변경.indd

14-Servlet

¾Æ½Ã¾ÆÀú³Î8È£-ÅëÇÕ

<목 차 > 제 1장 일반사항 4 I.사업의 개요 4 1.사업명 4 2.사업의 목적 4 3.입찰 방식 4 4.입찰 참가 자격 4 5.사업 및 계약 기간 5 6.추진 일정 6 7.사업 범위 및 내용 6 II.사업시행 주요 요건 8 1.사업시행 조건 8 2.계약보증 9 3

rmi_박준용_final.PDF

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

Egretia_White_Paper_KR_V1.1.pages

Intra_DW_Ch4.PDF

untitled

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

서현수

Gartner Day

Mstage.PDF

6강.hwp

Model Investor MANDO Portal Site People Customer BIS Supplier C R M PLM ERP MES HRIS S C M KMS Web -Based

chapter1,2.doc

목순 차서 v KM의 현황 v Web2.0 의 개념 v Web2.0의 도입 사례 v Web2.0의 KM 적용방안 v 고려사항 1/29

산업백서2010표지

User's Guide Manual

final_thesis

SMB_ICMP_UDP(huichang).PDF

클라우드컴퓨팅확산에따른국내경제시사점 클라우드컴퓨팅확산에따른국내경제시사점 * 1) IT,,,, Salesforce.com SaaS (, ), PaaS ( ), IaaS (, IT ), IT, SW ICT, ICT IT ICT,, ICT, *, (TEL)

Social Network

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

초보자를 위한 ASP.NET 21일 완성

OVERVIEW 디트라이브는 커뮤니케이션 환경의 다변화에 대응하기 위한 고객들의 다양한 욕구를 충족시키기 위해, TV광고부터 온라인 광고 및 프로모션과 웹사이트 구축은 물론 뉴미디어까지 아우르는 다양한 IMC 기능을 수행하는 마케팅 커뮤니케이션 회사입니다. 대표이사 설

untitled

<4D F736F F F696E74202D E20C0CEC5CDB3DD20C0C0BFEB20B9D720BCADBAF1BDBA20B1E2BCFA E >

ARMBOOT 1

untitled

PowerPoint 프레젠테이션

歯이시홍).PDF


00-CourseSyllabus

Polly_with_Serverless_HOL_hyouk

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

Transcription:

REST in Enterprise 박찬욱 1-1-

MISSING PIECE OF ENTERPRISE Table of Contents 1. 2. REST 3. REST 4. REST 5. 2-2 -

Wise chanwook.tistory.com / cwpark@itwise.co.kr / chanwook.god@gmail.com ARM WOA S&C AP ENI 3 KSUG - 3 -

MISSING PIECE OF ENTERPRISE Table of Contents 1. 2. REST 3. REST 4. REST 5. 4-4 -

MVC to REST Model View MVC (Dispatcher / Front Controller ) Controller View Model View (JSP) (HTML) 5 MVC +DTO - 5 -

MVC to REST ID a136 6-6 -

MVC to REST ID a136 http://.../product/view.web?productid=a136 MVC 7-7 -

MVC to REST ID a136??? http://.../product/view.web?productid=a136 MVC? 8-8 -

MVC to REST ID a136? http://.../product/view.web?productid=a136 MVC http://../product/ Resource REST OOP = Object ER Model = Entity 9 REST - 9 -

MVC to REST ID a136 http://.../product/view.web?productid=a136 MVC? http://../product/a136? REST 10-10 -

MVC to REST ID a136?? http://.../product/view.web?productid=a136 MVC [GET] http://../product/a136? HTTP Method GET/POST/PUT/DELETE 11 REST - 11 -

MVC Runtime View Client Server http://.../product/view.web?productid=a136 <html> <body> </body> </html> V C M 12-12 -

MVC Client/Server Architecture 13-13 -

REST MVC Runtime View Client Server [GET] http:// /product/a136 <product> <id>a136</id> <name>..</name> </product> C V R 14-14 -

REST Client/Server Architecture 15-15 -

REST MVC Runtime View Client Server V C HTTP Message C R R 16-16 -

MVC to REST ID a136?? http://.../product/view.web?productid=a136 MVC [GET, application/xml] http://../product/a136? REST Message (Representation) Resource 17 (HTTP Media Type) Resource HTTP Header(Content-Type, Accept), HTTP Parameter, URL Extension - 17 -

MVC to REST ID a136 http://.../product/view.web?productid=a136 MVC [GET, application/xml] http://../product/a136 REST 18-18 -

REST Trio HTTP URI REST Resource REST HTTP METHOD Service (Action) Resource Message (Representation) / 19 (XML / JSON) - 19 -

HTTP REST HTTP (REST Resource ) HTTP Method GET POST PUT DELETE Resource URI http://.../product/a136 http://.../sales/ Message Type application/xml application/json text/xml application/rss+xml 20-20 -

HTTP REST? Resource? UI? HTTP? REST? 21 Message? - 21 -

REST KSUG URI HTML, Javascript Ajax? 22-22 -

Client/Server, (MVC è REST) / 서비스공급, Server=Provider 서비스요청, Client=Consumer Client : Server = N : 1( ) Client : Server = N : N ( ) WEB Consumer Provider.NET Java HTTP Service Mobile 23 OPEN API - 23 -

HTTP? (,, ) ( / ) HTTP HTTP (ROI) ( ) 24-24 -

REST REST URI URL... REST Resource HTTP Web URI (UI) URI == Resource 25-25 -

REST Leonard Richardson s Maturity Model (QCon) REST Hypermedia HTTP 26 URI - 26 -

Level 0 RCP, WebService HTTP RCP 1 URI - 1 HTTP Method(POST) RPC, SOAP-based payl Hypermedia HTTP URI Client POST /appointmentservice <openslotrequest date = "2010-01-04" doctor = "mjones"/> HTTP/1.1 200 OK <openslotlist> <slot start =.." end =.."> <doctor id = "mjones"/> </slot> </openslotlist> POST /appointmentservice <appointmentrequest> <slot doctor = "mjones" start = "1400" end = "1450"/> <patient id = jsmith /> </appointmentrequest> HTTP/1.1 200 OK < > /appointmentservice 27-27 -

Level 1 - Resource Resource * URI - 1 HTTP Method * Resource Hypermedia HTTP URI POST /doctors/mjones <openslotrequest date = "2010-01-04" doctor = "mjones /> /doctors/{doctorid} HTTP/1.1 200 OK <openslotlist> <slot id = "1234" doctor = "mjones" start =.." end =.."/> </openslotlist> Client POST /slots/1234 <appointmentrequest> <slot doctor = "mjones" start = "1400" end = "1450"/> <patient id = jsmith /> </appointmentrequest> /slots/{slotid} 28 HTTP/1.1 200 OK < > - 28 -

Resource (Resource identified) Resource Representation (Message) Loosely Coupled (Client - Resource) Self-Descriptive Message Contents-Negotitation http://rest.com/product/abc12cd ID: abc12cd Name: TV Sales: $500 XML <product> <id>abc12cd</id> <name>tv</name> <sales>$500</sales> </product> 29-29 -

Level 2 HTTP Verb * URI - * HTTP Method HTTP Resource HTTP Method(Verb) Hypermedia HTTP URI GET /doctors/mjones/slots?date=20100104&status=open <openslotrequest date = "2010-01-04" doctor = "mjones /> /doctors/{doctorid}/slots 200 OK <openslotlist> <slot id = "1234" doctor = "mjones" start =.." end =.."/> </openslotlist> Client POST /slots/1234 <appointmentrequest> <patient id = jsmith /> </appointmentrequest> 201 CREATED Location: slots/1234/appointment <appointment> </appointment> /slots/{slotid} 30-30 -

Representation Caching (Cacheability) Resource caching(x) Representation caching(0) HTTP etag Request #1 ETag: 686897696a7c876b7e Request #2 If-None-Match: "686897696a7c876b7e" response code: 304 NOT MODIFIED ETag: 686897696a1c877e2a if(response hash == If-Non-Match header){ }else{ Result => Hash Result => Hash 31 } - 31 -

Level 3 Hypermedia HATEOS == Hypertext As The Engine Of Application State Resource (link) ATOM Hypermedia HTTP URI GET /doctors/mjones/slots?date=20100104&status=open 200 OK <openslotlist> <slot id = "1234" doctor = "mjones" start =.." end =.. > <link rel = "/linkrels/slot/book" uri = "/slots/1234"/> </slot> </openslotlist> /doctors/{doctorid}/slots Client POST /slots/1234 <appointmentrequest> <patient id = jsmith /> </appointmentrequest> 201 CREATED Location: slots/1234/appointment <appointment> <link rel = "/ /cancel" uri = "/slots/1234/appointment"/> <link rel = "/linkrels/help" uri = "/help/appointment"/> </appointment> /slots/{slotid} 32-32 -

MISSING PIECE OF ENTERPRISE Table of Contents 1. 2. REST 3. REST 4. REST 5. 33-33 -

Java REST HTTP URI API JAX-RS JEE6 (JSR-311) Jersey, RESTEasy, CXF, Wink 등 구현체제공 현재 1.1 closed, 2.0 준비중 Spring Spring MVC 기반 REST 매핑지원 (Spring 3.0 ) Spring Mobile, Spring Android/IPhone Spring 34-34 -

JAX-RS REST Apache CXF JAX- RS @Service("goodsSalesEndpoint") @Path("/report") public class GoodsSalesEndpoint { @GET @Path("/{goodsName}") @Produces("application/json") public MonthlySalesReport getmonthlyreportofsinglegoods( @PathParam("goodsName") String goodsname, @QueryParam("year") String year) { return service.getmonthlyreport(year, goodsname); 35 } } - 35 -

Spring REST Spring MVC @Controller("goodsSalesEndpoint") @RequestMapping("/report") public class GoodsSalesEndpoint { @RequestMapping(value="/{goodsName}, method=requetmethod.get) public MonthlySalesReport getmonthlyreportofsinglegoods( @PathVariable("goodsName") String goodsname, @RequestParam("year") String year) { } return service.getmonthlyreport(year, goodsname); 36 } - 36 -

Web Mobile Web Mobile App 37-37 -

REST (Mobile) Web Client / Server HTML : Ajax XML < JSON MVC MVC: View(Link) => Controller => Model => View REST: View(Link) => View(=>Controller=>Model) 38-38 -

REST (Mobile) Web, HTTP ==> Resource ( ) (, ) / / ( ) Representation 39-39 -

REST (Mobile) Web HTTP REST Core Chain HTML 5 ( ) Metadata 정의기반 HTML 5 / jquery Ajax GWT UI Smart GWT REST 40-40 -

REST (Mobile) Web HTML 5 강화된 HTTP 지원 Web Storage /, (SQL ) API ( ) (5~10MB) ( 아직 ) 표준재정이마무리되지않은문제 http://www.infoq.com/news/2010/10/html5-is-not-production-ready cross-browser incompatibilities 41-41 -

REST Mobile APP UI One Service, Multi Device API Android 아파치 HttpClient 기본내장 IPhone HTTP RESTful 3rd API Windows Phone 7 WCF 42-42 -

REST, HTTP, Rich > UI Resource UI, (,.NET) HTTP API, Message Mapping API 43-43 -

REST WebService SOAP => REST Amazon WADL, SOAP 1.2 REST WS-* REST? (HTTP) REST?? < REST (,?) 44-44 -

MISSING PIECE OF ENTERPRISE Table of Contents 1. 2. REST 3. REST 4. REST 5. 45-45 -

HTTP / GET, POST, PUT, DELETE 4? HTTP Method URI PUT?POST? :? select è insert è update è select è delete è...??!! è POST : Resource (operation) 46-46 -

Resource / Resource, DB Modeling, Object Modeling Resource Representation Representation (Message) Resource DTO è Resource Resource Resource 47 : http://www.infoq.com/articles/designing-restful-http-apps-roth - 47 -

,, ( ),, HTTP Digest, OAuth 등의인증서비스를통해구현가능 HTTPS, ACL ID/PW (Security Key) ( : Server => Client) 48-48 -

MISSING PIECE OF ENTERPRISE Table of Contents 1. 2. REST 3. REST 4. REST 5. 49-49 -

REST REST REST (RMM) REST : Rich Client > Mobile > Web 50-50 -

Vision REST HTTP PII (Platform Independent Interface) 51-51 -

Rest in Practice http://restinpractice.com/ REST Wikipedia http://en.wikipedia.org/wiki/representational_state_transfer Architectural Styles and the Design of Network-based Software Architectures, Roy Fielding http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm REST A Little REST and Relaxation, Roy Fielding http://roy.gbiv.com/talks/200711_rest_apachecon.pdf Architectural Style REST Wiki http://rest.blueoxen.net/cgi-bin/wiki.pl 52 IBM DeveloperWorks REST tag InfoQ REST tag - 52 -

MISSING PIECE OF ENTERPRISE. ASEM Tower 30 th Fl. #3030, 159-1 Samsung-dong, Gangnam-gu, Seoul 135-798, Korea Tel : 82-02-6001-3046, Fax : 82-02-6001-3049