유비쿼터스 컴퓨팅이나 SOA 같은 개념을 현실과 그대로 비교해 보면 거창하게 느껴지기도 하고, 이론적이라고 치부할 수도 있다.
하지만 누군가 상상하고 그린 모습이 미래를 만드는 후보가 되고 끈길지고 열정적인 사람이 매달린 꿈은 곧 현실이 된다.
WOA = REST?
WOA가 곧 REST(Representational State Transfer)는 아니지만, 둘은 구분하기 어려울 정도로 꽤나 닮아 있다. 다음은 위키피디아에서 찾은 WOA 정의다.
Web Oriented Architecture(WOA) is a style of software architecture that extends service-oriented architecture(SOA) to web based applications, and is sometimes considered to be a light-weight wersion of SOA. WOA is also aimed at maximizing the browser and server interactions by use of technologies such as REST and POX(Plain Old XML).
REST는 WOA 를 위해 쓰이는 기술중의 하나일 뿐임을 알 수 있다.
SOFEA(Service-Oriented Front-End Architecture)
SOFEA가 기준으로 삼는 5가지 원칙은 아래와 같다.
1. 표현 층에서 서로 직교하는 세 가지 다른 처리인 애플리케이션 내려받기와 표현흐름, 데이터 교환은 서로 구분해야 한다.
2. 클라이언트 유형을 고려해 내려 받는 방법을 다양하게 해야 한다.
3. 표현 흐름은 서버 개입 없이 클라리언트가 처리한다. 대부분의 웹 프레임워크가 사용하는 프론트 컨트롤러 패턴은 바람직 하지 않다.
4. 표현 층도 반드시 복잡한 데이터 구조와 타입, 데이터 제약을 지원해야 한다. 이상적인 모습은 클라이언트/서버 모델이 아니라 P2P모델을 통한 자연스런 이벤트 통지다.
5. MVC는 표현 층 개발에는 좋은 패턴이지만 프론트 컨트롤러를 사용하는 MVC 구현은 잘못된 방식이다. MVC 컨트롤러는 표현흐름과 데이터교환을 주도하는 핵심 구성요소로 클라이언트 상태 변화를 관장한다.
아래의 그림 1, 이는 전통적인 MVC 와 SOFEA가 제시한 MVC 차이를 잘 표현하는 그림이 다.
1. 전통적인 MVC 모델
2. 웹 2.0의 새로운 아키텍처
현재의 문제점은 지금까지의 작업에 묻혀서 생각의 전환이 쉽지않는다는 것과 좀더 나은 프로그램을 하려는 마음이 생기지 않는데에 있다. 작업일정에 쫓기다 보면 계속 동일한 방법만 반복되는게 현실이니까.
방법론이나 프로세스를 꾸준히 발전시켜서 적용하는건 일단은 리더의 문제라고 담아 짊어지려 한다.
Posted by 홍반장