Walking the walk

Walk the walkHow do you tell the difference between “walking the walk” and “talking the talk”? We’re delighted whenever we can meet a less typical client requirement that also enables us to demonstrate different aspects of the Seamless offering.

In this post, we’ve chosen to share the stories of 3 recent implementations that demonstrate different aspects of how Seamless offers flexibility when delivering application integration.

We’re not looking to integrate Microsoft apps

You’ll not be surprised to learn we’re big advocates of Microsoft, but they’re not the only app vendor out there. In a recent implementation, client is using Seamless to keep a pair of helpdesks in sync, one of which runs on BMC Remedy and the other on ManageEngine.

This implementation demonstrates how we can use Microsoft Azure to enable digital transformation outside of the Microsoft realm. Remedy and ManageEngine are both commercial applications from different vendors. We’re using Seamless, running in Azure, to keep them in sync.

We’re not just connecting two applications together

We have a client rolling out Dynamics 365 into an existing architecture which contains an Azure service bus for transporting data across the enterprise. Seamless has been setup to sync data to and from the service bus.

This demonstrates how the componentised nature of Seamless allows us to deploy into more complex contexts than simply syncing between System A & System B. In order to sync to/from a data bus, we only use half of a typical implementation. In turn, this means that we needed to setup some Seamless’ internal data transfer objects differently. The configurability of Seamless meant we were able to achieve this within a few days of joining the project team.

In this instance, we’ve deployed into the client’s Azure estate rather than our own. This enables the client to take advantage of their own existing security infrastructure within Azure, as well as their pre-existing preferential commercial terms from Microsoft.

We’d like to use some of our technical skills

Syncing contacts and accounts between Dynamics and Autotask is bread-and-butter stuff for Seamless, so why is it being mentioned here? In this example, our client, Verdant Services, a consulting and cloud services provider, is configuring their own integration.

Verdant are using the Seamless Integration Workbench to specify data mappings, update transformations and generally take ownership of their integration. As the project progresses, they’re also able to quickly change their integration to move data between various staging and live environments.

This demonstrates the power of the Seamless Integration Workbench. With a few hours training, our client has taken ownership of the integration inside their software delivery project. This enables them to be flexible and respond to the needs of the project as it progresses.

Rolling out the Remedy for syncing ticket data

Seamless is being used to sync tickets between Remedy and ManageEngine

Recursyv have recently deployed Seamless to integrate between two industry leading ticketing systems: BMC Remedy and ManageEngine.

Remedy / ManageEngine

Our client is an IT Support organisation who use Remedy as their primary helpdesk management tool. In turn, one of their clients uses ManageEngine for their own internal helpdesk. The ManageEngine helpdesk needs visibility of select tickets raised within Remedy so that the onsite team can provide feedback to their user community as those tickets progress.

A sea of complexity

The integration presented a number of new challenges for the Seamless service. It was great to see how our underlying engineering was able to help us address these without requiring updates to the core Seamless service. Instead of talking the talk, it was time to walk the walk.

  • One of the APIs was taking too long to respond to a data request (in excess of 20 minutes/request). This resulted in the Seamless service timing out while waiting for the data. Upon further investigation, we learnt that we could change the API request to retrieve data in a flat structure. In turn, this allowed us to use a Seamless plugin to re-normalise the data. This was a real validation of the plugin architecture and the power of putting processing at the point of need.
  • Neither system sits on the Microsoft stack and yet we’re still able to use Azure as our underlying platform to enable the Digital Transformation for both organisations. Additionally, both systems are on-premise implementations, we’re using Seamless to enable a ground <-> cloud <-> ground hybrid architecture.
  • The Remedy API is SOAP based. The ManageEngine API is RESTful. Seamless’ service bus architecture effectively decouples the integration into separate pieces meaning that connecting a SOAP API to a RESTful API was not a challenge at all.

 

When is an error not an error?

There is a complex matrix of products and product mappings between the two systems and only tickets which meet certain criteria within this matrix will be accepted by ManageEngine. Tickets which are in the resolver groups for syncing but don’t meet the product mapping criteria need to be identified and updated.

Seamless has the ability to separate errors by type. Tickets which ManageEngine does not accept on the basis of product mapping are identified as “data errors” and forwarded directly to a team at our client. From here, they can be assessed and have the product data corrected (or possibly raise the prospect of adding to the product mapping). Once the product data is corrected, Seamless identifies the ticket as having been updated within Remedy and will attempt to sync it to ManageEngine again.

Recursyv Seamless

