asinglenet
Joined 19 years ago
Joined 19 years ago
The old version of SOA focused on defining the protocols and API's that services would use to communicate, from the top down. There was a lot of effort put into standardized object definitions and CORBA and EJB, and standardized protocols like SOAP. The resulting services were put into directories and locked down. That's what made SOA so annoying and cumbersome. It was a lot of work just to set up the plumbing, and then you can't change it to do what you want.
I call the new version "service architecture" because "service oriented architecture" has such stifling connotations. This version uses a variety of protocols which are faster, lighter, and sometimes more specialized. It can include the old RPC protocols, new platform-specific RPC, connection pools, message queues, HTTP-REST, and plain old HTTP. It's not so important to define the protocols up front, because the whole system is always being tested as a unit. Reliability is being created by continuous integration, not by up front engineering and standards. There is little effort to package things into similar code objects. Services from many different languages and platforms co-exist. That's the whole idea.
That said, I believe that services packaging may converge into something portable like Docker containers. As my friend Aaron O'Mullen of Codebox said, a Web service is the new executable.
CMM and PMP are basically anti-agile. They are useful, but useful for projects that just shouldn't be agile. The fact that agile events attract a similar demographic isn't a positive, in my opinion.
I have to disagree with the guy that says the service doesn't have value over $20. Even on the face of it, he would replace it with a server costing $50/month, plus install and admin time costing at least that. So, he's already at $100. He's probably only using the subversion repository, which he could easily install on his own. However, if you are serious about getting the most from your team, you would be using the alerts, code browser, the ticketing system, which would cost you substantially more if you bought it from Atlassian or Fogbugz, and be well worth it. If you have a consulting operation, as many Assembla customers do, you will use the time tracking and reporting. In other words, if you manage your team professionally, you will get a lot of value out of this software. And, certainly we will work on charging appropriately.
If you are making a big system, you probably would not want to try to put all of the components in one monolithic place. I argued that this makes testing and release more complicated (and slower). But, I suspect it also affects runtime speed by making the stack deeper. You would be doing more switching to get your requests to the right components.