Tampilkan postingan dengan label Azure. Tampilkan semua postingan
Tampilkan postingan dengan label Azure. Tampilkan semua postingan

Kamis, 12 Februari 2015

Microsoft Dynamics GP 2015 Identity Management

Hi everyone! It's been hectic around here with a few projects going live in these days, in addition to preparations for Convergence 2015 here in Atlanta.

I wanted to draw your attention to two videos currently posted on the Microsoft Dynamics YouTube channel, related to the Identity Management feature.

Identity Management was introduced with Microsoft Dynamics GP 2013 R2, so is probably good to go back and review the original feature design goal with Tara Higgins with the Partner Technical Consulting team.



With Dynamics GP 2015, the feature was extended to cover authentication with organizational accounts, which provides single sign-on capabilities for Microsoft Azure AD accounts. Identity Management for organizational accounts is a web client feature only. Take a look at this video by my buddy Jason Lech with the Escalation Engineering team.



My goal is to release a video showing a real life example on how to set this up. So stay tuned.

Until next post!

MG.-
Mariano Gomez, MVP
Intelligent Partnerships, LLC
http://www.intelligentpartnerships.com/

Minggu, 28 Desember 2014

The Dynamics GP Blogster Best Articles of 2014

The Dynamics GP Blogster Best Articles of 2014

How about this 2014 year, ah? Two major releases in Microsoft Dynamics GP 2013 R2 only to top off the year with the recent release of Microsoft Dynamics GP 2015. More than 30 new features in 2013 R2 (over 150 if you include those released in GP 2013 RTM) and now over 120 new features in Microsoft Dynamics GP 2015, including the cornerstone .NET interoperability and Service Based Architecture components, it's no wonder why the Microsoft Dynamics GP Product Management and Product Development teams deserve a massive showing of the hands on this one! Congratulations team on a job well done.

Let's not forget about the events either: the wildly successful Microsoft Convergence 2014 Atlanta, the hugely concurred GPUG Summit 2014 St. Louis, and what's got to be the most anticipated partner event since the days of Stampede, reIMAGINE 2014 in Fargo. All these events drove the vision of t

Travel was also off the chain for me: Johannesburg, South Africa; St. Louis, Missouri; Fargo, North Dakota; Boston, Massachusetts; Las Vegas, Nevada; Green Bay, Michigan; Kansas City, Missouri; Shreveport, Louisiana; and the list goes on! Over 70,000 miles of airline travel, 100+ nights of hotel lodging, and tons of driving miles, ah!... and the ALS ice bucket challenge in between.

Nonetheless, every year I try to bring interesting topics to the blog, an insight into the events I attend, and definitely, those troubleshooting and development articles that are life savers when you need them most. So without further due, here's a sample of some of the best articles you liked throughout the year (in no particular order)


No.
Article
1Word Templates: We can't open template because we found a problem with its contents. Just recently I was working on a Sales Invoice Word Template customization for a customer and ran into a strange issue when attempting to print a batch of invoices for customers assigned to this template... Read more.
2Web Client Wednesday - You receive ArgumentNull_Generic exception when clicking an option on the Navigation Bar. In good measure, here at Intelligent Partnerships we eat our own dog food. As of January 1, 2014 we completed our internal rollout of Microsoft Dynamics GP 2013 and web... Read more.
3Microsoft Dynamics GP 2013 Virtual Machine image from the Windows Azure Gallery.
In my previous article, Part 1 of the series, I talked about provisioning a Microsoft Dynamics GP 2013 development environment from the Windows Azure gallery.  If you are already an MSDN subscriber and... Read more.
4Preventing Visual Studio Tools customization processes from being terminated by Microsoft Dynamics GP. Just recently I ran into a case on the Microsoft Dynamics GP Partner Forum where the ISV developer was dealing with a potentially long standing process to be executed from... Read more.
5Working with the Dex.ini Settings in Microsoft Dynamics GP 2013. Dex.ini settings have always existed to provide developers and end-users with ways to set a number of preferences for their Microsoft Dynamics GP application without the need of additional development or customizations... Read more.
6Using Microsoft Dynamics GP Business Intelligence deployment utility to deploy custom SSRS reports. In the previous installment, I outlined a technique to deploy your custom SQL Reporting Services reports using the standard Business Intelligence deployment utility provided by Microsoft... Read more.
7Deploying Business Analyzer Companion App Services on Windows Azure Service Bus. If you are not using Business Analyzer today, shame on you. Last year sometimes I wrote a small article on how to deploy the Business Analyzer Windows 8 application on a personal laptop, which is typically... Read more.
8Microsoft Dynamics GP 2015 Developer's Preview: .NET Framework Interoperability - Part 3. In part 2 of the series, I delivered a brief primer on the service architecture in Microsoft Dynamics GP 2015 and how you are able to consume services natively created with Dexterity. There are two types... Read more.
9Working with Dex.ini Settings to customize the Microsoft Dynamics GP Connect gadget. Have you ever wanted to wake up with The Dynamics GP Blogster page as the centerpiece of your Microsoft Dynamics GP application homepage? Or how about your favorite online news outlet? What if you...Read more.
10Microsoft Dynamics GP backups with Windows Azure Blob Storage Service - Follow up. As a follow up to my post yesterday (see Microsoft Dynamics GP backups with Windows Azure Blob Storage Service), an issue has been identified with Microsoft Dynamics GP 2015 running on SQL Server 2014...Read more.


