• DEMO
  • INTEGRATION: Hornbill Open Integration Approach
    • By Gerry Sweeney
    • In Blog Posts
    • Posted 2017-08-01 10:36:24

    INTEGRATION: Hornbill Open Integration Approach

    When I first conceived our Hornbill Platform I knew that the key to being successful was the ease in which it could be made to interoperate with other systems.  In theory, the Hornbill Platform could be used to implement pretty much any business application with its many capabilities. However, for now at least, we have chosen to focus our go-to-market efforts on Collaboration, Service Management and Customer Management application areas.  Any business system needs to be able to “play nice” with other systems, and not only should it work well but it should be easy to achieve comprehensive levels of integration without complexity. 

    First of all, a little integration history.  All systems have some form of API, everyone knows that, but APIs are generally not interoperable. In the enterprise world for example, an attempt by a working group sponsored by Microsoft to create a standard for exchanging information was created called SOAP, using XML technologies, specifically XML Schema to describe the information structure being exchanged.  SOAP was adopted by Microsoft and Java SDKs and so the dream of seamless interoperability was being sold to the enterprise developers.  Truth is though, the standard was too flexible, and too verbose in its representation, a classic outcome of a committee driven approach to standardise something.  With the flexibility came interoperability issues as different systems took different approaches to represent data within the confines of the standard and it became clear that SOAP actually was not going to deliver on the promise of solving interoperability issues, it was actually going to create just as many.  Since then, web technologies have really taken hold while browsers have never natively supported XML, instead a simple data representation scheme known as JSON (JavaScript Object Notation) which, along with REST has become the defacto standard for implementing API’s simply because its compact, easier to read and browsers support it natively.  There are many variations of these schemes as well as some obscure schemes that use things like ASN.1 or other serializations so the integration landscape is not without its challenges.

    Now while we wanted to do as much of the heavy lifting as possible in terms of integrations so our customers don’t have to (see our iBridge for example), we also recognise that there will always be that one thing that we did not think of, integrating two systems always requires what I call “glue code” which is simple code that transforms a message from one format to another. So early on we adopted a strategy of providing a fully open and documented API for the Hornbill Platform and an open source integration approach.   Every integration we build outside of our “everything is done for you” schemes are built and published as open-source projects under the Hornbill Community License, all projects we create are made available to our customers on GitHub, we fully support and maintain these projects, although our customers are also free to fork these projects and make them their own too.

    Here are some of the projects we have published with a brief description of their purpose

    • dotNetApiLib – a library that makes integrating any .NET application with Hornbill simple and intuitive
    • goApiLib – a library that makes talking to the Hornbill Platform easy from the Go Programming Language
    • pythonApiLib – a library to use the Hornbill Platform API’s with Python
    • phpApiLib – a library to enable you to integrate with the Hornbill Platform API from PHP
    • goSWRequestImport - Supportworks Request Import Tool for Hornbill Service Manager written in Go
    • goServiceNowRequestImporter – Import requests from a Servicenow instance into Hornbill Service Manager
    • goDbAssetImport – A tool written in Go to import assets from a database source into Hornbill Service Manager CMDB
    • goDb2HContactImport – A tool written in Go to import contacts from a database source into Hornbill
    • goDb2HUserImport – A tool written in Go to import user accounts from a database into Hornbill
    • goAzure2UserImport – A tool written in Go to import user accounts from Azure AD to Hornbill
    • goLDAPUserImport – A tool written in Go to import user accounts from an LDAP source
    • rPowerBIHornbillDataSources -  Data Source scripts written in “R” that enable Power BI to use the Hornbill Reporting and Trend Engine APIs as data sources
    • SCOrchHornbillIntegration – Runbooks that allows Microsoft System Center Orchestrator to integrate with Hornbill
    • goApiScheduler – A simple tool written in Go that can be used to schedule the invocation of Hornbill APIs
    • goHornbillCleaner – A tool to clear down test data in a Hornbill instance
    • powershellHornbillAPIModule – A module that enables you to easily interact with your Hornbill Instance

    We are committed to providing a rich and diverse set of tools and integrations to enable our customers to gain the maximum value from using Hornbill in their organisations.  All systems should be built to be interoperable but not all systems are built by people that understand this – I am pleased to say that at Hornbill we truly do understand this and embrace the idea of integrating with anything.

    Comments

    No Comments

    Categories

    Latest Posts

    • Hornbill iBridge for Linode

      2017-09-22 18:47:33
      Feature Friday

      Hornbill's iBridge is a great way to integrate with Linode, a cloud based solution for creating and managing virtual Linux servers...

    • Exactly Why do ITSM Vendors Lead with ITIL?

      2017-09-17 00:41:41
      Blog Posts

      The problem with niche markets like the ITSM space is there are different parties with different agendas and for the most part they are in direct conflict with each other...

    • Using WebHooks for Integration

      2017-09-16 18:23:16
      Feature Friday

      Web Hooks are a great way to integrate Hornbill with other applications. Web Hooks can send information to a HTTP Endpoint as soon as a record is created or updated, rather than relying on scheduled imports or the continually polling for data...