블로그 이미지

DBA를 꿈꾸는 사람~

개인 적인 공부 내용을 까먹지 않기 위해 적는 나만의 공간?? by afeleia


'WPF'에 해당되는 글 2건

  1. 2008/02/05 RIA(Rich Internet Application)
  2. 2008/02/04 실버라이트 2.0에 대해..(3)

RIA(Rich Internet Application)

RIA란 데스크톱 응용 프로그램의 특징과 기능을 가지는 웹 응용 프로그램이다. 일반적으로 페이지의 새로 고침 없이 한 페이지에서 동작하는 웹 응용프로그램을 말한다.

 쉬운 예로서 CGV영화관에 예매 서비스를 말할 수 있다.(
http://www.cgv.co.kr) 새로고침 없이 한페이지에서 구현되는 것을 볼 수가 있다.

 History..
 RIA는 2002년 Macromedia(현재의 Adobe)에 의해 소개되었지만 개념적으로 유사한 내용들은 이전에도 있었다. 1998년 Microsoft는 Remote Scripting을 소개하였고, 2000년 Forrester Research는 X Internet을 소개하였다. 더불어 리치 클라이언트, 리치 웹 클라이언트 또한 RIA와 유사한 기술적인 분류로 이야기 할 수 있다.

 그러던 중 2002년에야 비로서 RIA의 실제 적용사례가 소개된다. 플래시와 콜드퓨전(CFML)을 이용한 TravelClick의 Broadmoor 호텔의 OneScreen이라는 예약 시스템이었다. (
http://www.broadmoor.com)

 2004년에는 Macromedia에서 플렉스를 엔터프라이즈 개발자를 위한 새로운 플랫폼으로 소개하였다. 기존 플레시가 가졌던 단점을 해결하고 새로운 RIA개발 환경을 위해 새로운 서버 제품으로 출시하였다. 현재 플렉스 3가 2008년 RIA시장에 기대주로 손꼽히고 있다.

 이러던 중 RIA는 2005년 구글 진영의 구글 맵으로 인해 강렬한 인상을 사용자에게 주게 된다.
 
 이후 웹 2.0에 대한 소개와 실제 구현 사례를 통해 RIA는 웹 비지니스의 중요한 요소로 성장하였다.


 Why???
 웹 응용 프로그램은 서버를 중심으로 모든 처리가 수행되고 상용자의 웹 브라우저를 통해 그 결과를 출력하는 구조로 이루어진다. 이것을 흔히 씬 클라이언트(thin client)라 부르는데 이 경우 서버에서 많은 작업이 필요한 경우 무작정 기다려야 하고 서버의 처리시간이 길어지면 서버와의 통신이 끊겨 더 이상 이용할 수 없는 단점이 발생해 버리기도 한다. 이런 것을 보완하고 사용자 인터페이스를 향상하기 위한 시도가 바로 RIA이다.

 장점!!
 1. HTML 위젯(widget)을 사용하는 효과 이상의 보다 그래픽 적인 인터페이스를 공급 할 수 있다.
 2. 클라이언트에 비지니스 로직 부분을 구현하여 복잡한 계산을 클라이언트에서 수행할 수 있다. 그렇기 때문에 보다 향상된 서버의 응답을 구현 할 수 있는 것이다.
 3. 비동기 통신(Asynchronous communication)을 이용하여 사용자에게 보다 빠른 응답속도를 보이는 것처럼 구현할 수 있다. ( 예 : 구글 맵(Google Maps))
 4. 실제 필요한 일부분의 데이터만 서버로 전달하고, 그 결과를 클라이언트 페이지의 일부 영역에 반영할 수 있기 때문에 네트워크 자원의 사용량도 감소한다.

 단점 아닌 단점!???
 RIA는 사용자 인터페이스 개선 및 성능 향상이라는 두마리의 토끼를 잡을 수 있는 현재 진행형의 기술이지만 그만큼 개발의 난이도는 매우 높다. 하지만 사용자는 이런 개발자의 고충을 알 필요가 없다. 단지 쓰기 편하고 매력적인 프로그램을 사용할 것은 당연하다. 결국 개발자만 죽어난다...

RIA의 종류!?

l       AJAX/DHTML: 자바 스크립트와 XML을 이용한 비동기 호출을 사용하는 방식으로 웹 2.0에서 많은 주목을 받고 있는 기술의 조합이다. 현재 많은 업체에 의해 AJAX를 쉽게 개발할 수 있도록 툴 킷들이 공개되고 있다.

l       플래시(Flash): Adobe(이전 Macromedia)의 대표적인 벡터 방식의 그래픽 환경으로 현재 대부분의 브라우저에서 동작한다. 화려한 사용자 인터페이스를 구현하고, 액션스크립트(ActionScript)를 이용하여 비즈니스 로직을 구성할 수 있다.

l       플렉스(Flex): Adobe가 소개한 엔터프라이즈 개발을 위한 플랫폼으로 플래시의 SWF로 그 결과물을 출력하나 플래시와는 완전히 다른 새로운 기술이다.

l       오픈라즐로(OpenLaszlo): Laszlo System에 의해 시작된 오픈소스 플랫폼으로 RIA 구현을 위해 사용할 수 있으며, LZX라는 새로운 인터페이스 언어를 사용한다. 그 결과물은 플래시 플레이어에서 동작하는 SWF 파일로 출력된다.

l       WPF: Microsoft에서 새롭게 소개하는 차세대 벡터 방식의 그래픽 환경으로WPF/E를 활용하여 RIA를 구현할 수 있으며, XAML Jscript의 기반한 프로그래밍 모델을 가진다.

l       XUL: XML 기반의 사용자 인터페이스 마크업 언어(User Interface Markup Language)로 모질라(Mozilla) 기반의 웹 브라우저에서 HTML/XHTML을 대신하여 사용할 수 있다.

l       액티브X(ActiveX): 윈도우 응용 프로그램을 웹 페이지상에 실행할 수 있는 기술로 마이크로소프트에 의해 소개되었다. 인터넷 익스플로러(IE)에만 동작하는 단점을 가지고 있다. 또한 다른 방식의 RIA 구현과는 다르게 일반적으로 클라이언트에 설치되어 실행하기 위해서는 공인 인증서를 발급(유료)받아야 하는 번거로움이 있다. 물론 브라우저 설정에 따라 이런 과정 없이 설치 및 실행할 수 있으나 클라이언트의 자원을 제어할 수 있는 보안의 취약성이 큰 문제를 발생하기도 한다.

l       스마트클라이언트(SmartClient): Microsoft의 닷넷(.NET) 기반의 윈도우 프로그램을 웹 상에서 실행할 수 있는 기술이다. 보안설정과 클라이언트에 닷넷 프레임워크의 설치가 필수이다.

l       자바 애플릿(Java applet): 자바 응용 프로그램을 웹 페이지 상에서 실행할 수 있는 기술로 오래 전부터 사용되었다. 다양한 클라이언트의 제어를 할 수 있는 장점에도 불구하고, 느린 속도와 대체 가능한 기술들에 의해 그 사용이 점점 줄어들고 있는 상황이다.

l       자바 응용프로그램(Java application): 자바 웹 스타트(Java Web Start)는 자바 응용 프로그램 자체를 웹을 통해 클라이언트에서 실행할 수 있도록 허용한다. 웹을 통해 자바 응용 프로그램을 실행하는 방식으로 RIA를 구현할 수 있다.

<<참고사이트>>
1.
http://blog.naver.com/neovis7
크리에이티브 커먼즈 라이선스
Creative Commons License
Comment 0 Trackback 0
Top

실버라이트 2.0에 대해..

사실 실버라이트가 뭔지 잘 몰랐습니다.
2008년 웹 개발 기술에 대해 살펴보다가 알게 되었죠 ^^
자자 시작합시다..

 우선 실버라이트란 차세대 웹을 위한 미디어 경험과 RIA(Rich Internet Application)를 제공하는 크로스 플랫폼, 크로스 브라우저를 지원하는 플러그인이라고 할 수 있습니다. 어렵죠?? ^^;

==실버라이트 1.0==
 실버라이트 1.0은 완성도나 기능적인 면 이외에 여러가지 면이 베타같은 정식버전이라는 말이 많습니다. 기본적으로 버튼이나 텍스트 박스 조차 만들 수 없었지만 MS는 RIA시장을 선점하고 있는 다른 여러업체에 도전장을 내밀었다는 의미에 제품입니다. 하지만 선전포고 역할은 정말 톡톡히 해냈다고 평가 되고 있습니다. 국내나 외국에는 이미 실버라이트의 정보로 넘쳐나고 iSBS나 MNet 같은 업체들도 부분적으로 도입하였기 때문입니다.
 기존의 RIA시장을 독식하고 있던 Adobe사는 다소 난처한 경우지만 RIA시장을 즐기는 이용자나 개발자들은 다소 즐거운 소식일 수 밖에 없었습니다. 또한 HD급 화질을 제공하는 RIA기술은 지금까지는 실버라이트가 유일한 대안이었습니다.

 하지만 이 버전에서는 자바스크립트만 지원이 되었습니다. 장점이라고는 WMV/VC1/WMA/MP3가 모두 지원되는 모델로서 중간에 별도의 엔코딩을 하지 않고 바로 동영상을 볼 수 있으며 운영체제나 윈도우미디어로부터 자유로운 점이 있었습니다. 하지만 개발자들이 디버깅하기 귀찮아하는 자바 스크립트를 이용한 개발은 개발자들과 거리감을 두게 되었습니다.

 이후 1.1을 기다리던 사람들에게 난데 없이.. 차기버전 2.0이 나오게 되었습니다. 하지만 너무 큰 변화로 1.1이 아닌 2.0이 될 수 밖에 없었죠!!

==실버라이트 2.0==
 실버라이트 2.0이 1.1이 아닌 2.0이 될 수 밖에 없는 이유를 지금부터 이야기 해볼게요~
(말투가 갑자기 바꼈군요.. 제 블로그니..제 맘대로.. ^^;)
 
 1. 실버라이트용 CLR(Common Language Runtime) 제공
  =>CLR은 닷넷기반의 프로그래밍 언어로 개발된 프로그램을 실행시키는 역할을 하는 실행 기반입니다. 2.0에서 부터 별도의 CLR이 제공되면서 자바스크립트가 아닌 C#이나 혹은 루비/파이썬/VB.NET을 이용할 수 있게 되었습니다.
 
 2. 미디어와 관련된 DRM을 제공하고 서버 측에서 데이터를 가져오기 위한 웹서비스 제공
 =>사실 아직 잘 모르는 부분이지만 웹서비스의 지원은 개발자에게 천군만마를 얻는 것과 같다고 합니다. AJAX를 이용할 수도 있지만 보편적이고 일반적으로 선호하는 것이 웹서비스를 이용하는 것이기 때문이죠.. 그리고 DRM을 제공해주는데 DRM은 쉽게 말하면 컨텐츠를 보호하기 위한 자체 락이라고 생각하면 됩니다. 2.0부터 DRM을 제공하면서 상업적으로 널리 쓰이게 될 것입니다.

 3. 플랫폼으로부터 자유로움
 => 2.0은 MS역사상 처음으로 다양한 플랫폼을 지원합니다.  크로스 플랫폼, 크로스 브라우저를 지원하지요... 지금 Windows와 MAC을 공식적으로 지원하고 있고 Linux도 지원하게 될 것이라고 말하고 있습니다. 또한 익스플로러, 파이어폭스, 사파리, 오페라의 4대 브라우저도 모두 지원합니다. 향후 임베디드기기까지 지원이 예정되어 있습니다.

 이 외에 WPF UI Framework/ 풍부한 컨트롤/ 풍부한 네트웍 기능 제공/ 풍부한 기반 클래스 라이브러리의 지원등 여러가지 장점이 있으나 필자에 실력이 부족한 관계로 향후 업데이트 하겠습니다. ㅠㅠ

사용자 삽입 이미지

실버라이트 2.0 아키텍쳐

                     <그림 1. 실버라이트 2.0 아키텍쳐>
사용자 삽입 이미지

실버라이트 2.0 개발환경


              <그림 2. 실버라이트 2.0 개발환경을 한 눈에>

 지금 실버라이트 2.0은 정식제품이 나와 있지 않습니다. 대신 비슷하게 맛을 볼 수 있는 실버라이트 1.1 Refresh Alpha 버전을 이용할 수 있습니다. 지금 닷넷 기술을 이용하는 실버라이트 2.0을 사용하기 위한 조합은 다음과 같이 추천합니다.

 -Windows XP Service Pack 2 이상의 OS(필수)
 -Microsoft Visual Studio 2008 한글 베타2(필수)
 -Microsoft Silverlight 1.1 Tools Alpha for Visual Studio 2008(필수)
 -Microsoft Expression Blend 2 September Preview(필수)

 -Microsoft Expression Encodder
 -Microsoft Expression Design


 

<<참고한 사이트 입니다.>>
1.
http://blog.daum.net/younwoomom/6192808
2. Micro SoftWare 08/01호
 
크리에이티브 커먼즈 라이선스
Creative Commons License
Comment 3 Trackback 0
Top

prev 1 next