리치 인터넷 애플리케이션

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

리치 인터넷 애플리케이션(RIA)은 웹 애플리케이션의 사용자 인터페이스를 향상시키기 위해 개발된 기술로, 2002년 매크로미디어의 플래시 MX 백서에서 처음 사용되었다. RIA는 플러그인 방식(자바 애플릿, 플래시, 실버라이트 등)과 웹 기반 방식(AJAX, HTML5 등)으로 구현되며, 사용자 인터페이스 구축, 배포 및 업데이트의 용이성을 제공한다. 하지만 모바일 기기 지원 부족, 과도한 장식으로 인한 사용성 저하, 웹 접근성 문제, 글꼴 및 기종 의존 문자 문제, 보안 취약성 등의 한계와 문제점도 존재한다.

리치 인터넷 애플리케이션
📚 더 읽어볼만한 페이지
  • 리치 인터넷 애플리케이션 - 아파치 피봇
    아파치 피봇은 자바 기반의 오픈 소스 데스크톱 애플리케이션 개발 플랫폼으로, 유연하고 사용자 정의 가능한 UI를 구축할 수 있는 위젯 툴킷(WTK)을 제공한다.
  • 웹 2.0 - 페이스북
    페이스북은 마크 저커버그가 2004년 공동 창업한 소셜 네트워킹 서비스로, 전 세계적인 확장과 다양한 기능 추가, 사업 영역 확장을 거쳤으나, 개인정보 문제 및 논란으로 비판받았고, 2021년 메타 플랫폼즈로 사명을 변경하며 메타버스 구축에 집중하고 있다.
  • 웹 2.0 - 블로그
    블로그는 웹로그의 줄임말로, 개인이나 단체가 글, 사진, 동영상 등을 자유롭게 공유하는 웹사이트이며, 다양한 종류와 운영 방식이 존재하고 사회적으로 큰 영향력을 가지지만 문제점도 내포하고 있다.
  • 소프트웨어 구조 - Ajax
    Ajax는 웹 페이지 전체를 새로고침하지 않고 비동기적으로 서버와 통신하여 웹 애플리케이션의 일부를 업데이트하는 웹 개발 기술로, XMLHttpRequest 객체의 등장으로 가능해졌으며 HTML, CSS, DOM, JavaScript, JSON 등의 기술을 통합하여 동적인 사용자 인터페이스를 구현한다.
  • 소프트웨어 구조 - 멀티테넌시
    멀티테넌시는 단일 애플리케이션 인스턴스로 여러 고객에게 서비스를 제공하여 SaaS 및 클라우드 환경에서 비용과 관리 효율성을 높이고 데이터 활용 가치를 창출하는 소프트웨어 아키텍처 방식이다.

2. 역사

"리치 인터넷 애플리케이션"이라는 용어는 2002년 매크로미디어(2005년 어도비 시스템즈에 합병)의 플래시 MX 제품 백서에서 처음 등장했다. 이 개념은 포레스터 리서치의 조지 콜로니(George Colony영어)가 2000년 10월에 언급한 "X 인터넷"에서 유래했다고도 알려져 있다. 그러나 "X 인터넷"은 현재의 리치 인터넷 애플리케이션과는 달리, 브라우저 없이 실행되는 코드에 더 가까운 개념이었다.

2011년 11월, 어도비는 모바일 및 TV용 플래시 제작을 중단하고 Adobe AIR에 집중할 것이라고 발표하면서, 브라우저 플러그인 기반 리치 인터넷 애플리케이션 아키텍처에 대한 수요가 감소하기 시작했다. 전문가들은 데스크톱에서도 플래시의 지속적인 관련성에 의문을 제기하며 "종말의 시작"이라고 묘사했다. Research In Motion(RIM)은 PlayBook용 플래시 개발을 계속할 것이라고 발표했지만, 일부 평론가들은 이 결정에 의문을 제기했다. 마이크로소프트는 실버라이트를 포기할 것이라는 소문이 있었고, 이는 사실로 밝혀졌다. 이러한 발표들로 인해 일부 사람들은 "브라우저 플러그인의 종말"을 선언했다.

2.1. 리치 모바일 애플리케이션

