Building Agile Applications Using Fusion Development and Oracle Enterprise Architecture Principles

According to Gartner Research, medium- to large-scale IT organizations spend, on average, no more than 20% of their budget on new projects. That seems like a very low number given the speed at which business is changing. From new social media-based marketing techniques to open Web 2.0-style collaboration for customer service, to modern predictive analytics, business seem to be on a march towards fundamental transformation, while the underlying IT always seems to be catching up. So, why do we spend such a small proportion of the IT budget on innovating and modernizing to meet the demands of the business? The problem is that keeping the lights on in our IT organizations is becoming an increasing cost to the business and gobbling up a larger chunk of the IT budget every year. If IT is to keep pace with the level of demand for information from the business, the costs will likely grow at the same pace or faster, unless the enterprise implements a fundamentally new approach to managing IT applications and systems.

In this paper we introduce two approaches — Fusion Development (an application development process) and Oracle Enterprise Architecture (an architecture development framework and process) — to governing the way IT organizations manage changes to business demands and requirements without ripping and replacing the existing architecture and technology foundation. This paper discusses the application of Fusion Development and Oracle Enterprise Architecture at two companies, British Telecom (BT) and Pardee Homes.

Enterprise Application Development Challenges

Over the past decade, most enterprises have responded to information demands by procuring or developing new applications without much consideration of the underlying technology foundation. This is understandable behavior given that the immediate priority was to deliver discrete functions, such as billing and human resources, delivered by packaged or home-grown applications. Today, as those types of enterprise resource planning (ERP) systems are becoming commoditized, businesses are starting to harness value by cross-referencing and correlating data from multiple systems to gain new insight about the business. In Web 2.0 parlance this is refered to as a mash-up, in which data from many sources is combined to deliver a rich, composite view to the business user. Increasingly, this is moving from a nice-to-have feature in our enterprise applications to one that is absolutely required to remain competitive in almost all areas of the business. However, the transition to that form of composite enterprise application architecture is challenging, mainly for the following reasons:

Another unique aspect of these kinds of composite applications is that they go through much faster lifecycles since the speed of change of requirements are getting faster as overall the speed of change increases around business strategies and processes. This necessitates more frequent additions and changes to the application, which traditional software development processes are not able to handle very well. The modern enterprise application development needs to be much more responsive and iterative in nature if it is to deliver features on-time to the business. As a result, with the new application architecture, driven by fusing information from disparate data sources, IT must also take a fundamentally new approach to its application development capabilities so that it is able to deliver modern enterprise applications faster and more cost-effectively so that it prevents a cost explosion as your needs for information continues to grow. This new approach must be comprehensive and span all the way from architecture development to implementation to change management.

Oracle Fusion Development

Before we get into Fusion development and the Oracle Enterprise Architecture Development Framework (OEAF), let's consider a modern apartment complex in terms of how it is designed. Units have different number of bedrooms, different interior designs to fit the owners' needs and yet follow a common architecture for common services like water, electricity and gas. The modern IT organization is similar in the sense that while individual lines of businesses and departments might be asking for different types of applications, systems and data, there needs to exists some a common architecture that provides a framework upon which new applications can be built easily and quickly by reusing a lot of those common patterns and infrastructures services, such as information storage, security, monitoring, etc. If we are able to reuse these basic services repeatedly, the focus for application development can transition from coding applications to composing applications from existing services.

This is the fundamental approach of Oracle Fusion Development - solutions are assembled, not written. Solutions are built by assembling services together and in the process transcending disparate technology boundaries. Oracle is pioneering this new style of development. Oracle Fusion Middleware is making this happen here at Oracle. Oracle Fusion Middleware is the convergence layer for existing and future Fusion applications and services. Fusion applications and services are built on Fusion Middleware infrastructure and utilize diverse technologies, including Service-Oriented Architecture (SOA), Business Intelligence (BI), Identity Management, Enterprise Content Management, Coherence, Business Process Management (BPM), Complex Event Processing (CEP), and Application Servers.