2015 is sure to be a very exciting year for the Dynamics GP community. Right off the bat I can think of Convergence 2015 in Atlanta, GPUG Summit in Tahoe-Reno, NV, reIMAGINE in Fargo, ND, the upcoming release of Microsoft Dynamics GP 2015 R2 with another iteration, Dynamics GP 2015 R3, close to the end of 2015. So lots and lots to talk about.

Personally, I start the year with a business trip to Ireland, I already have commitments with Dynamic Partner Connections, and tons of webinars in conjunction with GPUG. So please stay tune to hear from those.

Until next post!

MG.-
Mariano Gomez, MVP
Intelligent Partnerships, LLC
http://www.intelligentpartnerships.com/

Senin, 15 Desember 2014

Microsoft Dynamics GP backups with Windows Azure Blob Storage Service - Follow up

As a follow up to my post yesterday (see Microsoft Dynamics GP backups with Windows Azure Blob Storage Service), an issue has been identified with Microsoft Dynamics GP 2015 running on SQL Server 2014 when choosing Microsoft Azure storage as the destination for the backup.

You will receive the following warning message:

The SQL Server version that you are using does not support backing up or restoring your database from Microsoft Azure storage.



I have traced the issue back to the logic in the '(L) RGRestoreBackupOption' of window BackupRestore of form syBackupRestore field change script, which seems to compare the build number even after it has determined the version number is greater than SQL Server 2012 SP1 CU2 (11.0.3339). Of course, the build number for SQL Server 2014 CU4 is 12.0.2430. Since 2430 is not greater than 3339, the script sets the validation flag to false, causing the script to abort with the message indicated above.

This problem is exclusive to Microsoft Dynamics GP 2015 RTM (14.00.0524) running on SQL Server 2014, and cannot be replicated if you are running Microsoft Dynamics GP 2013 R2 or Microsoft Dynamics GP 2015 on SQL Server 2012 SP1 CU2 or greater. Microsoft is currently aware of this situation (at least via the Dynamics GP Online Partner Technical Community Forum), but if you are

For more information on SQL Server 2014 build numbers, see Microsoft Support kb article 2936603, SQL Server 2014 build versions.

Until next post!

MG.-
Mariano Gomez, MVP
Intelligent Partnerships, LLC
http://www.intelligentpartnerships.com/

Minggu, 14 Desember 2014

Microsoft Dynamics GP backups with Windows Azure Blob Storage Service

With the introduction of Dynamics GP 2013 R2, Microsoft delivered support for application database backups onto Windows Azure blob storage service from within GP itself.

Azure Blob storage is a service for storing large amounts of unstructured data, such as text or binary data, that can be accessed from anywhere in the world via HTTP or HTTPS. You can use Blob storage to expose data publicly to the world, or to store application data privately. Common uses of Blob storage include:

