Java 2 standard edition (J2SE)
The Java 2 Platform, Standard Edition (J2SE) is the framework for the development of Java programs for desktop and server systems. At the same time, it serves as the basis for the Java 2 Enterprise Edition( J2EE). It is divided into two main areas:
- Core Java Technology is the foundation of all Java technologies and, in addition to the language core, contains basic functions and APIs such as security mechanisms( JAAS and JCE), database access ( JDBC), debugging( JPDA), documentation (javadoc), internationalization, directory services( JNDI) and remote procedure calls( RMI).
- Desktop Java Technology is required for developing desktop applications with graphical user interfaces. This includes above all the Java Foundation Classes( JFC), the component modelJavaBeans and the support of the application distribution (Deployment) by Java Web start and Java Plug-in.
A special challenge for a platform-independent language is the representation of graphical user interfaces( GUI), which are very platform-specific. J2SE provides the APIs AWT and Swing for this purpose, but only experienced software developers can use them. Because both APIs follow very strictly the powerful but complicated Model-View-Controller( MVC) design pattern. Third-party libraries, such as SWT, provide a middle ground and simplify GUI development with Java.
J2SE can also be used for embedded software development and real-time applications. For the latter, Sun offers the Java Real-Time System (JRTS).
Furthermore, there are a number of optional programming interfaces( API) that can be used together with the J2SE and extend the range of applications. These include, for example, the Java Management Extensions( JMX), JMX Remote API, Java Communications API, Java Telephony API, Java MediaFramework (JMF), Java 3D API and Java Advanced Imaging API( JAI).