Tuesday, May 12, 2009

Work vs Tweet

Enterprise Tweeting anyone? I don't think so. Twitter is great for promoting yourself virally however I don't see any point of "tweeting" when you are at work. This capability exists with the various enterprise Instant Messengers like MSN Chat or Lotus Notes client however I see people hardly using it. The only time I really check someone's status is if they are available for a meeting or not. This status is available via the Calendar sharing capability available on Outlook, Google Calendar, Lotus Notes, etc., etc. So in this brief entry, I conclude that I don't see any Tweeting in the workspace. Who wants to Tweet when they have to work? ;)

Thursday, May 7, 2009

Software Language Roadmap

As many of you heard that Oracle is the process of purchasing Sun Microsystems (Sun) and many techies like myself are weary on what will ever happen to current IT standard technologies like Solaris OS, SPARC workstations, MySQL relational databases and most important to the Java Software language. Sun did a good job of maintaining the Java language which inturn has matured and is currently quite popular in the development community. I have to give kuddos to Sun where the language matured from a bulky and clunky language with Enterprise Java Beans (EJBs) to a more streamlined software language which has be refined to a fine consistency. I, however, think that the Java has reached its pinnacle and now it will slowly fade in the mist where other legacy buddies like COBOL, FORTRAN, PASCAL, LISP, etc, etc are waiting for it.

If you are a Chief Technology Officier (CTO) of any mid to large size enterprise, it is time to ask your planners to hash out a Software Language Roadmap which should address the following:
  • What sorts of languages will peak in the next 2 years, 5 years and possible 10 years?
  • What sorts of infrastructure will be needed to maintain applications with these languages?
  • What will the cost of development of these applications?
  • Will it impact current applications?

Enabling the IT component of business with Service Oriented Architecture (SOA) was promising since it offered a closer alignment to business processes, and the wonderful level of flexibility. Unfortunately flexibility brings numerous levels of abstraction and system integrators working with process analysts to develop these flexible services. During the enabling process, enterprises have realized that there is a cost associated to the degree of flexibility. Is flexibility worth the price? Next came the promise of Web 2.0! Web 1.0 allowed users to discover information using Web. Web 2.0 allows users to discover information and aggregate information for their personal uses. It also allowed users to disseminate their perspectives on the information (kinda like this blog). Enterprises see the promise however they are leary in giving their users the power to disseminate information with their perspectives across their networks. Currently businesses regulate their users on when and where they can blog if the users are allowed to blog. Currently the most promising thing Web 2.0 component in the business community is the Wiki. Wikis are usually viewed as organic knowledge bases which are maintained by the users. I personally don't see Blogs and Social Networks (sorry ASpace!) won't take off in an enterprise. So back to the drawing board and we need to ask ourselves, "What next?" As a developer and as an architect, I believe application development will be done in scripting languages like Ruby and Grails. They follow the concept that it takes alot less time to modify a baselined application then to build one from scratch. These languages also imply that these baselined applications have the right architectural foundations like built with design patterns, and loose coupling. They are script based language which allows developers to save alot time by skipping on the compile step. They also provide unit-testing capabilities. I have worked with Groovy on Grails quite a bit and I really like it. I am still learning Ruby. I also see close source companies like Microsoft and Adobe following this paradigm in their new ActionScript or .net specs. Every executive asks about security vulnerabilities with these languages and security is addressed as these languages mature. I wouldn't ask my developers to build my business applications in Groovy on Grails or on Ruby on Rails yet since they are still new but I would start drafting my java exit strategies. Don't let your enterprise get lost but plan your roadmap and stick to it.

Saturday, May 2, 2009

Different way of programming

For the last week or so, I have been developing a dashboard for an Enterprise Architecture (EA) at the Federal Aviation Administration (FAA). Due to various organizational constraints and confusion regarding where should the EA repository should exist, associated user access issues and which tool should render the dashboard; I am developing the dashboard using ExtJS AJAX framework. Six months ago, I would have spent a few days trying to understand the Application Programming Interface (API) and then slowly build the application scratch. After working with Groovy on Grails and Ruby on Rails, I decided to take the approach of customizing an example, which is provided in the ExtJs framework. This approach has saved me alot of time and I have a better understanding on how ExtJS works. I admit that I don't have a detailed understanding on how ExtJS is designed and how it should work; but I do know enough to say that I can build the User Interface using ExtJS. So if you are getting ready to code in ExtJS then I say to you, "Ext.onReady(..."

So in closing, I would say that it is faster to customize existing code rather building it from scratch. I have been enjoying working with this JavaScript framework.