• Serving images or documents directly to a browser
• Storing files for distributed access
• Streaming video and audio
• Performing secure backup and disaster recovery
• Storing data for analysis by an on-premises or Azure-hosted service

In turn, Dynamics GP takes advantage of capabilities introduced in SQL Server 2012 SP1 CU2 to enable SQL Server backup and restore directly to the Windows Azure Blob service. See SQL Server Backup and Restore with Windows Azure Blob Storage Service for more information.

Note: Starting with SQL Server 2012 SP1 CU4, you can also use PowerShell to backup to and restore from Windows Azure Blob storage services.

As part of the backup and restore process, Microsoft Dynamics GP calls the syGPAzureBackupRestoreProcess system database stored procedure.


Configuring Microsoft Dynamics GP backups with Windows Azure Blog storage service

To take advantage of Windows Azure Blob storage service, you must begin by setting up an Azure storage account. The storage account is the starting point for all storage services. The storage account requirements are fairly straight forward: setup a URL prefix, associate a location or affinity group for your storage account, and determine the type of replication. See How To Manage Storage Accounts for additional information on replication options.

Note: The full URL will be the URL prefix followed by blob.core.windows.net.

Storage Account Setup
Upon creation of the storage account, the storage account name and its access key properties are required to authenticate to the Windows Azure Blob Storage service and its components.

Following the creation of the account, you will need a storage container. A container provides a grouping of a set of Blobs, and can store an unlimited number of Blobs. To write a SQL Server backup to the Windows Azure Blob service, you must have at least the root container created.

Container tab

Click on the Containers tab to setup a new container. Enter a name for the container, and select the type of access that will be provided to the container.


New Container setup
For more information on setting container access types, see Restrict Access to Containers and Blobs. Once the container has been setup, you should see your new container listed.

Container is now setup

Return to the storage account dashboard and click the Manage Access Keys option at the bottom of the window for the storage account you setup. You can copy the primary access key, which will be used to setup Microsoft Dynamics GP.

Manage Access Keys

In Microsoft Dynamics GP, go to Microsoft Dynamics GP | Maintenance | Backup to open the Back Up Company window. Follow these instructions:

1. Select the company you wish to backup
2. Choose Use Microsoft Azure storage as the destination for your backup
3. Enter the storage account name you created in Windows Azure
4. Paste the access key from the previous section.
5. Enter the URL to the container. The URL format is as follows:

https://storage-account.blob.core.windows.net/container-name


Back Up Company

6. Click on Verify account to validate your account settings and connectivity to the container then click OK to continue. The backup performance will depend on your internet connection speed.

Now that you have a pretty good grasp on the configuration, you can begin taking advantage of Windows Azure as a secure, always available option for your Microsoft Dynamics GP data. The best part is, the data geo-redundantly stored (if this option was selected when creating the storage account) and you no longer need to rely on tapes being exposed to damage.

Until next post!

MG.-
Mariano Gomez, MVP
Intelligent Partnerships, LLC
http://www.intelligentpartnerships.com/

Rabu, 06 Agustus 2014

Deploying Business Analyzer Companion App Services on Windows Azure Service Bus

Business Analyzer App for Windows 8.1

If you are not using Business Analyzer today, shame on you. Last year sometimes I wrote a small article on how to deploy the Business Analyzer Windows 8 application on a personal laptop, which is typically how most of us road warriors need it to be for demo purposes. However, here at Intelligent Partnerships, we've changed our approach a bit: all our infrastructure and demo environments now reside on Windows Azure, which gives all of our people the flexibility of having a single environment and consistent across the board, while allowing our accounting staff to do work from anywhere in the world.


Today, I want to talk about another one of those cool features in Windows Azure: The Azure Service Bus and how you can leverage it to run the Business Analyzer app for Windows 8.1.

I really don't like to oversimplify anything, but think of Azure Service Bus as cloud based message queuing system, akin to MSMQ, but running on a much more robust platform. The advantage is that applications are no longer bound by myriads of layers (like firewalls, complex authentication, etc.) to communicate with each other and can reside anywhere and on any device that can communicate to the Internet.

So let's get started...

