Sun Java Solaris Communities My SDN Account Join SDN
 
Article

Why Develop on the Solaris OS?

 
By Janice J. Heiss, January 2008  

Solaris Express Developer Edition (SXDE), a free quarterly release of Sun's next generation Solaris OS, offers developers unique features, backward compatibility, quality development tools, an easy download, and a thriving open source community.

Contents

Overview
 

The Solaris Operating System (Solaris OS) offers a powerful, stable environment with a new modernized installer that results in a clear, straightforward installation experience similar to what developers might find with the Linux OS. The Solaris OS, a free and open UNIX operating system, is available as a download for both x86 and SPARC systems. More than eleven million developers have signed on with the Solaris OS thus far, with more than two million CPUs under commercial license.

The Sun Solaris 10 OS recently won InfoWorld's 2008 Technology of the Year Award as Most Innovative Server OS. InfoWorld remarked, "No server operating system satisfies more varied requirements or boasts a wider range of brilliant features."

There is only one Solaris 10 OS with a single source code base. Thus, it delivers the same features on all platforms. Developers can develop and optimize applications on the Solaris OS for use on hundreds of systems from leading vendors such as Sun, HP, IBM, and Dell.

Solaris Express Developer Edition

Of particular importance to developers is Solaris Express Developer Edition (SXDE), a free, quarterly release of Sun's next generation Solaris OS built from the source code repository at OpenSolaris.org, the home of the OpenSolaris community and site for developer collaboration. SXDE contains many enhancements not yet available in the Solaris 10 OS. The SXDE release, created for the x86 platform, includes the latest tools, technologies, and platforms needed to create applications for the Solaris OS, Java application platforms, and Web 2.0. Developers can download it, order a DVD kit, or get SXDE configured as a VMware virtual appliance for free.

To support development on laptops, new drivers that offer wireless support are being added to each release. The 9/07 release included support for Enhanced Intel SpeedStep Technology (EIST), an important power management feature. The 1/08 release contains improvements to EIST and a driver for Intel 4965 802.11agn. To further ease the installation process for developers, Sun has bundled SXDE installation and configuration support into service subscription offerings for the Solaris 10 OS, at no additional cost.

Developers on SPARC systems can obtain similar functionality by downloading the latest Solaris Express Community Edition build (DVD) or (CD) and installing the SPARC developer tools bundle planned to be available by mid-February. Future Solaris Express Developer Edition releases will include support for both x86 and SPARC platforms. VMware for Solaris Express Developer Edition is also available.

The Solaris OS: An Operating System and a Community
 
InfoWorld Awards

The Sun Solaris 10 OS and the ZFS file system recently won InfoWorld's 2008 Technology of the Year Award.

The Sun Solaris 10 OS won among platforms as the Most Innovative Server OS.

As InfoWorld put it, "No server operating system satisfies more varied requirements or boasts a wider range of brilliant features. Start with the ZFS file system, which wins its own 2008 Technology of the Year award; add DTrace, the best OS analysis tool available; throw in Solaris Containers' native, built-in virtualization, a feature no other OS currently bundles; and top it off with the ability to run Red Hat Linux binaries. It's simply the most innovative version of a server operating system this decade."

In addition, the ZFS file system won Best File System. InfoWorld lauded ZFS's innovation: "It's not every day that the computer industry delivers the level of innovation found in Sun's ZFS. The fluidity, the malleability, and the scalability of ZFS far surpass any file system available now on any platform. More and more advances in the science of IT are based on simply multiplying the status quo. ZFS breaks all the rules here, and it arrives in an amazingly well-thought-out and nicely implemented solution."

The Solaris OS is not to be confused with the OpenSolaris Project, which consists of the OpenSolaris source code, developer community, and web site. The Solaris OS is a Sun product. While both are supported by Sun, OpenSolaris is a development project run by a community of developers. Future versions of the Solaris OS will be based on technology developed by the OpenSolaris project. Both are available as free binary downloads, and Sun offers service packages and regular updates for both.

