Life allows restarts. So here is my 4th attempt to start blogging. I work with DPE India team as Architect. My main interests are in database(http://www.cs.wisc.edu/~dbbook/) and solving integration problems between systems.
As most of us I have lived through the unix/c to windows environment professionally. I have moved across continents in last 11 years personally dreaming and learning along the way. This has been a great journey.
<blah - My take of the happenings over the last few years/decades>
Looking back I see the maximum we do today in majority of cases is persist data, retrieve it, try to put some workflow and persist the state back in. We have built better analysis tools to look at the data compared to past. The other attempts have been to provide the pluggability between systems by decoupling the data from the logic and possibly just providing way for the evolution.(messaging/integration tools?). This logic has been moved around to support again reusability/pluggability/upgradability/load balancing/add value-ease of dev/deployment in terms of using the metadata etc etc.(appservers of flavors). This whole grand idea of decoupling has taken us from simple rpc to super sophisticated angle bracketed data. The latter has again brought down the exclusive club of super languages trying to take over everything.
The integration between applications itself has evolved from using shared folders to the eai tools.
Major developments have been in the areas of APIs becoming stronger than the languages/platform as the VM systems take over. I have some controversial views around the same :) where I feel if VMs become the standard, innovations will stop in the platform or at least be stifled.
If we want to see exciting new innovations in improved IT tech use in our daily lives, there will have to be some very basic agreeement on very small subset (take for example the electronic equipments - where they just agree on how they take the power, how they provide the value is left to the designer, for that matter the automaker industry, when they introduce something really groundbreaking new, they might have to change the assembly line). Obviously these are my personal views.
The APIs have improved the data-access/persistence/manipulation. The workflow piece is yet to become mainstream, right now it is all baked by hand into the applications with possible help of some middleware. The clients have gone from thin to rich to thin again and now we are all talking about smart clients. The complications provided by increase in the mobile devices(cell phone explosion/mobile pcs etc etc). So people want to see/interact with data when on the move which places interesting demands on the applications.
The other end of the persistence has seen relational view of the world winning over the storage/query of the data. It has to deal with the occasional hierarchical/large data (oops how did I forget the marriage of xml with relational world). There have been attempts to take the programming/abstraction idea and fit it on the storage/query model in form of Object oriented databases. There have been attempts to still store the data in terms of relations but abstract it in form of mapping. But have they worked for very large scale enterprise applications? Is there some kind of data to support it?
The abilities like security/availability/scalability/integrability/reliability are important for the backend combination of relational database and the app server. We as industry have had some of these abilities provided by other servers/applications as we try to abstract it out driven by business needs.
Multiple attempts have been made to make the process of making software closer to the requirements and I don't strongly believe against or for something. Zachman has gained the mindshare over period of time but I have seen other methodologies succeed very well too.
I will be interested in sharing/learning information making the backend piece added with abilities.
My colleague Ramkumar Kothandraman has excellent blog and views on some of the very relevant topics for people who design and develop large systems. Check out his entity aggregation paper.
I read the usual suspects in no particular order
Chris Sells, Ted Neward, Pooja(monad buff), Windley,Rickard, Philip Greenspun, Michael Stanton, Michal Ciernak(from his orp days), tirsen, Mr Box, Mr Bosworth, Andrew Stopford, Mark Rittman, Cameron Purdy, Hani, Vinny Carpenter and Roshan (look up his monad/scheme/ruby stuff).