Melissa Borza

Subscribe to Melissa Borza: eMailAlertsEmail Alerts
Get Melissa Borza: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Java EE Journal

J2EE Journal: Article

Managing Change in WebSphere Studio Application Development

Managing Change in WebSphere Studio Application Development

Web services initiatives are expected to change the very nature of computing and of application development. While Web services projects may not be fully realized today, many organizations are beginning to build the infrastructure to support this important development venture. According to analysts, WebSphere Studio will be one of the primary tools used to develop Web services.

Web services is a set of standards used to create an open environment in which employees, partners, and customers of services can locate and work with service providers through Web-based heterogeneous systems. Web services also refers to the network-based applications that can interact automatically with other such applications.

Adding to the business drive to build Web services are intense competitive pressures and increasing market demands, which are forcing development organizations in the new economy to become more agile. It is critical that development teams be able to quickly create high-performance, flexible, content-rich Web applications while increasing efficiency and reducing development costs. In pursuit of these goals, developers must address a continuous flow of complex changes to application source code, documentation, test scripts, and other development components, with the ultimate goal of delivering top-quality, error-free, reliable, and scalable applications to meet business objectives.

As today's application development environments grow increasingly complex, the need for sophisticated, enterprise-caliber change and configuration management solutions intensifies. Specifically, in the WebSphere Studio and J2EE development realm, tying everyday development to change and configuration management activities - and to the process of deployment into operations - is the key to success. Maintaining control over the entire software development life cycle - from analysis to coding to testing to production - enables IT to ensure high-quality deliverables in the J2EE world, where extensive coding and testing is required to produce even simple applications.

Many WebSphere applications are composed of multiple traditional and Web applications. To manage this complexity, manufacturers recommend that WebSphere users have administrator, development, test, and production servers to help organize the development workflow (see Figure 1). Since J2EE applications are often built in an IDE in a PC environment and run in a variety of environments, the challenge is to build and assure the applications in the test production environments. This type of development requires a solution not only to manage that workflow, but also to automate the build process. This requires a comprehensive life cycle management tool.

Build management is often considered a small part of configuration management and is often overlooked by development teams. Building an application entails combining components to develop a complete executable program. This sounds rather simple, but Web services and many other J2EE applications may be composed of hundreds of individual components with many variables. Automating the build process is a key factor in successful application development and deployment.

A build management solution ensures a consistent, reliable, and repeatable process for application building. Build management tools use configuration information that indicates what goes into the application, along with specific rules that define how to integrate these components into a running application. For example, if a developer is creating a program to run on an HP Unix machine, it requires rules that define what C compiler to run, what options to use, and what machine to use for the build. Building the same application the same way every time improves application quality.

In an agile environment, changes to applications, Web content, documentation, and design specifications are continually requested by end users as well as by analysts and QA resources. If these changes are not properly managed across platforms and throughout each stage of the application development life cycle, the organization will face costly production failures and system downtime.

As with other IT initiatives, process control and team collaboration are critical to the success of Web services development. Organizations can significantly improve productivity through managed collaboration, providing they have the technology needed to keep everyone - including business analysts, developers, testers, and end users - synchronized with one another. Organizations need to define and enforce software development processes in the form of a development life cycle to tie IT development to IT operations and back to line-of-business requirements, to reduce risk and to improve the time-to-market associated with developing and deploying new systems.

Most Web services projects are supported by diverse teams in which multiple developers work on the same source code at the same time in order to meet the heavy demands placed upon their organization to quickly deliver these new applications. To successfully implement this kind of concurrent development, users must automate the process of merging multiple versions of source code and identifying conflicts for resolution (see Figure 2). Without an integrated change and configuration management solution, IT cannot manage this kind of collaboration.

The drive to accelerate time-to-market while maintaining control over the application development life cycle requires the seamless integration of world-class change management capabilities and effective development processes. To ensure optimal organizational efficiency and application quality while attaining maximum business value from change management tools, organizations must ensure that they can support all of their strategic development environments. Integrating a complete change and configuration management solution into the development environment provides centralized control and helps ensure that your systems are up and running and meeting the service levels defined by the business. Such integration ensures that mission-critical systems are developed quickly and maintained according to exact standards.

Organizations need a single, enterprise-wide change management solution that will enable them to track software changes and manage the application development process - regardless of the platforms or environments these applications are developed on or deployed to. Such a solution should have an easy-to-use, intuitive interface and a multitier architecture to synchronize development teams anywhere in the enterprise. It should offer simple point-and-click and drag-and-drop operations to enable developers to meet demanding delivery schedules and to realize maximized productivity, reduced development costs, and improved application quality.

Through the Eclipse program (www.eclipse.org) software vendors are working together to create an open environment that allows the open source community to create additional plug-ins for WebSphere Studio to streamline the development process and ensure successful projects. Several change management vendors have taken advantage of this standard to provide WebSphere Studio developers with seamless access to their software change and configuration management and life cycle management solutions.

Life cycle management solutions provide the ability to manage, control, and improve the process of building, changing, and operating WebSphere applications, with the primary objective of reducing and managing risk.

Because Web services projects are so diverse - ranging from Web enablement to high-powered, cross-platform applications written with multiple development tools and in several languages by teams transcending geographic boundaries - the disciplines surrounding this process are rapidly evolving. Specifically, software change and configuration management is expanding beyond traditional application development. These solutions provide a management focal point for integration initiatives that traditionally focus on system management and automation tools such as alert management, soft-ware distribution, and service desk management.

Even though new development is taking off in so many directions, application development managers must maintain service levels. Everyone on the team has to do more with less - less time, less money, and fewer resources. They must exceed their previous best efforts and constantly develop better applications. In addition, many organizations have quality efforts and continual improvement projects in place. Whether organizations are trying to implement the Software Engineering Institute's Capability Maturity Model or the ISO 9002 standard, enterprise-wide change management must take center stage.

To increase the speed and effectiveness of delivering Web services and J2EE applications to the market, WebSphere developers must employ powerful life cycle management solutions that are integrated with the IDE and provide much more than simple workgroup-oriented software change management. Only then will organizations be empowered to increase the speed of development, ensure software accuracy and team effectiveness, reduce deployment risk, lower training costs, and truly evolve into an agile organization.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.