Architectured RAD: Tackling the Challenges of on Demand Business - RAD
(Page 2 of 3 )
What is architected RAD?
Simply described, ARAD is Rapid Application Development (RAD) that has grown up to meet the needs of development teams charged with creating enterprise class applications for on demand business.
Picture a team of eleven people working on an enterprise application -- a project leader, one analyst, eight developers, and one technology architect. Whereas RAD focused only on the developers, ARAD provides a unified environment for all these team members that comprises all the elements and capabilities essential to software development success: a unified process; business modeling via the Unified Modeling Language (UML); rapid application development; integration of legacy and enterprise systems; and scalable n-tier development.
We'll begin by describing these elements and capabilities and then take a look at how IBM Rational Rapid Developer puts them into practice.
Unified ARAD process
One problem with the early RAD approaches was that they lacked a formal process. This led to an ad hoc approach to development, applications that did not meet requirements, and missed deadlines -- if the project wasn't canceled altogether. The Unified ARAD process fills these gaps.
First, the process unifies the team by providing roadmaps for application development that include defining process flows, stakeholders, and artifacts, and explaining how they interrelate in order to achieve consistent, on-time delivery of software applications.
Second, the Unified ARAD process is a version of the Rational Unified Process,® or RUP,® that has been optimized for ARAD. It is an agile, rapid, iterative, and time-boxed development process that brings traditional RAD concepts such as prototyping and joint application development to the world of enterprise applications. It also provides a team-unified platform that supports parallel development, distributed teams, version management, release management, and change management.
Business modeling with the UML
Early RAD (and non-RAD) approaches lacked a focus on the business processes that drive software requirements. Without a clear view of how such processes mapped to business needs, development teams could not accurately target competitive opportunities or improve efficiencies.
With Architected RAD, however, analysts on the project team can use UML to analyze business requirements, define business use cases, define the information model for the application -- consisting of business objects and their storage in databases -- and define the business processes and business rules that will drive the application.
Rapid application development
In today's corporations, most project teams consist of application developers with experience in a variety of coding environments, such as Visual Basic and PowerBuilder, Java and C++, and COBOL. Their experience also covers a diverse array of deployment scenarios, from n-tiered architectures, to client/server, to legacy/mainframe environments. Although they have diverse technology skills, these developers all understand the need to write code at an increasingly rapid pace, and to support requirements that change ever more rapidly as well. With ARAD, companies can leverage the valuable technical and domain skills these developers have acquired through the years to maintain vital legacy applications, but also enable them to quickly develop n-tier applications -- without dealing with the complexities of the underlying n-tier platform.
Rapid integration of legacy and enterprise systems
Enterprise applications for on demand enterprises are never standalone; they connect to other legacy and mainframe systems across the enterprise and serve as the vital link between the enterprise and its customers and partners. On demand organizations need the ability to quickly construct Web applications that integrate with databases, messaging protocols, and information from a variety of application servers. Then, after the Web application is deployed, the organization needs an efficient approach for maintaining the underlying technologies, which are constantly subject to change.
The ARAD process addresses these needs. It supports rapid application integration with J2EE and other new techniques that help teams quickly leverage information from disparate sources. Then, users can select target technologies for deployment without extensive knowledge of J2EE.
Scalable n-tier development
IBM WebSphere and other n-tier systems allow enterprise applications to scale to the needs of on demand computing -- for example, connecting a large business to millions of customers. With this power, however, comes a complexity that is beyond the scope of most application developers. To fully leverage an extensible n-tier architecture, a project team needs a technology architect -- a person who understands the architecture and knows how to scale up from supporting 1,000 users on a single server to serving millions of users via a 100-server farm.
The ARAD process allows the architect to design and fine-tune n-tier patterns, using n-tier components such as JSP, servlets, stateless and stateful session beans, and entity beans. Then, developers who keep their focus on the business can apply these patterns as they create applications to support business processes.
The IBM ARAD solution: IBM Rational Rapid Developer
IBM Rational Rapid Developer is the new Rational software solution for Architected Rapid Application Development. Although it is new under the Rational brand, it has been in the market for the past three years, and it has been continually refined and updated (to Version 5.01).
IBM Rational Rapid Developer provides an integrated application development environment and process that unifies team skills and:
- Supports model driven development, rapid application development and integration, and architected code construction.
- Helps development teams rapidly deliver well-architected, executable n-tier business applications without encountering the traditional complexities of the underlying technology platforms.
- Integrates with the IBM Rational lifecycle toolset and supports the full application development lifecycle.
- Enables organizations currently struggling with Web or business application backlog to leverage their entire IT workforce toward n-tier, legacy integration, business modernization, and J2EE development projects.
To see a brief video clip on how all skills can be put to use in Web-enabled projects, click here for T1 access, or here for 56k modem access.
To get a better understanding of this new product's advantages, let's take a look at the essential workflow for a development team using IBM Rational Rapid Developer.
IBM Rational Rapid Developer workflow
Rational Rapid Developer follows a model-driven approach to application development. In most projects, nine out of ten members of the development team are focused on business process. Application development begins with capturing requirements. Then, as shown in Figure 1, teams take in existing assets: UML models from IBM Rational Rose,® DBMS schema and other legacy systems, Web services, components, and so on. They can also leverage frameworks for specific vertical industries.
The next step focuses on visual modeling. Creating the core UML models is twenty percent of the effort. Rational Rapid Developer provides essential UML models: class, database, business rules, and process models. (For more complete UML modeling, development teams can use IBM Rational Rose or IBM Rational XDE.®) As shown in Figure 2, most of the effort here -- eighty percent -- focuses on visually modeling the application: designing Web, wireless, XML messaging, and Web services transactions.
At this point, the team has visually modeled the complete application, and it resides in an application repository, as depicted in Figure 3. But the application is not yet cast into any specific technology.
Figure 3: An application, completely modeled by business-focused developers, resides in the application respository before it is cast onto a chosen technology platform.
Now, the other ten percent of the team, the technology experts, come in. They decide how the applications will be constructed and deployed -- for example, whether to use J2EE or Microsoft, and which database, messaging platform, and construction patterns to use.
Based on choices by the team's technical experts, Rational Rapid Developer automatically constructs the final application in a matter of minutes, and even automatically compiles and deploys it, as depicted in Figure 5.
Business-focused developers reap the first benefits from this model-driven process: They get a rapid, productive environment that is easy to learn and use; the applications can adapt quickly to business changes with business owner participation; and the cost of ownership is dramatically reduced.
Technology-focused architects also realize significant benefits: They get consistent, high-assurance, high-performance, engineered applications on their choice of technology platforms. They can also adapt new technologies quickly and integrate them with legacy technologies. The complete workflow for this process is illustrated in Figure 6.
IBM Rational Rapid Developer and IBM Rational Unified Process
Rational Rapid Developer comes with an ARAD plug-in for Rational Unified Process. This process has four main parts:
Business Requirements and Analysis with UML (Inception and Elaboration) -- performed by analysts.
Rapid User Interface Development (Construction) -- performed by RAD developers.
Rapid Integration Development (Construction) -- performed by rapid integration developers.
N-Tier Architecture and Deployment (Transition) -- performed by an enterprise architect.
This ARAD process is an instance of RUP. As such, it integrates all the team roles and IBM Rational lifecycle tools. The ARAD process is a component of RUP that is geared toward application development in enterprise IT and systems integration shops. It integrates roles and practices found in these shops, including rapid application development, application integration, model-driven development using UML, and scalable enterprise architectures.
This process facilitates iterative development, prototyping, joint application development with business owners, flexible use of project team skills, and distributed team development. The resulting agile applications respond quickly to changing business needs and to changing technology architecture.
Rational lifecycle toolset used in the ARAD process
Under the Rational brand, IBM provides a complete toolset for the lifecycle of architected application development. In addition to RUP and IBM Rational Rapid Developer, the ARAD process can leverage the following IBM Rational software tools:
- IBM Rational RequisitePro®
- IBM Rational XDE
- IBM Rational Rose
- IBM Rational ClearCase®
- IBM Rational ClearQuest®
- IBM Rational TeamTest®
It can also leverage IBM WebSphere Application Developer.
Both IBM Rational ClearCase and IBM Rational ClearQuest are part of the team unifying platform for configuration management and defect tracking. Their close integration allows those using IBM Rational Rapid Developer to check artifacts in and out and to version manage them from within the IBM Rational Rapid Developer user interface.
A business application scenario
Let's use the ARAD process to design the marketplace application.
This marketplace application will be deployed in three stages:
A pilot phase for 100 users.
The production phase for more than a million users.
A production phase that upgrades to the latest versions of the runtime technologies.
These are the requirements:
Provide Web sites for buyers, sellers, and marketplace administrators. The buyer's site will be in four languages: English, Spanish, German, and Japanese.
Provide a wireless site for buyers to place orders and check order status.
Integrate with an existing product catalog currently resident on an IMS database.
Integrate with an existing order processing application provided by JD Edwards, using XML messaging over IBM Websphere MQ.
Provide B2B integration with buyers and sellers systems using XML messaging over Websphere MQ.
Invoke Web services offered by credit card and shipping companies.
The rest of this article will walk through the four main parts of the ARAD process we listed above. For each of these parts we will:
- Discuss the roles and skills needed.
- Identify the IBM Rational lifecycle tools to perform it.
- Explore the unique features of IBM Rational Rapid Developer that support it.
Next: The Process Partitions >>
More Development Cycles Articles
More By The Rational Edge