This clean, uncluttered development platform is purpose-built to deliver enterprise-class rich Internet applications, mash-ups and composite apps. Is it elegant in its simplicity or just plain simple?

Nelson King, Contributor

February 11, 2008

7 Min Read

For a relatively new and small company like Nexaweb that has chosen to make enterprise software development its domain, the concern isn't about the elephant in the room, it's about living in the elephant compound. The elephants are, of course, industry giants such as IBM, Microsoft, and Oracle, companies with gargantuan stacks of software development products and services. Nexaweb is not going to compete in the stack business. However, it does have advantages such as not having a legacy to accommodate, and there are plenty of viable industry standards to use as building blocks.

When you investigate Nexaweb Enterprise Web Suite 2.0, you get a sense that it was created de novo by a group of smart people who studied the requirements for building robust, rich-Internet-application-style enterprise applications (like plenty of scalability, security, and data access), and who considered the available standards and commonly used tools (Java, JavaScript, Ajax, XML, SOA, etc.) They then set about piecing together what they viewed as a simpler, consistent, mostly familiar, and efficient whole. It's an ambitious undertaking, not yet fully realized, but already distinguished enough to warrant (and get) attention from enterprise shops.

PROS

• Uncluttered, unified suite doesn't suffer from the piece-part, grab-bag syndrome common to many legacy portfolios..

• Data framework approach supports a wide variety of external data handlers in JSP, JSTL, Struts, XSTL, or MVC.

• Pre-built components are geared to Web 2.0, rich Internet application, SOA and mobile applications.

CONS

• Implementation of the Eclipse Workbench lacks polish.

• Lacks some of the well-integrated, feature-rich application management machinery available from big competitors.

• Some might interpret the desirable simplicity as a lack of depth.

Keeping it Comprehensible

Compared to most of the competition, Nexaweb manages to look uncluttered. For starters, there is no bewildering array of products; Nexaweb sells the Nexaweb Enterprise Web Suite, and for practical purposes, that's it. The suite has two pieces: Nexaweb Platform, which is the deployment and management framework for Nexaweb applications, and Nexaweb Studio, an Eclipse-based Integrated Development Environment (IDE) for creating the applications. It's possible to create Nexaweb apps without Studio — a function of Nexaweb's consistent use of standards — but you'd lose much of the efficiency of working within the Nexaweb platform.

I tested the Nexaweb Platform in three server/hardware configurations and found the installations to be smooth, requiring surprisingly little post-install tweaking. Some of this is probably the result of using standards, coupled with relatively tight control of client, communication, and server. These key elements within Nexaweb are easy to describe:

Universal Client Framework — Despite the name, this isn't all things to all developers, but it does make it possible for developers who prefer Java, JavaScript, or Ajax to work on Nexaweb apps. The hitch is that they must learn Nexaweb's declarative language, NXML (Nexaweb XML), to produce the UI and wrap the other code. Adobe does something similar with its MXML; using an XML derivative has advantages in an environment where it's important to modify code on the fly. In Nexaweb's case the DOM (Document Object Model) houses the NXML and provides the commands for the local browser.

Internet Messaging Bus — For client/server interaction HTTP leaves much to be desired, such as the ability to do data-push or publish-and-subscribe. Nexaweb includes the Internet Messaging Bus (IMB) as its way of providing these features and guaranteeing reliable messaging. Nexaweb keeps it simple, for example riding the http channel through port 80 so that it can be instantly compatible with most firewalls.

Enterprise Data Services — The server side of Nexaweb is a Java Servlet residing in a J2EE Application Server. I tested it with Apache Tomcat 5.5, JBoss AS 4.0, and IBM WebSphere Application Server 6.1 and found the combinations easy to install. As advertised, Nexaweb plays nice in the J2EE environment and allows the normal access to the available services. For data access, Nexaweb provides its own services using either JDBC or SOAP/REST, beefed-up with support for large datasets, clustering, and failover.

An interesting innovation is the use of Nexaweb XML to first create the data presentation UI and then, through a data framework plug-in, asynchronously handle the data going to or from the client. Ajax works this way and users find the approach more responsive. The data framework approach also makes it possible for Nexaweb to support a wide variety of external data handlers in JSP, JSTL, Struts, XSTL, or MVC. Nexaweb's Enterprise Data Services do most of the setup for delivering data to the client-side data framework, such as converting data to XML or POJO format.

If these key elements are the enterprise beef, the sizzle is Nexaweb's orientation toward Web 2.0, RIA, and services-oriented architecture (SOA), which is to say that many of the pre-built components are meant for these kinds of applications.

Another Eclipse

Nexaweb Studio is the workhorse development tool. It's another (I'm tempted to say, yet another) implementation of the Eclipse platform. Nexaweb hasn't fiddled much with the Eclipse layout or terminology, which should smooth the learning curve for developers already familiar with Eclipse. Nexaweb does a fair job of mixing wizard-like support with straight-up coding, helping the novice but sometimes getting underfoot for the expert. For example, the setup for different types of projects seems like screen after screen of minimally explained options. Without belaboring the point, Nexaweb's implementation of the Eclipse workbench works well enough, but parts of it seem unpolished.

The important thing for Nexaweb is that under the umbrella of NXML, coders can produce Java or Ajax applications. These apps can be deployed to all popular Web browsers and all major operating systems (as long as a Java Virtual Machine is available); the best part being that Nexaweb provides the necessary plumbing (code) to make it work. Nexaweb can also create applications destined for mobile devices or the desktop (operating without internet connection), although these formats are not yet as fully supported and require more effort by the developer.

One of the more useful features of Nexaweb Studio is an automated refactoring of components — breaking the code into xInclude statements, which can then be fashioned into reusable pieces. Business logic is also well done; contained in Managed Client Objects, the logic is separated from UI and other elements and Nexaweb handles the deployment, instantiation, and life cycle management. Debugging tools are familiar and seem to work well in the Nexaweb system.

At the Edge of the IDE

While Nexaweb can be outfitted with Eclipse-based version control and other application management tools, don't expect the kind of well-integrated and full featured machinery available from its big competitors. Likewise, even though Nexaweb explicitly aims to wed Web 2.0 and SOA, the effort is on the coding end with Web services, not so much on SOA governance and orchestration tools.

There is a barebones feel to Nexaweb that can either be interpreted as a desirable simplicity, or as a possible lack of depth; it might be both. The most important thing is the ability of Nexaweb to work with other approaches and other tools. Overall, Nexaweb does a good job of using familiar patterns found in Java, Ajax, XML and many other standards. There's a training period involved in learning how Nexaweb stitches everything together, but the reward is enterprise-level rich Internet applications built with a relatively painless consistency out of a wide variety of elements.

Nexaweb Enterprise Web Suite starts at $17,900. Platforms: Server side – any platform that can run a J2EE application server. Client Side – any platform that can run a Java-enabled browser. Nexaweb Studio – Windows 2000, XP, Vista, Windows Server 2000, Windows Server 2008.

About the Author(s)

Never Miss a Beat: Get a snapshot of the issues affecting the IT industry straight to your inbox.

You May Also Like


More Insights