Monday 31 December 2007

Managing the Professional Service Firm

For last two days, I am reading this book by David Maister. Though I have not yet finished it, I found some of the points covered in this book, quite relevant to my work. Let me share them with you.
Almost every professional services firm, has three goals to perform: deliver outstanding client service, provide fulfilling careers and professional satisfaction to its own people and achieve financial success.
There are three types of client work: Brains, Grey Hair and Procedural. Brains type of work involves new solutions to new problems. Grey Hair type of work requires some prior experience while Procedural type of work requires efficient delivery of solution. The types of practices needed for these types of work could be termed as Expertise-based Practice, Experience-based Practice and Efficiency-based Practice respectively.
The Dupont formula for profitability of industrial companies is as follows:
Profits/Equity = Profit/Sales * Sales/Assets * Assets/Equity = Margin * Productivity * Leverage
The author has similarly derived the profitability formula for professional firms:
Profits/partner = Profits/Fees * Fees/Staff * Staff/Partners = Margin * Productivity * Leverage
The author has further provided the formula for productivity as given below:
Productivity = Fees/Staff = Fees/Hours * Hours/Staff = Value * Utilization
We can put all practice development activities in following five categories:
  1. Broadcasting - generating leads and inquiries
  2. Courting - selling and proposing
  3. Superpleasing - ensuring client delight with current matter
  4. Nurturing - marketing to existing clients
  5. Listening - gathering market intelligence
Following are the means of listening to clients
  • User groups
  • Reverse seminars
  • Attending client industry meetings
  • Market research
  • Senior partner visits
  • Engagement team debriefings
  • Systematic client feedback
The marketing tactics in descending order of effectiveness are as follows:
  1. The first team
    1. Seminar (small-scale)
    2. Speeches at client industry meetings
    3. Articles in client-oriented (trade) press
    4. Proprietary research
  2. The Second string
    1. Community/civic activities
    2. Networking with potential referral sources
    3. Newsletters
  3. Clutching at straws tactics
    1. Publicity
    2. Brochures
    3. Seminars (ballroom scale)
    4. Direct mail
    5. Cold calls
    6. Sponsorship of cultural/sports events
    7. Advertising
    8. Video brochures

Friday 21 December 2007

Quantifying Busing Agility

While talking about SOA, we routinely make a claim that agile business needs agile IT and SOA is required for having agile IT. But then sometimes the questions comes, how do you determine whether the business is agile or not? I have got one possible answer for this question from the book titled “Enterprise Architecture as Strategy”.

“While there can be many ways, one indicator of agility is a company’s percentage of revenue generated from new products. MIT research on 147 companies found that, from 1998 to 2002, on average, 24% of a company’s sales were from new products introduced in the prior three years. But this percentage varied greatly from company to company - even between those in the same industry. For example, in manufacturing the average was 24%. However, a third of companies achieved 50% of sales from new products. These more-agile companies also had a high percentage of their core business processes digitized.”

Friday 14 December 2007

I am now SAP Certified Associate Enterprise Architect!

Yesterday I appeared for SAP Certification test for Associate Enterprise Architect and could pass it! The test covered topics such as SAP NetWeaver stack, SAP EAF and Enterprise SOA. There were 80 multiple-choice questions for 3 hours. I could complete the test in half the time. Many questions were tricky and needed careful reading. I found some questions where recommendation was asked for a given scenario while rest of them were more details-oriented.

It's a good feeling to know that I am now SAP Certified Associate Enterprise Architect!

Powered by ScribeFire.

Tuesday 16 October 2007

Wikipedia on my laptop!

Want to know some details of something? No problem! I just go to Wikipedia and search for it. Rather in my Firefox browser, I have set up Wikipedia search engine so I can simply search an item on Wikipedia at a single click. During leisure time, I simply search a random term on Wikipedia and get into reading something interesting and useful stuff. However, the problem comes up when I am not connected to internet. But now I have got a solution to this problem too.

I have downloaded Webaroo software on my machine. It allows me to download many web packs, the logical collection of web pages, specially created by Webaroo team. One of these web packs, the largest one is the Wikipedia. Yes, they have seemingly packed whole of Wikipedia in less than 10GB, which can be downloaded on local disk (and mobile!). I have downloaded it on my hard disk and now I can search through it and read required articles, even when I am not connected to internet.