Recursyv is focused on making application integration easy to setup and easy to operate. Recursyv’s first integration went live in early 2017 and, since then, a growing number of companies are relying on Recursyv’s Seamless integration solution to keep applications in sync.

Seamless is an application integration service that makes it easy to connect different software applications. New integrations can be quickly setup using Recursyv’s growing library of application connectors. Foundation connectors (SOAP, RESTful) are available to integrate with bespoke applications, either in the cloud or on-premise.

Seamless is provided as a managed service operated by Recursyv. The subscription fee covers access to all Recursyv connectors, initial configuration, pro-active monitoring, the ability to make reasonable configuration changes and support.

Integration? That’s not very inspiring

InspirationLet’s face it – integration can be a boring topic. We live and breathe it day in, day out and even our eyes sometimes gloss over. So how did we come to be inspired by delivering integrations at all?

Both of our founders have a background in delivering IT enabled business change. Over 15 years of projects involving new systems, new processes, new ways of working. Pretty much every single one of those projects had two things in common: (1) the new system needed data on day 1 to make it tangible for users to work with and (2) the new system didn’t exist in isolation of other systems.Continue reading

Getting fresh information into Freshdesk

Seamless has been listed in the Freshdesk Marketplace

Freshdesk

Recursyv’s Freshdesk application connector has been listed in Freshdesk’s integration library. The listing details our connector plugin allowing you to quickly deliver Freshdesk integration to any other application.

Freshdesk integration

One client who has already taken advantage of the connector to integrate Freshdesk with Dynamics is Feefo, the global reviews platform. Feefo’s sales and technical support teams are using different underlying applications meaning that sales (using Microsoft Dynamics) could not see open support tickets (managed within Freshdesk). Seamless is integrating ticket data from Freshdesk into Dynamics to give the sales team complete visibility of what is happening within their client base.

“We wanted to be sure that our sales teams were always fully informed before ringing customers. With Seamless we were able to quickly surface data from our helpdesk into our CRM.” – Wayne Elliot, Sales Manager, Feefo

Freshdesk offers intuitive, feature-rich, affordable customer support software. Freshdesk is part of a growing family of applications from Freshworks which covers all aspects of operating your business. This includes IT service desks, CRM, call center management, recruitment, messaging and online marketing.

Using the Seamless integration solution

Using the connector plugin requires subscribing to a Seamless integration and choosing to integrate to Freshdesk. Integrations can be configured by Recursyv or your own development team (using tooling provided by Recursyv). In most cases, the Freshdesk connector is being used to synchronise core data such as companies, contacts and tickets across systems although it is able to source and update all Freshdesk API accessible data.

Recursyv Seamless

Recursyv is focused on making application integration easy to setup and easy to operate. Recursyv’s first integration went live in early 2017 and, since then, a growing number of companies are relying on Recursyv’s Seamless integration solution to keep applications in sync.

Seamless is an application integration service that makes it easy to connect different software applications. New integrations can be quickly setup using Recursyv’s growing library of application connectors. Foundation connectors (SOAP, RESTful) are available to integrate with bespoke applications, either in the cloud or on-premise.

Seamless is provided as a managed service operated by Recursyv. The subscription fee covers access to all Recursyv connectors, initial configuration, pro-active monitoring, the ability to make reasonable configuration changes and support.

Being dynamic with Dynamics 365 Integrations

Easily integrate with Microsoft Dynamics 365 using Recursyv’s Seamless connector plugin.

Recursyv’s Dynamics 365 Seamless connector plugin is now available for use.

The Dynamics 365 connector allows users to quickly setup Microsoft Dynamics 365 integrations to other applications. Seamless is Recursyv’s application integration service. Seamless connects different applications using connector plugins to accelerate deployment of new integrations. The Dynamics 365 connector allows users to retrieve/update all data within Dynamics including bespoke entities, data fields and lookup values.

“Using the Dynamics 365 connector allowed us to quickly integrate our Dynamics deployment with existing software. Without an option to quickly integrate to Autotask, we would’ve struggled to rollout the Dynamics solution as easily as we did.” – Craig Fisher, Director, Technica Solutions

Is there a need for a new Dynamics integration option?

There is already an established market of existing integration tools which work with Dynamics 365. These have a long heritage in the Dynamics community. In some cases, these tools have some inherent limitations which have been baked in as they’ve evolved. Often, extending the use of these tools beyond their current feature set is hard to achieve.

Seamless allows developers to extend connector plugins, including the Dynamics 365 plugin, using .NET. This allows developers to take advantage of Seamless core features while also providing the flexibility to disable unwanted features and develop bespoke features to meet specific business requirements.