모바일 애플리케이션의 일종으로, 웹 애플리케이션의 많은 속성을 상속받으며, 상황 인식 및 유비쿼터스와 같은 몇 가지 명시적인 특징을 가지고 있다. RMA는 "모바일 클라우드 컴퓨팅, 미래 웹, 그리고 임박한 통신 기술의 융합에서 비롯된 에너지 효율적이고 다중 계층의 온라인 모바일 애플리케이션으로, 고기능성, 몰입형 상호 작용, 그리고 안전한 무선 환경에서의 선명한 응답을 통해 풍부한 사용자 경험을 제공하는 것을 목표로 하며, 상황 인식, 오프라인 사용성, 이식성, 그리고 데이터 유비쿼터스를 가능하게 한다"라고 정의된다.

웹 애플리케이션이 데스크톱 컴퓨터에 성공적으로 배포되고 모바일 기기의 인기가 높아짐에 따라, 연구자들은 이러한 향상된 웹 애플리케이션 기능을 스마트폰 플랫폼으로 가져오기 시작했다. 2003년 일본의 NTT 도코모는 모바일 애플리케이션의 기능을 향상시키기 위해 어도비 플래시 라이트(Adobe Flash Lite)를 채택했다. 2008년, 구글은 오프라인 모드에서 플랫폼에 구애받지 않는 모바일 애플리케이션을 지원하기 위해 구글 기어스(Google Gears)를 윈도우 모바일(Windows Mobile) 5 및 6 기기에 도입했다. 모바일 기기용 구글 기어스는 별도의 사용자 설치 가능한 애드온으로 강화된 웹 애플리케이션을 개발하기 위한 모바일 브라우저 확장 기능이었다. 이러한 애플리케이션은 아키텍처, 운영 체제 및 기술에 관계없이 웹 브라우저를 사용하여 모바일 기기 내에서 실행될 수 있었다. 2008년 4월, 마이크로소프트는 모바일 기기를 위한 매력적이고 대화형 UI를 개발하기 위해 마이크로소프트 실버라이트(Microsoft Silverlight) 모바일을 선보였다. 실버라이트는 실버라이트 지원 모바일 앱을 실행하는 여러 모바일 브라우저와 호환되는 .NET 플러그인이었다. 안드로이드(Android)는 안드로이드 최종 사용자의 상호 작용 경험을 개선하기 위해 구글 크롬 라이트 브라우저에 구글 기어 플러그인을 수용했다.

3. 특징

* 표현력이 높은 사용자 인터페이스를 구축할 수 있다.
* 소프트웨어 배포 및 업데이트가 용이하다. 이는 바이러스 대책과 같은 관점에서는 문제를 포함하고 있지만, 웹 페이지 제공자와 이용자 모두에게 편리성을 제공한다.
* 여러 플랫폼을 지원한다. 운영 체제나 웹 브라우저마다 표시되는 화면에 차이가 발생하는 문제를 웹 페이지 제공자가 회피하여, RIA만 지원하면 동일한 화면 표시가 보장된다는 점도 포함되어 유효하다.

4. 기술

"리치 인터넷 애플리케이션"과 "리치 클라이언트"라는 용어는 2002년 3월 어도비의 백서에서 처음 소개되었지만, 그 개념은 1999년 4월 마이크로소프트의 "원격 스크립팅" 및 2000년 10월 Forrester Research의 "X 인터넷"을 포함한 여러 이름으로 수년 전부터 존재해왔다.

웹 애플리케이션이 데스크톱 컴퓨터에 성공적으로 배포되고 모바일 기기의 인기가 높아짐에 따라, 연구자들은 이러한 향상된 웹 애플리케이션 기능을 스마트폰 플랫폼으로 가져왔다. 2003년 일본의 NTT 도코모는 모바일 애플리케이션의 기능을 향상시키기 위해 어도비 플래시 라이트(Adobe Flash Lite)를 채택했다. 2008년 구글은 오프라인 모드에서 플랫폼에 구애받지 않는 모바일 애플리케이션을 지원하기 위해 구글 기어스(Google Gears)를 윈도우 모바일(Windows Mobile) 5 및 6 기기에 도입했고, 같은 해 4월 마이크로소프트는 모바일 기기용 마이크로소프트 실버라이트(Microsoft Silverlight) 모바일을 선보였다. 안드로이드(Android)는 구글 크롬 라이트 브라우저에 구글 기어 플러그인을 수용하여 안드로이드 최종 사용자의 상호 작용 경험을 개선했다.

JavaFX는 다양한 연결 장치에서 실행될 수 있는 RIA를 생성하고 제공하기 위한 소프트웨어 플랫폼이다. 2019년 3월 11일 발표된 현재 릴리스(JavaFX 12)는 데스크톱, 브라우저 및 휴대폰용 애플리케이션 구축을 가능하게 하며 3D 지원이 포함되어 있다. TV 셋톱 박스, 게임 콘솔, 블루레이 플레이어 및 기타 플랫폼도 계획되어 있다. Java FX는 플러그인 Java 애플릿 또는 웹스타트를 통해 실행된다.

