사용자 삽입 이미지


The Past : 자바 프로젝트의 초창기
자바의 창시자인 제임스 고슬링은 1991년 썬의 한 랩실에서 Green이라 불리는 프로젝트를 시작하고 자바 언어의 원시격인 Oak 언어를 만들어냈다. 자바 기술은 공식적으로 1995년 5월에 발표되었다. 자바 기술의 과거를 이야기해주는 이 섹션에서 우리는 자바 기술의 초창기, 그것의 동기 부여, 인기, 커뮤니티의 노력들과 몇 가지 중대 사건들을 살펴보게 될 것이다.

The Present : 자바 기술은 어디에서나..
오늘날 전세계적으로 약 200만이 되는 자바 개발자들이 활동하고 있고 그 수는 점점 늘어나는 추세이다. 자바는 작은 자바 카드 어플리케이션뿐만 아니라 미션 크리티컬한 서버 중심의 어플리케이션을 실행시키며, 소규모 J2ME 장치에서부터 데스크탑, 대규모 데이터 센터를 막론하고 어디에서나 작동한다. 웹 서비스를 위한 J2EE플랫폼, 모바일 장치를 위한 J2ME, J2SE 1.5, 개발의 용이성을 보장하는 자바 플랫폼은 새롭게 강화된 자바 언어의 기능, 라이브러리 그리고 API를 제공한다.

The Future : 모든 이들을 위한 자바...
개발자들과 엔드 유저를 위해 개발의 용이성을 보장하는 자바 플랫폼, 새로운 IDE 툴, J2EE 1.5, J2SE의 다음 버전, 이머징 쿨 자바 기술 그리고 그 이상의 자바 기술들을 소개한다.


 
 

The Present : 자바 기술은 어디에서나..

자바의 대단한 모멘텀(Momentum is HUGE!)

현재 자바는 대단한 영향력을 끼치며 발전하고 있다. 자바는 빠르게 진화하면서 성숙기에 접어들고 있으며, 잘 설계된 혁신적인 공개 표준(open standard)을 기반으로 하여 개발자들과 관리자들이 소프트웨어를 새로운 방식으로 볼 수 있도록 한다. 자바는 높은 채택율로 이미 3백~4백만명의 자바 개발자들이 있으며 그 수는 계속 늘어나고 있는 것으로 볼 때, 자바는 매우 공격적인 속도로 계속해서 발전하고 있다. 자바는 공유 솔루션을 통해 측정가능하고, 안전하며, 아키텍쳐적으로 구성된 방법으로 현실적인 문제들을 해결할 수 있는 까닭에 많은 마이크로소프트 개발자들이 자바로 이동하고 있다.

무선 공간에서 플랫폼의 서버와 디지털 identity 영역은 굉장히 급속도로 성장하고 있다. 이 영역들에서의 자바의 성장성과 영향력은 이미 자바 고안자의 예상을 뛰어넘었다. 자바의 영향력이 큰 이유는 자바가 운영체제와 하드웨어의 아키텍쳐 장벽을 깸으로써 현실적인 문제를 해결할 뿐만 아니라 대부분의 사람들이 기대하지 않았던 영역으로 스스로 변화하면서 진화하기 때문이다. 예를 들자면 기존에는 자바의 영역이 아니었던 게임 산업이나 실시간, 자동차, 공간 기반(space-based) 원격 측정법, 임베디드 디바이스로 영역을 넓히고 있다.