In some cases, existing tools require additional infrastructure and cannot be operated as cloud-only services.

Seamless is delivered entirely in the cloud and requires no additional infrastructure. It is able to connect cloud and on-premises systems to enable true hybrid architectures.

What about tools provided alongside Dynamics 365?
Dynamics 365 enables users to write Azure aware custom plug-ins enabling data to be written to/from an Azure Service Bus. This approach has some structural limitations in that it is based on a trigger driven activity (i.e. when x happens, do y). This approach imposes some limitations on error handling (when a post to Azure fails) and underlying implications on system load within Dynamics.

Seamless is architected as a polling service, this allows it to be more robust in guaranteeing message delivery as well as in configuring its impact on Dynamics system load.

Azure aware Dynamics plugins are predicated on using an Azure Service Bus, requiring additional development to read/write data at the other end of the integration. It also requires the user to establish and manage their own Azure environment requiring them to learn a new technical stack.

Seamless is provided as a managed service connecting two more applications. Plugins already exist for a number of other applications and new plugins for bespoke use can be quickly developed using Seamless plugin framework.

The most recent Dynamics 365 version introduces a feature called Virtual Entities. Although Virtual Entities are great for displaying external data within the Dynamics UI, that data cannot be worked on, updated or analysed within Dynamics.

Seamless places the data into Dynamics 365 as data which can then be used for business processes, updated and synchronised back to the original data source.

Using the Seamless integration solution

The Dynamics 365 plugin is already live in a number of implementations connecting Dynamics to, among others, Autotask, Hoopla and Freshdesk.

Using the connector plugin requires subscribing to a Seamless integration and choosing to integrate to Dynamics 365. Integrations can be configured by Recursyv or your own development team (using tooling provided by Recursyv).

Recursyv Seamless

Recursyv is focused on making application integration easy to setup and easy to operate. Recursyv’s first integration went live in early 2017 and, since then, a growing number of companies are relying on Recursyv’s Seamless integration solution to keep applications in sync.

Seamless is an application integration service that makes it easy to connect different software applications. New integrations can be quickly setup using Recursyv’s growing library of application connectors. Foundation connectors (SOAP, RESTful) are available to integrate with bespoke applications, either in the cloud or on-premise.

Seamless is provided as a managed service operated by Recursyv. The subscription fee covers access to all Recursyv connectors, initial configuration, pro-active monitoring, the ability to make reasonable configuration changes and support.

Automate your Autotask integration

Seamless has been listed in the Autotask integration library

Recursyv listing

Recursyv’s Autotask <-> Dynamics 365 Seamless integration template is now listed in Autotask’s integration library. The integration template integrates Autotask and Dynamics 365 based on pre-configured data mappings. The integration template includes (1) bi-directional sync of Accounts and Contacts and, optionally, (2) Autotask –> Dynamics sync of tickets.

For more complex requirements, the Autotask connector plugin is able to connect Autotask to Seamless and, from there, to integrate it to any system using Seamless.

“Using the Autotask connector meant we were able to accelerate delivery of additional applications into our business. We used our Autotask data as our initial data set and, after populating the new system, we now keep both systems in sync with each other using Recursyv’s Seamless. It’s great that we’re able to ensure our staff work on the most up-to-date information no matter which system they need to work on.” – Craig Fisher, Director, Technica Solutions

Templated or bespoke?

The integration template listed by Autotask’s includes (1) bi-directional sync of Accounts and Contacts and, optionally, (2) Autotask –> Dynamics sync of tickets. This approach enables businesses using Dynamics for CRM to ensure that customer data is kept in-sync across both systems as well as providing Autotask ticket information as reference data within Dynamics.

Recursyv recognise that different helpdesk operations have different approaches to incident resolution, workflows and queuing. Building an implied operational structure into the template seemed like we’d be making the template harder to use rather than easier to use.

As the integration template uses the Recursyv connector plugins for Autotask and Dynamics 365, all the flexibility of these plugins remains. Users of the integration template can easily extend their use of Seamless to include additional data types (e.g. Autotask Projects), additional list values and/or bi-directional syncing of ticket information.

If you need to sync ticket information bi-directionally, or want to introduce other data types, please reach out to us and we can discuss how to set these up as part of implementing your integration.

Using the Seamless integration solution

The Autotask connector plugin is already live in implementations connecting Dynamics to Autotask. The integration template listed in the Autotask library specifically focuses on connecting Autotask to Dynamics 365. The Seamless Autotask plugin can also be used to connect Autotask to any system using the Seamless platform.

