This was a great conference.
I went to OOPSLA 2007. There, all the rage was SOA. Now, all the rage is CLOUD COMPUTING and DSL. I also had a lot of exposure to DDD, but I’m not clear if its because I just happened to run into it, or if its as big as the other two.
As a person who is always looking for something cool to innovate, cloud computing is discouraging and is forcing me to rethink my current priorities. I have been working on my own ESB for a few months now, very sporadically. I think I can build a very light weight, very practical and usable bus. I think you can just double click a few things and be up and running. It includes a very dynamic client to eliminate all of the heavy lifting on the client side.
But now I’m starting to think that it doesn’t matter. Who needs a light weight little bus when you can go to the cloud and get everything? I’m trying to convince myself that maybe everyone won’t go to the cloud and maybe… just maybe… someone would like to use my little piece of software. To compound it, I’m also trying to convince myself that its something good to do even if no one uses it as a learning experience. But, to play devil’s advocate with myself, wouldn’t it be better to learn it a different, more practical appreciated way? I’m really torn about it.
DSL was another big concept that I learned a lot about. But, its not new. All a DSL is is a language that describes something you want to do that gets loaded and executed. Its could be a script. XSLT is a DSL. Of course, a lot of that has been formalized into types of DSLs and approaches, which is very useful. It gives names to concepts there by making them real things.
I’ve had a project on the backburner for some time now. A friend needed a webapp to do specific things for his specific purpose. I built the webapp to fulfill his need exactly. Now that its been live for a few months, I’d like to rewrite it better so that maybe I can get others to use it.
I have now a bunch of new information to consider
I decided months ago that I wasn’t going to just write a webapp. Its been done. I considered using Sharepoint as a platform, but that costs some coin. So, my last thought was to use Dot Net Nuke. That’ll give them an entire CMS on top of it. (I never bind things together, though. If someone decided they wanted to add it to their existing app, I’ll make sure that can happen).
Now, I’m thinking that I should build it using Azure. But, once in Azure, do I use its Sql databases, or do I take the plunge and go RDMS free? I should take the plunge.
Let’s pretend that’s settled. The next thing to put in there would be a DSL to describe everything. That’ll give me an opportunity to exercise a bunch of new concepts. But, there’s one thing I’m already conflicted about: DSLs have been described more than once as “small and concise to your particular domain”. Whenever someone tries to come up with a “silver bullet” implementation, I instinctively shake my head. It doesn’t exist. You can’t predict and accommodate everything that everyone is going to want to do. The best you can do is build a great extensible platform. If it doesn’t do exactly what you need, then extend it the way you need to. In this regard, I consider myself educated. I always build pluggable stuff. I believe that I’m very practical about this type of thing, and my successes support it. I think the same concepts could port to a DSL. A DSL can span multiple models, probably successfully, as long as the DSL is extensible. My brain has been churning for days on a DSL to support this particular side project. But, suppose some of that ends up being right… how does that interact with Azure? Will I beable to do all that stuff up there? (If I rely on DYNAMIC, then I guess not.) There’s a lot to ponder.
Furthermore, we’re dealing with a lot of these same issues on my new team. It looks like I’ll be tackling it from multiple angles.
Conclusion of the Conclusion
I learned a lot at QCON. Now I have to figure out what to do with it all. Do I scrap current projects, or just put them on hold?
DSL and CLOUD COMPUTING are the new buzzwords that I’m excited about. I’m still excited about SOA too, though. I have a hard time letting go.