리눅스의 컴포넌트 모델에 대해서...

bosaly의 이미지

최근에 리눅스의 컴포넌트 모델에 대해서 관심을 가지게 되었습니다...

(제가 가진 지식이 얕아서... 틀린 부분이 많이 있을 수 있습니다. )
M$윈도우의 경우 DLL 에서 COM/DCOM 으로 그리고, 닷넷까지 컴포넌트모델이 변화해 왔다고 생각했습니다.
( 컴포넌트 재사용성, 컴포넌트 라이프 사이클관리, 보안등등의 변화가 있었다고 여기저기서 주워들었습니다.)

리눅스의 경우도 위와 많은 부분이 유사할 것이라 생각이 들어서 찾아보게 되었는데요.

GNOME자체가 컴포넌트 모델을 지향해서 시작해서 지금 데스크탑 환경으로 오게 되었다고 검색이 되네요.
그중 Bonobo등이 컴포넌트 모델로 생각이 되고, (GObject도 컴포넌트 모델이라고 할 수 있나요?)
최근에는 많이 이슈가 안되는것 같네요...(제가 모르는 부분일 수도 있습니다.)

그리고 모질라의 경우 XPCOM이라는 컴포넌트 모델이 있구....

구글의 안드로이드에는 Application Manager라는 컴포넌트 관리자가 있는것 같던데... KDE쪽은 제가 너무 몰라서...^^

리눅스(임베디드에서 PC, 서버군까지...)에서 효율적인 개발과 컴포넌트 관리 등등을 생각할때 윈도우의 COM과 비교할만한
모델이 어떤것이 있을까요? 그리고 앞으로 리눅스가 KDE/GNOME에서 공용으로 사용될만한 컴포넌트 모델을 찾는다면 아니면,
각 환경에 특색에 맞게 쓴다면, 지금의 모델들이 어떤식으로 발전을 할까요????

여러 리눅스 사용자들과 같이 한번 생각해 보고 싶습니다..^^

Darkcircle의 이미지

오픈소스 소프트웨어 라는게 다양한 사람들의 의견이 반영된 것이기 때문에
리눅스 플랫폼에서의 컴포넌트 모델은 다양한모습으로 발전해갈 수 있다고 봅니다.
객체지향 개념을 사용할 수 있는 어떤언어든지간에 따라
아님 Qt니 KDE니 GNOME이니 등등... API 개발환경에 따라
저마다 제각각의 방향으로 컴포넌트 모델이 커져가고 있거든요.
Java는 기업 종속성이 심해서 Java의 경우는 나름 독단적인 모델로 발전해가고 있다고 봅니다.
뭐 제가 이쪽에 대해 많이 배워본 입장이 아니라서 더이상 주저리 하는건 무리가 있습니다.

---------------------------------------------------------------
피곤함 1테라톤을 가방 보따리에 주섬주섬 짊어메고 다니는 아이 . . . Orz

---------------------------------------------------------------
폐인이 되자 (/ㅂ/)

ganadist의 이미지

http://www.smg.co.jp/opensource/CommonDesktopInfrastructure/

일본 KDE그룹에서 제안한 기존 콤포넌트 모델(QtDBus, ORBit, XPCOM, uno 등)을 통합하려고 하는 콤포넌트 모델입니다.

살펴보는 것도 좋을 것 같네요.

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

bosaly의 이미지

GNOME쪽을 살펴보다가 느낀점입니다.

GNOME의 BONOBO가 최근에는 크게 이슈화되지 않고 있는거 같은데...

혹시 GNOME 로드맵에서 BONOBO의 역할이 줄어들고 있는것일까요?

ganadist의 이미지

bonobo는 현재 deprecated입니다.

새로운 그놈 응용프로그램에서는 bonobo를 사용하지 않도록 권장되어 있습니다.

그리고 Gnome Roadmap에서 차츰 bonobo를 제거하는 것을 볼 수 있습니다.

기존의 bonobo의 역할은 dbus, GtkUnique, GtkSocket, GtkPlug을 사용합니다. GtkPlug/GtkSocket은 freedesktop의 xembed 스펙의 gtk구현입니다.

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

bosaly의 이미지

좋은 정보 감사합니다. 혹시 그놈에서 앞으로의 로드맵이라던지, 그놈이 변화해온 히스토리등이 정리된 곳을 볼만한 곳이

있을까요?? 그놈의 컴포넌트 모델의 변화를 보고 앞으로의 로드맵(GNOME 3 ?)을 보면 컴포넌트 모델의 향후 변화를 예측

하는데 도움이 될거 같은데.... gnome.org에는 딱히 보이지가 않네요..

ganadist의 이미지

앞의 답글에 있는 Roadmap 페이지나, GnomeGoals페이지를 참조하는 것이 좋을 것 같습니다.

또한, 예전의 히스토리는 Miguel의 홈페이지에 많은 정보를 얻을 수 있을껍니다.

http://primates.ximian.com/~miguel/software.html#bonobo

http://primates.ximian.com/~miguel/gnome-history.html

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

bosaly의 이미지

XEmbed는 문서를 보니 화면 컨트롤들간의 재사용성에 대한 부분으로 보여지네요...

제가 생각할때 컴포넌트 모델이라는 부분은 재사용성 뿐만 아니라, 버전관리(윈도우의 DLL Hell 같은 문제가 일어나지 않게..) 컴포넌트의 동적 관리(동적 기능업데이트)등도 되어야 한다고 생각되는데요.

이런 부분들이 CORBA나 그 CORBA를 구현 하는부분에서 리눅스는 진행이 되었다고 생각합니다. 그런데 최근에는 이 기술들이 중요할 것이라 생각되는데도 많이 집중을 못받는것 같아 아쉽습니다... 아직도 이부분에서 지속적으로 진행되는 프로젝트가 있는지 궁금하네요...

리눅스도 윈도우의 닷넷처럼 MONO가 앞으로는 컴포넌트 관리나 그런 부분을 상당히 많이 커버하게 될까요??? (아직 윈도우도 COM의 기능을 모두 닷넷에서 커버하는건 아니지만... )