The Solaris OS offers several advantages to developers:

  • Unique features: DTrace, Solaris Zones, improved IP stack, ZFS, and more.
  • Quality development tools supplied in the download through Sun Studio compilers and tools and the NetBeans IDE.
  • Application support currently numbering more than 5,000, including web application software (Solaris OS, Apache, MySQL, Ruby and PHP), NetBeans IDE 6, JRuby, and PHP preview plugin, support for Perl, Python, Ruby, JavaDB, PostgreSQL, plus Apache 1.x and Apache 2.x.
  • Mercurial plugin support is now available for the NetBeans IDE 6.0.
  • Open source software is supported by a thriving open source community that encourages new developers. The source code is available under the OSI-approved CDDL.
  • Sun's commitment to long-term backwards compatibility for binaries and to source code and tools. Sun Studio 12 software delivers high-performance compilers and tools, optimizing C, C++, and Fortran compilers for the Solaris OS on SPARC platforms, and both Solaris and Linux OSs on x86/x64 platforms, and maintains compatibility with compilers and linkers with older object files.
  • Multiplatform support on more than 900 x86 and SPARC platforms.
  • Administration, deployment, and support costs less than the Red Hat Linux OS.
  • Documentation.
  • Improved GNOME-based desktop.
  • Deployment highlights that include:
    • SPARC and AMD/Intel architecture support
    • Virtualization
    • Solaris scalability
    • Thread advancements and scheduling
    • Memory Placement Optimization (MPO)
Unique Features of the Solaris OS

The Solaris 10 OS, released in early 2005, included over 600 new features, with more added in subsequent update releases and through the Solaris Express program. Many are not available in any other operating system, such as Solaris Dynamic Tracing (DTrace), Solaris Containers, Predictive Self-Healing, Solaris ZFS, Solaris Trusted Extensions, and Logical Domains (LDoms).

Dynamic Tracing (DTrace) is a debugging tool introduced with the Solaris 10 OS to help debug systemic problems that are difficult to diagnose with traditional debugging tools. DTrace allows users to take a system-level view across the entire software stack. This enables a developer to debug across the type of multi-layered software stacks common in Web 2.0, where there can be many different layers, all implemented in different languages, such as JavaScript, Java, and C/ C++.

This multi-layered view is simply not possible with conventional debugging tools. The lightweight nature of DTrace encourages experimentation and allows developers to ask questions and get answers from applications running on production servers, without needing to run debug versions of the applications. Custom probes are being added to key applications on the desktop, such as Firefox, to allow developers to use the power of DTrace to debug their JavaScript code running in Firefox and to even tune Firefox itself.

DTrace works through a command library named libdtrace that has entry points into the various "DTrace providers" within the kernel, each of which gives a logical view of some kernel subsystem. The Solaris 10 OS includes nearly 40,000 probes that serve as points of instrumentation in the Solaris kernel. DTrace instrumentation can be turned on and off at will, leaving no overhead when the tracing is turned off. Queries can be combined to create custom probes.

ZFS is a 128-bit, state-of-the-art file system, with end-to-end error checking and correction, a simple command-line interface, and virtually limitless storage capacity. It was named Best File System of 2008 by InfoWorld.

Solaris Zones allow developers to partition a machine into numerous virtual machines, each of which is isolated from the others. A Solaris zone is a partitioned virtual OS environment within the Solaris OS. Each zone acts as an isolated virtual server within a single machine. A zone is a primitive that, when used with the operating system's resource management facility, is known as a Solaris container. Many developers use "zone" and "container" interchangeably.

An application treats a zone as an isolated and secure operating system environment, enabling developers to isolate applications from each other by installing them in different zones, yet maintain centralized management of operating system resources.

Predictive Self-Healing, created for the Solaris 10 OS, automatically diagnoses, isolates, and recovers from many hardware and application faults. As a result, business-critical applications and essential system services can continue uninterrupted in the event of software failures, major hardware component failures, and even software misconfiguration problems.

In October 2007, father of Java technology James Gosling blogged about his enthusiasm for the Solaris OS: "There are all the cool Solaris goodies to take advantage of. I'm totally addicted to Zones and ZFS. For example: I have my laptop set up with ZFS managing the disk. Then I mirror the laptop's disk onto a USB drive."