4.1. 플러그인 방식

2011년 11월, HTML5 대안을 선호하면서 브라우저 플러그인 기반 리치 인터넷 애플리케이션 아키텍처에 대한 수요가 감소했다. 어도비는 모바일 또는 TV용 플래시 제작을 중단하고 Adobe AIR에 집중할 것이라고 발표했다. 전문가들은 데스크톱에서도 플래시의 지속적인 관련성에 의문을 제기하며 "종말의 시작"이라고 묘사했다. 이러한 발표들은 "브라우저 플러그인의 종말"을 선언하게 했다.

어도비 플래시는 벡터 그래픽과 래스터 그래픽을 조작하여 텍스트, 그림 및 정지 이미지의 애니메이션을 제공한다. 오디오 및 비디오의 양방향 스트리밍 미디어를 지원하며, 마우스, 키보드, 마이크 및 카메라를 통해 사용자 입력을 캡처할 수 있다. Flash는 객체 지향 프로그래밍 언어인 ActionScript를 포함하며 자바스크립트 Flash 언어(JSFL)를 통한 자동화를 지원한다. Flash 콘텐츠는 어도비 플래시 플레이어를 사용하여 다양한 컴퓨터 시스템 및 정보 기기에서 표시될 수 있다.

아파치 Flex는 이전의 어도비 Flex로, Adobe Flash 플랫폼을 기반으로 하는 크로스 플랫폼 RIA 개발 및 배포를 위한 소프트웨어 개발 키트(SDK)이다.

자바 애플릿은 대화형 시각화를 만들고 비디오, 3차원 객체 및 기타 미디어를 제공하는 데 사용되었다.

마이크로소프트 실버라이트2008년 하계 올림픽, 2010년 동계 올림픽, 넷플릭스 등에 사용되었다. 마이크로소프트 엣지에서는 지원되지 않는다.

기어스(과거 구글 기어스로 알려짐)는 구글 크롬을 포함한 웹 브라우저에 오프라인 저장소 및 기타 추가 기능을 제공했으나, 현재는 단종되었다.

다음은 리치 인터넷 애플리케이션을 구현하는 플러그인 방식 기술이다.

