Computerworld

Application Development: it's a whole new world

It used to be that, while programming wasn't easy, it was straightforward - you wrote code to specified requirements. If you collaborated at all, it was with another IT guy. But, regulators had not yet discovered IT's role in the compliance race and business stayed out of the IT shop. Today, dramatic change is afoot: SOA (service oriented architecture) with its code reuse mantra, the need in every company to build closer ties to business users, often working with a team whose members are working on the other side of the globe and the way application development teams work now reflects these mega trends.

As part of its two-year-old effort to move legacy mainframe systems to a service-oriented architecture (SOA), Sabre Holdings began dispatching "reuse advocates" in May to work closely with its development groups. The goal was to encourage developers to tap the travel company's growing registry of services for new projects.

These advocates are typically senior, quality assurance or other, technical leads identified by their managers as people most likely to influence developers to adapt to changes inherent in building an SOA.

"The biggest chore has been getting people to have a reuse mind-set," says Mike Missler, program manager of the reuse initiative at the company. "Most developers would rather develop from scratch. There is a lot of resistance."

However, he says Sabre's efforts are gaining traction, bolstered by advocates who provide developers with examples of reusable business logic and encourage them to add their own work to the registry.

Missler meets biweekly with the reuse advocates to gain feedback on their work with developers; he also presents awards to developers who have contributed reusable business logic and other assets to the registry.

Sabre has also engaged its development project managers to tout the reuse of application components tied together as services, Missler adds. In addition, the requirements phase of development projects now includes an assessment of opportunities to reuse components of the project.

Some 70 percent of companies with more than 20,000 employees are adopting SOAs, according to an April report by Forrester Research. As SOAs get acceptance in many large companies, developers are faced with a paradigm shift away from traditional programming. No longer can they develop one-off applications from scratch - to be abandoned after they successfully make their way through testing and quality assurance.

Instead, developers must adapt to more closely aligning IT with the business. Instead of writing new code for an isolated application, developers now often must link -- and sometimes make daily changes to -- existing business processes that may live in applications from disparate lines of business. SOAs, by default, require developers to work with the business as they develop these new composite applications -- loosely coupled applications that can be tied together, then uncoupled as needed and reused across the enterprise.

Indeed, SOAs are the catalyst for true alignment between business and IT, says Forrester analyst Randy Heffner, as IT moves out of the realm of "order takers" to a more collaborative relationship with the business.

"IT has typically measured itself from 'Did we deliver on time and on spec and on budget?' You can do all those things and not deliver business value," Heffner says. "With services, we have finally brought the design paradigm up to a level where IT and the business can talk the same language. The business-IT dialogue starts with the business problem and not with the requirements document."

Changing the mindset

The move towards SOAs requires a "reorientation of the thought process" as opposed to new skills for developers, says Matt Miszewski, CIO for the state of Wisconsin. The state is now overhauling its main portal, with a mandate not to deploy any objects that can't be reused within other services, he says.

"Instead of developing a line-of-business application for the Department of Revenue, I am developing a system, but it will be made up of these components that can be reused," explains Miszewski. "They are coding objects instead of whole systems."

The state has eased this shift with top executive buy-in, he says. All the division execs meet regularly to identify where they can create services -- like a service to process credit cards -- to be used across the state's 50-plus agencies. Miszewski also has regular briefings with the development staffers, which has helped them embrace the SOA philosophy. "Developers are excited by this. They can concentrate on adding pure value, not just building another shopping cart," he says.

Belgium-based TVH Group, which makes and services forklifts, has been moving towards an SOA since the late 1990s. With messaging technology from Sonic Software and software from Progress Software, TVH has used an SOA to integrate internal applications and link with external partners, says Kalman Tiboldi, TVH's information and communications technology manager.

As part of that effort, the company split its IT department in 2001. Support staffers for networking and hardware were kept in IT, while developers were dispatched to lines of business, including supply chain, warehouse and customer relationship groups, to begin working directly with business people.

"The IT point of view was needed to implement flexibility -- to dynamically change business rules," Tiboldi says. "We are getting the business flowchart from the business people -- step by step on how the job has to be done. IT is involved daily to change the process if needed. You are able to dynamically and flexibly change your business model to the daily needs of the business."

Map to the future

Danske Bank in Copenhagen has been operating a homegrown SOA since 2000. Today, it has about 2000 reusable functions available for developers and 100 to 150 composite applications in production, says Claus Torp Jensen, the bank's vice president of architecture and development strategy.

Technology aside, Torp Jensen says that one of the bank's biggest challenges has been to help developers find the best reusable functions for business requirements. The bank devised a development model that includes business process management modelling to identify the best solution for the business and a parallel process to analyze possible future applications of the services built for a particular project.

The result is a services map -- a layout of the building blocks the company expects to be able to leverage in future projects. For example, architects and developers could refer back to the map containing a service for verifying the identity of customers and then add the ability to check the identity of a partner to that service, instead of developing a new one, Torp Jensen says.

"I can give a programming team a set of descriptive models and tell them, 'This is what you are going to create.'" he says. "They have to code the pieces and not invent the structure."

Danske Bank plans to add modelling tools from IBM's Rational Software unit by the end of the year to help the company automate some of its mapping efforts, Torp Jensen adds.

Programmer's toolbox

Although many say developers must embrace a new way of thinking as they embark on the road towards SOAs, there are tools that can help make the transition easier.

For example, Sabre's reuse advocates are working to steer developers to the Developer Resource Center, which is a registry of its Web services, components and other software assets based on technology from Flashline Inc. Developers from Sabre subsidiary Travelocity.com and its airline and travel networks can tap more than 80 Web services that provide access to data like airline fulfilment and reservations content that's housed in legacy mainframe systems.

"Flashline allows us to tie this information together in a user-friendly environment that developers can use to get services data -- lists of what we offer and how to get support," says Brandon Steele, Sabre's lead business-systems analyst.

Blue Cross and Blue Shield is using business process management tools from SeeBeyond (the acquisition of which Sun Microsystems completed late last month), coupled with IBM's MQSeries messaging backbone to anchor its SOA, which includes Java and Web services for looking up claims and customer information.

Tools in SeeBeyond's Integrated Composite Application Network suite (which Sun will rebrand as Sun Java Integration Suite) provide a graphical layout and flow designer, that lets developers generate composite applications with limited programming, says Stephen Edens, enterprise integration architect at the healthcare provider. The tools help developers transition from just focusing on requirements and use cases to looking at workflow, Steele adds.

"Each box represents a step in workflow or process. The idea of SOA is: don't prejudge that the box is going to be a request to IBM CICS or another back-end system," Edens says. "You're designing business processes first [while] looking at the rules and their requirements. You have to help developers to understand the blending of business process management and requirements management into traditional software engineering."

Fidelity Information Services, a company that provides processing and information services to financial and real estate companies, is using Oracle's BPEL Process Manager to help it quickly develop business services like looking up customer information.

The tool also helps developers orchestrate business services -- such as ensuring that transactions are made in the correct order -- based on predefined business rules, says Amanda McIntyre, Fidelity's vice president of product management and business analysis.