EA Deliverable: Architecture Strategy: Application Types (sample)

Technology is not the dominating concern of application developers. However, client/server development is radically different from terminal-host systems. As in the main portion of the EWAS project, the team suggests a categorization of application types to deal with the different options the enterprise has for implementing applications.

In day-to-day business, the application developer wishes only to deliver a tried and true product. Packaged solutions are sometimes appropriate, but if they are built in a traditional manner, they will have many of the same limitations as the heritage systems. Some applications automate an unchanging business function, while other applications enable dynamic functions that render a traditional solution obsolete every two to three years.

The analysis must begin with clarity regarding the unchanging and changing components of the business. In commercial operations, such as Paper, the best strategies are modernization through hybrid approaches. While in more static environments such as Finance at ABCModel2 Company, the best strategy may be to buy. The “buy” strategy should be tempered by purchasing applications that have well defined interfaces so that they can be integrated to other applications using our services-based architecture.

Re-hosting of applications (converting from the mainframe to client/server) is not encouraged. Although there are industry examples of success, most industry experience suggests that it takes too much time and no business benefit is attained by porting an application.

When ABCModel2 Company details the application architecture, applications may be grouped by application profiles. Application profiles may be expressed in technical terms (e.g. transaction rates, distribution, mission critical or number of users), as the team did for the technical architecture. For this section, it is more useful to characterize them by business criteria. The figure defines four application profiles that capture the unique business nature of the respective technology investment.

The problem of IS and the users they serve is that of identifying the lowest risk solution consistent with meeting the business need. The following section examines the profiles in more detail to understand what they entail. It will cover:

Custom applications refer to ABCModel2 Company applications which are custom developed. As previously stated, the EWAS team assumes that this will be done with an appropriate life-cycle methodology. Today, ABCModel2 Company uses relational databases and transactional-based custom solutions. New styles of application development will change the way ABCModel2 Company develops in the future. This will be discussed further in the commercial solutions section. Commercial solutions bring with them significant infrastructure components that multiply the productivity of the developer, while custom solutions must start from scratch or leverage on existing applications.

Business Risk

The most significant business risk of custom applications is the length of time it takes to design, build and implement them. This can make the application irrelevant by the time it is deployed. This risk can be exacerbated by budget cuts, scope changes and business changes which are more likely to occur with the passage of time.

Support costs can be considerable. According to comments from the industry press, the potential is high that development of client/server applications will result in applications that are difficult to maintain and distribute.

Obsolescence is a risk where the fundamental principle of flexibility is ignored or missed. The obsolescence may happen with the application code, or the hardware and operating system software, or both.

Integration with existing systems is a difficult issue, unless ABCModel2 Company strives to build a flexible information infrastructure. Custom solutions are often proprietary or closed with a bent toward closed architecture. Closed systems are often difficult to impossible to integrate.

Advantages

Where business requirements do not change rapidly, custom solutions offer the capability of providing customized business services to the enterprise. For example, applications that support security or historical data analysis.

The challenge is to separate the unchanging from the changing elements of the business. ABCModel2 Company should not develop custom solutions for highly volatile areas of the business.

Large application packages provide specialized business requirements ranging from finance to human resources. Large packages have no consistent pattern of using the infrastructure. ABCModel2 Company must understand the packages to integrate them successfully.

The above figure represents the client/server financial applications from Dun and Bradstreet. Data management (Transaction Processing and Decision Support), legacy access (InterQ) and EMAIL services are integral parts of D&B’s application architecture. The front-end client is Powerbuilder for transactional systems and Microsoft Access for Query access. The RDBMS is Sybase. If ABCModel2 Company were to purchase D&B, D&B would supply a significant infrastructure capability. There are associated advantages and disadvantages.

Packaged Solutions lessen the time-to-market period by providing large parts of the finished application. However, if the business fit is less than 80% or the requirements are volatile, packaged solutions will have the same business risk as custom solutions. In addition, vendor dependence is a major risk for both the business and the technical infrastructure.

Integration risks increase due to lack of control. The industry has struggled for over 10 years to wrest control of IT strategy from the major hardware vendors, but it is distressing to note that many businesses are turning the destiny over to the software package vendors. Software packages should not be rejected entirely, but more caution is required than most companies are exercising.

Purchasing application packages entails subtle trade-offs. A package may yield time-to-market advantages, but could involve unexpected costs for installation, interfacing to existing systems, tailoring and resolving incompatible architectures, as well as maintaining existing systems. A close examination of the factors below will help make the decisions:

Time-to-Market: How critical is the application’s delivery time? What are the acceptable trade-offs between the business advantage in time-to-market and IS architecture, life-cycle costs, and integration to other applications? What support can IS expect from senior management when IS strategy is sacrificed for corporate business advantage?

Application Domain Knowledge: Who has been identified as the application domain expert? Do they have enough time to devout to requirements definition and system testing? What IS analytical skills are available in the application domain?

Application Flexibility: Will the business trade some business requirements for the quick availability of a packaged solution? To what degree is the new application expected to integrate with the existing applications? How volatile are the business requirements? How tightly integrated is the application to the underlying technology? If it is highly coupled, then other alternatives should be considered. If the coupling is moderate, then flexibility will be sacrificed and new technology may be difficult to deploy. If the integration is well layered and the applications are separated from the technology, then this is the best kind of application architecture.

Maturity of the ABCModel2 Company Application Development Organization for Client/Server: In the ADE workshop and document, the team discussed the maturity of the organization. If the development organization is not familiar with structured techniques, project management and formal system development methodologies, they should look to packaged solutions, systems integrators and consultants to help.