So do I get the same experience of Wikipedia browsing as I get online? Not really! Firstly, the images are not part of this web pack. So I miss on them. Secondly, only Wikipedia articles are downloaded so I can't surf out from Wikipedia to referred external sites. But then does it bother me? Not really! It's alway better to have something to read than not having anything of it! -:)

BTW the Webaroo also allows to download the web sites. One has to provide a link and the depth of web site to be downloaded in terms of number of links. This becomes a little dicey because a typical web site may have many links, in which I am not interested. Nevertheless, this facility also seems to be exciting. I have just downloaded the IASA IT Architect Skills Library. While it downloaded quite a few pages not required by me, I could get all pages needed by me. So now I will not have an excuse of not being connected to internet for not reading Wikipedia and IASA IT Architect Skills Library!

Monday 10 September 2007

Interesting Videos at MIT World

Today I spent time in watching videos hosted by MIT World. The first one was an interview of Prof Henry Mintzberg by Ricardo Semler (President, Semco S/A). Prof Henry Mintzberg is Cleghorn Professor of Management Studies at McGill University and is considered to be one of the Gurus in the area of Strategy. This session was however related to Prof Mintzberg's latest book titled, Managers Not MBAs. In his interview, Prof Mintzberg made very strong point that MBAs don't make managers. Business schools such as Harvard do teach business skills such as marketing and financial analysis but do not make tomorrow's managers or leaders. He asserted that management is more of a craft and hence can be learn only by being on the job. He talked about the program he is running for practicing managers and how the approach is different there. It was quite interesting to listen to Prof Mintzberg's provocative opinions and also the thoughtful and relevant questions asked by Ricardo Semler.

Second video that I watched was a Q&A with Jack Welch in which questions were asked by Alex D’Arbeloff (Professor of Practice, MIT Sloan School of Management) and some time directly by audience. Jack Welch in his characteristic style answered all questions while offering his wisdom as shared in his book titled "Winning". His answers for questions related to firing of employees, work-life balance and telecommuting were quite interesting and provocative. While I have read Winning and knew most of what Jack Welch said in this session, watching him speaking was indeed a treat!

The third and last video that I saw was a speech of Tim Berners-Lee. He started with talking about emerging technologies and how standards are important for emerging technologies. Later he shared his vision about semantic web and talked about RDF. After his (fast-paced!) speech, Bob Metcalfe (Founder, 3Com) asked him very interesting questions. One of the interesting questions was which browser does Tim use!

There are few more interesting videos that I wish to watch now. But now it's time to go to bed!

Sunday 9 September 2007

MIT CISR Research on IT Portfolios, IT Savvy and Firm Performance

While waiting for my next flight to Houston at Atlanta airport, I read the Research Briefings published by MIT CISR on their research on IT portfolios, IT Savvy and Firm Performance. The points that I found useful for my work, are noted below.

The investment in IT by firms can be viewed using the portfolio concept. MIT CISR has identified four asset classes in which firms make their IT investments. Based on their research, they have also given the breakup of IT investment across these asset classes for an average firm as per data collected in year 2005. The first asset class is Infrastructure, which typically accounts for 46% of total IT investment. Infrastructure systems provide IT capability to support the applications. The second asset class is Transactional, which accounts for 26% of average IT investment. Transactional systems utilize the infrastructure and are used to cut cost or increase throughput for the same cost. The third asset class, Informational accounts for 17% of average IT investment. The Informational systems typically summarizes the transactional systems and provide information for any purpose including to account, control, report, communicate, collaborate or analyze. They make use of both infrastructure and transactional systems. The final asset class, Strategic, accounts for 11% of average IT investment. Like Informational systems, Strategic systems use both infrastructural and transactional systems and are used for gaining competitive advantage or position in market place.

Beyond providing overall average figures, the research briefing also provides the average figures for industries. So if we know these figures for a particular firm, we can compare them with the industry average to gain some useful insights. The research briefing also provides average figures for firms having different business strategies such as cost focused, agility focused and balancing cost and agility.

Another interesting finding from MIT CISR research is that firms with more firm-wide IT savvy have better pay-off associated with all their IT investments. The IT savvy is defined as a set of practices and competencies that add value to each IT dollar invested. The researchers have identified five characteristics of such firms. The first three characteristics are practices related to IT use while the last two are the competencies needed for high IT savvy.
  1. More IT use for internal and external communication and work practices.
  2. More business transactions digitized.
  3. More use of Internet and open standards.
  4. Higher IT skills of both business and IT employees.
  5. More senior management and business unit involvement in IT decisions.
