Upload
ethan-cha
View
1.040
Download
1
Embed Size (px)
DESCRIPTION
To propose standard RIA programming specification.
Citation preview
RIA 기술동향과 한국 RIA 표준안 설명회
2
Agenda
1
2
3
4
5
RDL (RIA Description Language) 목적
RDL (RIA Description Language) 구성
RDL 엘리먼트 - Class …
RDL 엘리먼트 - Application …
RDL 엘리먼트 - DataModel …
RIA 기술동향과 한국 RIA 표준안 설명회
3
Adobe Flex / Air MXML / ActionScript
MS Slilverlight XAML / C#, VB.NET
TOBESOFT XPLATFORM XML / ECMAScript
Ajax HTML / CSS / JavaScript (ECMAScript)
XUL , Curl Language, LXZ, …
RIA & Programming Language
RIA 기술동향과 한국 RIA 표준안 설명회
4
기업 IT 자산 (IT Asset) 의 보호 / 재사용 기업 IT 환경을 반영하는 기능적 특성을 구현할
수 있는 RIA 개발 언어 정의 기존 RIA 프로그래밍 언어의 문법적 특성과
의미적 속성을 반영하여 상호 호환 가능한 언어
XAMLC#
MXMLActionScript RDL
RDL(RIA Description Language) 목적
RIA 기술동향과 한국 RIA 표준안 설명회
5
Structural Part XML Application Structure Abstract Syntax / XML Element &
Attributes
Behavioral Part JavaScript / ECMAScript Logic Implementation Event Interaction Symantec Property
RDL(RIA Description Language) 구성
RIA 기술동향과 한국 RIA 표준안 설명회
6
Name Space (xml:ns)
Resource Location Class Member Variables Member Functions Style Sheet Resource EventMap DataModel
RDL(RIA Description Language) 소개 Application
application initialize
engine http / proxy language security
variable mainframe frameset / frame
RIA 기술동향과 한국 RIA 표준안 설명회
7
리소스 로케이션 정보를 외부에서 참조<link rel=”Locations” href="locations.rel"
type="text/rdl"/>
리소스 로케이션 정보를 직접 정의
Resource Location 정의
Element / Attr Description
ID 리소스 로케이션 고유 식별자
Type 리소스 로케이션 형식
URL 참조할 리소스 로케이션의 위치
Cachelevel 리소스 로케이션 캐쉬여부
Codepage 리소스 로케이션에 적용할 문자셋
Language 리소스 로케이션에 적용할 언어
Version 리소스 로케이션에 적용할 버젼
CommunicationVersion
Runtime 에 사용할 통신 모듈의 버젼
RIA 기술동향과 한국 RIA 표준안 설명회
8
Class 및 변수 정의ClassName Name Space 에서 고유한 클래스 이름
Scope Public / Private
Extends 상속받는 클래스
Implements 구현할 인터페이스
Version 클래스 버젼
Comment 클래스에 대한 설명
[Variable] 정의할 변수의 데이터 형 또는 클래스 이름
Id 멤버 변수 이름
Scope public / protected / private
Value 초기화 값
Readonly 읽기 전용 여부
Comment 변수에 대한 설명
RIA 기술동향과 한국 RIA 표준안 설명회
9
Function & Parameter 정의
MethodName 멤버 함수 이름
Scope public / protected / private
ReturnType 반환 자료형
Comment 멤버 함수에 대한 설명
ParameterName Member 함수 Parameter 이름
Type 데이터 형
Comment Member Function Parameter 에 대한 설명
RIA 기술동향과 한국 RIA 표준안 설명회
10
<class name=“student” scope=“public” extends=“person” version=“1.2”>
<string id=“id” scope =“public” value = “00000000”
readonly=“false”/> <int id=“age” scope =“public” value = “0”
readonly=“false”/> <dept id=“major” scope =“public”/> <method name=“goShcool” scope=“public”
returntype=“bool”> <parameter name=“weather” type=“string”/> <script> <![CDATA[ bool bGoShool = true ; if (weather==“rainy”) { bGoShool = false ; } return bGoSchool ; ]]></script> </method>
</class>
Class 정의 예제
RIA 기술동향과 한국 RIA 표준안 설명회
11
Style Sheet 클래스 이름
속성
속성값의 의미와 속성값에 대한 해석은 W3C 의 권고안을 기준으로 함
W3C 의 CSS2 기술권고안은 Cascading Style Sheet, level2 CSS
Specification (http://www.w3.org/TR/1998/REC-CSS2-19980512/)
Style Sheet 정의
Edit{ background : #ffffffff; border : 1px solid #a1b6c5ff; bordertype : round 3 3; padding : 5 0 0 0;}
RIA 기술동향과 한국 RIA 표준안 설명회
12
Application 정의ApplicationId RIA 응용프로그램 구분자
Version RIA 응용프로그램 버젼 / 배포에 사용
Comment 설명
InitializeEngine RIA 응용 실행 런타임 정보CommThreadCount 통신 쓰레드 갯수Http RIA 응용의 HTTP 통신 서버 정보
Proxy 프록시 서버 정보
CacheDir RIA 응용 실행 런타임의 작업 경로
Resource RIA 응용에서 사용하는 리소스 정보 정의
ErrorPath 실행 중 오류가 발생된 경우 로그 정보 기록 경로
TraceMode 디버그 모드 동작 여부
Language 사용 언어 문자셋
Security 사용자의 로그인 및 인증 정보
RIA 기술동향과 한국 RIA 표준안 설명회
13
<Application id=“RIAMApp” version=“1.0.0.1” comment=“RIAM Example”>
<Initialize> …… </Initialize> <Variable> …… </Variable> <MainFrame> …… </MainFrame> <Script> …… </Script> <EventMap> …… </EventMap></Application>
Application 정의
++
++
++
++
Application 초기화
변수 선언
MainFrame 정의
ECMA Script 영역 / 함수 / 이벤트 핸들러++
이벤트 맵
RIA 기술동향과 한국 RIA 표준안 설명회
14
<Application id=“RIAMApp” version=“1.0.0.1” comment=“RIAM Example”> <Initialize> <Engine version=“” URL=“”/> <CommThreadCount>3 </CommThreadCount> <Http retry=“3” timeout=“0” keeyalive=“false”/> <Proxy return”3” timeout = “3000”/> <CacheDir>svr::app/cache</CacheDir> <Resource> <image id=“yellog_back”> <locationid>image</locationid> <URL>yellow_back.png</URL> </image> </Resource> <ErrorPath>svr::app/errorlog</ErrorPath> <TraceMode>true</trace> <Language Lang=“Korean” CodePage=“euc-kr”/> <Security> <login style=“session” formURL=“svr::longin.xml”/> </Security> </Initialize >
Application 정의
-- Application 초기화
RIA 기술동향과 한국 RIA 표준안 설명회
15
<Application id=“RIAMApp” version=“1.0.0.1” comment=“RIAM Example”> <Initialize> </Initialize>
<variable> <long id="idletime" value="600" scope="public" comment="
시스템 Idle Time 설정 "/> </variable> <link rel="variable" path="file::default_variables.xml"
type="text/rdl"/>
<MainFrame> </MainFrame>
<Script> </Script>
<EventMap> </EventMap></Application>
Application 정의
++
변수 선언 & 초기화
--
++
++
++
RIA 기술동향과 한국 RIA 표준안 설명회
16
<Application id=“RIAMApp” version=“1.0.0.1” comment=“RIAM Example”>
<Initialize>
</Initialize>
<variable>
</ variable >
<mainframe id="mainframe">
<initialize>
<themeid></themeid> -- application : look & feel
<style>closeeffect:;defaultfont:;openeffect:;resizable:true;</style>
<position>absolute;x:0;y:0;width:1024;height:768</position>
<title visible="true" text="RIAM Sample Application"/>
<minimizebutton visible="true"/>
<maximizebutton visible="true"/>
<closebutton visible="true"/>
<statusbar visible="true" text=""/>
</initialize> <frameset id="FrameSet0" src="Another.xml">
Application 정의
++
MainFrame 정의 / 초기화--
++
++
RIA 기술동향과 한국 RIA 표준안 설명회
17
<Application id=“RIAMApp” version=“1.0.0.1” comment=“RIAM Example”>
<Initialize>
</Initialize>
<variable>
</ variable >
<mainframe id="mainframe">
<initialize>
</initialize>
<frameset id="FrameSet0" src="Another.xml“>
<initialize>
<style>border:1 solid #808080;resizable:true;scrolling:auto;</style>
<title visible="true" text="RIAM Sample Application"/>
<layout type='GRID" frameborder="yes" framespacing="1">
<rows>70,*, 2*</rows>
</layout>
</initialize> <frame id="toolbarframe“>
</frame>
Application 정의
++
FrameSet 정의--
++
++
++
--
--
RIA 기술동향과 한국 RIA 표준안 설명회
18
<frameset id="FrameSet0" src="Another.xml"> <initialize> </initialize>
<frame id="toolbarframe">
<initialize>
<style> border:1 solid #808080;resizable:true;scrolling:auto;</style>
<title visible="true" text="RIAM Sample Application"/>
<src> Base::Toolbar.xml</src>
</initialize>
</frame> <frame id="childframe">
<initialize> <style>border:1 solid #808080;resizable:true;scrolling:auto;</style> <title visible="true" text="..."/> <src>Base::Work.xml</src> </initialize> </frame> </frameset>
Application 정의
++--
--
--
Frame 정의
RIA 기술동향과 한국 RIA 표준안 설명회
19
Event Map 정의
EventMapSync 컴퍼넌트의 Data Binding 을 위한 Sync 엘리먼트
type Sync 이벤트 타입 biSync / uniSync
srcObj / sproperty 소스 오브젝트 ID / 연동 대상 속성 이름
targetObj / tproperty
목포 오브젝트 ID / 연동 대상 속성 이름
Event Device 및 Application 이벤트를 위한 Event 엘리먼트
name 이벤트 이름 / 이벤트 타입
srcObj 이벤트가 발생되는 오브젝트
function 이벤트 핸들러 함수<EventMap>
<Sync type="biSync" srcObj="frmList" sproperty="type" targetObj="dsCondition" tproperty="type"/>
<Sync type="biSync" srcObj="frmList" sproperty="value" targetObj="dsCondition" property="value"/>
<Event name="onLoad" srcObj=" frmList " function=" frmList_onload"/>
<Event name="onClick" src="Button00" function="Button00_onclick"/>
</EventMap>
RIA 기술동향과 한국 RIA 표준안 설명회
20
Data Model<Parameters> <Parameter
id=”service”>stock</Parameter> <Parameter
id=”method”>search</Parameter> </Parameters>
<Dataset id=”output”> <ColumnInfo> <Column id=”stockCode” size=”5”
type=”STRING”/> <Column id=”currentprice” size=”10”
type=”INT”/> </ColumnInfo> <Rows> <Row>
<Col id=” stockCode”>10001</Col> <Col id=”currentprice”>5700</Col>
</Row> <Row>
<Col id=” stockCode”>10002</Col> <Col id=”currentprice”>14500</Col>
</Row> </Rows> </Dataset>
• Parameter (Name = Value)
• Table 형식 데이터 Schema
• Table 형식 데이터
stockCode (String [5])
currentPrice(Integer)
1 10001 5700
2 10002 14500