ISVs and Integration
Helping Your Brainchild Play Well with Others
The orginal article appeared on NewsForge on April 10, 2004.
George Santayana wrote in 1905, "Those who cannot remember the
past are condemned to repeat it." Nearly 100 years later, independent
software vendors should heed his aphorism. Too many ISVs create
software as though it will exist in a vacuum, humming along doing its
thing without the need to interface with other enterprise applications.
It was this type of thinking that created the enterprise application
Back when enterprise application development first became important, it
was a case of "who knew?", as in, "who knew all these applications
would one day have to play well with each other?" Today, however, there
is no excuse. Every developer should know that, to paraphrase Clarence
in It's a Wonderful Life, every application touches so many other
Knowing it is one thing, though, and doing something about it is
something else. Here are 10 things ISVs need to keep in mind when
developing new applications.
Web services are here to stay No matter what type of software you're
creating, it should contain secure Web services for any back-end
functions -- authentication, privilege levels, encryption, logging,
auditing, etc. Web services and service-oriented architectures are
becoming increasingly important in today's enterprise. If you can't
connect to them, your software may not get a second look.
Create true interoperability Interoperability is one of those words
that crops up a lot in press releases, but its meaning seems to vary
depending on who's using it. True interoperability, however, is really
an automatic function rather than a manual one. Two applications should
be able to deal with each other natively without a great deal of
gnashing of teeth. If someone has to create a connector manually every
time your application needs to interface with another, your application
will quickly become bloatware. It probably won't work well across the
board, and users won't be able to get the support they need. Make it
simple -- build in automatic interoperability.
Look beyond the walls Interoperability isn't limited to internal
systems. Financial institutions and manufacturers, for example, both
need applications to interface not only internally with each other but
also with suppliers and dealers as well. Making sure information such
as purchase orders can move from one system to another -- no matter
what that "other" is -- is key to taking advantage of technology. Every
time something needs to be re-keyed, it creates an opportunity for
error. Keep data exchange automatic without either side having to
change their systems.
Allow for multiple sources Most communications applications draw
information from a variety of different sources, including LDAP,
databases, email, CRM, and HR systems such as SAP and PeopleSoft. Each
of these has a protocol, so the more technology-agnostic you can make
your application, the better able it will be to serve as a central
point for all of them. This is particularly true when information is
integrated into a portal -- or maybe sent to someone else's portal for
aggregation. Becoming the conduit between all of these applications
makes your software more valuable.
Emphasize security, especially in HR HR applications touch more users'
lives than others, because their data pertains to everyone within an
organization. HR is the starting point for all personnel data, such as
payroll, vacation time, healthcare benefits, authorization to access
certain systems, passwords, and more. As such, there is an even greater
need to integrate them with other applications. At the same time,
however, there is also a greater need for security and availability for
the same reasons, and the more difficult it is to make the connections,
the more likely it is something can go wrong.
HR information escaping through a wormhole can be embarrassing for an
organization. But if the data are covered under laws such as HIPAA, the
leak can be costly. The more rekeying that's required, the greater the
likelihood of a leak. As the CIA says, if two people know, it's no
longer a secret. Passing information directly from system to system
based on a set of rules minimizes the potential risk.
Simplify manufacturing Earlier I mentioned manufacturing in terms of
working with suppliers and dealers on a fairly simple level. Yet the
truth is, manufacturing requires a complex series of relationships. You
have to manage multiple internal processes, such as scheduling,
materials handling, and shipping and receiving, as well as external
processes all along the supply chain. The paradox is that while
manufacturing is one of the industries that most needs technology
integration, it's one of the least integrated industries.
Some organizations try to apply a full Oracle or SAP suite, but because
they're focused on internal processes, it only solves half the problem.
Your opportunity is to give manufacturers a turnkey system that easily
matches up to supplier and dealer systems, whether those systems are
purchased off the shelf or custom-designed. The more you can simply the
entire manufacturing process, the more ingrained you will become with
Leverage single sign-on This is one of the "holy grails" of
productivity. Users don't want to spend their time looking up and
entering passwords in order to do their jobs. They want to be able to
sign on to the network once and have their login information follow
them as they go. Good integration tools allow you to let that happen,
especially with older applications that were built when networks were
uncommon. Offering single sign-on puts you at a tremendous advantage in
the battle for the hearts and minds of corporate decision-makers.
Track those projects The growth in outsourcing has greatly increased
the use and importance of project tracking software. While it's good to
track hours and expenses internally, it's even better to be able to
share that information with clients via Web sites, an extranet, or even
email. If data on project hours can be imported directly into a
client's accounting system, it greatly simplifies the payment process.
(Whether it speeds it or not remains to be seen.)
See the big picture Most ISVs tend to focus solely on their own
applications. For the most part that makes sense, because you want to
keep focus on things you can control. But in this increasingly
connected world, smart ISVs also look at the business aspects of their
software, i.e. how it will be used in the real world, and plan ahead of
time for integration. While you may not be able to envision every
scenario, the more you work toward universal, automated connectivity,
the better off you will be.
Build or buy? It's the age-old question -- whether to build your own
integration engine or buy one from someone else and incorporate it into
your product. To answer that question, do the math. How much will it
cost to assign or hire one developer to create the integration tool,
and how long will it take? Now compare that to ready-made tools that
can be incorporated in anywhere from a few hours to a few days. Even if
you go offshore for this phase of the development, you can't build it
as cheaply as you can buy it. There's also the question of core
competence. A company that specializes in horizontal integration of
various applications is far more likely to think of all the
possibilities than one who is internally focused on your products.
Whatever you decide, building your applications with integration in
mind gives you a key selling advantage in the marketplace, and helps
you move from being a vendor to a partner. Give your brainchild the
ability to play well with others, and you'll reap the rewards time and
JT Smith is the director of technology for WDI, the makers of the
Business Integration Engine and other Open Source enterprise