ria compopnent model
DESCRIPTION
To propose RIA component model to accomplish interoperability between heterogeneous platforms.TRANSCRIPT
RIA 컴퍼넌트 모델( RIA Compo ne nt
)Mode l
2009 .1 1 .0 6/ S W 기술 표준화 포럼
차상철cha.sangchual@ gmail.com
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 구현
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
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) 목적
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) 범위
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 관리- 데이터 관리 .
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
} ;
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
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 클래스
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
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 를 통하여 플
랫폼 의 컴퍼넌트 서비스 호출
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
RIA 기술동향과 한국RIA 표준안설명회
13
RIA Component 구현
RIA 기술동향과 한국RIA 표준안설명회
14
컴퍼넌트 인터페이스 정의 화일 (.widl)
컴퍼넌트의 속성 (Attribute), 동작
(Operation, Behavior), 이벤트를
WebIDL 로 기술 (Describe)
W3C 의 웹 표준을 준용하여
OMG(Object Management Group) 의 IDL
(Interface Description Language) 를 확
장한 WebIDL 사용
RIA Component 구현 cont’d
RIA 기술동향과 한국RIA 표준안설명회
15
WebIDL 컴파일러
컴퍼넌트 인터페이스 정의 (.widl) 를 해
석하여 컴퍼넌트 템플릿 코드 생성
목표 시스템에 따라 프로그래밍 언어
및 운영체계 (O/S) 에 적합한 소스코드
를 생성
컴퍼넌트의 속성과 오퍼레이션 구현을
위한 컴퍼넌트 기능 영역
RIA 런타임과의 인터페이스를 위한
Skeleton 영역
RIA Component 구현 cont’d
RIA 기술동향과 한국RIA 표준안설명회
16
컴퍼넌트 소스 코드
컴퍼넌트 기능 구현을 위한 부분과
RIA 런타임의 컴퍼넌트 Adapter 와의
통신을 위한 Skeleton 부분으로 구성
이진목적코드 : C++, C#, Java 등
결합 (Composite) 컴퍼넌트 : RDL 코드
RDL 결합 컴퍼넌는 소스코드 컴파일
과정없이 배포 .
RDL :RIA Description Language
RIA Component 구현 cont’d
RIA 기술동향과 한국RIA 표준안설명회
17
컴퍼넌트의 메타 정보
컴퍼넌트 모델에서 메타 정보를 관리하는
RIAMClass 클래스 , Field 클래스 , Method
클래스 , EventHandler 클래스를 상속하여
구현
ECMAScript 코드로 구현
컴퍼넌트 저장소 HTTP /1.1 지원 웹 서버 컴퍼넌트 구현체 (바이너리 , RDL) / 컴퍼넌
트 메타정보 / 환경 화일 RIA 플랫폼에서 컴퍼넌트의 배포및 설치를
위해 접근 .
RIA Component 구현 cont’d
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