Tuesday, December 2, 2008

SpringOne Keynote

I am at SpringOne in Florida. As always it is nice to be out of the cold and in a nice hotel. Food is good, content is great. Good times.

Now for some news. Rod Johnson did an opening night keynote. Very informative and nicely presented as always. Major take away: SpringSource stands for "Creative destruction of complexity" and Spring Framework provides "Weapons for the war on Java complexity". So now you are warned!

I will not try to reproduce it all. Here and here have a great write-up already.

Biggest announcement has to be a new tc Server. Basically Tomcat with integrated AMS and great management console. That should open up a number of doors for SpringSource. I have been in a number of engagement where BEA and IBM servers were used only because they provided a much better operational environment. Will be interesting to see what SpringSource guys will come up with next.

At Philadelphia Spring User Group we will be doing a SpringOne redux on December 10th. So if you in the area come check it out. We will cover all of the announcements and happenings. phillyspring.org for information.

Tuesday, October 28, 2008

Comparing MVC Frameworks?

I saw a question on one of LinkedIn groups asking for a comparison of MVC frameworks. Obvious reaction is to point to Matt Raible's presentation from 2007 on this topic. Thinking further brings up an "It Depends" moment. Now days it is not enough to just use "best" MVC framework.
  • Is this a green field project, i.e. do you have any legacy code to integrate?
  • What type of application is this going to be?
  • Is there need for wizards with suspend/restart functionality?
  • What are you using for persistence?
  • Do you have need for DI container?
  • Is there a need for "flashy" desktop feel to the application?
  • What is experience level of developers who will develop this application?
Those and other questions must be considered before making a decision on presentation framework. UI is only one, albeit very important, part of the system architecture. Care must be taken to pick a UI technology that compliments and plays nice with other pieces of overall system.

Before jumping in bed with a framework make sure that development staff is comfortable and understands underlying technology, i.e. does not have to be retrained. Make sure that picked technology fits with a business direction/objectives/strategy few years in a future. Don't get caught up in a short term trends or you will suffer pains of complete rewrite when business focus changes.

Tuesday, October 7, 2008

SpringSource dm Server with Rob Harrop

Just a quick announcement. Philadelphia Spring User Group will be hosting Rob Harrop of SpringSource fame. He will be presenting on recently blessed SpringSource dm Server. This is the one that is all OSGi inside and out. Very cool stuff.
Rob is one of the best technology speakers out there. If you are insterest in OSGi, SpringDM and SpringSource dm Server, this is the presentation for you.

Check out http://phillyspring.org for details.

Change of course at SpringSource

Glad to see an announcement from Rod. Honestly, what took so long?

We are amending our maintenance policy in the light of community feedback. We will make regular binary releases from the Spring trunk available to the community, with no 3 month window. For each version of Spring, community releases will be available while it remains the trunk or until the next version is stable.

Once we have published a release candidate for a new version of a project, we will typically not release further tags or binary builds of earlier versions of the project to the open source community. Such releases will be available for three years to SpringSource Enterprise customers.

This is the type of a policy that I would be completely comfortable with. Initial version seemed a little out of character and rushed. Call me a "Spring Fan Boy" but I am mighty happy with the news today.

Friday, October 3, 2008

Cloud Computing Conference

What is Cloud Computing? It depends on who you speak to. I don't have an answer. I like the idea and would like to learn more about it. If you are like me, my employer Chariot Solutions is sponsoring a conference on Cloud Computing on Friday, October 17th at the Penn State Great Valley campus.

We have some big names attending:
  • Jeff Barr of Amazon.com speaking about Amazon's EC2 and S3 Cloud Computing platform
  • Joe Gregorio and Johnathan Rochelle of Google, talking about Google App Engine and Google Spreadsheets
  • Justin McCarthy and Britt Crawford of Cafe Press, the developers of HiveDB, a cloud-capable database platform
  • Prasaad Chakka of Facebook, speaking about data warehousing in the cloud with Hive
  • Chris Richardson, author of "POJOs in Action" and developer of CloudTools, a mechanism for deploying Java and Groovy applications in the cloud
  • Ezra Zygmuntowicz of Engine Yard, a Rubyist, developer of MERB (a high performance alternative to Ruby on Rails) and author of Vertebra, a cloud computing platform
There are several more sessions, including an hour-long panel talk on using Amazon and other cloud platforms with local experts Toby DiPasquale, Chis Cera, and Andrew Kortina.

If you're interested, the web site is http://www.cloudconeast.com

Maybe I'll see you there.

Tuesday, September 23, 2008

SpringSource travesty!