1. To setup a Service Bus you sign into Azure's management portal, then click on the Service Bus option on the left navigation bar.

Service Bus service
2. Click the Create button to add a namespace for your service bus. The namespace identifies the service in Windows Azure and is assigned an address. You can then choose the region where your service will be hosted.

Service bus namespace

By clicking the Ok button, Windows Azure proceeds to activate that namespace if it's available. If it's not available, you will be prompted to enter a new namespace, before you can continue.

3. You can then proceed to install Business Analyzer Companion App Services on one of your virtual machines (preferably not your SQL Server). The installation is straight forward and all you need to do prior to running the setup executable program (setup.exe) is to install the reporting services configuration reports for Business Analyzer. Those are provided in the Companion App services SSRS zip file (MDGP2013_CompanionAppServices_SSRS.zip).

4. Once the Companion App Services application is installed, you can proceed to launch the configuration app, which can typically be found in the C:\Program Files\Microsoft Dynamics\GP Companion App Services\ folder.

Welcome screen
The Welcome screen displays the Companion App Service current connection information, which should later on be replaced by the settings you establish for this instance.

5. After the Welcome screen, you are presented with the Windows Azure configuration screen.

Windows Azure Service Bus Configuration window
In this window you will enter information about the Service Bus you previously configured using the Azure management portal. For the most part you specify the namespace, issuer, and issuer key which can be found


Service Bus connection information
Note the default issuer and default key must match the issuer name and issuer key, respectively, in the Azure configuration window. Click Next to continue - you will experience a short delay while the wizard validates the Azure service bus information you provided.

6. On the Host Configuration screen you can enter the host name and port of the machine that's going to be running the service - typically, just accept the default port. The beauty here is, since we already configured access via the Azure service bus, it's not necessary to expose the public name (server.cloudapp.net) of the host and create an end-point for the port, thus exposing our servers to the world - this is why we created the service bus to begin with!



7. Next on is to select the Companion Apps that will be used with the service. You will want to mark both of them here.

Select Applications

8. You will then want to choose the Data Connections to use with Companion App Services. In this case you have a choice of either Excel Reports or SQL Server Reporting Services reports.

Data Connections
9. Next you must identify where to find the Excel reports using UNC path to specify the folder. My reports happen to be at \\servername\gpfiles\excel reports\reports.

Shared Excel Reports folder

10. You are now asked to enter the address to Report Server and specify a folder where the reports can be found, if you happen to have multiple instances of GP deployed.


If you have deployed SharePoint Integrated mode, then click the checkmark and specify the library address for the reports.

11. Once the report server information is validated, you will receive a confirmation page with the address to be used when configuring the Business Analyzer application.

Configuration Complete window
The address we are particularly interested in is the Service Bus address, which in this case is simply ip-contoso. (with the period at the end).

12. Open the Business Analyzer application, the go to the Configuration window from the Charms on the right. You can then enter the ip.contoso. address in the service configuration.

Business Analyzer Configuration

Sweet! Now, we have configured BA without really exposing the public address of our Azure VM, which should make system administrators very happy.

MG.-
Mariano Gomez, MVP
Intelligent Partnerships, LLC
http://www.IntelligentPartnerships.com

Senin, 04 Agustus 2014

Implementing a Windows Azure Site-To-Site VPN

Hi everyone! I'm back! The past few months have seen an increase in projects here at Intelligent Partnerships so I have been shouldering some very challenging projects involving some very complex integrations. Thank goodness for eOne Business Solutions' SmartConnect and SmartPost products which have made for some very happy customers and some extremely robust integrations. In addition, I've been working on quite a bit of customizations migration from Visual Basic for Applications (VBA) to some cool hybrid solutions using Microsoft Dexterity and Visual Studio Tools (VST) for Microsoft Dynamics GP. If you remember, I was one of the pioneers of the technique to replace VBA customizations for hybrid Modifier and Visual Studio Tools. You can read more about this technique in the articles:

Hybrid development for the Managed Code developer
Hybrid development for the Managed Code developer (cont.)


Well, today I wanted to talk about Microsoft Azure Virtual Networks and specifically, the steps needed to setup a Site-to-Site VPN between your Windows Azure virtual network and your Local Area Network.

