[RESTful] 1일차
뛰어서 겨우 강의실에 늦지 않고 도착!
같이 강의듣는 회사분은 QR을 정확히 찍지 못하는 에피소드도 발생....
우선 강사님의 강의자료는 아래의 주소에서 받을 수 있습니다.
https://github.com/namooio/edu-kosta-api
=========================================== 1 ===========================================
[19 : 00 ~ 19 : 55]
우선 강사님께서는 필요한 강의
가으의 필요도 조사에서 4번째로 등록했을일은 없지만 호명이 되어 간단하게 강의를 수강하게 된 동기에 대해 이야기를 하였고 통신에 대해서 알아두면 좋은 강의가 될 것이라고 생각합니다.
강사님께서도 통신에 대한 일괄적인 이론에 대해 알 수 있을것이라고 하였습니다.
Web을 잘 쓰고있다면 RESTful은 반은 알고있다고 보면 된다고 하였습니다.
강의는 구조를 위에서 아래로 내려가면서 보고, 코드단부터 개념을 위로 올리는 방식으로도 진행을 한다고 하셨습니다.
Open API는 public과 private으로 나눌 수 있다고 하셨습니다.
Web기반의 프로젝트는 100이면 99는 단순한 구조로 설계가 되어있었다고 합니다.
프로젝트 사례를 통해서 의뢰받은 시스템의 구조를 설명해주셨습니다.
Port : 정보가 시스템으로 들어오거나 정보가 나가는 일종의 통로!
예로 든 시스템에서의 문제점과 성능이 비 정상적으로 나오게 설계가 된 부분에 대한 설명, 심심하면 죽게 되어있는 이유는 여러 회사에서 서로 다른 작업을 진행하였기때문이었습니다.
왜 Parameter를 Map으로 만드는가? 사용자가 계속 인자를 바꾸기 때문에.
Map안에 Map안에 Map안에... 와 같은 식으로 설계를 하여 어떤 오브젝트든지 넣을 수 있게 설계를 하였지만 해당 설계는 메모리를 잡아두는 식이라 많은 메모리의 낭비를 가져왔다고 합니다.
API 설계의 경우에는 정말 특별한 경우를 제와하고는 MAP을 인자로 주는 경우가 없다고 하셨습니다. MAP이 Memory를 훨씬 더 사용합니다.
Map의 일부에만 Data를 넣어도 모든 객체가 만들어 져 Map은 Memory를 낭바하게 됩니다. 작업 한 사람은 확장성을 주로 하여 작업했다고 합니다.
모든것이 JSON[ JavaScript Object Notation ]으로 작업된다고 합니다.
JSON이란!
JSON은 경량의 DATA교환 형식이다. 이 형식은 사람이 읽고 쓰기에 용이하며, 기계가 분석하고 생성함에도 용이하다. JavaScript Programming Language, Standard ECMA-262 3rd Edition-December 1999의 일부에 토대를 두고 있다.
[네이버 지식백과] JSON [JavaScript Object Notation] - 제이슨 (지형 공간정보체계 용어사전, 2016. 1. 3., 구미서관)
RESTful 호출방식?
port를 그대로 두고 Adapter를 변경하는 방식의 시스템 구성이 유연하도 좋은 설계라고 하셨습니다.
=========================================== 2 ===========================================
간단하게 그리고 오랜만에 김밥집의 참치주먹밥(빅)을 먹고 2교시 수업을 들으러 왔습니다.
[20 : 05 ~ 20 : 57]
하드웨어/OS 이기종성 극복
연결방식의 변화로 운영체제를 만들어 Proting에 대한 이슈가 사라졌습니다. JVM은 정말로 큰 발견이었고 이기종성[Heterogeneous]을 극복하는데 큰 공을 세웠다 할 수 있습니다.
기업형 SW 이기종성 극복
J2EE를 통해서 극복은 벤더의 의존성을 줄였습니다.
어플리케이션 이기종성 극복
인터페이스 기술 의존성과 에플리케이션간의 의존성을 줄여주었습니다.
EAI - (Enterprise application integration)
Web Service 는 아래 두가지로 분류됨
1) WebService =>3가지
- HDDE
- WSDL
- SOAP
2) RESTful
최근의 추세는 1)의 WebService는 쓰이지 않는 추세입니다. 2) RESTful은 비표준이라고하여 이전에는 주로 쓰이지는 않았지만 현재 각광받고 있습니다.
RESTful이란?
Representational state transfer (REST) or RESTful web services are one way of providing interoperability between computer systems on the Internet.
요즘의 추세는 DB, DBMS에 기대지 않고 각 서비스 구성업체에서 자신들의 스타일로 트렌젝션의 비정상 처리에 대해서 대비를 하고있다고 하셨습니다.
웹서비스가 필요한 이유는 내부의 어떤 지적 제산을 서비스하기 위함입니다.
오늘 남은 시간은 예제 코드를 확인해보기로 했습니다.
=========================================== 3 ===========================================
3교시를 준비하며 커피를 한잔하였습니다.
[21 : 10 ~ 21 : 57]
정교하게 설계된 작은 코드를 예제로 배포한다고 하셨습니다.
DB를 어떤것을 쓸 수 있도록, 설계가 되어있습니다.
SP.jersey => 서비스 퍼블리싱을 jersey로 한 버전,
설치 예제의 구조!
SP : jersey
CP : POJO
dom : POJO
DB : DAO
DATA : Memory
클라이언트
UI : JSP 서블릿 / CMD line.
presentation : REST client
예제코드는 받아서 프로젝트 2개 임포트 하고, 메이븐 프로젝트 업데이트를 실시하면 된다고 하셨습니다.