The research briefing provides one-page questionnaire for IT savvy self-assessment.

Obviously, this research briefing has many more interesting points to know and understand. But right now I am going to stop here because I am picking up only those points that are apparently useful for my work. On top of that, the departure time of my flight is coming nearer. -:) Anyway, if you wish to read the entire research briefing, then you can find it from the web site of MIT CISR.

Friday 7 September 2007

The Art of Standards Wars

Today I enjoyed reading the article, titled "The Art of Standards Wars". This article was published in Winter 1999 issue of California Management Review. Unlike the famous book titled "The Art of War", this article is quite readable! It contains very pertinent advice to the technology companies, which are involved in the standards wars. It talks about strategies and tactics with quite a few examples from field.

The article begins with a discussion of the historic examples: North vs South in railroad gauges, Edison vs Westinghouse in electric power and RCA vs CBS in color television. Besides telling the stories, this section also draws the learnings from these examples. Then the authors go on describing the types of standards wars. They have identified three types: Rival Evolutions, Rival Revolutions and Revolution vs Evolution. The terms evolution and revolution refers to the backward compatibility (and lack of it, respectively) of new technologies.The authors have then identified seven key assets, ownership of which could indicate strength for waging in the standards war:
  1. Control over an installed base of customers - can be used to block cooperative standard setting and also to block rivals from offering compatible products.
  2. Intellectual Property Rights (IPR)
  3. Ability to innovate
  4. First-mover advantages
  5. Manufacturing capabilities - cost advantage is important!
  6. Strength in complements
  7. Reputation and brand name
In next section, the authors have identified two crucial marketplace tactics: preemption and expectations management. There are multiple ways to preempt. One simple way is to be first to market. Secondly, you should aggressive early on to build an installed base of customers. Penetration pricing can be used to build such installed base of customers. For expectations management, vaporware is a classic way: announcing an upcoming product so as to freeze rival's sales. But perhaps the most direct way to manage expectations is by assembling allies and by making grand claims about product's current and future popularity.

