Today I wanted to share my experiences with Service Based Architecture as we look to implement it internally.

As we look to release a great new product called Service Builder (more about that later), I was tasked with installing Service Based Architecture on our internal Microsoft Dynamics GP system.  Not being real familiar with the SBA install and how it all works, I setout to find all the documentation I could.  I did find some documents, but have to admit, they kind of confused me.  I have given this feedback to the team at Microsoft, so hopefully it will improve.

To start, we use the Web Client, so I had to be careful of that as I didn’t want to take that down as it is working and I am not the most familiar with all the ins and outs of that implementation either.   we also have a 3 server setup (web server, SQL server, and application server).  I first added the SBA features in GP Utilities to create the SQL user.  After that was done, I set out to add the SBA features on our Web server and that went great as well.  No errors, no issues as most of the fields were already filled in.  It was a lot of just entering passwords.  Worried that my Web Client might not be working, I tested that and much to my excitement, it still came up. 

At this point, I had no clue where to go, but the manuals I had a section on verifying the installation went well.  It talked about services you should have running.  I thought I was missing one as it listed 3.  Come to find out, the GP Dexterity Service Control and GP Service go on the web server and the GP Dexterity Service – DEFAULT – 14 goes on the application server.  Once I found them, they were all started.  Next step to verify was a help URL.  https://server:port/gpservice/tenants(DefaultTenant)/Help  My to my disappointment, that went no where.  It asked me for a login and I had no clue who to use.  I tried our domain admin, my user which is a GP Power User, and a few others that we had used for the services, but nothing worked. 

Dead in the water and now clue where to go now.  I did what most would do and asked around the office to see if others that had done anything with SBA would have a clue.  I didn’t get very far with that.  In comes my friends at Microsoft in GP Support.  They spent a lot of time with me trying to get it to work, but I am happy to say it is up and running finally.

So you may be asking, what did Microsoft try to get it working?  The answer, a lot of things.  Here is what I learned and what we tried.

  • The user you are trying to use to login to the Help URL has to be in GP with the appropriate permissions and tied to their Windows Account in the User Setup.
User setup
Security Task
  • In the logs, we were finding that it wasn’t finding the Default Tenant to use.  We new it was there as we installed it, but for one reason or another, it didn’t work.  We were using the Event Viewer and the logs in the C:ProgramDataMicrosoft DynamicsGPSvcLogsGPService folder on the web server to see this.
  • Their really isn’t a site for the GP Service to run on which is what runs SBA.  I would have thought it would have went to the same site as my GP Web Client, but it didn’t. 
  • After hours of trying, we started over and uninstalled the Web Components on both servers as well as the actual GP client and remove the GPConfiguration database.  This scared me a lot as I just took down our whole GP system too and I know how heavily it is used internally and everything we have is through the Web Client.  We got GP back up and running.  Then installed the Web Components on the web server.  Then we installed the web components on the application server.  Of course the Web Client didn’t come back up.  We found that the users on the application pools on the site had to be reset.  Then it came back up.
  • When we first started, the SBAServiceHost table in the GPConfiguration database has our web server and application server listed.  After the reinstall, it only had the web server.  It appears that at one point I had installed the wrong components on the application server in desperation of trying everything.  So, here is what should be on each.  We aren’t using Multiple Tenants, so we don’t have anything with that installed.
Web Server
Web Server install

Application Server
Application Server install

What really got it working though is installing a Microsoft Dynamics GP Client on the Web Server.   Now support wasn’t really able to explain why this worked and didn’t think it should have to be that way, but it was working and I was just happy to see the Help site come up.  I really didn’t care what had to be done to get it all working as long as it was there.  We are going to work with them to figure out the reasoning, but in the meantime, will get started using it internally.  You may actually see it used in a session or two at the GPUG Summit this week if you are lucky enough to be with us in Reno.

I want to give a big thank you out to my friends on the GP support team at Microsoft that stuck with us to get it working as well as my teammates that gave me their insight.  Together, we accomplished and we did give a big sigh of relief when it was running.

Hopefully someone out there can learn from what we tried and use it to get Service Based Architecture running in your environment as well.  It is a lot easier to install when everything is on one server.  We have that running in several different demo images, but this multi-server environment was a bit trickier.

UPDATE:  I have worked with Microsoft to figure out why we had to put Microsoft Dynamics GP on the Web Server to get this working.  We found that GP had to be installed where ever the Dex Service Control (GP Dexterity Service Control service) was installed and running.  We were installing this on the Web Server.  When I removed it and GP from the Web Server and put it on the Terminal Server where GP was really supposed to be installed and running, SBA worked like a champ.

Here is what is installed on each of my servers now.

Web Server
Web Server install

Application Server

Application Server install