|
NetBeans IDE를 이용한 크로스 플랫폼 애플리케이션 개발
사람들은 통합을 위한 표준, 프로토콜, 베스트 프랙티스(best practices)의 개념이 통합 개발 환경(IDE)의 모든 측면에 골고루 영향을 주어야 한다고 생각할 테지만, 애플리케이션 개발자들은 이러한 소위 종합적 툴셋에 결정적으로 중요한 부분이 빠져 있는 것을 자주 목격하곤 합니다.
실례로 어떤 개발 환경은 개발자가 플러그인과 특정 기능을 찾아낼 것을 요구하는가 하면 어떤 IDE의 경우에는 전문 지원 옵션이 결여되어 있기도 합니다. 또, 여러 다른 환경의 경우 필수적인 기능이 빠져있어 특히 크로스 플랫폼 애플리케이션의 개발 과정에서 소프트웨어 작성을 어렵게 만들기도 합니다. 무엇보다도 산업 표준에 대한 지원 부족으로 개발 속도가 저하되며, 전혀 통합형이라 할 수 없는 툴셋으로 구축한 신규 애플리케이션이 공개된 후에는 수많은 최종 사용자들이 실망감만을 경험하게 됩니다.
5.5 버전의 출시와 더불어 NetBeans IDE는 타 개발 플랫폼이 지닌 단점을 극복하고 빠르고 효율적인 크로스 플랫폼 애플리케이션 개발을 위한 새로운 가능성을 열어줍니다. 근본적으로 NetBeans IDE는 순수한 자바 기술로 작성된 자바 개발 툴이기 때문에 자바가 실행되는 곳이라면 어디에서나(결국 거의 모든 곳에서) 실행이 가능합니다.
NetBeans는 개발자 커뮤니티의 정밀 검증을 거치고 프리 소프트웨어의 이점을 모두 지닌 오픈 소스 제품으로, 이 크리에이티브 커먼스(Creative Commons) 방식은 새로운 버전이 공개될 때마다 사용성(usability)과 유연성(개발자들이 원하는 대로 IDE를 수정할 수 있도록 하는)이 크게 향상되었습니다. 또한 netbeans.org 개발 포털은 대부분의 애플리케이션 개발자들이 NetBeans 환경과 특수 기능 팩, 그리고 IDE에 관한 정보를 다운로드할 수 있는 원스톱의 장으로 각광 받고 있습니다.
썬이 후원하는 오픈 소스 NetBeans는 또한 썬 마이크로시스템즈가 직접 제작, 지원, 오픈 소싱에 참여한다는 이점을 지니고 있습니다. 썬이 NetBeans 코드 베이스에 관여한 지도 어언 8년이 다 되어 가는데, 2000년에 IDE를 오픈 소싱한 이후로 썬은 NetBeans를 전폭적으로 지원하고 엔터프라이즈급 개발 환경을 구축하기 위해 지속적으로 후원자 역할을 맡아 왔습니다.
NetBeans IDE는 그 토대를 이루는 배포/개발 철학의 한계를 넘어서, 개발자들이 새로운 크로스 플랫폼 애플리케이션을 작성하는 데 엄청난 이점을 제공합니다. 서비스 지향 아키텍처(SOA)가 특정 비즈니스 프로세스를 처리하는 느슨하게 결합된 서비스를 요구하는 현 시대에, NetBeans는 플랫폼 독립 모듈형 객체 지향 툴셋으로 모든 조건들을 충족시켜줍니다.
또한 NetBeans의 접근방식은 동급 최강의 기능들을 한데 통합함으로써 IDE로 작성된 애플리케이션이 업계 표준을 철저히 수용하도록 하는데, 실례로 NetBeans의 개발자들은 전혀 새로운 빌드 시스템을 구축하는 대신 Apache Ant 툴을 이용하여 빌드를 자동화할 수 있습니다. 마찬가지로, NetBeans는 다른 업계 표준과 사실상의 프로토콜들을 통합하여 IDE 내의 각 모듈이 잘 정의된 기능을 갖추고 진정으로 통합된 개발 환경의 일부가 되도록 해줍니다.
다양한 툴과 프로토콜의 통합. 마이그레이션의 이유로 충분합니다 NetBeans의 종합적인 크로스 플랫폼 개발 가능성이 다른 툴로 작업해 본 경험이 있는 수많은 개발자들을 매료시키는 것은 결코 놀라운 일이 아니며, 실제로 Borland JBuilder 툴셋 등 자바 기술 기반의 툴에 익숙한 개발자들이라면 NetBeans 마이그레이션을 통해 개발 속도를 크게 높일 수 있다는 사실을 잘 깨닫고 있습니다.
예를 들어, NetBeans 프로젝트 임포터는 JBuilder로 개발한 작업을 저장했다가 NetBeans에서 프로젝트를 속행할 수 있도록 해주는 동시에, 썬은 개발자들이 JBuilder에 대한 투자 가치를 보호하면서 NetBeans로 손쉽게 마이그레이트할 수 있도록 도와줍니다.
이전의 JBuilder 개발자들을 위한 연착륙 효과 외에도, NetBeans는 예컨대 타 크로스 플랫폼 애플리케이션 툴셋에서는 이용할 수 없었던 자바 고유의 기능들을 완벽하게 통합하는 등, 개발자라면 누구나 매력을 느낄 만한 수많은 기능을 갖추고 있습니다. 2006년 말에 NetBeans 5.5가 출시되면서 Java Enterprise Edition 5와 Enterprise Java Beans 3에 대한 지원이 강화되었고, 이 IDE의 다운로드에는 엔터프라이즈급 애플리케이션을 위한 종합적인 플랫폼 역할을 수행하는 GlassFish 애플리케이션 서버도 함께 포함되어 있습니다.
개발자들은 또한 NetBeans IDE가 Java Enterprise Edition을 지원할 뿐 아니라 사용하기 쉽고 표준을 준수하며, 성능 프로파일링 기능과 플랫폼 간의 확장 능력까지 갖추고 있기 때문에 더욱 큰 매력을 느낍니다. Java Enterprise Edition에 대한 지원은 특히 JBuilder 개발자들에게 중요한 의미를 지니며, NetBeans 프로젝트는 업계의 자바 기술 표준을 최대한 지원함으로써 엔터프라이즈급 자바 애플리케이션을 보다 쉽고 빠르게 개발할 수 있도록 도와줍니다.
개발 라이프사이클에 걸친 사용의 편리성 NetBeans가 지닌 사용의 편리성 역시 눈길을 끕니다. C/C++에서부터 웹으로의 이동성에 이르기까지 폭넓은 요구사항을 충족하는 기능 팩에 포함된 추가 기능과 플러그인을 찾기 위해 netbeans.org 포털 밖을 뒤지고 다닐 필요가 없기 때문입니다. NetBeans를 일단 다운로드하면, 편리한 사용자 인터페이스와 최근에 발표된 VWP(Visual Web Pack) 등의 기능 덕분에 손쉬운 사용이 가능하며, VWP를 이용하면 JavaServer Faces 컴포넌트를 끌어놓기 하여 속성을 설정하고 서버 사이드 이벤트 핸들러를 위한 코드를 생성할 수 있습니다.
그리고 NetBeans Swing GUI 빌더를 이용할 경우 최종 사용자와 개발자 모두가 추가의 편리성을 누릴 수 있습니다. Swing은 리치 클라이언트와 인터넷 애플리케이션을 위한 그래픽 유저 인터페이스의 제작을 획기적으로 간소화시켜 주며 개발자가 여러 플랫폼에서 다양한 스타일 가이드라인을 처리하고 애플리케이션을 광범위한 언어로 로컬라이즈할 수 있게 해줍니다.
또한 광범위한 플랫폼을 위한 자바 애플리케이션을 효율적으로 개발할 수 있는 것도 오브젝트 모델링을 위한 비독점권 스펙 언어를 지원하기 때문에 가능한 것인데, 이는 모델이 변경되면 자동으로 소스 코드가 함께 변경되는 양방향(two-way) 편집을 가능케 하고 개발자가 일일이 소스 코드 코멘트를 참조해야 하는 불편을 덜어줍니다.
뿐만 아니라, NetBeans 5.5의 성능 프로파일링 기능은 애플리케이션 개발 과정에서 더 좋은 소프트웨어를 만들 수 있도록 도와줍니다. NetBeans Profiler는 IDE에 완벽하게 통합되므로 개발자가 성능 문제로 특정 프로젝트를 프로파일하고자 할 때 NetBeans를 추가로 구성할 필요가 없습니다. 그 대신 NetBeans가 제공하는 다양한 프로파일링 속성을 골라 포인트하고 클릭함으로써 간단히 선택 작업을 수행할 수 있으며, 개발 팀은 프로파일링에 즉시 액세스하여 특정 소프트웨어가 최종 사용자의 손에서 어떻게 작동될지 파악할 수 있습니다.
NetBeans는 또한 개발 사이클 자체를 검사하는 프로세스를 통해 IDE에서 작성된 애플리케이션의 적용 범위를 확장시켜 줍니다. 이러한 확장 능력은 가령 인트라넷 애플리케이션에서 진가를 발휘하게 되는데, NetBeans Mobility Pack을 이용하면 이들을 손쉽게 모바일 장치로 마이그레이트할 수도 있습니다. Mobility Pack은 NetBeans의 다른 모듈과 마찬가지로 드래그-앤-드롭 개발 툴을 제공하며, 이를 통해 추가 로직이 거의 없이 설계되는 화면 기반의 모바일 애플리케이션을 작성할 수도 있습니다.
SOA의 복잡성을 관리해주는 NetBeans 설계 요구사항을 자동화하는 일은 SOA 애플리케이션 설계 시, 그리고 개발자가 복수의 기술과 프로토콜을 다루어야 하는 상황에서 특히 중요성을 지닙니다. 실례로, 애플리케이션 개발에서 SOA 방식을 지원할 경우 WSDL(Web Services Description Language), BPEL(Business Process Execution Language), SAML(Security Assertion Markup Language) 등 다수의 XML 언어를 요하는 자바 기반 서비스를 개발하는 데 따른 복잡성이 크게 줄어듭니다.
보통 이들 언어는 분석 및 디버깅의 오버헤드를 유발하므로, 수동 작업 시 생산 속도를 저하시킬 수 있습니다. 이와 대조적으로, NetBeans는 관련 코드를 자동으로 생성함으로써 프로토콜 처리에 소요되는 시간을 대폭 줄여줍니다.
NetBeans Enterprise Pack에 포함된 WSDL Editor는 개발자가 XML 기반의 웹 서비스를 더욱 간편하게 다룰 수 있도록 할 뿐 아니라 WSDL의 디자인 타임(design-time) 뷰를 제공함으로써 웹 서비스를 손쉽게 분석, 제작, 확대할 수 있게 해줍니다. 또한 개발자는 트리 뷰를 이용하거나 칼럼 뷰를 슬라이드하는 새로운 시각화 기법을 이용하여 대규모 XML 문서의 제 측면을 면밀히 검토할 수 있습니다.
관련 XML Schema Editor는 개발자가 WSDL Editor에서 웹 서비스를 리뷰하는 것과 동일한 방식으로 XML 문서의 매개변수를 리파인할 수 있게 해주며, 이는 시간 소모적 작업의 복잡성을 혁신적으로 줄여줍니다.
| |
내장된 디자이너는 SOA 프레임워크에서 제작된 서비스들을 동기화할 수 있게 해줍니다
| |
SOA 프레임워크에서 제작된 서비스들을 동기화할 수 있도록 Enterprise Pack에는 서비스의 시각적 조정을 위한 내장 디자이너가 포함되어 있어, BPEL 생성자(construct)를 내장 디자이너에 끌어놓기 하면 속성 에디터가 이 생성자를 신속히 리파인할 수 있습니다. 또한 WSDL Editor에서는 디버깅, 추적, 분석을 위한 버튼을 클릭하여 디자인 뷰와 소스 뷰 간의 전환도 가능합니다.
대부분의 애플리케이션 개발 프로젝트에 있어서 보안은 결정적인 중요성을 지니며, 이는 SOA 전략의 가장 복잡한 부분 중 하나라고 할 수 있습니다. 이처럼 중대한 측면을 처리하기 위해, NetBeans Enterprise Pack에는 안전한 ID 지원 웹 서비스를 개발하는 데 필요한 모든 런타임을 제공하는 Sun Java System Access Manager가 번들로 포함되어 있습니다. 또한 보안 구성의 설계를 가능케 하는 간편한 마법사는 개발자가 개발중인 애플리케이션의 비즈니스 로직에 더욱 집중할 수 있게 해줍니다.
모델링 지원에 의한 개발자 생산성 향상 개발자들은 NetBeans에 포함된 풍부한 툴셋이 애플리케이션 개발을 훨씬 편리하게 만들어준다는 사실을 알게 되고, 기업의 의사 결정자들은 IDE가 내장된 효율성 기능을 통해 생산성을 향상시켜 준다는 사실을 깨닫게 됩니다. 예를 들어, 최신 버전의 NetBeans의 경우 한때는 Sun Studio Enterprise에서만 가능했던 생산성 기능을 크로스 플랫폼 애플리케이션 개발에 포함시킬 수 있도록 하고 있습니다.
이 외에도 베타 UML(Unified Modeling Language) 지원은 다수의 플랫폼을 위한 자바 애플리케이션들을 보다 빠르고 효율적으로 개발할 수 있게 해주는 NetBeans의 또 다른 장점이기도 합니다. 그 밖에도 NetBeans는 객체 모델링을 위한 비독점권 스펙 언어를 지원함으로써, 모델이 변경되면 자동으로 소스 코드가 함께 변경되는 양방향(two-way) 편집을 가능케 하고 개발자가 일일이 소스 코드 코멘트를 참조해야 하는 불편을 덜어줍니다.
베타 UML 지원은 여기에 그치지 않고 직관적인 모델링 능력을 통해 애플리케이션 개발의 효율을 극대화하는 수준으로까지 발전해나가고 있습니다. 이제 최신 버전의 NetBeans Enterprise Pack은 자바 애플리케이션 개발과 관련한 대부분의 다이어그램 타입을 지원하며, 여기에는 클래스, 행동(behavior), 인터랙션, 시퀀스 등의 활동을 제어하는 다이어그램이 포함됩니다. 따라서 개발자는 이런 다이어그램을 이용하여 애플리케이션 작성의 여러 측면들을 위한 코드 생성 모델을 개발할 수 있습니다.
양방향 지원은 개발자로 하여금 개발 사이클에 걸쳐 애플리케이션 발전에 따라 신속하게 모델을 구현하고 코드 변경에 동기화시킬 수 있도록 합니다. 뿐만 아니라, 시퀀스 다이어그램에 대해서도 코드 생성 기능이 제공되므로 개발 과정에서 전체 애플리케이션의 다양한 부분들이 빈틈없이 보조를 맞출 수 있게 됩니다.
그룹 생산성을 위한 베스트 프랙티스(Best Practices)의 활용 NetBeans는 또한 개발 팀이 마커와 주석 코드를 최신 상태로 유지하기 위해 철저한 리뷰로 모델을 업데이트하는 데 지나치게 많은 시간을 소모하지 않도록 합니다. 또한 이 기능들은 수백 시간의 개발자 시간을 절감시켜줄 뿐 아니라 신규 프로그램의 완성 속도를 가속화합니다.
| |
NetBeans의 기능들을 이용하면 수백 시간의 개발자 시간을 절감할 수 있을 뿐 아니라 애플리케이션 가용성을 혁신적으로 향상시킬 수 있습니다
| |
다이어그래밍 지원에는 드래그-앤-드롭 방식으로 다이어그램을 구성하고 편집할 수 있는 접촉식 검수(contact-sensitive tallying)가 포함됩니다. 또한 개발중에 있는 애플리케이션의 특정 부분들을 쉽게 내비게이트할 수 있게 해주는 in-place 편집이나 다중 레이아웃 및 줌 기능과 더불어, 특정 다이어그램과 관련된 UML 요소를 표시해주는 일련의 컴포넌트들도 개발의 효율성을 더욱 높여줍니다.
NetBeans는 또한 개발자 팀이 다른 베스트 프랙티스와 업계 표준을 활용하여 그룹의 전반적인 생산성 수준을 높일 수 있도록 하는데, 이러한 베스트 프랙티스에는 유명한 Design Patterns 가이드에 실려 있는 공통 프로그래밍 문제에 대한 솔루션이 포함됩니다. 이 외에도 Enterprise Java Beans를 위한 광범위한 업계 표준 설계 패턴과 기타 패턴이 포함되는데, 이들 각각은 개발 팀 전체에 걸쳐 재사용이 가능하기 때문에 조직의 능률 향상에 크게 도움이 됩니다.
이러한 모델링 프로젝트의 문서 작성이 쉽다는 점도 개발자들의 작업 능률을 한층 높여주는 요인으로 작용하며, HTML이나 Map으로 작성 가능한 사용자 친화적 보고서는 여러 다이어그램을 포함할 수 있을 뿐 아니라 손쉽게 인트라넷에 배치하거나 프린트로 출력하여 검토할 수 있습니다.
개발 속도 향상 개발자들이 애플리케이션 개발 사이클 전반에 걸쳐 비즈니스 로직에 더욱 집중할 수 있도록 한 것 역시 소프트웨어가 시장의 요구사항을 충족해야만 하는 오늘날의 여건을 충실히 반영한 부분이라 할 수 있습니다. 끊임없이 변화하는 비즈니스 프로세스가 애플리케이션의 용도와 설계를 결정하는 SOA와 같은 분야에서는 개발자들이 더욱 민첩성을 발휘해야 할 필요가 있습니다.
NetBeans는 애플리케이션이 특정 비즈니스 과제를 충족할 수 있도록 보장해주는 플랫폼 간의 확장성, UML 컴플라이언스, 복잡성 관리 능력 등에서 단연 독보적이라 할 수 있습니다.
새로 대두되고 있는 “개발 속도”는 오직 썬만이 제공할 수 있는 자바 기능과 더불어 오픈 소스의 가시성과 안정성을 필요로 합니다. 이제 개발자들은 NetBeans를 통해 모든 레벨의 애플리케이션 작성에 반드시 필요한 요소들이 모두 통합되어 있는 개발 플랫폼을 확보할 수 있습니다. |