In principle, Fusion Development is very similar to Extreme Programming and Iterative development, and is heavily influenced by SOA. The focus is on applications that can be quickly built and easily managed. Figure 1 illustrates the key steps to building such an application using the Fusion Development approach.

Figure 1: Fusion Development Cycle

  1. Model and Analyze - Having a common understanding of how the business functions, which applications and people are involved and what are the key business drivers is essential element of Fusion development. This requires bringing key business stakeholders with their IT counterparts to collaborate and iron out any differences in understanding. The result is well-defined process models, schemas, and Key Performance Indicators (KPI) that eliminate any concerns that IT can't deliver what the business requires.
  2. Create Service Layer - Services play a very important role in the concept of assembling applications. In this step, we build a portfolio of reusable data, business and application services. These become the building blocks to compose new applications with utmost speed and flexibility. (See Data Tier Caching for SOA Performance.)
  3. Enable Visibility - Business decisions are driven by insight. During this step, these insights are delivered to the business user using BI, Event Driven Architecture, Essbase and BAM. Using real-time and historical intelligence, business users to monitor health of a business and take corrective actions.
  4. Build Rich UI - In this step, users get a personalized view of their dashboard in a rich, Web 2.0 environment. It brings together content, workflow, and dashboards and offers a seamless UI experience. (See Integrated Real-Time Intelligence Using Oracle WebCenter, Oracle Coherence, and Oracle Business Activity Monitoring)

Oracle Enterprise Architecture

Since Fusion Development enables rapid application development through composition instead of coding, the barriers for an enterprise to make changes are lowered. But this isn't necessarily always a good thing for IT organizations. Rapid application development and changes can incent rapid decision-making without a full understanding or assessment of the true impact of those decisions. Just because we can quickly change doesn't necessarily mean we can always recover from big mistakes. In fact, rapid and extreme programming techniques can sometimes expedite the process of failure if not properly governed by a common vision and a well though-out decision-making framework. The Oracle Enterprise Architecture Framework (OEAF) and the Oracle Architecture Development Process (OADP) provide a decision-making framework that can be used with Fusion Development to provide IT organizations with a mechanism to make fast decisions that align with a central vision and direction. The point of using OEAF and OADP is not to get in the way of agile development, but steer it in a way that maximizes the value of IT to the business.

The Oracle Enterprise Architecture Framework is an EA framework (similar to TOGAF and Zachman), but specialized to realize three key principles:

The OEAF is organized into the architectural views illustrated in Figure 2.

Figure 2: Oracle Enterprise Architecture Framework

The Oracle Architecture Development Process (OADP) is a companion to the OEAF, providing it with some prescriptive guidance on the sequence of decisions that should be made before we start developing applications and other IT capabilities. The process can be leveraged by senior IT management to lay a foundation for all day-to-day operational decisions. In a very simplistic view, OADP provides a process for defining the vision for the future-state of IT and a systematic way to arrive at that future state through appropriate architecture and IT governance methods. At a high level, the OADP process is broken out in the phases illustrated in Figure 3.

Figure 3: Oracle Architecture Development Process

OADP is a highly collaborative and iterative process whose assumptions are constantly refined and tested to ensure that the IT organization is operating as effectively as possible to deliver on requirements defined by the business. Also, OADP advocates a mindset based on principles and performance metrics to manage IT projects. If those principles and performance metrics are clearly articulated and understood by the organization, there is no need to micromanage projects. This concept is exemplified in the British Telecom use case described below, in which the Chief Architect managed the entire British Telecom IT organization using 12 simple rules.

IT Rationalization at British Telecom Property Group

British Telecom is a 100+ year-old global corporation, operating in over 170 countries worldwide, with more than 100,000 employees. British Telecom's Group arm handles the procurement of all BT goods and services, managing over 10,000 properties, running 50,000 vehicles. Over 150,000 people require daily access to 10,000+ buildings in which to work and meet.