Finally, the authors have given advice to both winners and losers. The advice for winners is as follows:
  1. Stay on guards and let not rigidity due to early move constrain you for brining in improvements.
  2. Offer customers a migration path so that newer versions of products can be brought out without worrying about supporting the older versions.
  3. Commoditize complementary products so as to maintain a competitive market.
  4. Competing against your own installed base
  5. Protecting your position by offering ongoing attractive terms to important complementers and by taking steps to avoid being held up by others who claim that your product infringes their patents or copyrights.
  6. Leveraging your installed base by carefully expanding in adjacent space and/or by expanding geographically.
  7. Staying a leader by means such as developing proprietary extensions to otherwise open standards and by allowing complementers and even rivals to participating in developing standards under your terms (Thinking of Sun's JSRs!)
The advice for losers for recovery is as follows:
  1. Add an adapter or somehow interconnect with a larger network.
  2. Resist from offering survival pricing as it signal weakness.
  3. If all else fails, sue!
Although written for technology companies engaged in standards wars, this article is a good read for anybody interested in knowing how standards get established and in knowing the political side of standards-setting.

Monday 3 September 2007

To dream the possible dream

Some days back, Ram, my senior colleague at L&T Infotech, had emailed me the Turing Award Speech of Dr Raj Reddy, as published in May'96 issue of Communications of the ACM. It remained on my reading wish-list for these many days and finally today I got chance to read it. And I wondered why didn't I read it before!

The key message of Dr. Reddy's speech is that Artificial Intelligence (AI) is not only a possible dream but rather it has been a reality, which has been demonstrating results for last 40 years.

In this speech, what I liked the most is the answer given to the often-asked question, can AI equal human intelligence? The answer given is, AI can be both more and less than human intelligence. And this answer is illustrated well by two analogies. Firstly, it's just like an electronic book is more and less than a real book. While you can't do all those things such as reading it in a bed, electronic books allow you something that real books can't; e.g., search for words in text, open the right page, change the font size and so on. Similarly, visiting an electronic mall can't give you same experience as that of visiting a real mall, but can give you convenience that real malls can't. The bottom line is AI systems will enhance and not replicate the mental capabilities of human being.

The speech touches upon many points and is a good read for anybody who is generally interested in the area of AI.

Introducing Service Component Architecture (SCA)

David Chappell has written an excellent introduction to SCA in a whitepaper hosted on his site. Let me share my notes on this whitepaper in this blog.

SCA defines an approach for creating components and for describing how these components can work together to develop an application. There are three primary constructs in SCA: component, composite and domain. The components can be combined into a composite and a aggregation of composites makes a domain.

Components are the atoms from which an SCA application is created. It is an instance of an implementation, which is appropriately configured. The implementation may be in Java or in BPEL or in any other programming language. The configuration is expressed as XML in the language called as Service Component Description Language (SCDL).

Each component comes with a set of services, references, properties and sometimes bindings. It implements some business logic, which gets exposed as one or more services. To provide the necessary functionality, it invokes references, which are nothing but services of other components. Components can also make use of properties, the values it can read from SCDL configuration file when it gets instantiated. A binding needs to be specified for a component when it needs to communicate with a non-SCA application or with a component from another domain. the kinds of bindings include web services binding, JMS binding and EJB Session Bean binding.

Composites can be said to be molecules of SCA applications. The SCA Assembly Model specification defines how components can be wired to make up composites. While developers can use the GUI-based tools to wire together the components, ultimately these wirings get expressed as XML in SCDL configuration file.

SCA Policy Framework specification is used to define two categories of policies. Interaction policies can be defined by developers to modify how a component interacts with another components, in terms of security and reliability requirements. The Implementation policies are to be specified to modify how the component behaves locally.

While specifications provide a starting point, what is required for adoption are developer tools and runtime. While almost all vendors except Microsoft are gearing up for providing both developer tools and runtime, we will also have open source alternatives. While Apache Tuscany and Fabric3 from codehaus represent open-source options for runtime, Eclipse SOA Tools Platform (STP) Project is engaged in developing SCA tools for developers.

It's very unlikely that organizations can start using SCA now. I feel SCA will be considered by user organizations for adoption only after ratification of SCA specification by OASIS. Till then, we will need to watch its evolution as it indeed provides a latest state-of-the-art approach for software application development.

Sunday 2 September 2007

What are the business models of US Firms?

What are the business models of US Firms?

This is indeed an interesting question. And the answer has come from MIT. The Social and Economic Explorations of Information Technology (SeeIT) Project at MIT Sloan School of Management, has undertaken research to develop frameworks for analyzing and classifying
business models and to use these frameworks to empirically classify the business
models of substantial numbers of companies. Also the project aims to use the empirical data for formulating and testing hypotheses about the distribution,
performance and evolution of different business models.

So let's get back to the question. But before that let's see the definition given by the MIT researchers. At the broadest level, business model may be defined as how business appropriate value for the products or services they create. More specifically, the business model is defined as a description of the activities that a company performs to generate revenue or other benefits, and the relationships, information and product flows a company has with its customers, suppliers and complementers.

Now comes the taxonomy of business models. The classification scheme consists of four-by-four matrix, giving 16 types of business models. The two axes represent asset types and asset rights. The four asset types include financial, physical, intangible and human resources (HR) (actually the time and knowledge of human resources). The four types of asset rights include Creator, Distributor, Landlord and Broker. Now that gives 16 types though only some of them matter.

When the revenue data of publicly traded US firms over eight years (1997-2004) was analyzed, seven models were found to be common. They included Manufacturer (creator of physical assets), Wholesale/Retail (distributor of physical assets), Financial Landlord, Contractor (landlord of human resources), Physical Landlord, IP Landlord and Financial Broker.

Now while these findings answer the question, there are some more interesting findings from this research. Let me cover that at some later date. Now let me sleep. -:)

Business agility explored

While discussing SOA adoption, we believe that SOA is needed for achieving business agility. However, at the same time, we find our understanding of business agility is limited. We understand that business agility means the ability of business to respond quickly to the ever changing needs of environment in which it operates. It also means how quickly the business can launch new products, enter new markets or respond to new regulations. However, beyond this understanding of business agility, we stop to explore.

