티스토리 뷰
이기종 간의 통신을 하려면 많은 방법들이 있다.
db-to-db (예전에 보안 개념이 없었을때는 많이 이용했는데 요새는 보안이 강화되어 이용안한다.) , EAI (eai는 양 끝단 당사자 이외에 eai가 개입해야 하는 단점) 등이 있다.
이외에도 corba, rpc, soap등의 방법이 있는데 이 중에 가장 편한것이 그냥 당사자간에 HTTP를 이용한 Restful (REpresentational State Transfer)를 이용하는 것이 좋다.
이게 왜 생겨났냐면.. 블로그 참조했다.
쉽게 설명하면 스마트폰 개발을 하게되면서 급속도로 RESTful API 사용이 많아졌습니다. 이전에는 "개발자" 한명이서 DB도 만지고 화면도 제작했었습니다. 그런데 업무 양이많아지고 분야가 넓어지면서 한 사람이 혼자 커버하기 어려워졌고 분업화가 필요 해졌고 백엔드 개발자가 DB접속권한등을 가진 코드등 분리가가능한것들 분리 했고 작업을 나누게 되었습니다.
2008년쯤부터 국내에서 "프론트개발자/백엔드개발자"라고 나누고 지금 처럼 불리우게 되었습니다. 프론트개발자에게 API url를 넘겨주면 그것가지고 "화면"을 제작하고 api url에 파라미터를 넣어주면 의도한 값들이 나오면서 화면에 뿌리게되었습니다.
#이게 뭔장점이있으면
이렇게 분리해서 개발하게되면 두명이서 동시에 개발이가능하므로 (1+1 =2 는아닙니다... ) 업무속도를 높히게되고 분리가 되므로 코드가 꼬인다거나 다른 사고들을 미연에 방지 할수있게 되었습니다. 무진장 좋지않나요 ? 이걸 우리는 restful api 설계개발방식 이라고 합니다.
RESTful 하게 개발한다는것을 생산성 측면에서 본다면 협업을 효율적으로 하는것과, 유지보수를 체계화 할수있다는것에서 점수를 높게 주게됩니다. (SOAP 이야기는 아예 빼버리겠습니다.)[출처] Restful 하게 , Restful API 이 뭔가요 ? |작성자 세줄
그럼 실제 자바 코드를 사용해서 구현해보면..
url을 이용해 호출하고 json리턴 값을 받아 {"result":"1"} result에 해당하는 값을 리턴하는 코드이다.
public String getUrlInterfaceByUserId(String url){ String rst = "";
try
{
URL clsUrl = new URL(url);
HttpURLConnection clsConn = (HttpURLConnection)clsUrl.openConnection();
clsConn.setRequestMethod("GET"); clsConn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
clsConn.setDoOutput(true);
clsConn.connect();
BufferedReader clsInput = new BufferedReader(new InputStreamReader(clsConn.getInputStream()));
String inputLine = ""; while((input=clsInput.readLine())!=null){
rst+=inputLine;
}
clsInput.close();
JSONObject jo=new JSONObject(rst);
rst=jo.getString("result");
}catch(Exception e){ System.out.println(e);
}
return rst;
}
다음글에는 json으로 호출하고 받는것을 포스팅해보겠다^^
db-to-db (예전에 보안 개념이 없었을때는 많이 이용했는데 요새는 보안이 강화되어 이용안한다.) , EAI (eai는 양 끝단 당사자 이외에 eai가 개입해야 하는 단점) 등이 있다.
이외에도 corba, rpc, soap등의 방법이 있는데 이 중에 가장 편한것이 그냥 당사자간에 HTTP를 이용한 Restful (REpresentational State Transfer)를 이용하는 것이 좋다.
이게 왜 생겨났냐면.. 블로그 참조했다.
쉽게 설명하면 스마트폰 개발을 하게되면서 급속도로 RESTful API 사용이 많아졌습니다. 이전에는 "개발자" 한명이서 DB도 만지고 화면도 제작했었습니다. 그런데 업무 양이많아지고 분야가 넓어지면서 한 사람이 혼자 커버하기 어려워졌고 분업화가 필요 해졌고 백엔드 개발자가 DB접속권한등을 가진 코드등 분리가가능한것들 분리 했고 작업을 나누게 되었습니다.
2008년쯤부터 국내에서 "프론트개발자/백엔드개발자"라고 나누고 지금 처럼 불리우게 되었습니다. 프론트개발자에게 API url를 넘겨주면 그것가지고 "화면"을 제작하고 api url에 파라미터를 넣어주면 의도한 값들이 나오면서 화면에 뿌리게되었습니다.
#이게 뭔장점이있으면
이렇게 분리해서 개발하게되면 두명이서 동시에 개발이가능하므로 (1+1 =2 는아닙니다... ) 업무속도를 높히게되고 분리가 되므로 코드가 꼬인다거나 다른 사고들을 미연에 방지 할수있게 되었습니다. 무진장 좋지않나요 ? 이걸 우리는 restful api 설계개발방식 이라고 합니다.
RESTful 하게 개발한다는것을 생산성 측면에서 본다면 협업을 효율적으로 하는것과, 유지보수를 체계화 할수있다는것에서 점수를 높게 주게됩니다. (SOAP 이야기는 아예 빼버리겠습니다.)[출처] Restful 하게 , Restful API 이 뭔가요 ? |작성자 세줄
그럼 실제 자바 코드를 사용해서 구현해보면..
url을 이용해 호출하고 json리턴 값을 받아 {"result":"1"} result에 해당하는 값을 리턴하는 코드이다.
public String getUrlInterfaceByUserId(String url){ String rst = "";
try
{
URL clsUrl = new URL(url);
HttpURLConnection clsConn = (HttpURLConnection)clsUrl.openConnection();
clsConn.setRequestMethod("GET"); clsConn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
clsConn.setDoOutput(true);
clsConn.connect();
BufferedReader clsInput = new BufferedReader(new InputStreamReader(clsConn.getInputStream()));
String inputLine = ""; while((input=clsInput.readLine())!=null){
rst+=inputLine;
}
clsInput.close();
JSONObject jo=new JSONObject(rst);
rst=jo.getString("result");
}catch(Exception e){ System.out.println(e);
}
return rst;
}
다음글에는 json으로 호출하고 받는것을 포스팅해보겠다^^
'자바(Java)' 카테고리의 다른 글
[eclipse] 이클립스 실행시 failed to load the jni shared library (0) | 2018.07.04 |
---|---|
RSA 기반 웹페이지 암호화 로그인 (0) | 2018.06.29 |
[Spring-MyBatis-Oracle] 스프링 트랜잭션 하는 방법 (0) | 2018.03.14 |
[자바] 이클립스 톰캣 start 시 console 탭에 에러 뜰때 해결방법 (0) | 2018.02.05 |
java foreach (0) | 2018.01.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- C언어
- esql
- 문자열
- 프로씨
- 포인터
- XE
- proc
- xe애드온
- 인포믹스
- XE3
- 파이썬
- ocajp
- EC
- php
- 자바 smtp
- xe addon
- webix
- 자바
- Python
- 오라클
- 이클립스
- 스크래핑
- KG
- MySQL
- C
- 플러터
- ocjap
- 라이믹스 모듈
- JDBC
- 파싱
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함