박지훈 outinsider@paran.com
중앙대 컴퓨터공학 박사이며, (주)쎄듀의 솔루션 기획팀을 맡고 있다. Learning 2.0 기반의 영어 온라인 학습 솔루션을 개발하여 세계에 수출하는 것이 목표다.






Learning 2.0으로 가기 위해 플렉스가 필요하다고 느끼는 건 나만의 생각일까? 그 생각은 무척 간단하다. 사용자는 교육의 효과를 원하고, 그 환경을 구현하는데 플렉스가 답을 제공하기 때문이다. 플렉스가 탄생한 배경과 온라인 교육 환경의 특성을 생각해보면 답은 더욱 간단명료해진다.

웹의 역사를 통해 보는 플렉스의 출현 의미
필자가 1995년에 접한 웹은 혁명, 그 자체였다. 핫자바(HotJava)라는 브라우저를 타고 넘어 온 시계 모양의 자바 애플릿을 아직도 잊을 수 없다. 당시 웹은 HTML과 텍스트, 이미지로 이루어진 천국이었다. 그런데 자바 애플릿에서 프로그래밍 로직이 담긴 소프트웨어 덩어리가 웹을 타고 자유롭게 전세계를 이동하는 모습을 보았다. 그로부터 10년이 넘은 지금의 웹은 플래시, ActiveX, 자바스크립트 삼총사가 없으면 무너질 정도가 되었다(단, ActiveX의 부재는 한국에만 치명상을 줄 것이다).

웹 브라우저 속에 들어가는 소프트웨어 플랫폼의 선두 주자는 자바였지만 곧 플래시에 그 위치를 빼앗긴다. MS의 인터넷 익스플로러가 자바를 지원하지 않음과 동시에 플래시는 가볍고 화려하며 역동적인 사용자 인터페이스를 앞세워 자바 애플릿의 영역을 침범한다. 플래시는 그래픽을 최대한 활용하여 사용자 인터페이스를 아름답게 구성할 수 있을 뿐만 아니라 파일 크기 또한 작다. 또한 플래시를 실행해 주는 플래시 플러그인 프로그램은 'Write Once, Publish Anywhere'라는 문구가 어울리도록 다양한 운영체제와 브라우저를 위해 개발되었다. 이렇듯 자바의 장점을 계승하고 단점을 회피한 듯한 플래시는 자바 애플릿이 겨냥했던 시장을 장악한다.

플래시는 1995년에 첫 선을 보인 이래, 초반에는 멀티미디어 광고와 게임에 주로 사용되었다. 플래시 2.0에 처음 적용되었던 플래시용 스크립트 언어는 1999년 플래시 5에서 객체 지향적인 '액션스크립트'라는 언어로 다시 태어나면서 독자적인 프로그래밍 언어로서 모습을 갖추었다. 현재 액션스크립트 3.0 버전은 일반 프로그래밍 언어와 견주어도 손색이 없는 훌륭한 프로그래밍 언어다.

액션스크립트가 현재 수준으로 업그레이드된 것은 사용자가 플래시 플레이어 위에서 애니메이션이 가미된 동적 컨텐츠 뿐만 아니라 비즈니스 소프트웨어를 실행할 수 있기를 원했기 때문이다. 따라서 애니메이션 개발 생산성 향상에 초점이 맞춰져 있던 초창기 액션스크립트는 방향을 바꿔 비즈니스 소프트웨어 개발에 쓰이는 기존 프로그래밍 언어 수준으로 업그레이드되어야 했다. 그와 더불어 애니메이션 개발 생산성이 강조된 기존 플래시 개발도구와는 다른 새로운 도구가 필요하였다. 바로 플렉스(Flex)다. 이것이 액션스크립트 3.0과 플렉스의 출현 배경이라고 할 수 있다. 이것들이 나오면서 소프트웨어 사용 경험을 최적화할 수 있는 비즈니스용 RIA(Rich Internet Application)를 구축할 수 있게 되었다.

현재 많은 개발자들이 기업용 대시보드 같은 기업용 RIA 애플리케이션 개발에 플렉스를 사용한다. 하지만 플렉스로 말미암아 이제까지 없던 새로운 형태의 교육용 소프트웨어 플랫폼, 즉 Learning 2.0의 세상이 기존 플래시 플랫폼 위에 자라날 것이다.

