최근 몇가지 관심있게 보는 몇가지 키워드를 풀어보기 위해 여러 기술 조사를 하던 중에 Ajax Framework들에 대해 벤치마킹을 한 유용한 자료가 있어 소개해 본다.

Ajax Framework은 웹 개발에 있어 필수적으로 사용하는 클라이언트측 프레임웍이다. 따라서 해당 프레임웍의 성능에 따라 클라이언트측 개발에 많은 영향을 미친다. 특히, 최근에 많은 이슈가 되고 있는 Realtime Web과 SOPEA(Service-Oriented Front-End Architecture) 구조의 개발을 위해서는 더욱이 중요하다 할 수 있다.
 
Matt Raible은 그의 블러그에서 주요한 Ajax 프레임웍을  주요한 내부 기준에 따라 실제 테스트하고 해당 결과를 정리하였다.  실제 결과를 떠나 Matt팀이 설정한 주요한 내부 기준도 Ajax 프레임웍을 바라보는 데 많은 도움을 준다. 관심있는 분은 한번씩 눈여겨 봐주면 좋을 것 같다.

결과만 간략히 소개하면 다음과 같다.

- 가중치를 주지 않은 경우 결과 : 거의 대부분의 Ajax 프레임웍이 동일함
사용자 삽입 이미지

- 가중치를 주었을 경우 결과 : GWT win
사용자 삽입 이미지

가중치의 기준은 Matt와 그의 팀 그리고 수행하는 프로젝트에 따라 다를 것이다. 그러나 한번 결정된 프레임웍을 변경하는 것은 아주 어렵기 때문에 많은 고민을 해서 프레임웍을 결정하는 것이 필요할 것이다.

Posted by 박재현

댓글을 달아 주세요


OpenAPI를 사용하여 개발을 하다 보면 가장 필요한 것이 바로 원하는 OpenAPI를 찾고 해당 API가 원하는 결과를 만들어 내는 지 확인하는 과정일 것 입니다. 일반적으로 가장 쉬운 방법이 직접 해당 OpenAPI로 샘플 코드를 작성하고 해당 코드를 수행해 보는 것 입니다. 사실 아주 번거로운 방법입니다.

개발자에게 이러한 번거로운 과정을 덜어주기 위해서는 일련의 테스트 베드 환경을 제공해야 합니다. 개인적으로도 최근 진행하는 업무 중 이러한 환경을 제공하는 것이 있습니다. 실제 곰곰히 고민해 보면 이것저것 해야 할 것들이 많습니다. 더미 코드를 만들어야 하고 실 서버의 성능상에 영향을 주지 않는 구조를 고민해야 하구요..

최근에는 구글이 Ajax APIs Playgrodund 라는 OpenAPI의 테스트베트 환경을 제공해 주기 시작했습니다. 요즘같이 어려운 상황에서 카탈로그 검색, Dodgeball, Jaiku, Mashup Editor 등의 서비스를 내리기로 했던  구글 입장에서 보면 Ajax APIs Playgrodund의 중요성을 짐작할 수 있습니다.

구글 Ajax APIs Playgrodund는 다음과 같은 OpenAPI를 제공하고 있습니다.

실제 화면으로 보면 개발자는 원하는 OpenAPI를 검색하며 선택하면 이에 해당하는 자바 스크립트 코드가 제공되며 하단에 해당 코드를 실제 수행하여 결과를 확인해 볼 수 있다. 해당 결과가 원하는 결과라면 실제 자바 스크립트 코드를 복사하여 개발을 수행할 수 있습니다. 아래 화면은 Earth API에서 maps API에 Geocoding을 넣어서 결과를 얻는 화면입니다.

사용자 삽입 이미지

과거에 비해 개발 과정에서 많은 생산성 향상이 있습니다. 실제 구글에서는 25% 이상의 효과가 있다고 합니다. 구글과 마찬가지로 MS에서도 이와 유사한 테스트베트를 제공합니다. MS Mesh 개발 툴중에 LiveFx Resource Browser라는 OpenAPI 테스트 베드를 제공하고 있습니다.

사용자 삽입 이미지

LiveFXResourceBrowser는 MS의 LiveFX 프레임웍에서 제공하는 OpenAPI를 브라우징하면서 원하는 결과 타입(ATOM,Json,POX,RSS)을 실시간에 변경하여 확인할 수 있다.

'SaaS-Cloud' 카테고리의 다른 글