자바는 모든 곳에 있으며, 성장하고 있다. 2004년 2월 19일의 통계에 따르면, 2억 5천만대의 자바 이용 휴대폰, 6억 5천만대의 자바 탑재 데스크 탑, 5억대의 자바 SIM/SmartCard, 그리고 1억대의 기타 자바 디바이스들이 있다고 한다. 즉 대략적으로 15억대 정도의 자바를 탑재한 디바이스들이 있다는 말이다. 자바의 채택은 국가적인 차원에서 일어나고 있다고 할 수 있다. 예를 들어 타이완은 2천4백만장의 의료보험 카드를 자바 스마트 카드로 사용하고 있다(http://sun.systemnews.com/articles/55/1/news/7598).

한국은 무선 표준 플랫폼으로 J2ME를 채택하였으며(http://sun.systemnews.com/articles/62/1/ja/9724), 브라질은 자바를 이용한 건강관리 시스템을 매달 120만 명의 입원 환자들과 1억 명의 외래 환자들에게 제공하고 있다(http://java.sun.com/developer/technical ··· razil%2F).

이제 자바는 우리의 기술적인 풍경 안에 삽입되어서, 개인 컴퓨터에서부터 의료장비, 전화기, 자동차 telamatics(http://sun.systemnews.com/articles/62/4/ja/9677), 서버, 제트 엔진, Mars Rover의 컨트롤 네비게이션(http://www.sun.com/aboutsun/media/features/mars.html), 자바 소비재(http://java.com)들에 이르는 모든 곳에 자바가 존재한다.

자바가 대단한 영향력을 가지고 있다는 점에는 의심의 여지가 없으며, 기존의 판을 깨는 혁신적인 기술의 역할을 확실히 해내고 있다. 자바는 계속해서 성장하고 있고, Sun사의 성장 목표는 1천만 개발자들이다. 많은 수의 회사들과 개인들은 자바 플랫폼을 받아들이고 Java Community Process 를 통해 자바의 차후 진로를 계획하는 데에 참여하고 있는데, 현재 735개 이상의 회사와 기관이 이 JCP에 참여하고 있다. 덧붙이자면, 크고 활발한 오픈소스 커뮤니티에서는 자바 플랫폼을 위한 프로그래밍 인터페이스와 프레임워크, 툴들을 만들어내고 있다.

자바 오픈소스 커뮤니티 프로젝트(http://java.net) 와, Jakarta 프로젝트(http://jakarta.apache.org/) 와 같은 오픈소스 프로젝트는 오픈소스가 어떻게 자바의 미래를 형성하고 향상시켜왔는지를 명확하게 보여주는 예라고 할 수 있다. 이 다각면 오픈 프로세스는 많은 회사들, 기관들, 개인들이 자바의 높은 성장률에 이바지할 수 있도록 하는 역할을 한다. 결과적으로 엔터프라이즈와 모바일 컴퓨팅 시장에서의 자바의 명백한 우세는 자바의 대단한 영향력을 증명해주고 있다.

모든 플랫폼을 위한 자바

자바는 스마트 카드에서부터 임베디드 장치, 핸드폰 (Nokia, Motorola, Ericsson 등), PDA (Plam, Symbian, Sharp), 랩탑과 데스크탑 (MacOS, Linux, Windows), 서버 (Unix, Windows, MacOS), Non Stop 서버 (Tandem), 메인프레임 (IBM)에 이르는 다양한 하드웨어와 운영체제 플랫폼에서 사용 가능하다. 다시 말해 자바 플랫폼은 앤터프라이즈에서 스마트카드, 각종 장치들까지 어느 곳에나 존재한다고 할 수 있겠다.

자바 플랫폼의 영역에서 가장 노력을 기울이고 있는 점이 ‘사용 편의성’이다. 우리는 기존의 개발자들 뿐만 아니라 새로운 개발자들도 쉽게 사용할 수 있도록 자바 플랫폼을 만들고자 한다. 자바 커뮤니티는 자바 언어, 자바 API, 자바 툴을 사용하기 쉽도록 하기 위해 노력하고 있다. 자바 플랫폼의 ‘사용 편의성’을 위한 노력의 성과를 몇 가지 소개하고자 한다.

Java Standard Edition 5(http://java.sun.com/j2se/1.5.0/download.jsp)의 다음 번 주요 릴리즈에서는 자바 애플리케이션과 툴이 개발이 보다 용이하도록 새롭게 성능이 향상될 것이다. Generics, typesafe enumerated types, autoboxing, enhanced for loop 등과 같은 새로운 랭귀지 특징들이 애플리케이션 구축을 위한 자바 사용을 좀 더 쉽게 만들어 줄 것이다. (http://java.sun.com/developer/technical ··· gfeat%2F).

Enterprise JavaBeans 아키텍쳐는 컴포넌트 기반 비즈니스 애플리케이션을 개발하고 배포하기 위한 컴포넌트 아키텍쳐이다. 새로운 EJB 3.0(http://jcp.org/en/jsr/detail?id=220)은 4가지의 인터페이스와 클래스들, 그리고 Deployment Descriptor를 없앰으로써 개발 복잡성(development complexity)를 없애는 데 초점을 맞추고, J2SE 5에서 정의된 메타 데이터와 함께 구현되는 “@statless, @stateful, @stateful, @entity”와 같은 주석들로 교체될 것이다.

자바는 웹서비스 플랫폼을 위한 최선의 선택이다. J2EE 1.4(http://java.sun.com/webservices/jwsdp/index.jsp)는 서블릿 기반의 JAXRPC end point 모델이나 Stateless Session Bean endpoint 모델 같은 다른 여느 J2EE 컴포넌트들처럼 웹서비스를 제공한다. 웹서비스도 J2EE의 또다른 컴포넌트라고 할 수 있는데, 그것은 재사용할 수 있으며, 런타임에 구성해넣을 수 있고, 클라이언트와 서버 간의 계약에는 단지 WSDL 파일만이 필요할 뿐이다. Java Web Services Developer Pack (Java WSDP)는 최신 웹 서비스 기술과 표준 구현을 이용하여 XML 애플리케이션, 웹서비스, 웹 애플리케이션을 구축하고, 테스팅하며, 배포하는 데 사용할 수 있는 무료 통합 툴킷이다. Java WSDP 1.4는 WS-I Attachments Profile 1.0를 이용하여 WS-I Basic Profile 1.1을 구현하고 SOAP 메시지를 이용한 접속 전송을 지원한다. 추가적으로, Java WSDP 1.4는 SOAP를 위한 메시지 레벨의 보안을 제공하는 OASIS Web Services Security (WSS) 스펙을 모두 구현할 수 있는데 이는 시스템의 전송이나 저장 보안 방식과는 독립적으로 메시지 자체를 전송하고 저장할 수 있게 해준다.

이제 Sun ONE Studio 5, Mobile Edition에 포함되어 있는 J2ME Wireless Connection Wizard(http://developers.sun.com/prodtech/java ··· wcw.html)는 J2ME-to-J2EE 분산형 이동 클라이어트/서버 애플리케이션의 생성을 단순화하기 위한 코드를 생성한다. 그는 로우엔드 J2ME MIDP 장치에 배포할 수 있을 만큼 (용량이) 작은 end-to-end 애플리케이션을 위한 lightweight 커뮤니케이션 컴포넌트를 구축한다.

비용이 들지않는 소프트웨어 개발 및 배포

애플리케이션, 데이터베이스, 그리고 기타 엔터프라이즈 특성들에 관한 자바 관련 기술과 자바를 배우는 데는 사실상 돈이 들지 않는다. 한 번 생각해보자. Java 2 SDK 의 다운로드는 무료이다. NetBeans 와 Eclipse 소프트웨어 개발 환경도 역시 모두 무료이다.

Tomcat, Jetty, W3C's JigSaw 와 같은 다양한 자바 서버엔진과 기타 많은 서버들도 무료이다. MySQL, Postgres, HSQLDB, SAP's DB 등의 다양한 무료 데이터베이스들이 존재하고, 썬의 Java System Application Server 의 플랫폼 에디션 같이 산업용으로 유용한 강점들을 가진 J2EE 서버들도 역시 비용을 전혀 들이지 않고 사용할 수 있다. 썬의 Java System Application Server는 서블릿 컨테이너, EJB 컨테이너, Java Message Service, Pointbase 데이터베이스, 운영 관리 GUI, 배포 툴들을 포함하고 있다.

무료로 자바 배우기

자바 기술을 배우려면, http://java.sun.com 에 방문하여 소프트웨어를 다운로드하고, 튜토리얼(http://java.sun.com/learning/tutorial/index.html)을 실행시켜보자. 코드캠프와 hands on labs(http://fr.sun.com/developpeurs/codecamp2004/index_print.html) 에서 배우고, 개발자 포럼(http://forum.java.sun.com/)에도 참여할 수 있다.

자바 애플리케이션을 개발하는 데 있어서 최고의 예제와 디자인 패턴들을 가르쳐줄 자바 블루프린트(http://java.sun.com/reference/blueprints/index.html)와 함께 개발을 시작할 수도 있다. 자바를 배우고, Sun Developer Network(http://developers.sun.com/) 에 등록하여 자바 기술에 관한 좋은 정보들과 리소스들을 받아보는 데에는 아무런 비용도 들지 않는다. 최근엔 한국 썬의 개발자 사이트(http://kr.sun.com/developers/)도 오픈하였다. 또한 IBM, Oracle, BEA, Tmax Soft, NOC, Motorola 등의 수많은 다른 자바 파트너들로부터도 많은 자바 리소스를 얻을 수 있다.

도구들(Tools)

자바 산업의 일부분은 툴에 집중되어 있으며, 수천개의 자바 툴이 존재한다. 그 일부는 JavaWorld's Resource Guide 에서 볼 수 있다. 이 리스트는 Jakarta, xml.apache.org, Source Forge 와 같은 곳의 오픈 소스 툴은 포함하지 않는다. BlueJ(http://www.bluej.org/)와 같은 자바 교육용 툴도 있다. 자바 오픈 소스 툴과 솔루션들은 Source Forge에만 해도 11,000 개가 넘게 존재한다. 자바 IDE 소프트웨어 개발 시장에는 IntelliJ IDEAS, NetBeans, Sun Java Enterprise System Studio, Borland's Enterprise Studio 5, Eclipse, IBM Websphere, BEA WebLogic Workshop 처럼 IDE의 형태를 가진 훌륭한 툴들이 있다.

자바 산업과 좀 더 최근의 오픈 소스 커뮤니티는 J2EE feature-set를 포함하는 애플리케이션 서버의 구축을 중심으로 혁신되어왔다. 썬 Java Enterprise System Application Server, BEA, IBM’s WebSphere, Tmax soft, Pramati와 같은 애플리케이션 서버 시장은 기업의 백본 역할을 하고 있다.

또한, 많은 프로파일링, 데이터베이스, 미들웨어와 ASP to JSP, VB to Java 등의 컨버터 유틸리티를 비롯한 툴들이 존재한다. 자바 분야는 dbVisualizer, JProbe, OptimizeIt!, Cocobase, DeployDirector 등과 같은 툴들을 만들었는데, 이들은 겨우 그 일부이고, 위에서 언급했던 사이트에서 더 많은 툴들에 대한 정보를 얻을 수 있을 것이다.

새로운 차원의 IDE들은 J2EE features뿐만 아니라 새로운 차원의 애플리케이션 서버와도 면밀히 통합되어있다. 예를 들자면, 썬의 자바 엔터프라이즈 시스템 자바 스튜디오를 사용하는 개발자가 애플리케이션을 개발한 다음, 애플리케이션 서버 내에 타이트하게 연결되어있는 IDE 안에서 배포한 후에 테스트 해볼 수 있다.

Sun의 Java System Application Server Enterprise Edition(http://wwws.sun.com/software/products/a ··· _ee.html) 같은 J2EE 애플리케이션 서버들은 웹 서비스, 수평적 클러스터 스케일링, near continuous 가용성, 분산 스토리지에 근거한 self-reparing 세션 스테이트 지속성에 초점을 맞춘 많은 기업용 특성들과 성능, 가용성, 보안성, 기업 가동시간(up-time) 등에 초점을 맞춘 다른 특성들을 포함하고 있다.

JVM은 매우 조작이 쉽고 개발자가 32비트 또는 64비트 어느 버전이라도 쓸 수 있도록 한다. 64비트 JVM은 굉장히 큰 용량의 애플리케이션을 실행시킬 수 있도록 32비트 버츄얼 머신의 힙 사이즈 한계인 4 GB보다 큰 힙 사이즈를 허용한다. 자바 디버깅 & 프로파일링 툴들은 쓰레드 analysis가 stalls, deadlocks(교착 상태), 쓰레드 starvation을 방지하도록 하며, 이는 굉장히 큰 기업용 애플리케이션의 경우에 중요하다.

현 세대의 JVM 툴들은 개발자들이 버츄얼 머신의 ‘hotspots’ 성능, 가비지 콜렉션 기능, 로우 메모리 컨디션과 자바 런타임을 실행하는 것에 대한 많은 결정적 관점들을 검사할 수 있도록 한다. Jvmstat(http://developers.sun.com/dev/coolstuff/jvmstat/) 은 간단한 퍼포먼스와 HotSpot JVM에 의해 전달된 컨피규레이션 계측(instrumentation)에 대한 액세스를 제공하고 다양한 포맷의 정보를 디스플레이한다.

Sun Java Enterprise Studio IDE(http://wwws.sun.com/software/products/j ··· dex.html) 은 refactoring (소스코드를 업데이트하고, 외부 기능의 변화없이 내부 기능을 변화시키는 방법), UML 디자인 툴, EJB 마법사, 웹 서비스 마법사 외에 소프트웨어 개발 전반에 관한 많은 모듈들을 포함하고 있다. 또한 Sun Java Identity Server와 훌륭히 통합되어 있으며, 자바 개발 환경을 위한 공동 작업(collaboration) 같은 기능을 추가할 계획이다.

썬 마이크로시스템즈는 지난 2004 JavaOne에서 자바 5의 새로운 기능들과 Java Server Face 기술에 기반한 새로운 visual 개발 툴인 Sun Java Studio Creator IDE를 발표하였다. (http://developers.sun.com/prodtech/java ··· ndex.jsp)

사용자 인터페이스의 Drag-and-drop 레이아웃과 컴포넌트 인프라스트럭쳐를 이용한 100% 자바 기반의 Java Studio Creator는 일관성있는 애플리케이션의 외관과 동작방식(look, feel, behavior)에 더불어 프로토타입(prototype)에서 애플리케이션을 완성하기까지의 신속한 개발을 보장한다. Design center인 두 Java와 JSP의 소스 코드, 속성 에디터는 모두 개발 주기를 쉽고 신속하게 만들 수 있도록 동기화 되어 있다. 새로운 자바 개발자들이 자바 웹 서비스 애플리케이션을 수분 내에 개발할 수 있도록 하는 새롭고 흥미로운 툴인 것이다.

J2ME Wireless Toolkit 은 Java Technology for the Wireless Industry (JTWI, JSR 185) specification에 부합하는 자바 애플리케이션을 생성하기 위한 툴 셋이다. 빌드 툴, 유틸리티, 그리고 디바이스 에뮬레이터로 구성되어 있다.

썬의 이러한 IDE들은 애드 온 모듈을 위한 plugable 모듈러 아키텍쳐를 지원하는 오픈 소스 Netbeans IDE에 기반을 두고 있다. 이 IDE는 개발자가 모듈을 추가함으로써 기능을 추가하거나 교체할 수 있다. NetBeans과 썬 Java Enterprise System의 Java Studio의 경우, 개발자가 어느 모듈을 다운로드할 것인지를 고르고 선택하도록 하는 온라인 모듈 업데이트가 존재한다. 어느 벤더들은 업데이트를 통해 IDE에 수동으로 추가될 수 있는 모듈 파일들을 탑재하고 있다.

요약

오늘날 15억 개의 자바가 가능한 장치들이 존재하듯, 자바는 모든 곳에 있다. 게다가 자바는 폭넓게 사용되고 있으며, 자바의 채택은 계속되고 있다. 자바 플랫폼은 새로운 기능들, API, 툴들을 이용하여 보다 더 사용하기 쉽도록 변하고 있으며, 새로운 혁신을 위해 계속 진화하고 있다. 또한 새로운 기술을 창조하고, 이식성, 보안성, 확장성을 겸비한 저렴한 소프트웨어 솔루션을 제공한다.

"에반젤리스트로부터" 카테고리의 다른 글

2006/01/01 19:02 2006/01/01 19:02

TRACKBACK :: http://blog.sdnkorea.com/blog/trackback/19

  1. 자바의 과거,현재 미래 - Part 2. 현재

    Tracked from 나를 위해.. 그리고..  삭제

    자바에 대해서는 아직 잘 모르겠지만.... 읽어보면 도움이 될 듯하다. 자바의 과거,현재 미래 - Part 2. 현재 조인영님의 'The Past, Present and Future of Java' 연재 http://www.sdnkorea.com/blog/19

    2007/09/14 11:15
  2. 자바의 과거,현재 미래 - Part 2. 현재

    Tracked from deuk79님의 블로그  삭제

    자바의 과거,현재 미래 - Part 2. 현재 썬특집기사/에반젤리스트로부터 The Present : 자바 기술은 어디에서나..오늘날 전세계적으로 약 200만이 되는 자바 개발자들이 활동하고 있고 그 수는 점점 늘어나는 추세이다. 자바는 작은 자바 카드 어플리케이션뿐만 아니라 미션 크리티컬한 서버 중심의 어플리케이션을 실행시키며, 소규모 J2ME

    2007/09/19 14:35

댓글을 달아 주세요

  1. 이우철  수정/삭제  댓글쓰기

    우리나라도 액티브엑스보다 자바를 많이 쓰면 좋겠어요..
    자바를 이용한 사이트들은 깔끔하고 사용자 중심으로 좋은데 액티브는 너무 불편해요. 자바로 인터넷 세상이 도배되는 그 날까지 아자 아자 파이팅!!

    2007/09/07 20:15
  2. 윤태호  수정/삭제  댓글쓰기

    자바의 역사와 시대적인 흐름을 알려주셨네요.
    모든 분야에서 현재 사용되어지는 언어! Java!
    그 기원과 같이 새로운 혁신 언어로 거듭나길 바랍니다.

    2007/09/08 15:46
  3. 김문경  수정/삭제  댓글쓰기

    알아가는 재미가 좋읍니다^^

    2007/09/17 21:55
  4. 박정숙  수정/삭제  댓글쓰기

    좋은 정보 감사해요~

    2007/09/19 04:52
  5. 황종생  수정/삭제  댓글쓰기

    무료자바배우기까지 있어서 정말 좋은정보인것 같네요.
    좋은 읽을거리와 정보 감사합니다.^^

    2007/09/19 14:26
[로그인][오픈아이디란?]

◀ Prev 1  ... 451 452 453 454 455 456 457 458 459  ... 626  Next ▶