Using the connector plugin requires subscribing to a Seamless integration and choosing to integrate to Autotask. Integrations can be configured by Recursyv or your own development team (using tooling provided by Recursyv).

Recursyv Seamless

Recursyv focuses on making application integration easy to setup and easy to operate. Recursyv’s first integration went live in early 2017 and, since then, a growing number of companies are relying on Recursyv’s Seamless integration solution to keep applications in sync.

Seamless is an application integration service that makes it easy to connect different software applications. New integrations can be quickly setup using Recursyv’s growing library of application connectors. Foundation connectors (SOAP, RESTful) are available to integrate with bespoke applications, either in the cloud or on-premise.

Seamless is provided as a managed service operated by Recursyv. The subscription fee covers access to all Recursyv connectors, pro-active monitoring, the ability to make reasonable configuration changes and support.

[icon name=”phone” class=”” unprefixed_class=””]  If you’re looking to integrate Autotask with Dynamics, or any other application, please reach out and discuss with us how we can address this, quickly and affordably.

Taking a moment to celebrate the engineering

Engineering

Since the beginning of the year we’ve been working on a particularly thorny deployment. An integration with lots of technical challenges which brought together many features of Seamless for the first time. Jon has been tucked away in “deep dev” mode and, as he prepared to put the integration into test, he wrote a wrap-up note for the rest of our team. The implementation validates a lot of the underlying engineering for Seamless. On reflection, I realised that this integration creates a lot of milestones.
Continue reading

Tomorrow’s IT operations are as important as today’s software delivery

When we set out to build Seamless, one of the things we focused on, quite obsessively, was that we should reduce risk in a software delivery project. Admittedly, this is a reflection of the backgrounds of our founders: delivery of software. It also vastly undermines the value of delivering Seamless as a managed service. Perhaps we’ve done ourselves a disservice?

Erm – let’s not get ahead of ourselves, have we actually addressed delivery risk?

In the first instance, I’d like trumpet our engineering a little bit. If we need to connect to a relatively modern API (think RESTful or SOAP), we typically have data syncing in under a week. Once we’ve “proved the pipe” (demonstrated that we can move data between source and target), we can shape that as necessary to meet the business requirement. As this is readily demonstrable, the delivery risk is greatly reduced. There is no longer a long period of writing code and hoping for the required outcome.

Getting there is only half the battle

As old hands at “change the business”, we may have fallen into the trap of forgetting about “run the business”. If you’ll forgive the cliche, delivery of a new software solution is the beginning of a journey rather than the end.

A data integration is a living piece of infrastructure that needs to be operated. Even if there are no changes to the business requirement, integrations need to be looked after and cared for.

  • Is the integration able to connect to both source and target?
  • Is the volume of data being moved roughly in line with expectations?
  • Does the integration have enough oomph to ensure that data is sync’ed within the required timeframes?

The Seamless monitoring features, including meaningful alert content, means that keeping tabs on these questions becomes part of the regular operations monitoring regime. Additionally, alerting on exception means that you can assume all is well until told otherwise.

Integration issues are often a symptom of broader problems

One thing we’ve observed is that often issues with the integration are just symptoms of broader problems. Our monitoring is proactive (we go looking for issues) and our reporting is sufficiently detailed that we’re able to help Seamless users spot and trouble-shoot underlying issues, often before they’ve noticed them themselves.

  • Are both the source system and target system accessible? If Seamless is unable to reach systems, is this because of an underlying systems issue that needs to be addressed?
  • Are there data mismatch issues between source and target? Often this is a case of changes to reference data in one system or another.
  • Are data volumes completely outside of the expected data volumes? If so, is this driven by a something in the business (e.g. a sales promotion) or is one of the systems experiencing an underlying issue?

In 2017 we had only one service availability issue. Sure – we’d like it to have been none but, if there’s going to be some downtime, let’s at least handle it elegantly.

In July 2017 there was a short-lived Azure UK connectivity issue. Our alerting meant that we knew it was happening before it was confirmed by Microsoft and we were able to manage expectations across our client base. In turn, this allowed clients to manage expectations within their user community. We also provided the option of redeploying to another Azure geography. Thankfully, the outage was contained to a few non-business hours (for our UK customers) and there was no need to exercise any of these options.

The underlying Seamless service remained live and, as connectivity returned, any data had been “caught out” between source and target was quickly sync’ed by the service.

The only rule of business requirements is that they change

