모든 곳에 분산된 개체

Distributed Objects Everywhere

DOE(Distributed Objects Everywhere)는 '백엔드'의 CORBA 시스템과 OpenStep을 사용자 인터페이스로 하여 분산 컴퓨팅 환경을 구축하기 위한 Sun Microsystems의 오랜 프로젝트입니다.1990년에 처음 시작되어 얼마 지나지 않아 발표된 이 제품은 1995년에 NEO로 출시되기 전까지 오랜 세월 동안 베이퍼웨어로 남아있었다.1996년 OpenStep과 함께 단기간 판매되었다.그 대신 오늘날 Enterprise JavaBeans라고 불리는 것이 있습니다.

배경

1990년대 초반 컴퓨팅의 '차세대 빅'은 데스크톱 마이크로컴퓨터를 사용하여 메인프레임미니컴퓨터가 제공하는 데이터를 표시하고 편집하는 것이었습니다.이러한 종류의 접근을 위한 많은 방법들이 이미 존재했지만, 분업은 전혀 공평하지 않았다.예를 들어 SQL에서는 워크스테이션이 대량의 데이터 세트를 다운로드하여 로컬로 처리해야 했지만 터미널 에뮬레이터를 사용하면 모든 작업이 서버에 맡겨져 GUI가 제공되지 않았습니다.

업무의 적절한 분할은 워크스테이션이 디스플레이와 사용자 상호작용을 담당하는 협조적인 오브젝트 세트를 서버상에서 처리하는 것이라고 생각됩니다.이러한 종류의 솔루션에는 플랫폼 간에 운영 체제와 프로그래밍 언어의 큰 차이가 있었습니다.워크스테이션과 서버의 어느 조합에서도 동작하는 시스템을 구축할 수 있지만, 같은 솔루션은 다른 시스템에서도 동작하지 않습니다.

이상하게도 단일 플랫폼에서 두 프로그래밍 언어의 차이는 거의 비슷했습니다.각 언어에는 프로시저 호출에 매개 변수를 전달하기 위한 고유한 형식이 있으며, 생성된 파일 형식은 종종 상당히 달랐습니다.일반적으로, 프로그램의 다른 부분을 다른 언어로 쓰는 것이 항상 가능했던 것은 아니지만, 그렇게 하는 것이 종종 실질적인 효용성이 있다.벤더가 라이브러리의 표준을 지정하는 미니컴퓨터와 메인프레임에서는 문제가 심각하지 않았지만 마이크로컴퓨터에서는 표준화에 관심이 없는 다양한 서드파티 기업이 프로그래밍 시스템을 제공하고 있었습니다.

그럼에도 불구하고, 이 문제는 1990년대 초에 다양한 공유 라이브러리 시스템의 도입을 통해 해결되었다.이는 GUI와 같은 공통 리소스를 사용하는 다수의 프로그램이 각각 별도의 복사본을 메모리에 로드하는 대신 단일 코드의 복사본을 공유할 수 있도록 함으로써 소규모 플랫폼에서의 리소스 사용을 용이하게 하기 위한 것입니다.많은 프로그램에서 호출할 수 있는 부작용으로, 이러한 시스템은 인터페이스 정의 언어(IDL)를 사용하여 호출하는 표준 방법을 정의하여 플랫폼 상의 모든 언어가 라이브러리 내의 코드를 이해할 수 있도록 했습니다.

이러한 시스템을 확장하여 백그라운드에서 원격 프로시저 호출을 지원하는 것은 클라이언트/서버 프로그래밍 문제에 대한 해결책을 제공하는 자연스러운 발전으로 간주되었습니다.그 당시에는 IBM의 System Object Model(SOM/DSOM), NeXTPortable Distributed Objects(Portable Distributed Objects), Microsoft의 Component Object Model(COM/DCOM) 및 많은 CORBA 플레이버 등 이러한 시스템을 제공하기 위한 많은 주요 프로젝트가 있었습니다.Sun은 백오피스 지원 측면에서 미래 IBM으로 자리매김하기 위해 이 시장도 공략해야 한다고 느꼈습니다.