Above the Cloud  (0) 2009.05.06
클라우드 기반의 서비스 개발 환경 - Aptana on the DaaS  (2) 2009.05.01
Context Cloud Computing  (1) 2009.04.13
Adsense for image  (1) 2009.04.09
Amazon S3 현황  (2) 2009.03.31
OpenAPI에서 테스트 환경은 가장 중요한 환경이다.  (3) 2009.01.26
SaaS(Cloud) Directory  (0) 2008.12.25
OpenID와 SaaS 서비스  (0) 2008.12.25
SaaS 기술 동향 - 2008년 10월  (0) 2008.10.28
구글 G메일 다운과 SaaS  (0) 2008.10.18
SaaS Taxanomy  (0) 2008.10.08

Posted by 박재현

댓글을 달아 주세요

  1. Favicon of http://www.137adekosis.co1.kr BlogIcon 김인호돼지박사 2009.01.30 08:56  댓글주소  수정/삭제  댓글쓰기

    좋은 일 하시네요...(복 많이 받으세요)

  2. 이준호 2009.02.16 13:14  댓글주소  수정/삭제  댓글쓰기

    25%이상의 생산성 향상이란 말을 어디서 참조한 것인지 알려 주실 수 있는지요?
    관련 자료를 보면 구글은 개발자에게 20%의 시간을 프로젝트 외에 다른 일하는데 활용하게 해 주겠다고 하고 이 시간을 이용해 구글 개발자가 이 사이트를 개발했다고 써 있는데 여기서 유추를 하신건가요?

  3. Favicon of https://wisefree.tistory.com BlogIcon 박재현 2009.02.16 14:51 신고  댓글주소  수정/삭제  댓글쓰기

    구글 Ajax APIs Playgrodund 개발 담당자가 해당 서비스를 발표하면서 소개한 글에서 읽고 인용했습니다. URL은 찾아보고 추가 확인해서 올리도록 하겠습니다.


오늘 삼성동에서 열린 web2.0 korea 2007에서 "웹 플랫폼상에서의 애플리케이션 개발,관리"에 대해 발표를 했습니다. 300명이 넘는 분들이 참석하여 오랜만에 후끈한 열기를 느낄 수 있는 자리 였습니다.

사용자 삽입 이미지
포탈 업체에서 부터 웹 에이전시, 그리고 일반 업체의 웹 관련된 분들까지 다양한 곳에서 다양한 연령층의 분들이 모인 자리이고 모두 비싼 컨퍼런스 비용을 내고 참석하시는 분들이라 사실 여간 준비하면서 신경을 부쩍 쓴 컨퍼런스 였습니다. 물론 모든 발표때 마다 고민을 합니다. ^-^ 가급적 실제 실무 개발시 고민해야 할 사안들에 대해 정리해 보았습니다.

웹 플랫폼은 한마디로 웹 브라우져, 웹 서버 기반의 애플리케이션을 개발하여 H/W, OS 등과 무관하게 어디에서나 이용하게 하자는 것 입니다. 이러다 보니 실제 웹 애플리케이션은 웹 서버와 웹 클라이언트의 기술과 제약에 영향을 받습니다.  특히, 웹 브라우져가 더욱 영향이 크다 할 수 있습니다. 실제  그간 웹 브라우져는 단순히 HTML을 서버로 부터 받아와 뷰잉하는 역할이었습니다. 그러나 이러한 소즉적인 기능에서 벗어나 현재 웹 브라우져는 Ajax, DOM ,CSS, Flash, Java Appet 등 다양한 기술을 사용하여 동적인 메뉴 구성와 출력이 가능해졌습니다. 이러한 기술을 효과적으로 사용하기 위해서 7가지 기본 가이드와 아키텍쳐 패턴을 정리해 보았습니다.

1. Dynamic User interface
2. Real time event-driven programming

3. Light weight MVC programming on client side

4. Server is headless & open API serverp

5. Apply the agile web platform

6. Light weight system architecture6. Light weight system architecture

7. Software As A Service(SAAS)

그러나 현재에도 여러 제약들이 존재하고 있습니다.

- Offline 지원
- 대용량 데이타 처리

이러한 문제를 해결하는 방법은 현재로서는 웹 브라우져상에서 사용가능한 스토리지를 활용하는 것 입니다.

현재 웹 브라우져 상에서 이용할 수 있는 스토리지로는 Flash의 Local storage , IE의 userData behavior, FF의 DomStorage 등이 있습니다. 그러나 이들 스토리지는 작게는 1M에서 최대 10M 이상은 지원되지 않습니다.

