<?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>Enterprise app development &gt; Metasys Software Pvt Ltd.</title>
	<atom:link href="https://www.metasyssoftware.com/tag/enterprise-app-development/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.metasyssoftware.com</link>
	<description>Unique People, Unique Solutions</description>
	<lastBuildDate>Fri, 07 Jun 2024 11:49:00 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.metasyssoftware.com/wp-content/uploads/2023/10/metasys-svg-.png</url>
	<title>Enterprise app development &gt; Metasys Software Pvt Ltd.</title>
	<link>https://www.metasyssoftware.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How MetaSys handled performance Issues related to Entity Framework</title>
		<link>https://www.metasyssoftware.com/dot-net/how-metasys-handled-performance-issues-related-to-entity-framework/</link>
					<comments>https://www.metasyssoftware.com/dot-net/how-metasys-handled-performance-issues-related-to-entity-framework/#respond</comments>
		
		<dc:creator><![CDATA[meta_prasad]]></dc:creator>
		<pubDate>Fri, 08 May 2020 12:27:31 +0000</pubDate>
				<category><![CDATA[Dot Net]]></category>
		<category><![CDATA[Legacy app migration]]></category>
		<category><![CDATA[Enterprise app development]]></category>
		<category><![CDATA[web application development]]></category>
		<category><![CDATA[Dot Net application development]]></category>
		<category><![CDATA[Dot NET Software Services India]]></category>
		<category><![CDATA[DotNet framework]]></category>
		<category><![CDATA[ASP web application]]></category>
		<category><![CDATA[DotNet Development Company]]></category>
		<category><![CDATA[Enterprise Application Integration Services]]></category>
		<category><![CDATA[Offshore DotNet development company]]></category>
		<guid isPermaLink="false">https://www.metasyssoftware.com/?p=3060</guid>

					<description><![CDATA[<p>In building web applications for clients, two important factors we at MetaSys focus on are performance, and speed of development. [&#8230;]</p>
The post <a href="https://www.metasyssoftware.com/dot-net/how-metasys-handled-performance-issues-related-to-entity-framework/">How MetaSys handled performance Issues related to Entity Framework</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></description>
										<content:encoded><![CDATA[<p>In building web applications for clients, two important factors we at MetaSys focus on are performance, and speed of development. Good performance is crucial for the success of any web application, as users expect pages and screens to load instantly. Users will quickly stop using slow programs in favour of other web or mobile applications. Development speed is also important, as clients currently expect rapid application development.</p>
<p>We have experienced difficulties in both these areas using the Entity Framework, and in this article, I will be describing the cause of the issues, and the solutions that we at MetaSys came up with. If you are having performance issues with Entity Framework, this article might provide some useful insight and suggestions.</p>
<h2><strong>Our issues with the  Entity Framework: </strong></h2>
<p>Let me quickly brief you about how we started using Entity Framework. We started application development of a .NET web application roughly 10 years ago. At the time, Entity Framework was a new concept introduced by Microsoft. Its purpose was to allow the developer to more easily write SQL queries including calculations, it also simplified CRUD operations and handled results into objects. We used Entity Framework for our web application, and during initial testing, everything was working very well.</p>
<p>The performance issues arose after the client started using the application, particularly as the amount of data in the database started growing. We used the Ants Profiler tool to identify the root cause of poor performance. It showed us that stored procedures were executed fast without any significant delay, but with the Entity Framework code, it was taking a long time to render data on a page.</p>
<p>Another issue was that the SQL database for the application had more than 300 tables. Updating the Entity model with a change in any of the tables would take a very long time. It was also difficult to merge changes of only one developer, or only one module, as it would update the entire Entity model. This made it a challenge to release the application module-wise.</p>
<h2><strong>MetaSys Approach :</strong></h2>
<p>To overcome performance issues, we first tried to change some of the settings of EDMX, and secondly updated the Entity Framework to the latest version. Neither made much difference to the performance. In the meanwhile, the applications database size and complexity kept on growing, as the application grew.</p>
<p>Eventually, we replaced the Entity with ADO.NET, and we immediately saw a significant improvement in performance. The difficulty we faced with the conversion was how to handle the ADO.NET result into objects. We resolved this using the open-source Dapper ORM. Dapper is a framework for mapping relational object models. Like Entity Framework, It eases the handling of data in objects and supports multiple data query results. This solution not only improved the page loading time, but as there was no need to update the entity model, the developer’s time also reduced significantly.</p>
<p>So far we have found that using ADO.Net with Dapper ORM solved all the problems we experienced with the Entity Framework.</p>
<p><strong>About Us:</strong></p>
<p>Our team of Dot Net developers have experience of building Dot Net solutions using Microsoft technologies for more than two decades using VB to latest .Net Core applications. For more info. <a href="https://www.metasyssoftware.com/dot-net">https://www.metasyssoftware.com/dot-net</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>The post <a href="https://www.metasyssoftware.com/dot-net/how-metasys-handled-performance-issues-related-to-entity-framework/">How MetaSys handled performance Issues related to Entity Framework</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></content:encoded>
					
					<wfw:commentRss>https://www.metasyssoftware.com/dot-net/how-metasys-handled-performance-issues-related-to-entity-framework/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>InBody Integration for biometric and blood pressure data into a web application</title>
		<link>https://www.metasyssoftware.com/others/inbody-integration-for-biometric-and-blood-pressure-data-into-a-web-application/</link>
					<comments>https://www.metasyssoftware.com/others/inbody-integration-for-biometric-and-blood-pressure-data-into-a-web-application/#respond</comments>
		
		<dc:creator><![CDATA[meta_prasad]]></dc:creator>
		<pubDate>Fri, 24 Apr 2020 13:47:13 +0000</pubDate>
				<category><![CDATA[Others]]></category>
		<category><![CDATA[Enterprise Application Integration Services]]></category>
		<category><![CDATA[Enterprise app development]]></category>
		<category><![CDATA[web application development]]></category>
		<category><![CDATA[Dot Net application development]]></category>
		<category><![CDATA[SQL SERVER]]></category>
		<category><![CDATA[ASP web application]]></category>
		<category><![CDATA[Inbody integration]]></category>
		<category><![CDATA[Dot Net Framework]]></category>
		<category><![CDATA[Web designing and application development]]></category>
		<category><![CDATA[Dot Net application]]></category>
		<category><![CDATA[Enterprise Mobile Application Development]]></category>
		<guid isPermaLink="false">https://www.metasyssoftware.com/?p=3049</guid>

					<description><![CDATA[<p>People today are more health-conscious than ever before, and digital technology is playing an important role in this development. Thanks [&#8230;]</p>
The post <a href="https://www.metasyssoftware.com/others/inbody-integration-for-biometric-and-blood-pressure-data-into-a-web-application/">InBody Integration for biometric and blood pressure data into a web application</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></description>
										<content:encoded><![CDATA[<p><span style="font-weight: 400;">People today are more health-conscious than ever before, and digital technology is playing an important role in this development. Thanks to modern technology, there are many tools and devices to measure and record physical characteristics that relate to personal health. Tracking exercise routines and nutrition has become a popular tool for individuals to keep up a healthy lifestyle. Many health-related online platforms, applications and tools are available for individuals, and integration of such tracking devices can improve their service. </span></p>
<p><span style="font-weight: 400;">This article details such an integration project. Our Dot Net application team helped a client integrate InBody technology into their application. </span></p>
<p><span style="font-weight: 400;">InBody devices offer detailed measurement of body composition balance, including key health factors such as protein, minerals, BMI and body fat percentage. Our project revolved around integrating the InBody 570 device with a </span><span style="font-weight: 400;">.Net application</span><span style="font-weight: 400;">. The solution we implemented involved the </span><span style="font-weight: 400;">.Net application</span><span style="font-weight: 400;"> listening to the serial ports attached to the device for the duration of the test. After receiving a data stream from the InBody device, relevant data is extracted using indices of specific data factors mentioned in the InBody 570 technical documentation. Key settings required by the .Net application include baud rate, parity, data bits, and stop bits. The InBody technical specification includes more details about the values of these settings.  Once the data stream is received, and the data factors are extracted, the data was saved in an SQL server database. The .Net web application reads this data from the SQL server database and displays it to the user. </span></p>
<p><b>Key Challenges</b></p>
<p><span style="font-weight: 400;">The idea is that the application can be used by the fitness facility subscribing to the application and having an InBody machine. The application runs on a laptop or desktop computer connected to the Inbody machine. However, one challenge was that there is no guarantee that the computer is always connected using the same port. If the computer had more than one port on which the device stream can be received, then we had to lock and keep listening to all available ports. Our solution to these issues was to program the app to lock and keep listening to all available and open ports of the laptop and as soon as we receive either data stream or exception, we unlock all ports locked by the .net application. It is important to note that only that process which has locked the serial port can unlock it, no other process can forcibly remove that lock. In the event that the process which locked the port gets terminated, one is left with only the option of system reboot in order to unlock that port.</span></p>
<p><span style="font-weight: 400;">Another issue is that the same app was required to integrate with another measurement device manufactured by InBody, the BPBIO 320. This device reads systolic blood pressure, diastolic blood pressure and pulse, and we modified the .Net app to work with both InBody devices. We used a condition-based code, which looks at application settings and accordingly saves the data in either the production or the staging environment. The BPBIO 320 requires a different baud rate to that of InBody 570, therefore we adapted the application so that the user enters the test type, and then the baud rate is automatically set up by the software. We also process information contained within the data stream that indicates status such as “Measurement started”, “Measurement interrupted due to use of the stop button”, and “Measurement interrupted due to error”.  These cases are handled in the application and clear information is passed on to the user.  </span></p>
<p><span style="font-weight: 400;">We used a PuTTY tool to simulate the device stream in the development environment, as the physical device was not always available. Device testing was performed after development was complete, and we made the necessary changes to the application before the launch.</span></p>
<p><span style="font-weight: 400;">We will be glad to help anyone interested in doing similar kinds of integrations in their software. For more info </span><a href="https://www.metasyssoftware.com/case-study-dotnet"><span style="font-weight: 400;">https://www.metasyssoftware.com/case-study-dotnet</span></a></p>The post <a href="https://www.metasyssoftware.com/others/inbody-integration-for-biometric-and-blood-pressure-data-into-a-web-application/">InBody Integration for biometric and blood pressure data into a web application</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></content:encoded>
					
					<wfw:commentRss>https://www.metasyssoftware.com/others/inbody-integration-for-biometric-and-blood-pressure-data-into-a-web-application/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Data Partitioning</title>
		<link>https://www.metasyssoftware.com/others/data-partitioning/</link>
					<comments>https://www.metasyssoftware.com/others/data-partitioning/#respond</comments>
		
		<dc:creator><![CDATA[meta_prasad]]></dc:creator>
		<pubDate>Mon, 13 Apr 2020 13:16:22 +0000</pubDate>
				<category><![CDATA[Others]]></category>
		<category><![CDATA[web app development]]></category>
		<category><![CDATA[data partioning]]></category>
		<category><![CDATA[PHP webservice]]></category>
		<category><![CDATA[PHP My SQL development]]></category>
		<category><![CDATA[Cake PHP web development]]></category>
		<category><![CDATA[Enterprise app development]]></category>
		<guid isPermaLink="false">https://www.metasyssoftware.com/?p=3017</guid>

					<description><![CDATA[<p>Database Performance Optimization through Data Partitioning Improving database performance is a challenging task that developers need to pay attention to [&#8230;]</p>
The post <a href="https://www.metasyssoftware.com/others/data-partitioning/">Data Partitioning</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></description>
										<content:encoded><![CDATA[<p><strong>Database Performance Optimization through Data Partitioning</strong></p>
<p>Improving database performance is a challenging task that developers need to pay attention to in order to reduce the response time for the users. In this article, I am sharing a technique for Database Performance Optimization using Data Partitioning.</p>
<p><strong>What is Data Partitioning? </strong></p>
<p>Data Partitioning refers to the database process of dividing large tables into smaller parts by  Rows and Columns. A major benefit of Data Partitioning is that one only needs to specify the partitioning criteria, and then SQL handles the data by itself.</p>
<p>SQL uses multiple .ndf files (Secondary Database Files), in addition to the .mdf file (Primary Database File) to divide and store data based on the partition criteria. The user needs to specify those .ndf files and provide the partition criteria by using Partition Schemes and Functions. SQL Server then takes care of data maintenance by itself.</p>
<p><strong>Data Partitioning can be divided into two categories:</strong></p>
<ol>
<li><strong>Vertical Partitioning: </strong>In vertical partitioning, data is divided column-wise. For example, if  a database contains a table with 10 columns of which only 5 columns are used frequently, it can be divided into two tables with 5 columns each. This way a table is made more efficient, by dividing it into multiple filegroups based on columns.</li>
<li><strong>Horizontal Partitioning: </strong>In horizontal partitioning, data is divided row-wise. For example, suppose there is a table with 1 lakh of records for the period 2011 – 2019, where each record includes a date. Quite often it is only necessary to access the records for last year, i.e. 2019 or recent years -2017,2018. Through horizontal partitioning, the data can be divided into yearly records in multiple filegroups.</li>
</ol>
<p>By using these Data Partitioning techniques, we can enhance the performance of our database. This is a highly recommended technique for applications where Reporting is frequently used.</p>
<p><strong>Worked example:</strong></p>
<p>We have a table called tbl Data Partitioning with approximately 2.5 crore records. The data includes records from 2011 to 2014, of which the 2014 records are 45 lakhs. The Table looks like:</p>
<p><img fetchpriority="high" decoding="async" class="alignnone wp-image-3018 size-full" title="worked example " src="https://www.metasyssoftware.com/wp-content/uploads/worked-example-.png" alt="worked example" width="600" height="327" /></p>
<p>To execute a select query to find the 2014 records takes almost 23 seconds.</p>
<p><img decoding="async" class="alignnone wp-image-3019 size-full" title="image 2" src="https://www.metasyssoftware.com/wp-content/uploads/Image-2-1.png" alt="image 2" width="839" height="94" /></p>
<p>Using Horizontal Data Partitioning on the table using Created Date, the time can be significantly reduced.</p>
<p><img decoding="async" class="alignnone wp-image-3020 size-full" title="horizontal data partitioning" src="https://www.metasyssoftware.com/wp-content/uploads/horizontal-data-partitioning-.png" alt="horizontal data partitioning" width="963" height="460" /></p>
<p>For that, we first need to specify the filegroups:</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-3021 size-full" title="file groups " src="https://www.metasyssoftware.com/wp-content/uploads/file-groups-.png" alt="file groups" width="963" height="479" /></p>
<p>&nbsp;</p>
<p>After creating Partition Functions and Schemes, we can map the partitions to filegroups.</p>
<p>Finally, After implementing Data partitioning, the time taken by the Select query is reduced from 23 seconds to 15 seconds:</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-3022 size-full" title="Image 5" src="https://www.metasyssoftware.com/wp-content/uploads/image-5.png" alt="Image 5" width="720" height="60" /></p>
<p><strong>Advantages of Data Partitioning:</strong></p>
<ol>
<li>Improves performance for larger tables.</li>
<li>Fast and expensive storage can be used for active data filegroups, while keeping the less active data filegroups on slower/less expensive storage.</li>
<li>Partial backup and restoration is possible.</li>
<li>Can be used temporarily as a substitute for data archiving.</li>
</ol>
<p>Our team has experience of working on <strong>PHP MySQL development</strong> projects and has handled many assignments from small informational website to robust enterprise applications. For more information https://www.metasyssoftware.com/php-mysql</p>The post <a href="https://www.metasyssoftware.com/others/data-partitioning/">Data Partitioning</a> appeared first on <a href="https://www.metasyssoftware.com">Metasys Software Pvt Ltd.</a>.]]></content:encoded>
					
					<wfw:commentRss>https://www.metasyssoftware.com/others/data-partitioning/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