스프링, DOE, OpenStep, NEO

Sun의 솔루션은 거의 모든 프로그래밍 작업에 상호 통신 개체를 사용한 Spring 운영 체제 작업에 기반했습니다.Solaris와 같은 '기존' Unix에서 작동하도록 이를 수정하는 것은 그리 어려운 일이 아니지만, Unix에서는 모든 프로그램이 로컬에서 실행된다고 가정하고 있어 원격 액세스를 위한 인터페이스를 추가해야 했습니다.이를 위해 DOE는 백오피스 서버에서 실행되는 Object Request Broker(ORB; 객체 요청 브로커)를 추가하여 DOE 요청을 수신하고 처리할 적절한 프로그램으로 넘겼습니다.개발 과정에서 CORBA는 업계의 주요 유행어가 되었습니다.이로 인해 CORBA 지원을 위해 ORB가 재설계되는 동안 지연이 발생하였습니다.CORBA 모델에서는 DOE 또는 SOM의 객체처럼 서로 다른 객체가 공통 인터페이스를 공유함으로써 상호 작용할 수 있다.

Sun의 더 큰 문제는 통합된 데스크톱 객체 프로그래밍 솔루션이 없다는 것입니다.일부 플랫폼에서는 C++ 오브젝트 라이브러리가 보편화되었지만, 자체 SunOS(나중에 Solaris로 알려짐) 운영체제 및 관련 SunView 및 X 윈도 시스템은 '플레인 C' 기반이었고, 새로운 NeWS 윈도 환경은 네트워크 확장 가능한 오브젝트 지향 사투리 PostScript를 기반으로 했습니다.

포괄적이고 유연한 객체 프로그래밍 솔루션을 제공하기 위해 Sun은 NeXT로 눈을 돌렸고 두 회사는 OpenStep을 개발했습니다.아이디어는 OpenStep 프로그램이 Sun 서버에서 DOE 개체를 호출하여 Sun 시스템에서 백오피스 간 솔루션을 제공하는 것이었습니다.OpenStep은 1993년까지 출시되지 않아 프로젝트가 더욱 지연되었습니다.

1995년 [1]DOE가 출시되었을 때, Sun은 이미 그들의 차세대 빅 아이템으로 Java로 넘어간 상태였다.Java는 이제 클라이언트 측 애플리케이션의 GUI로 선택되었고 Sun의 OpenStep 계획은 조용히 폐기되었습니다(Lighthouse Design 참조).NEO는 "Joe"[2] 프레임워크의 도입으로 Java 시스템으로 재 포지셔닝되었지만, 거의 활용되지 않았습니다.NEO와 Joe의 컴포넌트는 결국 Enterprise JavaBeans에 [3]포함되었습니다.

분산 객체, 특히 CORBA가 1990년대 초반에는 "차세대 빅"이었지만, 10년 후반에는 이러한 객체들에 대한 관심이 근본적으로 사라졌다.[editorializing]서버상에서 완전히 동작하는 Web 베이스의 애플리케이션이 새로운 「차세대」가 되어, 클라이언트측의 강력한 디스플레이·시스템에 대한 요구는 없어졌습니다.대부분은 HTML 및 JavaScript근거한 경량 GUI(「브라우저 유저 인터페이스」)로 대체되었습니다.

레퍼런스

  1. ^ "SunSoft Introduces NEO, the Industry's First Complete Networked Object Computing Environment" (Press release). Sun Microsystems, Inc. September 20, 1995. Archived from the original on 2007-03-11. Retrieved 2006-12-13.
  2. ^ "Sun Announces Product that Connects Java to Business Applications" (Press release). Sun Microsystems, Inc. March 26, 1996. Archived from the original on 2007-03-20. Retrieved 2006-12-13.
  3. ^ Robert McMillan; Niall McKay (November 14, 1997). "Goodbye NEO, hello Enterprise Java Beans". SunWorld. Retrieved 2013-05-01.

외부 링크