Development: .NET Web API Cost Analysis App with Angular

Keyhole Software .NET, Angular, Energy & Public Sectors, JavaScript, New Development

Keyhole Consultants worked with a team of client business managers and developers to develop an internal client application that focused on bi-reporting, cost analysis, and price forecasting for connecting wind, solar, and fossil fuel projects to the United States power grid.

The goal of the project was to take data that was strewn around the company and create one system of record that the company could use to forecast if current and future projects were going to be profitable. This custom application synchronized 150 employees across five different departments.

Microservices Anti-Patterns

Dallas Monson Agile, Articles, Consulting, Microservices 1 Comment

Microservices? Yeah, you’re doing it wrong.

Microservices is a silver bullet, magic pill, instant fix, and can’t-go-wrong solution to all of software’s problems. In fact, as soon you implement even the basics of microservices all of your dreams come true; you will triple productivity, reach your ideal weight, land your dream job, win the lottery 10 times, and be able to fly, clearly.

While this sounds like a lot of hyperbole wrapped up in some BS, if you have been listening to anything around microservices recently you will most likely have heard something not too far from this exaggerated sentiment – especially if it is coming from sales folks.

As a result of this, you or someone you know will likely have been charged by management to implement a solution in microservices or refactor an existing application to take advantage of microservices to ensure that you get all the magic. With so much overinflation of the truth out there, chances are you may have also implemented a microservices antipattern. These antipatterns are actually more common in the wild than fully functional microservices architectures.

Overview
In this post we will cover the most common antipatterns that I have witnessed in the wild:

Break the Piggy Bank
Everything Micro (Except for the Data)
We are Agile! a.k.a. The Frankenstein

Each one of these results from a common misconception. We will do our best to define these patterns and their symptoms. After each, we will also show a way out of the mess so that you can recover and begin to move towards a better implementation. Let’s get started!

The Jury is Still Out: Blockchain in Healthcare

Zach Gardner Articles, Blockchain, Healthcare, Hyperledger, Opinion 1 Comment

Blockchain has gotten the software world buzzing about its potential applications in different business areas. With the US spending 17.9% of its GDP on healthcare in 2017 per CMS, many companies are considering how to enter into a market that has such potential for growth as well as the potential to positively affect patient’s lives.

Keyhole Software stays ahead of the curve by investigating new trends in software so that when clients come to us asking for advice we can provide an informed opinion. We do not want our clients to be guinea pigs, and we help provide guidance so that the solution they choose is the best one regardless of the trends of the day.

Blockchain is something we feel could be a good fit for the right use case, which we’ve elaborated on in our Blockchain Case Study. It is, at the end of the day, just a tool, and should only be used when it is beneficial to do so. Healthcare is an incredibly complex industry, so it is important to understand what Blockchain is, what it is not, and what needs to be considered before using the technology.

The purpose of this blog post is to think through how Blockchain can be applied to healthcare software applications. This blog post does not dive into the technical implementation of Blockchain, only its application in healthcare. A technical deep dive into Blockchain can be found in our Blockchain White Paper.

Using Dapper Flexibly

Jason Schmidtlein .NET, Articles, Development Technologies & Tools 2 Comments

Dapper is a micro ORM (Object Relational Mapper) for .NET that is nearly as fast as using a raw ADO.NET data reader. It is a great alternative to Entity Framework, especially when performance is a top priority and you don’t need all the features of a “heavy” ORM.

In this post, I will provide an example of creating a generic CRUD repository that leverages the performance of Dapper while providing flexibility for a multitude of scenarios..

Into the Core

James Bradley .NET, .NET Core, Articles, ASP.NET, Development Technologies & Tools, Tutorial Leave a Comment

The client I’m currently assisting has begun to move applications from more monolithic architecture into a more modern, cloud-based architecture. The organization is a bit of a .NET anomaly in that it is a company that’s primarily Java, yet has some .NET.

So even though Microsoft has a list of framework tools (such as Azure Service Fabric and Azure App Service), it’s fair to say that asking a primarily Java-focused company to use those tools could be an uphill battle. This is where .NET Standard and .NET Core have come to the rescue.

I work with a ton of smart people and I’m pretty amazed at how fast they can pick up on things from reading. I, however, cannot really understand it fully until I touch it. So let’s build a quick RESTful Web API step by step to see how challenging it is. We’ll be using .NET Standard, .NET Core, and ASP.NET Core.