An article from the Research Briefing 2006 of MIT Sloan CISR would perhaps help us in understanding more about business agility. In this article, authors Jeanne W Ross and Cynthia M Beatch, have defined agility as the set of possible business initiatives a firm can readily implement leveraging pre-determined competencies with managed cost and risk. Based on their research, the authors have identified seven types of business agility, which they have grouped into three categories. These categories and the types are as given below:
  • Business Efficiency: Continuous improvement and Scalability
  • Market Responsiveness: Product innovation, Process re-engineering and New business model
  • Boundary Spanning: Acquisitions and Partnerships

Business Efficiency agility
attempts to identify repetitive processes and extract unnecessary cost and time. The continuous improvement agility is more found with commodity businesses such as consumer product manufacturers. Such organizations are required to implement continuous improvement initiatives for accelerating profitability while reducing business risks. Scalability agility is the ability to rapidly scale up and down in response to changing business volumes. This kind of agility is almost must for companies from the Property and Casualty (P&C) Insurance industry as they would experience extraordinary demand for claim processing after natural disasters. The key organizational characteristics that would help to achieve the Business Efficiency agility include the following:
  • Standardized IT environment
  • Standardized operations processes, systems and data
  • Enterprise-wide process design
  • Strong metrics and
  • Shared services

The speed with which organizations are required to respond to new customer demands and competitive challenges have gained increased importance for market responsiveness agility. Unlike Business Efficiency agility, Market Responsiveness agility disrupts, builds and reuses core capabilities. Interestingly, even if processes must change, companies benefit from developing clearly defined, standard operations processes and related data. Standardized IT Environment also helps in providing the foundation for new processes and interactions. Most notably, matrixed management structure helps companies introducing new capabilities without discarding old capabilities.

Organizations with boundary spanning agility have competencies enabling profitable growth through their acquisitions and partnerships. The key organizational capabilities that enable Boundary Spanning agility include aligned incentives, strong metrics and individual heroics. Interestingly, the key organizational capability for other two categories of agility, the Standardized IT Environment is actually found to be negatively correlated with profitable acquisitions. On the other hand, while the heroic actions of individuals enable boundary spanning agility, it gets highly discouraged for achieving other two categories of agility.

While some organizational characteristics would help for more than one categories of agility, there would involve some trade-offs if an organization attempts to achieve agility in multiple categories.

This kind of understanding of business agility would definitely help in planning for SOA adoption. Let's hope to receive even more understanding about business agility from MIT CISR. We will then be more wise while discussing the need of SOA for achieving business agility.

Checklist for developing a strategy for web services

In his book titled Loosely Coupled, Doug Kaye has offered a checklist for developing a strategy for web services. After going through it, I found it useful as a starting point for making road-map for SOA adoption. This checklist has got more than 80 items grouped into into four categories: Inventory, Project Requirements, Planning and Evangelism. You can find this checklist as a free chapter download (without giving out email address!) from the book web site.

Operatinal Excellence, Product Leadership or Customer Intimacy?

One of my favorite management concepts is the one from a book titled, The Discipline of Market Leaders: Choose Your Customers, Narrow Your Focus, Dominate Your Market, by Michael Treacy and Fred Wisrsema. This book describes three types of "value discipline":
  • Operational Excellence
  • Product Leadership
  • Customer Intimacy
The Operational Excellence is an approach to the market, dedicated to providing the lowest cost goods and services, while at the same time minimizing problems for the customer. The basic philosophy is about the low or lowest price and hassle-free service. The examples of companies following this value discipline could be Walmart and McDonalds.

The Product Leadership is an approach to the market, dedicated to providing the best possible products from the perspective of the features and benefits offered to the customer. The basic philosophy is about the products that push performance boundaries. The examples could be Intel, Nike and 3M.

Finally, the Customer Intimacy is an approach to the market that involves the selection of one or few high-value customer niches, followed by an obsessive effort at getting to know these customers in detail. The basic philosophy is about delivering what specific customers want. The examples could be Airborne Express and Nordstrom.

It is typically said that a company can excel in at the most two value disciplines but not all. Actually it is advised to focus only on one value discipline. I agree that focus on only one of these value disciplines would help it achieve market leadership.

MIT case study on Air Deccan