Development Tools

The Solaris OS provides integrated, ready-to-use tools that are compatible with all the environments in which developers deploy applications. With SXDE, the latest developer tools are automatically installed with the OS.

Developer tools include:

  • Sun Studio 12 12/07 software delivers high-performance compilers and tools, optimizing C, C++, and Fortran compilers for the Solaris OS on SPARC platforms, and both Solaris and Linux OSs on x86/x64 platforms, including the latest multi-core systems and source, memory, and thread debugging.
  • Project D-Light provides several instruments to analyze system behavior. (Project D-Light currently runs only on the Solaris 10 OS and requires a DTrace enabled Java Runtime Environment of at least version 6.) Project D-Light makes sophisticated application and system profiling more widely accessible for developers, who can optimize their application and system environment by visualizing performance bottlenecks and resource contention throughout the application system stack. Using an intuitive drag-and-drop interface, D-Light provides an extensible library of instruments that represent the latest advances of profiling technology, including dynamic tracing (DTrace).
  • The NetBeans IDE 6 provides all the tools Solaris developers need to create cross-platform Java desktop, enterprise, and web applications, including support for Ruby on Rails, JRuby, and PHP preview plugin.
  • Java Platform, Standard Edition 6 (Java SE) enables developers to create and deploy Java applications on desktops and servers, as well as embedded and real-time environments. Java SE 6 includes classes that support the development of Java Web Services and provides the foundation for Java Platform, Enterprise Edition (Java EE).
Application Support: Web Application Stack

The web application stack, delivered as part of SXDE, offers a collection of commonly used open source applications optimized for the Solaris OS. It has been pre-configured to have the most popular applications (Apache, PHP, MySQL, Ruby etc.) available to work seamlessly out of the box and comes with a control panel to quickly and easily enable services.

Multiplatform Support

The Solaris 10 OS runs on everything from laptops to desktops and across data centers on SPARC and x64/x86 platforms. On laptops and desktops, with the fully integrated Sun Java Desktop System, the Solaris 10 OS allows power users and developers to take advantage of advanced features and value-added, cost-efficient office productivity and developer tools.

Guaranteed Backward Compatibility

Guaranteed backward compatibility is especially important to commercial software developers, because maintenance is typically the largest expense associated with software. Sun's guarantee of backward compatibility assures vendors that software built for one version of the Solaris OS will run properly on subsequent versions.

This contrasts sharply with other operating systems in which incompatible changes to system components -- for example, libraries -- are made without regard to their effect on applications. The net effect is application breakage, resulting in increased maintenance costs and frustration for application vendors and users.

A Thriving Open Source Community

Between November 2006 and November 2007, membership at OpenSolaris.org increased from 20,000 to 80,000 members. More than an open source project, OpenSolaris is also a community and a web site for collaboration. Solaris source code, downloads, developer tools, mailing lists, user groups, information about events, and more are available at opensolaris.org. OpenSolaris technology features a single source base for SPARC and x86 platforms that delivers the same features on all platforms.

GNOME and Java GNOME Bindings

GNOME offers a modern, contemporary desktop that can help developers showcase their best-of-breed desktop applications.

The GNOME community has widely agreed that to attract more desktop developers, alternatives to developing desktop applications in C are needed. Because 95 percent of the GNOME desktop is written in C, many will still continue to develop desktop applications in C using the support of modern IDEs such as the Sun Studio software, NetBeans with its C/C++ module, and Eclipse.

Java GNOME bindings provide access to the core libraries needed when developing GNOME and GTK+ applications. The bindings provide a Java API that exposes the underlying platform C APIs using the Java Native Interface support in the Java SE platform. The bindings are shipped as a set of Solaris packages containing:

  • API jars: Provide the Java API and allow the import of the Java GNOME APIs in your application
  • API libraries: Support JNI native C libraries that are called by the Java APIs
  • Documentation: Describes the API source jars that can be used for code completion and source browsing in the IDEs
  • API Javadoc: Provides comprehensive documentation for the APIs

