sharepoint 2013 logo

Featured Post

A Simple Content Enrichment Service

By: Chris Hettinger

sharepoint 2013 logoRecently, I encountered an issue with SharePoint 2013 search crawls where .pdf files smaller than 1 MB reported a warning: “The item has been truncated in the index because it exceeds the maximum size”. The default MaxDownLoadSize for documents in SharePoint is 64MB, which was more than enough the handle these relatively small .pdf files.

After I reached out to some co-workers; one suggested that the error might be a false-positive and the entire document had been crawled. I tested this by first searching for words at the end of the document and no matches were found; this would be expected if it were truncated. Next, I tried searching for text in the middle of the document, no matches were found either. I thought it must have truncated a lot of text and tried searching for text contained at the very beginning of the document. No results were found! So when the warning said it truncated the item, it had truncated the whole document. Read More…

Part 4: Load testing the messaging integration style

In this four part series we have been looking at how different application integration styles handle spikes in load. In Part 1 we created and deployed a distributed system that used an RPC-based integration style. Our inventory application communicated with our purchasing application via a web service. In Part 2 we simulated a spike in load and caused the system fail. In Part 3 we updated the architecture from an RPC-based integration style to a messaging-based integration style. In this post, we are going to simulate the same spike in load and see how the messaging-based architecture copes.

Where are we now? We have updated our distributed system to use messaging as the communication mechanism between the applications. We have created an integration test that causes the inventory application to request stock replenishment from the purchasing application and we have created a load test that executes the integration test a thousand times and records the results. We have already tested our previous, RPC-based architecture and seen that it doesn’t hold up when there is more load than the hardware can handle. Read More…

Part 3: Re-architecting the system to use a messaging integration style

In this series of posts I am taking a practical look at how a messaging architecture can mitigate the risks associated with a spike in load if a server doesn’t have enough resources to handle the spike. In Part 1 I created a distributed system for a fictitious company. The system consisted of two nodes: an inventory node and a purchasing node. These nodes were integrated using an RPC-style architecture. In Part 2 I put the system under stress using a Visual Studio Load Test and saw how it failed when the virtual machine on which the purchasing system was deployed didn’t have enough resources to handle the load. In this third post I am going to use a messaging integration style over RabbitMQ to allow this distributed system to effectively handle spikes in load. Finally, in Part 4 I am going to simulate the same spike in load and see how the messaging architecture comfortably handles the spike. Read More…

Welcome to part ten of our blog series based on our latest Plural Sight course: Applied Azure. Previously, we’ve discussed Mobile Services, Big Compute, Azure Web SitesAzure Worker RolesIdentity and Access with Azure Active DirectoryAzure Service Bus and MongoDBHIPPA Compliant Apps in Azure and Offloading SharePoint Customizations to Azure and “Big Data” with Windows Azure HDInsight.

Motivation

A majority of organizations, especially e-commerce and m-commerce shops face the following challenges in support of business-to-business messaging across various platforms. Read More…

Welcome to part nine of the blog series based on Vishwas Lele’s PluralSight course: Applied Azure. Previously, we’ve discussed Big Compute, Azure Web SitesAzure Worker RolesIdentity and Access with Azure Active DirectoryAzure Service Bus and MongoDBHIPPA Compliant Apps in Azure and Offloading SharePoint Customizations to Azure and “Big Data” with Windows Azure HDInsight.

Motivation

Windows Azure Mobile Services is a powerful building block in the Windows Azure platform. It brings together a set of services that enables you to create a versatile backend API very quickly. Moreover, it is supported by all major platforms such as Windows 8, Windows Phone, Android, iOS and HTML5. Read More…

Satya Nadella introduces Azure Government Cloud General Availability

photo (7)Today, AIS participated in the Microsoft One Government Cloud event and Expo introducing the General Availability (GA) of Azure Government Cloud at the Mayflower Hotel in Washington, DC.  Microsoft CEO, Satya Nadella, participated in a fireside chat and shared his vision for the industry and discussed how government organizations can thrive in the mobile-first, cloud-first world.

Read More…

Welcome to part eight of the blog series based on Vishwas Lele’s PluralSight course: Applied Azure. Previously, we’ve discussed Azure Web Sites, Azure Worker Roles, Identity and Access with Azure Active Directory, Azure Service Bus and MongoDB, HIPPA Compliant Apps in Azure and Offloading SharePoint Customizations to Azure and “Big Data” with Windows Azure HDInsight.

Motivation

Big Compute refers to running large scale applications which utilize large amounts of CPU and/or memory resources. These resources are provided by using a cluster of computers and the applications are distributed across the cluster. The key concept is to distribute the application to run on multiple machines so as to execute computations simultaneously in parallel. Problems in the financial, scientific and engineering fields often require computations which would take several days or longer if executed on a single computer. Big Compute solutions significantly reduce the solution time dramatically from days to hours or less, depending on how many machines are added to the compute cluster. Big Compute differs subtly from “Big Data” in that the latter is more about using disk capacity and IO performance of a cluster of computers in order to analyze large volumes of data, whereas Big Compute is primarily about utilizing CPU power in a cluster to perform computations. In order to harness the resources of multiple machines, a Big Compute solution also requires components to handle the configuration and scheduling of the individual component computations – this is usually the role of a ‘head node’ in the compute cluster. Microsoft’s HPC (High Performance Computing) platform is a key aspect of their Big Compute offerings. HPC provides all the components necessary to configure, schedule and execute computations in a distributed cluster. Microsoft’s HPC solution is supported in on-premises environments as well as in the Azure cloud, both in an IaaS configuration as well as via an Azure HPC scheduler. Since the publishing of the Pluralsight course, there have been continued developments from Microsoft on the Big Compute offerings in Azure, in particular the new Azure Batch offering which is currently in preview mode. Read More…

Part 2: Load testing the RPC-based integration style

In Part 1 of this series I created a fictitious distributed enterprise system that allowed an inventory application to communicate with a purchasing application through an RPC integration style. In this post, I am going to give this distributed system a stress test, see how it fails and examine the consequences and severity of such a failure. In part 3 and 4 of the series I’ll take a different integration approach and update the system to integrate using a messaging style over the RabbitMQ messaging technology.

The test environment

As a reminder, this is how my distributed system is deployed:

Deployment Diagram

Read More…

Dynamics_crm_logoRecently, I worked on a project that required me to programmatically set up Field Security in Microsoft Dynamics CRM 2011. Field Security allows you to designate selected fields (of selected entities) to be “secure” – which means only a certain group of users can have access to it. This access is made up of three operations: read, update, and create, each of which can be granted separately. MSDN does a pretty good job giving an overview of how it works: http://msdn.microsoft.com/en-us/library/gg309608(v=crm.5).aspx   Read More…

Event: Road to the Cloud

roadtocloud

The software industry is changing.

Many companies that have historically bought packaged software solutions are evaluating software as a service (SaaS) and cloud-backed software solutions to replace their legacy software.

This new cloud market presents tremendous opportunity for established software vendors. Capturing that opportunity brings not just technical changes, but fundamental shifts to your company’s business model.

Network, learn and share.

Join this event to learn from your peers in the industry that have leveraged the benefits of the cloud to build a successful business. You’ll hear from owners and leaders of successful software businesses about best practices and lessons learned, and gain insight about the cloud opportunity for a software business.  Read More…