반응형


@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"file:src/main/webapp/WEB-INF/spring/**/*.xml"}) public class BbsDAOTest { @Inject private BbsDAO bdao; private static Logger logger = LoggerFactory.getLogger(BbsDAOTest.class); @Test public void testFind() throws Exception{ FindCriteria cri = new FindCriteria(); cri.setPage(1); cri.setFindType("S"); cri.setKeyword("테스트"); logger.info("********** 테스트 글목록 출력 **********"); List<BbsVO> list = bdao.listFind(cri);
for(BbsVO bvo: list){ logger.info(bvo.getBid() + ": "+bvo.getSubject()); } logger.info("********** 테스트 Data갯수 출력 **********"); logger.info("CountData: "+bdao.findCountData(cri)); } }

junit 단위 테스트 방법

@RunWith(SpringJUnit4ClassRunner.class) 로 junit 함께 실행

@ContextConfiguration(locations = {"file:src/main/webapp/WEB-INF/spring/**/*.xml"}) xml 설정 불러오기

@inject bdao 주입

@test 테스트 실행할 코드


반응형
반응형

[SOAP] 기반 웹서비스

- SOA : 해당서비스를 서로 조합해서 업구 기능을 구현한 어플리케이션을 만들어내는 소프트웨어 아키텍처

- DATA ---> XML로 표현

- UDDI : Universal Description, Discovery and Integration

* 웹서비스를 등록하고 검색하기 위한 저장소로 웹서비스를 공적으로 접근, 검색이 가능하도록 한 공개된 레지스트리

- WSDL (Web Service Description Language) : 웹 서비스 기술 언어 ( 웹서비스를 정의한 언어 XML로 표시)



이와 같이 WSDL 을 모아놓은 XML들이 모여서 UDDI가 된다 UDDI 가 WWW (월드 와이드웹) 으로 서비스 이용

# SOAP?

- HTTP, HTTPS , SMTP(1) 등을 통해서 XML기반의 메시지를 컴퓨터 네트웍상에서 교환하는 프로토콜

- XML을 통해서 제공하는 웹서비스가 SOAP기반 웹서비스다

(1)간이 전자 우편 전송 프로토콜(Simple Mail Transfer Protocol, SMTP)



SOAP 요약 그림 SOAP 부분은 XML/TXT 로 이루어짐

# SOAP 기반의 웹서비스

단점 : 1. 인코딩 , 디코딩이 어렵다.

2. HTTP 상에서 전송하기에 무겁다

3. 개발환경이 따로 필요하다

4. 개발난이도가 높다.

장점 : 1. 사용환경 , 플랫폼에 구애를 안받는다. (리눅스,윈도우,안드로이드 등) ---- XML로 이루어져있어서

2. 동적 바인딩이 가능하다, 독립된 모듈 , 서비스 연결이 느슨하게 연결 , 서비스 조립이 가능

***

[RESTful 기반의 웹서비스]

- Roy Fielding (인터넷 창시 연구한 사람) 이 박사학위 논문에서 웹 아키텍쳐가 웹의 본래 설계의 우수성을 활용하지 못한다고 판단.

웹의 장점을 최대한 활용할 수 있는 네트워크 기반의 아키텍쳐를 제안 (RESTful)

# RESTful (REpresentational State Transfer, 2000년) 표현 상태 전달? (리소스 상태 전달)

- HTTP 프로토콜로 데이터를 전달하는 프레임워크

- 클라이언트와 서버간의 구성요소를 엄격 하게 분리하여 구현을 단순화 함, 서버와 클라이언트를 독립적으로 구현함으로, 확장성을 향상

- 핵심은 Web에 개방된 리소스를 이용.

( soap 같은경운 action 과 동작과 서비스(프로세싱) 단위로 구현을 하다보니 규격화가 되있슴 ex) WSDL (XML) 만들고 UDDI에 저장을함)

- REST는 웹에 개방된 리소스들을 원격에서 또는 로컬에서 쉽게 이용할 수 있는 웹 응용

- REST 아키텍처 스타일에 따라 정의되고 이용되는 서비스나 응용프로그램을 (RESTful) 웹 서비스라고 부른다.

*** SOA(Service Oriented Architecture) 서비스를 지향하는 아키텍처 <--- SOAP (서비스를 기준)



SOAP 기반의 웹서비스는 SOA 구조에 따라서 UDDI 레지스트리를 통해서 웹서비스를 등록,탐색, 바인딩 해서 이용 (규격화)

- 상호 통신간 프로그램들이 잘 이해할 수 있는 문법에 따라 개발 되었고 , 그에따라서 개발자들은 웹 서비스의

기본 스펙을 알아야 하는 고난이도 프로그래밍 능력이 요구됨

- 사람 보다는 기계의 우선적으로 이해하기 쉬운 구조이므로 환경설정 및 개발 환경이 준비 되있어야한다 (동작과 프로세싱 중심)

*** ROA(Resource Oriented Architecture) 자원을 지향하는 아키텍처 <---- RESTful (resource (자원 지향))



Restful 웹서비스는 리소스를 등록하고 저장하는 중간 매개체 없이 리소스 제공자가 직접 요청자에게 제공

그렇기 때문에 soa 의 비해 가볍다 (규격화가 따로없다)

- 인터넷 서비스 업체들이 응용 개발자들에 손쉬운 데이터 제공을 목적으로 출발함

- Restful 은 데이터 기반 이기때문에 기계 보다는 사람이 이해하기 쉽도록 인터넷 기본(HTTP / XML) 이외에 별도의 개발 /실행 환경이 필요 없음.


반응형

+ Recent posts