One of our first prospects for Seamless was a company who, as a result of an acquisition, found themselves with two software platforms for managing helpdesk tickets across their considerable IT estate. As part of the merger process, a vendor had written a point-to-point integration which sync’ed relevant tickets back and forth.

Six months down the line, there was a need to change the rules for which tickets would sync between the apps. After months of avoiding the question and 3 days of consulting work (on fees), the vendor quoted tens of thousands of pounds to change the integration. These were well known, well documented apps with mature APIs, updating the integration should’ve been a piece of cake. It became easier to change business rules inside the company than to change the integration and that’s just not how IT should work.

The use of config and straight-forward mapping features within Seamless means that meeting the needs of changing business requirements doesn’t require re-engineering entire integrations every time a field, a data map or an option set changes.

Not every IT organisation is the same

This blog post was, in part, inspired by a conversation with a prospective client. In our initial conversation, the primary concern was about delivery timescales of the integration requirements. As the conversation progressed, it was also discussed that the broader procurement strategy was to use contractors to deliver software with a view to streamlining the size of the in-house IT team. That’s not uncommon, by their very nature, project teams are short-term creatures designed to achieve an outcome (rollout of new software).

In discussing why Seamless may be a better option than using contract developers to build a point-to-point solution, I stressed not only the delivery risk and timing considerations, but that the managed service remains in place after the project team is stood down. This enables the in-house IT team to focus their effort where they can deliver more “bang for buck” whilst the Seamless monitoring ensures that when issues occur, the IT team are quickly informed with meaningful information to trouble-shoot any underlying systems issues.

The data mesh and the enduring myth of a golden data source

Data accuracy is like communication within a relationship. We all like to believe we have the perfect solution for ensuring that all data is always up-to-date, but the harsh realities of life get in the way.

When we discuss data synchronisation solutions with prospective clients, we sometimes stumble upon the idea that a given system within a company is the company’s golden source for data. Often this is the invoicing platform, which makes some sense given that invoicing drives revenue. However, it is naïve to think that the finance team are likely to have the latest information. The finance team will typically engage with a limited number of people and they’re only likely to find out about information changes after the fact. Possibly only a few weeks later when invoices are returned.

Rather than a golden data source, we believe in the notion of a data mesh. A data mesh is a world where data is updated at the point that it becomes evident that it is out of date. This could be by any user within the organisation (subject to appropriate security considerations). Additionally, it is likely that different users have interest in pieces of information. For example, sales team may want to understand prospective buyers, the finance team are likely to engage with their finance counterparts.

 

A data mesh world

In a “data mesh world”

  • all users have access to the most up-to-date information available and
  • all users have the ability to add to and/or update the information on hand … which then becomes available to all other users (see above)

A data mesh world is created by allowing data to flow seamlessly across systems. That’s not to say that all data should be in all systems at all times. That would be a crazy world which undermines usability across systems. Different systems support different purposes and the relevant data within them should be up-to-date.

  • Customer data is likely to appear across most systems, particularly externally facing systems (e.g. CRM system, line of business system, customer support system and finance/accounting platform).
  • Transactional data may only appear in the line of business and finance systems.
  • Sales data (e.g. prospective opportunities) may only appear in the CRM system and not be necessary elsewhere.

It may also be that some data is summarised or aggregated when presented in other systems. Where appropriate, good user experience will allow relevant users to easily move between systems as their work requires them to do so. Naturally, this needs to be supported by relevant role based security policies across the various systems.

  • A summary of support activity (e.g. number of tickets raised, open, closed) may show within the CRM but to access individual tickets, users need to click through to the support system
  • Current account balances may show in the CRM system but individual transaction data is accessible only by clicking through to the finance system

In reality, this results in a complex web of systems where the same data is actually stored in multiple places. This is unlikely to meet a theoretically ideal software architecture, but it does reflect the far more likely reality of most organisations. Different software solutions used by different parts of the business relying on overlapping data sets.

 

Creating a data mesh world

Creating the data mesh requires enabling technology which seamlessly synchronises data across the various systems. The technology needs to deployed with underlying rules addressing relevant scenarios (e.g. what happens when data is updated in two places simultaneously). The technology also needs to be flexible enough to easily accommodate ongoing change, either of the business process or of the underlying software. It needs to be easy to extend the data being synchronised, to introduce new data fields, to change the data processing rules, etc.

The data mesh has to deliver meaningful information when needed while always being ready to handle changes both externally and internally. Sure, a data mesh needs updating and refreshing as the world changes, but that just reflects the messy reality of the world. Just like communication in a relationship.