Or Not? It Depends! There was a lot of speculation and outcry at the initial announcement. Just read theserverside fireside chat. Both Rod Johnson and Mark Brewer from SpringSource dropped by to provide some explanation. I am still hungry for explicit details.
  1. How IP of the enterprise supported changes be handled or if there will be a difference at all?
  2. Will there be tags made as point releases are made to the paying customers? I would really, really, really hate to go off the trunk only.
  3. How transparent will the changes made to support paying customer be? Will there be a jira link, release notes, some sort of description of the change? That would be crucial when building of the trunk. Personally I do not have bandwidth to monitor FishEye.
I do not think that this is a sell out by SpringSource but I am biased. I have spent the last 5 years using Spring Framework. Now I can hardly write an "enterprise" app of any size without it. I got lazy about looking for an alternative because Spring is so damn good.

I am yet to see a huge issue with announcement outside of inconvenience. Most of the customers that I work with pick a version and stick with it for a while. Lets say they have 2.5.2 and it will take an act of deity to move them to 2.5.5 unless it it the next major internal release.

So lets wait and see. If SpringSource does pull an Ext, there is a solid foundation that can still be forked and developed by the community. I really hope it will never come to that.

Further reading:
  1. SpringSource manifesto
  2. Rod on Open Source contibutors
  3. Rod on Enterprise Open Source (Presentaton Slides from Emerging Technology for Enterprise Conference 2007)
  4. Craig Walls thoughts

Saturday, September 13, 2008

Quick thought on Google BigTable

We just had one of the internal geek fests at my much heralded employer. Eric presented on Google App engine. Very interesting. One observation that I came away on BigTable and transactions through data store api. That is ALL of the entities that you want persisted in transaction in AppEngine must belong to the same Entity Group.
Translate that to Java and DDD -> Aggregate Roots. The root entity could be an aggregate root and should be persisted as a whole. Interesting way to partition data. Have to play with Python and AppEngine.

Friday, September 5, 2008

So why "It Depends™"?


What's in the name? Let me start with a story.

I once worked for a client. You know the type. The one with huge "NIH" (not invented here) syndrome. The one where "open source" is a curse word. Thankfully there are a number of very bright and gifted people working there trying to bring about a change. But no matter how great those folks are, the story is not about them.

While there, we were looking into introducing Spring Framework as a back bone of future architecture. Every one who worked with Spring knows that there are number of ways of doing anything with it. Fried, broiled, baked, shaken, not stirred... After a while I had a standard response to each question that client asked: "It Depends...". My coworker, very funny guy by the way, soon added a "TM" to the phrase and mentioned that all usage of the phrase cost 10c payable immediately.

So that is the story. But that got me thinking. And the thought was: There isn't a golden hammer in software engineering. And this engineering thing is a big misnomer. Working with software is more like art vs. production line and model T. There are no preset measurements on parts. No stringent requirements. "This procedure must be completed in 101.23 lines of code". There is a final product that should do X. And how it does it - who cares!!! End user does not. As long as it does what the user wanted, performs well, delivered on time. It must be maintainable and bug free to be viable as a product going forward. That is where art comes in and "It Depends™" takes root.

How to solve a problem always depends on the context of a problem and surrounding problem domain. Who in the right mind would use a JSF + WebSphere Portal + DB to display a static html page? But some companies do that, because that is the stack they use for web based deployments. There are tons such examples out there. No need to look further than last project you or I worked on. Oh do I have some stories to tell about those :) Maybe next time.

Thursday, September 4, 2008

Hello World!


I guess I should start with an introduction and a reason for you, dear reader to stop by back here and read the musing of another deranged blogger with Pinky and Brain aspirations.  So here we go.

Hello and Welcome!

My name is Dmitry Sklyut and I am a software developer/architect living a peaceful life in suburban Philadelphia.  I work here (and just in case:  "The opinions expressed on this blog represent my own and not those of my employer unless specifically stated in section 42 of ...” You get the picture...).  I work mostly with Java since around 1999, but was paid to write PowerBuilder (Remember Data Window??? Sight...) and MUMPS (don't ask) among other more standard things.

I am very into Spring Framework for its simplicity and productivity gains.  Been using it since version 1.1.  I like and use a lot of other open source technologies from Hibernate to Tomcat.  Lately I got very interested in OSGi.  Mostly for its ability to build modular applications and secondly for the deployment aspects.  On my plate is a shelf full of books to read, languages to learn and technologies to explore.

I did start writing a blog a while back but that went by the way of Dodo Bird.  This is my second attempt of providing some consistency to the endeavor.   This attempt has been triggered by my last project and I will blog about it later.

What type of content can you expect?  Technical, computery, and programy type of a stuff.  I will try to minimize the rambling.  Politics will not be discussed here, except in context of where to put the brackets in the code :)

So welcome again and stay tuned.