본문 바로가기
IT 이야기

AOP (Adaptive Object Model)

by csk 2010. 11. 2.

QCon 세미나 첫째날입니다.

앞의 이틀은 Tutorial이라고 일종의 수업인데, 오늘 저의 선택은 AOM 이었습니다.

 

■ 진행방식

- 강사 둘이 주거니 받거니 만담식으로 진행

   놓치지 않고 많은 내용을 전달하기도 하겠지만,  두명이 하고자하는 말이 많으니 그만큼 수업도 더욱 빡셈.

- Joseph W. Yoder 와 Rebecca Wirfs-brock 인데, 레베카는 나이가 아주 많아보이는 여자임.

  나이들어서도 저렇게 멋진 기술자가 될수 있다는 점이 좋아보임.

-강의를 한번에 한시간 반씩하고 조별 짧은 실습(30여분)이 두 번 수행하여 9시에서5시.

 실습은 클래스 다이어그램 그리는 건데, 역시 툴사용은없고 플립차트에 볼펜으로 끄적!

 

■ 내용

- AOM은 변화에 쉽게 적응하도록 하기 위해 Meta modeling을 이용하는 모델링 방식임

- 모델에 나타나는 유형(meta model)을 모델화 하고 이를 사용자가 직접 관리할 수 있도록 시스템까지 만들어 주자고 주장.

  그래서 오늘 강의의 부제는 "ultimate atility : Let your Users do your work!" 임.

- 변화에 적응하자는 것이 Agile의 사상이기는 하나 더 열심히 하자는 것 만으로는 한계가 있어 AOM이 필요함

  (Agile이 정말 대세인듯, Agile의 한계를 지적하면서는 극도로 조심스럽게 이야기함)

- 변화가 자주, 빠르게 일어나는 복잡한 모델에 대해서는 AOM을 적용하자.

 

 

 

- AOM의 대표 요소는 TypeObject, TypeSqure, Rule, GUI 등임.

- 기존 모델에서 자주변경되고 추가되는 부분은 TypeEntity로 한레벨 더 추상화(meta modeling)하고

  TypeEntity에 따라 달라지는 속성도 property Attribute로 도출. 원Entity 및 property와 네모를 이루는 관계가 되며 이를 TypeSqure라함.

  (위그림의 왼쪽 네 개 클래스 가 연결된 부분)

- 여기에 Behavior를 위한 rule을 추가하면 AOM 완성. (위그림의 오른쪽 세 개 클래스 부분)

- rule은 constraints/functional/workflow/event based 류의 네가지로 나눌 수 있음

- 이 메타모델을 최종 사용자가 직접 관리할 수 있도록 시스템으로 만들어 제공.

  (기존의 DB 분야에서 사용하는 메타 모델 관리 시스템과 거의 동일한 개념으로 보였음.)

- type과 관련된 부분을 knowledge level, 기존 모델에 등장하는 부분을 operational level이라함.

- operational level은 DBMS에 관리되며, knowledge level은 XML로 저장하는 아키텍처를 사용함.

 

■ 소감

- 기존 패턴, DB쪽의 메타모델 관리시스템, 메타모델링 등의 개념을 혼합하여 만들어낸 개념으로 보임

- 그래서 (감히^^;) 딱히 새롭진 않으나, 이러한 조합과 정련도 상당 수준의 고수들이라 가능한것이고,

   적용하여 변경에 매우 유연한 시스템을 실제로 구현해내고 있으니 인정!

- AOM 모델링 쉽지는않으며, 따라서 프로젝트 멤버간 의사소통의 장애가 될 수도 있음

- 우리가 유지보수하는 자사 asset의 모델링에는 적용할 수도 있지 않을까?

'IT 이야기' 카테고리의 다른 글

QConSF2010 Friday  (0) 2010.11.06
QConSF2010 Thursday - noSQL  (0) 2010.11.05
QConSF2010 - Wednesday  (2) 2010.11.04
Innovation at Google  (1) 2010.11.04
Continuous Delivery  (0) 2010.11.03