Most IT shops recognize the need for applying Java technology. So what keeps Java from becoming even more prevalent than it is today?
Some shops are hampered by a lack of in-house Java development skills or the perception that Java is difficult to learn. Others are attracted to the multiplatform benefits of Java but are daunted by the complexities of accessing and deploying to heterogeneous systems. Fortunately, the latest advances in Java technology have significantly reduced the complexity in developing Java applications and making them accessible across the enterprise.
IBM Rational has incorporated many of these advances into its latest product offerings, opening the Java door to many more development professionals. This month we highlight IBM Rational Application Developer for WebSphere Software and how it makes Java and J2EE development easier. (Rational Application Developer is the latest version of WebSphere Studio Application Developer, renamed as part of IBM's ongoing consolidation of development products and resources into the Rational brand.)
Taming Java Application Development Challenges The majority of developers considering or actively using Java today fall into three basic sets: novice Java developers, legacy procedural developers, and experienced Java and J2EE developers. This section describes these users in detail and the challenges that each user set faces when developing Java applications.
Novice Java developers. Many companies today are experiencing a shortage of skilled Java and J2EE developers. Because these professionals are high-priced, most companies need their existing employees to learn Java skills quickly. Developers trained in client/server programming technologies such as Microsoft Visual Basic are scrambling to get up to speed on the Java language, especially J2EE technology.
Visual Basic was quickly adopted by masses of developers because of the simplicity and ease of use offered by these development tools based on intuitive point-and-click visual composition and object instantiation. Traditionally, Java technology has not offered an equivalent development approach, making the transition to the Java language difficult for Visual Basic developers.
Rational Application Developer provides the ideal environment for novice Java developers, especially those developers familiar with Visual Basic. The new JavaServer Faces (JSF) technology in Rational Application Developer, coupled with its visual and diagram editors, and a data access framework based on Service Data Objects (SDOs), make it easy to develop Web applications without writing code.
Rational Application Developer provides the ideal environment for novice Java developers, especially those developers familiar with Visual Basic. The new JavaServer Faces (JSF) technology in Rational Application Developer, coupled with its visual and diagram editors, and a data access framework based on Service Data Objects (SDOs), make it easy to develop Web applications without writing code.
Rational Application Developer uses perspectives and progressive disclosure of capabilities to tailor the user interface to the task of the developer. While the product contains a wealth of features for expert developers, it effectively hides the complexity from less experienced users. The wizards, code assist features, integrated best practice guidance, and interactive guides (cheat sheets) all guide new users through the application development process. Rational Application Developer is the ideal tool to get your staff up to speed on Java technology.
Legacy procedural developers. Legacy procedural developers. Many companies have procedural programmers who possess a wealth of knowledge about the company's business, legacy systems and databases, but who lack the object-oriented skills required to develop in modern programming languages. These developers are proficient in COBOL, RPG, C or other procedural languages, and might also be mainframe developers well-versed in subsystems like IBM CICS or IBM IMS.
Fourth-generation (4GL) programming languages bridge the gap between procedural programming and object-oriented programming. They present developers with a familiar programming paradigm and then generate the required deployment code in a different language. IBM provides a 4GL called Enterprise Generation Language (EGL) that generates Java code for execution on IBM WebSphere Application Server. EGL is a simple procedural language-easy to learn for any programmer proficient in business-oriented languages. Developers write their business rules in EGL, and the language automatically integrates that logic with JavaServer Faces components, Struts-based Web applications, the creation and consumption of Web services, and access to message queues, databases, and legacy systems.
The EGL language in Rational Application Developer can help companies modernize their business systems without requiring programming teams trained in procedural languages to master the complexity of the J2EE platform.
Expert Java and J2EE developers. The third set of developers is already proficient in Java, J2EE and Web services technologies. These developers are hindered by the tedious and repetitive coding of low-level programming interfaces that have nothing to do with the application business requirements. These developers need a tool that automates much of the administrative programming so that they can concentrate on implementing business logic that solves unique problems.
Expert J2EE developers often spend the bulk of their time in more critical areas, such as ensuring a sound application design, verifying application performance and throughput requirements or resolving the most elusive and obscure application failures. A tool that automates these tasks can significantly boost the productivity of expert developers.
Rational Application Developer brings together tools for rapidly developing and deploying all the various components that comprise J2EE applications: JavaServer Pages (JSPs), servlets, Enterprise JavaBeans (EJB) components, portlets, Web services and SQL queries. It provides Unified Modeling Language (UML) tools to help visualize and understand the structure of complex applications and a comprehensive set of testing tools to help with every step of quality assurance, from unit and remote system testing and automated test case generation to dynamic application performance analysis.
Large organizations with a mix of the three skill sets discussed need a development environment that the entire team can use for collaborating on development projects. They also need a tool that allows for specialization so non-programmers, such as user interface (UI) designers and information developers, can quickly develop their artifacts in the same environment as the rest of the development team. Because it provides tooling for all these different roles, Rational Application Developer speeds up the entire application development cycle.
Extending the Eclipse Platform Eclipse is an open source, Java-based, extensible development platform for tools integration. Eclipse-based tools give developers the freedom of choice in an environment supporting multiple languages, platforms, and vendors. Eclipse delivers a plug-in-based framework that makes it easy for your team to create, integrate and use software tools together.
Rational Application Developer is IBM's core application development offering built on top of Eclipse 3.0. As a commercially sold and supported product, Rational Application Developer includes many features not available in Eclipse. But because it is built on Eclipse, development teams using Rational Application Developer can adapt and extend the development environment with best-of-breed plug-in tools from IBM, IBM Business Partners, and the Eclipse community to match their needs and maximize developer productivity.
Table 1 gives a quick overview of the features that Rational Application Developer provides beyond those included in Eclipse 3.0.
A Complete Family of Tools Various configurations of the core technology found in Rational Application Developer help ensure that your IDE scales with your company's needs. As your application requirements grow from simple Web applications to complex, integrated, cross-enterprise business solutions, your developers' skills are preserved and your investment remains protected. Here the family of offerings from IBM that are based on the Rational Application Developer core technology:
- Rational Web Developer for WebSphere Software (formerly WebSphere Studio Site Developer) is an entry-level IDE for Web and Java developers and primarily used for building JSP and servlet-based Web applications, Java applications and Web services. It supports visual development with JavaServer Faces components and EGL for generating Java code.
- Rational Application Developer for WebSphere Software (formerly WebSphere Studio Application Developer) allows for more advanced J2EE development, including Enterprise JavaBeans (EJB) components. It supports portal and UML-based development, and contains IBM Rational ClearCase LT for version control. Another version of Rational Application Developer is the WebSphere Studio Application Developer Integration Edition, which helps enable accelerated development and integration of composite business applications that deploy to the IBM WebSphere Business Integration Server Foundation. It provides a broad portfolio of rich application and technology adapters and J2EE-based visual workflow tools.
- WebSphere Studio Enterprise Developer adds support for COBOL and PL/1 development and for the development of applications that target legacy back-end systems such as CICS and the IBM zSeries family of servers. It also provides EGL code generation that outputs COBOL source code.
- Rational Software Architect includes all of the capabilities of Rational Application Developer and adds support for UML 2 modeling, patterns, model transforms and code generation, C/C++ development and Java application structural review and control.
While the Eclipse platform does serve as the open source IDE upon which these products are all built, it also serves as a platform for building a wider range of application development tools. As important as design and construction are to the software development process, all significant projects have concerns that span to other facets of the software lifecycle.
That is why the products above are but part of the IBM Rational Software Development Platform, a set of integrated tools, best practices and services that support a proven end-to-end process for the application development life cycle. Rational Application Developer fits into a tools framework that supports team-based application development, including modeling, proven design practices and patterns, and an iterative development process that helps ensure that applications meet user requirements.
Additional Resources This article is an excerpt from a more complete exploration of Rational Application Developer, a whitepaper titled, "Rapid Java and J2EE Development with IBM WebSphere Studio and IBM Rational Developer." The whitepaper also covers other facets of applying Rational Application Developer, including web, web services, portal, and portlet development. You can download this paper at the link below: www3.software.ibm.com/ibmdl/pub/software/rational/ web/whitepapers/wp-radrwd-medres.pdf
You will find details on how Rational Application Developer can help you accomplish many tasks:
- Visually program Java applications
- Speed up coding of Java and J2EE applications
- Rapidly develop data-access code
- Visualize and edit code with UML
- Automate the build process
- Rapidly deploy J2EE applications
Additionally, we've provided a couple of screenshot here to illustrate some of the ways Rational Application Developer speeds up Java development.
Try It You can also visit the IBM product trials page and download an evaluation copy of Rational Application Developer to start exploring this rich development environment today: www.ibm.com/developerworks/downloads/index.html
|