교육용 온라인 컨텐츠와 플래시는 찰떡 궁합!
학습자의 교육 효과가 극대화되려면 오프라인과 온라인의 학습 컨텐츠가 서로 상승 효과를 내야 한다. 기존처럼 오프라인, 즉 학교나 학원에서 선생님의 수업만을 듣고 그치는 교육 시스템은 앞으로 경쟁력을 잃고 도태될 수 밖에 없을 것이다. 수업 내용을 체화, 즉 몸 속에 단단히 기록하는 과정을 거치지 않으면 그 효과는 약화될 수 밖에 없다.

수업과는 별도로 학습자가 매일 반복된 학습 훈련을 하지 않으면 학습 효과는 떨어지는데, 이런 반복 학습 훈련을 온라인 학습 프로그램이 담당하는 것이 좋다. 온라인 학습 프로그램은 멀티미디어를 최대한 활용할 수 있으며 오프라인에서 절대로 할 수 없거나 매우 불편한 학습 프로그램도 실현할 수 있기 때문이다. 또한 학습자의 학습 수행 상태를 데이터베이스에 기록하면 해당 학생에게 최적의 맞춤 프로그램을 제공할 수 있어 교육 주체는 특정 교육 목표를 달성하는 데 필요한 최단 패스를 학습자에게 제공할 수 있다.

하지만 온라인 학습 프로그램만으로는 학습자들의 성취 욕구와 성과를 체계적으로 관리하기 힘들기 때문에 오프라인 학습 플랫폼과 결합되어야 한다. 요즘 어린이 대상의 영어 어학원들이 오프라인과 온라인의 학습 시스템을 통합하여 학습 프로그램을 운영하는 것은 이런 효과를 간파했기 때문이다.

플래시는 애니메이션과 사용자 상호작용을 통합하여 구현하는 데 최적의 기술이다. 또한 대부분의 웹 브라우저에 플래시 플러그인 프로그램이 설치되어 있어 플래시로 학습 프로그램을 한번 만들어 놓으면 어떤 사용자든 그것을 받아 실행하는 데 별 문제가 없다고 컨텐츠 개발자는 확신한다. 따라서 별도로 프로그램을 설치하지 않고도 웹 브라우저를 통해 학습 프로그램을 실시간으로 다운로드해 실행해야만 하며 또한 재미있고 즐거운 멀티미디어 컨텐츠로 채워져야 하는 어린이용 온라인 교육 컨텐츠의 특성상, 플래시 컨텐츠가 어린이용 온라인 교육 시장을 장악한 것은 당연하다.

하지만 어린이만을 위해 온라인 교육 컨텐츠가 존재하는 것은 아니다. 이것들을 사용하여 반복 훈련을 하면 청소년, 성인 또한 학습 효과를 극대화할 수 있다. 이제까지 이들 컨텐츠의 대부분은 주로 어린이들을 위해 플래시 도구를 사용하여 개발되었다. 따라서 애니메이션이 강조된 컨텐츠가 마치 온라인 교육 컨텐츠의 표준 모델처럼 되어 버렸다. 애니메이션을 배제하거나 최소화하고도 얼마든지 훌륭한 교육 컨텐츠가 개발될 수 있는 영역은 무궁무진함에도 불구하고 이제까지 그런 컨텐츠를 개발할 수 있는 최적의 통합 개발 환경이 없었다. 하지만 애니메이션 개발 생산성에 초점이 맞춰지지 않고, 일반 프로그래밍 언어의 모든 기능을 사용하여 플래시 프로그램을 만들 수 있는 통합 개발 환경인 플렉스와 범용 애플리케이션을 충분히 개발할 수 있는 정도로 구조화되고 풍성한 라이브러리를 제공하는 액션스크립트 3.0의 등장으로 이제 양상은 달라지게 되었다.

플렉스가 제공할 교육 시스템의 특성
플렉스는 기존 플래시 도구에서 제공하는 애니메이션 타임라인 컨트롤을 제공하지 않는다.

따라서 애니메이션 기반 플래시 컨텐츠를 빨리 만드는 능력은 기존 플래시 도구보다 못하다. 플렉스는 <그림 1>에서 보다시피 일반 애플리케이션 개발에 필요한 버튼, 표, 차트 등 GUI 라이브러리가 매우 풍부하며, 기존 프로그래밍 개발 환경에서 제공하지 않았던 수준 높은 UI 효과를 낼 수 있다. 또한 플래시 도구에서 개발된 애니메이션 및 심볼을 플렉스 내부에서 재사용할 수도 있다.



