Sociability: It is All About Integration

By: Duane Hennessy

Many products today require some kind of integration with other products:

  • Integration with corporate IT infrastructure.
  • Integration with other applications.
  • Integration with legacy hardware or software.
  • Integration with new or up-and-coming hardware or software.

The ability of a software application to work cohesively with other applications or within different flavours of operating systems with very few integration issues is called application sociability.

When you build your application you need to consider whether integration with any of the above product types would add value to or reduce the complexity of your application. Annexing your application to a larger corporate application would add value to it. Using another application's functionality provided via an interface can reduce the complexity of your application by making another application perform arduous tasks.

== Brand Application Considerations ==

Let us begin by considering the integration of your applications with each other. Imagine that you have two applications:

  • A medical patient history application.
  • An inventory application for goods.

Why not allow the two to communicate with each other via:

  • A database sharing paradigm.
  • COM setup
  • TCP connection.
  • Library/events interface for each application.

You could make the inter-communication of your software applications a saleable upgrade or addition. With your two applications listed above you could allow a doctor to prescribe a remedy through the "Medical Patient History" application that shows a list of remedies currently available requested from the "Inventory Application" held by an in-house chemist. An order can be sent directly to the chemist so that when the patient arrives their prescription it is ready to go.

Consider when building your application what sort of functionality could be useful to future applications you build.

  • Does the application incorporate a major interfacing component to some other application or to a web service?
  • Is there some kind of specialised functionality or calculation that could be leveraged by another application?
  • What sort of integration would allow the user to create macros or scripts to automate your application?

== Latest Technology ==

Integration with the latest technology is a winning strategy for software sales. Consider how many applications were quickly available to interface with Apple's iPod. Mobile phone technology is another example of successful application integration utilising the latest technology. Part of your integration strategy with new technology should be to choose a programming language that provides integration libraries fairly rapidly after or before a new technological release. Java is one such language with free compilers, libraries and free IDE's available for download from Open Source archives. The Python language was incorporated into the Nokia 60's series mobile phones allowing developers to write scripts to customise Nokia phones.

Many vendors of new technology provide free libraries and specifications to their systems to promote the creation of useful applications for their products thus increasing the their product market value.

== Corporate Systems ==

Corporate systems are usually behemoths comprised of off-the-shelf products customised to meet the company's specific needs and smaller departmental applications built to meet each department's individual needs.

Departmental applications usually require some kind of integration with their corporate databases. Corporate database connection is a simple integration and need not be considered here except to say you need to know the connection string or interfaces to company data repositories.

How do you integrate with corporate applications though? Applications such as Hummingbirds 'DM5' document management system and Telelogic's 'System Architect' provide integration ability through COM objects and published object models. In fact both Hummingbird and Telelogic use Microsoft's VB6 and VBA libraries to incorporate their own applications into the corporate environment. Applications built for the Apple Mac provide both Apple Events and the use of Python, Java and Cocoa to integrate with Apple applications and the Apple OS.

Integrative applications can:

  • Increase the marketability of your applications.
  • Make use of current company data.
  • Reduce the complexity of your applications by leveraging from functionality provided by extant company applications or other applications you have built.
  • Utilise the latest technology increasing the value of both the latest technology and the software you build.
  • Provide an end-to-end solution option when your applications can integrate with each other.

Computers
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 
 • 

» More on Computers