The BT Property systems estate had grown organically through first and second generation web applications and stood at 46 systems. These systems utilized a wide variety of application and database technologies, including ColdFusion, ASP, .NET, J2EE, Oracle 8i, Oracle 9i, SQL Server, and MS Access.

Because of this organic system growth, business processes sat in fragments of code in web pages, as stored procedures in databases, as cells in spreadsheets, and — all too often — just in peoples' heads. For customers, these issues manifested themselves as a very poor user experience, plagued by low systems reliability, low availability, and thus reduced utilization of the BT Property estate. The effect on the actual property estate was tangible, as building maintenance problems went unreported and unresolved.

This state of affairs was recognized by both BT Design (the BT IT services delivery organization) and BT Group Property (the customer). BT's application management were increasing sharply, with a corresponding decrease in trust in an important BT function. BT decided to rationalize their systems by putting together an enterprise architecture framework and standardizing the application development.

BT UniApp Framework

BT Procurement worked with BT Enterprise IT. BT Procurement's strategy was systems rationalisation, service orientation, and agile delivery - whilst delivering a radically improved but lower cost service to the customer. The new architecture of the UniApp is designed to break us away from the dictates of IT fashion, to exploit BT's wider software investments and become a foundation for reducing IT spend.

The new UniApp architecture provides BT's business support operations with a standards-based, resilient, and scalable platform from which to deliver IT services to the wider business. Most importantly, it provides a sustainable platform that can accommodate the broadest range of human and automated business processes and workflows within its scope (BT Real Estate in the first instance, but applicable to any other niche business support operation without a dedicated vendor-supported software stack). BT put together the Fusion Middleware-based Uni-App Framework to provide a rapid, business process-led development environment, methodology, and delivery capability to solve this critical business problem. The UniApp Framework is built along the same principles as prescribed by OEAF.

BT laid out the golden rules. Take a look how they compare with OEAF principles descrbed previously:

A Quick Look Inside the Uni-App Framework

The BT UniApp is a three-layered architecture separating the user experience/page flow from the workflow and data layers. The user experience is based on the Oracle Application Development Framework, presented to the user by the Oracle WebCenter Framework. The workflow element is handled by Oracle SOA Suite for both human (BPEL for People) and systems workflow and integration. The database layer is, as one would expect, entirely abstracted from the user, although with very strong governance from a design and development perspective. This provides BT with a rich, comprehensive, and robust environment in which to design, build, and deploy Web 2.0 applications to meet requirements in the BT Enterprise Management space, where no off-the-shelf Oracle ERP applications are available. (See Figure 4)

Figure 4: BT UniApp framework – Oracle SOA Suite for process management, Oracle BI EE Suite for business reporting, Oracle WebCenter for rich Web 2.0 experience and user interaction

BT was able to wrap this approach in a rigorous governance structure and process that allowed the organization to evaluate the applicability of the solution to a given problem. That process ensures that Oracle ERP applications are evaluated first, eliminating duplication of functionality.

The principles of the UniApp (which are maintained through the aforementioned governance process) stress the need to leverage the core native capabilities of the Oracle products that make up the components of the UniApp. When required functionality cannot be met with these core products, and a compromise is required, the compromise will always comply with the architectural principles set out for the UniApp. In practice, the need for user stories based on such compromises rarely occurs; the agile process reveals what the user really wants. This stands in sharp contrast to the previous approach, in which users stated not only what functionality they wanted, but also how the functionality would be implemented. The agile approach removes preconceptions from the design process and allows the capabilities of the components to be demonstrated. The long-term cost reduction benefits to the organization from maintaining a standards-based approach far outweigh the short-term needs of an individual delivery. The aim is composition, not customization.

Benefits Realized by British Telecom

