QUERCUS BLOG
Industry Insights from Our Experts

Category Archives: Software Architecture

Changing SharePoint to use a SQL Availability Group Listener

Comments Off
Filed under SharePoint, Software Architecture

I had an interesting issue crop up from a client this week. They were testing failover of their High Availability cluster and for some reason SharePoint wasn’t working after failover.

It turns out that SharePoint had been installed months ago, before the SQL Availability Group was configured. Production SharePoint was pointing to the SQLServer\Instance name in the form of Cluster\Prod. Ideally if you are planning to use High Availability then SharePoint should be installed with this in mind.

In order for SharePoint to failover successfully with SQL, we need to change the SharePoint database server to point to the SQL Availability Group listener instead. The listener will then handle redirecting to the active node.

Changing the SharePoint environment to use the AG Listener was actually a lot easier than you (or at least I) would think.

After stopping all the SharePoint services, I simply configured a SQL Alias to let SharePoint continue to use Cluster\Prod even though in reality it was now connecting to the AG Listener:

 

image

We tested the failover again and this time it worked successfully.

Automapper Review

Comments Off
Filed under .NET, Productivity, Software Architecture

Automapper is a great tool we used in a recent project for mapping objects.  With the tiered architecture we used, we ended up with and MVC front end, and a web service back end.  This meant that there were web service objects and MVC models that had essentially the same structures, but .NET does not implicitely realize this.  What this often causes is code that looks like this:

person.FirstName = Webservice.Person.FirstName;
person.LastName = Webservice.Person.LastName;
person.Birthdate = Webservice.Person.Birthdate;
person.Address = Webservice.Person.Address;
person.PhoneNumber = Webservice.Person.PhoneNumber;
person.Gender = Webservice.Person.Gender;
…

We’ve all seen this code and to the human eye it looks repetitive, but to a machine it is necessary.  This is where automapper comes in.  It simplifies this process and turns the above code into this:

person = PersonMapper.Map(Webservice.Person);

Having your objects sharing identical field names makes your life a lot easier.  You can install Automapper from NuGet and have it working right away.  Just create a new class and include the automapper library..  Your method signature will look something like this:

public static Models.Person Map(MemberServices.Person person)
{
   return Mapper.Map(person);
}

That’s it!  You can call your .Map function from now on and Automapper will handle the rest.

 

This is of course a very simple example that all Automapper can do for you.  In the case where you do not have identically named fields, you can configure Automapper to map to fields of different names.  You’re also able to map entire arrays if need be to save yourself work on those redundant copy loops.

 

For more information on AutoMapper and to get started, click here

 

Troubleshooting SharePoint 2013 upgrade issue “Content database cannot be upgraded due to use of the obsoleted External Binary Storage feature”

Comments Off
Filed under SharePoint, Software Architecture

I’m in the middle of a large upgrade project for a client. They are currently live on SharePoint Enterprise 2007 and are upgrading to SharePoint 2013.

The process is very well documented via Technet but in summary we migrate to SharePoint 2010 first and then migrate from there to 2013.

The SharePoint 2010 migration piece went very well, there were missing features and custom deployments that needed to be fixed of course but the site is now successfully running on a SharePoint 2010 test farm with no issue.

So next I setup our test 2013 farm to begin the initial test migration to SharePoint 2013. After testing the root content database I fixed any missing features and deployments. However when I attempted to run the upgrade I got the following error:

image
Read More »

Get on the SignalR Bandwagon!

Comments Off
Filed under .NET, Software Architecture

Quercus PreQuel - Your IT project roadmap.

Momentum seems to be really growing regarding SignalR, ASP.Net functionality that adds real-time features to web development. It’s too early for me to include the details of SignalR into this post – I still have to  get up to speed on it. But my gut is telling me that this is something to pay attention to.

For now, here are some go to resources that I would recommend:

I am sure there is more, and if you know of some, please let me know.

Happy real-time asynchronousness (is that a word?)!

SharePoint 2013 Prerequisites error – Workaround

Comments Off
Filed under .NET, SharePoint, Software Architecture

While setting up our new intranet I hit an issue deploying SharePoint 2013 prerequisites on our Windows Server 2012 VM. The error stated “unable to install application server role” and linked to the error logs for my viewing pleasure.
Read More »

Economies of Scale and Cloud Computing

Comments Off
Filed under Cloud Practice, Growth & Development, Software Architecture

Many of the conversations I have are with business executives who ask: “What value will I see from using the cloud?”

Measuring the Value of IT

According to a 2011 Gartner report, 66 percent of IT spending was used to sustain existing products and services. 1 The report also indicates that 20 percent of IT spending was used for improving on existing products and services, and 14 percent on introducing new ones. The report also shows that these numbers have not changed much over the last 6 years.

As mentioned in the report, there are three core activities that every business tries to achieve. The first is to sustain existing products and services. The second is to improve on existing products and services, and the third is to introduce new ones. These activities, which are also known as: “run, grow, and transform” are each activities that business invest into for IT. Read More »

Is Your Technology Solution a Good Fit for the Cloud?

Comments Off
Filed under Software Architecture

Are you considering, or just wondering about, how you might be able to leverage the “cloud” for your software application?

Let’s put this into a scenario… You are at an organization where all of your information technology resides on-premise. The desktop workstations and laptops are all interconnected via an internal network and connectivity is available to internal email, application, database, and file storage services. Heck, let’s say that even your phone system uses a centrally managed IP based software solution.  Everything you need for your day-to-day operations is available within your organization’s self-managed and on-premise technology infrastructure. Read More »

Windows Communication Foundation Security Must Reads

Comments Off
Filed under .NET, Software Architecture

I’ve been on a bit of a Windows Communication Foundation (WCF) security kick lately. Maybe because of all the Azure and cloud based development we’ve been doing here at Quercus Solutions.

Here are my top reads for all things WCF Security (so far):

  1. Windows Communication Foundation (WCF) Basic Programming Lifecycle : http://msdn.microsoft.com/en-us/library/ms732098
     - Note section titled Parameters and Return Values : Data Contracts
  2. Securing Services and Clients : http://msdn.microsoft.com/en-us/library/ms734736
  3. Message Security in WCF : http://msdn.microsoft.com/en-us/library/ms733137.aspx
  4. How to: Use Transport Security and Message Credentials : http://msdn.microsoft.com/en-us/library/ms789011
  5. Microsoft Patterns and Practices – Improving Web Services Security Guide : http://wcfsecurityguide.codeplex.com/wikipage?title=Ch%2007%20-%20Message%20and%20Transport%20Security%20in%20WCF-
    - Note the Protection Level section for ServiceContract the attributes.
    - Pay attention to the Internet Scenarios section.

Also, another great reference: http://wcfsecurityguide.codeplex.com/

Enjoy!

 

 

 

 

Copyright 2017 by Quercus Solutions
Login