NUMBER 6. 자바
상태바
NUMBER 6. 자바
  • Network Computing
  • 승인 2001.01.07 00:00
  • 댓글 0
이 기사를 공유합니다

10년간 가장 혁신적인 기술 Top 10
편리함과 기능성을 더한 개발 언어 자바

대화형 텔레비전 응용 프로그램을 개발하기 위한 시스템을 가지고 있는데 아무도 이것을 원하지 않는다고 상상해 보라. 이제 어떻게 할 것인가? 인터넷을 중심으로 다시 이 시스템을 설계해 보라. 그러면 사실상의 개발 언어인 자바를 얻게 될 것이다. 그러나 자바가 어떤 기능 덕분에 큰 성공을 거두게 되었는지는 파악하기가 쉽지 않다.

표면적으로는 자바의 휴대성과 장치 독립성이 성공의 열쇠가 된 것처럼 보이지만 보다 자세히 조사하면 그러한 주장은 그다지 설득력이 없다. 오히려 자바의 견고한 인터넷 토대, 현대적인 디자인 및 광범위한 채택 덕분에 자바는 새 개발을 위한 유일한 도구로서 자리잡을 수 있었다.

썬월드(SunWorld) 95에서 썬마이크로시스템즈는 자바 플랫폼을 소개했다. 자바 개발 도구는 JVM(Java Virtual Machine)이라는 프로그램을 통해 런타임 중에 로컬 호스트의 실제 실행 가능 코드로 전환되는 중간 언어인 P 코드를 만들었다.

JVM은 본질적으로 로컬 운영 체제 및 기본 하드웨어에서 독립적인 가상 컴퓨터이다. 몇 가지 주목할 만한 예외가 있기는 하지만 자바 코드는 휴대성을 제공하겠다는 약속을 지켰다. 그러나 이러한 예외 때문에 자바 애플릿은 버전 및 JVM에 국한되는 기능으로 간주된다. 그렇지만 전반적인 자바의 휴대성과 기능성은 그 전례를 찾아보기 어렵다.

단순한 HTML은 대부분의 사용자가 기대하는 강력한 GUI 요소와 프로그래머들이 요구하는 유연성 및 확장성이 부족하다. 자바는 브라우저에 풍부한 프로그래밍 및 GUI 환경을 포함할 수 있는 능력을 제공함으로써 이 문제를 해결했다.

JVM을 설치할 경우 브라우저와 웹 서버는 모두 풍부한 기능을 갖출 수 있으며, 이와 동시에 컴퓨팅 환경에 대한 관리도 보다 쉬워진다. 그 결과, 응용 프로그램을 보다 쉽게 배포할 수 있고 클라이언트 구성 문제를 제거할 수 있다. 또한 JVM은 악성 자바 프로그램이 파일이나 기타 로컬 자원에 액세스하는 것을 제한함으로써 그러한 프로그램으로부터 시스템을 보호한다. 마이크로소프트, 넷스케이프 커뮤니케이션즈 및 기타 업체들은 브라우저와 웹 서버에 JVM을 구현함으로써 그 기능을 크게 확장시킨다.

자바는 기업에 확고한 기반을 쌓았으며 여러 기업 요구를 충족시킬 수 있도록 발전했다. JSP(JavaServer Pages)와 EJB(Enterprise JavaBeans) 기술은 서버 측면 개발을 향상시킨다.

EJB를 사용하는 응용 프로그램은 응용 프로그램 서버에서 실행되며 트랜잭션 처리 개발을 표준화한다. 자바를 육성하기 위한 노력의 일환으로 선은 모든 자바 구현이 참조 구현을 그대로 준수하도록 요구했다. 모든 플랫폼에서 자바의 일관성은 그 주요 가치 중 하나이다. 그러나 자바는 JVM 부 버전간의 상호 운용성 문제로 인해 시달려 왔으며 참조 구현이 부족하여 벤더간에 일관성이 떨어졌다.

썬의 경쟁사들은 자바가 표준 기관에 양도되기를 원하지만 선이 계속해서 그 소유권을 주장하고 있기 때문에 일부에서는 자바의 공개성을 의심하기도 한다. 최근에 썬은 컴퓨팅 표준 기관인 ECMA와 자바를 표준으로 변환하려는 협상을 결렬시켰다. 여기에 대해 선은 언어의 계속적인 발전을 보장하기 위한 것이라고 주장한다. 선은 JCP(Java Community Process) 프로그램을 도입했다. 6월에 썬은 언어 사양에 대한 제어권을 두 개의 실행 위원회에 이양하는 두 번째 JCP 버전을 구현했지만 여전히 선이 주도적인 위치를 차지한다.

자바의 발전은 확실히 교묘한 비즈니스이지만, 자바가 끼친 영향은 분명하다. 자바는 C++, 코볼(COBOL) 및 기업용 및 상용 비즈니스 응용 프로그램 개발용 비주얼 베이직(Visual Basic)과 같은 전통적인 언어에 강력한 위협이 되었으며 때로 이들 언어를 대체했다. 자바는 인터넷 중심 개발을 위한 진정한 휴대성을 제공한다. 자바는 계속해서 발전하여 복잡한 새 응용 프로그램 개발을 위한 풍부한 환경을 제공함으로써 기타 환경을 구시대 유물로 전락시킬 것이다. @


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.