지난 번 XTech참관기에서 정리한 1편 글에 이어 XForm에 대해 살펴보도록 하겠습니다. XForm 자체가 XML이자 XHTML2 부분이기 때문에  기존의 HTML Form 비해 다양한 이점들이 있습니다.


  • XML이기 때문에 기본적으로 국제화를 지원합니다.
  • Device 독립적입니다. 별도로 다른 디바이스를 위해 변경해야 필요가 없습니다.
  • 외부에서 XForm 채워진 데이터를 로딩하여 처리하는 기존 XML 같은 방법으로 동일하게 처리할 있다. 이렇게 하면 Form값을 채우기 위해 서버와 핑퐁을 하지 않아도 되겠죠. 바로 비동기 처리가 가능하게 됩니다.
  • XForm 값을 계산하고 addressing하기 위해 Xpath 사용하고 데이터 타입을 정의하는 있어 XMLschema 사용하는 기존의 XML 표준을 사용하며 SAOP, XLMRPC 등 기존의 데이터 처리 방법과 함께 통합되어 사용된다.
  • Intent-based controls , 단순히 UI 구성하는 것만이 아니라 해당 폼에 입력되는 값을 분리하여 이를 직접 조정할 있게 한다. 이렇게 함으로써 다음과 같은 것들이 가능합니다.

  • 폼에 입력된 값들을 서버로 보내지 않고도 다양하게 조작할 있다. 실제 Ajax 프로그램을 하지 않고도 비동기 처리가 가능하다. 이를 통해 User experience 강화할 있다. 또한 합산시 바로 계산이 되어 보여지게 됩니다.
  • Types 체킹도 별도의 체크 코드를 작성할 필요없이 XForm자체에서 명시하면 됩니다. 또한 계산(수식,스트링,) 자체적으로 지원되기 때문에 불필요한 코딩을 하지 않아도 효과 만점입니다.
  • Attribute 동기,비동기(기본) submission 지원하고 delete 추가되고 텍스트로 결과를 받은 특정 부분을 다른 값으로 대체로 가능합니다.


이런 특징들이 있기에 XForm 단순히 기존의 From 대체한다기 보다는 클라이언트측의 개발에 있어 새로운 템플릿 역할을 하며 Aajx 프로그래밍 없이도 미려한 UI 효과를 제공할 있습니다. 또한 값과 UI 분리되기 때문에 같은 폼을 웹과 핸드폰 다양한 브라우져와 디바이스에 두루 적용할 있습니다.


  • 그렇다면 Xform으로 적용 가능한 새로운 응용에는 어떤 것들이 있을까요?
    • Regular form - 기존 폼을 완벽히 대처할 있다.
    • Editing XML
    • Spreadsheets
    • Applications  - UI와 데이터 분리되고 수식 기능을 제공하기 때문에 자체로서 응용 프로그램 개발 프레임웍으로 사용할 있다. 
    • output transformation - XML 정보를 주고 받기 때문에 처리 결과에 대한 변환이 가능하다.

다음에는 Xform 예제를 돌려보면서 앞서 설명한 기능들을 확인해 보겠습니다.^-^


Posted by 박재현
,


출장에서 오자 마자 회신 못한 메일을 보고 주간보고를 정리하고 밀렸던 블러그를 읽다 보니 석찬님의 몰아치기로 여러 글들을 올렸네요.. 그런데 관련되서 Xtech의 발표중 하나가 Mozilla의 XULRunner로 개발한 Joost의 발표가 있었습니다.

Putting SVG and CDF to Use in an Internet Desktop Application,Antoine Quint (Joost.com)


물론 주제는 클라이언트측에서 SVG 등 웹 표준 기술을 얼마나 효과적으로 구사하느냐가 주제 였습니다. 간략히 소개하면 다음과 같습니다.(아래 친구가 발표했습니다.)

사용자 삽입 이미지
Joost는 venice 프로젝트로 알여진 인터넷 TV 업체입니다. 업체에서 SVG 클라이언트측에 사용하면 TV 구현했죠. 아마 처음보면 일반 데스탑 애플리케이션으로 착각하겠지만 실제 표준 기반으로 개발되었습니다. 사실 XULrunner를 RIA라기 보다는 독립패키지 개발의 프레임웍으로 사용했고 실제 기타 주요 개발 기술은 모두 웹 표준이라는 게 더 중요한 것 입니다. 실제 XHTML , CSS , SVG, XBL(creating re-usable widgets), DOM & Javavascript 표준을 사용해서 개발했고 멀티미디어 기능은 ZAP 오픈 소스로 개발했습니다. 성능 , 위젯간의 통신, 키보드 처리 문제가 가장 어려운 문제들이고 지금도 성능 개선을 위해 자체 노력중이라 합니다.


단순한 웹 페이지를 작성하는 것은 DHTML과 CSS, Ruby/PHP 그리고 Ajax 패턴등으로 가능하겠지만 RIA에 기술을 사용한다는 것은 한마디로 현재의 표준 XML 기술을 얼마나 효과적으로 사용하고 이를 기반으로 한 아키텍쳐를 설계할 것인가가 중요합니다. 그냥 단순히 RIA가 웹상에서 동적인 UI를 만드는 것으로 이해해서는 절대 안됩니다. 화려함 뒤에는 반드시 독이 따르는 법이죠.


