Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Java Newsletter - August 2005


Dr. Dobb's Java Newsletter

Your monthly resource for new and interesting developments in the world of Java.

I have many years of experience developing mission critical software. My first "real" programming job was at Reuters, where I worked on a foreign exchange trading system. The system was used by banks all over the world, and to give you an idea of what was at stake, the minimum amount of a single trade was $1 million US. That was the minimum; most traders traded above the minimum. With the thousands of trades per day that were conducted on the system, I'm sure you will agree that this truly qualifies as a mission critical application.

You probably won't be surprised when I tell you that the client-side software was written in C, and the server-side software was written in Ada (en.wikipedia.org/wiki/Ada_programming_language). Well, you may be somewhat surprised that Ada was used, but what should really surprise you is that the C software that ran on the client-side was a Windows 3.1 application. We achieved real-time performance and reliability that was generally unheard of for a Windows 3.1 application by minimizing the Windows installation, replacing the Windows shell with our own custom shell, and using Windows for nothing more than its message queues and basic user-interface capabilities. I won't get into the fact that we eventually ported the application to Win32, and made it run on Windows 3.1 using Win32S (en.wikipedia.org/wiki/Win32s). For those of you who also used Win32S, and had to deal with "Thunking" (en.wikipedia.org/wiki/Thunking) please send me your war-stories!

