RIA Compopnent Model
description
Transcript of RIA Compopnent Model
![Page 1: RIA Compopnent Model](https://reader035.fdocuments.net/reader035/viewer/2022081603/55974fcc1a28abec018b4818/html5/thumbnails/1.jpg)
RIA 컴퍼넌트 모델( RIA Compo ne nt
)Mode l
2009 .1 1 .0 6/ S W 기술 표준화 포럼
차상철cha.sangchual@ gmail.com
![Page 2: RIA Compopnent Model](https://reader035.fdocuments.net/reader035/viewer/2022081603/55974fcc1a28abec018b4818/html5/thumbnails/2.jpg)
RIA 기술동향과 한국RIA 표준안설명회
2
Agenda
1
2
3
4
5
RCM ( )RIA Compo ne nt Mo de l 목적
RCM ( )RIA Compo ne nt Mo de l 범위
RCM Co re Compo ne nt Arc hite c ture
RIA Pla tfo rm Compo ne nt S e rvic e
RIA Compo ne nt 구현
![Page 3: RIA Compopnent Model](https://reader035.fdocuments.net/reader035/viewer/2022081603/55974fcc1a28abec018b4818/html5/thumbnails/3.jpg)
RIA 기술동향과 한국RIA 표준안설명회
3
이종 RIA 플랫폼간 Component Interoperability 제 공을 위한 표준 기술 명세 정의
RCM(RIA Component Model) 목적
개인별 판매 실적 관리
X
Main App. By Silverlight
XPLATFORM / HRM Composite
Flex / Chart Control Silverlight /
Data Model
Silverlight / Grid Control
![Page 4: RIA Compopnent Model](https://reader035.fdocuments.net/reader035/viewer/2022081603/55974fcc1a28abec018b4818/html5/thumbnails/4.jpg)
RIA 기술동향과 한국RIA 표준안설명회
4
컴퍼넌트 재사용 Vender Providing RIA 컴퍼넌트
UI Controls – Grid, Chart, Report, etc 네트워크 , Device Interface Controls Write Once Run Anywhere
User Requirement Realizing RIA 컴퍼넌트 Domain Specific and On Site User Requirement Realizing & Implementation Composite Component Client Side Oriented Service Integration
RCM(RIA Component Model) 목적
![Page 5: RIA Compopnent Model](https://reader035.fdocuments.net/reader035/viewer/2022081603/55974fcc1a28abec018b4818/html5/thumbnails/5.jpg)
RIA 기술동향과 한국RIA 표준안설명회
5
RIA Co re Compo ne nt Arc hite c ture RIA Co re Compo ne nt S truc ture 준용
RIA Compo ne nt 구현 Inte ro pe rab ility 제공을 위한 플랫폼 서비스 We bIDL 기반 Compo ne nt Inte rfa c e 명세 RIA 컴퍼넌트 구현 절차
RCM(RIA Component Model) 범위
![Page 6: RIA Compopnent Model](https://reader035.fdocuments.net/reader035/viewer/2022081603/55974fcc1a28abec018b4818/html5/thumbnails/6.jpg)
RIA 기술동향과 한국RIA 표준안설명회
6
RCM Core Component Architecture
Object<<Interface>>
Component<<Interface>>
UIComponent<<Interface>>
Inte rfa c e De s c rip tio n
Object - RIA 컴퍼넌트 를 식별( : 4 122 )UUID RFC
Component- 수명주기 ( ) Life c yc le 관리- 이벤트 핸들러 관리
UIComponent- Pre s e nta tio n / S tyle 관리- 데이터 관리 .
![Page 7: RIA Compopnent Model](https://reader035.fdocuments.net/reader035/viewer/2022081603/55974fcc1a28abec018b4818/html5/thumbnails/7.jpg)
RIA 기술동향과 한국RIA 표준안설명회
7
RCM Core Component Architecture
Object<<Interface>>
Component<<Interface>>
UIComponent<<Interface>>
Obje c t Inte rfa c e 최상위 클래스 / Re g is try Re po s ito ry / 4 122UUID RFC
{inte rfa c e Obje c t
;a ttribute DOMS tring id
} ;
![Page 8: RIA Compopnent Model](https://reader035.fdocuments.net/reader035/viewer/2022081603/55974fcc1a28abec018b4818/html5/thumbnails/8.jpg)
RIA 기술동향과 한국RIA 표준안설명회
8
RCM Core Component Architecture
Object<<Interface>>
Component<<Interface>>
UIComponent<<Interface>>
Compo ne nt Inte rfa c e
컴퍼넌트 생명주기
컴퍼넌트 생성 / 초기화 / 소멸
이벤트 관리 ( 3 DOM Le ve l 모델
준용 )
• 이벤트 핸들러의 등록 , 삭제 , 실행
• Eve ntTarg e t Inte rfa c e 구현:/ / . 3 . / / - - 3 - /http www w o rg TR DOM Le ve l Eve nts
![Page 9: RIA Compopnent Model](https://reader035.fdocuments.net/reader035/viewer/2022081603/55974fcc1a28abec018b4818/html5/thumbnails/9.jpg)
RIA 기술동향과 한국RIA 표준안설명회
9
Meta-Info : RIAMClass 클래스
컴퍼넌트의 메타정보 제공
UML 의 메타 클래스 참조
OMG UML Infrastructure 2.1.2 OMG UML Superstructure 2.1.2
( 2 )UML M RIAM
Cla s s 클래스 RIAMCla s s 클래스
Pro pe rty 클래스 Fie ld 클래스
Ope ra tio n 클래스 Me tho d 클래스 Eve ntHand le r 클래스
![Page 10: RIA Compopnent Model](https://reader035.fdocuments.net/reader035/viewer/2022081603/55974fcc1a28abec018b4818/html5/thumbnails/10.jpg)
RIA 기술동향과 한국RIA 표준안설명회
10
Meta-Info : RIAMClass 클래스
org.omg.uml
(from Logical View)
Field
getDeclaredClass()
Method
getDeclaringClass()getExceptionTypes()getName()getParameterTypes()getReturnType()
Property
isReadOnly : Booleandefault : StringisComposite : BooleanisDerived : BooleanisDerivedUnion : BooleanredefinedProperty : Property[]subsettedProperty : Property[]opposite : Property
(from org.omg.uml)
Operation
isConsistentWith()returnResult()
(from org.omg.uml)
Class
isAbstract : booleanownedAttribute : Property[]ownedOperation : Operation[]superClass : Class[]
(from org.omg.uml)
superClass
RIAMClass
getClasses()getConstructors()getFields()getField()getMethods()getMethod()getEventHandlers()getEventHandler()getName()getSuperClasses()isInterface()getInterfaces()isPrimitive()
Object
uuid : UUID
getClass()instanceOf()clone()
(from org.omg.riam.core)
Type
package : Package
(from org.omg.uml)
RIAMType
<<WebIDL>>ComponentIDL
![Page 11: RIA Compopnent Model](https://reader035.fdocuments.net/reader035/viewer/2022081603/55974fcc1a28abec018b4818/html5/thumbnails/11.jpg)
RIA 기술동향과 한국RIA 표준안설명회
11
RIA Platform Component Service
• RIA Na tiveCompo ne nt
• RIA 표준 인퍼페이스를 준용하 여 설계 및 구현 하거나 기존 컴
퍼넌트에 인터페이스를 일치
• RIA De le g a teCompo ne nt
• 이형 RIA 플랫폼 컴퍼넌트 및
OS Na tive 컴퍼넌트 제공 서비스이용• / Bridg e Adap te r 를 통하여 플
랫폼 의 컴퍼넌트 서비스 호출
![Page 12: RIA Compopnent Model](https://reader035.fdocuments.net/reader035/viewer/2022081603/55974fcc1a28abec018b4818/html5/thumbnails/12.jpg)
RIA 기술동향과 한국RIA 표준안설명회
12
RIA Platform Component Service
/ O S Communic a tio n Bus RIA 런타임 간 Compo ne nt S e rvic e 요청을 위한 통
신 경로
/ O S Na tive Compo ne nt* , , Ac tive X DLL s o 와 같은 운용체계 제공 컴퍼넌트
Ho s t RIA Runtime
Gue s t RIA Runtime
![Page 13: RIA Compopnent Model](https://reader035.fdocuments.net/reader035/viewer/2022081603/55974fcc1a28abec018b4818/html5/thumbnails/13.jpg)
RIA 기술동향과 한국RIA 표준안설명회
13
RIA Component 구현
![Page 14: RIA Compopnent Model](https://reader035.fdocuments.net/reader035/viewer/2022081603/55974fcc1a28abec018b4818/html5/thumbnails/14.jpg)
RIA 기술동향과 한국RIA 표준안설명회
14
컴퍼넌트 인터페이스 정의 화일 (.widl)
컴퍼넌트의 속성 (Attribute), 동작
(Operation, Behavior), 이벤트를
WebIDL 로 기술 (Describe)
W3C 의 웹 표준을 준용하여
OMG(Object Management Group) 의 IDL
(Interface Description Language) 를 확
장한 WebIDL 사용
RIA Component 구현 cont’d
![Page 15: RIA Compopnent Model](https://reader035.fdocuments.net/reader035/viewer/2022081603/55974fcc1a28abec018b4818/html5/thumbnails/15.jpg)
RIA 기술동향과 한국RIA 표준안설명회
15
WebIDL 컴파일러
컴퍼넌트 인터페이스 정의 (.widl) 를 해
석하여 컴퍼넌트 템플릿 코드 생성
목표 시스템에 따라 프로그래밍 언어
및 운영체계 (O/S) 에 적합한 소스코드
를 생성
컴퍼넌트의 속성과 오퍼레이션 구현을
위한 컴퍼넌트 기능 영역
RIA 런타임과의 인터페이스를 위한
Skeleton 영역
RIA Component 구현 cont’d
![Page 16: RIA Compopnent Model](https://reader035.fdocuments.net/reader035/viewer/2022081603/55974fcc1a28abec018b4818/html5/thumbnails/16.jpg)
RIA 기술동향과 한국RIA 표준안설명회
16
컴퍼넌트 소스 코드
컴퍼넌트 기능 구현을 위한 부분과
RIA 런타임의 컴퍼넌트 Adapter 와의
통신을 위한 Skeleton 부분으로 구성
이진목적코드 : C++, C#, Java 등
결합 (Composite) 컴퍼넌트 : RDL 코드
RDL 결합 컴퍼넌는 소스코드 컴파일
과정없이 배포 .
RDL :RIA Description Language
RIA Component 구현 cont’d
![Page 17: RIA Compopnent Model](https://reader035.fdocuments.net/reader035/viewer/2022081603/55974fcc1a28abec018b4818/html5/thumbnails/17.jpg)
RIA 기술동향과 한국RIA 표준안설명회
17
컴퍼넌트의 메타 정보
컴퍼넌트 모델에서 메타 정보를 관리하는
RIAMClass 클래스 , Field 클래스 , Method
클래스 , EventHandler 클래스를 상속하여
구현
ECMAScript 코드로 구현
컴퍼넌트 저장소 HTTP /1.1 지원 웹 서버 컴퍼넌트 구현체 (바이너리 , RDL) / 컴퍼넌
트 메타정보 / 환경 화일 RIA 플랫폼에서 컴퍼넌트의 배포및 설치를
위해 접근 .
RIA Component 구현 cont’d
![Page 18: RIA Compopnent Model](https://reader035.fdocuments.net/reader035/viewer/2022081603/55974fcc1a28abec018b4818/html5/thumbnails/18.jpg)
RIA 기술동향과 한국RIA 표준안설명회
18
배포를 위한 환경 정보
Div 컴퍼넌트와 Botton “컴퍼넌트로 구성된 XComCmg.dll” 컴 퍼넌트 구현체에 대한 환경 정보 예 .
<ComponentRepository modulename="RIAVendor.XComCmp" version = "1.0.0.0" type = "application/dll" href = "http://localhost:8080/components/XComCmp.dll"> <Component name = "div" webidl = "http://localhost:8080/components/div.widl"/>
<Component name = "button" webidl = "http://localhost:8080/components/button.widl"/>
</ComponentRepository>
RIA Component 구현 cont’d