BT's solution took about five months to build, using an agile methodology implemented by a team of four onshore and 10 off-shore developers. The BT Buildings website records over 40000 hits per day, and the solution supports over 40 key BT Property processes, including those related to critical safety and security functions.

Fusion Development at Pardee Homes

Let's now take a look at another example in which principles of Fusion Development were put into practice.

Pardee Homes, a major home builder in California, has been building award-winning homes and neighborhoods for more than 87 years. To support their business, Pardee Homes continues to innovate and strengthen their IT system by investing in the latest and greatest of technologies.

The company chose to overhaul its entire IT system with an upgraded ERP system, and new Sales, Options, Warranty, and Scheduling systems. The overhual also included enabling seven disparate systems to talk to each other in real time, supporting about twenty cross-application transaction types. Pardee's requirements included support for over a thousand concurrent transactions while guaranteeing a reliable message delivery. Also required was the ability to view the status of these transactions across various applications, with an easy recovery process in case of delivery errors.

Pardee Homes also wanted to automate its purchase order and invoice approval process. Automated document scanning and approval workflow initiatiion were to be included, providing users with task lists and visibility into the documents that needed their approval.

Overall, the solution had to be flexible and able to accommodate future systems with the minimal effort. Utilization of industry-leading technology and methodology was crucial to this solution in order to allow Pardee Homes to maintain its leadership in the home-building industry.

Pardee Homes adopted the Fusion Development approach to assemble its solution, leveraging components of Oracle Fusion Middleware, including Oracle BPA Suite, Oracle BPEL Process Manager, Oracle Web Services Manager, Oracle ADF, and Oracle Application Server.

Figure 5: Pardee Homes - Business Process Architecture Map

Figure 6: BPEL Process Manager to create business & data services

Figure 7: Integration Console to get operational status of key business processes

The following table summarizes the Fusion Development approach adopted by Pardee Homes:

Fusion Development Cycle Pardee Homes Approach
Model and Analyze Involved Business and IT stakeholders to document and improve business processes using Oracle BPA Suite.
Create Service Layer Leveraged Oracle AIA and Oracle SOA Suite to define and build a layer of reusable services across their disparate applications.
Enable Visibility Business events used to initiate processes and sensors embedded in these processes fed to a dashboard to provide visibility into the integration errors. Oracle Human Workflow was used to enable visibility into approval workflow. Oracle SOA Governance provided visibility to all SOA artifacts.
Build Rich UI Built dashboards using Oracle ADF to view integration errors, approval worklist and to display documents that require approval.

This new solution enables the business to adjust quickly to market conditions when processes change. New sales are now immediately reflected in Customer service system. Completions of Option construction is immediately reflected in Vendor Portal allowing vendors to bill quickly.

Conclusion

This paper describes and illustrates two approaches, Fusion Development (an application development process) and Oracle Enterprise Architecture (an architecture development framework and process). British Telecom's UniApp Framework and Pardee Homes' integration approach bear close resemblance to OEAF and Fusion Development principles, respectively. Fusion Development offers a new approach to assembling, rather than coding, new business applications. Together with OEAF, it offers an end-to-end approach to architecting and building new composite applications - applications that can be quickly developed, rapidly changed, and easily managed.

Mike Blackmore, Enterprise Architect at British Telecom, is responsible for leading the high level technical relationship between BT and Oracle, engaging with BT and Oracle teams to make succesful product and technology decisions.

Hamza Jahangir is a director of Enterprise Architecture at Oracle, and is co-author of Applied Oracle Security: Developing Secure Database and Middleware Environments (McGraw-Hill Osborne Media).

Harish Gaur is Director of Product Management for Fusion Middleware at Oracle, and the co-author of The BPEL Cookbook, from Packt Press.

Basheer Khan is an Oracle ACE Director and president and founder of Irvine, California-based Innowave Technology. Basheer was named Oracle Magazine's Integration Architect of the Year 2006 and Oracle Application Users Group (OAUG) Member of the Year in 2003.