Investing for a brighter, greener, more equitable future

Sustainable Investment

Subscribe to Sustainable Investment: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Sustainable Investment: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Sustainable Investment Authors: Pat Romanski

Related Topics: Sustainable Investment

Sustainable Investment: Article

Deriving Application Infrastructure

Deriving Application Infrastructure

Deriving an Application Infrastructure Strategy
For an organization to economically support an evolving application portfolio, an application infrastructure strategy must exist. The right application infrastructure strategy ensures that an organization can accommodate short-term tactical and long-term strategic business considerations efficiently and effectively, the byproduct being technical agility. However, the difficulty lies in deriving an application infrastructure strategy that works for your organization.

An application infrastructure strategy is always based on a series of activities that must be culturally and technically acceptable, and hence sustainable by an organization. The activities discussed here have been derived and distilled from an accumulation of research, and consist of the following:

  • Recognizing infrastructure patterns, which are used to resolve business requirements.
  • Developing a technology taxonomy, which identifies the emerging, critical, inconsistent, and redundant technologies within an organization.
  • Identifying the Enterprise Application Integration (EAI) types, challenges, successes, and failures within an organization.

    An application infrastructure team must be formed that includes senior socio-technical staff as well as IT and application architects from different technology-dependent segments of an organization. The term socio-technical staff refers to people who are qualified to synthesize usability engineering with software design and development. The formation of this team is the first step in creating a visible organizational framework to continually evaluate an organization's application infrastructure against emerging technologies.

    Recognizing Infrastructure Patterns
    In general, a pattern describes a problem that occurs repeatedly in a given environment over time and then a solution to that problem that can be reused for that problem's context. When this general definition of a pattern is applied to the context of application infrastructure, an infrastructure pattern is the information and knowledge[md]the "what is" and "how to"[md]that are characteristic to an existing class of applications, which are identified to facilitate solution reuse for future applications in the same class. Infrastructure patterns are blueprints to how business problems can be cost effectively resolved through the rapid mapping of business requirements to infrastructure designs. An infrastructure pattern captures experience, best practices, and the end-to-end reuse of technology infrastructure for a given type of business pattern.

    Cataloging Organizational Infrastructure Patterns
    Technology-based business solutions should always be driven by business requirements as opposed to technology. Infrastructure patterns also should be business driven. To recognize infrastructure patterns, you have to
    1.   Observe and categorize your business use cases for your organization's application portfolio according to a common theme for the type of business problem they solve.
    2.   Extract the following elements that have been applied to implement the associated business application:
    Technology infrastructure (physical, functional, and interface)
    Challenges and best/worst practices (if available) Project plan, including the predicted and actual cost model
    Types of skills and resources employed
    3.   Develop an infrastructure pattern using the elements that are common denominators to a specific type of business application.

    The objective is to categorize and catalog the infrastructure patterns that coexist within your organization. Even though organizations have unique business application scenarios, you can leverage some common infrastructure patterns:

  • The Transaction category supports business use cases requiring read/write access to data records.
  • The Publish category supports business use cases for read-only access to information and data, such as data warehousing applications and viewing files from a Web browser.
  • The Collaboration category supports business use cases for person-to-person communication centered on shared documents or groups of documents, as opposed to strictly data (Transaction category).

    The Advantages of Cataloging Infrastructure Patterns
    After you have categorized and cataloged your organization's application portfolio, you can use the derived infrastructure patterns as a blueprint to develop your future applications. By using an internally recognized and established infrastructure pattern, you can

  • Leverage architecture, technology, components, products, and the infrastructure configuration to applications that fall into a specific pattern.
  • Efficiently map business requirements to proven IT business solutions.
  • Estimate project-related development, implementation, and support costs.
  • Estimate the length of a software development life cycle.
  • Comprehend the challenges and skilled resources required.
  • Embrace any best practices and turn bad practices into learning experiences.
  • Recognize the skilled resources and responsibilities associated with a pattern.

    Developing a Technology Taxonomy
    A technology taxonomy can categorize and subdivide an organization's technology. By defining the rules for a category's membership and its boundaries, the infrastructure team can develop a common syntax and semantics for classifying an organization's common set of technologies.

    For an organization to have a successful technology taxonomy, the taxonomy must be stable and not open to misinterpretation. Follow these guidelines:

  • Ensure that all technologies relevant to the infrastructure derivation effort are categorized.
  • Ensure that all boundaries for the technology categories and subcategories are clearly and semantically defined.
  • Validate whether the category and subcategory definitions will stand the test of time. Through the development of an in-house technology taxonomy, an organization can
  • Identify major technology trends
  • Identify currently deployed technologies and component architectures and how they are employed toward business applications
  • Understand why and when technologies should be combined
  • Recognize which technology areas are mission critical

    Identifying Enterprise Application Integration (EAI) Types
    Much of the application infrastructure to support Enterprise Application Integration (EAI) activities today is focused around preventing application stovepipe scenarios, by enabling business events (transactions) in one application to be available to other applications. However, sharing business events among applications is just one type of integration, and it does not meet other types of integration needs that are becoming more critical to an overall organizational application infrastructure strategy. Examples of other types of integration include Analytic, Directory, Content Management, and Portal, which are all quite prevalent in organizations today.

    Implementing the Software Platform Solution
    to Application Infrastructure

    Taking into consideration everything that has been discussed so far, the best approach to implementing any application infrastructure solution is to take the software platform approach, where your business applications and their supporting technologies are part of a related, interlocking software architecture rather than marriages between independent initiatives.

    A software platform approach involves the following layers:

  • Platform - Groups interoperable application infrastructure solutions into their technical domains[md]for example, application server, databases, and integration servers.
  • Services - Shift the responsibility for certain nonfunctional services from the application domain to the application infrastructure domain, so it can be shared by multiple applications. The objective of services is to minimize the coupling between the infrastructure and application domains.
  • Patterns - Enable business requirements to be mapped to existing infrastructure designs that provide an end-to-end component or service-based solution for a specific class of application. Infrastructure designs are based on the application infrastructure solutions selected to form the platform.

    In the software platform approach, only those application infrastructure solutions that meet current and future business requirements are part of the Platform layer. All others are considered part of an integration initiative. Even though your application infrastructure foundation might be reduced to solutions from a few vendors, perhaps one for each technical domain, there are advantages to this approach:

  • Development and management of business solutions are simplified because the number of technologies that an organization must support is greatly reduced.
  • The life of existing technology investments is extended because an organization can integrate legacy technology with a modern foundation that developers can use to create composite applications.
  • Time-to-market of business solutions is accelerated by leveraging skill sets within a focused and proven technology selection.

    By adopting a software platform approach, organizations can develop enterprise business applications through a common set of infrastructure services connected, aggregated, and presented by a common presentation framework. Each technical domain of the platform is based on the open standards that exist for that domain, which not only preserves an organization's investment in that technology, but also enables the technical domains to be interoperable so that composite applications can leverage all the functionality the platform provides. However, it is critical for the software platform to collectively provide Quality of Service (QoS)[md]Reliability, Availability, Scalability, and Trusted Security .

    SIDEBAR
    BEA WebLogic Platform 7
    Jatinder Prem
    Bernard Ciconte
    Manish Devgan
    Scott Dunbar
    Peter Go
    ISBN 0-7897-2712-9

  • More Stories By Jatinder Prem

    Jatinder Prem is the founder and CTO of ObjectMind Inc. (www.ObjectMind.com), a start-up company focused toward providing creative socio-technical solutions to organizations that need assistance in building J2EE enterprise solutions on the BEA WebLogic Platform.

    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.