Pages Menu
TwitterRssFacebook

Posted by on Feb 23, 2016 in Skype for Business® (Lync®)

Enabling Legacy Applications in a UC Environment with Skype for Business Development

Enabling Legacy Applications in a UC Environment with Skype for Business Development

So you’re coming to the end of your Skype for Business roll-out. You’ve migrated your users, ironed out the initial training issues and problems with headsets. You’ve put speakerphones in all the meeting rooms, and video calling between offices is at an all-time high. You’re feeling pretty good about things, but you can’t help wonder if there’s even more you could be doing. You’ve invested a lot of money and effort into your new environment and you want to make sure that you’re getting as much out of it as you possibly can.

Well, there is one area which I bet you haven’t thought about: legacy applications. Every organisation has them, they’re past their prime and a support liability, but they’re critical to the efficient running of the company. They were written before UC was even an acronym and there is no way they will ever understand it, let alone support it. This wouldn’t necessarily be a problem, except that as users get more and more comfortable with using instant messaging and voice to communicate with each other they will start to demand a similar interaction experience with the applications they use daily. They will expect to be able to IM the payroll system to answer simple questions, or have messages from the in-house HR system sent to them using their Skype for Business client. This puts you in an awkward position: you pushed for greater collaboration and communication in Skype for Business, but you can’t move away from the legacy applications.

There is an alternative. Whilst legacy applications may never natively support concepts such as IM as a way to interact with users, it’s possible, easy even, to bridge the gap.

Designing for Legacy Systems

The aim is to avoid the end-user having to make a special trip to visit a legacy application interface in order to answer a simple question or receive a piece of information. Instead, Skype for Business will be the communication medium. Instant Messaging is the easiest of the supported methods, but voice is also a very real possibility. Using either approach, it’s possible to provide information to users and receive feedback.

To achieve this it’s necessary to have to some sort of translation between the Skype for Business world and the world of the legacy system. I’m going to assume that it’s not possible to change the legacy system, but most systems allow for some form of communication with the external world. Examples include: web services, WCF services, JSON APIs, FTP, flat file input/outputs, database polling etc.

The design solution to our problem, then, is in producing ‘glue’ between the legacy system and Skype for Business by writing something which is able to work with the legacy system output and convert that to Skype for Business constructs (such as Instant Message or Voice).

UCMA

For on-premise installations, Microsoft’s Unified Communication Managed API (UCMA) is a .NET library which allows you to send and receive Instant Message and Voice information. Using UCMA you can create a new contact in a user’s Skype for Business contact list and programatically send and receive messages via that contact. Crucially, however, UCMA is just a .NET library so it can form part of a larger .NET application. You continue to have full access to the rest of the .NET stack, which means the ability to write code that can communicate with legacy applications in whatever way makes the most sense for them.

If you’re using an alternative approach, such as Office 365, then UCMA isn’t available to you at the moment. However, it’s worth looking ahead and planning for the future. By doing some work now you could create customisable entry and exit points to your legacy applications so that you’re well placed to take advantage of any announcements Microsoft makes in the future for supporting Office 365 customers. We already know that a Services SDK is planned, which will be a C# object model, UCMA-friendly SDK which will work Online, so by working out the communication needed for your legacy applications now you’ll be in the perfect pace to make use of this when it becomes available. You can keep up to date with the progress of the Services SDK at the SkypeDeveloperStory website: http://skypedeveloperstory.thoughtstuff.co.uk/technology-platform/services-sdk/office365.

Use Cases

These are just some examples of the sort of integration I’m imaging could be unlocked by this type of integration; there are bound to be many more I haven’t thought about. This isn’t necessarily about replacing legacy systems: it’s about identifying one or two key pieces of information that frequently users go to the application for, and surfacing them to Skype for Business :

  • Users can IM a ‘holiday’ contact which is integrated with a legacy HR system and which will respond to basic keyword questions to tell you how many days holiday you have left, which holiday you have already booked, and the status of any outstanding holiday requests. The same contact could IM you when holiday requests are approved.
  • Users can call a voice-based IVR system to interact with a legacy accounting system. They can use DTMF tones to enter a account number, and the application can then read out the account status (in good standing, in arrears, legal-hold etc), and list the most recent transactions performed on that account. If the legacy system contained the details of a nominated person responsible for looking after that account then the application could automatically transfer calls to that person, without the end user needing to look up who the person is.

photo-1414028755230-c4216d9bfd08

Benefits

There are a number of benefits to this approach. The most obvious one is the time saving experienced by users not having to go to a separate, legacy application interface, possibly with a separate login, slow and complicated interface experience. Instead, they are able to quickly access the information they need, using their Skype for Business client in an environment they are already familiar with. New-user training is also reduced as there are less systems to learn.

“suddenly all users, regardless of device or OS, can access information normally locked up in on-premise legacy databases, when at home, on the road, or in the field.”

Secondly, because users are interacting via the Skype for Business client this means they can interact with legacy applications on their mobile phones, away from the office infrastructure, using just the Skype for Business mobile client. This is potentially huge: suddenly all users, regardless of device or OS, can access information normally locked up in on-premise legacy databases, when at home, on the road, or in the field.

Thirdly, communications are secured. Interactions are Instant Messages or Voice traffic sent and received with Skype for Business, and are therefore encrypted like any other Skype for Business communication. By itself, this can make this approach more attractive than a custom solution for surfacing information from existing legacy applications: no extra logins or passwords needed, interactions monitored and audited etc.

Conclusion

As your business becomes more reliant on the power of UC to fuel their communication and collaboration experiences, expect your users to want to access and work with legacy data in the same way they do any other form of information. UCMA can help you bridge that gap by working with legacy system inputs and outputs, enabling you to surface information usually locked up on-premise and hidden behind complicated user-interfaces, bringing it to users, wherever they are. Isn’t that a benefit of Skype for Business you weren’t expecting?

Written by Tom Morgan

Tom is a Microsoft Teams Platform developer and Microsoft MVP who has been blogging for over a decade. Find out more.
Buy the book: Building and Developing Apps & Bots for Microsoft Teams. Now available to purchase online with free updates.

Post a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.