관리 메뉴

샐님은 개발중

[섹션0] 1. Web Service & Web Application 본문

인프런 - Spring Boot 3.x 를 이용한 RESTful Web

[섹션0] 1. Web Service & Web Application

샐님 2024. 7. 21. 18:20
728x90
반응형

1. Web Service 개요 

 - www라는 것은 디바이스와 디바이스 간의 통신 서비스를 하는 것이고 또는 네트워서 상에서 특정 포트를 열어놓은 어떤 서버가 클라이언트의 요청을 받은 다음에 html, json, xml 과 같은 문서를 제공. 이렇게 웹 서비스 라는 것은 www, 인터넷 , http의 기술을 사용하는 웹을 통해서 특정한 도메인 문제를 해결하기 위한 웹 어플리케이션 서비스를  뜻하기도 함.

 - 웹 서비스는 기존 분산 컴퓨팅 기술과는 달리 xml 위주로 사용하고 있어 주고 받는 데이터 포맷을 통일성 있게 만들수 가 있다. 기존의 분산 프로그램 대비 개발이 휠씬 수월해짐.

 

* 웹서비스의 주요 키워드 3

1. 머신과 머신 또는 애플리케이션과 애플리케이션 같의 상호작용을 위한 설계

2. 플랫폼에 의존적이지 않은 구조

3. 애플리케이션 간의 네트워크를 통한 통신을 지원

 

2. 웹 어플리케이션

 - 서버에 저장되어 있고 인터넷 브라우저를 이용해서 실행할 수 있는 어플리케이션을 뜻하기도 함. 

인터넷 웹 브라우저는 http 프로토콜을 통해서 제공되는 html 문서를 해석하고 사용자에게 보여주는 어플리케이션을 말함.

우리가 흔히 인터넷이라고 하게 되면 이런 웹브라우저를 이용해서 웹 어플리케이션을 사용하는 것.

- 이렇게 웹 어플리케이션을 실행해주는 서버 자체를 웹 어플리케이션 서버 라고 하며 간단하게 was 라고 함.

 

 

3. Web Service

-  웹 어플리케이션에서 웹 서비스로 전달되는 요청 정보를 클라이언트의 request(input) 라고 하고 

웹 서비스에서 처리된 결과를 다시 클라이언트 라던가 웹 어플리케이션으로 반환시켜주는 것을 response(output) 라고함.

웹서비스 개발을 위한 정의 필요

 

* 웹서비스 정의 

1. 어떠한 요청 결과가 있을지 그리고 그러한 request 와 response 가 전달되는 데이터 포맷을 어떻게 할 것인지에 대해 request, response 포맷을 정의.

2. 이런 포맷으 xml, 또는 json 형식을 주로 사용. 최근에는 xml보다 문서양이 휠씬 적은 json 을 주로 사용.

 

웹 서비스를 개발하는 방식   : IT 개발에서는 이러한 부분을 어플리케이션 로직 또는 비지니스 로직, 서비스 로직등으로 불림. 중요한 것은 어플리케이션에서 제공하려고 하는 기능이나 서비스에 대한 부분을 처리해주느 로직이라는 점에서 동일.

 

1. SOAP (Simple Object Access Protocol) :   프록시나 방화벽의 구애를 받지 않고 비교적 쉽게 통신 가능. 플랫폼 또는 프로그래밍 언어의 독립적이고 확장가능한 기술이라는 장점이 있지만, 다른 미들웨어 기술과 비교해 느리다는 단점이 있음.

2. RESTFUL(REpresentational State Transfer) :  Resource의 Representation 에 의한 상태 전달, HTTP Method 를 통해 Resource 를 처리하기 위한 아키텍처, REST API 를 제공하는 웹 서비스.

클라이언트와 서버간의 통신 방식 중 하나

 

 

-  RESTFUL API 를 사용하면 확장성이라던지 유연성 뿐만 아니라 기술에 대한 독립성이라는 특징을 가질 수 있게 되는데 API 설계 시 다양한 프로그래밍 언어 , 클라이언트와 서버, 어플리케이션을 개발 가능. RESTful API 자체가 REST 서비스를 제공하는 API 뜻함. REST API를 사용하는 웹 서비스를 RESTful 방식의 어플리케이션이라고 함.

 

*API  : 어플리케이션 간의 서로 통신하고 서로 사용하기 위해서 규정된 약속이라고 보면됨.

 

Resource

- URI, 인터넷 자원을 나타내는 유일한 주소 

- XML , HTML, JSON

Endpoint ( 실제로 작업해야할 메소드 호출)

- API 를 통해 서버가 제공하는 리소스에 접근하기 위해 제공 되는 주소

 

 

4. Open API

(인터페이스 =  약속) 

- 누구나 사용할수 있도록 공개한 API

- 기관이나 정부의 정보를 개발자가 사용할 수 있도록 개발

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형