고운소프트 / 웹기반 정보시스템 개발

소프트

고운소프트 / 웹기반 정보시스템 개발

리치 앱

서비스 > 웹기반 정보시스템 개발

Sat Jul 16 00:00:00 KST 2016

1. 웹 기반 정보시스템의 목표

정보시스템은 정보의 생산, 관리, 배포의 목표에 부합되도록 구현되어야 합니다.

1.1. 정보의 배포

비지니스 환경에서 인터넷과 웹은 필수 불가결한 매체이고, 마케팅활동에서 정보배포의 중심에는 검색엔진이 있습니다. 따라서, 비지니스 이해관계에서 최대의 갑(甲)이 검색엔진임을 염두하고, 비지니스 설계자는 항상 검색엔진을 고려해야 합니다.

정보의 배포에 효과적인 시스템은 콘텐츠 중심으로 서비스되는 형태입니다. 이것은 하이퍼링크라 불리는 URL를 통해 콘텐츠에 연결되기 때문에 검색엔진의 웹 크롤러에 쉽게 노출되도록 할 수 있습니다.

콘텐츠 중심의 페이지는 이것을 읽는 사람뿐만 아니라, 검색엔진에 효과적으로 인덱싱(indexing) 되도록 메타(meta)정보도 잘 관리되어야 합니다.

1.2. 정보의 생산과 관리

정보를 생산·관리하는데 있어서 사용자 인터페이스는 매우 중요합니다. 정보는 단순히 열거되어 있는 데이터가 아니라 특정 목적를 표현하고 있어야 하는데, 여기에는 인간의 판단을 동반되기 때문입니다.

사용자 인터페이스측면에서 정보의 생산과 관리가 용이한 시스템은 대화식 리치 인터넷 애플리케이션(이하, 리치 앱) 형태이어야 합니다.

1.3. 리치 앱

AJAX란 기술이 나오기 전의 웹 기반 정보시스템의 사용자 인터페이스는 대단히 취약할 수 밖에 없었습니다. 그것은 월드 와이드 웹의 기초인 HTTP가 글자 그대로 하이퍼텍스트의 전송만을 하는 지극히 단순한 프로토콜이기 때문입니다.

JavaScript는 크고 복잡한 프로그램을 작성하기에는 인터프리터로서의 단점을 갖고 있기 때문에, AJAX가 나온 이후에도 웹 브라우저 만으로 동작하는 리치 앱은 그리 발전하지 못합니다.

리치 앱을 위한 기술 중, GWT는 Java 소스프로그램을 JavaScript로 변환하는 기술로 대표됩니다. 이것을 사용하면, 프로그램의 작성 단계에서 컴파일러 언어의 장점을 사용할 수 있을 뿐만 아니라, 웹 브라우저에 최적화된 JavaScript 코드도 얻을 수 있습니다.

1.4. MVC와 MVP

Java를 사용한 정보시스템의 개발에서 콘텐츠 중심의 서비스는 MVC가, 리치 앱을 위한 것으로 MVP 패턴이 널리 알려져 있는데, 이 둘은 다음에서 확연한 차이가 있습니다.

MVC의 콘트롤러는 HTTP 요청 내부에 있기 때문에 HTTP의 목적범위를 벗어날 수 없습니다. 반면에, MVP의 프리젠터는 HTTP 요청의 외부에 위치합니다. MVP에서 프리젠터는 뷰의 요청을 AJAX를 통해 서버에 전송하고, 그 결과를 뷰에 표시합니다. 이는 애플리케이션을 개발하는데 있어서 HTTP의 사용방식이 근본적으로 다름을 의미합니다.

결국, 정보의 배포와 생산, 관리의 목표를 모두 만족하는 시스템의 개발에는 MVC, MVP 패턴 모두를 효과적으로 적용할 수 있는 무언가가 필요한 것입니다.

1.5. 고운플랫폼

당사의 정보시스템 개발의 기초는 고운플랫폼입니다. 고운플랫폼은 콘텐츠 중심의 MVC와 리치 앱을 위한 GWT MVP 프레임워크를 포함합니다.

2. 웹 기반 정보시스템의 유용성과 비용

2.1. 비지니스적 유용성

정보시스템의 비지니스적 측면의 핵심은 생산된 정보의 공유를 통한 시너지에 있다고 할 수 있습니다.

정보의 공유는 소통(communication)의 기초입니다.

2.2. 접근성과 비용

정보의 사용자는 웹 브라우저만 있으면 시스템에 접근할 수 있다는 것이 웹 기반 정보시스템의 가장 큰 장점이라 할 수 있습니다. 하지만 정보 제공자 입장에서는 시스템의 개발에 더 많은 비용을 지불해야 하는 단점이 있습니다.

수년전에 비하여, 최근에는 보다 나은 품질의 정보서비스를 제공하기 위해 더 많은 지식과 기술이 필요로 합니다. 데스크탑 컴퓨터와 텍스트 편집기만 가지고 홈페이지를 만들던 시절도 있었지만, 지금에 와서는 시스템 구성요소들의 개념이 복잡하고 다양하여, 개발 인프라가 구축된 환경에서 이론적 지식의 기초하에 다양한 도구들을 능숙하게 사용할 수 있어야 겨우 페이지 하나 만듭니다.

결국, 개발비용이 천문학적으로 치솟았다고 할 수 있습니다.

그러나, 이러한 비용을 지불하지 않으면 경쟁에서 뒤쳐질 수 밖에 없습니다.