As you may recall from previous articles I've written on the subject of deploying Microsoft Dynamics GP on Windows Azure, a pre-requisite step before provisioning the VMs that will host SQL Server and your Microsoft Dynamics GP application is to provision and configure a Virtual Network, to be used to communicate the VMs. Also, if you are not going to have your Azure virtual network talk to your on premise LAN, chances are you also need to provision a VM to run Active Directory Services and Domain Name System (DNS) for name resolution - I guess, the typical networking stuff.

As with everything else, life is never this ideal, and most organizations have an on premise AD DC and DNS already in place, so the question is "Why can't we simply use Azure as an extension of our network without having to provision these additional services?" The answer is, of course, you can!

To make the setup process happen smoothly, you must first have the following information at hand:

1. IP address and name of your DNS server
2. Internet facing address of your VPN server or appliance
3. Address space and subnet masks for your local area network (in layman's terms, the range of IPs covered by your TCP/IP network)
4. Optional: Address space you want to use to setup your Azure virtual network.
5. An AD account with privileges to join computers to the domain

To get started, logon to the Windows Azure management portal (http://manage.windowsazure.com). Once in the management portal follow these steps:

1. The first task at hand is to identify our on premise network. Click on the Network Services and Local Network to define your on premise network. Once on the page, click on Add a Local Network.


On premise Network (LAN) setup

2. For this example, we will call the network CONTOSO-ONPREM. You will be asked to enter the public IP address for the VPN. For this example, our CONTOSO-ONPREM network's can be reached at 200.100.50.1. Click the checkmark to proceed to the next screen.

LAN details

Note that this is simply an Azure identifier for your on premise network and not necessarily the actual physical name of it.

3. Now, you must define the range of valid IPs of your on premise LAN. Particularly important here is to know the starting IP address of the on premise network and the Classless Inter-Domain Routing (CIDR) method use for IP address allocation.

Address space

We will assume the CONTOSO-ONPREM routing prefix is 192.168.1.1 and that the usable address range is anywhere from 192.168.1.0 to 192.168.1.255 which gives us a subnet mask of 255.255.255.0 (or 24 "1" bits). Please consult with your on premise network administrator if unsure.

4. Once the on premise network has been defined, you can proceed to register the DNS server for by clicking on the DNS Servers option or clicking the +NEW action button on the lower left corner of the portal.

DNS Server registration

In our example, the CONTOSO-ONPREM DNS server can be found at 192.168.1.20. My preference is simply to assign the FQDN name of the DNS server, though, again, this is just used in Azure to identify the object and rather not necessarily related to the domain name of the machine.

5. Provision virtual network. For our example, we will call this network CONTOSO-AZURE.


CONTOSO-AZURE network provisioning
We can the click next to continue. In the next page of the network provisioning, you will be asked to identify the DNS server and establish the VPN connection to the on premise network.


Azure does a pretty cool job at showing a graphical representation of what you are configuring. In the next page, you can pretty much setup your address spaces and subnet masks. However you must add a subnet mask for your Azure gateway, by clicking the Add Subnet button.



For the purpose of our example, our Gateway IP address will be 10.32.0.0.

Click ok to continue.

6. Azure will now provision the network and make the setup based on the choices you selected. Once the network is provisioned, you can now go to the Dashboard and should see the following:


7. Next steps now involve setting up the VPN tunnel on your firewall to communicate to the Azure gateway.  For this you have a choice of downloading a number of ready to go VPN device scripts (supported devices include Cisco, Juniper, and software-based as Microsoft's). If you cannot find your specific device, it's always good to do a search over the Internet as someone has probably already figured out some configuration for the specific model you have. Important as well is to record the Azure network key, which you will need when setting your VPN.

Once you have established connectivity with your on premise VPN, you can begin provisioning your VMs, making sure you select your virtual network in the process.

Hopefully you found this article useful now that Azure is becoming more and more a choice for hosting Microsoft Dynamics GP.

MG.-
Mariano Gomez, MVP
Intelligent Partnerships, LLC
http://www.IntelligentPartnerships.com