<그림 1> 플렉스 빌더





더군다나 LiveCycle Data Services ES라는 J2EE 기반 애플리케이션 서비스와 손쉽게 연동할 수 있다. 따라서 서버 및 다른 클라이언트와 데이터 송수신이 쉽기 때문에 데이터 기반 애플리케이션도 만족스럽게 개발할 수 있다.

기존 플래시 도구가 애니메이션 기반 교육용 컨텐츠에 적합하다고 한다면, 플렉스는 일반 애플리케이션 형태의 교육용 컨텐츠를 개발할 수 있는 충분한 기능을 제공한다. 플렉스의 장점 중 가장 핵심적인 점은 플렉스로 개발된 소프트웨어가 플래시 파일, 즉 swf로 출력되기 때문에 기존 플래시 런타임 환경, 즉 웹 브라우저 내에서 실행될 수 있다는 점이다.

자바 역시 J2EE 기반의 다양한 애플리케이션 서버가 나와 있고, 스윙(Swing) 및 기타 멀티미디어 라이브러리가 제공되어 웹으로 배포되는 교육용 애플리케이션 개발에 적용될 여지가 충분히 높다. 하지만 자바 프로그램을 실행하기 위해서는 클라이언트 사용자가 JRE(Java Runtime Environment)를 설치해야 하는데, 사용자들은 JRE를 필수 설치 아이템으로 생각하지 않고 또 파일 크기가 커서 잘 설치하지 않는다. 이 점이 자바가 웹 클라이언트에서 힘을 쓰지 못하는 이유다. 반면 플래시 플러그인은 누구나 필수로 설치해야 하는 프로그램으로 인식되고 있다. 따라서 플래시로 개발된 컨텐츠는 누구에게나 쉽게 배포된다.

플렉스의 'Write Once, Publish Anywhere', 가볍고 화려한 GUI 컴포넌트, 다양한 프로토콜을 지원하는 데이터 서비스 기능 등은 새로운 스타일의 온라인 학습 컨텐츠 개발에 필요한 조건을 충족시켜 준다 플래시 도구에서는 주로 디자이너에 종속적인 컨텐츠가 개발되었다면, 플렉스는 개발자가 그러하다. 따라서 디자이너와 개발자가 플렉스 내에서 역할을 분담한 후, 개발자는 프로그래밍 로직을 최대한 활용하여 세밀한 형태의 데이터 기반 애플리케이션 아키텍처를 구현하고 디자이너는 세련된 GUI를 설계하고 이펙트를 부여한다면 차세대 교육용 컨텐츠의 무대가 등장할 것이다.

온라인 교육 솔루션 개발 전략
필자의 회사의 경우는 종합적 영어 교육을 표방한 어학원으로서 오프라인, 온라인 영어 학습 프로그램이 정교하게 통합된 프로그램을 개발 중에 있다. 플렉스로 개발되는 컨텐츠는 1차적으로 리스닝 받아쓰기, 작문 및 스피킹 첨삭 시스템, IBT 기반 평가 시스템 등이며 이들은 애플리케이션 서버와 통합되어 학생의 실력을 정량적으로 평가하는 데 필요한 데이터를 수집하며 관리한다. 또한 네트워크 기능을 강화하여 다양한 형태의 온라인 게임 등이 접목될 것이다.

플래시 기반 온라인 학습 컨텐츠의 단점 중 하나가 확장성과 유지보수성이 떨어지는 것이다. 따라서 데이터는 XML, 애플리케이션 아키텍처는 프레임워크를 사용하거나 패턴 기반으로 설계하여 클라이언트와 서버 애플리케이션이 새로운 요구사항을 빠르게 반영할 수 있도록 구축하고 있다. 이 모든 것은 플렉스가 지원하는 애플리케이션 아키텍처를 통해 가능한 일이다.

플렉스는 개발자의 상상력 지수를 높여 주었다. 한국의 온라인 교육 플랫폼은 그 힘으로 한단계 더 도약할 시점이다.

저작권자 © 아이티데일리 무단전재 및 재배포 금지