Thursday, June 30, 2005
Word of the day - normative : This is a word used quite a bit in XML related standards and of late, I have seen it being used in speech as well. Well, here is what it means - borrowed from www.whatis.com
normative In general, normative - pertaining to a norm - has two related meanings: (1) a prescriptive meaning (for example, the rules specified in a standard or guideline), and (2) a descriptive meaning (for example, the median salary range in an particular occupation).
In information technology standards, normative parts of a standard are those that specify what implementors should conform to and non-normative parts consist of examples, extended explanations, and other matter not dealing directly with the specifications.
In economics, a normative statement is one that states how things ought to be and is contrasted with a positive statement, one that states factually how things are.
normative In general, normative - pertaining to a norm - has two related meanings: (1) a prescriptive meaning (for example, the rules specified in a standard or guideline), and (2) a descriptive meaning (for example, the median salary range in an particular occupation).
In information technology standards, normative parts of a standard are those that specify what implementors should conform to and non-normative parts consist of examples, extended explanations, and other matter not dealing directly with the specifications.
In economics, a normative statement is one that states how things ought to be and is contrasted with a positive statement, one that states factually how things are.
Wednesday, June 29, 2005
What does globalization mean at an individual level - I am a believer in the power of globalization i.e. it will enrich more lives and creates more jobs then it replaces. However, at an individual level many will be negatively impacted. This will come about as many of the jobs will be outsourced and offshored. If you were to imagine the same order of magnitude of outsourcing and offshoring in the next ten years ('05-'15) as in the past ten years ('95-'05), it is not hard to imagine that many of the jobs that exist today will be either made obsolete with technology or sent to a place where it can be done cheaper. Unfortunately, this will affect the already weaker section of our society. I think it is imperative for each one of us to excel and to be an entrepreneur who can turn this into an opportunity. I recently read about a company making under garments in L.A. (I think it is called American Apparels) - they do all their manufacturing domestically and pay their employees a decent wage. Oh, by the way they are really profitable. So it can be done - but not in the way we are used to doing.
Java One this year - Just returned from Moscone from Java One. I have been going to these from the first one. There was no energy or excitement there. The exhibitor hall was really small this year. Ironically, I think it is because of the success of Java as a platform that the premier Java show is waning. Most companies would rather exhibit in a targeted show (mobility, web services etc,) vs. going to Java One. My prediction is that the show will either go through an extreme makover or go the way of C++ World (remember that?)
Tuesday, June 07, 2005
Importance of Data
Last May I got a chance to hear Tim O'Reilly speak at BEA's eWorld in Moscone. He spoke about how the value equation keeps evolving over time - initially it was in the hardware, later it moved to databases/operating systems, then to middleware/applications etc.. He thinks that now it is in the data. I think he is right. Collecting, manipulating, protecting data will be big business.
One of the challenges with sharing data is around the semantics of the data elements. This is a tough problem to address since the same terms may mean different things to different user segments. Some standard bodies (like the one for EDI etc.) have addressed pieces of it but it is no where near universal. Within corporations some companies have invested in Ontology tools to help define data and also as a side benefit automatically generate transformation scripts (either XSLT or XQuery). There is ofcourse nothing like this which is cross industry. While browsing through Adam Bosworth's blog I came across this link http://del.icio.us/ that lets you classify or tag web pages. I don't get all the import of this but this may very well end up being some kind of bottom up approach to this problem.
Last May I got a chance to hear Tim O'Reilly speak at BEA's eWorld in Moscone. He spoke about how the value equation keeps evolving over time - initially it was in the hardware, later it moved to databases/operating systems, then to middleware/applications etc.. He thinks that now it is in the data. I think he is right. Collecting, manipulating, protecting data will be big business.
One of the challenges with sharing data is around the semantics of the data elements. This is a tough problem to address since the same terms may mean different things to different user segments. Some standard bodies (like the one for EDI etc.) have addressed pieces of it but it is no where near universal. Within corporations some companies have invested in Ontology tools to help define data and also as a side benefit automatically generate transformation scripts (either XSLT or XQuery). There is ofcourse nothing like this which is cross industry. While browsing through Adam Bosworth's blog I came across this link http://del.icio.us/ that lets you classify or tag web pages. I don't get all the import of this but this may very well end up being some kind of bottom up approach to this problem.
Sunday, June 05, 2005
Book on globalization by Tom Friedman - The World is Flat
Great book though his anecdotal driven style of writing is a bit irritating at times. He traces the evolution of globalization and the forces that are making the world flat. He also examines what we need to do here in the U.S. to remain competitive. Globalization esp. the off-shoring of white collar jobs to countries like China and India has created fear of job losses at home. I believe that over the long run jobs will be gained - it may not be the jobs that we are familiar with today, it will be different kinds of jobs. End of the day - it is not a zero sum game, human creativity creates wealth for all. Also, successful companies across the globe are based on American corporate values of fair play and meritocracy. However, those who don't embrace it will be worse off (maybe a lot worse off since many of the social safety nets will slowly disappear). I think there are a few things that are imperative for us to do...
1) As corporations, we should design products that can be sold in these emerging economies. I don't just mean sticking a Chinese label but ground up design of products that an average Chinese or Indian will buy. Atleast in the software field, I don't see anything beyond localization being done. This is clearly not enough. Just like the Chinese build products that consumers here want to buy we should do the same,
2) As individuals, we have to take responsibility and initiatives to thrive in this new world order. It could be any number of things. If you are young, I would strongly advise you to do a stint abroad in your field.
Great book though his anecdotal driven style of writing is a bit irritating at times. He traces the evolution of globalization and the forces that are making the world flat. He also examines what we need to do here in the U.S. to remain competitive. Globalization esp. the off-shoring of white collar jobs to countries like China and India has created fear of job losses at home. I believe that over the long run jobs will be gained - it may not be the jobs that we are familiar with today, it will be different kinds of jobs. End of the day - it is not a zero sum game, human creativity creates wealth for all. Also, successful companies across the globe are based on American corporate values of fair play and meritocracy. However, those who don't embrace it will be worse off (maybe a lot worse off since many of the social safety nets will slowly disappear). I think there are a few things that are imperative for us to do...
1) As corporations, we should design products that can be sold in these emerging economies. I don't just mean sticking a Chinese label but ground up design of products that an average Chinese or Indian will buy. Atleast in the software field, I don't see anything beyond localization being done. This is clearly not enough. Just like the Chinese build products that consumers here want to buy we should do the same,
2) As individuals, we have to take responsibility and initiatives to thrive in this new world order. It could be any number of things. If you are young, I would strongly advise you to do a stint abroad in your field.
Saturday, June 04, 2005
Interface vs. Message
Distributed component models like CORBA and J2EE mandate the usage of formal interfaces using IDL, Java etc. So the client and the server have to have the same interface file (from which you create your stubs and skeletons). This is how interoperability is achieved. Web Services on the other hand don't need you to define a formal interface that has to be shared between the client and the server. Interoperability is achieved by agreeing on the message that gets transferred between the client and the server. The way the message actually gets generated is not specified. This is analogous to the way business is done in everyday life - we have a shared understanding of the messages and documents we exchange. Focusing on the message vs. the interface decouples the programming model from the data that needs to be exchanged for the client and server to communicate with each other greatly simplifying interoperability.
Distributed component models like CORBA and J2EE mandate the usage of formal interfaces using IDL, Java etc. So the client and the server have to have the same interface file (from which you create your stubs and skeletons). This is how interoperability is achieved. Web Services on the other hand don't need you to define a formal interface that has to be shared between the client and the server. Interoperability is achieved by agreeing on the message that gets transferred between the client and the server. The way the message actually gets generated is not specified. This is analogous to the way business is done in everyday life - we have a shared understanding of the messages and documents we exchange. Focusing on the message vs. the interface decouples the programming model from the data that needs to be exchanged for the client and server to communicate with each other greatly simplifying interoperability.
Are we constantly re-inventing the wheel?
If you have been in the IT field for a while you would either have felt this yourself or heard someone else complain about this. After all, isn't web services just CORBA re-invented? Isn't the software as a service just mainframe service bureaus? The answer is NO. Though it is easy to spot the similarities, the fundamental difference is most times the newer technologies run on a different "stack". This enables a new class of problems to be solved much more elegantly. To give an analogy, if you came up with a car that runs on milk, you would ofcourse, need to design the brakes, steering etc. which may be similar to gasoline driven cars. However, the fact that the new car runs on milk imposes a new set of constraints (and opens up new set of opportunities) in the way these other ancillary systems are designed and over time influences the larger ecosystem (e.g. fuel pumps, repair shops etc.)
I have written (along with Sanjay Patil of SAP Labs) a couple of articles in Web Services Journal on the differences between older distributed component models like CORBA and Web Services. There are also a few new books out there - like the one from Eric Newcomer and Greg Lomow (SOA & Web Services) and Enterprise SOA by Dirk Slama which have a good exposition on this topic.
If you have been in the IT field for a while you would either have felt this yourself or heard someone else complain about this. After all, isn't web services just CORBA re-invented? Isn't the software as a service just mainframe service bureaus? The answer is NO. Though it is easy to spot the similarities, the fundamental difference is most times the newer technologies run on a different "stack". This enables a new class of problems to be solved much more elegantly. To give an analogy, if you came up with a car that runs on milk, you would ofcourse, need to design the brakes, steering etc. which may be similar to gasoline driven cars. However, the fact that the new car runs on milk imposes a new set of constraints (and opens up new set of opportunities) in the way these other ancillary systems are designed and over time influences the larger ecosystem (e.g. fuel pumps, repair shops etc.)
I have written (along with Sanjay Patil of SAP Labs) a couple of articles in Web Services Journal on the differences between older distributed component models like CORBA and Web Services. There are also a few new books out there - like the one from Eric Newcomer and Greg Lomow (SOA & Web Services) and Enterprise SOA by Dirk Slama which have a good exposition on this topic.