<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Digital Workplace Solutions Archives | DMC, Inc.</title>
	<atom:link href="https://static.dmcinfo.com/blog/category/digital-workplace-solutions/feed/index.xml" rel="self" type="application/rss+xml" />
	<link></link>
	<description></description>
	<lastBuildDate>Fri, 04 Sep 2026 21:22:03 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>

<image>
	<url>https://static.dmcinfo.com/wp-content/uploads/2025/04/site-icon-150x150.png</url>
	<title>Digital Workplace Solutions Archives | DMC, Inc.</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>5 Signs You&#8217;ve Outgrown Your Accounting Software</title>
		<link>https://static.dmcinfo.com/blog/49355/5-signs-youve-outgrown-your-accounting-software/</link>
		
		<dc:creator><![CDATA[Dan Freve]]></dc:creator>
		<pubDate>Wed, 12 Aug 2026 12:00:00 +0000</pubDate>
				<category><![CDATA[Acumatica]]></category>
		<category><![CDATA[Digital Workplace Solutions]]></category>
		<category><![CDATA[Acumatica Cloud ERP]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/?p=49355</guid>

					<description><![CDATA[<p>Most businesses don&#8217;t outgrow their accounting software overnight. Instead, the cracks appear gradually. A report takes longer to produce. Teams start maintaining their own spreadsheets. Finance spends more time answering questions than analyzing performance. What previously felt like a simple, effective system begins requiring extra effort to keep pace with the business. While these growing [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/49355/5-signs-youve-outgrown-your-accounting-software/">5 Signs You&#8217;ve Outgrown Your Accounting Software</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Most businesses don&#8217;t outgrow their accounting software overnight. Instead, the cracks appear gradually. A report takes longer to produce. Teams start maintaining their own spreadsheets. Finance spends more time answering questions than analyzing performance. What previously felt like a simple, effective system begins requiring extra effort to keep pace with the business.</p>



<p class="wp-block-paragraph">While these growing pains are common, they&#8217;re often indicators that your organization has grown past what its current accounting platform was designed to support.</p>



<p class="wp-block-paragraph">Here are five signs it may be time to evaluate whether your financial systems are helping your business grow or holding it back.</p>



<h2 id="h-1-critical-information-lives-within-spreadsheets" class="wp-block-heading">1. Critical information lives within spreadsheets</h2>



<p class="wp-block-paragraph">Spreadsheets are valuable tools, but they shouldn&#8217;t be the primary way your organization manages business data.</p>



<p class="wp-block-paragraph">If employees regularly export information from your accounting system to create reports, track projects, analyze profitability, or monitor business performance, it may be a sign that your system isn&#8217;t providing the visibility your teams need.</p>



<p class="wp-block-paragraph">Over time, spreadsheet-driven processes can create multiple versions of the truth, increase manual effort, and make it harder to trust the data being used for decisions.</p>



<h2 id="h-2-you-keep-adding-software-to-fill-operational-gaps" class="wp-block-heading">2. You keep adding software to fill operational gaps</h2>



<p class="wp-block-paragraph">As companies grow, they commonly introduce new tools for functions such as:</p>



<ul class="wp-block-list">
<li>Purchasing and procurement</li>



<li>Expense management</li>



<li>Inventory tracking</li>



<li>Project management</li>



<li>Reporting and analytics</li>
</ul>



<p class="wp-block-paragraph">Initially, these tools solve specific problems. Eventually, however, they can create a fragmented technology landscape where information must constantly move between systems.</p>



<p class="wp-block-paragraph">When teams spend significant time importing, exporting, and reconciling data, business processes become less efficient and more error prone. Connected systems can help reduce those handoffs and provide greater visibility among departments.</p>



<h2 id="h-3-leadership-struggles-to-get-answers-quickly" class="wp-block-heading">3. Leadership struggles to get answers quickly</h2>



<p class="wp-block-paragraph">Growing businesses need fast, well-informed decision-making.</p>



<p class="wp-block-paragraph">Questions about project performance, cash flow, purchasing activity, profitability, or utilization shouldn&#8217;t require days of research to answer. Yet many organizations pull information from multiple sources every time leadership needs a clearer picture of the business.</p>



<p class="wp-block-paragraph">When reporting cycles become lengthy, and leaders lack access to timely information, opportunities can be missed, and issues can take longer to address.</p>



<p class="wp-block-paragraph">A modern ERP platform helps make operational and financial data more accessible so decisions can be made with confidence.</p>



<h2 id="h-4-business-complexity-is-increasing" class="wp-block-heading">4. Business complexity is increasing</h2>



<p class="wp-block-paragraph">Many accounting platforms work well for organizations with straightforward operations. Challenges commonly emerge when businesses expand into:</p>



<ul class="wp-block-list">
<li>Multiple locations</li>



<li>Project-based work</li>



<li>Manufacturing operations</li>



<li>Inventory management</li>



<li>Job costing</li>



<li>More sophisticated financial reporting</li>
</ul>



<p class="wp-block-paragraph">As complexity grows, companies often compensate with additional manual processes and workarounds.</p>



<p class="wp-block-paragraph">While these fixes may work temporarily, they can become difficult to maintain as transaction volumes, customer demands, and organizational requirements continue to increase. At some point, growth requires a stronger operational foundation, not just additional effort from employees.</p>



<h2 id="h-5-your-systems-support-accounting-but-not-the-entire-business" class="wp-block-heading">5. Your systems support accounting, but not the entire business</h2>



<p class="wp-block-paragraph">Accounting is only one part of a successful organization.</p>



<p class="wp-block-paragraph">Operations teams need visibility into purchasing. Project managers need insight into costs and profitability. Leaders need a clear view of performance across the business.</p>



<p class="wp-block-paragraph">If most employees can&#8217;t access the information they need without going through finance or relying on manually generated reports, your systems may be supporting transactions without supporting decision-making.</p>



<p class="wp-block-paragraph">The most effective platforms connect departments, giving teams access to the information they need while maintaining data consistency across the organization.</p>



<div class="wp-block-group alignfull latest-news has-custom-light-blue-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-fcc986e2 wp-block-group-is-layout-constrained" style="border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:20px;border-bottom-right-radius:20px;padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50)">
<h2 class="wp-block-heading alignwide" id="h-see-how-dmc-approached-the-same-challenge">See How DMC Approached the Same Challenge</h2>



<div class="wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-36a1a82f wp-block-columns-is-layout-flex" style="padding-top:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50)">
<div class="wp-block-column article-headlines is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%">
<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h3 id="h-when-quickbooks-couldn-t-keep-up-dmc-made-the-move-to-acumatica-and-unified-their-operations" class="wp-block-heading">When QuickBooks Couldn’t Keep Up, DMC Made the Move to Acumatica and Unified Their Operations</h3>



<p class="wp-block-paragraph">Like many growing organizations, DMC experienced increasing demands for reporting, operational visibility, project accounting, and cross-functional collaboration. Rather than continuing to rely on disconnected processes, DMC undertook an internal ERP modernization initiative to create a more scalable foundation for growth.</p>



<p class="wp-block-paragraph"><strong>Learn how our firsthand migration experience helps organizations modernize with confidence.</strong></p>
</div>



<div class="wp-block-buttons is-content-justification-left is-layout-flex wp-container-core-buttons-is-layout-35314b25 wp-block-buttons-is-layout-flex" style="margin-top:var(--wp--preset--spacing--50)">
<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-primary-light-color has-text-color has-link-color wp-element-button" href="https://static.dmcinfo.com/our-work/scaling-beyond-accounting-software-with-acumatica-erp/" style="border-style:none;border-width:0px;border-radius:8px">Read the Case Study</a></div>
</div>
</div>



<div class="wp-block-column article-content is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%">
<figure class="wp-block-image aligncenter size-large has-custom-border"><img fetchpriority="high" decoding="async" width="1024" height="366" src="https://static.dmcinfo.com/wp-content/uploads/2026/07/Acumatica-Migration-hero-1024x366.jpg" alt="Acumatica Migration" class="wp-image-48419" style="border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:20px;border-bottom-right-radius:20px;aspect-ratio:4/3;object-fit:cover" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/07/Acumatica-Migration-hero-1024x366.jpg 1024w, https://static.dmcinfo.com/wp-content/uploads/2026/07/Acumatica-Migration-hero-300x107.jpg 300w, https://static.dmcinfo.com/wp-content/uploads/2026/07/Acumatica-Migration-hero-768x274.jpg 768w, https://static.dmcinfo.com/wp-content/uploads/2026/07/Acumatica-Migration-hero.jpg 1400w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>
</div>
</div>



<h2 class="wp-block-heading">Looking beyond today&#8217;s challenges</h2>



<p class="wp-block-paragraph">Many accounting platforms work well for organizations with straightforward operations. Challenges commonly emerge when businesses expand into:</p>



<ul class="wp-block-list">
<li>Multiple locations</li>



<li>Project-based work</li>



<li>Manufacturing operations</li>



<li>Inventory management</li>



<li>Job costing</li>



<li>More sophisticated financial reporting</li>
</ul>



<p class="wp-block-paragraph">As complexity grows, companies often compensate with additional manual processes and workarounds.</p>



<p class="wp-block-paragraph">While these fixes may work temporarily, they can become difficult to maintain as transaction volumes, customer demands, and organizational requirements continue to increase. At some point, growth requires a stronger operational foundation, not just additional effort from employees.</p>



<div class="wp-block-group alignwide has-custom-light-blue-background-color has-background is-layout-flow wp-container-core-group-is-layout-dbd34961 wp-block-group-is-layout-flow" style="border-radius:20px;margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--50);padding-right:0;padding-bottom:var(--wp--preset--spacing--50);padding-left:0">
<div class="wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-43efaee5 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:85%">
<h3 class="wp-block-heading has-text-align-left" id="h-have-an-upcoming-project-dmc-can-help-you-take-the-next-step">Let us help you b<strong><strong>uild a stronger foundation for your finance and operations teams.</strong></strong></h3>



<p class="has-text-align-left wp-block-paragraph" id="h-need-help-turning-ideas-into-outcomes-automation-project-to-the-next-level-contact-us-today-to-learn-more-about-our-solutions-and-how-we-can-help-you-achieve-your-goals">From ERP assessments and implementations to integrations and optimization, DMC&#8217;s <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/" id="437">Digital Workplace Solutions team</a> helps growing businesses streamline operations and improve visibility across the organization.</p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:15%">
<div class="wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-2236275c wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-base-contrast-color has-text-color has-link-color wp-element-button" href="https://static.dmcinfo.com/contact/">Contact Us</a></div>
</div>
</div>
</div>
</div>
<p>The post <a href="https://static.dmcinfo.com/blog/49355/5-signs-youve-outgrown-your-accounting-software/">5 Signs You&#8217;ve Outgrown Your Accounting Software</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>We Made the Move to Acumatica. Now We&#8217;re Helping Others Do the Same.</title>
		<link>https://static.dmcinfo.com/blog/49163/we-made-the-move-to-acumatica-cloud-erp/</link>
		
		<dc:creator><![CDATA[Anjali Bharadwa]]></dc:creator>
		<pubDate>Sun, 02 Aug 2026 15:55:14 +0000</pubDate>
				<category><![CDATA[Acumatica]]></category>
		<category><![CDATA[Digital Workplace Solutions]]></category>
		<category><![CDATA[Acumatica Cloud ERP]]></category>
		<category><![CDATA[ERP]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/?p=49163</guid>

					<description><![CDATA[<p>At DMC, we&#8217;ve always focused on helping clients solve complex business and technology challenges through engineering, software, and automation expertise. Today, we&#8217;re excited to bring that same approach to enterprise resource planning (ERP) projects as a certified Acumatica Value-Added Reseller (VAR) partner. This new partnership expands DMC&#8217;s ability to help organizations modernize financial and operational [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/49163/we-made-the-move-to-acumatica-cloud-erp/">We Made the Move to Acumatica. Now We&#8217;re Helping Others Do the Same.</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">At DMC, we&#8217;ve always focused on helping clients solve complex business and technology challenges through engineering, software, and automation expertise. Today, we&#8217;re excited to bring that same approach to enterprise resource planning (ERP) projects as a certified <a href="https://static.dmcinfo.com/services/acumatica-erp-consulting/">Acumatica Value-Added Reseller (VAR) partner</a>.</p>



<p class="wp-block-paragraph">This new partnership expands DMC&#8217;s ability to help organizations modernize financial and operational processes with one of the leading cloud ERP platforms on the market.</p>



<h2 class="wp-block-heading">What Does Becoming an Acumatica VAR Mean?</h2>



<p class="wp-block-paragraph">As an Acumatica VAR, DMC is authorized to sell, implement, configure, integrate, and support Acumatica ERP solutions. More importantly, it means our clients can work with a team that understands both the software and the business processes behind it.</p>



<p class="wp-block-paragraph">Many ERP partners focus primarily on software deployment. DMC brings a broader perspective. Our teams have experience in manufacturing operations, custom software development, systems integration, reporting and analytics, automation, and business process improvement. This allows us to help clients not just implement a new system but build a stronger operational foundation for growth.</p>



<p class="wp-block-paragraph">Whether you&#8217;re evaluating ERP platforms, planning a migration from QuickBooks, or looking to connect finance and operations better, DMC can support every stage of the journey.</p>



<h2 class="wp-block-heading">How Our Clients Benefit</h2>



<p class="wp-block-paragraph">Many organizations reach a point where disconnected systems, manual data entry, and spreadsheet-based reporting become difficult to manage. ERP projects are meant to address these challenges, but successful implementations require an understanding of both technology and business operations.</p>



<p class="wp-block-paragraph">By partnering with DMC, clients receive access to:</p>



<ul class="wp-block-list">
<li>ERP implementation expertise designed for project-based, manufacturing, and technology-focused organizations</li>



<li>Custom integrations that connect ERP data with existing business systems</li>



<li>Business process optimization to increase efficiency and visibility</li>



<li>Reporting and analytics solutions that support better decision-making</li>



<li>Long-term support and enhancements as business needs evolve</li>
</ul>



<p class="wp-block-paragraph">Because DMC&#8217;s engineering and software teams regularly solve complex integration and data challenges, we can help clients maximize the value of their ERP investment beyond the initial implementation.</p>



<h2 class="wp-block-heading">Why Acumatica?</h2>



<p class="wp-block-paragraph">Acumatica is a modern cloud ERP platform designed to help organizations unify finance, purchasing, inventory, project accounting, and operations. Its flexible architecture and extensive integration capabilities make it a natural fit for growing businesses that need more than traditional accounting software can provide.</p>



<p class="wp-block-paragraph">For organizations managing projects, manufacturing operations, inventory, or multiple business units, Acumatica offers the visibility and scalability needed to support future growth.</p>



<h2 id="h-our-erp-journey-comes-full-circle" class="wp-block-heading">Our ERP Journey Comes Full Circle</h2>



<p class="wp-block-paragraph">Becoming an Acumatica VAR is a natural next step for DMC. Through our own ERP modernization initiative, we gained firsthand experience with the process of evaluating, implementing, and optimizing a modern ERP platform. That experience gives us practical insight into the technical, operational, and organizational challenges our clients face, helping us deliver more effective Acumatica solutions from day one.</p>



<div class="wp-block-group alignfull latest-news has-custom-light-gray-neutral-2-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-fcc986e2 wp-block-group-is-layout-constrained" style="border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:20px;border-bottom-right-radius:20px;padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50)">
<h2 class="wp-block-heading alignwide" id="h-scaling-beyond-accounting-software-with-acumatica-erp">Scaling Beyond Accounting Software with Acumatica ERP</h2>



<div class="wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-36a1a82f wp-block-columns-is-layout-flex" style="padding-top:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50)">
<div class="wp-block-column article-headlines is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%">
<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained">
<h3 id="h-when-quickbooks-couldn-t-keep-up-dmc-made-the-move-to-acumatica-and-unified-their-operations" class="wp-block-heading">When QuickBooks Couldn’t Keep Up, DMC Made the Move to Acumatica and Unified Their Operations</h3>



<p class="wp-block-paragraph">As DMC grew, disconnected systems, manual reporting, and limited visibility created operational challenges. By implementing Acumatica ERP, we unified finance, purchasing, inventory, project accounting, and CRM into a single scalable platform, improving reporting, collaboration, and decision-making across the business. </p>



<p class="wp-block-paragraph"><strong>Learn how our firsthand migration experience helps organizations modernize with confidence.</strong></p>
</div>



<div class="wp-block-buttons is-content-justification-left is-layout-flex wp-container-core-buttons-is-layout-35314b25 wp-block-buttons-is-layout-flex" style="margin-top:var(--wp--preset--spacing--50)">
<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-primary-light-color has-text-color has-link-color wp-element-button" href="https://static.dmcinfo.com/our-work/scaling-beyond-accounting-software-with-acumatica-erp/" style="border-style:none;border-width:0px;border-radius:8px">Read the Case Study</a></div>
</div>
</div>



<div class="wp-block-column article-content is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%">
<figure class="wp-block-image aligncenter size-large has-custom-border"><img decoding="async" width="1024" height="366" src="https://static.dmcinfo.com/wp-content/uploads/2026/07/Acumatica-Migration-hero-1024x366.jpg" alt="Acumatica Migration" class="wp-image-48419" style="border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:20px;border-bottom-right-radius:20px;aspect-ratio:4/3;object-fit:cover" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/07/Acumatica-Migration-hero-1024x366.jpg 1024w, https://static.dmcinfo.com/wp-content/uploads/2026/07/Acumatica-Migration-hero-300x107.jpg 300w, https://static.dmcinfo.com/wp-content/uploads/2026/07/Acumatica-Migration-hero-768x274.jpg 768w, https://static.dmcinfo.com/wp-content/uploads/2026/07/Acumatica-Migration-hero.jpg 1400w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>
</div>
</div>



<h2 class="wp-block-heading">Looking Ahead</h2>



<p class="wp-block-paragraph">ERP projects are about more than software. They&#8217;re an opportunity to improve business processes, connect critical data, and create systems that support long-term growth.</p>



<p class="wp-block-paragraph">As a certified Acumatica VAR partner, DMC is excited to help organizations evaluate, implement, and optimize ERP solutions that match their business goals.</p>



<p class="wp-block-paragraph">Whether you&#8217;re beginning to explore ERP options or are ready to migrate from your current platform, DMC can help you navigate the process from start to finish.</p>



<div class="wp-block-group alignwide has-custom-light-blue-background-color has-background is-layout-flow wp-container-core-group-is-layout-dbd34961 wp-block-group-is-layout-flow" style="border-radius:20px;margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--50);padding-right:0;padding-bottom:var(--wp--preset--spacing--50);padding-left:0">
<div class="wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-43efaee5 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:85%">
<h3 class="wp-block-heading has-text-align-left" id="h-have-an-upcoming-project-dmc-can-help-you-take-the-next-step"><strong>Ready to modernize your finance and operations systems?</strong></h3>



<p class="has-text-align-left wp-block-paragraph" id="h-need-help-turning-ideas-into-outcomes-automation-project-to-the-next-level-contact-us-today-to-learn-more-about-our-solutions-and-how-we-can-help-you-achieve-your-goals">From ERP assessments and implementations to integrations and optimization, DMC&#8217;s <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/" id="437">Digital Workplace Solutions team</a> helps growing businesses streamline operations and improve visibility across the organization.</p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:15%">
<div class="wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-2236275c wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-base-contrast-color has-text-color has-link-color wp-element-button" href="https://static.dmcinfo.com/contact/">Contact Us</a></div>
</div>
</div>
</div>
</div>
<p>The post <a href="https://static.dmcinfo.com/blog/49163/we-made-the-move-to-acumatica-cloud-erp/">We Made the Move to Acumatica. Now We&#8217;re Helping Others Do the Same.</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Extending Your HRIS with SharePoint and Power Automate for Employee Onboarding</title>
		<link>https://static.dmcinfo.com/blog/47508/sharepoint-power-automate-employee-onboarding-workflows/</link>
		
		<dc:creator><![CDATA[Anjali Bharadwa]]></dc:creator>
		<pubDate>Thu, 16 Jul 2026 11:00:00 +0000</pubDate>
				<category><![CDATA[Digital Workplace Solutions]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[HRIS]]></category>
		<category><![CDATA[Power Automate]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/?p=47508</guid>

					<description><![CDATA[<p>Whether your team uses a big-name Human Resource Information System (HRIS) or a proprietary manual process, employee onboarding is not a siloed task. In practice, it touches nearly every department of an organization, from HR to admin. Access needs to be granted, equipment prepared, documentation completed, and teams aligned long before day one. As a [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/47508/sharepoint-power-automate-employee-onboarding-workflows/">Extending Your HRIS with SharePoint and Power Automate for Employee Onboarding</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Whether your team uses a big-name Human Resource Information System (HRIS) or a proprietary manual process, employee onboarding is not a siloed task. In practice, it touches nearly every department of an organization<ins>,</ins> from HR to admin.</p>



<p class="wp-block-paragraph">Access needs to be granted, equipment prepared, documentation completed, and teams aligned long before day one. As a result, onboarding success depends less on <em>how</em> employee data is stored and more on the ability of an organization to collaborate across teams.</p>



<p class="wp-block-paragraph">This is where SharePoint and Power Automate can play a critical role.</p>



<p class="wp-block-paragraph">At DMC, we have evolved our own onboarding approach over time, moving from SharePoint Designer workflows to a more modern solution built on Power Automate, SharePoint lists, and Modern Pages. This approach has allowed our organization, as well as clients we’ve assisted, to create a more flexible and maintainable onboarding system aligned with current Microsoft 365 best practices.</p>



<p class="wp-block-paragraph">If you are considering a SharePoint and Power Automate solution because you’ve outgrown the capabilities of your HRIS or you want to add some rigor to current manual processes, there are some important considerations to make before making the switch.</p>



<h2 id="h-1-consider-where-hris-platforms-add-value-and-where-they-fall-short" class="wp-block-heading">1. Consider Where HRIS Platforms Add Value and Where They Fall Short</h2>



<p class="wp-block-paragraph">HRISs play an essential role in onboarding. They are designed to manage employee records, benefits, and compliance-related processes, and they do this very well.</p>



<p class="wp-block-paragraph">However, HRIS platforms are not typically built to orchestrate dynamic, cross-department workflows.</p>



<p class="wp-block-paragraph">Common limitations include:</p>



<ul class="wp-block-list">
<li>Rigid, one-size-fits-all workflows.</li>



<li>Limited configurability without vendor involvement.</li>



<li>Lack of visibility for non-HR teams.</li>



<li>Weak integration with the tools employees use every day, such as Teams and SharePoint.</li>
</ul>



<p class="wp-block-paragraph">As a result, teams often fall back on email, spreadsheets, or ad hoc tracking methods to fill the gaps.</p>



<p class="wp-block-paragraph">HRIS systems are designed to manage employee data, not to coordinate operational tasks. And when those tasks apply to different teams across departments, HRIS systems can really fall short. This is not a shortcoming of HRIS platforms; it’s simply a matter of scope.</p>



<p class="wp-block-paragraph">That said, the most effective approach is not to fully replace an HRIS but to extend it. This is where SharePoint and Power Automate can act as a flexible coordination layer, connecting people, tasks, and systems across the onboarding lifecycle.</p>



<h2 id="h-2-assess-your-current-onboarding-process-and-requirements" class="wp-block-heading">2. Assess Your Current Onboarding Process and Requirements</h2>



<p class="wp-block-paragraph">Before designing a solution, it is important to understand how onboarding actually works in your organization today.</p>



<p class="wp-block-paragraph">As we’ve mentioned, onboarding is not a single workflow. It is a collection of tasks owned by different teams, each with its own processes, timing, and requirements.</p>



<p class="wp-block-paragraph">So, it’s important to ask some of the following questions before designing a new onboarding system:</p>



<figure class="wp-block-image alignright size-large is-resized has-custom-border" style="margin-bottom:var(--wp--preset--spacing--40)"><img decoding="async" width="1024" height="620" src="https://static.dmcinfo.com/wp-content/uploads/2026/07/employee-onboarding-automation-4-1024x620.jpg" alt="An image of a woman's hands sorting through a stack of files held together with metal clips." class="wp-image-47519" style="border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:20px;border-bottom-right-radius:20px;aspect-ratio:1.6500515641113784;object-fit:cover;width:590px" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/07/employee-onboarding-automation-4-1024x620.jpg 1024w, https://static.dmcinfo.com/wp-content/uploads/2026/07/employee-onboarding-automation-4-300x182.jpg 300w, https://static.dmcinfo.com/wp-content/uploads/2026/07/employee-onboarding-automation-4-768x465.jpg 768w, https://static.dmcinfo.com/wp-content/uploads/2026/07/employee-onboarding-automation-4-1536x931.jpg 1536w, https://static.dmcinfo.com/wp-content/uploads/2026/07/employee-onboarding-automation-4-2048x1241.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<ul class="wp-block-list">
<li style="padding-bottom:var(--wp--preset--spacing--40)"><strong>Who is responsible for each task? </strong>Responsibility often varies depending on the task and the employee. For example, setting up IT credentials may be handled centrally by a single team member, while preparing a desk or workspace may depend on local office staff.</li>



<li style="padding-bottom:var(--wp--preset--spacing--40)"><strong>What tasks are required for different types of hires? </strong>Full-time employees, contractors, and remote workers may all follow different onboarding paths.</li>



<li style="padding-bottom:var(--wp--preset--spacing--40)"><strong>How do onboarding tasks vary by office location?</strong> On-site onboarding tasks often differ from office to office. For example, one location may need to coordinate building access and employee badging, while another may need to prepare a parking space or other workspace accommodations.</li>



<li style="padding-bottom:var(--wp--preset--spacing--40)"><strong>What documents, approvals, or systems are involved? </strong>Consider offer letters, compliance forms, equipment requests, and system access.</li>



<li><strong>How is progress tracked today? </strong>Many teams rely on email threads, spreadsheets, or disconnected tools, which can make it difficult to maintain visibility.</li>
</ul>



<p class="wp-block-paragraph" id="h-an-effective-onboarding-system-must-reflect-this-complexity-and-variation-it-needs-to-support-cross-functional-ownership-while-providing-a-single-clear-view-of-progress">An effective onboarding system must reflect this complexity and variation. It needs to support cross-functional ownership while providing a single, clear view of progress.</p>



<h2 id="h-3-evaluate-the-tradeoffs-of-hard-coded-onboarding-workflows" class="wp-block-heading">3. Evaluate the Tradeoffs of Hard-Coded Onboarding Workflows</h2>



<p class="wp-block-paragraph">When HRIS platforms fall short in coordinating tasks, organizations often turn to custom workflows.</p>



<p class="wp-block-paragraph">In many cases, these workflows are hard-coded to define:</p>



<ul class="wp-block-list">
<li>Which tasks are created.</li>



<li>Who each task is assigned to.</li>



<li>When tasks are triggered.</li>



<li>How dependencies and due dates are structured.</li>



<li>Which onboarding stage initiates the work.</li>
</ul>



<p class="wp-block-paragraph">This approach can work initially, especially for straightforward onboarding processes. However, onboarding rarely stays static.</p>



<p class="wp-block-paragraph">As organizations grow and evolve, certain changes are inevitable. HR might introduce new compliance steps; a team may suddenly need to reassign responsibilities; new office locations may require different onboarding activities; a start date or timeline changes, etc.</p>



<p class="wp-block-paragraph">When these rules are embedded into a workflow, even small changes call for developers to update, test, and redeploy every solution. Over time, this approach slows system improvement, increases maintenance, and introduces risk. Over time, this slows down improvement, increases maintenance overhead, and introduces risk.</p>



<p class="wp-block-paragraph">The more rigid the system, the harder it becomes to adapt.</p>



<h2 id="h-4-consider-a-configurable-template-driven-approach-with-sharepoint-and-power-automate" class="wp-block-heading">4. Consider a Configurable, Template-Driven Approach with SharePoint and Power Automate</h2>



<p class="wp-block-paragraph">A more flexible approach is to separate workflow logic from task definition.</p>



<figure class="wp-block-image alignright size-full is-resized has-custom-border" style="margin-bottom:0"><img decoding="async" width="862" height="743" src="https://static.dmcinfo.com/wp-content/uploads/2026/07/employee-onboarding-automation-2.jpg" alt="DMC's SharePoint Onboarding Workflow Solution mocked up on a screen" class="wp-image-47520" style="border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:20px;border-bottom-right-radius:20px;aspect-ratio:1.1601683718929547;width:434px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/07/employee-onboarding-automation-2.jpg 862w, https://static.dmcinfo.com/wp-content/uploads/2026/07/employee-onboarding-automation-2-300x259.jpg 300w, https://static.dmcinfo.com/wp-content/uploads/2026/07/employee-onboarding-automation-2-768x662.jpg 768w" sizes="(max-width: 862px) 100vw, 862px" /></figure>



<p class="wp-block-paragraph">Instead of hard-coding tasks into Power Automate flows, onboarding tasks can be stored as configurable templates in SharePoint lists. Each template defines the task, its owner, timing, and any relevant dependencies.</p>



<p class="wp-block-paragraph">Power Automate can then dynamically read these templates and generate tasks based on the specific onboarding scenario.</p>



<p class="wp-block-paragraph">This approach offers several advantages:</p>



<ul class="wp-block-list">
<li style="padding-bottom:var(--wp--preset--spacing--30)"><strong>Business users can manage the process</strong> without modifying workflows.</li>



<li style="padding-bottom:var(--wp--preset--spacing--30)"><strong>Changes do not require redeployment</strong>, reducing dependency on developers.</li>



<li style="padding-bottom:var(--wp--preset--spacing--30)"><strong>Onboarding can scale more easily</strong> across roles, locations, and employee types.</li>



<li><strong>Variations can be handled dynamically</strong>, rather than through separate workflows.</li>
</ul>



<p class="wp-block-paragraph">This model also complements HRIS platforms well. HRIS systems remain the source of truth for employee data, while SharePoint and Power Automate handle task coordination and execution.</p>



<h2 id="h-5-plan-for-visibility-ownership-and-adaptation" class="wp-block-heading">5. Plan for Visibility, Ownership, and Adaptation</h2>



<p class="wp-block-paragraph">The most effective onboarding systems make work visible and ownership clear.</p>



<p class="wp-block-paragraph">Key design considerations include:</p>



<ul class="wp-block-list">
<li><strong>Role-based views</strong> for HR, IT, managers, and employees.</li>



<li><strong>Clear task ownership</strong>, so nothing falls between teams.</li>



<li><strong>Real-time status tracking</strong>, reducing the need for follow-ups.</li>



<li><strong>Scalability</strong>, to support new roles, locations, and hiring volume.</li>



<li><strong>Reusability</strong>, allowing the same framework to support offboarding and other workflows.</li>
</ul>



<p class="wp-block-paragraph">When teams can see what needs to be done, who is responsible, and what is complete, onboarding becomes more predictable and less dependent on manual coordination.</p>



<h2 id="h-a-flexible-modern-approach-to-onboarding" class="wp-block-heading">A Flexible, Modern Approach to Onboarding</h2>



<p class="wp-block-paragraph">HRIS platforms are essential for managing employee data and meeting compliance standards, but can fall short when it comes to onboarding task management. SharePoint and Power Automate can help coordinate teams through essential onboarding tasks, from the moment a new hire signs their offer letter to long after their first day.</p>



<p class="wp-block-paragraph" style="padding-top:0;padding-bottom:var(--wp--preset--spacing--50)">Whether you&#8217;re looking to extend an existing onboarding process or build something new, DMC can help! We&#8217;ve assisted organizations in moving from spreadsheets and email-driven processes to scalable, automated onboarding systems built on Microsoft 365. By combining these tools and adopting a configurable, template-driven approach using SharePoint and Power Automate, organizations can build onboarding workflows that adapt over time and grow with the team.</p>



<div class="wp-block-group alignwide has-custom-light-blue-background-color has-background is-layout-flow wp-container-core-group-is-layout-dbd34961 wp-block-group-is-layout-flow" style="border-radius:20px;margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--50);padding-right:0;padding-bottom:var(--wp--preset--spacing--50);padding-left:0">
<div class="wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-43efaee5 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:85%">
<h3 class="wp-block-heading has-text-align-left" id="h-have-an-upcoming-project-dmc-can-help-you-take-the-next-step"><strong>Looking to boost your existing onboarding system or build something new?</strong></h3>



<p class="has-text-align-left wp-block-paragraph" id="h-need-help-turning-ideas-into-outcomes-automation-project-to-the-next-level-contact-us-today-to-learn-more-about-our-solutions-and-how-we-can-help-you-achieve-your-goals">Partner with DMC’s <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/">Digital Workplace Solutions</a> team to design an <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/sharepoint/employee-onboarding/">onboarding workflow</a> that grows with your organization.</p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:15%">
<div class="wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-2236275c wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-base-contrast-color has-text-color has-link-color wp-element-button" href="https://static.dmcinfo.com/contact/">Contact Us</a></div>
</div>
</div>
</div>
</div>
<p>The post <a href="https://static.dmcinfo.com/blog/47508/sharepoint-power-automate-employee-onboarding-workflows/">Extending Your HRIS with SharePoint and Power Automate for Employee Onboarding</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL Server Performance Tuning: When a Join Isn&#8217;t a Join</title>
		<link>https://static.dmcinfo.com/blog/47090/sql-server-join-performance-logical-vs-physical/</link>
		
		<dc:creator><![CDATA[Christopher Olsen]]></dc:creator>
		<pubDate>Wed, 15 Jul 2026 11:00:00 +0000</pubDate>
				<category><![CDATA[Digital Workplace Solutions]]></category>
		<category><![CDATA[Server Performance]]></category>
		<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/?p=47090</guid>

					<description><![CDATA[<p>Recently I was deploying an update to a client’s system and ran into a performance issue with the SQL script to apply database changes, an issue that hadn’t shown up in the test environment. I had to troubleshoot the slow query on the spot and solve it quickly. The cause of the problem turned out [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/47090/sql-server-join-performance-logical-vs-physical/">SQL Server Performance Tuning: When a Join Isn&#8217;t a Join</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph" id="h-recently-i-was-deploying-an-update-to-a-client-s-system-and-ran-into-a-performance-issue-with-the-sql-script-to-apply-database-changes-an-issue-that-hadn-t-shown-up-in-the-test-environment-i-had-to-troubleshoot-the-slow-query-on-the-spot-and-solved-it-quickly-the-cause-of-the-problem-turned-out-to-be-a-useful-demonstration-of-some-important-nuances-in-database-performance">Recently I was deploying an update to a client’s system and ran into a performance issue with the SQL script to apply database changes, an issue that hadn’t shown up in the test environment. I had to troubleshoot the slow query on the spot and solve it quickly. The cause of the problem turned out to be a useful demonstration of some important nuances in database performance.</p>



<p class="wp-block-paragraph">In this article, you’ll learn the difference between logical and physical joins, the factors SQL Server considers when deciding how to execute a join, and two approaches to resolving a slow SQL query.</p>



<h2 id="h-the-query" class="wp-block-heading">The Query</h2>



<p class="wp-block-paragraph">Here’s the SQL query that was running slowly. I’ve changed the table names and column names to obscure details about my client. After 5 minutes of running the query without finishing, I decided to abort it and troubleshoot it.</p>



<pre class="wp-block-preformatted">SELECT<br>&nbsp; &nbsp; v.CustomerID,<br>&nbsp; &nbsp; COUNT(v.ID) AS NumberOfVisits<br>FROM Customers AS c<br>INNER JOIN Visits AS v ON c.ID = v.CustomerID<br>WHERE v.VisitDate BETWEEN '2024-01-01' AND '2024-02-01'<br>GROUP BY v.CustomerID</pre>



<p class="wp-block-paragraph">It’s a simple query: it just joins customers to visits and selects the number of visits that each customer made within the date range specified.</p>



<p class="wp-block-paragraph">It’s important to note that the customers table is tiny, about 4,000 rows, and the visits table is large, several hundred <em>million </em>rows, so it’s understandable for this query to be performance-intensive. This exact query performed very fast in staging, but there was very little data for that date range in staging, so it makes sense for it to perform differently.</p>



<p class="wp-block-paragraph">What really confused me is that this query was a glorified copy-paste from a query that we had been using in production to run ad-hoc reports. When we ran it, it was dealing with production-scale data, so why did this version perform so poorly?</p>



<h2 id="h-the-execution-plan" class="wp-block-heading">The Execution Plan</h2>



<p class="wp-block-paragraph">The first step to troubleshooting a slow SQL query is to get an actual execution plan (if you can). This will show you exactly what steps SQL Server took to execute your query, and runtime stats such as how much time and CPU each step took, how many rows were returned by each step, etc.</p>



<p class="wp-block-paragraph">In SQL Server Management Studio (SSMS), press CTRL+M, then run your query. By default, this shows the execution plan only after the query finishes, which can be an issue for very slow queries. If you don’t want to wait, you can press CTRL + M <em>and</em> click the button near the top of SSMS labeled “Include Live Query Statistics”. This not only shows you the execution plan right away, but it also shows you the runtime stats (rows read, elapsed time of each step, etc.) in real time, so it updates as you watch it.</p>



<p class="wp-block-paragraph">I can’t share the screenshot of the execution plan from production, but here’s what it looked like in a development environment when I ran it later. Table and column names have been changed to obscure client details.</p>



<figure class="wp-block-image size-full is-resized has-custom-border"><img decoding="async" width="1226" height="228" src="https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-1.png" alt="This image shows a SQL Server query execution plan, which is a graphical representation of how the database engine retrieves or modifies data." class="wp-image-47111" style="border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:20px;border-bottom-right-radius:20px;width:1200px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-1.png 1226w, https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-1-300x56.png 300w, https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-1-1024x190.png 1024w, https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-1-768x143.png 768w" sizes="(max-width: 1226px) 100vw, 1226px" /></figure>



<p class="wp-block-paragraph">I was profoundly surprised by this execution plan because there’s no physical join operator, despite the fact that there’s a logical join in the SQL query.</p>



<p class="wp-block-paragraph">When you go to a restaurant and order <em>steak au poivre</em>, you don’t give the waiter instructions to cook it (“crush some peppercorns, pat the steak dry, set the grill to medium-high…”). You just ask for steak au poivre, maybe specify medium-rare, and the chef makes it happen.</p>



<p class="wp-block-paragraph">SQL is the same way. SQL is a declarative language. When we write a SELECT query, we’re not writing instructions for <em>how</em> to get the data; we’re declaring <em>what data we want</em>. SQL Server needs to make decisions about how to execute it, such as which indexes to use or whether to go parallel.</p>



<p class="wp-block-paragraph">Similarly, when we write any kind of JOIN in a SQL query, what we’re writing is a <em>logical join. </em>Examples include INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, CROSS JOIN. SQL Server needs to figure out how to make your join happen, and it will do that by using one of several <em>physical join operators</em>. The most common physical join operators are Nested Loops, Hash Match, and Merge Join, so every execution plan you look at for queries involving logical joins will include at least one of those three operators.</p>



<h2 id="h-when-a-logical-join-does-not-require-a-physical-join" class="wp-block-heading">When a Logical Join Does Not Require a Physical Join</h2>



<p class="wp-block-paragraph">Our slow SQL query is an exception to that rule. Our query clearly has a logical join (INNER JOIN) between two tables, but the SQL Server chooses an execution plan with no physical joins.</p>



<p class="wp-block-paragraph">Why?</p>



<p class="wp-block-paragraph">The first thing that came to mind is that the SQL query, despite joining the Customers table and the Visits table, only includes fields from the Visits table in the SELECT clause, WHERE clause, and GROUP BY clause. We’re not using any fields from the Customers table other than its ID field as the join key.</p>



<p class="wp-block-paragraph">That’s part of the explanation, but it doesn’t explain all of it. The whole point of an INNER JOIN is to return only the records that have matches in both tables. So, even though we’re only SELECTing fields from one table, SQL Server still has to determine whether a given key value is present in <em>both</em> tables. How can it do that without performing a physical join?</p>



<p class="wp-block-paragraph">The answer is the foreign key reference that <em>enforces</em> the relationship between these two tables. Specifically, we have a foreign key on the Visits table on the CustomerID field, referencing the ID field of the Customers table. This foreign key enforces that no record can exist in the Visits table without a corresponding record in the Customers table.</p>



<p class="wp-block-paragraph">So, let’s look at this from SQL Server’s perspective:</p>



<ol class="wp-block-list">
<li>The user is asking me to perform an INNER JOIN.</li>



<li>He’s asking me to filter and group based on fields from only one of the tables.</li>



<li>He’s only asking for fields from that same table.</li>



<li>I know for a <em>fact</em> that all records in Visits have a corresponding Customer record.</li>



<li>Why the heck would I bother with a physical join? I’ll just read from the Visits table and ignore Customers.</li>
</ol>



<p class="wp-block-paragraph">Physical joins can be memory-intensive and time-consuming. Generally, if we can avoid a physical join, we’ll get our results faster. So, the execution plan makes sense.</p>



<p class="wp-block-paragraph">This isn’t just theory, either. I tested it in a development environment by removing the foreign key and running the SQL query. As expected, the execution plan included a physical join. Adding the foreign key constraint back to that field and running the query again resulted once more in an execution plan with no joins.</p>



<h2 id="h-why-is-the-query-slow-if-we-re-avoiding-a-join" class="wp-block-heading">Why Is the Query Slow If We&#8217;re Avoiding a Join?</h2>



<p class="wp-block-paragraph">Now that we’ve identified why the execution plan has no physical join, let’s circle back to the problem at hand: the query is slow. Why is it slow, and how do we fix it?</p>



<p class="wp-block-paragraph">Let’s take another look at the execution plan, specifically the first step.</p>



<figure class="wp-block-image size-full has-custom-border"><img decoding="async" width="325" height="197" src="https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-2.png" alt="This image shows an SQL Server execution plan indicating a NonClustered Index Scan on a table named &quot;Visits&quot;." class="wp-image-47543" style="border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:20px;border-bottom-right-radius:20px" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-2.png 325w, https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-2-300x182.png 300w" sizes="(max-width: 325px) 100vw, 325px" /></figure>



<p class="wp-block-paragraph">SQL Server is choosing to do an index scan. That means it starts at the very “top” of the index and reads through it to the end. It chose this index, “IX_Visits_CustomerID_VisitDate,” because it includes all the fields our query needs. This index contains a couple of fields of each row, which means SQL Server can fit more rows on a single page of data, allowing it to read more rows per page.</p>



<p class="wp-block-paragraph">However, the order of the keys in this index is hurting performance. CustomerID is the first key, and VisitDate is the second key. That means the rows in the index are sorted first by CustomerID,<em> then</em> by VisitDate. If it was the other way around, all the rows that match our WHERE clause would be right next to each other in the index and SQL Server would be able to do a “seek” to read only the minimal pages it needs to get the data we’re asking for.</p>



<h2 id="h-solution-1-add-a-new-index" class="wp-block-heading">Solution 1: Add a New Index</h2>



<p class="wp-block-paragraph">The most obvious solution is to add a new index with VisitDate as the first key and CustomerID as the second. Here’s the resulting execution plan:</p>



<figure class="wp-block-image size-full is-resized has-custom-border"><img decoding="async" width="820" height="125" src="https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-3.png" alt="SQL Server execution plan showing query processing steps, where a NonClustered Index Seek accounts for 97% of the query cost, with parallelism and hash aggregation used to improve performance and group results." class="wp-image-47131" style="border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:20px;border-bottom-right-radius:20px;aspect-ratio:6.560177671478603;width:925px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-3.png 820w, https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-3-300x46.png 300w, https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-3-768x117.png 768w" sizes="(max-width: 820px) 100vw, 820px" /></figure>



<p class="wp-block-paragraph">Even in this development environment, where the data is much smaller, this resulted in a 100x speed boost—the query finished in about 0.1 seconds instead of 10 seconds.</p>



<p class="wp-block-paragraph">However, indexes aren’t free, especially on large tables. The more indexes you have on a table, the longer it takes to write to that table when rows are updated or inserted. This table already has more indexes than I’d like, so I’d prefer to avoid adding a new one.</p>



<p class="wp-block-paragraph">Additionally, this query runs once a month as part of an automated report, so it feels silly to add a whole index just to make this one query faster.</p>



<p class="wp-block-paragraph">When we solve a slow query by adding, modifying, or removing indexes, that’s called “index tuning”.</p>



<h2 id="h-solution-2-change-the-query" class="wp-block-heading">Solution 2: Change the Query</h2>



<p class="wp-block-paragraph">In general, if you can make a query faster by rewriting the query rather than adding indexes, you should do so. I ran the old version of the query that was previously used to generate the ad-hoc reports and found that it used a physical join operator. The reason was simple: the original query joined the Visits table to a temp table representing Customers rather than the table itself. The Visits table obviously did not have a foreign key reference to this temp table, so it was forced to perform a physical join.</p>



<p class="wp-block-paragraph">For the new version of the query, I forced a physical join by selecting a field from the Customers table instead of the Visits table:</p>



<pre class="wp-block-preformatted">SELECT<br>&nbsp; &nbsp; c.ID AS CustomerID,<br>&nbsp; &nbsp; COUNT(v.ID) AS NumberOfVisits<br>FROM Customers AS c<br>INNER JOIN Visits AS v ON c.ID = v.CustomerID<br>WHERE v.VisitDate BETWEEN '2024-01-01' AND '2024-02-01'<br>GROUP BY c.ID</pre>



<p class="wp-block-paragraph">In this version of the query, I’m using the Customers table’s ID field for both the GROUP BY and one of the fields in the SELECT, while still using fields from the Visits table in the WHERE clause and the SELECT clause. This forces SQL Server to do a physical join, and the execution plan looks like this:</p>



<figure class="wp-block-image size-full is-resized has-custom-border"><img decoding="async" width="1330" height="314" src="https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-4.png" alt="SQL Server query execution plan showing a parallel execution strategy with Hash Match, Nested Loops, and Index Scan/Seek operators, where a Nested Loops join contributes a significant portion of the query cost." class="wp-image-47133" style="border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:20px;border-bottom-right-radius:20px;width:1200px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-4.png 1330w, https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-4-300x71.png 300w, https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-4-1024x242.png 1024w, https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-4-768x181.png 768w" sizes="(max-width: 1330px) 100vw, 1330px" /></figure>



<p class="wp-block-paragraph">In my development environment, the query takes 0.455. In production, it takes a couple of seconds, which is fast enough for our purposes. It runs as part of an automated report and must complete within 30 seconds to avoid timeouts.</p>



<p class="wp-block-paragraph">Let’s zoom in on that physical join operator:</p>



<figure class="wp-block-image size-full is-resized has-custom-border"><img decoding="async" width="598" height="299" src="https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-5.png" alt="SQL Server execution plan highlighting an Index Seek on the Visits table that accounts for 95% of the total query cost, with additional Nested Loops join and Clustered Index Scan operations processing a large volume of rows." class="wp-image-47134" style="border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:20px;border-bottom-right-radius:20px;width:552px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-5.png 598w, https://static.dmcinfo.com/wp-content/uploads/2026/07/sql-server-joins-5-300x150.png 300w" sizes="(max-width: 598px) 100vw, 598px" /></figure>



<p class="wp-block-paragraph">SQL Server chose the Nested Loops join. This physical join operator is very fast and efficient when you have a small result set on one side of the join compared to the result set on the other side. We have just a few thousand rows in our Customers table and a couple hundred million rows in our Visits table, so Nested Loops is the right choice.</p>



<p class="wp-block-paragraph">The way this join works is that SQL Server loops through the smaller data set, the Customers table, and for each row, performs a seek on the Visits table to get the rows corresponding to that CustomerID value. These seeks are fast because CustomerID is the first key in the index.</p>



<p class="wp-block-paragraph">Because this version of the query meets our performance needs without requiring a change to the database’s structure (e.g., by adding an index), it’s the solution we chose.</p>



<p class="wp-block-paragraph">When we solve a slow query by rewriting or tweaking the query text itself, as we did here, that’s called “query tuning”.</p>



<h2 id="h-the-takeaway" class="wp-block-heading">The Takeaway</h2>



<p class="wp-block-paragraph">What have we learned? We can take away the following lessons about SQL Server:</p>



<ol class="wp-block-list">
<li>SQL Server does not always need to perform a physical join to execute a logical join.</li>



<li>Foreign key references, or lack thereof, can impact whether SQL Server performs a physical join.</li>



<li>If you only use fields from one table in your SELECT, WHERE, ORDER BY, or GROUP BY clauses, SQL Server might not bother with a physical join.</li>



<li>When trying to speed up a slow query, you should first try to rewrite the query before resorting to adding or changing indexes.</li>



<li>Sometimes an unusual solution is the best one. In rare cases, adding a join can improve performance.</li>
</ol>



<p class="wp-block-paragraph">This was a deep dive into a fascinating detail of how SQL Server decides when to do a physical join and how that impacts performance.</p>



<p class="wp-block-paragraph" style="padding-bottom:var(--wp--preset--spacing--50)">If you rely on SQL Server or Azure SQL for your business-critical applications, you need database experts who can calmly work under pressure to solve tricky problems like the one described in this article.</p>



<div class="wp-block-group alignwide has-custom-light-blue-background-color has-background is-layout-flow wp-container-core-group-is-layout-dbd34961 wp-block-group-is-layout-flow" style="border-radius:20px;margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--50);padding-right:0;padding-bottom:var(--wp--preset--spacing--50);padding-left:0">
<div class="wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-43efaee5 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:85%">
<h3 class="wp-block-heading has-text-align-left" id="h-have-an-upcoming-project-dmc-can-help-you-take-the-next-step">Have an upcoming project? DMC can help your team take the next step.</h3>



<p class="has-text-align-left wp-block-paragraph" id="h-need-help-turning-ideas-into-outcomes-automation-project-to-the-next-level-contact-us-today-to-learn-more-about-our-solutions-and-how-we-can-help-you-achieve-your-goals">Take your database performance to the next level with engineering solutions from DMC and learn more about <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/">Digital Workspace Solutions</a>.</p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:15%">
<div class="wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-2236275c wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-base-contrast-color has-text-color has-link-color wp-element-button" href="https://static.dmcinfo.com/contact/">Contact Us</a></div>
</div>
</div>
</div>
</div>
<p>The post <a href="https://static.dmcinfo.com/blog/47090/sql-server-join-performance-logical-vs-physical/">SQL Server Performance Tuning: When a Join Isn&#8217;t a Join</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Integrating SharePoint into Ignition: A Practical Guide</title>
		<link>https://static.dmcinfo.com/blog/41408/integrating-sharepoint-into-ignition/</link>
		
		<dc:creator><![CDATA[Kirsten Zimmerle]]></dc:creator>
		<pubDate>Thu, 19 Feb 2026 13:00:00 +0000</pubDate>
				<category><![CDATA[Digital Workplace Solutions]]></category>
		<category><![CDATA[Ignition]]></category>
		<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<category><![CDATA[SharePoint]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/?p=41408</guid>

					<description><![CDATA[<p>Why SharePoint + Ignition? Integrating SharePoint into Ignition can reduce friction between organizational teams without compromising system reliability. The core draw is bringing enterprise information closer to operations and reducing manual work like exporting reports, emailing files, hunting for the latest SOP, or duplicating data across systems. In some organizations, SharePoint may already be the [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/41408/integrating-sharepoint-into-ignition/">Integrating SharePoint into Ignition: A Practical Guide</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 id="h-why-sharepoint-ignition" class="wp-block-heading">Why SharePoint + Ignition?</h2>



<p class="wp-block-paragraph">Integrating SharePoint into Ignition can reduce friction between organizational teams without compromising system reliability. The core draw is bringing enterprise information closer to operations and reducing manual work like exporting reports, emailing files, hunting for the latest SOP, or duplicating data across systems.</p>



<p class="wp-block-paragraph">In some organizations, SharePoint may already be the system of record. As part of the Microsoft suite of tools, it is depended on for document management and collaboration. In this case, integrating SharePoint into Ignition can expand system capabilities to leverage the strengths of each tool and reduce separation or duplication between operation/production and other teams.</p>



<p class="wp-block-paragraph">Other organizations may be looking to move away from paper-driven or manual processes. In these cases, the combination of Ignition and SharePoint can allow the concerns of both manual production or record keeping and old-fashioned document storage and sharing to be addressed in a way that sets teams up for lower overhead.</p>



<h2 id="h-what-ignition-and-sharepoint-each-do-best" class="wp-block-heading">What Ignition and SharePoint Each Do Best</h2>



<p class="wp-block-paragraph">As a SCADA platform, Ignition excels at real-time and near-real-time operations. It connects to control system components, surfacing information to users in a way that is conducive to effective and efficient decision-making during operation. Additionally, it’s built around SQL database connectivity rather than proprietary data storage formats. It natively integrates with databases such as PostgreSQL, Microsoft SQL Server, and MySQL, enabling robust historical data logging, reporting, and analytics. This makes it well-suited for data-driven applications and integration with other data analytics tools. Ignition also supports Python scripting throughout the platform, allowing engineers and developers to build custom logic, automation routines, and integrations. Its API-driven design and flexible UI development tools enable deep customization, making it adaptable.</p>



<p class="wp-block-paragraph">SharePoint, on the other hand, is designed for document handling and collaboration. At its core, SharePoint provides a centralized and structured environment for storing, organizing, and managing digital content across an organization. Unlike traditional file servers, it layers document management capabilities such as version control, metadata, and permissions directly onto cloud-based storage, making information both more accessible and more governable. Its built-in search engine further strengthens this by allowing users to retrieve relevant documents and data across sites, libraries, and even connected Microsoft 365 services. Procedures, manuals, reports, and audit artifacts all fit naturally into SharePoint’s structure and methodology. Beyond document storage, SharePoint serves as a flexible platform for building internal portals and collaborative workspaces, with sites acting as hubs for departments or projects and Power Automate integration providing options for automating workflows like approvals, document routing, and notifications.</p>



<p class="wp-block-paragraph">The value in integration between these two systems comes from exposing information between them, while allowing each to preside over the scope of work it was designed for. When humans are in the loop doing document management, approvals, or reviewing reports, integrating SharePoint into Ignition provides benefits in terms of transparency between teams and the reduction of duplicated data.</p>



<h2 id="h-common-integration-use-cases" class="wp-block-heading">Common Integration Use Cases</h2>



<h3 id="h-publishing-reports" class="wp-block-heading">Publishing Reports</h3>



<p class="wp-block-paragraph">One common pattern for integration is publishing content out of Ignition. Scheduled reports, batch summaries, or downtime logs can be automatically uploaded to a SharePoint document library where supervisors and engineers already expect to find them.</p>



<p class="wp-block-paragraph">From a technical standpoint, this typically involves formatting data into a document and then using Ignition’s scripting capabilities and SharePoint’s APIs (such as Microsoft Graph or SharePoint REST endpoints) to programmatically upload the files to the appropriate SharePoint site, folder, or document library. Metadata — such as production line, batch ID, timestamp, shift, or product type — can be attached to each file on upload, making the content easier to search, filter, and organize.</p>



<p class="wp-block-paragraph">This allows other organizational teams or team members – such as engineers or managers &#8211; to access the latest production summaries, downtime logs, or performance reports directly from SharePoint, alongside other operational and business documents. This creates a more unified information flow between OT (operational technology) and IT systems, which reduces separation or duplication between plant-floor data and enterprise documentation.</p>



<p class="wp-block-paragraph">Additionally, storing Ignition-generated content in SharePoint enables downstream workflows. For example, the arrival of a new batch summary could automatically trigger a review or approval process via Power Automate, notify stakeholders in Microsoft Teams, or be archived according to corporate retention policies. Over time, this turns SharePoint into not just a storage location, but an active collaboration and governance layer for industrial data.</p>



<h3 id="h-document-display-in-ignition" class="wp-block-heading">Document Display in Ignition</h3>



<p class="wp-block-paragraph">Another high-value use case for integrating SharePoint with Ignition is using SharePoint as the authoritative source of documentation and then surfacing that information directly within Ignition’s operator interface. In many facilities, critical operational information — such as standard operating procedures (SOPs), wiring diagrams, and manuals — requires formal version control, approvals, and periodic reviews, making SharePoint a natural system of record. However, operators and technicians typically spend most of their time inside Ignition HMIs rather than browsing SharePoint sites. If they must leave the HMI to search for documents, it can cause frustration and increase the likelihood that outdated or unofficial copies will be used.</p>



<p class="wp-block-paragraph">Through integration, Ignition screens can dynamically link to or embed documents that reside in SharePoint. Technically, this can be accomplished by storing document URLs or metadata in Ignition and using web views or API calls to retrieve the correct file from SharePoint in real time. The system can also be designed to filter documents, so&nbsp;users see only the most relevant information. For example, when an operator selects a specific piece of equipment in Ignition, the screen could automatically display the latest approved maintenance checklist associated with that asset.</p>



<p class="wp-block-paragraph">Because the documents remain managed in SharePoint, this approach preserves strong governance without sacrificing usability. SharePoint’s built-in versioning ensures that only the most current, approved documents are presented, while historical versions remain available for auditing or reference. Approval workflows, document review cycles, and change tracking can all continue to operate in SharePoint, independent of Ignition. From the operator’s perspective, however, they simply see the right document in the right place at the right time, embedded seamlessly within their normal workflow.</p>



<p class="wp-block-paragraph">This integration also improves consistency and reduces risk. Instead of multiple copies of procedures floating around on local drives or printed binders, there is a single, controlled source of truth in SharePoint that is directly connected to the HMI. If a procedure is updated due to a safety change or process improvement, the new version becomes instantly available to all operators through Ignition without requiring manual redistribution.</p>



<h3 id="h-exception-log-tracking" class="wp-block-heading">Exception Log Tracking</h3>



<p class="wp-block-paragraph">Some teams leverage SharePoint lists as a lightweight mechanism to capture operational information that is important from a business, quality, or compliance perspective but not critical to real-time control. Instead of pushing everything into an industrial database or embedding every data-capture requirement directly into Ignition, teams use SharePoint as a parallel system for structured tracking of contextual or administrative records that surround plant activity.</p>



<p class="wp-block-paragraph">In practice, this often includes exception logs, operator notes, minor deviations, near-miss reports, shift comments, maintenance observations, or non-critical audit records. These are pieces of information that benefit from being organized, searchable, and reviewable across departments, but do not require the speed, determinism, or reliability guarantees of a control system database. SharePoint lists are well-suited for this because they allow teams to define custom fields, validation rules, and views without requiring a dedicated application.</p>



<p class="wp-block-paragraph">Integration with Ignition in this scenario usually takes the form of one-way or loosely coupled data exchange. For example, Ignition might provide an operator interface that allows users to submit an exception entry or add contextual notes about a process event. Behind the scenes, Ignition scripts or API calls then create or update corresponding entries in a SharePoint list via Microsoft Graph or SharePoint’s REST endpoints. Alternatively, Ignition could automatically log certain classes of events — such as repeated minor alarms or operator overrides — into SharePoint for later review by supervisors or quality teams.</p>



<p class="wp-block-paragraph">The critical design principle in this pattern is that SharePoint remains outside of the control loop. Ignition continues to handle all real-time monitoring, interlocking, alarming, and automation logic, while SharePoint serves as a complementary system with improved visibility for team collaboration. Operations teams retain a responsive, high-performance control environment in Ignition, while IT and quality teams gain structured, shareable records in SharePoint that can be integrated with broader business processes. Over time, this creates a balanced ecosystem where industrial data and human-centered documentation coexist without overloading the control system with non-operational responsibilities.</p>



<h2 id="h-integration-approaches-and-architecture" class="wp-block-heading">Integration Approaches and Architecture</h2>



<p class="wp-block-paragraph">Most SharePoint integrations with Ignition are built around API access using either the SharePoint REST API or Microsoft Graph API, which are invoked directly from Ignition scripting. SharePoint’s APIs expose a robust integration surface that allows external systems to programmatically interact with SharePoint as a structured content and data platform. Through standard web-based endpoints, external applications can create, read, update, and delete sites, document libraries, files, and list items, and manage metadata, permissions, and versioning. All interactions are secured through Entra ID authentication and role-based access controls, ensuring that integrations follow the same security policies as human users.</p>



<p class="wp-block-paragraph">Within Ignition, this connectivity is implemented through its Python-based scripting environment, which can issue HTTP requests to these APIs. Using built-in networking functions or third-party libraries, Ignition scripts can transmit data and handle responses in real time. This enables Ignition to reliably read from and write to SharePoint while staying tightly aligned with Ignition events, tags, and transaction logic.</p>



<p class="wp-block-paragraph">Generally, a middleware layer that handles authentication and API complexity is also required. This can take the form of a simple web service, server-less compute function, or gateway-hosted service and helps to manage authentication tokens and segregate concerns. As an example, this might take the form of a Python application that runs on the ignition gateway, with the following flow:</p>



<figure class="wp-block-image size-full"><img decoding="async" width="918" height="534" src="https://static.dmcinfo.com/wp-content/uploads/2026/02/IgnitionToSharePointSequenceDiagram.png" alt="Ignition to SharePoint Sequence Diagram" class="wp-image-41418" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/02/IgnitionToSharePointSequenceDiagram.png 918w, https://static.dmcinfo.com/wp-content/uploads/2026/02/IgnitionToSharePointSequenceDiagram-300x175.png 300w, https://static.dmcinfo.com/wp-content/uploads/2026/02/IgnitionToSharePointSequenceDiagram-768x447.png 768w" sizes="(max-width: 918px) 100vw, 918px" /></figure>



<h2 id="h-integration-considerations" class="wp-block-heading">Integration Considerations</h2>



<h3 id="h-governance-and-ownership" class="wp-block-heading">Governance and Ownership</h3>



<p class="wp-block-paragraph">As is common when tools are bridging the gaps between organizational teams, it is worthwhile to consider who is responsible for maintaining each part of the solution long-term. In the case of this integration, it is likely that the controls or operations team will own the Ignition side of the system, including screens, control logic, and scripts, while IT will own the SharePoint side, including permissions/authentication and structure. Defining the boundary and interface between these two sides to the integration explicitly can reduce friction and maintenance overhead down the line. Things to consider:</p>



<ul class="wp-block-list">
<li>Folder structures and naming conventions</li>



<li>Retention and archiving rules</li>



<li>The change management process</li>
</ul>



<h3 id="h-authentication-and-security" class="wp-block-heading">Authentication and Security</h3>



<p class="wp-block-paragraph">Ignition authenticates to SharePoint as an application (rather than receiving delegated permissions from a user log-in) using a dedicated service account. This requires setting up an app registration in Azure Entra ID, with the following basic steps:</p>



<ol class="wp-block-list">
<li><strong>Create a New App Registration in Entra ID via the Azure Portal</strong>
<ul class="wp-block-list">
<li>At this point, Entra ID creates the application identity with an Application (client) ID and Directory (tenant) ID. These values are important for later configuration.</li>
</ul>
</li>



<li><strong>Add a Certificate</strong>
<ul class="wp-block-list">
<li>You must prove the app’s identity when requesting tokens. Go to “Certificates &amp; secrets” and upload a certificate; the thumbprint and private key for this certificate will later be used to authenticate.</li>
</ul>
</li>



<li><strong>Assign API Permissions (Scopes)</strong>
<ul class="wp-block-list">
<li>This defines what the app is allowed to do. Common examples include: <em>Sites.ReadWrite.All</em> (to create/update files and lists) or <em>User.Read.All</em> &nbsp;(to read user profiles).</li>
</ul>
</li>



<li><strong>Grant Admin Consent</strong>
<ul class="wp-block-list">
<li>Most SharePoint/Graph permissions require tenant-wide approval. Without this, your app will not be able to access SharePoint in most enterprise tenants.</li>
</ul>
</li>



<li><strong>Use These Values in Your Integration</strong>
<ul class="wp-block-list">
<li>You will typically need the following to acquire access tokens from Entra ID:
<ul class="wp-block-list">
<li>Tenant ID</li>



<li>Client (Application) IDCertificate (thumbprint + private key)</li>



<li>Certificate (thumbprint + private key)</li>



<li>API Scopes (e.g., Graph&#8217;s User.Read or SharePoint&#8217;s Sites.ReadWrite.All)</li>
</ul>
</li>
</ul>
</li>
</ol>



<p class="wp-block-paragraph">In addition to setting up an app registration for Ignition, general security guidance, such as not hardcoding credentials and using the lowest permissions required are important for implementing the integration as securely as possible.</p>



<h3 id="h-expectations-and-error-handling" class="wp-block-heading">Expectations and Error Handling</h3>



<p class="wp-block-paragraph">Ensuring the usefulness of the integration depends on keeping expectations aligned with what each tool is good at and implementing robust error handling to account for connectivity issues. For instance, it is reasonable to expect SharePoint to handle files and metadata in a batched or event-driven way. SharePoint excels at handling files and list-formatted data, and API based access aligns well with low-frequency updates. However, it would not be reasonable to use SharePoint to store high-frequency operational data or to act as a data historian; it is not set up to handle streams of data, and it is not optimized for time-series information. Similarly, it is likely reasonable to expect that the normal operational state of the system would be Ignition and SharePoint communicating with relatively low response times, but likely not reasonable to assume perfect connectivity or 100% uptime.</p>



<p class="wp-block-paragraph">To this end, it is valuable to implement handling to account for cases that would differ from the reasonable expectations for the system. This could include:</p>



<ul class="wp-block-list">
<li>Including timeouts to prevent calls from blocking indefinitely,</li>



<li>Clear logging for failures,</li>



<li>Retry logic; likely with limits on the total number of retries,</li>



<li>Caching of queried data (like SOP’s or manuals) when practical</li>
</ul>



<p class="wp-block-paragraph">Considering these cases allows the overall system to continue functioning as smoothly as possible when something goes wrong, and forethought into failure handling allows for a simpler debugging process.</p>



<h2 id="h-building-your-sharepoint-and-ignition-integration" class="wp-block-heading">Building Your SharePoint and Ignition Integration</h2>



<p class="wp-block-paragraph">Integrating Ignition with SharePoint in a secure, scalable, and maintainable way is technically feasible for many organizations, but doing it well often requires a blend of OT, IT, and cloud expertise that rarely exists fully within a single team. For this reason, working with an experienced consulting partner like DMC can be highly valuable when undertaking this type of integration.</p>



<p class="wp-block-paragraph">A knowledgeable partner brings deep, practical experience with both Ignition and the Microsoft ecosystem. This helps avoid common pitfalls around integration interfaces and authentication. Rather than learning through trial and error, organizations benefit from proven design patterns and best practices that have been refined across multiple projects and industries. DMC maintains <a href="https://static.dmcinfo.com/about/partners/ignition-premier-integrator/">Ignition Premier Integrator</a> status and <a href="https://static.dmcinfo.com/about/partners/microsoft-solutions-partner/">Microsoft Solutions Partner</a> status and has extensive experience developing solutions in both <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/ignition-programming/">Ignition</a> and <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/sharepoint/">SharePoint</a>. Additionally, DMC’s diverse experience across both <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/ignition-programming/">manufacturing/OT</a> and <a href="https://static.dmcinfo.com/services/digital-workplace-solutions">business-centric/IT</a> projects enables us to facilitate conversations between organizational teams and stakeholders, ensuring the solution is designed in a way that works for all users. This cross-functional perspective is often just as important as the code itself.</p>



<p class="wp-block-paragraph">Finally, working with a partner accelerates delivery. Instead of dedicating internal resources to building and troubleshooting unfamiliar components, teams can focus on their core responsibilities while the consultant handles the complexity of the integration. The result is a more robust solution delivered faster, with a clearer path for future enhancements.</p>



<div class="wp-block-group alignwide has-custom-light-blue-background-color has-background is-layout-flow wp-container-core-group-is-layout-dbd34961 wp-block-group-is-layout-flow" style="border-radius:20px;margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--50);padding-right:0;padding-bottom:var(--wp--preset--spacing--50);padding-left:0">
<div class="wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-43efaee5 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:85%">
<h3 class="wp-block-heading has-text-align-left" id="h-have-an-upcoming-project-dmc-can-help-you-take-the-next-step"><strong><strong>Ready to expand your SharePoint or Ignition capabilities? </strong></strong></h3>



<p class="has-text-align-left wp-block-paragraph" id="h-need-help-turning-ideas-into-outcomes-automation-project-to-the-next-level-contact-us-today-to-learn-more-about-our-solutions-and-how-we-can-help-you-achieve-your-goals">Unlock greater collaboration and visibility for your SharePoint project with DMC. Learn more about our <a href="https://static.dmcinfo.com/our-work/category/service/manufacturing-automation-and-intelligence/ignition/" data-type="work_category" data-id="1296">Ignition</a> expertise for your <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/" data-type="page" data-id="437">Digital Workplace Solutions</a> operations.</p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:15%">
<div class="wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-2236275c wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-base-contrast-color has-text-color has-link-color wp-element-button" href="https://static.dmcinfo.com/contact/">Contact Us</a></div>
</div>
</div>
</div>
</div>
<p>The post <a href="https://static.dmcinfo.com/blog/41408/integrating-sharepoint-into-ignition/">Integrating SharePoint into Ignition: A Practical Guide</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>A Complete Guide to Planning Your IIoT Solution</title>
		<link>https://static.dmcinfo.com/blog/20635/a-complete-guide-to-planning-your-iiot-solution/</link>
		
		<dc:creator><![CDATA[Chase Hollingsead]]></dc:creator>
		<pubDate>Fri, 26 Sep 2025 16:00:00 +0000</pubDate>
				<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Digital Workplace Solutions]]></category>
		<category><![CDATA[Embedded Development & Programming]]></category>
		<category><![CDATA[Ignition]]></category>
		<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<category><![CDATA[Test and Measurement Automation]]></category>
		<category><![CDATA[Web Application Development]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/?p=20635</guid>

					<description><![CDATA[<p>IoT or Internet of Things is a &#8220;system of interrelated computing devices, mechanical and digital machines, objects, animals, or people provided with unique identifiers and the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction.&#8221; The Internet of Things continues to develop as technology advances, and the need to interact with [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/20635/a-complete-guide-to-planning-your-iiot-solution/">A Complete Guide to Planning Your IIoT Solution</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><a href="https://static.dmcinfo.com/services/application-development/iot-solutions">IoT or Internet of Things</a> is a &#8220;system of interrelated computing devices, mechanical and digital machines, objects, animals, or people provided with unique identifiers and the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction.&#8221; The Internet of Things continues to develop as technology advances, and the need to interact with devices in a new way continues to develop.</p>



<p class="wp-block-paragraph">Out of IoT, IIoT, or the Industrial Internet of Things, is emerging as a common and necessary term. This guide provides insight into IIoT and into DMC&#8217;s process for completing successful IIoT projects.</p>


<hr />


<h2 id="h-table-of-contents" class="wp-block-heading"><a id="Table of Contents" name="Table of Contents">Table of Contents</a></h2>



<ul class="wp-block-list">
<li style="line-height:30px;font-size:18px"><a href="#IIoT Overview">IIoT Overview</a></li>



<li style="line-height:30px;font-size:18px"><a href="#Our Five-Step Process">Our Five-Step Process</a></li>



<li style="line-height:30px;font-size:18px"><a href="#Step One: Field Device Platform Selection">Step One: Field Device Platform Selection</a></li>



<li style="line-height:30px;font-size:18px"><a href="#Step Two: Determine Communications">Step Two: Determine Communications</a></li>



<li style="line-height:30px;font-size:18px"><a href="#Step Three: Determine Cloud Platform">Step Three: Determine Cloud Platform</a></li>



<li style="line-height:30px;font-size:18px"><a href="#Step Four: Web Application Development">Step Four: Web Application Development</a></li>



<li style="line-height:30px;font-size:18px"><a href="#Step Five: Go Live and Maintenance">Step Five: Go Live and Maintenance</a></li>
</ul>


<hr />


<h2 id="h-iiot-overview" class="wp-block-heading"><a id="IIoT Overview" name="IIoT Overview"></a>IIoT Overview</h2>



<p class="wp-block-paragraph">Much like IoT, IIoT uses sensors and other technology but in an industrial setting to leverage real-time data to monitor and control devices in the field and communicate and display that data in a way that allows for better decision making in industrial processes.</p>


<hr />


<h2 id="h-our-five-step-process" class="wp-block-heading"><a id="Our Five-Step Process" name="Our Five-Step Process"></a>Our Five-Step Process</h2>



<p class="wp-block-paragraph">DMC has completed hundreds of projects incorporating a wide range of solutions. Through experience, our engineers have developed a process for implementing IIoT solutions. We begin by starting at the lowest level and then fill in the gaps, going up the stack.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/IIoT-DMC-Five-Steps.png" alt="DMC IIoT Five Step Process"/></figure>



<h2 id="h-step-one-field-device-platform-selection" class="wp-block-heading"><a id="Step One: Field Device Platform Selection" name="Step One: Field Device Platform Selection"></a>Step One: Field Device Platform Selection</h2>



<p class="wp-block-paragraph">Getting reliable, accurate data from the physical system is the primary challenge for any system design and the most important decision you can make. Once you secure the data, you can do anything you want with it. Answer the following questions to select hardware used in the field:</p>



<ul class="wp-block-list">
<li>What are you trying to measure or control?</li>



<li>What does the device in the field need to be able to do on its own? How complex?</li>



<li>How many devices do you anticipate on deploying?</li>



<li>Are you the end-user and maintainer of this equipment, or are you selling a solution (operated and maintained by others)?</li>



<li>What does new device provisioning look like? (the ideal process)</li>



<li>How will this device be powered?</li>
</ul>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/IIOT-Process-Step-One-Chart.png" alt="Step One"/></figure>



<p class="wp-block-paragraph">Keep in mind, the software platform is determined by hardware selection. For example, when you pick a particular PLC, you have to use the manufacturer&#8217;s&nbsp;software to program it. For an embedded device this will be C++, etc.</p>



<p class="wp-block-paragraph"><strong>Device Hardware: Selecting the Right Parts</strong></p>



<p class="wp-block-paragraph">Let’s say the average PLC costs $1,000, so every time you put one out in the field, that is another $1,000 of hard costs. PLCs are great for&nbsp;some things while NI has developed expert tech for other uses. DMC engineers can leverage experience from hundreds&nbsp;of completed projects to&nbsp;advise on making the best choice for each project.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Device-Hardware-Selecting-the-right-parts-graphic.png" alt=""/></figure>



<p class="wp-block-paragraph"><strong>0-10 Devices</strong> – Small Deployments</p>



<p class="wp-block-paragraph"><strong>10-100 Devices </strong>– Larger Deployment, off the shelf products, but start to have cost-optimized decisions</p>



<p class="wp-block-paragraph"><strong>100-1000+ Devices</strong> &#8211; Discuss an embedded solution because the hardware starts to get expensive</p>



<h2 id="h-step-two-determine-communications" class="wp-block-heading"><a id="Step Two: Determine Communications" name="Step Two: Determine Communications"></a>Step Two: Determine Communications</h2>



<p class="wp-block-paragraph">After determining your device platform, deciding how your networking devices are configured is key. Consistent communication between devices is essential. DMC&#8217;s engineers help scope what needs to be done. Consider the following:</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Step-Two-Determine-Communications-Graphic.png" alt=""/></figure>



<ul class="wp-block-list">
<li>How are you going to communicate with devices?</li>



<li>Where is the internet coming from?
 
 
<ul class="wp-block-list">
<li>Cellular, Wi-Fi, from the plant?</li>
</ul>
</li>



<li>What happens when the internet is not available?
 
 
<ul class="wp-block-list">
<li>Local caching, buffer and retry, operational impacts</li>
</ul>
</li>



<li>What are the protocol security requirements?
 
 
<ul class="wp-block-list">
<li>Encryptions, certificates, secure comm management</li>
</ul>
</li>
</ul>



<h2 id="h-step-three-determine-cloud-platform" class="wp-block-heading"><a id="Step Three: Determine Cloud Platform" name="Step Three: Determine Cloud Platform"></a>Step Three: Determine Cloud Platform</h2>



<p class="wp-block-paragraph">There are a lot of cloud platforms to choose from when you reach this phase of the process.&nbsp;Ask yourself, what out of the box services (provided by these hosting entities) will your application need/or take advantage of? Some cloud platforms include&nbsp;Azure,&nbsp;AWS, and&nbsp;Google.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Cloud-Platforms.png" alt=""/></figure>



<p class="wp-block-paragraph">This phase is when we need to assess how to save on custom development, and where it&#8217;s possible to use solid foundational pieces already developed for these types of applications. Ask yourself:</p>



<ul class="wp-block-list">
<li>Do you need a website?</li>



<li>Do you need database(s)?</li>



<li>Do you need user management?</li>



<li>Do you need integrations to other cloud services?</li>



<li>Do you need SMS, e-Mail, or other mass notification capabilities?</li>



<li>Do you need an AI engine or advanced analytics support?</li>



<li>Do you need a flexible reporting framework (points to things like PowerBI)?</li>



<li>What type of data store is needed?
 
 
<ul class="wp-block-list">
<li>How much data?</li>



<li>How often will it be sampled?</li>



<li>How will the data be used?</li>
</ul>
</li>



<li>Where and how will security be enforced for cloud resources?</li>



<li>How many monthly active users do you anticipate on this cloud application?</li>



<li>What in house cloud/web development resources do you have?
 
 
<ul class="wp-block-list">
<li>What are they comfortable with and willing to maintain?</li>
</ul>
</li>
</ul>



<h2 id="h-step-four-web-application-development" class="wp-block-heading"><a id="Step Four: Web Application Development" name="Step Four: Web Application Development"></a>Step Four: Web Application Development</h2>



<p class="wp-block-paragraph">DMC’s full-stack development team builds custom web applications with&nbsp;<a href="https://static.dmcinfo.com/services/application-development/#interfaces-and-backends">intuitive interfaces designed for usability and stable back ends designed for scalability.</a>&nbsp;</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/C2Sense-Dashboard-Updated-2-1.png" alt=""/></figure>



<p class="wp-block-paragraph">Consider the following during this step:</p>



<ul class="wp-block-list">
<li>Define the UI/UX experience</li>



<li>How are you going to onboard new users?</li>



<li>How are you going to onboard new devices?</li>



<li>How are you going to manage devices?</li>



<li>How are users going to view data?</li>



<li>What access restrictions should apply? (user levels)</li>



<li>What types of notification and alerts are required?</li>



<li>When should devices be alerted to changes?</li>



<li>What visualizations for data or information are required?</li>



<li>What type of reporting is required? How are users notified of reports?</li>



<li>Is a native Mobile App also required?</li>



<li>Is a generic API (accessible by third parties) required?</li>



<li>Define support plan for end-users of the application</li>
</ul>



<h2 id="h-step-five-go-live-and-maintenance" class="wp-block-heading"><a id="Step Five: Go Live and Maintenance" name="Step Five: Go Live and Maintenance"></a>Step Five: Go Live and Maintenance</h2>



<ul class="wp-block-list">
<li>Are you using continuous Integration tools in Development, Staging, and Production environments?</li>



<li>Do you have planned downtime for production-level updates?</li>



<li>Are database migrations required? Data integrity checks?</li>



<li>Deploy and active service health monitors?</li>



<li>Are support and service avenues (emails/phone) active and being monitored?</li>
</ul>



<div class="wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-69f7dce8 wp-block-group-is-layout-constrained" style="padding-top:var(--wp--preset--spacing--60);padding-right:0;padding-bottom:var(--wp--preset--spacing--60);padding-left:0">
<div class="wp-block-group alignwide is-layout-flow wp-block-group-is-layout-flow">
<h2 id="h-industry-credentials" class="wp-block-heading">Industry Credentials</h2>



<p class="wp-block-paragraph">DMC holds several key industry credentials with leading technology providers.</p>



<div class="wp-block-cb-carousel-v2 cb-carousel-block" data-cb-slides-per-view="1" data-cb-slides-per-group="1" data-cb-space-between="20" data-cb-speed="300" data-cb-navigation="true" data-cb-pagination="true" data-cb-loop="true" data-cb-autoplay="true" data-cb-autoplay-speed="1500" data-cb-breakpoints="{&quot;768&quot;:{&quot;slidesPerView&quot;:5,&quot;slidesPerGroup&quot;:1}}"><div class="swiper"><div class="cb-wrapper swiper-wrapper">
<div class="wp-block-cb-slide-v2 cb-slide swiper-slide">
<div class="wp-block-group has-custom-light-gray-neutral-2-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-aa06d7d7 wp-block-group-is-layout-constrained" style="border-radius:20px;min-height:175px;padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50)">
<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-6d407f44 wp-block-group-is-layout-flex" style="min-height:130px">
<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="500" height="308" src="https://static.dmcinfo.com/wp-content/uploads/2025/09/Silver-Alliance-Partner-Membership-Logo.png" alt="National Instruments membership logo" class="wp-image-38744" style="object-fit:cover;width:161px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/09/Silver-Alliance-Partner-Membership-Logo.png 500w, https://static.dmcinfo.com/wp-content/uploads/2025/09/Silver-Alliance-Partner-Membership-Logo-300x185.png 300w" sizes="(max-width: 500px) 100vw, 500px" /></figure>
</div>
</div>
</div>



<div class="wp-block-cb-slide-v2 cb-slide swiper-slide">
<div class="wp-block-group has-custom-light-gray-neutral-2-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-aa06d7d7 wp-block-group-is-layout-constrained" style="border-radius:20px;min-height:175px;padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50)">
<div class="wp-block-group is-vertical is-content-justification-center is-layout-flex wp-container-core-group-is-layout-ec272ca4 wp-block-group-is-layout-flex" style="min-height:130px">
<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="700" height="340" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/siemens-solution-partner-logo-1.jpg" alt="siemens solution partner logo" class="wp-image-20625" style="width:164px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/05/siemens-solution-partner-logo-1.jpg 700w, https://static.dmcinfo.com/wp-content/uploads/2025/05/siemens-solution-partner-logo-1-300x146.jpg 300w" sizes="(max-width: 700px) 100vw, 700px" /></figure>
</div>
</div>
</div>



<div class="wp-block-cb-slide-v2 cb-slide swiper-slide">
<div class="wp-block-group has-custom-light-gray-neutral-2-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-aa06d7d7 wp-block-group-is-layout-constrained" style="border-radius:20px;min-height:175px;padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50)">
<div class="wp-block-group is-vertical is-content-justification-center is-layout-flex wp-container-core-group-is-layout-ec272ca4 wp-block-group-is-layout-flex" style="min-height:130px">
<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="1452" height="335" src="https://static.dmcinfo.com/wp-content/uploads/2025/06/Microsoft-Solutions-Partner-logo.png" alt="Microsoft Solutions Partner" class="wp-image-31568" style="width:155px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/06/Microsoft-Solutions-Partner-logo.png 1452w, https://static.dmcinfo.com/wp-content/uploads/2025/06/Microsoft-Solutions-Partner-logo-300x69.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/06/Microsoft-Solutions-Partner-logo-1024x236.png 1024w, https://static.dmcinfo.com/wp-content/uploads/2025/06/Microsoft-Solutions-Partner-logo-768x177.png 768w" sizes="(max-width: 1452px) 100vw, 1452px" /></figure>
</div>
</div>
</div>



<div class="wp-block-cb-slide-v2 cb-slide swiper-slide">
<div class="wp-block-group has-custom-light-gray-neutral-2-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-aa06d7d7 wp-block-group-is-layout-constrained" style="border-radius:20px;min-height:175px;padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50)">
<div class="wp-block-group wp-container-content-69bc4bdf is-vertical is-content-justification-center is-layout-flex wp-container-core-group-is-layout-ec272ca4 wp-block-group-is-layout-flex" style="min-height:130px">
<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="350" height="350" src="https://static.dmcinfo.com/wp-content/uploads/2025/04/image-120.png" alt="Ignition Premier Integrator" class="wp-image-2545" style="object-fit:cover;width:108px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/04/image-120.png 350w, https://static.dmcinfo.com/wp-content/uploads/2025/04/image-120-300x300.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/04/image-120-150x150.png 150w" sizes="(max-width: 350px) 100vw, 350px" /></figure>
</div>
</div>
</div>



<div class="wp-block-cb-slide-v2 cb-slide swiper-slide">
<div class="wp-block-group has-custom-light-gray-neutral-2-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-aa06d7d7 wp-block-group-is-layout-constrained" style="border-radius:20px;min-height:175px;padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50)">
<div class="wp-block-group is-vertical is-content-justification-center is-layout-flex wp-container-core-group-is-layout-ec272ca4 wp-block-group-is-layout-flex" style="min-height:130px">
<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="4000" height="1484" src="https://static.dmcinfo.com/wp-content/uploads/2025/06/AVEVA-Partner-Badge_System-Integrator_Certified_RGB.png" alt="Aveva Partner badge" class="wp-image-33216" style="object-fit:cover;width:144px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/06/AVEVA-Partner-Badge_System-Integrator_Certified_RGB.png 4000w, https://static.dmcinfo.com/wp-content/uploads/2025/06/AVEVA-Partner-Badge_System-Integrator_Certified_RGB-300x111.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/06/AVEVA-Partner-Badge_System-Integrator_Certified_RGB-1024x380.png 1024w, https://static.dmcinfo.com/wp-content/uploads/2025/06/AVEVA-Partner-Badge_System-Integrator_Certified_RGB-768x285.png 768w, https://static.dmcinfo.com/wp-content/uploads/2025/06/AVEVA-Partner-Badge_System-Integrator_Certified_RGB-1536x570.png 1536w, https://static.dmcinfo.com/wp-content/uploads/2025/06/AVEVA-Partner-Badge_System-Integrator_Certified_RGB-2048x760.png 2048w" sizes="(max-width: 4000px) 100vw, 4000px" /></figure>
</div>
</div>
</div>



<div class="wp-block-cb-slide-v2 cb-slide swiper-slide">
<div class="wp-block-group has-custom-light-gray-neutral-2-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-aa06d7d7 wp-block-group-is-layout-constrained" style="border-radius:20px;min-height:175px;padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50)">
<div class="wp-block-group is-vertical is-content-justification-center is-layout-flex wp-container-core-group-is-layout-ec272ca4 wp-block-group-is-layout-flex" style="min-height:130px">
<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="700" height="168" src="https://static.dmcinfo.com/wp-content/uploads/2025/03/kepware-logo-resized.png" alt="Kepware logo" class="wp-image-136" style="width:152px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/03/kepware-logo-resized.png 700w, https://static.dmcinfo.com/wp-content/uploads/2025/03/kepware-logo-resized-300x72.png 300w" sizes="(max-width: 700px) 100vw, 700px" /></figure>
</div>
</div>
</div>



<div class="wp-block-cb-slide-v2 cb-slide swiper-slide">
<div class="wp-block-group has-custom-light-gray-neutral-2-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-aa06d7d7 wp-block-group-is-layout-constrained" style="border-radius:20px;min-height:175px;padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50)">
<div class="wp-block-group is-vertical is-content-justification-center is-layout-flex wp-container-core-group-is-layout-ec272ca4 wp-block-group-is-layout-flex" style="min-height:130px">
<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="750" height="233" src="https://static.dmcinfo.com/wp-content/uploads/2025/06/Rockwell-Gold-System-Integrator-2.png" alt="Rockwell Gold System Integrator" class="wp-image-32507" style="width:167px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/06/Rockwell-Gold-System-Integrator-2.png 750w, https://static.dmcinfo.com/wp-content/uploads/2025/06/Rockwell-Gold-System-Integrator-2-300x93.png 300w" sizes="(max-width: 750px) 100vw, 750px" /></figure>
</div>
</div>
</div>



<div class="wp-block-cb-slide-v2 cb-slide swiper-slide">
<div class="wp-block-group has-custom-light-gray-neutral-2-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-aa06d7d7 wp-block-group-is-layout-constrained" style="border-radius:20px;min-height:175px;padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50)">
<div class="wp-block-group is-vertical is-content-justification-center is-layout-flex wp-container-core-group-is-layout-ec272ca4 wp-block-group-is-layout-flex" style="min-height:130px">
<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="350" height="134" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Xively-Partner-Logo_1.png" alt="Xively Partner Logo 1" class="wp-image-20631" style="width:167px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/05/Xively-Partner-Logo_1.png 350w, https://static.dmcinfo.com/wp-content/uploads/2025/05/Xively-Partner-Logo_1-300x115.png 300w" sizes="(max-width: 350px) 100vw, 350px" /></figure>
</div>
</div>
</div>



<div class="wp-block-cb-slide-v2 cb-slide swiper-slide">
<div class="wp-block-group has-custom-light-gray-neutral-2-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-aa06d7d7 wp-block-group-is-layout-constrained" style="border-radius:20px;min-height:175px;padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50)">
<div class="wp-block-group is-vertical is-content-justification-center is-layout-flex wp-container-core-group-is-layout-ec272ca4 wp-block-group-is-layout-flex" style="min-height:130px">
<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="2560" height="652" src="https://static.dmcinfo.com/wp-content/uploads/2019/10/MQTT-logo.png" alt="MQTT-logo" class="wp-image-38746" style="width:167px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2019/10/MQTT-logo.png 2560w, https://static.dmcinfo.com/wp-content/uploads/2019/10/MQTT-logo-300x76.png 300w, https://static.dmcinfo.com/wp-content/uploads/2019/10/MQTT-logo-1024x261.png 1024w, https://static.dmcinfo.com/wp-content/uploads/2019/10/MQTT-logo-768x196.png 768w, https://static.dmcinfo.com/wp-content/uploads/2019/10/MQTT-logo-1536x391.png 1536w, https://static.dmcinfo.com/wp-content/uploads/2019/10/MQTT-logo-2048x522.png 2048w" sizes="(max-width: 2560px) 100vw, 2560px" /></figure>
</div>
</div>
</div>
</div></div><div class="cb-pagination swiper-pagination"></div><div class="cb-button-prev swiper-button-prev"></div><div class="cb-button-next swiper-button-next"></div></div>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-outline is-style-outline--1"><a class="wp-block-button__link wp-element-button" href="https://static.dmcinfo.com/about/partners/">View all partners</a></div>
</div>
</div>
</div>



<h2 id="h-our-work" class="wp-block-heading">Our Work</h2>



<div class="wp-block-group alignwide is-layout-flow wp-block-group-is-layout-flow">
<div class="wp-block-cb-carousel-v2 cb-carousel-block" data-cb-slides-per-view="1" data-cb-slides-per-group="1" data-cb-space-between="15" data-cb-speed="300" data-cb-navigation="true" data-cb-pagination="true" data-cb-loop="true" data-cb-autoplay="true" data-cb-autoplay-speed="3000" data-cb-breakpoints="{&quot;768&quot;:{&quot;slidesPerView&quot;:3,&quot;slidesPerGroup&quot;:1}}"><div class="swiper"><div class="cb-wrapper swiper-wrapper">
<div class="wp-block-cb-slide-v2 cb-slide swiper-slide">
<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="wp-block-post-template is-layout-flow wp-block-post-template-is-layout-flow"><li class="wp-block-post post-14893 our_work type-our_work status-publish has-post-thumbnail hentry work_category-application-development work_category-battery-pack-test-systems work_category-consumer-goods work_category-internet-of-things-iot work_category-test-measurement-automation work_category-user-interface-design work_category-web-application-development">
<figure class="wp-block-post-featured-image"><a href="https://static.dmcinfo.com/our-work/aws-cloud-hosted-battery-management-system/" target="_self" ><img decoding="async" width="1400" height="500" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-96.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="AWS Cloud Hosted Battery Management System" style="border-radius:20px;object-fit:cover;" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-96.png 1400w, https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-96-300x107.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-96-1024x366.png 1024w, https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-96-768x274.png 768w" sizes="(max-width: 1400px) 100vw, 1400px" /></a></figure>

<h4 class="has-link-color wp-elements-1 wp-block-post-title"><a href="https://static.dmcinfo.com/our-work/aws-cloud-hosted-battery-management-system/" target="_self" >AWS Cloud Hosted Battery Management System</a></h4>
</li></ul></div>
</div>



<div class="wp-block-cb-slide-v2 cb-slide swiper-slide">
<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="wp-block-post-template is-layout-flow wp-block-post-template-is-layout-flow"><li class="wp-block-post post-14800 our_work type-our_work status-publish has-post-thumbnail hentry work_category-application-development work_category-azure work_category-chemical work_category-digital-workplace-solutions work_category-energy-and-utilities work_category-internet-of-things-iot work_category-manufacturing-automation-and-intelligence work_category-plc-programming work_category-siemens-plc work_category-user-interface-design work_category-web-application-development">
<figure class="wp-block-post-featured-image"><a href="https://static.dmcinfo.com/our-work/iiot-interface-for-agricultural-irrigation-injection-system/" target="_self" ><img decoding="async" width="1400" height="500" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-86.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="IIoT Interface for Agricultural Irrigation Injection System" style="border-radius:20px;object-fit:cover;" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-86.png 1400w, https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-86-300x107.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-86-1024x366.png 1024w, https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-86-768x274.png 768w" sizes="(max-width: 1400px) 100vw, 1400px" /></a></figure>

<h4 class="has-link-color wp-elements-2 wp-block-post-title"><a href="https://static.dmcinfo.com/our-work/iiot-interface-for-agricultural-irrigation-injection-system/" target="_self" >IIoT Interface for Agricultural Irrigation Injection System</a></h4>
</li></ul></div>
</div>



<div class="wp-block-cb-slide-v2 cb-slide swiper-slide">
<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="wp-block-post-template is-layout-flow wp-block-post-template-is-layout-flow"><li class="wp-block-post post-14433 our_work type-our_work status-publish has-post-thumbnail hentry work_category-application-development work_category-automotive work_category-azure work_category-digital-workplace-solutions work_category-energy-and-utilities work_category-infrastructure work_category-internet-of-things-iot work_category-manufacturing-automation-and-intelligence work_category-oil-and-gas-engineering work_category-plc-programming work_category-web-application-development">
<figure class="wp-block-post-featured-image"><a href="https://static.dmcinfo.com/our-work/vehicle-fleet-tracking-and-monitoring-system/" target="_self" ><img decoding="async" width="1400" height="500" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-41.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Vehicle Fleet Tracking and Monitoring System" style="border-radius:20px;object-fit:cover;" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-41.png 1400w, https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-41-300x107.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-41-1024x366.png 1024w, https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-41-768x274.png 768w" sizes="(max-width: 1400px) 100vw, 1400px" /></a></figure>

<h4 class="has-link-color wp-elements-3 wp-block-post-title"><a href="https://static.dmcinfo.com/our-work/vehicle-fleet-tracking-and-monitoring-system/" target="_self" >Vehicle Fleet Tracking and Monitoring System</a></h4>
</li></ul></div>
</div>



<div class="wp-block-cb-slide-v2 cb-slide swiper-slide">
<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="wp-block-post-template is-layout-flow wp-block-post-template-is-layout-flow"><li class="wp-block-post post-43049 our_work type-our_work status-publish has-post-thumbnail hentry work_category-magnemotion work_category-manufacturing-automation-and-intelligence work_category-rockwell-factorytalk work_category-semiconductor">
<figure class="wp-block-post-featured-image"><a href="https://static.dmcinfo.com/our-work/semiconductor-automated-material-handling-system-amhs/" target="_self" ><img decoding="async" width="1400" height="500" src="https://static.dmcinfo.com/wp-content/uploads/2026/04/semiconductor-AMHS-modernization-for-manufacturing.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Semiconductor AMHS for Scalable, High-Throughput Manufacturing Facility" style="border-radius:20px;object-fit:cover;" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/04/semiconductor-AMHS-modernization-for-manufacturing.jpg 1400w, https://static.dmcinfo.com/wp-content/uploads/2026/04/semiconductor-AMHS-modernization-for-manufacturing-300x107.jpg 300w, https://static.dmcinfo.com/wp-content/uploads/2026/04/semiconductor-AMHS-modernization-for-manufacturing-1024x366.jpg 1024w, https://static.dmcinfo.com/wp-content/uploads/2026/04/semiconductor-AMHS-modernization-for-manufacturing-768x274.jpg 768w" sizes="(max-width: 1400px) 100vw, 1400px" /></a></figure>

<h4 class="has-link-color wp-elements-4 wp-block-post-title"><a href="https://static.dmcinfo.com/our-work/semiconductor-automated-material-handling-system-amhs/" target="_self" >Semiconductor AMHS for Scalable, High-Throughput Manufacturing Facility</a></h4>
</li></ul></div>
</div>



<div class="wp-block-cb-slide-v2 cb-slide swiper-slide">
<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="wp-block-post-template is-layout-flow wp-block-post-template-is-layout-flow"><li class="wp-block-post post-14788 our_work type-our_work status-publish has-post-thumbnail hentry work_category-application-development work_category-automotive work_category-internet-of-things-iot work_category-manufacturing-automation-and-intelligence work_category-plc-programming work_category-siemens-plc work_category-user-interface-design work_category-web-application-development">
<figure class="wp-block-post-featured-image"><a href="https://static.dmcinfo.com/our-work/data-collection-through-iot-using-siemens-mqtt-aws-and-react/" target="_self" ><img decoding="async" width="1400" height="500" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-84.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Data Collection Through IoT Using Siemens, MQTT, AWS, and REACT" style="border-radius:20px;object-fit:cover;" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-84.png 1400w, https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-84-300x107.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-84-1024x366.png 1024w, https://static.dmcinfo.com/wp-content/uploads/2025/05/unnamed-file-84-768x274.png 768w" sizes="(max-width: 1400px) 100vw, 1400px" /></a></figure>

<h4 class="has-link-color wp-elements-5 wp-block-post-title"><a href="https://static.dmcinfo.com/our-work/data-collection-through-iot-using-siemens-mqtt-aws-and-react/" target="_self" >Data Collection Through IoT Using Siemens, MQTT, AWS, and REACT</a></h4>
</li></ul></div>
</div>



<div class="wp-block-cb-slide-v2 cb-slide swiper-slide">
<div class="wp-block-query is-layout-flow wp-block-query-is-layout-flow"><ul class="wp-block-post-template is-layout-flow wp-block-post-template-is-layout-flow"><li class="wp-block-post post-14525 our_work type-our_work status-publish has-post-thumbnail hentry work_category-application-development work_category-embedded-development-programming work_category-energy-and-utilities work_category-internet-of-things-iot">
<figure class="wp-block-post-featured-image"><a href="https://static.dmcinfo.com/our-work/solar-powered-embedded-iot-solution-for-measuring-liquid-during-transport/" target="_self" ><img decoding="async" width="1400" height="500" src="https://static.dmcinfo.com/wp-content/uploads/2017/01/solar-powered-IoT-solution.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Solar-powered Embedded IoT Solution for Measuring Liquid During Transport" style="border-radius:20px;object-fit:cover;" srcset="https://static.dmcinfo.com/wp-content/uploads/2017/01/solar-powered-IoT-solution.png 1400w, https://static.dmcinfo.com/wp-content/uploads/2017/01/solar-powered-IoT-solution-300x107.png 300w, https://static.dmcinfo.com/wp-content/uploads/2017/01/solar-powered-IoT-solution-1024x366.png 1024w, https://static.dmcinfo.com/wp-content/uploads/2017/01/solar-powered-IoT-solution-768x274.png 768w" sizes="(max-width: 1400px) 100vw, 1400px" /></a></figure>

<h4 class="has-link-color wp-elements-6 wp-block-post-title"><a href="https://static.dmcinfo.com/our-work/solar-powered-embedded-iot-solution-for-measuring-liquid-during-transport/" target="_self" >Solar-powered Embedded IoT Solution for Measuring Liquid During Transport</a></h4>
</li></ul></div>
</div>
</div></div><div class="cb-pagination swiper-pagination"></div><div class="cb-button-prev swiper-button-prev"></div><div class="cb-button-next swiper-button-next"></div></div>
</div>



<div class="wp-block-group alignwide has-custom-light-blue-background-color has-background is-layout-flow wp-container-core-group-is-layout-dbd34961 wp-block-group-is-layout-flow" style="border-radius:20px;margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--50);padding-right:0;padding-bottom:var(--wp--preset--spacing--50);padding-left:0">
<div class="wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-43efaee5 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:85%">
<h3 class="wp-block-heading has-text-align-left" id="h-have-an-upcoming-project-dmc-can-help-you-take-the-next-step"><strong>Transform Data into Actionable Insights</strong> for Your IIoT Initiatives.</h3>



<p class="has-text-align-left wp-block-paragraph" id="h-need-help-turning-ideas-into-outcomes-automation-project-to-the-next-level-contact-us-today-to-learn-more-about-our-solutions-and-how-we-can-help-you-achieve-your-goals">Plan and implement a successful <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/industrial-iot/" id="566">IIoT strategy</a> with support from DMC&#8217;s engineering experts. Connect with us and see how DMC can take your <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/" id="420">Automation</a> project to the next level. </p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:15%">
<div class="wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-2236275c wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-base-contrast-color has-text-color has-link-color wp-element-button" href="https://static.dmcinfo.com/contact/">Contact Us</a></div>
</div>
</div>
</div>
</div>
<p>The post <a href="https://static.dmcinfo.com/blog/20635/a-complete-guide-to-planning-your-iiot-solution/">A Complete Guide to Planning Your IIoT Solution</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Azure AI: Natural Language Processing Solutions</title>
		<link>https://static.dmcinfo.com/blog/37390/azure-ai-natural-language-processing-solutions/</link>
		
		<dc:creator><![CDATA[Riley Spering]]></dc:creator>
		<pubDate>Wed, 30 Jul 2025 19:43:02 +0000</pubDate>
				<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Azure]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/?p=37390</guid>

					<description><![CDATA[<p>Source: Develop natural language solutions in Azure &#8211; Training &#124; Microsoft Learn Natural Language Processing (NLP) refers to artificial intelligence that can see, hear, speak with, and understand users. Models with NLP can be applied to input such as text, audio, and real-time speech. With Azure AI’s Language service, we can enable applications to understand [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/37390/azure-ai-natural-language-processing-solutions/">Azure AI: Natural Language Processing Solutions</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Source: <a href="https://learn.microsoft.com/en-us/training/paths/develop-language-solutions-azure-ai/" target="_blank" rel="noreferrer noopener">Develop natural language solutions in Azure &#8211; Training | Microsoft Learn</a></p>



<p class="wp-block-paragraph">Natural Language Processing (NLP) refers to artificial intelligence that can see, hear, speak with, and understand users. Models with NLP can be applied to input such as text, audio, and real-time speech. With Azure AI’s Language service, we can enable applications to understand us in dynamic ways.</p>



<p class="wp-block-paragraph">At DMC, we pride ourselves on our vast skill set. AI solutions are just a small part of our <a href="https://static.dmcinfo.com/services/application-development">application development services</a>. From IoT solutions to custom software from scratch, we are more than ready to tackle any project that comes our way. In this post, we’ll explore the fundamentals of Azure AI’s NLP, dive into key features like text analysis, question answering, and conversational language understanding, and showcase how DMC can craft tailored NLP solutions to meet your business needs.</p>



<h2 id="h-what-is-natural-language-processing" class="wp-block-heading">What is Natural Language Processing?</h2>



<p class="wp-block-paragraph">Natural Language Processing empowers computers to understand, interpret, and generate human language in a way that’s both intuitive and contextually accurate. Azure AI’s NLP suite enables businesses to process vast amounts of text, extract actionable insights, and create intelligent applications that enhance customer interactions and streamline operations.</p>



<p class="wp-block-paragraph">Building robust NLP models from scratch is complex, requiring extensive training and computational resources. Azure AI simplifies this process with pre-trained models that deliver high performance out of the box. At DMC, we customize these models to fit your specific requirements, making it easy to integrate NLP into your applications. By provisioning an Azure AI Language resource in your Azure Subscription, you can manage and fine-tune your NLP solution effortlessly through the Azure Portal.</p>



<h2 id="h-what-can-azure-ai-s-language-service-do" class="wp-block-heading">What Can Azure AI&#8217;s Language Service Do?</h2>



<p class="wp-block-paragraph">Azure AI’s Language Service offers a range of powerful capabilities, including:</p>



<ol class="wp-block-list">
<li><strong><a href="#h-1-text-analysis">Text Analysis:</a></strong> Extracting sentiment, key phrases, entities, and language from text.</li>



<li><strong><a href="#h-2-question-answering">Question Answering:</a> </strong>Providing precise answers to user queries based on documents or knowledge bases.</li>



<li><strong><a href="#h-3-conversational-language-understanding">Conversational Language Understanding:</a> </strong>Interpreting user intents and entities for intelligent chatbots.</li>
</ol>



<p class="wp-block-paragraph">Let’s explore these three core NLP capabilities in detail:</p>



<h2 id="h-1-text-analysis" class="wp-block-heading">1. Text Analysis</h2>



<p class="wp-block-paragraph">Text analysis enables systems to extract meaningful insights from unstructured text, such as customer feedback, social media posts, or documents.</p>



<h3 id="h-how-text-analysis-works" class="wp-block-heading">How Text Analysis Works</h3>



<p class="wp-block-paragraph">Azure’s Text Analytics API processes text inputs using advanced machine learning models to perform tasks like:</p>



<ul class="wp-block-list">
<li><strong>Sentiment Analysis: </strong>Determining whether text expresses positive, negative, or neutral sentiment.</li>



<li><strong>Key Phrase Extraction: </strong>Identifying the main ideas or topics in a text.</li>



<li><strong>Entity Recognition: </strong>Detecting people, places, organizations, or other entities.</li>



<li><strong>Language Detection: </strong>Identifying the language of the text, supporting multiple languages.</li>
</ul>



<p class="wp-block-paragraph">The API handles complex scenarios, such as noisy or ambiguous text, and delivers structured JSON outputs for easy integration into applications.</p>



<h3 id="h-use-cases-for-text-analysis" class="wp-block-heading">Use Cases for Text Analysis</h3>



<ul class="wp-block-list">
<li><strong>Customer Insights: </strong>Analyzing reviews to understand customer sentiment and identify product issues.</li>



<li><strong>Content Moderation: </strong>Filtering inappropriate comments on social platforms.</li>



<li><strong>Market Intelligence: </strong>Extracting trends from survey responses to guide business strategy.</li>
</ul>



<p class="wp-block-paragraph">With AI Text Analysis, we can use text analysis to build solutions that transform raw text into actionable insights that help businesses get the most out of their knowledge base.</p>



<h2 id="h-2-question-answering" class="wp-block-heading">2. Question Answering</h2>



<p class="wp-block-paragraph">Question answering allows systems to provide accurate, context-aware responses to user queries based on documents or custom knowledge bases.</p>



<h3 id="h-how-question-answering-works" class="wp-block-heading">How Question Answering Works</h3>



<p class="wp-block-paragraph">Azure’s question answering capabilities involve using deep learning models to comprehend questions and extract answers from structured or unstructured data. Key steps include:</p>



<ul class="wp-block-list">
<li><strong>Context Understanding: </strong>Analyzing the query and source content to identify relevant information.</li>



<li><strong>Answer Retrieval:</strong> Extracting precise answers, often with confidence scores.</li>



<li><strong>Knowledge Base Integration:</strong> Supporting custom datasets, such as company manuals or FAQs.</li>
</ul>



<p class="wp-block-paragraph">In short, a question answering system involves integrating with existing AI models, such as gpt-4o, to create a more “human-like” interface with your knowledge base. Later, we will explore a more in-depth example of a system built by DMC that does this.</p>



<h3 id="h-use-cases-for-question-answering" class="wp-block-heading">Use Cases for Question Answering</h3>



<ul class="wp-block-list">
<li><strong>Customer Support:</strong> Chatbots answer FAQs, reducing support ticket volumes.</li>



<li><strong>Employee Productivity: </strong>Staff can access instant answers from internal documentation.</li>



<li><strong>Education: </strong>E-learning platforms provide students with responses to their questions based on course materials.</li>
</ul>



<p class="wp-block-paragraph">DMC excels at building question-answering solutions that enhance efficiency and user experience, customized to your organization’s unique data and workflows.</p>



<h2 id="h-3-conversational-language-understanding" class="wp-block-heading">3. Conversational Language Understanding</h2>



<p class="wp-block-paragraph">Conversational Language Understanding (CLU) powers intelligent chatbots and virtual assistants by interpreting user intents and extracting entities from natural language inputs.</p>



<h3 id="h-how-conversation-language-understanding-works" class="wp-block-heading">How Conversation Language Understanding Works</h3>



<p class="wp-block-paragraph">Azure’s CLU service analyzes conversational inputs to:</p>



<ul class="wp-block-list">
<li><strong>Intent Classification: </strong>Identify the user’s goal, such as booking a service or requesting information.</li>



<li><strong>Entity Extraction: </strong>Recognize specific details, like dates, locations, or product names.</li>



<li><strong>Multi-Turn Conversations: </strong>Maintain context across multiple exchanges for seamless interactions.</li>
</ul>



<h3 id="h-use-cases-for-conversational-language-understanding" class="wp-block-heading">Use Cases for Conversational Language Understanding</h3>



<ul class="wp-block-list">
<li><strong>Retail:</strong> Chatbots assist with product searches, order tracking, or returns.</li>



<li><strong>Healthcare: </strong>Patients schedule appointments or access medical advice via conversational bots.</li>



<li><strong>Smart Devices: </strong>Voice assistants process commands to control IoT devices.</li>
</ul>



<p class="wp-block-paragraph">DMC’s knowledge of CLU allows us to create conversational AI solutions that feel natural and intuitive, driving more impactful engagement with users in contrast to traditional solutions.</p>



<h2 id="h-real-world-solution-dmc-ai-chatbot" class="wp-block-heading">Real-World Solution: DMC AI Chatbot</h2>



<p class="wp-block-paragraph">To demonstrate the power of Azure AI NLP, let’s walk through an AI Chatbot solution that was implemented in-house here at DMC.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="624" height="274" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/dmc-ai-chatbot.png" alt="dmc ai chatbot" class="wp-image-37393" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/dmc-ai-chatbot.png 624w, https://static.dmcinfo.com/wp-content/uploads/2025/07/dmc-ai-chatbot-300x132.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<h3 id="h-the-challenge" class="wp-block-heading">The Challenge</h3>



<p class="wp-block-paragraph">DMC has a large and complex knowledge base that has been accumulated over our 20+ years of experience. We face two problems with this:</p>



<ul class="wp-block-list">
<li>Finding answers in this knowledge base can take time for those unfamiliar with its structure.</li>



<li>A common practice is to reach out to large groups in Slack to ask common questions which results in:
<ul class="wp-block-list">
<li>Downtime between the question being asked and it being answered.</li>



<li>Pulling employees from higher priority tasks to answer previously answered questions.</li>
</ul>
</li>
</ul>



<h3 id="h-the-solution" class="wp-block-heading">The Solution</h3>



<p class="wp-block-paragraph">DMC was able to propose and execute a solution that includes:</p>



<ul class="wp-block-list">
<li><strong>Knowledge Base Integration:</strong> Using Azure resources, we were able to take our existing knowledge base and transform it into a structure that is retrievable by our chatbot.</li>



<li><strong>Custom AI Chatbot:</strong> Azure can provide a pre-built AI model that we were able to customize to our exact needs by adjusting prompts, choosing its personality, and providing it with DMC-specific terms for better comprehension. The chatbot is able to take a user’s question, answer it with the existing documentation, and even provide the direct source that it retrieved the information from!</li>



<li><strong>Slack Integration: </strong>Our chatbot is accessible in Slack, our primary workplace communication platform, making it easy to use for our existing employees, with little to no guidance on getting started.</li>
</ul>



<h3 id="h-implementation" class="wp-block-heading">Implementation</h3>



<p class="wp-block-paragraph">To build this solution, we utilized our Azure subscription to provision the necessary resources and integrate them with available APIs to fully integrate them into our workplace. This required us to do the following:</p>



<ul class="wp-block-list">
<li><strong>Instantiate an Azure Search Service:</strong> For our chatbot to become an expert on DMC, we had to provision an Azure Search Service. This service takes our existing knowledge base in Confluence and transforms it into a searchable format by indexing every piece of information available. This required hitting the API to our Confluence instance.</li>



<li><strong>Provide Chatbot with the Knowledge Base: </strong>Hooking up our chatbot to our search service allows it to submit keyword-based queries and choose results that best answer a question asked by a DMC employee.</li>



<li><strong>Customizing the Chatbot: </strong>To limit unpredictable behavior, we needed to clearly define the process for handling unclear questions and multiple questions in one prompt. We also provided the chatbot with definitions for common acronyms and terms used exclusively at DMC to enhance its comprehension skills.</li>



<li><strong>Integrate with Existing Resources: </strong>DMC employees use Slack daily, so it was essential that we integrate our new chatbot with it. This makes the chatbot easily accessible to our employees.</li>



<li><strong>Keep the Chatbot Informed: </strong>Our knowledge and documentation are constantly expanding, which means we must keep our chatbot up to date. This meant that we needed to implement a function that is run once per week to help our chatbot keep up!</li>
</ul>



<h3 id="h-benefits" class="wp-block-heading">Benefits</h3>



<p class="wp-block-paragraph">This solution helped solve the issues shown earlier:</p>



<ul class="wp-block-list">
<li><strong>Quick Knowledge Retrieval:</strong> With the new chatbot, users can ask questions and get instant feedback, without having to search Confluence manually.</li>



<li><strong>Reduced Downtime: </strong>With instant feedback, employees experience less downtime before getting answers.</li>



<li><strong>Manage Employee Priorities: </strong>Employees can spend less time asking and answering previously answered questions, which translates into more time available for higher-priority tasks.</li>
</ul>



<h2 id="h-ethical-considerations" class="wp-block-heading">Ethical Considerations</h2>



<p class="wp-block-paragraph">Deploying NLP solutions requires responsible practices to address privacy, bias, and transparency. At DMC, we ensure ethical AI use by considering the following:</p>



<ul class="wp-block-list">
<li><strong>Bias Mitigation:</strong> Regularly auditing models to prevent unfair treatment across diverse customer groups.</li>



<li><strong>Data Privacy: </strong>Implementing end-to-end encryption and anonymizing data in compliance with GDPR and other regulations.</li>



<li><strong>Transparency: </strong>Clearly informing customers when they interact with AI chatbots.</li>



<li><strong>Human Oversight: </strong>Incorporating human-in-the-loop review for complex queries or sensitive interactions.</li>
</ul>



<p class="wp-block-paragraph">As a Microsoft partner, DMC adheres to Microsoft’s responsible AI guidelines, ensuring our NLP solutions are ethical and trustworthy. More details on Microsoft’s guidelines can be found in their documentation <a href="https://www.microsoft.com/en-us/ai/responsible-ai#:~:text=Responsible%20AI%20is%20a%20set,%2C%20inclusiveness%2C%20transparency%20and%20accountability." target="_blank" rel="noreferrer noopener">here</a>.</p>



<h2 id="h-why-dmc" class="wp-block-heading">Why DMC?</h2>



<p class="wp-block-paragraph">At DMC, we blend our technical expertise with a deep understanding of your business goals. Our experience with Azure AI’s NLP enables us to deliver customized solutions that drive efficiency, enhance customer experiences, and unlock new opportunities. From retail to healthcare, we’re equipped to tackle complex challenges across industries.</p>



<h2 id="h-let-s-recap" class="wp-block-heading">Let&#8217;s Recap</h2>



<p class="wp-block-paragraph">Azure AI’s NLP capabilities—text analysis, question answering, and conversational language understanding—offer endless possibilities for innovation. At DMC, we’re more focused on harnessing these tools to build tailored solutions that solve your unique challenges. </p>



<div class="wp-block-group alignwide has-custom-light-blue-background-color has-background is-layout-flow wp-container-core-group-is-layout-dbd34961 wp-block-group-is-layout-flow" style="border-radius:20px;margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--50);padding-right:0;padding-bottom:var(--wp--preset--spacing--50);padding-left:0">
<div class="wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-43efaee5 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:85%">
<h3 class="wp-block-heading has-text-align-left" id="h-have-an-upcoming-project-dmc-can-help-you-take-the-next-step"><strong>Build Intelligent Applications Powered by Language AI</strong></h3>



<p class="has-text-align-left wp-block-paragraph" id="h-need-help-turning-ideas-into-outcomes-automation-project-to-the-next-level-contact-us-today-to-learn-more-about-our-solutions-and-how-we-can-help-you-achieve-your-goals">Transform your business with DMC&#8217;s <a href="https://static.dmcinfo.com/services/application-development/" data-type="page" data-id="434">Application Development</a> team, and learn more about our capabilities with <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/microsoft-azure-cloud-solutions-and-services/" data-type="page" data-id="734">Azure AI</a>&#8216;s Natural Language Processing.</p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:15%">
<div class="wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-2236275c wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-base-contrast-color has-text-color has-link-color wp-element-button" href="https://static.dmcinfo.com/contact/">Contact Us</a></div>
</div>
</div>
</div>
</div>
<p>The post <a href="https://static.dmcinfo.com/blog/37390/azure-ai-natural-language-processing-solutions/">Azure AI: Natural Language Processing Solutions</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Azure AI: Computer Vision Solutions</title>
		<link>https://static.dmcinfo.com/blog/36209/azure-ai-computer-vision-solutions/</link>
		
		<dc:creator><![CDATA[Riley Spering]]></dc:creator>
		<pubDate>Tue, 22 Jul 2025 20:20:01 +0000</pubDate>
				<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[AI]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/?p=36209</guid>

					<description><![CDATA[<p>Computer vision refers to artificial intelligence systems that can perceive the world visually. These systems can be applied to camera input, images, or video. There are several problems that can be solved with the help of Azure’s AI Vision Service. With both facial recognition and optical character recognition the possibilities are endless!&#160; At DMC, we [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/36209/azure-ai-computer-vision-solutions/">Azure AI: Computer Vision Solutions</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Computer vision refers to artificial intelligence systems that can perceive the world visually. These systems can be applied to camera input, images, or video. There are several problems that can be solved with the help of Azure’s AI Vision Service. With both facial recognition and optical character recognition the possibilities are endless!&nbsp;</p>



<p class="wp-block-paragraph">At DMC, we pride ourselves on our technical skillset. AI solutions are just a part of our <a href="https://static.dmcinfo.com/services/application-development">application development services</a>. From IoT solutions to custom software from scratch, we are ready to tackle any project that comes our way. In this post, we will introduce the fundamentals of Azure AI Vision, facial recognition, and optical character recognition. We will also talk about what an AI Vision solution might look like from DMC.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="488" height="291" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/azure-ai-vision-diagram.png" alt="Azure AI Vision Diagram" class="wp-image-39172" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/azure-ai-vision-diagram.png 488w, https://static.dmcinfo.com/wp-content/uploads/2025/07/azure-ai-vision-diagram-300x179.png 300w" sizes="(max-width: 488px) 100vw, 488px" /></figure>



<h2 id="h-what-is-azure-ai-vision-nbsp" class="wp-block-heading">What is Azure AI Vision?&nbsp;</h2>



<p class="wp-block-paragraph">Creating solutions that can “see” the world and interpret it is a core area of artificial intelligence. Computers don’t exactly have eyes, but they are capable of processing info from videos, images, or live camera feeds.&nbsp;</p>



<p class="wp-block-paragraph">The architecture for computer vision models is complex and requires <strong>significant </strong>amounts of training and resources to perform at a high level, i.e. identify objects correctly with confidence. With Azure AI Vision, we can create complex models much quicker and easier than producing one from scratch. While these existing models can be functional out of the box, we can build on top of them to create <strong>custom models</strong> that fit your exact needs!&nbsp;</p>



<p class="wp-block-paragraph">Using these models can be done with ease by provisioning an Azure AI Vision resource in an Azure Subscription, which allows us to use the Azure Portal to easily manage and modify your AI solution.&nbsp;</p>



<h2 id="h-what-can-azure-ai-vision-do-nbsp" class="wp-block-heading">What Can Azure AI Vision Do?&nbsp;</h2>



<p class="wp-block-paragraph">Azure AI Vision offers several image analysis capabilities which include:&nbsp;</p>



<ul class="wp-block-list">
<li>Extracting text from images using Optical Character Recognition (OCR)&nbsp;</li>



<li>Generating captions and descriptions of images&nbsp;</li>



<li>Common object detection&nbsp;</li>



<li>Tagging visual features&nbsp;</li>



<li>Detecting and recognizing faces&nbsp;</li>
</ul>



<p class="wp-block-paragraph">Let’s dive deeper into these capabilities, starting with the ones that fall under facial recognition.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="494" height="456" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/Azure-AI-facial-recognition-diagram.png" alt="Azure AI facial recognition diagram" class="wp-image-39173" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/Azure-AI-facial-recognition-diagram.png 494w, https://static.dmcinfo.com/wp-content/uploads/2025/07/Azure-AI-facial-recognition-diagram-300x277.png 300w" sizes="(max-width: 494px) 100vw, 494px" /></figure>



<h2 id="h-facial-recognition-nbsp" class="wp-block-heading">Facial Recognition&nbsp;</h2>



<p class="wp-block-paragraph">Facial recognition is one of the most powerful capabilities of Azure AI Vision, enabling systems to detect, analyze, and identify human faces in images or video feeds. This technology has a wide range of applications, from enhancing security systems to personalizing user experiences. Azure AI Vision provides robust facial recognition tools that are both accurate and easy to integrate into custom solutions.&nbsp;</p>



<h3 id="h-how-facial-recognition-works-nbsp" class="wp-block-heading">How Facial Recognition Works&nbsp;</h3>



<p class="wp-block-paragraph">Azure’s facial recognition capabilities rely on sophisticated machine learning models that analyze facial features in images or video frames. These models detect faces by identifying key landmarks, such as the eyes, nose, and mouth, and then generate a unique facial signature based on these features. The process involves several key steps that ascend in complexity:&nbsp;</p>



<ul class="wp-block-list">
<li><strong>Face Detection</strong>: Identifies the presence of faces in an image or video and determines their locations within the input</li>



<li><strong>Facial Attribute Analysis</strong>: Extracts attributes like age, gender, facial hair, or even emotional expressions (e.g., happy, sad, neutral)</li>



<li><strong>Face Identification</strong>: Matches detected faces against a database of known faces to identify individuals to a known group</li>



<li><strong>Face Verification</strong>: Confirms whether two faces belong to the same person by comparing their facial signatures</li>
</ul>



<p class="wp-block-paragraph">Azure AI Vision’s facial recognition APIs make it simple to integrate these capabilities into applications. The service also supports real-time analysis, making it ideal for applications like live surveillance or interactive kiosks.&nbsp;</p>



<h3 id="h-use-cases-for-facial-recognition" class="wp-block-heading">Use Cases for Facial Recognition</h3>



<p class="wp-block-paragraph">Facial recognition opens a variety of possibilities for businesses and organizations. Some potential use cases include:&nbsp;</p>



<ul class="wp-block-list">
<li><strong>Security and Access Control</strong>: Implementing facial recognition for secure building access or device unlocking, replacing traditional keycards or passwords</li>



<li><strong>Retail and Marketing</strong>: Analyzing customer demographics and emotions in stores to tailor marketing campaigns or improve customer experience</li>



<li><strong>Event Management</strong>: Streamlining check-in processes at events by identifying attendees through facial recognition</li>
</ul>



<p class="wp-block-paragraph">At DMC, we are confident in our ability to leverage Azure’s facial recognition capabilities to build tailored solutions for clients across industries. Whether it’s enhancing security protocols or creating personalized customer interactions, our team is equipped to fine-tune these models to meet specific requirements while ensuring high accuracy and reliability.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="497" height="193" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/Azure-OCR-diagram.png" alt="Azure OCR diagram" class="wp-image-39174" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/Azure-OCR-diagram.png 497w, https://static.dmcinfo.com/wp-content/uploads/2025/07/Azure-OCR-diagram-300x116.png 300w" sizes="(max-width: 497px) 100vw, 497px" /></figure>



<h2 id="h-optical-character-recognition-ocr-nbsp" class="wp-block-heading">Optical Character Recognition (OCR)&nbsp;</h2>



<p class="wp-block-paragraph">Optical Character Recognition (OCR) is another cornerstone of Azure AI Vision, enabling systems to extract text from images, scanned documents, or video feeds. This capability is designed for digitizing physical documents, automating data entry, and making content searchable. Azure’s OCR technology is highly accurate and supports a wide range of languages and formats, making it a versatile tool for our clients.&nbsp;</p>



<h3 id="h-how-ocr-works-nbsp" class="wp-block-heading">How OCR Works&nbsp;</h3>



<p class="wp-block-paragraph">Azure’s OCR functionality, powered by the Read API, processes images or PDFs and converts text within them into machine-readable data. The process involves:&nbsp;</p>



<ul class="wp-block-list">
<li><strong>Text Detection</strong>: Identifying regions in an image that contain text, regardless of orientation or font style</li>



<li><strong>Text Recognition</strong>: Converting detected text into digital characters, preserving formatting where possible</li>



<li><strong>Language Support</strong>: Recognizing text in multiple languages, including handwritten and printed text</li>



<li><strong>Layout Analysis</strong>: Understanding the structure of the document, such as paragraphs, tables, or lists, to maintain context&nbsp;</li>
</ul>



<p class="wp-block-paragraph">The Read API is designed to handle complex scenarios, such as noisy images, low-resolution scans, or text in mixed languages. Developers can easily integrate OCR into applications by calling the API and receiving structured JSON output containing the extracted text and its coordinates.&nbsp;</p>



<h3 id="h-advanced-ocr-features-nbsp" class="wp-block-heading">Advanced OCR Features&nbsp;</h3>



<p class="wp-block-paragraph">Azure AI Vision’s OCR goes beyond basic text extraction. Some advanced features include:&nbsp;</p>



<ul class="wp-block-list">
<li><strong>Handwritten Text Recognition</strong>: Extracting text from handwritten notes or forms, which is particularly useful for industries like healthcare or education</li>



<li><strong>Form Recognition</strong>: Automatically extracting key-value pairs from structured documents like invoices, receipts, or IDs&nbsp;</li>



<li><strong>Multi-Page Document Processing</strong>: Handling large documents, such as contracts or reports, with consistent accuracy across pages</li>



<li><strong>Real-Time OCR</strong>: Processing live camera feeds to extract text instantly, ideal for applications like license plate recognition</li>
</ul>



<h3 id="h-use-cases-for-ocr-nbsp" class="wp-block-heading">Use Cases for OCR&nbsp;</h3>



<p class="wp-block-paragraph">OCR is a game-changer for organizations looking to streamline operations and reduce manual work. Some practical applications include:&nbsp;</p>



<ul class="wp-block-list">
<li><strong>Document Digitization</strong>: Converting paper-based records, such as medical charts or legal contracts, into searchable digital formats</li>



<li><strong>Automated Data Entry</strong>: Extracting information from invoices, receipts, or forms to populate databases without human intervention</li>



<li><strong>Accessibility</strong>: Enabling text-to-speech systems to read printed text aloud for visually impaired users</li>



<li><strong>Logistics and Transportation</strong>: Reading shipping labels or license plates in real time to improve supply chain efficiency</li>
</ul>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="990" height="502" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/azure-computer-vision.png" alt="azure computer vision" class="wp-image-39177" style="width:544px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/azure-computer-vision.png 990w, https://static.dmcinfo.com/wp-content/uploads/2025/07/azure-computer-vision-300x152.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/07/azure-computer-vision-768x389.png 768w" sizes="(max-width: 990px) 100vw, 990px" /></figure>



<h2 id="h-real-world-solution-enhancing-security-with-azure-ai-vision" class="wp-block-heading">Real-World Solution: Enhancing Security with Azure AI Vision</h2>



<p class="wp-block-paragraph">To illustrate the power of Azure AI Vision, let’s explore a high-level example of how DMC could leverage this technology to solve a security problem for a client.&nbsp;</p>



<h3 id="h-the-challenge" class="wp-block-heading">The Challenge</h3>



<p class="wp-block-paragraph">A large corporate campus with multiple buildings wants to enhance its security measures and streamline access control. The client faces two key issues:&nbsp;</p>



<ol class="wp-block-list">
<li><strong>Unauthorized Access</strong>: The current keycard-based system is vulnerable to lost or stolen cards, allowing potential unauthorized entry to sensitive areas.&nbsp;</li>



<li><strong>Incident Reporting</strong>: Manual logging of security incidents, such as identifying individuals in surveillance footage, is time-consuming and prone to errors.&nbsp;</li>
</ol>



<h3 id="h-the-solution" class="wp-block-heading">The Solution</h3>



<p class="wp-block-paragraph">DMC proposes a comprehensive Azure AI Vision solution that combines facial recognition, OCR, and object detection to address these security challenges. The solution includes:&nbsp;</p>



<p class="wp-block-paragraph"><strong>Secure Access Control</strong>: Using Azure’s Face API, the system verifies employee identities at entry points by matching their faces against a secure database of authorized personnel. The system operates in real time, granting or denying access within seconds.&nbsp;</p>



<p class="wp-block-paragraph"><strong>Automated Incident Logging</strong>: Azure’s OCR capabilities are integrated into a security management platform that processes surveillance footage and incident reports. The system extracts text from identification documents or name badges captured in footage, cross-referencing with employee records to log incidents accurately. Object detection identifies potential security threats, such as unrecognized items in restricted areas.&nbsp;</p>



<p class="wp-block-paragraph"><strong>Security Analytics Dashboard</strong>: A centralized dashboard provides real-time insights into access logs and incident reports, powered by Azure’s facial recognition and OCR data. Security teams can monitor entry patterns, flag suspicious activities, and generate reports for compliance audits.&nbsp;</p>



<h3 id="h-implementation" class="wp-block-heading">Implementation</h3>



<p class="wp-block-paragraph">To build this solution, DMC provisions an Azure AI Vision resource within the client’s Azure Subscription. The development process includes:&nbsp;</p>



<ul class="wp-block-list">
<li><strong>Custom Model Training</strong>: Fine-tuning Azure’s facial recognition models with a dataset of employee images (with consent) to ensure high accuracy in identification under various lighting and angle conditions</li>



<li><strong>OCR Integration</strong>: Configuring the Read API to extract text from identification documents, badges, or signage in surveillance footage, supporting multiple formats and orientations</li>



<li><strong>Object Detection</strong>: Training a custom object detection model to recognize specific items (e.g., bags, devices) that may pose security risks</li>



<li><strong>Security Platform Development</strong>: Building a web or desktop platform that integrates the Face API, Read API, and object detection models, with a user-friendly interface for security personnel</li>



<li><strong>Security and Compliance</strong>: Implementing end-to-end encryption for all data, including facial signatures and extracted text, and ensuring compliance with privacy regulations according to state and federal guidelines. Human-in-the-loop oversight is incorporated, allowing security staff to review and intervene in real-time decisions.</li>
</ul>



<h3 id="h-benefits-nbsp" class="wp-block-heading">Benefits&nbsp;</h3>



<p class="wp-block-paragraph">The solution delivers measurable results for the corporate client:&nbsp;</p>



<ul class="wp-block-list">
<li><strong>Enhanced Security</strong>: Facial recognition ensures only authorized personnel access restricted areas, minimizing risks from lost or stolen keycards.&nbsp;</li>



<li><strong>Operational Efficiency</strong>: Automated incident logging reduces manual work and improves the accuracy of security reports.&nbsp;</li>



<li><strong>Proactive Monitoring</strong>: Real-time analytics enable security teams to detect and respond to potential threats quickly.&nbsp;</li>



<li><strong>Scalability</strong>: The Azure-based solution can be expanded to additional campus locations or integrated with other security systems.&nbsp;</li>
</ul>



<h2 id="h-ethical-considerations-nbsp" class="wp-block-heading">Ethical Considerations&nbsp;</h2>



<p class="wp-block-paragraph">While facial recognition and image analysis is a powerful tool, it’s important to address ethical considerations. Privacy, consent, and data security are critical when deploying these solutions. Azure AI Vision adheres to strict compliance standards, and at DMC, we prioritize responsible AI practices, ensuring that facial recognition systems are implemented transparently and with user consent. As a registered partner with Microsoft, we are committed to responsible AI practices in deploying both facial recognition and OCR solutions in accordance with their general guidelines.&nbsp;&nbsp;</p>



<p class="wp-block-paragraph">We ensure responsible use and integration of visual AI solutions by:&nbsp;</p>



<ul class="wp-block-list">
<li>Thoroughly assessing Azure AI Vision’s capabilities to ensure they align with client needs, while performing sufficient testing to understand its capabilities and limitations</li>



<li>Respecting individuals’ privacy by collecting data only with explicit consent and using it solely for authorized purposes</li>



<li>Incorporating human-in-the-loop oversight to enable real-time intervention, maintaining human decision-making to prevent harm</li>



<li>Prioritizing security through robust controls to protect data integrity and prevent unauthorized access</li>
</ul>



<p class="wp-block-paragraph">More information on <a href="https://learn.microsoft.com/en-us/azure/foundry/responsible-ai/computer-vision/image-analysis-guidance-for-integration" type="link" id="https://learn.microsoft.com/en-us/azure/foundry/responsible-ai/computer-vision/image-analysis-guidance-for-integration" target="_blank" rel="noreferrer noopener">Microsoft’s guidelines on responsible used of AI Image Analysis</a> can be found in their documentation provided.&nbsp;</p>



<h2 id="h-why-dmc" class="wp-block-heading">Why DMC?</h2>



<p class="wp-block-paragraph">At DMC, we combine technical expertise with a deep understanding of our clients’ business needs. Our experience with Azure AI Vision allows us to deliver tailored solutions that drive real value. Whether it’s enhancing customer experiences, automating processes, or unlocking new insights, we’re ready to help our clients succeed.&nbsp;</p>



<h2 id="h-let-s-recap" class="wp-block-heading">Let’s Recap</h2>



<p class="wp-block-paragraph">Azure AI Vision is a transformative technology that empowers businesses to “see” and understand the world in new ways. With capabilities like facial recognition and OCR, it opens endless possibilities for innovation. At DMC, we’re passionate about harnessing these tools to solve complex challenges and deliver measurable results. From automation to agriculture, our team is equipped to build custom AI solutions across industries that meet your unique needs. </p>



<div class="wp-block-group alignwide has-custom-light-blue-background-color has-background is-layout-flow wp-container-core-group-is-layout-dbd34961 wp-block-group-is-layout-flow" style="border-radius:20px;margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--50);padding-right:0;padding-bottom:var(--wp--preset--spacing--50);padding-left:0">
<div class="wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-43efaee5 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:85%">
<h3 class="wp-block-heading has-text-align-left" id="h-have-an-upcoming-project-dmc-can-help-you-take-the-next-step">Unlock the Power of Azure AI Vision and Transform Your Data.</h3>



<p class="has-text-align-left wp-block-paragraph" id="h-need-help-turning-ideas-into-outcomes-automation-project-to-the-next-level-contact-us-today-to-learn-more-about-our-solutions-and-how-we-can-help-you-achieve-your-goals">DMC&#8217;s <a href="https://static.dmcinfo.com/services/application-development/" data-type="page" data-id="434">Application Development</a> experts can leverage Azure AI Vision, computer vision, and general <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/ai-and-data-analytics/" data-type="page" data-id="698">AI capabilities</a> to automate processes and uncover actionable insights.</p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:15%">
<div class="wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-2236275c wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-base-contrast-color has-text-color has-link-color wp-element-button" href="https://static.dmcinfo.com/contact/">Contact Us</a></div>
</div>
</div>
</div>
</div>
<p>The post <a href="https://static.dmcinfo.com/blog/36209/azure-ai-computer-vision-solutions/">Azure AI: Computer Vision Solutions</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Azure AI: Knowledge Mining Solutions</title>
		<link>https://static.dmcinfo.com/blog/36190/azure-ai-knowledge-mining-solutions/</link>
		
		<dc:creator><![CDATA[Riley Spering]]></dc:creator>
		<pubDate>Thu, 03 Jul 2025 08:00:00 +0000</pubDate>
				<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[AI]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/?p=36190</guid>

					<description><![CDATA[<p>Knowledge mining is a field of artificial intelligence that pertains to extracting key insights from unorganized data. Like data mining, which finds patterns and correlations, knowledge mining takes things to the next level by also contextualizing knowledge across a wide range of data formats. Azure AI Search allows us to do this on existing knowledge [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/36190/azure-ai-knowledge-mining-solutions/">Azure AI: Knowledge Mining Solutions</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Knowledge mining is a field of artificial intelligence that pertains to extracting key insights from unorganized data. Like data mining, which finds patterns and correlations, knowledge mining takes things to the next level by also contextualizing knowledge across a wide range of data formats. Azure AI Search allows us to do this on existing knowledge bases to help organize and enhance your business.&nbsp;&nbsp;</p>



<p class="wp-block-paragraph">At DMC, we pride ourselves on our vast technology skillset. AI solutions are just a part of our <a href="https://static.dmcinfo.com/services/application-development">application development services</a>. From IoT solutions to custom software from scratch, we are ready to tackle any project that comes our way. In this post, we will introduce the fundamentals of Azure AI Search, AI Enrichment, and Multimodal Search. We will also talk about what an AI Search solution might look like from DMC.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="715" height="512" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/Knowledge-Mining-Microsoft-Azure.png" alt="knowledge mining illustration" class="wp-image-39164" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/Knowledge-Mining-Microsoft-Azure.png 715w, https://static.dmcinfo.com/wp-content/uploads/2025/07/Knowledge-Mining-Microsoft-Azure-300x215.png 300w" sizes="(max-width: 715px) 100vw, 715px" /></figure>



<h2 id="h-what-is-azure-ai-search-nbsp" class="wp-block-heading">What is Azure AI Search?&nbsp;</h2>



<p class="wp-block-paragraph">Azure AI Search is a Microsoft-owned and managed, cloud-based service that enables applications to have enterprise-grade information retrieval. The service has the traditional characteristics of a search service, such as indexing, keyword search, and knowledge stores. However, Azure AI search can enhance your search capabilities using AI Enrichment, Multimodal Search, and more! All these features live in the Azure ecosystem, making it easy to scale and apply a secure solution that fits your needs.&nbsp;</p>



<h2 id="h-what-can-azure-ai-search-do-nbsp" class="wp-block-heading">What Can Azure AI Search Do?&nbsp;</h2>



<p class="wp-block-paragraph">Azure AI offers several standard features of a search service, with the addition of AI capabilities. In this article, we will take a deeper look at AI Enrichment and Multimodal Search. Other features exist such as:&nbsp;</p>



<ul class="wp-block-list">
<li>Indexing&nbsp;</li>



<li>Vector and hybrid search&nbsp;</li>



<li>Full-text search&nbsp;</li>



<li>Full Lucene query syntax search&nbsp;</li>



<li>Relevance scoring&nbsp;</li>



<li>Semantic ranking&nbsp;</li>



<li>Knowledge stores&nbsp;</li>
</ul>



<h2 id="h-ai-enrichment" class="wp-block-heading">AI Enrichment</h2>



<p class="wp-block-paragraph">AI Enrichment in the Azure AI Search service takes raw, unstructured data and transforms it into structured, searchable content using other Azure AI Services such as Computer Vision and Language Processing. What this means is that we can take inputs, such as PDFs and text files, and extract meaningful information from them so they can be accurately retrieved in response to a search query.&nbsp;</p>



<h3 id="h-how-ai-enrichment-works" class="wp-block-heading">How AI Enrichment Works</h3>



<figure class="wp-block-image size-full"><img decoding="async" width="625" height="222" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/ai-enrichment-png-webp-628A_226-10-15-2025_12_14_PM-1.png" alt="Diagram of how AI enrichment works" class="wp-image-39167" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/ai-enrichment-png-webp-628A_226-10-15-2025_12_14_PM-1.png 625w, https://static.dmcinfo.com/wp-content/uploads/2025/07/ai-enrichment-png-webp-628A_226-10-15-2025_12_14_PM-1-300x107.png 300w" sizes="(max-width: 625px) 100vw, 625px" /></figure>



<p class="wp-block-paragraph">The process for AI Enrichment can be broken down into three phases:&nbsp;</p>



<ol class="wp-block-list">
<li>Date Importing&nbsp;</li>



<li>Enrichment and Indexing&nbsp;</li>



<li>Output Exploration</li>
</ol>



<p class="wp-block-paragraph"><strong>Data Importing </strong>is the step where an indexer connects a data source with unstructured documents and pulls them into the search service.&nbsp;</p>



<p class="wp-block-paragraph"><strong>Enrichment and Indexing </strong>is the largest and most complex step of the process. Enrichment starts with the indexer opening files and extracting key data from them, such as dates, keywords, or any other customizable entities. During this process, an “enriched” version of the document is created. This enriched document can either be temporary or stored for future reuse. The indexer then applies field mappings, which are paths between the source data and search index. We also create a path between the enriched data and search index.&nbsp;</p>



<p class="wp-block-paragraph">In the final step, <strong>Output Exploration</strong>, we start to see the end goal of setting up this service, which is to be able to navigate a previously unsearchable data source. This can appear in the form of a simple search bar or passed onto a chatbot that can dynamically retrieve the enriched data and present it in a user-friendly, conversational format.&nbsp;&nbsp;</p>



<h3 id="h-use-cases-for-ai-enrichment" class="wp-block-heading">Use Cases for AI Enrichment</h3>



<ul class="wp-block-list">
<li><strong>Knowledge Management</strong>: Extract entities and key phrases from internal documents to support advanced search</li>



<li><strong>Customer Support</strong>: Enrich support tickets with metadata to improve query routing</li>



<li><strong>Research Analysis</strong>: Process academic papers or reports to extract insights for searchable archives</li>
</ul>



<h2 id="h-multimodal-search" class="wp-block-heading">Multimodal Search</h2>



<p class="wp-block-paragraph">Multimodal search is the ability to ingest, understand, and retrieve information across multiple content types, including text, images, video, and audio. This enables us to search using more diverse methods such as similarity search and hybrid queries, which we will talk about more in this section.&nbsp;&nbsp;</p>



<h3 id="h-how-multimodal-search-works" class="wp-block-heading">How Multimodal Search Works</h3>



<p class="wp-block-paragraph">Multimodal Search uses AI to vectorize and index non-text content, enabling similarity search and hybrid queries. The process involves the following steps:&nbsp;</p>



<ol class="wp-block-list">
<li>Content Ingestion&nbsp;</li>



<li>Vectorization&nbsp;</li>



<li>Index Storage&nbsp;</li>



<li>Query Processing&nbsp;</li>
</ol>



<p class="wp-block-paragraph"><strong>Content Ingestion </strong>is where we extract data from text, images, PDFs, and more via indexers.&nbsp;&nbsp;</p>



<p class="wp-block-paragraph"><strong>Vectorization </strong>uses AI models to convert unstructured content into vectors. Vectors are used to capture semantic or visual features of data. They are essential in getting accurate return results when querying for non-text elements, such as visual features.&nbsp;</p>



<p class="wp-block-paragraph">The process of storing the vectors and their associated metadata for fast retrieval is the <strong>Index Storage </strong>step.&nbsp;</p>



<p class="wp-block-paragraph">Finally, <strong>Query Processing </strong>is where a user’s search input is matched against relevant vectors so that semantically similar results can be returned.&nbsp;&nbsp;</p>



<p class="wp-block-paragraph">So, what is the end goal of multimodal search? While the overall goal is to expand your organization’s knowledge sharing and storage capabilities, the two primary added features are similarity searches and hybrid queries.</p>



<h4 id="h-similarity-search" class="wp-block-heading">Similarity Search</h4>



<p class="wp-block-paragraph">This technique leverages vector embeddings to find content that is conceptually or visually like a query, rather than relying solely on exact keyword matches. For example, a user uploading an image of a red dress can retrieve similar dresses based on visual features like color and style, even if the textual descriptions differ. Similarity search enables semantic and visual matching across diverse data types.&nbsp;</p>



<h4 id="h-hybrid-queries" class="wp-block-heading">Hybrid Queries</h4>



<p class="wp-block-paragraph">Multimodal Search supports hybrid queries that combine similarity search with traditional keyword search for more comprehensive results. By merging results using <a href="https://learn.microsoft.com/en-us/azure/search/hybrid-search-ranking" target="_blank" rel="noreferrer noopener">Reciprocal Rank Fusion</a>, Azure AI Search ensures that both semantic relevance and exact matches are considered. For instance, a query like “blue sneakers” can retrieve results based on both the text description and vectorized images of sneakers, providing a balanced and highly relevant output.&nbsp;</p>



<p class="wp-block-paragraph">With these two query processing features, an application can answer questions like &#8220;What is the process to approve a purchase order?&#8221; even when the only description of the process lives inside an embedded diagram in a PDF file.&nbsp;</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="804" height="516" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/query-processing.png" alt="diagram of query processing" class="wp-image-36215" style="width:500px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/query-processing.png 804w, https://static.dmcinfo.com/wp-content/uploads/2025/07/query-processing-300x193.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/07/query-processing-768x493.png 768w" sizes="(max-width: 804px) 100vw, 804px" /></figure>



<h3 id="h-use-cases-for-multimodal-search-nbsp" class="wp-block-heading">Use Cases for Multimodal Search&nbsp;</h3>



<ul class="wp-block-list">
<li><strong>Conversational AI</strong>: Enable chatbots to answer queries using text, images, or PDFs from a knowledge base&nbsp;</li>



<li><strong>E-Commerce</strong>: Allow users to upload product images to retrieve descriptions or reviews</li>



<li><strong>Healthcare</strong>: Query medical images and patient records for diagnostics</li>



<li><strong>Media Analysis</strong>: Search video or audio archives alongside text for comprehensive insights</li>
</ul>



<h2 id="h-real-world-solution-enhancing-a-knowledge-base-using-azure-ai-search" class="wp-block-heading">Real-World Solution: Enhancing a Knowledge Base using Azure AI Search</h2>



<p class="wp-block-paragraph">To demonstrate the power of Azure AI Search, let’s explore a high-level example of how DMC could leverage this technology to solve a knowledge organization problem for a client.&nbsp;</p>



<h3 id="h-the-challenge" class="wp-block-heading">The Challenge</h3>



<p class="wp-block-paragraph">A multinational consulting firm needs a search solution to help consultants quickly access industry trends, regulations, and internal best practices. Their knowledge base includes thousands of PDFs, images, and internal reports across multiple languages, but traditional search tools deliver irrelevant results and struggle with non-text data. This leads to countless hours spent manually searching documents, impacting productivity and client response times.&nbsp;</p>



<h3 id="h-the-solution" class="wp-block-heading">The Solution</h3>



<p class="wp-block-paragraph">DMC proposes that the firm implement Azure AI Search with AI Enrichment and Multimodal Search to create an intelligent search platform. By enriching and vectorizing their knowledge base, this enables consultants to retrieve accurate, contextually relevant content using text or image queries, streamlining research and improving client outcomes. This solution would include:&nbsp;</p>



<p class="wp-block-paragraph"><strong>Complete Knowledge Base Ingestion: </strong>Using Azure’s pre-built indexers vectorize and index a pre-existing knowledge base to make it easier to navigate.&nbsp;</p>



<p class="wp-block-paragraph"><strong>Enhanced Data Retrieval: </strong>With AI Enrichment and Multimodal Search, the search service can quickly and accurately retrieve information based off a query.&nbsp;</p>



<h3 id="h-implementation" class="wp-block-heading">Implementation</h3>



<p class="wp-block-paragraph">To build this solution, DMC provisions an Azure AI Search resource within the client’s Azure subscription. The development process includes:&nbsp;</p>



<ul class="wp-block-list">
<li><strong>Data Ingestion</strong>&nbsp;
<ul class="wp-block-list">
<li>Store PDFs, images, and reports in Azure Blob Storage, ingested via Azure AI Search indexers</li>
</ul>
</li>



<li><strong>AI Enrichment Pipeline</strong>&nbsp;
<ul class="wp-block-list">
<li>Apply Optical Character Recognition (OCR) to extract text from scanned PDFs and images (e.g., charts, infographics)&nbsp;</li>



<li>Use entity recognition to tag regulations, companies, and dates in documents</li>



<li>Employee translation skills to index multilingual content for global teams</li>
</ul>
</li>



<li><strong>Multimodal Search Setup</strong>&nbsp;
<ul class="wp-block-list">
<li>Vectorized images and text using Azure OpenAI and Computer Vision models</li>



<li>Configured hybrid search to combine keyword and vector queries for comprehensive retrieval</li>
</ul>
</li>



<li><strong>Deployment</strong>&nbsp;
<ul class="wp-block-list">
<li>Integrate the search solution into the firm’s internal portal using Azure SDKs, supporting text and image-based queries</li>
</ul>
</li>
</ul>



<h3 id="h-benefits" class="wp-block-heading">Benefits</h3>



<ul class="wp-block-list">
<li><strong>Improved Relevance</strong>: Semantic ranking and vector search increases result accuracy</li>



<li><strong>Time Savings</strong>: Reduced research time by accessing insights via intuitive searches&nbsp;</li>



<li><strong>Multimodal Flexibility</strong>: Image-based queries (e.g., uploading a chart) can now retrieve related documents, enhancing usability</li>



<li><strong>Global Accessibility</strong>: Multilingual indexing supports seamless search for international teams</li>



<li><strong>Scalability</strong>: Using Azure as the foundation, the service can scale easily with the firm’s needs and goals</li>
</ul>



<h2 id="h-responsible-ai" class="wp-block-heading">Responsible AI</h2>



<p class="wp-block-paragraph">AI Enrichment and Multimodal Search rely on Azure AI models (e.g., Computer Vision, Language Service, Azure OpenAI) that may process personal or sensitive information.&nbsp;&nbsp;</p>



<p class="wp-block-paragraph">To uphold privacy and fairness, it is essential to consider the following:&nbsp;</p>



<ul class="wp-block-list">
<li>Ensure input data complies with applicable privacy laws and regulations. Avoid processing sensitive personal data without explicit consent or legal basis.&nbsp;</li>



<li>AI models may inadvertently reflect biases in training data, potentially affecting entity recognition or image analysis. Regularly evaluate outputs for fairness and adjust configurations (e.g., custom skills or filters) to minimize biased results.&nbsp;</li>



<li>Clearly communicate to users when AI-generated outputs, such as extracted entities or vectorized content, are used in search results, ensuring they understand the role of AI.&nbsp;</li>
</ul>



<p class="wp-block-paragraph">See the information on Microsoft’s guidelines on <a href="https://learn.microsoft.com/en-us/legal/search/transparency-note?context=%2Fazure%2Fsearch%2Fcontext%2Fcontext&amp;tabs=enrichment" type="link" id="https://learn.microsoft.com/en-us/legal/search/transparency-note?context=%2Fazure%2Fsearch%2Fcontext%2Fcontext&amp;tabs=enrichment" target="_blank" rel="noreferrer noopener">responsible use of AI Search</a>.&nbsp;</p>



<h2 id="h-why-dmc-nbsp" class="wp-block-heading">Why DMC?&nbsp;</h2>



<p class="wp-block-paragraph">At DMC, we blend our years of expertise with the Azure ecosystem with a client-centric approach to deliver transformative cloud-based solutions. Our deep knowledge base enables us to craft tailored platforms that unlock actionable insights and streamline operations. As a <a href="https://static.dmcinfo.com/about/partners/microsoft-solutions-partner/">Microsoft Solutions Partner</a>, we are committed to responsible AI practices. We ensure ethical, secure, and scalable solutions that align with your business goals, empowering you to stay ahead and succeed.&nbsp;</p>



<h2 id="h-let-s-recap" class="wp-block-heading">Let’s Recap</h2>



<p class="wp-block-paragraph">Azure AI Search is a powerful platform for intelligent search that uses AI Enrichment and Multimodal Search. AI Enrichment processes unstructured data into searchable, structured content, enabling applications like knowledge management and multilingual search. Multimodal Search extends this to images and audio, supporting cross-modal retrieval with similarity search and hybrid queries. Responsible AI practices ensure ethical use by addressing privacy, bias, and accuracy concerns. In our real-world example, a consulting firm could leverage these features to build an efficient search solution, boosting productivity and client satisfaction. For organizations seeking to unify diverse data and enhance discovery, Azure AI Search delivers expert results.&nbsp;</p>



<p class="wp-block-paragraph">At DMC, we’re passionate about harnessing these tools to solve complex challenges and deliver measurable results.</p>



<div class="wp-block-group alignwide has-custom-light-blue-background-color has-background is-layout-flow wp-container-core-group-is-layout-dbd34961 wp-block-group-is-layout-flow" style="border-radius:20px;margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--50);padding-right:0;padding-bottom:var(--wp--preset--spacing--50);padding-left:0">
<div class="wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-43efaee5 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:85%">
<h3 class="wp-block-heading has-text-align-left" id="h-have-an-upcoming-project-dmc-can-help-you-take-the-next-step"><strong>Unlock Answers Faster with AI-Powered Search.</strong></h3>



<p class="has-text-align-left wp-block-paragraph" id="h-need-help-turning-ideas-into-outcomes-automation-project-to-the-next-level-contact-us-today-to-learn-more-about-our-solutions-and-how-we-can-help-you-achieve-your-goals">From document enrichment to multimodal search experiences, DMC&#8217;s <a href="https://static.dmcinfo.com/services/application-development/" data-type="page" data-id="434">Application Development</a> expert creates solutions that improve productivity. Learn more about our <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/microsoft-azure-cloud-solutions-and-services/" data-type="page" data-id="734">Azure</a> capabilities.</p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:15%">
<div class="wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-2236275c wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-base-contrast-color has-text-color has-link-color wp-element-button" href="https://static.dmcinfo.com/contact/">Contact Us</a></div>
</div>
</div>
</div>
</div>
<p>The post <a href="https://static.dmcinfo.com/blog/36190/azure-ai-knowledge-mining-solutions/">Azure AI: Knowledge Mining Solutions</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Updating Microsoft Defender for IoT</title>
		<link>https://static.dmcinfo.com/blog/15825/updating-microsoft-defender-for-iot/</link>
		
		<dc:creator><![CDATA[Pavlo Mnykh]]></dc:creator>
		<pubDate>Tue, 26 Nov 2024 17:01:50 +0000</pubDate>
				<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Digital Workplace Solutions]]></category>
		<category><![CDATA[IoT]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/15825/updating-microsoft-defender-for-iot/</guid>

					<description><![CDATA[<p>Microsoft Defender for IoT is a powerful security tool that can help to protect your IoT/OT environment. Almost every new update improves the detection, brings new features to help protect your systems and fixing issues in previous releases, you need to keep your sensors up to date. Since there are multiple deployment options, including cloud, [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/15825/updating-microsoft-defender-for-iot/">Updating Microsoft Defender for IoT</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Microsoft Defender for IoT is a powerful security tool that can help to protect your IoT/OT environment. Almost every new update improves the detection, brings new features to help protect your systems and fixing issues in previous releases, you need to keep your sensors up to date. Since there are multiple deployment options, including cloud, on-premises, or hybrid networks, your update options might also be different.&nbsp;</p>



<h2 id="h-how-to-update-nbsp-defender-for-iot" class="wp-block-heading">How to Update&nbsp;Defender for IoT</h2>



<p class="wp-block-paragraph">1. Navigate&nbsp;to portal.azure.com and search for Microsoft Defender for IoT.&nbsp;</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/microsoft-defender-iot-welcome.png" alt="Microsoft Defender for IoT welcome screen"/></figure>



<p class="wp-block-paragraph">2. Navigate&nbsp;to “Sites and Sensors.”&nbsp;</p>



<p class="wp-block-paragraph">3. In the “Site and Sensors” list, choose the sensor you want to update.&nbsp;</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/microsoft-defender-iot-sites-sensors.png" alt="Microsoft Defender for IoT sites and sensors list"/></figure>



<p class="wp-block-paragraph">4. You’ll have two options: “Remote update” (push an online upgrade) or “Download upgrade files” (manually upgrade from the local network).&nbsp;</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/microsoft-defender-iot-remote-upgrade.png" alt="Microsoft Defender for IoT upgrade options"/></figure>



<p class="wp-block-paragraph">5. In our example we will update locally to 22.3.10 and push an online update to 24.1.3 after.&nbsp;</p>



<p class="wp-block-paragraph">6.1.1. If you select “Download upgrade files,”&nbsp;you need to choose your sensor version (in our case it’s 22.3.9) and if you have a local manager.&nbsp;</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/microsoft-defender-iot-download-upgrade.png" alt="Microsoft Defender for IoT download upgrade"/></figure>



<p class="wp-block-paragraph">6.1.2. From the “Available versions” list you need to choose&nbsp;what version you want to update. If you need to update to an older version, choose “Show more.”&nbsp;</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/microsoft-defender-iot-available-versions.png" alt="Microsoft Defender for IoT versions"/></figure>



<p class="wp-block-paragraph">6.1.3.&nbsp;Navigate to your Defender for IoT internal IP address and login with CyberX credentials.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/microsoft-defender-iot-sensor-signin.png" alt="Microsoft Defender for Iot sensor sign in"/></figure>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/microsoft-defender-iot-dashboard.png" alt="Microsoft Defender for IoT dashboard"/></figure>



<p class="wp-block-paragraph">6.1.4.&nbsp;Navigate&nbsp;to system settings, software update, upload file. Choose the upgrade file you previously downloaded and click open. When it finishes uploading it will display “Status: Updated successfully (Agent will reboot in 30 seconds).&#8221; Note: it took&nbsp;~5 minutes.</p>



<p class="wp-block-paragraph">6.1.5. When it’s done, you can see that the version of the system changed.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/microsoft-defender-iot-new-version.png" alt="Microsoft Defender for IoT new version"/></figure>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/microsoft-defender-iot-system-settings.png" alt="Microsoft Defender for IoT system settings"/></figure>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/microsoft-defender-iot-downloads.png" alt="Microsoft Defender for IoT downloads"/></figure>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/microsoft-defender-iot-software-update.png" alt="Microsoft Defender for IoT software update"/></figure>



<p class="wp-block-paragraph">6.2.1. Choose “Step one: Send package to sensor.”&nbsp;</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/microsoft-defender-iot-send-package.png" alt="Microsoft Defender for IoT send package"/></figure>



<p class="wp-block-paragraph">6.2.2.&nbsp;Choose the version you want to install (the latest available version will display). If you need an older version, click on “Show more” and choose the version you prefer to install.&nbsp;Then, click on “Send package.”</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/microsoft-defender-iot-install-version_1.png" alt="Microsoft Defender for IoT install version"/></figure>



<p class="wp-block-paragraph">6.2.3&nbsp;You should see the status under “Sensor version” tab.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/microsoft-defender-iot-sensor-version-status.png" alt="Microsoft defender for iot sensor version"/></figure>



<p class="wp-block-paragraph">6.2.4. When it’s done, the status will change to “Ready to update.&#8221;</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/microsoft-defender-iot-ready-to-update.png" alt="microsoft defender for iot ready to update"/></figure>



<p class="wp-block-paragraph">6.2.5.&nbsp;Navigate&nbsp;to the “Remote update” and choose “Step two: Update sensor” and click “Update now”, “Confirm update.”</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/microsoft-defender-iot-confirm-update.png" alt="microsoft defender for iot confirm update"/></figure>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/microsoft-defender-iot-confirm-update-2.png" alt="microsoft defender for iot confirm update"/></figure>



<p class="wp-block-paragraph">6.2.6.&nbsp;The “Sensor version&#8221; will change to “Installing.&#8221;</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/microsoft-defender-iot-installing.png" alt="microsoft defender for iot installing"/></figure>



<div class="wp-block-group alignwide has-custom-light-blue-background-color has-background is-layout-flow wp-container-core-group-is-layout-dbd34961 wp-block-group-is-layout-flow" style="border-radius:20px;margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--50);padding-right:0;padding-bottom:var(--wp--preset--spacing--50);padding-left:0">
<div class="wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-43efaee5 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:85%">
<h3 class="wp-block-heading has-text-align-left" id="h-have-an-upcoming-project-dmc-can-help-you-take-the-next-step"><strong>Keep IoT and OT Security Sensors Up to Date</strong>.</h3>



<p class="has-text-align-left wp-block-paragraph" id="h-need-help-turning-ideas-into-outcomes-automation-project-to-the-next-level-contact-us-today-to-learn-more-about-our-solutions-and-how-we-can-help-you-achieve-your-goals">See our <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/" data-type="page" data-id="437">Digital Workplace Solutions</a> expertise in Microsoft Defender for <a href="https://static.dmcinfo.com/services/embedded-development-and-embedded-programming/iot-solutions/" data-type="page" data-id="704">IoT</a>, sensor updates, and security management across cloud, on-premises, and hybrid environments.</p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:15%">
<div class="wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-2236275c wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-base-contrast-color has-text-color has-link-color wp-element-button" href="https://static.dmcinfo.com/contact/">Contact Us</a></div>
</div>
</div>
</div>
</div>
<p>The post <a href="https://static.dmcinfo.com/blog/15825/updating-microsoft-defender-for-iot/">Updating Microsoft Defender for IoT</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