If ABCModel2 Company IS successfully integrates packaged applications, industry statistics suggest IS will double its ability to deliver integrated application portfolios (custom and purchased) in the future. Buying packaged applications should not be viewed as a quick and easy alternative to development. It should be viewed as part of the overall application development strategy. ABCModel2 Company must exploit progressive development tools and leverage advanced process models and repositories using purchased applications as one tool in providing business solution.

The next points look at how priorities may be arranged in selecting packages which will meet the technical and business requirements as closely as possible.

When packages are bought, priority should be given to packages that are extendible. These packages have their own development environments. For example, Oracle Financial has a complete development environment and life-cycle methodology. In addition, preference should be given to any package with business models.

If the package comes with an ADE that is already in use by ABCModel2 Company (e.g. Powerbuilder), this package should get additional priority.

Where business functionality overrides the technical architecture, the data entities and business rules must be reverse-engineered. This will require IS to provide robust interfaces to the system. The infrastructure required to accomplish the integration is provided in later sections.

Business Risk

If the business is volatile, then customization of the application may lengthen the time it takes to design, build and implement. This risk can be exacerbated by budget cuts, scope changes and business changes which are more likely to occur with the passage of time.

Maintenance of highly modified systems may be difficult.

Integration risks increase due to lack of control. Integration with existing systems is a difficult issue, unless ABCModel2 Company strives to build a flexible information infrastructure. Many packaged applications are closed, and they are difficult to integrate with other client/server systems. The interfaces should be easy to customize, and the environment should provide a reliable methodology to maintain them.

Advantages

Packaged applications provide a quicker time to market.

Packaged applications may provide a quick and reliable technical and business infrastructure.

Commercial Applications are applications that may be purchased off-the-shelf. The market is dominated by Microsoft and Lotus, with a growing number of specialty vendors. The commercial solutions figure shows the three-tiered architecture proposed in Microsoft Exchange. Commercial vendors are developing infrastructure applications with highly advanced functionality, and these come with a significant infrastructure component.

Information Exchange is the integration of electronic mail and communications with information sharing, time management and scheduling, forms and applications development, and enterprise/system management into a single infrastructure/platform.

The application component of Microsoft Exchange is available off-the-shelf, or the application can be custom-developed by users, IS specialists or both. Exchange has a growing suite of Exchange based applications, many coming from the Lotus Notes environment.

Business Risks

Integration difficulties may arise due mainly to data management issues. The industry has well-documented instances of the problem of integrating Lotus Notes into a regular application from conventional systems.

Technological risks arise when products from several vendors are integrated to provide a solution. Vendor diversity increases risk. The way to mitigate this risk is to actively pilot industry leading products in each key business category, then select the best groupware product.

The application framework of groupware products provides a different kind of integration issue. Structurally, these application frameworks are different, and work best within their own architectural framework. This includes the ADE, the technology and the execution environment. It is possible that the only mitigation of risk is to define the business interfaces very carefully to assure ease of integration into the enterprise data management and infrastructure.

Advantages

Commercial solutions may reduce the risks associated with time-to-market and obsolescence. This may be the fastest way to address business user needs for information.

Commodity pricing is an advantage. Vendors, such as Lotus, are driven by the mass market which reduces the risk of obsolescence. The vendors must respond to competition and mass market requirements.

Hybrid solutions take strategies from all the previous groupings, and combine the components into application solutions. In theory, hybrid applications should provide the best business solutions, assuming the IS organization has the maturity to handle all the variables. Hybrid solutions will blur the lines between groupings. In addition, hybrid applications blur the lines between computing styles (discussed later).

Groupware vendors are creating hybrid applications as they add more functionality to the groupware products. Would it be unreasonable to speculate that in the near future, Microsoft, for example, might include transaction processing within Exchange?

Business Risks

Vendor relationships provide one of the largest risks. Hybrid applications require interaction between many product vendors, systems integrators, consultants and hybrid application development systems. This diversity will increase the risk.

Support costs may increase due to the complexity of the development environment, testing and deployment. In addition, because integrators and consultants are involved, the knowledge may not be transferred easily to ABCModel2 Company IS.

Integration will take a different flavor than in the previous application solutions. Integration may be most difficult within the ADE due to the problem of developing applications with tools that have completely different technical architectures and frameworks. Version control, component integration, testing and deployment will become significant issues.

Technological risks will increase as the number of product vendors increases. Knowing what technologies work with other technologies, keeping them working and applying change management will offer significant challenges.

Advantages:

The potential exists to provide the “best of breed” fit to the business. The assumption is that “the best of the best” provides the solution with the most quality for the enterprise systems.

Leveraging the knowledge of consultants and integrators will speed the time-to-market, while reducing the risks inherent in implementing new technologies and procedures.

The foregoing commentary on business risk and evaluation is summarized in the above table. In an organization that faces dynamic change, commercial solutions may provide the least business risk. Where the business models are relatively static, custom solutions may provide the least risk. Packaged solutions provide the least risk where the application fits the needs or the IS maturity level in client/server technology is low.

Hybrid solutions are often used when an organization requires a new application that is enterprise-wide and very large. A very large application would entail several thousand users geographically dispersed, and the IS infrastructure would need to be designed and built before the application is deployed. A specific example is system and network management applications for the enterprise.

Disclaimer: Blog contents express the viewpoints of their independent authors and
are not reviewed for correctness or accuracy by
Toolbox for IT. Any opinions, comments, solutions or other commentary
expressed by blog authors are not endorsed or recommended by
Toolbox for IT
or any vendor. If you feel a blog entry is inappropriate,
click here to notify
Toolbox for IT.