아키텍쳐 145

REST 아키텍쳐에 대한 연재를 시작합니다.

그간 Technical한 내용에 대한 Post가 뜨음 했습니다. 작년과 금년에 걸쳐서 REST 기반의 시스템을 설계와 구현을 하였습니다. 그때 참 REST에 대한 이해가 잘못되어 가고 있구나, 그리고 REST에도 생각할것이 참 많구나 하는 생각을 하고 꼭 정리해야지 정리해야지 했는데... 몇달이 지난 지금에야 시작합니다. 총 4회의 연재로 구성됩니다. 1회-REST 아키텍쳐에 대한 소개 REST가 무엇인지에 대해 간단한 소개와 REST 기술에 대한 경향을 알아봅니다. 2회-고도화된 REST 아키텍쳐 Roy Fielding이 소개한 진짜 고도화된 REST에 대한 아키텍쳐를 좀더 깊게 알아봅니다. 3회-REST 구현 REST 구현 스펙인 JAX-RS (JSR-311) 기반의 Jersey 프레임웍을 통한 RE..

REST 연재-1회 REST 아키텍쳐의 기본

1회 – REST 아키텍쳐에 대한 기본(DRAFT) 자바스터디 조대협 http://bcho.tistory.com REST 아키텍쳐 REST는 웹의 창시자(HTTP) 중의 한 사람인 Roy Fielding의 2000년 논문에 의해서 소개되었다. 현재의 아키텍쳐가 웹의 본래 설계의 우수성을 많이 사용하지 못하고 있다고 판단했기 때문에, 웹의 장점을 최대한 활용할 수 있는 네트워크 기반의 아키텍쳐를 소개했는데 그것이 바로 Representational safe transfer (REST)이다. Basic of REST 한마디로 REST를 정리하면 HTTP URI + HTTP Method 이다. URI로 대상 자원을 명시하고 Method로 해당 자원에 대한 행위를 정의한다. Resource REST의 가장 큰..

SOA 시스템 설계에서 가장 큰 실수

SOA 시스템에 대한 컨설팅 (설계나 Code Inspection)을 다니다 보면, Goverance나 프로젝트 관리상에서도 문제가 많이 나타나지만, 설계상에서 근본적인 문제로 나타나는 패턴들이 있다. SOA의 근본적인 정의를 다시 내려보면, "비지니스적인 의미를 가지는 컴포넌트를 기업내의 통합된 프로토콜로 서비스하여 제공한다." 이다. BPM을 이용한 Composition이나 ESB를 이용한 유연성의 증대도 SOA 에서 큰 의미를 차지하지만, 일단 시작은 SOA를 통해서 제공되는 컴포넌트의 형태이다. 즉 기본이 되는 SOA 서비스와 그 인터페이스에 대한 정의와 구현이 제대로 되어야 하는데 통상적으로 SOA 시스템을 설계하고 구현하는데 있어서 발견되는 실수는 다음과 같다. 1. 표준 전문의 미사용 서비스..

아키텍쳐 /SOA 2009.03.16

REST의 반격?

SPEC도 없고, 적당한 구현 프레임웍도 없던 REST가 드디어 반격을 시작하는지? 여기저기서 들려오는 소리가 대부분 REST에 대한 소식이다. WSDL처럼 REST의 스펙을 정의하는 WADL REST 프로그래밍 스펙이 JSR 311-JAX RS로 등록이 되고 Sun에서는 JAX RS의 Implementation체인 Jersey (https://jersey.dev.java.net/) 도 있고.. WSDL2.0에서도 REST스펙이 추가 되었다하니 아마 REST 기반의 개발이 가속화 되지 않을까? 금년에는 유난히 REST에 대한 이야기가 많네 그랴..

Composition 과 Mashup의 차이

SOA 프로젝트를 하다보면 Mash up과 Composition를 혼용해서 쓰는 사람들이 종종있다. 먼저 유래부터 살펴보면 SOA 사상이 먼저 나온후에, WEB 2.0 이란 사상이 대두 되고, SOA의 무거운 부분과 복잡성을 제외하고, 단순성과 편의성을 위주로 OPEN API라는 개념이 나왔다. SOA에서 통상적으로 웹서비스로 구현되는 서비스를 JSON이나 PLAIN OLD XML등과 같이 경량의 사용하기 쉬운 메세지 포맷을 이용해서 OPEN API라는 것이 개발되었고, 이 오픈 API를 조합하여 새로운 기능을 만들어 내는것을 MASH UP이라고 한다. SOA WEB 2.0 컴포넌트 개념 웹서비스 기반의 서비스 경량 기반의 서비스 서비스 조합 Composition (Orchestration) Mash u..

아키텍쳐 /SOA 2008.11.13