RIA라는 기술이 웹 서버상의 서비스 없이 모든 처리를 독자적으로 할 수 없습니다. 결국 과거의 데스탑 시절의 클라이언트와 서버의 구조를 갖게 되는 것이죠. 그러나 주요한 것은 이 둘 사이에 주고 받는 것들이 바로 의미있는 표준 정보라는 것 입니다.
이런 측면에서 보면 실버라이트나 아폴러, 자바FX 등 의 경우 클라이언트를 얼마나 멋지게 만드느냐는 부가적인 것이고 실지 중요한 것은 이들 사이에 역할과 처리 방법이 표준이어야 한다는 것 입니다. 따라서 RIA 기술들에 있어서 중요한 것들이 바로 이러한 표준 연계 및 지향성이라고 생각합니다.


웹의 플랫폼화라는 것이 바로 RIA와 웹 서비스 그리고 이를 통한 신속한 개발, 고객과의 Feed back 그리고 다른 서비스들과의 연계이기 때문에 더더욱 표준 XML 표준이 중요합니다. 바로 XML로 가는 것이 바로 서비스의 글로벌화의 첫걸음이기도 합니다. 왜냐하면 이미 XML은 글로벌화를 기반으로 하기 때문입니다. 많은 웹 2.0 업체들이 바로 이렇게 XML 표준을 따르고 자신의 스펙을 공개하고 이를 표준화하는 것들이 바로 플랫폼으로 가는 길이기 때문입니다. 















Posted by 박재현
,

씽크프리는 현재 개발은 한국에서, 비지니스는 미국 산호세에서 벌이는 글로벌 구조의 회사입니다. 특히, 웹2.0 그것도 가장 구글 그리고 MS와 치열한 경쟁을 벌이는 웹 오피스의 한가운데 있습니다. 그러다 보니 미국에 컨퍼런스 참가가 많습니다. 이미 Web2.0 Summit과 Web2.0 Expo 등에 참가하였고 6월에는 Enterprise2.0 컨퍼런스에 참가해 본격적인 SMB 시장으로의 진출을 알리게 됩니다. 그리고 개발쪽에서는 아무래도 자바를 기본 플랫폼으로 사용하기에 자바원에 주로 참석합니다. 이번에도 무사히 미국에 초행인 직원들이 자바원에 다녀온 것으로 확인했습니다. 무사 귀환했네요^-^.  아마 내년에는 Apollo와 PHP 컨퍼런스에도 참가해야 할 듯 합니다.

사용자 삽입 이미지
그런데 제가 이번에 Xtech에 참석하는 이유가 무엇일까요? 결단코 파리에서 열려서가 아닙니다. 이미 이전에 2번 간적이 있고 거의 볼 것, 먹을 것 그리고 할 것(?)을 다 해 봤습니다^-^. 제가 Xtech에 참가한 이유는 가장 크게는 웹 표준화와 XML이었습니다.

웹이 HTML에서 벗어나 보다 구조화되고 있다는 것은 이미 모두들 아실 것 입니다. 여기서 기술적으로 구조화의 핵은 XML이 보다 보편화되는 것을 말합니다. RSS , microformat , XHTML , OpenXML , Open Document 처럼 새롭게 웹을 구조화하는 것들은 모두 XML입니다. 이처럼 이제 새롭게 개발되는 서비스들은 보다 XML을 원활히 활용해야 합니다. 가령, 기존의 레파지토리도 RDBMS같은 2-Dimension구조에서 벗어나 비정형화된 XML DB나 CMS를 이용하고 있으며 더욱 가혹화 될 것 입니다. 영악하게도 이미 오라클 등은 이러한 것을 정확히 읽고 XMLDB 시장으로 시장을 전환하고 있습니다.  이러한 분위기에 따라 그 간 다소 침체되어 있던 XML 기술들의 표준이 가속을 붙고 있으며 새로운 기술이 나오고 있는 실정입니다. 이러한 주목할 만한 XML 기술들을 좀 챙겨 보고자
Xtech의 참가를 결행하게 되었습니다. 현재 XML 기술 중 제가 관심을 두고 있는 것들입니다.

1. XQuery
마침내 XQuery 1.0 , XPath 2.0, XSLT 2.0 스펙이 recommendation 상태가 되었습니다. 그리고  javax.xml.xquery 형태로 2008년 java 7에 포함될 예정이라고 합니다. 이렇게 되면 기존의 DB 응용 분야가 다양하게 바뀔 것 이라고 생각합니다. 특히, 비정형 데이타를 다루는 데는 더더욱 그러하구요.. Xquery로 처리 가능한 DB는 먼저 순수한 XML DB (eXist , Sleepycats's dbXML)와 ORDBMS (Oracle 10g , IBM DB2 9 PureXML)등 거의 모든 처리가 가능해 질 것 입니다. 공부해야 합니다.

2. Atom Publishing Protocol(APP)
blog protocol에서 출발해 web authoring으로 발전하고 있습니다. 이제 WebDAV은 쓰지 않게 될 것 같읍니다. 왜냐하면 일단 WebDAV은 HTTP 프로토콜의 확장형이기 때문에 표준이라고 보기 힘듭니다. 그러나 APP는 HTTP 프로토콜에 기반한 REST방식이기 때문입니다. 언제고 씽크프리도 webDAV외에 APP를 지원해야 합니다.

3. 그리고 Forms , XProc, semantic web 분야의 GRDDL(Gleaning Resource Dscription from Dialects of Language)도 눈여겨 봐야 합니다.

이런거 이번에 좀 챙기고 어떻게 적용하고 준비할 까 생각하는 게 이번에 학습과제 랍니다. ^-^ 다음 글에서는 제가 참가할 과목을 좀 소개토록 하겠습니다.

Posted by 박재현
,