I’ve been developing a path to get us out of our tendency of developing separate apps to solve each business problem into a service-based solution where we get true reuse our of our components.
I was part of the problem that created our status quo. I spent years writing custom apps for so-called one-off solutions. I have finally learned that is the wrong way to develop apps in an enterprise environment.
What is the right way?
Today, I have ideas but no proof created through my own labors. But… I think SOA is the way to go. In a modern environment, we call it microservices. (Yes, microservices is just a re-branding of SOA) I call it right-sized services. Lowy has provided me with a mental map for how to implement a SOA model by leveraging WCF / Service Bus / Service Fabric.
Why would I want to do this?
I hate repeating myself. After over 7 years working in the Supply/Demand Forecasting stack. I had grown tired of writing a “new” applications every time we had a personnel change and they wanted a “special way” of implementing their forecasting process. I tried to develop a framework (Carbon) to handle 80% of our needs. That quickly lead to huge versioning problems. Not to mention the issues involved with training peers to use the darn thing. No joy all around.
What does all of this mean?
I have to figure out what everyone has written, chunk the code into logical sets of functionality, and map out a path to move functional sets into a service implementation.
What’s the catch?
It’s a lot of work. And my peers are not happy that I’m moving their cheese.
I still have to build out test implementations but so far so good. Once I get my head wrapped around auto-discovery with ServiceModelEx, I should get good.