따라서 이들 저장공간을 효과적으로 이용하기 위한 방법이 필요합니다. 씽크프리에서는 과거 DOS 시절에 많은 워드 프로세서 들이 사용했던 방법을 도입하여 이를 해결하였습니다. 과거 기본 메모리가 640K에 확장 메모리가 2M가 채 되지 않던 시절, 어떻게 10M가 넘는 파일을 편집하고 처리할 수 있을까요? 바로 여기에 아키텍쳐 그리고 운영체제 등의 기술이 필요합니다.

자세한 내용은 제 강의 자료를 참조해 주십시요.


제가 강조하고 싶은 부분은 사회를 이해하기 위해 역사를 공부하듯 아무리 현재가 웹 플랫폼 시대이지만 과거 DOS나 터미널 서버 시절의 기술들도 이해해야 하며 특히, 애플리케이션의 구조와 그에 따른 장.단점 들은 잘 파악하고 있어야 한다는 사실입니다.

저는 코더와 개발자는 다르다고 생각합니다. 코더는 말 그래로 주어진 스펙에 맞춰 코딩을 하는 사람이고 개발자는 주어진 문제를 풀기위해 최적화된 방법을 찾고 이를 해결해 나가는 사람이라고 생각합니다. 간혹 사람들이 이런 말을 합니다. "사람은 많은 데 쓸만한 사람은 없다." 현재 상황이 이런 것 같습니다. "코더는 많은 데 쓸만한 코더(개발자)가 없다." 모두 코더가 아니라 개발자가 되길 기원합니다.
 
저는 Web2.0이니 Enterprise2.0 이나 하는 것이 다분히  마케팅적이고 비지니스적인 욕구에 의해 만들어진 것임을 잘 이해 합니다. 물론 이러한 것들이 없는 것을 만들어 낸 것은 아닙니다. 그러나 좀 걱정스러운 것은 기본과 본질을 이해하려는 노력없이 유행만을 추구한다면 결국 이를 따라가다 지치게 될 것이라는 사실입니다.

이 짓을 오래하다 보니 돌고도는 기술을 보면서 느끼는 것을 주절주절 정리해 보았습니다. 저는 내일 제주도에 한국 커머스넷 춘계 Conference에 패널로 참가를 합니다. 모처럼 생각도 정리할 겸 그곳에 아는 지인들도 만날 겸 좋은 자리가 될 것 같읍니다.



 




Posted by 박재현

댓글을 달아 주세요

  1. Favicon of https://taoism.tistory.com BlogIcon 타오 2007.03.29 23:35 신고  댓글주소  수정/삭제  댓글쓰기

    발표하시느라 수고하셨어요^^ 글 잘보고 있습니다~

  2. 박재현 2007.03.30 17:51  댓글주소  수정/삭제  댓글쓰기

    별말을...수고

  3. 철이 2007.04.10 13:21  댓글주소  수정/삭제  댓글쓰기

    좋은 글 잘~ 읽고 가네요~


3월 29일날 삼성동에서 열리는 "웹2.0 코리아 2007 컨퍼런스"에서 발표를 하게 되었습니다. 당일 발표는 주제가 " 웹 플랫폼화에 따른 애플릿케이션의 개발,배포"에 관한 내용입니다.

사용자 삽입 이미지

그 간 웹 개발 기술은 서버 플랫폼을 중심으로 발전해 왔습니다. 초기 CGI에서 Servlet, EJB 등 많은 서버 기술들이 출현했고 이에 따라 많은 발전을 거듭해 왔습니다. 그러나 현재에는 웹의 서버측의 플랫폼 기술만이 아니라 RIA(Rich Internet Application)으로 불리는 웹의 클라이언트측 플랫폼 기술이 발전하면 개발 뿐만 아니라 초기 기획,디자인,코딩에 이르기 까지 많은 변화가 불어왔고 , 또한 서비스의 아케텍쳐 또한 변하게 되었습니다.

본 발표에서는 이러한 것들을 살펴보고 현재 웹 플랫폼하에서 개발할 때 고려해여 할 사안들과 현재 가장 이슈가 되고 있는 웹 애플릿케이션의 오프라인 지원 기술에 대해 정리하려고 합니다.

발표가 마치고 나면 자료와 발표 내용을 정리해서 올리도록 하겠습니다.





Posted by 박재현

댓글을 달아 주세요