Practices for Integrating Applications

Best Practices for Integrating Applications Development

Introduction

Enterprise application integration remains an age-old challenge for software product and project development. The emergence of new technologies for hosting infrastructure, platform, and software across locations, including on-premise, managed, and cloud-based data centers make integration process even more demanding and complicated. The traditional application integration approaches do not meet the challenges of changing business needs and therefore, pose threats to the agility and flexibility of an organization. Application integration, if done properly with the right choice of technology and best practice considerations, can deliver an immense strategic and technical value. How an enterprise pursues application integration practices, can really make a difference between a project’s pitfall and success. In this paper, Kovair discusses the best practices to be adopted by the stakeholders while implementing an effective application integration solution within an organization.

Know Your Goals

Defining the goals of your integration
  • The business drivers for integrating applications
  • The information available at management’s end
  • The existing applications and services under management
  • The core business processes and their dependencies
  • The integration scenarios, such as Application-to-Application (A2A), Business-to-Business (B2B), and Cloud-based applications (Software-as-a-Service – SaaS)

Consider the Right Integration Approach

Selecting the right integration technology is the next important step once you have set your goals. Choose an Integration Platform instead of multiple ad hoc point-to-point solutions that:
  • Gives you a one-stop-solution for all your integration needs
  • Provides fast and simple deployment options
  • Requires limited IT Support
  • Offers improved adaptability and agility
  • Supports Functional Reusability
  • Provides end-to-end traceability across toolsets and artifacts
  • Has an independent Change Management system
  • Delivers interoperability in a loosely coupled framework
  • Helps to orchestrate rather than just integrate tools of different functions and technology
  • Generates configurable reports for visual monitoring of integration success and failure
  • Supports both linking and syncing mechanisms along with data migration needs
  • Meets the needs of enterprise-class security
  • Supports multiple versions of the same tool or application
  • Can easily accommodate the future replacement of any application or addition of new applications to your application ecosystem in a plug-and-play mode

Be Aware of Technical Considerations

Before driving an application integration project, the project stakeholders need to consider and analyze the specific technical requirements for:
  • Semantic and Metadata Management
  • Validation of data for correct structure and format
  • Standard and Advanced Transformations
  • Information Consumption, Processing and Delivery
  • Intelligent Routing
  • Connectivity and Adapter Management
  • Governance across all applications

Know the Functional Requirements

Project stakeholders need to identify:
  • Applications or tools to be integrated
  • Information/data required to be synchronized across tools
  • Mapping of metadata between applications or tools
    • Avoid meaningless data replication if it does not address any specific business need
  • Relationships between artifacts of different tools to be synchronized
  • Integration rules to follow
    • Identify which tools and items need bi-directional data integration and which need one-way integration
    • Identify the conditions for which data would flow from one tool to another
  • Data latency requirements
    • For some tool, it may be sufficient to synchronize the data on a daily basis and for some other tool, it may be required to synchronize data in every minute

Know the Non Functional Requirements

The non-functional requirements to be considered are:
  • Performance
    • Determine the data volume that would be transported on a regular basis – Define performance metrics upfront
    • Determine the permitted latency limits
    • Determine the growth of data over the years
    • Plan hardware configuration to support probable data volume up to at least two years
  • Scalability
    • Understand the scalability options
    • Plan for load balanced servers based the load of on your data flow
  • Security
    • Understand and document security requirements
    • Ensure compliance with organizational data security policies
    • Encrypted storage and transport of security credentials
  • Reliability
    • Understand and document reliability measures needed
    • Check whether the integration framework will provide the required reliability measures
  • Availability – Failover
    • Understand the availability and failover options
    • Plan for configuring these options based on your availability needs
  • Migration
    • Define your data migration needs
    • Check with the vendor – how to implement data migration
  • Monitoring
    • Failures and faults at the services/ adapters level
    • Failures and errors at the data synchronization level
    • Notifications/Reporting for failures/ errors
    • Integration Health Dashboard

Focus on User Management

User Management is done differently in different applications or tools. Some tools support LDAP (Light-weight Directory Access Protocol) based user management while others have their own user management functionalities. Application integration requires user synchronization between different tools. An Integration Platform should provide the following options for it:
  • LDAP/ Active Directory based User Management support for all applications
  • Automated User Mapping Policies between applications
  • Manual User Mapping between applications
  • Any central User Management system shared by all applications

Work on Project/Template Management Setup

Organizations deal with hundreds of projects. Reusing the configuration setup done for integrating several applications across projects is the key to success of an Integration Platform deployment. An Integration Platform should support the following best practices to facilitate an integration setup:
  • Automation in Integration Setup for large number of projects
  • Integration Templates for different project types
    • Set of applications to be integrated
    • Metadata mapping between objects from different applications
    • Set of Integration Flows or Rules
  • New projects inherited from the above templates based on the project type
  • Templates administered by Process/ Tools Group
  • Project specific Integration Setups are managed by Project Managers

Select Integration Adapters/ Connectors

Stakeholders need to identify the integration use cases upfront and ensure that the adapters/ connectors can support easy and effective implementation of those use cases.
  • Identify the tools, 3rd party and homegrown, for which Integration Adapters would be needed
  • For standard applications, discuss and define:
Tool Event Action
IBM RequisitePro – Requirements Management Tool A Requirement is approved for implementation in a particular release.  
HP Quality Center – Test Management Tool   RequisitePro Requirement is replicated in Quality Center as a Test Requirement.
HP Quality Center Test Cases created by Tester in Quality Center to test the functionality provided by the above Requirement. Test Cases are executed and Test Results are recorded in Quality Center.  
IBM RequisitePro   Test Results for the Requirement are replicated in RequisitePro.

Learn the Deployment Stages

Follow the best practices for deploying an integration platform.
  • Staging environment
    • Set up Development environment
    • Set up Test environment
  • Testing
    • Configure Test Cases to verify your Integration Use Cases
    • Execute Tests on Development and Test servers
    • Perform load testing
    • Perform security testing
    • Perform reliability testing – check the scenario when tools are down or offline
    • Perform availability and failover testing
  • Production
    • After successful testing, deploy the integration platform and adapters on Production servers
    • Ensure failure/exception alerts are sent to the right people
    • Set up regular backup of the relevant integration components

How Kovair Omnibus Integration Platform Helps

Kovair Omnibus is the leading Enterprise Service Bus (ESB) integration technology available for Application Development and IT tools. With standardized SOA based tool-specific Omnibus adapters, one can create his or her own tools ecosystem. These tools can be from any vendor, or any legacy data, or any custom homegrown application development and IT tools. Kovair’s Omnibus integration technology has major advantages that are not typically found in the vendor-specific point tools or even a suite of tools.

Conclusion

Organizations continually face challenges in finding out ways to leverage more ROI out of their existing infrastructure and applications. Having an effective Application Integration strategy is critical to taking on this daunting challenge. Choosing the right integration technology and following the best practices to establish an agile, reliable and scalable platform that is equipped to extend the life of your existing proven applications can meet your future application development demands.