We didn't use Java because it wasn't a choice at the time (the very early '90s). When Java did emerge, I used it on projects with "soft" real-time requirements; something I used to call "real-enough time." This generally meant that it was used in projects that required the dynamic delivery of data, usually the request/response kind. However, if split-second response was needed, and money was at stake, C/C++ was always the choice.

This changed quickly (and it continues) because of increases in hardware power coupled with improvements to the JVM. More recently, Java has been used for mission-critical projects -- but they're usually Web-based applications. When it has come down to real-time performance, or life-and-death consequences, Java has typically not been chosen. This is changing because Java now has a proven track-record of quality and reliability. Java is increasingly the choice for military applications (www.boeing.com/defense-space/military/unmanned/scaneagle.html), robotics (java.sun.com/developer/technicalArticles/Programming/robotics/), telecommunications (www.sun.com/solutions/documents/white-papers/te_JESTelcoBusinessValue_dd.pdf), and mobile solutions (www.symbol.com/products/mobile_computers/nsicom.html). I predict that eventually, because of the efforts of Sun and other vendors (www.informationweek.com/showArticle.jhtml?articleID=166404357), there will be no problems that cannot be solved with Java. I suppose the true test of this prediction is whether NASA chooses to use Java in the Space Shuttle (or some future) program. Then again, haven't they already? Check out these links:

For more information on true software reliability, read Ed Nisley's fine article entitled, "Reliability: The Hard and the Soft," at www.ddj.com/documents/s=9698/ddj0505p/0505p.html

Happy coding,
-EJB

Java Platform, Standard Edition

  • Desktop Java Features in Mustang
  • ActiveGrid Lamp Application Server 1.0
  • Real-time Java takes hold

Java Platform, Micro Edition

  • Put Java in your car (the kind that doesn't spill!)
  • The Eclipse eSWT 1.0, RC1
  • Simplewire - A Java SMS SDK

Java Platform, Enterprise Edition

  • EJB 3.0 Public Review
  • BEA JRocket for Linux and 64bit Xeon
  • Hibernate Entity Manager and Annotations software
  • GM Chooses Sun's Java Enterprise System
  • GE Chooses Sun's Java Identity Manager

Web Services

  • Using Amazon Web-services
  • BEA releases AquaLogic ESB
  • Cape Clear releases ESB Software

Tools

  • Eclipse WTP 0.7
  • Test and Performance Tools Platform Project (TPTP)
  • Apache Derby 10.1.1.0

Events

  • Embedded Systems Conference
  • Software Development Best Practices
  • BEA World Santa Clara

Desktop Java Features in Mustang

The next version of the Java Platform, Standard Edition (Java SE) will include new and improved Java desktop features. Sun has provided a sneak peak at these features with an article (java.sun.com/developer/technicalArticles/J2SE/Desktop/mustang/index.html) and a download (mustang.dev.java.net). The changes include updates to the Swing look and feel, improved compatibility with the host OS GUI, more sample applications, enhanced layout management, true double-buffering, better drag-and-drop support, hardware acceleration, improved text quality, and better support for application deployment.

ActiveGrid Lamp Application Server 1.0

ActiveGrid has announced the release of its open-source Lamp application server that allows developers to write scalable enterprise Java applications without using J2EE. Lamp is named as such because it is based on the "LAMP" development approach which includes Linux, Apache, mySql, and PHP/Python/Perl. Although not specifically mentioned in the acronym, Java is generally accepted to be part of the LAMP approach to open-source enterprise software development. Read more www.informationweek.com/showArticle.jhtml?articleID=167101060, and www.activegrid.com/.

Real-time Java takes hold

Java is becoming accepted with development groups responsible for building critical and real-time applications. This InformationWeek article (www.informationweek.com/showArticle.jhtml?articleID=166404357) outlines Java's use within projects in the military, and the embedded device world. Read about how this affects aspects of Java such as garbage collection, and the research and development that has gone on around this topic.

Put Java in your car (the kind that doesn't spill!)

Siemens VDO Automotive, in conjunction with BMW, has enabled the BMW 7, 6, and 5 series of cars with its Top Level Architecture (TLA), which is a Java technology-based software platform that provides for the seamless addition and integration of location-based services, web services, and multimedia functionality throughout the vehicle's entire life cycle (java.sun.com/developer/technicalArticles/J2ME/TLA.html). This Java-based software puts information, entertainment, and services at the fingertips of BMW owners all over the world. The system utilizes multiple computers, a real-time OS, Bluetooth, and complies with the Open Services Gateway Initiative (OSGi).

EJB 3.0 Public Review

The public review of the next version of Enterprise Java Beans (EJB), version 3.0, is coming to a close on August 15th. You can read the latest spec at www.jcp.org/en/jsr/detail?id=220, and provide feedback to [email protected].

BEA JRockit for Linux and 64bit Xeon

On August 2nd, BEA announced that its latest version of BEA JRockit now includes 64-bit support for Linux running on 64-bit Intel Xeon processors (www.bea.com/framework.jsp?CNT=pr01504.htm&FP=/content/news_events/press_releases/2005). Benchmarks show that JRockit provides the fastest server-side JVM for Intel-based hardware, and can give an immediate boost to those using applications that need a considerable dataset, including large XML files and in-memory caches.

Hibernate Entity Manager and Annotations software

On August 4th, Hibernate announced the release of Entity Manager 3.1 beta 2 (www.hibernate.org/299.html), and Hibernate Annotations 3.1 beta 4 (www.hibernate.org/247.html). These releases include bug fixes, new Hibernate specific extensions, and better EJB3 specification compliance.

GM Chooses Sun's Java Enterprise System

Sun announced on July 27th that General Motors Corporation has chosen the Sun Java Enterprise System (Java ES) to provide an integrated software environment for its global IT infrastructure (www.sun.com/smi/Press/sunflash/2005-07/sunflash.20050727.1.html). The decision to use all of Java ES, along with Solaris, is based on the success of past Java-based projects at GM.

GE Chooses Sun's Java Identity Manager

Sun announced on August 1st that General Electric is deploying Sun Java Identity System across all GE business units globally (www.sun.com/smi/Press/sunflash/2005-08/sunflash.20050801.1.html). Using Identity Manager, GE can automatically and securely provision and de-provision user accounts based on an individual's specific job function, geography and role. You can read the coverage of this announcement, along with the announcement involving GM, at www.informationweek.com/story/showArticle.jhtml?articleID=166403853.

Using Amazon Web-services

Amazon provides a rich web services interface (www.amazon.com/gp/browse.html/002-2691602-8279232?node=3435361) for accessing their on-line content as well as a comprehensive sample application which demonstrates how to use the exposed operations. This Netbeans.org article (www.netbeans.org/kb/41/amazon.html) shows you how to modify, build, run and debug the Amazon sample application from the NetBeans IDE. Not familiar with Netbeans? Read the recent DDJ article that compares Sun's Netbeans to the latest Eclipse IDE at www.ddj.com/documents/s=9825/ddj0508a/0508a.html.

The Eclipse eSWT 1.0, RC1

This version of eSWT (www.eclipse.org/ercp) is ready for evaluation on Nokia Series 80, WM2003, and Win32 platforms. The eSWT comes bundled with the Eclipse Rich Client Platform for embedded devices (eRCP). The embedded Standard Widget Toolkit is a subset of the desktop SWT API, which allows developers to target handheld devices almost equally to desktops.

Simplewire - A Java SMS SDK

The Simplewire Java SMS SDK (www.simplewire.com/developers/sdk/java) provides easy, high-level control of the Simplewire wireless text-messaging platform, and makes it possible to send an SMS message with as little as two lines of code.

BEA releases AquaLogic ESB

On August 1st, BEA announced (www.bea.com/framework.jsp?CNT=index.htm&FP=/content/products/aqualogic/) the general availability of the BEA AquaLogic Service Bus 2.0 product - a key part of BEA-s Service Infrastructure product family. The AquaLogic Service Bus is designed to help cost-effectively configure, connect and manage services, as well as to accelerate deployment and management of SOA software in heterogeneous environments.

Cape Clear releases ESB Software

Cape Clear Software announced (www.capeclear.com/news/archives/2005/07/cape_clear_soft_64.shtml) the availability of a new version of its Enterprise Service Bus (ESB). Cape Clear 6.1 provides support for reliable Internet-based messaging via WS-ReliableMessaging, and works with http, SMTP, and FTP. It extends its native and tested support for JMS products to include JBoss JMS (www.jboss.com/products/messaging), Oracle JMS, SonicMQ, TIBCO, WebSphere MQ and WebLogic JMS. This release also adds a range of enhancements to its Business Process Execution Language (BPEL) functionality.

Eclipse WTP 0.7

The Eclipse Web Tools Platform Project (WTP) is a set of Eclipse plug-ins (www.eclipse.org/webtools/releases/0.7/whatsnew.html) that consists of tools to build Web-based applications using Java standards. Combined with the Web Standard Tools project and the J2EE Standard Tools project, Eclipse provides a truly integrated enterprise Java development and debugging environment. The Web Standard Tools project (www.eclipse.org/webtools/wst/main.html) includes server tools which extend the Eclipse platform with servers as first-class execution environments. The J2EE Standard Tools project (www.eclipse.org/webtools/jst/main.html) builds on the tools provided by the Web Standard Tools Project to provide support for application servers, including both servlet engines and EJB containers.

Test and Performance Tools Platform Project (TPTP)

On July 25, Eclipse announced (www.eclipse.org/tptp/groups/Marketing/pressroom/pressreleases/EclipseTPTP40Availability.htm) the release of version 4.0 for of its Test and Performance Tools Platform Project (TPTP). The TPTP Project provides an open platform that supplies frameworks and services which allow software developers to build unique test and performance tools.

Apache Derby 10.1.1.0

Apache released version 10.1.1.0 of Derby, which is a pure Java, standards-based relational database engine. Derby aims to be an easy to use solution for data management for software developers with zero administration for end users. This release includes the following new features and enhancements:

  • A new open source network client driver
  • Support for J2ME/CDC/Foundation with JSR-169 JDBC subset
  • Online compress functionality for reclaiming disk space during operation
  • XA support for Network Server
  • Increased identifier lengths to 128 characters for all identifiers
  • Added SQL: INTERSECT, EXCEPT, SYNONYM, and ORDER BY expressions
  • JDBC Updatable Result Sets
  • Allow insertions into an identity column
  • Support for Java method signature in function and procedure definitions

Embedded Systems Conference

Date: September 12-15, 2005
Place: Hynes Convention Center, Boston, MA
Web-site: www.esconline.com/boston

Software Development Best Practices

Date: September 26-29, 2005
Place: Hynes Convention Center, Boston, MA
Web-site: www.sdexpo.com

Software Development Best Practices

Date: September 27-29, 2005
Place: Santa Clara Convention Center, Santa Clara, CA
Web-site: www.bea.com/beaworld/us/index.jsp?PC=12AMBE


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.