Header-53.jpg

INSIGHTS

Michael Hoffman

Michael is a Technical Architect at NVISIA and a Pluralsight author. He is an experienced consultant and entrepreneur who is dedicated to the success and quality of the solutions he provides. As a team player he believes in cultivating strong bonds across all members of his teams with a goal of learning and working with a shared purpose.

In the technical arena, Michael specializes in software architecture with a foundation on flexible, component-based views, and in back-end architecture, with a focus on service-based APIs. While he has no allegiance to any specific technologies, his most recent focus has been on Java solutions leveraging the Spring Framework. Having implemented features on IBM platforms, including WebSphere Commerce and WebSphere Portal, Michael continues to add to his list of frameworks he regularly uses include AngularJS, jQuery, Spring Framework, Apache Camel and Java.

Recent Posts

NVISIA's Michael Hoffman Hosts - New Docker for Java Course Featuring Docker Champion Arun Gupta

on 10/14/16 4:08 PM By | Michael Hoffman | 0 Comments | Software Development Tech Center
In my Technical Architect role here at NVISIA, I've had the opporutnity to participate in many engagements around training and mentoring in the technical community. As part of our current drive towards education around DevOps and Docker, I sat down with Arun Gupta and hosted a play-by-play course for Pluralsight. Arun is a Docker Champion, Java Champion and VP of  Couchbase. In the course, he and I engaged in an unscripted, unrehearsed conversation around beginner and advanced Docker topics. One of the key aspects of the course was that  the material and discussion had a specific focus around Java solutions. Below is a link to the preview this Pluralsite course:
Read More

Apache Camel Video Tutorial Released!

on 7/19/16 4:23 PM By | Michael Hoffman | 1 Comment | Software Development Online Tutorials Tech Center
NVISIA's Michael Hoffman introduces Apache Camel, the open-source integration framework based on proven Enterprise Integration Patterns. This easy to follow, 3-part video tutorial introduces the Camel's rules/mediation engine, demonstrates a case study usage of the framework and finally reviews key points to help you to decide if Camel is right for you.
Read More

Swagger - Cataloging With the World's Most Popular Framework for APIs

on 11/21/15 11:32 AM By | Michael Hoffman | 0 Comments | Software Development Microservice swagger api
As a developer in today's tech industry, it's almost guaranteed you will be developing and maintaining an API in your application. The simplistic nature of RESTful web services has driven the exponential growth of APIs. Despite this simplicity, developers often face a significant challenge once someone tries to consume the API. Take some time to think about how you develop your APIs. Are you documenting what your API actually does? And if so, is it up to date and does it cover all the details your consumer needs? Probably not. Why? Because writing a full API specification is REALLY boring and VERY tedious work, especially when APIs are added or change frequently. Next, what if your consumer wants to test your API? Do you send them a URL and say, "here, figure it out!" As a frequent consumer of APIs, that is often the response I get from consumers. Finally, is there nothing more annoying than a consumer that wants to know what type of error codes your API will respond with? Come on people! Just test the service and you can figure out the answers for yourself!
Read More

Recap of ThatConference 2015

on 8/24/15 10:38 AM By | Michael Hoffman | 0 Comments | Software Development
 
Read More

Recap of Microservices for Java Architects Presentation CJUG

on 4/29/15 1:24 PM By | Michael Hoffman | 1 Comment | Javascript Java Software Development Microservice
  I had the pleasure of attending the Chicago Java Users Group (CJUG) for a presentation by Derek Ashmore. The topic was Microservices for Java Architects. Over a two year period, I was part of the implementation of a system that had similarities to the Microservice Architecture approach, so my intention for attending was to hear Dereks' opinions on the topic. I also hoped to have some of my open questions answered around the topic.   To start, if you are unfamiliar with Microservices, I recommend to check out Martin Fowler's article here:  http://martinfowler.com/articles/microservices.html.      Overall, Derek did a great job of covering key Microservice Architecture concepts. I particularly liked his analogy of a stereo system for the structural concept of smart endpoints and dumb pipes. One of the drivers for Microservices is to address the concerns of a monolithic application. Derek addressed the monolith and then dove into a comparison of the monolithic architectural structure and the Microservice architectural structure. Next, Derek dove into design considerations and patterns. A few of the key patterns included Circuit Breakerand Retry. Derek covered how Microservices can be packaged, including a focus on Docker. He also covered several key cross-cutting concerns, including transactions, security and testing. Finally, Derek provided several considerations that are important when deciding to use Microservices for your architecture.    During the follow on discussion we shared our collective experience on the following areas:    1.  One of the key Microservice aspects I've researched is the need for DevOps, which Derek highlighted a bit following one of my questions. Microservices generally go hand in hand with lean engineering, which has the principle of releasing more frequently through a build-measure-learn cycle. Given this, it was his opinion that DevOps are really an important part of going with this architectural style.    2.  Another key aspect was around team organization. It was Derek's opinion that the team should be organized differently around a Microservice structure. He provided some sizing considerations for a team as well.    3.  The final aspect I got more information around was his opinions on security. I felt he went into a lot of good detail on how to address this concern. He also hit on an anti-pattern that I have seen several times in my research, which is exposing Microservices directly to the browser.  Many thanks to Derek for this overview - the key opinions in his presentation confirmed what I have both in both my research and experience. He hit on the concepts of governance. He went into a lot of detail on database considerations, especially the concerns of two-phase commit in the approach. Overall, it was a very useful presentation in terms of content and I came away knowing more about Microservices than when I started.
Read More