티스토리 뷰

이기종 간의 통신을 하려면 많은 방법들이 있다. 
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으로 호출하고 받는것을 포스팅해보겠다^^
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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
글 보관함