2005 Enterprise Development: Tools of the Year
With the emergence of a full scale multi-tier enterprise computing, application development created a need for enterprise level tools and technologies. These robust applications go beyond simple code editors or designer functionalities, by providing a comprehensive integrated development environment (IDE) or technology platforms for designing, modeling, testing and deploying multi-tier enterprise applications.
This year Developer.com and JupiterMedia Corporation has selected a number of enterprise development tools for the Product of the Year 2005 Contest based on the reader's votes.
Most of the existing enterprise level IDEs feature modular development capabilities, Graphical User Interface (GUI) creation wizards; code highlighting, code formatting and code auto-completion, but the best tools also provide rich sets of templates, modular components and wizards that greatly facilitate development and design processes. Many of the nominated enterprise development tools also provide a visual design environment where entire application can be architected and separated into modules. Many tools use standardized technologies such as Unified Modeling Language (UML) to help developers create schemas and rules of the projects. Many nominees also feature wizards for Web Services design and deploy components, Database connectivity toolkits and pre-packaged drivers, and Mainframe, Customer Information Control System (CICS) and other legacy platform connectors.
The finalists selected for the best enterprise development tool category are: WebSphere Studio Application Developer (WASD) from IBM Corporation, Visual Studio .NET from Microsoft Corporation, Java Platform J2EE (Enterprise Edition) from Sun Microsystems Corporation, PowerDesigner from Sybase Corporation and TierDeveloper from AlachiSoft.
Microsoft Visual Studio .NET
The runner up in second place and notably elite IDE for working with Microsoft .NET technology is the Visual Studio .NET. If an enterprise has chosen to work with Microsoft platform and deploy its applications on Microsoft windows based operating system, Visual Studio provides an unmatched and literally completion-free development tool.
Comprising of a set of tightly packaged modules and compilers, this very capable IDE comes in several editions: Enterprise Architect, Enterprise Developer, Professional and Academic. In addition to having all the features of the Enterprise Developer edition Visual Studio Enterprise Architect allows software architects to design, model and specify application architecture. All versions follow visual rapid applications development philosophy.
Visual Studio .NET encompass several development environments in one interface, including C++, Visual basic, ASP .NET, C# and even embedded programming for handheld and wireless devises. It also has extensive integration with XML Web Services and let developers quickly build and deploy them on the .Net platform. Development with Visual Studio .NET is tied to the Windows operating system, which is a drawback for some enterprises. However a new feature of the .NET platform, Microsoft Common Language Runtime (CLR) executes a language-independent intermediate language (IL). This removes dependency on a particular programming language. For instance, code from any language that support the CLRs such as C# or VB. NET can be compiled into IL, which can be just-in-time compiled into native Windows code, instead of creating EXE or DLL
According to one of the Developer.com reader's comments Visual Studio .NET is the best development tool available for Windows today. It provides a comprehensive IDE with many easy to use wizards and hundreds of examples for C# and Visual Basic .NET code. For people migrating from previous versions of Visual Basic it offers migration tools and a complete help package.
Overall Visual Studio .NET makes development and deployment easy, but may require come customization and a learning curve for developers not used to writing for the Microsoft Windows platform.
Not all of the enterprise development tools rely exclusively on the Java or .Net technologies, PowerDesigner is a very advanced data– modeling tool. This application simplifies data–modeling process by providing visual environment and adapting standards such as XML, UML, Business Process Modeling and Web Services.
Sybase PowerDesigner offer complete range of data modeling options in addition to traditional database modeling techniques including: Conceptual, Logical and Physical Data models, including Warehouse Modeling extensions, based on Information Engineering or IDEF 1/x notation.
Notably it also has enterprise-wide metadata management such as hierarchy diagrams and strong integration with Java, PowerBuilder, C# and VB.NET languages.
Overall Sybase PowerDesigner is a strong tool for data modelers and database administrators. Developers can use it to map objects to data via UML or utilize its meta-data capabilities.
AlachiSoft TierDeveloper is an enterprise level tool that utilizes .Net platform. It is designed to facilitate creation of complex .NET database applications. By using standards such as SQL and Business Process Modeling it can generate code on–the–fly.
Among TierDeveloper's capabilities is code optimization, simplified creation of complex business rules, queries, and object relationship definitions. Created objects can be exposed as web services for use over the web. TierDeveloper also lets developers generate business and data objects, and auto-create working ASP.NET applications from them. In addition to ASP.NET it can create Windows Forms applications that are similar to the ASP.NET application in all its features.
Overall TierDeveloper offer a lot of great features for database driven application development that is based on the .NET platform.
IBM WebSphere Studio Application Developer (WASD)
IBM's WebSphere Studio Application Developer (WSAD) is a truly powerful Java based IDE with the extensive set of features for design, development, testing, debugging and deploying of enterprise Java applications. It is also has an admirable market penetration.
WSAD features a set of "perspectives" for visual rapid applications development, including web development, server-side coding, database modeling, UML design and web services programming. Even though the IDE has a learning curve, most of the interfaces are intuitive and putting some time to learn it will be very rewarding.
Since November 2001, IBM has sponsored the open-source project Eclipse (Development Tool of the Year Winner) for building programming tools. WSAD uses Eclipse as underling platform and builds on top of it by using eclipse's extensive plug-ins capabilities. By comparison, free Eclipse is about 90MB installed, where as, WSAD is close to a 1GB. It bundles loads of components and modules for enterprise development staring with database connectors and a full application server test environment and ending with its own image library for Java Server Page (JSP) design.
WSAD completely supports J2EE 1.3 (including EJB 2.0), Servlet 2.3, and JSP 1.2.
The few of WSAD highlights include HTML editor, visual process editor, very capable debugger with JSP debugger, advanced transactional connectivity, an XML Schema wizards with UML editor, connectors for Customer Information Control System (CICS), and support for Java Connection Architecture (JCA). If all of the included modules are not enough, using Eclipse plug-in APIs can expand WSAD. Many third party vendors have already released plug-ins for it.
Being that WSAD is an IBM product it has very tight integration with WebSphere Application Server and DB2. Web development, including Web Services for Web Sphere Application Server is very easy using intuitive wizards and included libraries.
Overall WSAD is one of the most comprehensive enterprise development environments available today.
The Enterprise Development Tool of 2005 Winner
Java Platform J2EE (Enterprise Edition) from Sun Microsystems Corporation.
The winner with almost 61% of the votes is Java 2 Enterprise Edition (J2EE). It is a clear Enterprise Development Tool of the Year development platform.
Java was developed in 1991 by James Gosling and other Sun engineers, as part of the Green Project and first became available to public in 1994. Java become popular primarily because of its web based capabilities for applet client-server applications. Specifications of the Java language, the Java Virtual machine and the Java API are community-maintained through the Sun-managed Java Community Process.
Since its creation, the Java framework has evolved a robust server-side development platform. J2EE was crated on top of the Java 2 Standard Edition (J2SE) that by itself offers a lot of features for software development, including built-in object garbage collection, threading support, I/O and memory management, and networking protocols.
The finalized J2EE offers highly scalable, secure and highly available framework for enterprise-scale application development. According to the Sun Microsystems, Java 2 Platform Enterprise Edition (J2EE) defines the standards for developing multi-tier enterprise applications. The J2EE platform simplifies enterprise applications by basing them on standardized, modular components, by providing a complete set of services to those components, and by handling many details of application behavior automatically, without complex programming. It simplifies client/server based architectures and also provides support for message-oriented middleware, distributed computing and dynamic Web development.
J2EE has a very large enterprise development market share, with many acknowledged corporations supporting it. Companies such as BEA, Borland and IBM, embraced the technology and have created application servers, IDEs, and multiple projects that utilize its enterprise components. JBoss also signed a multi-year agreement to support the J2EE platform.
Some of specifications for J2EE standards are: Enterprise Java Beans (EJB), Java Server Pages (JSP), Web Services, Servlet APIs, Java Native Directory Interface (JNDI), Java Messaging Service (JMS), Remote Method Invocation (RMI), Java Reflection, Java Transaction API (JTA), Java API for XML Parsing (JAXP), Java Authentication and Authorization Service (JAAS) and JDBC APIs.
Overall J2EE is extremity comprehensive technology framework with standards and toolkits for simplifying all types and phases of a multi-tier enterprise-scale development.
There were a lot of nominees in the enterprise development tool category. From the reader's responses and votes, it is clear that current enterprise development market space is dominated by two rivaling technologies: Java 2 from Sun Microsystems and .NET platform from Microsoft Corporation, with clear winner being Java J2EE in market penetration. The other finalist applications in this category simplify working with standards such as SQL, UML, Database access and Web Services on either Microsoft Windows or Unix platforms, which shows that many multi-tier enterprise architectures utilize these technologies in their development process.
About the Author
Vlad Kofman is a System Architect working on projects under government defense contracts. He has also been involved with enterprise level projects for major wall-street firms and US government. His main interests are object oriented programming methodologies and design patterns.
WebSphere Studio Application Developer 5.0
The Big Decision: J2EE or .NET