The Java GNOME bindings offer developers who are already familiar with Glade-based GNOME/GTK+ application development a viable route to developing these types of desktop applications in the Java programming language. The Java GNOME community is already in the middle of a redesign of the bindings to allow a more automated generation of the bindings. This will help to provide nearly 100 percent API coverage of all the underlying GNOME platform and Cairo native libraries and ensure that they stay in sync with future releases of the GNOME platform.

In addition, the new GNOME DevHelp is an application that enables developers to browse and search GNOME API documentation through working natively with gtk-doc.

Deployment Highlights

The Solaris OS offers deployment flexibility. Whether the Solaris 10 OS is run on SPARC-based systems or on x64/x86-based systems, it provides the same features and functionality. The modular architecture of the Solaris 10 OS allows drivers to be loaded dynamically with no need to rebuild the kernel. The kernel itself supports single processor and multiprocessor environments and is for the most part self-tuning. These features make it easy to define a single, optimized, security-hardened OS image for volume deployments. This efficiency works equally well whether in manufacturing embedded systems or provisioning a computing farm. The Solaris OS is therefore well-suited for use in appliances for appliance-centric industries such as the telecommunications, storage, network security, medical, and government markets, as well as for deployment in larger configurations on all PC form factors (laptops, desktops, workstations, blades, rackmount systems, and multiprocessor servers, including eight-way x64/x86-based servers).

Applications developed using SXDE can be tested for deployment to Solaris 10 systems using the Solaris Ready Test Suite to verify use of Solaris 10 APIs. In addition, you should do your final build on a Solaris 10 server before deploying.

Virtualization

In addition, the virtualization features built into the Solaris OS makes deployment a simpler and more flexible process. Sun provides the full spectrum of technologies needed today to build a virtual enterprise and is on the cutting edge of innovative technologies that will improve virtualization in the future.

Memory Placement Optimization (MPO)

The Solaris 10 OS uses Memory Placement Optimization (MPO) to improve the placement of memory across the physical memory of a server, resulting in increased performance. Through MPO, the Solaris 10 OS works to ensure that memory is as close as possible to the processors that access it, while still maintaining enough balance within the system. As a result, TPC-H runtime is reduced considerably, TPC-C performance increases, and many high-performance computing (HPC) applications run in half the time.

Enhanced Threading

In the last few Solaris OS releases, the threading library has been enhanced for multithreaded applications. Starting with the Solaris 9 OS, Sun adopted a highly tuned and tested '1:1' thread model in preference to the historic 'MxN' implementation. By simplifying the underlying thread implementation, existing applications can see dramatic performance and stability improvements without requiring recompilation. In the Solaris 10 OS, Thread Local Storage (TLS) was added, simplifying and improving storage performance. The combination of the new threads model and the latest Java Virtual Machine (JVM) technology significantly improved SPECjbb2000 performance.

Lower Administration Costs

Many developers administer their own software environments. The Solaris 10 OS provides a 20% cost-of-ownership advantage over Red Hat Enterprise Linux, according to a new study conducted by the Crimson Consulting Group. The study, sponsored by Sun Microsystems, was designed and executed as an independent, analytical evaluation with research participants screened to include comparable experience with deployments of both Solaris and Red Hat Enterprise Linux OSs.

The Future of the Solaris OS

The Solaris OS and SXDE offer developers unique features, a wealth of applications, quality development tools, an easy download, multiplatform support, a thriving open source community, guaranteed backward compatibility, superior deployment, and reduced administration costs -- all of which can only be confirmed by giving it a try.

With the strong support of both Sun and a growing, thriving open source community, the future can only be bright.

See Also
About the Author

Janice J. Heiss, in addition to exploring the world of Java technology as a staff writer for Sun Microsystems Inc., is a published writer of poetry, fiction and memoir, and has written and performed for the stage, including stand-up comedy.

Rate and Review
Tell us what you think of the content of this page.
Excellent   Good   Fair   Poor  
Comments:
Your email address (no reply is possible without an address):
Sun Privacy Policy

Note: We are not able to respond to all submitted comments.