Today it was a pleasant surprise for me to see a case study on Air Deccan coming from MIT Sloan Center for Information Systems Research (CISR). Available as a working paper on the web site of CISR, this case study primarily focuses on how Information Technology (IT) has been playing an important role in the business of Air Deccan. Written by Jeffrey L Sampler in Nov 2006, it helps in understanding the big picture of aviation industry, the business model of Air Deccan and the role of IT at Air Deccan.

Saturday 25 August 2007

QoS requirements for web services development project

Many a times a question comes up about which Quality-of-Service (QoS) requirements should be gathered for web services development project. Let me share my answer to this question.

QoS requirements are not so much different from the non-functional requirements that we gather for any typical software development project. Let me list them down with some explanation:
  • Availability in terms of probability of service being available
  • Accessibility in terms of probability of success in accessing the service
  • Performance in terms of throughput (number of successful service requests made per given time period) and latency (aka response time)
  • Reliability in terms of failures per give time period
  • Security (this requires a detailed explanation as given below)
Security Requirements come as a top requirement for web services. I
have come across many people who believe that web services are
inherently insecure. It's far from true! With a release of WS-Security
specification from OASIS and subsequently release of Basic Security
Profile from WS-I should help eradicate this wrong perception. Now, gathering security requirements for web services is a tricky job. Everybody wants to have web services to be
as much secure as possible and no less. But then there are trade-offs
to be considered with other QoS requirements, particularly the
performance requirements. So it makes sense to ask for only essential
security requirements. Further the security requirements for web
services should be broken down into the following:

  • Authentication
  • Authorization
  • Message Integrity
  • Non-repudiation

A note should be made that all security requirements except
non-repudiation requirements can be met by using the WS-Security
specifications. If there are non-repudiation requirements then a
non-standard way will need to be adopted.

A good news is that service development per se need not take into account these QoS requirements. These QoS requirements can very well be externalized and can be handled independent of service implementation. However, if there are some very peculiar or critical QoS requirements then the high-level design of the service implementation needs to get influenced.

Any comments?

When to use REST and when to use SOAP

There are so many pages and blogs on REST vs SOAP that a person like me who wants to know which one to use where, simply gets confused. These blogs and pages talk more about pros and cons of REST and/or SOAP, while I believe every such thing has a place in a particular scenario. In other words, REST will be applicable (please note I am not saying better!) in some cases, while SOAP will be applicable in some other cases. Fortunately, I found this article by Sameer Tyagi, which gives good advice on when to use REST and when to use SOAP. Let me quickly outline my understanding of Sameer's article in this blog.

A RESTful design may be appropriate when
  • Completely stateless web services are needed.
  • A caching infrastructure can be leveraged.
  • The requirement is for point-to-point integration. This means both service consumer and provider have mutual understanding of the context and content being passed.
  • Limited bandwidth exists between service consumer and provider; e.g. having mobile device as a consumer.
  • Front-end technologies such as AJAX and DWR are being used.
A SOAP-based design may be appropriate when
  • A formal contract is needed for a service (to be provided as WSDL).
  • Complex non-functional (aka QoS) requirements are present and need to be handled in a standardized way.
  • Requirements for asynchronous service invocation are present.
Now this kind of information comes handy when a solution is to be proposed for a particular case.

Friday 24 August 2007

A simple methodology for making build vs buy decision

Today while I was on web site of Elastic Path Software, I happened to read one of their white papers titled, Build versus Buy in Four Easy Steps. Initially I thought this must be another way to say that buying Elastic Path E-commerce Platform is the best decision to make! Yes, the white paper does have a sales pitch but still it makes a good read due to the methodology that they have described for making build versus buy decision.

The four easy steps of this simple methodology are as follows:

1. Pick up three criteria, each for buy and build options from a compiled list of criteria.
2. Put them vertically and horizontally on a three-by-three matrix. Then write the most compelling option in each cell by comparing intersecting criteria. In a group, each one has to do this exercise independently.
3. Count the number of buy and build options and that could give a good indication of your base decision. For a group, an average of counts would be needed.
4. Check out whether this decision makes sense to you. If not, then perhaps you have missed an important criteria or you have got single overriding criteria. For a group, a third possibility exists of unspoken assumptions!

The white paper describes this methodology in detail with examples and provides worksheets too. Given my experience of participating in many discussions for buy versus build decision-making, I found this methodology quite simple and hence quite useful.

E-commerce Platform making use of open-source software components

