코바
위키백과 ― 우리 모두의 백과사전.
| 이 문서나 그 일부는 전산학에 대한 전문가의 참여가 필요합니다. |
|
|
| 이 문서는 편집 지침에 맞춰 다듬어야 합니다. 이 문서를 정리해 주세요. |
코바(Common Object Request Broker Architecture; CORBA)는 OMG에서 정의한 표준으로 다양한 시스템에서 각종 프로그래밍 언어로 가능하고 분산환경에 소프트웨어 컴포넌트로 구성이 가능하게 하는 표준이다.
목차 |
[편집] 배경
분산 시스템은 원격 시스템간의 자원 공유, 개방성, 병렬성, 확장성, 고장 감내성, 위치 투명성 등을 제공해야 한다. 또한 80년대부터 대두 되었던 객체지향 기술의 객체는 데이터와 그 데이터를 조작할 수 있는 메소드(method)로 구성되어 있으며, 프로그램은 메시지에 의한 객체간 상호 작용을 기술함으로서 여러 문제를 해결할 수 있게 됐다.
분산 객체 기술은 이러한 두 기술의 장점을 효과적으로 통합하는 기술이며, 개발자에게 어플리케이션 개발의 생산성을 향상시켜주고, 사용자에게 분산 환경에 투명하게 통합된 정보를 제공한다.
이를 위해 OMG(Object Management Group)에서는 분산 컴퓨팅과 객체지향 기술을 하나로 합친 표준 아키텍처를 제안하게 되는데, 그것이 바로 CORBA이다.
[편집] 특징
CORBA는 어플리케이션들끼리 어느 위치든, 누가 만들었든 상관없이 상호간 통신을 보장하고 분산 객체 간의 상호 운용을 위한 통신 미들웨어 역할을 하며, 분산 객체 소프트웨어의 기본틀로서 서비스를 제공하는 부분과 제공받는 부분간의 투명한 정보 교환이 가능하도록 하며 분산 환경에서 응용 소프트웨어를 쉽게 개발할 수 있도록 지원한다.
분산 환경에서 클라이언트와 서버 간의 인터페이스만 정의되면 이들 서로 간의 서비스 요구나 결과 값의 전달이 하부 통신 메커니즘에 반영될 수 있다.
CORBA를 이용한 응용 소프트웨어 개발은 각종 투명성이 보장되기 때문에 사용자의 특정 응용 업무 개발 환경에 적합하고 개발 과정이 간단하고 효율적이다.
[편집] CORBA 어플리케이션 개발
CORBA 어플리케이션 디자인은 다른 기계에 존재하는 객체와 네트워크에서 통신할 수 있도록 추가 계층(layer)을 포함해야 한다. 이런 추가 계층은 스텁(stub)과 스켈레톤(skeleton)이라는 특수한 객체에 의해 조절한다.
CORBA 클라이언트에서 스텁은 서버에 실제로 구현한 객체에 대한 프록시(proxy) 역할을 한다. 클라이언트는 인터페이스를 구현한 객체와 직접 상호 작용하듯이 스텁에 접근하여, ORB(Object Request Broker) 소프트웨어를 통해 인터페이스를 호출한다.
CORBA 서버에서 ORB 소프트웨어는 인터페이스 호출을 생성된 스켈레톤에 자동으로 넘겨준다. 스켈레톤은 Portable Object Adapter(POA)를 통해 ORB 소프트웨어와 통신한다. 스켈레톤은 POA를 사용해 객체를 등록하고, 여기에 객체의 범위와 객체가 인스턴스화해 클라이언트에 반응할 수 있게 되는 시기등을 결정한다.
[편집] CORBA의 구조
- ORB의 구성 (클라이언트 사이드)
- ORB의 구성 (서버 사이드)
- ORB 코어
- 서버측과 클라이언트간의 정보 전달 경로
- 클라이언트의 요구 메시지가 클라이언트 스터브(또는 DSI)을 통해 ORB core를 지나 서버측의 객체 어댑터로 전달며, 객체 어댑터는 요구한 서버의 위치를 구현 저장소를 통해 확인한 후 서버 활성화를 한다. 서버 실행이 끝나면 생성된 결과 값은 요구가 전달된 역순으로 클라이언트에게 전달된다.
| 아래의 내용은 한국어로 번역되지 않은 내용이 담겨 있습니다. 일주일 내 번역되지 않으면 삭제될 수 있습니다. This article needs translation into Korean. If the article is not rewritten in Korean within a week it will be listed for deletion. |
[편집] CORBA 구현 예
- 이용가능한 CORBA 구현 비교
- BEA Tuxedo -
- CORBA 2.5 대응의 상용 ORB (Java、C++용)BEA시스템즈 - Borland Enterprise Server, VisiBroker Ed. -
- CORBA 2.6 대응의 상용 ORB (Java、C++용) 볼랜드 - GNU Classpath - Java용의 프리웨어実装を含む(GPL+linking exception, 新たに書かれた org.omg パッケージを含む)
- CORBA for PHP - PHP5
- Combat - Tcl용 ORB。C++ ORB 의 Tcl 계층。
- e*ORB -
- 상용 ORB (Ada、C、C++용)PrismTech - ILU - パロアルト研究所のオープン・ソフトウェア・オブジェクト・インタフェース・システム
- IIOP.NET -
- Microsoft .NET 用フリーソフトウェア(LGPL) ORB - JacORB -
- Java로 구현된 프리웨어 (LGPL) ORB - J-Integra Espresso - 상용 Microsoft .NET ORB、by Intrinsyc J-Integra
- MICO -
- C++로 구현된 프리웨어 (LGPL) ORB - omniORB -
- 프리웨어 (LGPL) ORB (C++、Python用) - OpenORB -
- 프리웨어 (BSD) ORB (Java용) - Orbacus - 상용 C++ ORB、by IONA Technologies
- ORBexpress - 상용 ORB(Ada、Java、C++용。通常版とリアルタイム版)by Objective Interface Systems
- ORBit2 -
- フリーソフトウェア (LGPL) ORB (C、C++、Python용) - Orbix - 상용 ORB by IONA Technologies
- ORBLink - 상용 ORB (Allegro Common LISP 용)
- Perl ORB -
- Perlで実装されたオープンソース(Artistic License) ORB - PolyORB -
- Adaで実装されたフリーソフトウェア (MGPL) ORB - SANKHYA Varadhi -
- 상용 ORB (C++용) - TAO -
- オープンソース ORB (C++용) - Universe - PHP4
- VBOrb -
- フリーソフトウェア (LGPL) ORB (Visual Basic용) - Xtradyne I-DBC -
- 商用 CORBA セキュリティ実装、by Xtradyne
[편집] 관련 항목
- RPC
- 소프트웨어 컴포넌트
- 서비스 지향 아키텍처
- Java RMI
- 웹 서비스
- 분산 컴퓨팅
- Java Platform, Enterprise Edition
- XML-RPC
- DCOM
- SOAP
- Bonobo
[편집] 참고문헌
- The official CORBA standard from the OMG group (direct download, .pdf, about 10 Mb).
- Robert Orfali: The Essential Client/Server Survival Guide, John Wiley & Sons, ISBN 0-471-15325-7
- Robert Orfali, Dan Harkey, Jeri Edwards: The Essential Distributed Objects Survival Guide, John Wiley & Sons, ISBN 0-471-12993-3
- Robert Orfali, Dan Harkey: Client/Server Programming with JAVA and CORBA, John Wiley & Sons, ISBN 0-471-24578-X
- Dirk Slama, Jason Garbis, Perry Russell: Enterprise CORBA, Prentice Hall, ISBN 0-13-083963-9
- Michi Henning, Steve Vinoski: Advanced CORBA Programming with C++, Addison-Wesley, ISBN 0-201-37927-9
- Axel Korthaus, Martin Schader, Markus Aleksy: Implementing Distributed Systems with Java and CORBA, Springer, ISBN 3-540-24173-6
- Fintan Bolton: Pure Corba, Sams Publishing, ISBN 0-672-31812-1
- Jon Siegel: CORBA 3 - Fundamentals and Programming, John Wiley & Sons, ISBN 0-471-29518-3
- Ron Zahavi: Enterprise Application Integration with CORBA: Component and Web-Based Solutions, John Wiley & Sons, ISBN 0-471-32720-4
- Bret Hartman, Konstantin Beznosov, Steve Vinoski, Donald Flinn: Enterprise Security with EJB and CORBA, John Wiley & Sons, ISBN 0-471-40131-5
- Thomas J. Mowbray, Ron Zahavi: The Essential Corba: System Integration Using Distributed Objects, John Wiley & Sons, ISBN 0-471-10611-9
- Michael Rosen, David Curtis: Integrating CORBA and COM Applications, John Wiley & Sons, ISBN 0-471-19827-7
- Gerald Brose, Andreas Vogel, Keith Duddy: Java Programming with CORBA, John Wiley & Sons, ISBN 0-471-37681-7
- John Schettino, Robin S. Hohman, Liz O'Hara: CORBA For Dummies, Hungry Minds, ISBN 0-7645-0308-1
- Jeremy L. Rosenberger: Teach Yourself CORBA in 14 Days, Sams Publishing, ISBN 0-672-31208-5
- Jon Siegel: Quick CORBA 3, John Wiley & Sons, ISBN 0-471-38935-8
- Thomas J. Mowbray, Raphael C. Malveau: CORBA Design Patterns, John Wiley & Sons, ISBN 0-471-15882-8
- Robert Orfali, Dan Harkey, Jeri Edwards: Instant CORBA, John Wiley & Sons, ISBN 0-471-18333-4
- Paul Harmon, William Morrissey: The Object Technology Casebook, John Wiley & Sons, ISBN 0-471-14717-6
[편집] 바깥 고리
- Information Board
- Object Management Group
- Description by Christopher B. Browne
- CORBA support for autoconf
- OrbZone forum
- CORBA Resources & Links
- SOAP Bridge
- いまなぜCORBAなの? アットマーク・アイティ
- CORBA テックスコア
- CORBA Component Model 入門 永田博靖(オージス総研)
- http://b2b.hansolel.co.kr/fileup/corba
![]() |
이 글은 컴퓨터에 관한 토막글입니다. 서로의 지식을 모아 알차게 문서를 완성해 갑시다. |