👆
좌우로 밀어서 보기
기술연도개발사
자바 애플릿1995년-2018년썬 마이크로시스템즈
어도비 쇼크웨이브영어1995년-2022년매크로미디어 → 어도비
어도비 플래시영어1996년-2020년퓨처웨이브 소프트웨어 → 매크로미디어 → 어도비
{{lang1998년-
마이크로소프트 실버라이트영어2006년-2021년마이크로소프트

4.2. 웹 기반 방식

RIA는 기능을 향상시키기 위해 XForms를 사용할 수 있다. 또한 XML, XSLT와 일부 XHTML, CSS 및 JavaScript를 사용하여 서버로 다시 돌아가지 않고 클라이언트 측에서 로컬로 정렬할 수 있는 데이터 테이블과 같은 더 풍부한 클라이언트 측 UI 구성 요소를 생성할 수도 있다. 모질라인터넷 익스플로러 브라우저 모두 이를 지원한다.

다음은 리치 인터넷 애플리케이션을 구현하는 웹 기반 기술이다.

* 다이내믹 HTML (1997년 제창)
* AJAX영어 (2005년 제창)
* JavaFX영어 (2007년-2018년, 썬 마이크로시스템즈 → OpenJFX영어)
* HTML5영어 (2008년-2021년)

4.3. 대한민국 현황

대한민국에서는 "X 인터넷" 솔루션이라 많이 불리지만, 전 세계적으로 RIA라는 표현을 많이 사용하고 있다. 국내에서는 국산 제품들이 많은 레퍼런스를 확보하고 있는 추세이고, 리서치 기관이 예상하는 이 분야 강자인 어도비 시스템즈사 제품이나 마이크로소프트사 제품은 아직 많은 레퍼런스를 확보하고 있지 못한 상황이다.

5. 한계 및 문제점

어도비 플래시 콘텐츠는 웹 검색 엔진에 의해 부분적으로 색인될 수 있지만, RIA는 여전히 색인에 어려움을 겪는다.

RIA의 보안은 응용 소프트웨어보다 향상될 수 있다. 예를 들어 샌드박스 및 자동 업데이트를 사용한다. 하지만 확장 자체는 취약성에 취약하며, 접근 권한은 네이티브 웹 애플리케이션보다 훨씬 더 큰 경우가 많다. 대부분의 RIA는 보안을 위해 클라이언트 측 부분을 샌드박스라는 클라이언트 데스크톱의 특수 격리 영역 내에서 실행한다. 샌드박스는 파일 시스템 및 클라이언트 운영 체제에 대한 가시성과 접근 권한을 애플리케이션 서버로 제한한다. 이 방식은 클라이언트 시스템이 로컬 활동, 서식 재지정 등을 처리하여 클라이언트-서버 트래픽의 양과 빈도를 줄일 수 있게 한다.

5.1. 모바일 기기 지원 부족

휴대 전화로 대표되는 인터넷 접속 가능 휴대 기기에서는 웹 브라우저 기능 차이와 하드웨어의 한계로 인해 Adobe Flash영어 등에 대응하는 리치 인터넷 애플리케이션(RIA)을 충분히 지원하지 못하는 경우가 많다. 또한, 마우스와 같은 포인팅 장치를 사용할 수 없는 경우 조작이 불가능해지는 경우도 많다.

5.2. 과도한 장식으로 인한 사용성 저하

동적인 표현을 쉽게 할 수 있기 때문에 화면에 동적 장식을 과도하게 배치하여, 링크 대상 버튼과 같은 조작 대상 객체나 마크가 열람자의 주의를 끌지 못하고 묻혀버리거나, 장식을 다 읽어들일 때까지 링크 대상이 표시되지 않는 등, 내비게이션 디자인의 문제나 페이지 설계의 실수로 인한 사용성 저하를 발생시키기 쉽다.

5.3. 웹 접근성 문제

시각 장애인을 위한 음성 브라우저와 같은 환경에서는 이미지를 읽을 수 없어 조작이 어려워지는 등 접근성 저하 문제가 존재한다. 하지만, WAI-ARIA를 따르는 등 우수한 설계를 가진 RIA에서는 키 할당 기능 등을 충분히 활용하여, 진정으로 사용하기 쉬운 웹 페이지를 구축할 수도 있다.

5.4. 글꼴 문제

RIA(리치 인터넷 애플리케이션)뿐만 아니라, 여러 플랫폼에서 작동하는 애플리케이션에서 공통적으로 발생하는 문제로 문자 폰트가 있다. 애플리케이션이 문자를 표시하기 위해 지정한 문자 폰트가 사용자 환경에 설치되어 있지 않은 경우가 있다. 이 경우, 표시에는 사용자 환경에서 사용 가능한 폰트로 대체되기 때문에, 기대와는 다른 표시가 되어버린다. 이 문제에 대한 대책으로, 웹 폰트라는 시스템이 고안되었다.

5.5. 기종 의존 문자 문제

여러 플랫폼에서 작동하는 애플리케이션에서 공통적으로 나타나는 문제로, 리치 인터넷 애플리케이션(RIA)에서도 일본어 기종 의존 문자 문제가 발생한다. 일본어 문자 집합에는 원문자(원 안의 숫자, 원 둘레 숫자)나 그리스 숫자처럼 운영 체제 간 문자 코드가 일치하지 않는 기호들이 있어 데이터 처리 및 표시에 문제를 일으킨다.

이러한 특수 문자 사용은 피하는 것이 최선이나, 데이터에 이미 포함된 경우 문제가 될 수 있다.

6. 보안 문제

RIAs는 웹 검색 엔진에 색인 문제를 제기하지만, 어도비 플래시 콘텐츠는 이제 적어도 부분적으로 색인할 수 있다.

보안은 응용 소프트웨어보다 향상될 수 있지만(예: 샌드박스 및 자동 업데이트 사용), 확장 자체는 여전히 취약성에 취약하며, 접근 권한은 네이티브 웹 애플리케이션보다 훨씬 더 큰 경우가 많다. 보안을 위해 대부분의 RIAs는 클라이언트 측 부분을 샌드박스라고 하는 클라이언트 데스크톱의 특수 격리된 영역 내에서 실행한다. 샌드박스는 파일 시스템 및 클라이언트의 운영 체제에 대한 가시성과 접근 권한을 연결 반대편의 애플리케이션 서버로 제한한다. 이 방식을 사용하면 클라이언트 시스템이 로컬 활동, 서식 재지정 등을 처리하여, 소위 씬 클라이언트(thin client)를 중심으로 구축된 클라이언트-서버 구현에 비해 클라이언트-서버 트래픽의 양과 빈도를 줄일 수 있다.