This is perhaps the first time I saw a commercial business application product, which was almost entirely developed on top of open source software components. Although Elastic Path E-commerce Platform is itself not an open source software, it provides full source code (along with JUnit tests!) to its customers.

It is based on Spring Framework and makes use of Velocity, Dojo, Spring MVC and DWR for user interaction. It uses Apache Axis along with Dozer and xDoclet for web service-enabling of some of its software components. Hibernate is used for O/R mapping. Other software tools that are used include Apache Lucene, JBoss Rules, Acegi Security System and JBossCache.

The company counts names such as XEROX and P&G as its customers and provides quite a few case studies (not of XEROX and P&G though!). Overall it looks like a very cost-effective e-commerce solution for mid-market online retailers. It perhaps can also be used by large organizations having web as one of the sales channel.

Wednesday 22 August 2007


For last few days, I was searching for a tool with GUI that can take an XML and XSL and transform that XML file into new XML file. And I got one! Kernow 1.5.1 provides this functionality plus lot more! And did I mention that it is an open source software. -:)

WSDL Viewer

While surfing, I came across this web page that provides a fantastic XSL that translates the WSDL to a format, which can be read and understood by a human user. I really liked this tool!

Thanks Tomi Vanek for providing such wonderful tool!

Get it at

Tuesday 21 August 2007

I have a dream

From the time when I heard it first, the historic speech by Dr. Martin Luther Kind Jr, has made a significant impact on me. I used to have an audio file of this speech but today I could watch its video recording on You can also watch it by clicking here. It's truly inspiring speech!

Monday 20 August 2007

Tradeoffs in web services design

While designing web services, we encounter many trade-offs. A good discussion of these trade-offs is provided in a report prepared by Web Services and Practices working group at National Information Standards Organization (NISO). This report, named Best Practices for Designing Web Services in the Library Context discusses following trade-offs:

  • Complexity levels vs. expandability
  • Amount of data returned levels vs. performance speed
  • Audience levels vs. service interface size
  • Performance levels vs. number of operations

The report also discusses different models involved in fully describing or documenting a web service interface and provides some useful best practices.

India Day Parade in New York City

Today I participated in India Day Parade in New York City as part of Asha for Education Group. Asha for Education is a non-profit organization, which works for providing education to underprivileged children in India. I had earlier participated in such Parade in year 2000. It was really a great experience to walk on the streets of New York city while chanting songs such as "Ham honge kamiyaab" and slogans such as "Vande Mataram" and "Bharatmata ki Jay".

The Asha volunteers who were walking with me were from NYC/NJ chapter of Asha. While I was just walking, many of them were distributing flyers about Asha and their upcoming fund raiser program called Notes of Hope (NOH) to people observing parade. NOH for this year will be a performance by Indian Ocean, the contemporary Indian music band. It is on Saturday Aug 25 at the Synod Hall in New York City. I am planning to attend, not only for the music but for supporting the cause!

Sunday 19 August 2007

Open source software for web services frameworks

For one of our customers, I recently investigated availability of open source software for web services frameworks. I was amazed to see that not only there are many options but also there is a good amount of competition among them to prove to be the best option. Obviously, I am evaluating them on the basis of our customer requirements. I have short-listed following five options, which you may also consider if you need to evaluate and select an open source software for web services framework.

1. Apache Axis2: Currently available in its version 1.3, Apache Axis2 is complete rewrite of Apache Axis.

2. Apache CXF: A merger of XFire and IONA-backed Ciltrix, CXF has released its version 2.0 recently. This project is currently in incubation at Apache.

3. JBossWS: It is part of JBoss Application Server.

4. Metro: As part of GlassFish project, Metro is actually a reference implementation for JAX-WS. It was earlier known as JWSDP.

5. Spring Web Services: Developed by Spring community, Spring-WS is made for developing web services by using contract-first principle. As I am fan of this development principle, exploration of this software is very much on my agenda now. It has just released its version 1.0.

A good comparison among first four options and few more is available at

BPMN Tutorial

A very good tutorial on BPMN is now available on BPMN site at It is in the form of 78 presentations slides.

The tutorial begins with a quick background and then describes various diagram elements. And guess what? It gives a set of questions as an exercise! Following this exercise, it covers some more conceptsand concludes with other exercise.

In all, it provides a good introductory capsule on BPMN. It can also be used to deliver an hour-long session to business process analysts.