Page navigation
developerWorks Java 기술 영역에는 소프트웨어 개발자가 Java 플랫폼 및 관련 기술을 최대한 활용할 수 있도록 하는 수백 개의 기사, 튜토리얼, 팁 및 커뮤니티 자원이 포함되어 있습니다. 그런데 시작할 위치를 찾으려고 해 보면 오늘날 웹에서 이용할 수 있는 자원이 너무 많다는 것을 알 수 있습니다. developerWorks는 이 기사에서 Java 기술의 기본사항에 대한 개요를 언어의 전반적인 컨텍스트 범위에서 제공합니다. 이 기사에는 자세한 내용을 살펴볼 수 있는 관련 소개 developerWorks 컨텐츠, 기타 교육 자료와 IBM 다운로드 및 제품에 대한 링크를 제공합니다.
Java 프로그래밍 입문자라면 이 페이지에서 Java™ 기술의 기본사항에 대한 개요를 확인하고 최신 소프트웨어 개발 흐름에 Java 기술이 얼마나 적합한지 살펴볼 수 있습니다. 관련 소개 developerWorks 컨텐츠, 기타 교육 자료와 IBM 다운로드 및 제품에 대한 링크를 통해 자세한 정보를 얻을 수 있습니다.
Java 기술이란?
Java 기술은 프로그래밍 언어이자 플랫폼이다.
Java 프로그래밍 언어는 상위 레벨의 오브젝트 지향 언어이다. Java 프로그램은 컴파일되고 해석되기 때문에 이 언어는 독특한 것이다. 프로그램당 한 번 발생하는 컴파일은 Java 코드를 Java 바이트코드라는 중간 언어로 변환한다. 바이트코드는 언어와 기본 운영 체제 및 하드웨어 사이의 변환기인 JVM(Java Virtual Machine)에 의해 구문 분석되고 실행(해석)된다. 프로그래밍 언어의 모든 구현은 JVM을 에뮬레이트하여 Java 프로그램이 JVM 버전을 가진 모든 시스템에서 실행될 수 있도록 해야 한다.
Java 플랫폼은 다양한 하드웨어 플랫폼 위에서 실행되는 소프트웨어 전용 플랫폼이다. Java 플랫폼은 세 가지 버전으로 제공된다(아래의 Java 플랫폼의 여러 에디션 참조). Java 플랫폼은 애플릿과 애플리케이션의 개발 및 전개를 용이하게 하는 미리 작성된 소프트웨어 컴포넌트(클래스)의 대규모 콜렉션인 Java API 및 JVM으로 구성된다. Java API는 기본 오브젝트에서부터 네트워킹 및 보안과 XML 생성 및 웹 서비스에 이르기까지 모든 항목을 범위로 한다. 이러한 항목은 관련 클래스 및 인터페이스의 라이브러리(패키지로 알려져 있음)로 그룹화된다.
Java API와 함께 Java 플랫폼의 모든 전체 구현은 다음과 같다.
- 애플리케이션의 컴파일, 실행, 모니터링, 디버깅 및 문서화를 위한 개발 도구
- 애플리케이션을 사용자에게 전개하는 데 필요한 표준 메커니즘
- 정교한 그래픽 사용자 인터페이스(GUI)를 작성할 수 있는 사용자 인터페이스 툴킷
- 프로그램이 데이터베이스에 액세스하고 원격 오브젝트를 조작할 수 있는 통합 라이브러리
JVM은 Java 프로그래밍 언어 이외의 언어를 실행하는 데 강력한 플랫폼인 것으로도 증명되었다. 예를 들어, Groovy, Scala와 Ruby 및 Python의 특수 구현은 개발자에게 동적 또는 함수형 언어로 JVM을 위해 프로그래밍할 수 있는 융통성을 제공한다. (자세한 정보는 아래의 Java 기술과 동적 언어 및 함수형 프로그래밍의 관계를 참조한다.)
Java 기술은 Sun Microsystems에서 개발했다. 국제적인 Java 개발자 및 라이센스 사용자의 공개된 조직인 JCP(Java Community Process)는 Java 기술 스펙, 참조 구현 및 기술 호환성 킷을 개발하고 개정한다. 2007년에 Sun은 GNU GPLv2(General Public License version 2)에 의거하여 대부분의 핵심 Java 기술을 오픈 소스 소프트웨어로 사용할 수 있도록 했다. (자세한 정보는 아래의 Java 기술과 오픈 소스 소프트웨어 개발의 관계를 참조한다.)
Java 기술이 중요한 이유
Java 언어의 주요 장점은 다양한 하드웨어 플랫폼 및 운영 체제에서 Java 애플리케이션을 이식할 수 있다는 것이다. 이는 각 플랫폼에 설치된 JVM이 동일한 바이트코드를 이해하기 때문에 가능하다.
Java 언어 및 플랫폼의 범위는 상당히 인상적이다. 애플리케이션은 제한된 자원을 가진 장치를 위해 쉽게 작성되거나 기존 Java 데스크탑 애플리케이션을 변형해서 작성될 수 있다. 더 확대하면 Java 언어는 사용자의 컴퓨팅 자원을 데스크탑에서 웹 자원으로 확장하여 서버측 웹 프로그래밍에 이상적인 프레임워크가 된다. Java 언어는 네트워크를 통해 보안 설정된 상태로 실행되도록 설계되었기 때문에 이 언어는 인터넷을 통해 작동할 때 이 수준의 보안을 적용할 수 있다. 웹 컴포넌트는 웹 컨테이너라는 런타임 플랫폼에 의해 지원되며 이 웹 컨테이너의 서비스에는 이름 지정, 트랜잭션 및 이메일과 같은 API에 대한 액세스, 요청 배포, 보안, 동시성 및 라이프사이클 관리가 포함된다. 궁극적으로 Java 애플리케이션 서버는 데이터베이스와 상호작용할 수 있고 동적 웹 컨텐츠를 제공할 수 있는 Java 컴포넌트, XML 및 웹 서비스의 웹 컨테이너로 사용되며 트랜잭션 관리, 보안, 클러스터링, 성능, 가용성, 연결성 및 확장성을 위한 기능을 통해 엔터프라이즈 애플리케이션을 위한 애플리케이션 전개 환경도 제공한다.
엔터프라이즈에서 개방형 표준을 지원하여 Java 기술은 여러 비즈니스 라인에서 정보와 애플리케이션을 공유할 수 있도록 XML 및 웹 서비스를 사용할 수 있는 기회를 제공한다(아래의 Java 기술과 SOA/웹 서비스의 관계 참조). Java 기술은 많은 IBM 제품과 기술 컨설팅 서비스의 중추 역할을 하며(아래의 Java 프로그래머가 사용할 수 있는 IBM 도구 및 제품 참조) 주요 IBM 이니셔티브에 있어 중요하다.
- IBM Service Oriented Architecture - SOA 철학과 사용자가 수평적인 비즈니스 프로세스를 지원하기 위해 엔터프라이즈 범위 내외에서 여러 소스의 기능을 활용하는 복합 애플리케이션을 빌드하는 데 SOA가 어떤 도움이 되는지에 대해 자세히 살펴본다.
SOA를 시작하는 데 도움을 주기 위해 IBM은 비즈니즈 중심 및 IT 중심 SOA Entry Points를 제공한다.
- IBM의 SOA에 의해 사용 가능한 Business Process Management에서는 전략적 변화에 대한 컴포넌트 기반의 포괄적인 접근방식을 제공한다.
오퍼링은 유연하고 확장 가능한 개방형 표준 기반 소프트웨어(Java 기술 포함)와 하드웨어 인프라를 기반으로 한다.
- Project Zero는 SAO를 뒤따르는 Web 2.0 애플리케이션의 애자일 개발에 초점을 둔 IBM 인큐베이터 프로젝트이다.
Java 플랫폼의 여러 에디션
Java 플랫폼의 세 가지 에디션으로 인해 소프트웨어 개발자, 서비스 공급자 및 장치 제조업체가 쉽게 특정 시장을 대상으로 지정할 수 있게 되었다.
-
Java SE(Java Platform, Standard Edition). Java SE를 사용하면 데스크탑 및 서버는 물론 임베디드 및 실시간 환경에서도 Java 애플리케이션을 개발하고 전개할 수 있다.
Java SE에는 Java 웹 서비스의 개발을 지원하는 클래스가 포함되어 있으며 Java EE(Java Platform, Enterprise Edition)에 대한 기반을 제공한다.
Java SE 6("Mustang")가 Java SE 플랫폼의 현재 버전이다. 다수의 Java 개발자는 Java SE 5(Java 5.0 또는 "Tiger"로도 알려져 있음)를 사용한다.
- Taming Tiger 컬럼에서는 Java SE 5에 대한 탁월한 개요를 제공한다.
다수의 기존 Java 애플리케이션은 Java SE 5를 기반으로 하며 이 시리즈에서 대부분의 개념은 Java SE 6 프로그래밍과 관련되어 있다.
- "Java SE 6의 성능 모니터링 및 진단 (한글)"에서는 Java SE 6에서의 성능 및 모니터링 개선사항에 대해 설명한다.
- "Create rich applications with JavaFX Script"에서는 Java SE 6에서 실행되는 스크립트 언어에 대해 소개하고 정교한 사용자 인터페이스의 코딩을 용이하게 한다.
- 두 편의 기사로 구성된 "동적인 언어를 동적으로 호출하기"에서는 Java 코드가 동적 스크립트 코드를 실행하고 그 반대도 실행할 수 있도록 하는 Java SE 6 API에 대해 소개한다. (Java 플랫폼에서 스크립트 언어 사용에 대한 자세한 정보는 아래의 Java 기술과 동적 언어 및 함수형 프로그래밍의 관계를 참조한다.)
- Taming Tiger 컬럼에서는 Java SE 5에 대한 탁월한 개요를 제공한다.
다수의 기존 Java 애플리케이션은 Java SE 5를 기반으로 하며 이 시리즈에서 대부분의 개념은 Java SE 6 프로그래밍과 관련되어 있다.
-
Java EE(Java Platform, Enterprise Edition). 엔터프라이즈 버전을 사용하면 이동 가능하고 확장 가능하고 안전하고 강력한 서버측 Java 애플리케이션을 개발하고 전개할 수 있다.
Java SE를 기반으로 하여 Java EE는 엔터프라이즈 클래스 SOA 및 Web 2.0 애플리케이션 구현에 필요한 웹 서비스, 컴포넌트 모델, 관리 및 통신 API를 제공한다.
- "Get to know Java EE 5" 및
"Java EE 5: Power and productivity with less complexity"에서는 Java EE 플랫폼의 최신 버전을 소개한다.
- The Spring series에서 강력한 경량 Java EE 애플리케이션을 빌드하는 데 필요한 유명한 프레임워크에 대해 살펴본다.
-
J2EE pathfinder 컬럼에서는 Java EE에 대한 정보를 제공한다.
- Getting on the open road: Migrate to the Java platform 기사 시리즈는 .NET, Windows 클라이언트/서버 및 ASP 애플리케이션의 개발자가 Java EE 플랫폼으로 이동하는 것을 돕기 위해 작성되었다.
- "Get to know Java EE 5" 및
"Java EE 5: Power and productivity with less complexity"에서는 Java EE 플랫폼의 최신 버전을 소개한다.
-
Java ME(Java Platform, Micro Edition). Java ME는 휴대폰 PDA, TV 셋톱 박스 및 프린터와 같은 광범위한 모바일 및 임베디드 장치에서 실행되는 애플리케이션을 위한 환경을 제공한다.
Java ME 플랫폼에는 유연한 사용자 인터페이스, 강력한 보안 모델, 광범위한 내장 네트워크 프로토콜 및 동적으로 다운로드할 수 있는 네트워크 및 오프라인 애플리케이션에 대한 광범위한 지원이 포함되어 있다.
Java ME 스펙을 기반으로 하는 애플리케이션은 광범위한 장치를 위해 한 번 작성되지만 각 장치의 고유 기능을 이용한다.
- J2ME와 MIDP(Mobile Information Device Profile)에 초점을 둔 포괄적인 네 편의 기사로 구성된 시리즈(튜토리얼 두 편과 동반 기사 두 편)에서 자세한 내용을 살펴본다.
- 두 편의 기사로 구성된 튜토리얼인 "Build smart J2ME mobile applications"도 유용한 참고자료이다.
- J2ME와 MIDP(Mobile Information Device Profile)에 초점을 둔 포괄적인 네 편의 기사로 구성된 시리즈(튜토리얼 두 편과 동반 기사 두 편)에서 자세한 내용을 살펴본다.
Java 컴포넌트 기술이란?
developerWorks Java 기술 영역에서는 표준 Java 컴포넌트 기술의 전체 용어집을 관리한다. 간략한 설명과 Java 개발 환경에서의 위치를 보여 주는 자원에 대한 링크가 포함된 각 플랫폼 에디션에 대한 컴포넌트, 선택적 패키지 및 확장의 부분 목록(전체를 구성하는 복잡한 부분)은 다음과 같다. 다음 자료 중 다수는 세 에디션에서 사용할 수 있다는 것에 유의한다.
Java SE의 기술:
- JFC(Java Foundation Classes)(Swing)는 Java 기반 클라이언트 애플리케이션의 GUI 및 그래픽 기능 빌드를 지원하는 Java 클래스 라이브러리 세트이다.
(튜토리얼 "Introduction to Swing"을 참조한다. "Dynamic interface design with Swing" 및 "Enhance the accessibility of your GUIs"도 Swing을 시작하는 데 도움이 된다.)
-
JavaHelp는 개발자와 작성자가 온라인 도움말을 애플릿, 컴포넌트, 애플리케이션, 운영 체제 및 장치에 통합하여 웹 기반 온라인 문서를 전달할 수 있도록 하는 플랫폼 독립적이고 확장 가능한 도움말 시스템이다.
("Lend a helping hand to your Java applications"를 참조한다.)
-
JNI(Java Native Interface)를 사용하면 JVM에서 실행되는 Java 코드를 다른 프로그래밍 언어로 작성된 애플리케이션 및 라이브러리와 통합할 수 있다.
("Handling events from native objects in Java code"를 참조한다.)
-
JPDA(Java Platform Debugger Architecture)는 Java SE를 위한 디버깅 지원 인프라이다. ("The future of software development"를 참조한다.)
-
Java 2D API는 이미지 작성 및 알파 채널 이미지에 대한 확장 지원을 제공하는 고급 2D 그래픽 및 이미징을 위한 클래스 세트이자 정확한 색상 공간 정의 및 변환을 제공하는 클래스 세트이며 디스플레이 중심 이미징 연산자 세트이다.
(튜토리얼 "Introduction to Java 2D"를 참조한다.)
-
Java Web Start를 사용하면 사용자가 설치 프로시저를 수행하지 않고 한 번의 클릭으로 모든 기능을 갖춘 애플리케이션(예: 스프레드시트)을 다운로드하여 실행할 수 있도록 하여 Java 애플리케이션의 전개를 단순화하는 데 도움을 준다.
("Java Web Start"를 참조한다.)
-
인증 경로 API는 주제에 대한 공용 키 맵핑을 안전하게 설정하기 위해 인증 경로("인증 체인"으로도 알려져 있음)를 작성, 빌드 및 검증하는 데 필요한 API 세트를 제공한다.
("Generate certificate chains for testing Java applications"를 참조한다.)
-
JDBC(Java Database Connectivity)는 Java 코드의 표 형식 데이터 소스 대부분에 액세스할 수 있도록 하여 광범위한 SQL 데이터베이스에 대한 DBMS 간 연결과 기타 표 형식 데이터 소스(예: 스프레드시트 또는 플랫 파일)에 대한 액세스를 제공하는 API이다.
("What's new in JDBC 3.0" 및 튜토리얼 "Understanding JDBC"를 참조한다.)
-
JAI(Java Advanced Imaging)는 개발자가 이미지를 쉽게 조작할 수 있도록 하는 단순한 상위 레벨 프로그래밍 모델을 지원하는 오브젝트 지향 인터페이스 세트를 제공하는 API이다.
("JSP 코드로 이미지 관리하기"를 참조한다.)
-
JAAS(Java Authentication and Authorization Service)는 표준 PAM(Pluggable Authentication Module) 프레임워크의 Java 버전을 구현하고 사용자 기반 권한 부여를 지원하여 서비스가 사용자에 대한 액세스 제어를 인증하고 적용할 수 있도록 하는 패키지이다.
("Java security with JAAS and JSSE" 및 "Java authorization internals"를 참조한다. 튜토리얼 "Java security, Part 2: Authentication and authorization"도 읽어본다.)
-
JCE(Java Cryptography Extension)는 암호화, 키 생성 및 계약, MAC(Message Authentication Code) 알고리즘을 위한 구현과 프레임워크를 제공하는 패키지 세트이다.
JCE는 대칭, 비대칭, 블록 및 스트림 암호에 대한 암호화 지원을 제공하고 보안 설정된 스트림과 봉인된 오브젝트를 지원한다.
(튜토리얼 "Java security: Crypto basics"를 참조한다.)
-
JDO(Java Data Object)는 프로그래머가 Java 도메인 모델 인스턴스를 지속적 저장소(데이터베이스)에 직접 저장하여 잠재적으로 해당 메소드를 직접 파일 I/O, 직렬화, JDBC 및 EJB BMP(Bean Managed Persistence) 또는 CMP(Container Managed Persistence) 엔티티 Bean으로 대체할 수 있도록 하는 지속성의 표준 인터페이스 기반 Java 모델 추상화이다.
(튜토리얼 "Hands-on Java Data Objects"를 참조한다.)
-
JMX(Java Management Extensions)는 장치, 애플리케이션 및 서비스 구동 네트워크의 관리 및 모니터링에 필요한 웹 기반 모듈 방식 동적 분산 애플리케이션을 빌드하기 위한 도구를 제공한다.
("Using Java platform management beans"를 참조한다.)
-
JMF(Java Media Framework)를 사용하면 Java 애플리케이션 및 애플릿에 오디오, 비디오 및 기타 시간 기반 매체를 추가할 수 있다.
(튜토리얼 "Java Media Framework basics"를 참조한다.)
-
JNDI(Java Naming and Directory Interface)는 Java 애플리케이션에 엔터프라이즈의 여러 이름 지정 및 디렉토리 서비스에 대한 통합 인터페이스를 제공하여 이기종 엔터프라이즈 이름 지정 및 디렉토리 서비스에 원활하게 연결할 수 있도록 한다.
("Industrial-strength JNDI optimization"을 참조하고 "Navigate the JNDI maze"도 읽어본다.)
-
JSSE(Java Secure Socket Extension)는 보안 인터넷 통신을 활성화하여 SSL(Secure Sockets Layer) 및 TLS(Transport Layer Security) 프로토콜의 Java 버전을 구현하고 데이터 암호화, 서버 인증, 메시지 무결성 및 선택적 클라이언트 인증을 위한 기능을 포함하는 패키지 세트이다.
("Java security with JAAS and JSSE"를 참조하고 튜토리얼 "Using JSSE for secure socket communication"도 읽어본다.)
-
JSAPI(Java Speech API)는 JSGF(Java Speech Grammar Format) 및 JSML(Java Speech Markup Language) 스펙을 포함하며 Java 애플리케이션이 음성 기술을 사용자 인터페이스에 통합할 수 있도록 한다.
JSAPI는 크로스 플랫폼 API를 정의하여 명령을 지원하고 인식기, 받아쓰기 시스템 및 음성 합성 장치를 제어한다.
("The Java 2 user interface"의 이 섹션을 참조한다.)
-
Java 3D는 개발자가 단순한 상위 레벨 프로그래밍 모델을 지원하는 오브젝트 지향 인터페이스 세트를 제공하여 확장 가능한 플랫폼 독립적인 3D 그래픽을 Java 애플리케이션에 쉽게 통합하는 데 사용할 수 있는 API이다.
(튜토리얼 "Java 3D joy ride"를 참조한다.)
-
메타데이터 기능을 사용하면 개발 도구, 전개 도구 또는 런타임 라이브러리에서 특별한 방법으로 처리할 수 있도록 클래스, 인터페이스, 필드 및 메소드가 특정 속성을 가지고 있다고 표시할 수 있다.
("Annotations in Tiger, Part 1: 메타데이터를 Java 코드에 추가하기"를 참조한다.)
-
Java Content Repository API는 구현과는 독립적으로 Java SE의 컨텐츠 저장소에 액세스하는 데 필요한 API이다.
컨텐츠 저장소는 기존 데이터 저장소의 수퍼세트인 상위 레벨 정보 관리 시스템이다. ("Introducing the Java Content Repository API"를 참조한다.)
-
열거는 유형 안정성을 유지한 상태로 데이터의 특정 부분을 상수로 표시할 수 있는 유형이다.
("Getting started with enumerated types"를 참조한다.)
-
일반사항을 사용하면 인스턴스화 수행 시 지정하는 추상 유형 매개변수로 클래스를 정의할 수 있다.
("Introduction to generic types in JDK 5.0"을 참조한다. "Spice up collections with generics and concurrency"를 읽고 Java SE 6에서 일반사항을 사용하면 콜렉션에 대한 작업이 얼마나 간편해지는지 알아본다.)
-
동시성 유틸리티는 동시 프로그램에 일반적으로 필요한 기능을 제공하는 중간 레벨 유틸리티 세트이다.
(튜토리얼 "Concurrency in JDK 5.0"을 참조한다.)
-
JAXP(Java API for XML Processing)를 사용하면 Java 애플리케이션이 특정 XML 처리 구현과 독립적으로 XML 문서를 구문 분석하고 변환할 수 있고 애플리케이션 코드를 변경하지 않고 XML 프로세서 간 스왑을 수행할 수 있다.
JAXB(Java API for XML Binding)를 사용하면 XML 문서와 Java 오브젝트 간 맵핑을 자동화할 수 있다.
(세 편의 기사로 구성된 튜토리얼 "XML programming in Java technology"를 참조한다. "JAXP의 모든 것, Part 1" 및 "All about JAXP, Part 2"에서 JAXP에 대해 자세히 알아본다. Practical data binding 기사 시리즈에서 자세한 내용을 살펴본다. developerWorks XML 영역도 확인한다.)
-
SAAJ(SOAP with Attachments API for Java)를 사용하면 개발자가 SOAP 1.1 스펙 및 SOAP with Attachments 참고사항을 준수하는 메시지를 생성하고 이용할 수 있다.
("Send and receive SOAP messages with SAAJ"를 읽어본다.)
J2EE의 기술:
-
EJB(Enterprise JavaBean) 기술에서는 컴포넌트 모델을 사용하여 트랜잭션, 보안 및 데이터베이스 연결과 같은 서비스에 대한 자동 지원을 통해 미들웨어 애플리케이션의 개발을 단순화한다.
(이 기술을 소개하는 튜토리얼 "Getting started with Enterprise JavaBeans technology"를 참조한다. EJB best practices 시리즈도 참조한다. "Design enterprise applications with the EJB 3.0 Java Persistence API"도 살펴본다.)
-
포틀릿 스펙은 집계, 개인화, 프리젠테이션 및 보안 영역에 대해 언급하는 Java 포털 컴퓨팅을 위한 API 세트를 정의한다.
("What's new in the Java Portlet Specification V2.0 (JSR 286)?"를 참조한다.)
-
JavaMail은 메일 시스템을 모델링하는 추상 클래스 세트를 제공하는 API이다.
(튜토리얼 "Fundamentals of JavaMail API"를 참조한다.)
-
JMS(Java Message Service)는 모든 JMS 기술 준수 메시징 시스템에 대한 공통 메시징 개념 및 프로그래밍 전략 세트를 정의하여 Java 플랫폼을 위한 이동형 메시지 기반 애플리케이션을 개발할 수 있는 API이다.
(튜토리얼 "Introducing the Java Message Service"를 참조한다.)
-
JSF(JavaServer Faces)는 페이지에서 재사용 가능한 UI 컴포넌트를 어셈블하고 이러한 컴포넌트를 애플리케이션 데이터 소스에 연결한 후 클라이언트가 생성한 이벤트를 서버측 이벤트 핸들러에 연결하여 웹 애플리케이션을 만드는 데 도움을 주는 프로그래밍 모델을 제공한다.
(두 편의 기사로 구성된 튜토리얼 "Getting Started with JavaServer Faces"를 참조하고 JSF for nonbelievers 컬럼 시리즈를 살펴본다.)
-
JSP(JavaServer Pages)를 사용하면 설계자가 동적 컨텐츠를 변경하지 않고 페이지 레이아웃을 변경할 수 있도록 개발자는 별도의 사용자 인터페이스 및 컨텐츠 생성을 통해 플랫폼 독립적인 동적 웹 페이지를 신속하게 개발하고 편리하게 관리할 수 있다.
이 기술은 페이지의 컨텐츠를 생성하는 로직을 캡슐화하는 XML 유사 태그를 사용한다. (튜토리얼 "Introduction to JavaServer Pages technology"를 참조한다. JSP best practices 시리즈도 살펴본다.)
-
JSTL(Standard Tag Library for JavaServer Pages)은 표준화된 형식으로 다수의 공통 웹 사이트 함수를 사용할 수 있도록 하는 사용자 정의 태그의 콜렉션이다.
("Update your JSP pages with JSTL"을 참조하고 네 편의 기사로 구성된 "JSTL 기초, Part 1: Expression Language (한글)" 시리즈를 읽어본다.)
-
Java 서블릿은 CGI 프로그램의 성능 제한 없이 웹 기반 애플리케이션을 빌드하는 데 필요한 플랫폼 독립적인 컴포넌트 기반 메소드를 제공하여 웹 서버의 범위를 확장한다.
(튜토리얼 "Introduction to Java Servlet technology"에서 시작해 보자.)
-
JCA(J2EE Connector Architecture)는 확장 가능하고 안전한 트랜잭션 메커니즘 세트를 정의하여 J2EE 플랫폼을 이기종 EIS(Enterprise Information System)에 연결하는 데 필요한 표준 아키텍처를 정의하여 EIS 벤더가 애플리케이션 서버에 연결하는 표준 자원 어댑터를 제공할 수 있게 한다.
("Understanding JCA transactions", "Choosing among JCA, JMS, and Web services for EAI", "Integrate remote enterprise information systems with JCA, JMS, and Web services" 및 튜토리얼 "Introduction to the J2EE Connector Architecture"를 참조한다.)
-
JMX(J2EE Management Specification)는 J2EE 플랫폼의 관리 정보 모델을 정의한다. J2EE 관리 모델은 다수의 관리 시스템 및 프로토콜과 상호 운영 가능하도록 설계되어 있고 서버 상주 EJB 컴포넌트(J2EE MEJB(Management EJB) 컴포넌트)를 통한 Java 오브젝트 모델, SNMP MIB(Management Information Base) 및 CIM(Common Information Model)에 대한 모델의 표준 맵핑을 포함하고 있다.
("From black boxes to enterprises: Management, JMX 1.1 style"을 참조한다.)
- JTA(Java Transaction API)는 애플리케이션 및 애플리케이션 서버가 트랜잭션에 액세스할 수 있도록 하는 구현 및 프로토콜과는 독립적인 상위 레벨 API이다. JTS(Java Transaction Service)는 API 아래의 레벨에서 OMG OTS(Object Transaction Service) 1.1 스펙의 Java 맵핑을 구현하고 JTA를 지원하는 트랜잭션 관리자의 구현을 지정한다. JTS는 IIOP(Internet Inter-ORB Protocol)를 사용하여 트랜잭션을 전파한다. ("JTS 이해하기 - 트랜잭션에 대한 소개"를 참조한다.)
J2ME의 기술:
-
MIDP(Mobile Information Device Profile)는 자원이 제한된 모바일 정보 장치를 위해 Java 런터임 환경을 구성하는 두 가지 구성 중 하나이다.
MIDP는 사용자 인터페이스, 네트워크 연결, 로컬 데이터 스토리지 및 애플리케이션 라이프사이클 관리를 포함한 핵심 애플리케이션 기능을 제공한다.
(튜토리얼 "Implementing Push technology with J2ME and MIDP"를 참조하고 "Better MIDlets by design", "Custom GUI development with MIDP 2.0" 및 튜토리얼 "MIDlet development with the Wireless Toolkit"을 살펴본다.)
-
CDC(Connected Device Configuration)는 네트워크가 연결된 이용자 및 임베디드 장치의 범위에서 공유될 수 있는 애플리케이션을 빌드하고 전달하는 데 필요한 표준 기반 프레임워크이다.
("Securing wireless J2ME"를 참조한다.)
-
M3G(Mobile 3D Graphics API for J2ME)는 J2ME 및 MIDP와 나란히 선택적 패키지로 제공되는 대화식 경량 3D 그래픽 API이다.
(두 편의 기사로 구성된 "3D graphics for Java mobile devices"를 참조한다.)
Java 기술과 웹 애플리케이션 개발의 관계
Java 언어는 오랫동안 웹 개발의 중심이었으며 최근 몇 년 동안은 Java 웹 개발에 효율을 더하고 풍부한 대화식 Web 2.0 애플리케이션의 작성을 촉진하는 프레임워크와 도구가 폭발적으로 증가했다.
Java 언어로 수행하는 웹 개발에 대해 자세히 살펴본다.
- Mastering Grails 컬럼 시리즈에서는 Groovy로 작성된 최신 웹 개발 프레임워크인 Grails에 대해 안내한다.
Grails는 스크립트 언어의 유연성과 역동성을 추가하면서 효율적으로 레거시 Java 코드를 통합한다. (Groovy에 대한 자세한 정보는 아래의 Java 기술과 동적 언어 및 함수형 프로그래밍의 관계를 참조한다.)
- 클라이언트측 스크립트를 사용하여 웹 서버와 데이터를 교환하는 프로그래밍 방법인 Ajax를 사용하면 페이지를 여러 번 다시 로드하지 않고 페이지를 신속하게 업데이트할 수 있다.
여러 편의 기사로 구성된 "Ajax and Java development made simpler"와 Ajax for Java developers 시리즈에서 Ajax가 Java 개발자에게 어떻게 적용되는지 살펴본다.
또한 developerWorks Ajax resource center에서 Ajax에 대해 자세히 알아본다.
- JSF(JavaServer Faces)는 페이지에서 재사용 가능한 UI 컴포넌트를 어셈블하고 이러한 컴포넌트를 애플리케이션 데이터 소스에 연결한 후 클라이언트가 생성한 이벤트를 서버측 이벤트 핸들러에 연결하여 웹 애플리케이션을 만드는 데 도움을 주는 프로그래밍 모델을 제공한다.
(두 편의 기사로 구성된 튜토리얼 "Getting Started with JavaServer Faces"를 참조하고 JSF for nonbelievers 컬럼 시리즈를 살펴본다.)
- Eclipse WTP(Web Tools Platform)는 Java EE 웹 애플리케이션을 개발하는 데 필요한 도구를 사용하여 유명한 Eclipse IDE를 확장한다.
(튜토리얼 "An introduction to the Eclipse Web Tools Platform V1.0"을 참조한다.)
- developerWorks 웹 개발 영역에서 더 우수한 다수의 웹 애플리케이션 개발 자원을 확인할 수 있다.
Java 기술과 SOA/웹 서비스의 관계
SOA(Service-Oriented Architecture)는 서비스 사이의 잘 정의된 인터페이스 및 계약을 통해 애플리케이션의 기능 단위(서비스로 알려져 있음(즉, 웹 서비스))를 관련시키는 컴포넌트 모델이다. 인터페이스는 서비스가 구현되는 하드웨어, 운영 체제 및 프로그래밍 언어와는 독립된 중립적인 방식으로 정의되어 있어 다른 시스템에서 구성된 서비스가 통일된 보편적인 방식으로 서로 상호작용할 수 있다. SOA는 전통적으로 강하게 결합된 오브젝트 지향 모델에 비해 느슨하게 결합된 대체 모델이다.
결과 웹 서비스를 사용하면 비즈니스 규칙 및 프로세스를 XML로 정의할 수 있기 때문에 소프트웨어 애플리케이션이 플랫폼과 프로그래밍 언어에 구애 받지 않고 통신할 수 있다. XML 기술은 데이터에 이식성을 부여하고 메시지 작성을 촉진하는 반면 Java 기술은 코드에 이식성을 부여한다. XML과 Java 언어는 함께 사용하기에 적합하기 때문에 웹 서비스를 빌드하고 전개하기 위한 조합으로 이상적이다.
이에 대해 자세히 살펴보자.
- developerWorks의 SOA와 웹서비스 입문 (한글) 및 XML 입문 (한글) 페이지는 이러한 복잡한 기술에 익숙해지는 데 도움이 된다.
- "Java Web services" 시리즈에서는 Java 웹 서비스 프레임워크와 웹 서비스 위에 빌드된 기능의 새 계층에 대해 살펴본다.
- "Build a RESTful Web service"에서는 REST(Representational State Transfer)라는 멋진 웹 서비스 아키텍처 스타일을 소개하고 RESTful 웹 서비스를 빌드하기 위해 Java 프레임워크를 사용하는 방법을 보여 준다.
- JAX-RPC(Java APIs for XML-Based RPC)는 Java 언어로 효율적이고 효과적인 웹 서비스를 작성하기 위해 필요한 중요한 단계이다.
튜토리얼 "Build an RPC service and client using JAX-RPC"는 JAX-RPC를 시작하기에 적합한 기사이다.
- JAX-WS는 JAX-RPC의 명백한 후계자이다. 튜토리얼 "JAX-WS 2.0 웹 서비스 설계와 개발 (한글)"에서는 이 새로운 API에 대한 실습을 통한 소개를 제공한다.
- "SCA application development" 기사 시리즈는 SOA를 사용하여 애플리케이션 및 시스템을 빌드하는 데 필요한 모델에 대해 설명하는 스펙인 SCA(Service Component Architecture)에 대해 안내한다.
- "Introduction to Service Data Objects"에서는 SOA 기반 애플리케이션을 위해 Java EE 데이터 프로그래밍 모델을 단순화하는 SDO(Service Data Objects) 프레임워크를 소개한다.
Java 기술과 동적 언어 및 함수형 프로그래밍의 관계
야망을 가진 다수의 Java 개발자들은 다른 언어에 대한 풍부한 경험도 가지고 있다. 숙련된 Java 개발자들도 Java 프로그래밍 언어가 개발상의 모든 요구를 위해 이상적인 언어는 아니라는 것에 감사하고 있다. 다행히도 여러 언어에 대한 JVM의 지원을 통해 Java 플랫폼은 특정 유형의 애플리케이션을 프로토타입화하거나 빌드하기 위해 최신 동적 스크립트 언어 및 함수형 언어의 기능과 민첩성을 활용할 수 있다.
이에 대해 자세히 살펴보자.
크로스오버
다른 프레임워크는 Java 프레임워크 빌드 방식을 형성하며 다른 언어에서 사용하는 개념이 Java 프로그래밍에 정보를 제공할 수 있다. Crossing borders 컬럼 시리즈에서는 Java 개발과는 다르지만 여전히 상당한 관련이 있는 프로그래밍 개념 및 기술에 대해 설명한다.
- Groovy 스크립트 언어는 컴파일이 필요하지 않은 애자일 개발 프레임워크에 Java 개발자에게 가장 익숙한 기능과 라이브러리를 두고 구문을 쉽게 만들며 일반적인 Java 애플리케이션에서 스크립트를 사용할 수 있게 한다.
Practically Groovy 컬럼 시리즈에서 Groovy가 수행할 수 있는 작업에 대해 포괄적으로 살펴본다.
- Java SE 6의 새로운 기능이며 이전 버전인 Java SE 5와 호환 가능한 Java 스크립트 API에서는 작은 인터페이스 및 구체적 클래스 세트를 사용하여 10여개의 스크립트 언어를 호출할 수 있는 단순한 방법을 제공한다.
또한 Java 스크립트 API를 사용하면 런타임 시 외부 스크립트를 읽고 호출할 수 있어 실행 중인 애플리케이션의 동작을 변경할 수 있다.
두 편의 기사로 구성된 "Invoke dynamic languages dynamically"에서 이에 대해 자세히 살펴본다.
- 함수형 프로그래밍을 애용하는가? The busy Java developer's guide to Scala 컬럼 시리즈에서는 JVM을 위해 함수형 기술과 오브젝트 지향 기술을 결합하는 프로그래밍 언어인 Scala를 소개한다.
- 대체 언어에 대한 지원은 꽤 오랫동안 JVM 기능으로 제공되어 왔다. alt.lang.jre 컬럼 시리즈를 통해 Java 플랫폼에서 Rexx, Ruby, JavaScript, Python 및 기타 언어의 구현을 사용하는 것에 대해 살펴보자.
Java 기술과 오픈 소스 소프트웨어 개발의 관계
Myriad 오픈 소스 프로젝트는 라이브러리, 도구, 프레임워크, 애플리케이션 및 애플리케이션 서버를 사용하여 Java 기술을 확장하여 프로그래머가 이 강력한 기술을 활용할 수 있도록 돕는다. 다양한 오픈 소스 기술이 Java 플랫폼 자체에 통합되었고 기타 기술은 Java 개발자의 지속적인 관심 항목이며 일부 경우에는 실질적인 표준이다.
Java 프로그래밍을 위한 중요 오픈 소스 기술 중 일부에 대해 자세히 살펴본다.
- Apache Software Foundation은 주로 Java 언어를 기반으로 하는 오픈 소스 프로젝트를 위한 상위 조직이다. 일부 예제는 다음과 같다.
-
Apache Struts는 MVC(Model-View-Controller) 설계 패턴을 기반으로 Java 웹 애플리케이션을 작성하는 데 필요한 프레임워크이다.
("Struts 개발"을 참조한다.)
-
Apache Shale은 JavaServer Pages 기술을 기반으로 한 Apache Struts의 후속인 최신 웹 애플리케이션 개발 프레임워크이다.
(All hail Shale 기사 시리즈에서는 Shale을 소개한다.)
-
Apache Ant는 Java 개발을 위한 사실상의 표준 빌드 도구이다.
(튜토리얼 "Apache Ant 101: Make Java builds a snap" 및 "Invoking Apache Ant programmatically"를 참조한다.)
-
Apache Maven 빌드 도구는 프로젝트 팀 간 동적 협업이 필요하고 글로벌하게 작성되어 유지보수되는 컴포넌트에 의존하는 최신 소프트웨어 프로젝트의 과제를 충족하도록 설계되어 있다.
(튜토리얼 "아파치 메이븐 2 시작하기 (한글)"를 참조한다.)
-
Apache Tomcat은 서블릿과 JavaServer Pages 기술을 지원하는 유명한 웹 컨테이너이다.
(튜토리얼 "Tomcat for beginning Web developers"는 Tomcat을 시작하는 데 도움이 된다.)
- Apache Geronimo 프로젝트는 오픈 소스 컴포넌트를 전적으로 기반으로 하는 완전히 준수하는 Java EE 애플리케이션 서버를 빌드한다.
("Geronimo 시작하기 (한글)"에서 Geronimo를 시작하고 developerWorks Apache Geronimo project resources에서 풍부한 Geronimo 정보를 살펴본다.)
-
Apache Derby는 Java 언어로 완전히 구현되는 관계형 데이터베이스이다.
("Apache Derby로 개발하기 -- Trifecta: Apache Derby 소개 (한글)"에서 시작하고 developerWorks Apache Derby project resources에서 Derby에 대한 자세한 정보를 살펴본다.)
-
Apache Struts는 MVC(Model-View-Controller) 설계 패턴을 기반으로 Java 웹 애플리케이션을 작성하는 데 필요한 프레임워크이다.
("Struts 개발"을 참조한다.)
-
Eclipse는 벤더 중립적인 개방형 개발 플랫폼이며 소프트웨어 빌드에 필요한 애플리케이션 프레임워크 세트이다.
Eclipse 플랫폼은 Java 언어로 작성되었으며 소프트웨어 도구의 작성, 통합 및 사용을 용이하게 하는 플러그인 기반 프레임워크를 제공한다.
(IBM은 Eclipse의 창립 멤버로서 Eclipse.org Board of Stewards와 작업 소위원회에 활발하게 참여하고 있다.)
Java 개발을 위한 플랫폼의 컴포넌트 기술 중 일부에 대해 자세히 살펴본다.
-
AspectJ는 로깅 및 예외 처리와 같은 공통 관심사를 모듈화하는 데 사용할 수 있는 Java 언어에 대한 관점 지향 확장이다.
(튜토리얼 "An introduction to AOP"를 참조하고 AOP at work 시리즈의 몇몇 기사에서 자세한 내용을 살펴본다.)
- SWT(Standard Widget Toolkit))는 기본 운영 체제의 UI 기능에 대한 효율적인 이동형 액세스를 제공하도록 설계된 사용자 인터페이스 툴킷이다.
("A gentle introduction to SWT and JFace: How to create a simple SWT application"을 참조한다.)
- Mylyn은 Eclipse 사용자를 위한 정교한 태스크 추적 프로그램이다.
("Mylyn 2.0, Part 1: 통합된 태스크 관리 (한글)" 및 "Mylyn 2.0, Part 2: 자동화된 콘텍스트 관리 (한글)"에서 포괄적인 Mylyn에 대한 안내를 받는다.)
- TPTP(Eclipse Test and Performance Tools Platform)는 테스트 및 성능 개선 도구를 위한 프레임워크와 서비스를 제공한다.
(튜토리얼 "소개: Eclipse 테스트와 성능 개선 도구 플랫폼 (한글)"를 참조한다.)
- Eclipse WTP(Web Tools Platform)는 Java EE 웹 애플리케이션을 개발하는 데 필요한 도구를 사용하여 Eclipse 플랫폼을 확장한다.
(튜토리얼 "An introduction to the Eclipse Web Tools Platform V1.0"을 참조한다.)
-
AspectJ는 로깅 및 예외 처리와 같은 공통 관심사를 모듈화하는 데 사용할 수 있는 Java 언어에 대한 관점 지향 확장이다.
(튜토리얼 "An introduction to AOP"를 참조하고 AOP at work 시리즈의 몇몇 기사에서 자세한 내용을 살펴본다.)
- 유명한 Spring 프레임워크는 Java EE 애플리케이션 개발을 위한 계층화된 프레임워크이다.
- The Spring series와 튜토리얼 "스프링 2와 JPA 시작하기 (한글)"에서 자세한 정보를 살펴본다.
- 이전에는 Acegi Security System for Spring으로 알려져 있던 Spring Security는 Spring Framework를 사용하여 개발된 엔터프라이즈 애플리케이션을 위한 강력하고 유연한 보안 솔루션이다.
네 편의 기사로 구성된 "Securing Java applications with Acegi"에서 자세한 내용을 살펴본다.
- The Spring series와 튜토리얼 "스프링 2와 JPA 시작하기 (한글)"에서 자세한 정보를 살펴본다.
- Java 플랫폼을 오픈 소스화하면서 Sun Microsystems는 java.net 아래에 세 개의 새로운 커뮤니티 프로젝트를 만들었다.
Java 프로그래밍 스킬을 향상시키는 방법
인증서를 받기 위해서든 학습을 위해서는 교육과정을 이수하거나 코드를 작성하면서 스스로 배우는 방법으로 스킬을 향상시킬 수 있다. 숙련된 개발자의 지식을 이용하는 것 외에도 학습 과정 또는 인증서 과정을 통해 필요한 기술을 빌드하기 위해 필요한 스킬을 가지고 있다는 유형의 증거를 장래의 직원에게 제공할 수 있다. 또한 자체적으로 시험하거나 사용 가능한 자원을 사용하여 Java 기술의 다양한 영역에서 스킬을 연마한다. 어느 경우든 다음 참고자료가 도움이 된다.
-
튜토리얼과 기사
- developerWorks는 코드를 스스로 작성하기 위한 학습 과정에서 두 번째로 권장되는 Java 기반 실습 튜토리얼을 제공한다.
Java 언어에 대한 포괄적인 소개를 위해 Roy Miller의 "Introduction to Java programming" 및 "Intermediate Java programming" 튜토리얼에서 시작한다.
- Magic with Merlin 및 Taming Tiger 시리즈는 Java 프로그래밍 기술을 연마하는 데 매우 적합한 참조이다.
- 설계 이론을 실제로 적용하는 것이 Java theory and practice 시리즈의 초점이다.
- Java 프로그래머는 통합된 버그 감지 및 테스트를 사용하여 애플리케이션을 설계한다. developerWorks는 버그 패턴으로 알려진 도구에 초점을 둔 Diagnosing Java code라는 Java 디버깅에 대한 컬럼 콜렉션을 제공한다.
이 주제에 대한 다른 유용한 기사로는 Brian Goetz가 작성한 Testing with leverage 기사와 "Kill bugs dead" 기사가 있다.
- developerWorks는 코드를 스스로 작성하기 위한 학습 과정에서 두 번째로 권장되는 Java 기반 실습 튜토리얼을 제공한다.
Java 언어에 대한 포괄적인 소개를 위해 Roy Miller의 "Introduction to Java programming" 및 "Intermediate Java programming" 튜토리얼에서 시작한다.
-
게임
-
Robocode는 Java 기술을 기반으로 빌드된 사용하기 쉬운 로봇 전투 시뮬레이터로서 즐기면서 프로그래밍을 수행하는 방법을 가르쳐 준다.
Robocode에 대한 소개를 확인하려면 "Robocode"와 "Robocode 마스터의 비밀: 로보코드 마스터들이 주는 힌트, 팁, 조언 (한글)"를 참조한다.
-
CodeRuler, CodeRally 및 CodeInvaders Challenge는 Eclipse 플랫폼을 기반으로 한 Java 기반 실시간 프로그래밍 게임이다.
"CodeRuler"에서 CodeRuler에 대한 소개를 읽어본다.
-
Robocode는 Java 기술을 기반으로 빌드된 사용하기 쉬운 로봇 전투 시뮬레이터로서 즐기면서 프로그래밍을 수행하는 방법을 가르쳐 준다.
Robocode에 대한 소개를 확인하려면 "Robocode"와 "Robocode 마스터의 비밀: 로보코드 마스터들이 주는 힌트, 팁, 조언 (한글)"를 참조한다.
-
IBM 기술 교육
- IBM 글로벌 서비스에서 제공하는 광범위한 온라인, 강의실 과정 및 멀티미디어 기반 Java 교육과정 중에서 선택한다.
- IBM 글로벌 서비스에서 제공하는 광범위한 온라인, 강의실 과정 및 멀티미디어 기반 Java 교육과정 중에서 선택한다.
- 인증 교육
-
포럼
- Java 언어의 사용 방법에 대한 보다 향상된 양방향 학습 방법을 확인하려면 Java 관련 기술 작성 분야에서 수 년의 실제 경험을 쌓은 저명한 전문가가 주관하는 Java 토론 포럼에 참여한다.
- Java 언어의 사용 방법에 대한 보다 향상된 양방향 학습 방법을 확인하려면 Java 관련 기술 작성 분야에서 수 년의 실제 경험을 쌓은 저명한 전문가가 주관하는 Java 토론 포럼에 참여한다.
Java 프로그래머가 사용할 수 있는 IBM 도구 및 제품
IBM은 Java 기술의 사용 면에 있어서는 앞서가는 혁신적인 기업 중 하나이다. 아래 섹션에서는 IBM이 Java 개발자에게 제공하는 도구와 제품에 대해 집중적으로 다룬다.
- 무료 다운로드:
- Java 애플리케이션 제품군(DB2 Express-C, WebSphere Application Server Community Edition 및 Eclipse IDE) 시작하기에서는 지금 단순한 Java 웹 애플리케이션 및 웹 서비스를 작동하여 실행하기 위해 필요한 모든 내용을 제공한다.
-
Java 개발자 킷은 Windows, Linux 및 AIX를 포함한 유명한 플랫폼에서 Java SE 애플릿 및 애플리케이션과 Java ME 애플리케이션을 작성하고 테스트하기 위해 IBM이 제공한다.
-
IBM Development Package for Eclipse는 개발자가 바로 실행할 준비가 된 개발 환경에서 Java 애플리케이션을 빌드하고 실행할 수 있도록 하는 지원되지 않는 Eclipse 기반 개발 도구이다.
-
Eclipse의 동시 릴리스 프로젝트 developerWorks에서 Callisto 및 Europa 동시 릴리스 프로젝트를 포함한 무료 Eclipse 오픈 소스 소프트웨어 번들을 다운로드한다.
-
alphaWorks의 Java 기술은 API, 통합 개발 환경 및 개발자 킷, 컴포넌트, 참조 구현 및 유틸리티를 포함한 IBM이 생성한 떠오르는 Java 관련 기술의 가상 창고이다.
몇 가지 예를 들자면 다음과 같다.
-
Analysis and Generation of Ant Build File. Eclipse, Rational 또는 WebSphere IDE를 사용하여 개발된 Java EE 및 SCA 프로젝트를 위해 테스트 가능한 Ant 빌드 파일을 분석하고 생성하는 데 도움이 되는 도구이다.
-
IBM Pattern Modeling and Analysis Tool for Java Garbage Collector. 상세한 GC 추적을 구문 분석하고 Java 힙 사용량을 분석하며 Java 힙 사용량의 패턴 모델링을 기반으로 주요 구성을 추천하는 도구이다.
-
IBM Thread and Monitor Dump Analyzer for Java. Java 스레드에서 정지, 교착 상태, 자원 경합 및 병목 현상을 식별할 수 있는 도구이다.
-
HeapAnalyzer. 가능한 Java 힙 누수를 발견하기 위한 그래픽 도구이다.
-
Abstract User Interface Markup Language Toolkit. Java Swing과 HTML 환경 모두에서 실행되는 GUI 애플리케이션을 작성할 수 있는 개발 도구 및 API이다.
-
Toolkit for MPEG-4. MPEG-4 준수 장치와 함께 사용할 MPEG-4 컨텐츠를 생성하는 데 필요한 샘플 애플리케이션이 포함된 Java 클래스 및 API 세트이다.
-
Secure Shell Library for Java. 보안 설정되지 않은 네트워크를 통한 보안 원격 로그인과 기타 보안 네트워크 서비스를 위한 IETF(Internet Engineering Task Force) Secure Shell(SSH-2) 프로토콜의 경량 구현이다.
-
Fluid Sync. 협업 및 다중 장치 애플리케이션의 개발을 촉진하는 Java 프레임워크이다.
- Java 애플리케이션 제품군(DB2 Express-C, WebSphere Application Server Community Edition 및 Eclipse IDE) 시작하기에서는 지금 단순한 Java 웹 애플리케이션 및 웹 서비스를 작동하여 실행하기 위해 필요한 모든 내용을 제공한다.
-
IBM Rational 도구는 Eclipse 3.0 플랫폼에 빌드되며 고품질 애플리케이션의 개발, 테스트 및 전개를 쉽게 하는 데 도움이 될 수 있다.
Java 개발자를 위한 Rational 도구는 다음과 같다.
-
Rational Method Composer(구성 가능한 소프트웨어 개발 프로세스 플랫폼)
- ClearCase 및 ClearQuest와 같은 소프트웨어 구성 관리 도구
- Rational Robot, TestManager 및 Test RealTime과 같은 테스트 도구
- RequisitePro와 같은 요구사항 및 분석 도구
- Rational Software Modeler, Rational Systems Developer, PurifyPlus 및 Rose Technical Developer와 같은 비주얼 모델링 및 개발 도구
-
Rational Application Developer for WebSphere Software(IBM WebSphere 플랫폼에서 웹, SOA, Java, J2EE 및 포털 애플리케이션을 개발, 분석, 테스트, 프로파일링 및 전개하기 위한 신속한 애플리케이션 개발 도구)
-
Rational Method Composer(구성 가능한 소프트웨어 개발 프로세스 플랫폼)
-
WebSphere Application Server는 서비스 지향 아키텍처를 위해 엔터프라이즈에 필요한 안전하고 확장 가능하며 탄력적인 애플리케이션 인프라를 전달하는 전체 기능을 갖춘 Java EE 인증 애플리케이션 서버이다.
WebSphere 제품군용 Java 개발 도구에 대한 자세한 정보를 살펴본다.
- WebSphere 입문 (한글) 페이지와 나머지 developerWorks WebSphere 기술 자료에서 IBM의 이 주요 통합 소프트웨어 플랫폼에 익숙해지자.
- WebSphere Enterprise Service Bus에서는 웹 서비스 연결, JMS 메시징 및 서비스 지향 통합을 제공하여 SOA를 지원한다.
- WebSphere Process Server and WebSphere Integration Developer에서는 SOA를 기반으로 한 엔터프라이즈 서비스를 위한 풍부한 프로세스 통합 플랫폼을 전달한다.
- WebSphere sMash는 Project Zero를 기반으로 SOA 원칙을 사용하여 동적 Web 2.0 기반 애플리케이션을 빌드하고 실행하기 위한 플랫폼이다.
- WebSphere 개발 도구 영역에서 WebSphere 도구를 사용하여 엔터프라이즈 범위 Java EE 애플리케이션을 작성, 테스트 및 전개하는 것에 대한 최신 기술 및 사용법 정보를 확인한다.
-
Rational Application Developer for WebSphere Software는 IBM의 WebSphere 플랫폼에서 웹, SOA, Java, J2EE 및 포털 애플리케이션을 개발, 분석, 테스트, 프로파일링 및 전개하기 위한 신속한 애플리케이션 개발 도구이다.
- WebSphere Portal 영역에서는 WS Portal 기술을 사용하는 개발자를 위한 포틀릿, 도구, 튜토리얼 및 뉴스를 제공한다.
-
WebSphere MQ는 애플리케이션 프로그램이 통신할 수 있도록 하는 애플리케이션 프로그래밍 서비스이다.
-
WebSphere MQ Everyplace를 사용하면 메시지 전달이 보증된 상태로 이동 작업자와 원격 장치를 위한 엔터프라이즈 데이터에 액세스할 수 있다.
-
Branch Transformation Toolkit for WebSphere Studio는 애플리케이션 프레임워크이자 다중 계층 프런트 오피스 트랜잭션 애플리케이션을 위해 빌드 단계를 가속화하는 특별한 Eclipse 기반 도구 세트이다.
-
WebSphere Message Broker는 고급 Enterprise Service Bus를 전달하여 표준 및 비표준 기반 애플리케이션 및 서비스에 대한 연결성 및 범용 데이터 변환을 제공하여 SOA를 지원한다.
- WebSphere 입문 (한글) 페이지와 나머지 developerWorks WebSphere 기술 자료에서 IBM의 이 주요 통합 소프트웨어 플랫폼에 익숙해지자.
- IBM Information Management 소프트웨어는 데이터 웨어하우징, 데이터 분석, 데이터 마이닝, 매체 자산 관리, 엔터프라이즈 컨텐츠 관리 및 정보 통합을 위한 소프트웨어와 함께 강력한 RDBMS(Relational Database Management System)의 제품군이다.
IBM Information Management 소프트웨어는 개발 및 전개를 용이하게 하는 클라이언트 애플리케이션, 서버측 기능 및 도구를 포함한 Java 프로그래밍을 지원한다.
-
DB2 UDB는 개방형 표준 기반 비즈니스에 적합하다.
-
IBM Informix 소프트웨어는 트랜잭션 집중 환경을 위해 뛰어난 데이터베이스 성능을 제공한다.
-
IBM 정보 통합 소프트웨어는 데이터를 통합하고 변환함으로써 생산성, 유연성 및 성능을 개선하여 비즈니스에 올바른 정보를 제공한다.
-
DB2 UDB는 개방형 표준 기반 비즈니스에 적합하다.