Greetings from the frozen North! It has been a while since I put “finger to keys”, but I have not forgotten about the ever growing Exact Event Manager community!! I have spent the past few weekends renovating some of my rooms in my house, which got me thinking about the topic of this blog.
As you know, Exact Event Manager 1.8 has been out in the field since December 15, 2011, being implemented in all corners of the globe. I have heard of some interesting applications that Exact Event Manager is being used for, about which I will write in a subsequent blog. In the meantime, I wanted to provide some insight into one of the less than known capabilities of Exact Event Manager. I stress capabilities here, and not features for a good reason.
I have often had questions posed to me such as “When will Exact Event Manager support the creation of Opportunities in Synergy Enterprise?”. In response to the question, what if I were to say that it will support this functionality when YOU want it to!? Hmm, what does that mean you are probably thinking to yourself right now!?
Okay, here is it…. Exact Event Manager 1.8 has a “built-in” Software Developers’ Kit (SDK), or more accurately, an Application Programming Interface (API). This was added to Exact Event Manager to “untether” some of the development requirements from your specific internal needs and requirements. We understood early on that we would never cover 100% of all that may be requested of us and are mindful of the fact that a Third Party ecosystem is a powerful validation of the commercial value of a solution. The intent of the API to to allow you to create your own actions that create / modify data in Synergy Enterprise. (If, and only if, there is no User Interface Change needed). Furthermore, the way this API was built means that all “interaction” with Synergy Enterprise is channelled through the entities of Synergy Enterprise which means all data is validated and flows through the correct business logic.
So, what does this mean for your solution? Well, plain and simple, it frees you up from a pre-defined development schedule, allowing you to create your own action(s) for Synergy Enterprise. For example, you may want to have Exact Event Manager create an Item in Synergy Enterprise, based on the creation of an item in some external QA database. In this case, you would use the API to interact with the Items entity in Synergy Enterprise, and that is pretty much it! I know I am simplifying this, but it is not all that tough to do. You could also create an Opportunity in Synergy Enterprise, based on a quotation stored, say, in an external CRM solution.
What skills do I need to accomplish this? This is a good question…. Aside from a good imagination and patience, you need to have C#.net skills as well as an understanding of how the entities (web services) of Synergy Enterprise work and how to consume them. Basically, you will code the action, compile a .dll file, drop the .dll into the <bin> directory of Exact Event Manager, register the .dll and off you go. You do not need to perform a complete installation again. The code you would have written is independent of the core code base, further de-coupling your efforts from core development.
When we developed the API, we needed to find a test bed for the solution, so that we could prove it out prior to releasing it. We thought using the API to develop some of the existing Synergy Enterprise actions would be the perfect enviroment. So, we put one of the development team members, who had no experience with the core code development, into action(he was responsible for the installation side of the solution), and tasked him with building the Resource Action and the Accounts Action. When they were done, we simply added them to the install process. So, if you are using the Resource or Accounts actions, those are actually API developed actions. I have not seen any bugs come through on these two items, so I presume they are working well!?
How do I get hold of the API? You already have it! It is simply deployed along with the installation of Exact Event Manager. Now, there is no public documentation for this yet, but I have a set of electronic documents (help files) and some samples that provide an idea of what to do and how to go about it. If you would like to take a peek at these, please let me know and I will make sure you get the relevant files. One point to be aware of: The actions that you build for Synergy Enterprise will function correctly, assuming your code is good, but also if there are no User Interface changes required. There should be none, but just in case. Any UI changes require that core code be worked on, which of course you cannot do!
I am going to take an active interest in the activity that will evolve from the use of the API. I know that there are many ideas that I have never even come close to thinking about and I look forward to hearing some of your uses. Please keep me posted. Have a wonderful weekend and week ahead!