Sharing ideas with the world

Sunday, August 14, 2005

Service Oriented Architecture

12:33 PM Posted by Deepak Nayal No comments
Application development has come a long way from developing inter-dependent components that serve the cause of a single application to building several independent modules, extending interfaces that can be called by any client, which communicate using asynchronous messaging protocols. Service oriented architecture constitutes of latter components.

Service oriented architecture or SOA essentially consists of various services that communicate with each other, usually in asynchronous fashion. These services are not bound to any particular language or technology and can be implemented by various means. They either communicate using exposed interfaces or some messaging model.

Some of the earliest acquaintances with SOA were using technologies like DCOM and CORBA. DCOM or Distributed Component Object Model was designed for use across multiple network transports. It is based on RPC or Remote Procedure Call and primarily works on Microsoft Windows. CORBA or Common Object Request Broker Architecture was developed keeping inter-operability in mind. A CORBA-based program from any vendor, on almost any computer, operating system, programming language and network can interoperate with another CORBA-based program from any vendor on any computer, operating system, programming language and network.

These technologies, however, haven’t been very popular with vendors for SOA-based applications because of their complexities and inefficient platform support. This is where Web Services comes into picture.

Web Services is an industry standard interface and connectivity technology. WSDL or Web Services Description Language, the interface description language used by Web Services, is self-describing and SOAP or Simple Object Access Protocol, its messaging protocol, is based on XML data interchange. It has fulfilled the long-awaited wish of enterprise application developers by truly separating the interface from the implementation and, because of its widespread adoption over the years, has become synonymous with service-oriented architecture. Its simplicity, openness and wide-spread use has changed the landscape of Enterprise Application Integration giving traditional EAI companies a run for their money.

Many companies all over the world are phasing their existing applications to service oriented architecture to make their business applications accessible to the clients and business partners, and to improve information sharing.

SOA has changed the way enterprise applications are built, with the lines between application development and application integration gradually fading.

Monday, August 01, 2005

Microsoft: Will we witness the rise of the phoenix?

5:20 AM Posted by Deepak Nayal No comments
It seems that the best times of Microsoft have gone by. The software behemoth is no more what it used to be as Microsoft has been unable to parallel the success of its flagship operating system and office suite.

Microsoft in its past has been one of the fastest growing and most promising companies in the world and ameliorating its investors fortunes. The huge success of the company can be unarguably attributed to its dominant desktop operating system, Windows and Microsoft has, undoubtedly, done a great job piggybacking the success of Windows and selling the rest of its products.

Microsoft has reported a fair amount of success in the gaming and palm top and mobile phones arena with XBox and Windows CE respectively.

However, things have changed in the recent times and success isn’t coming easy for the rest of the company’s products. Microsoft’s problems are quite evident in the server space. Its integration server, Biztalk, has not been able to perform well in the market as compared to other integration giants as IBM and TIBCO. SQL Server, Microsoft’s database product, has not been able to topple off Oracle and DB2 from their places. Companies generally do not go for Microsoft Windows servers when it comes to running robust and critical applications due to several security loopholes in it. The latest ventures of the company have not been able to take off well. Microsoft search has failed miserably in the fight against Google and Yahoo in the search space. MSN has not been able to live up to the expectations and Microsoft has been unable to make big business out of it. . NET, Microsoft’s answer to JAVA has also not been able eat into its opponent’s monopoly in the server application space.

Microsoft’s policies seem to be anti-Java and anti-Linux, which are the flag bearers of the open source mania and it is this position of Microsoft which seems to have alienated it from the rest of the software clan.

Another issue that seems to have plagued Microsoft for some time now is the never-ending list of court cases. The software giant has given billions of dollars in settlement with various companies and governments.

Even after all these troubles Microsoft remains the king of the software industry, thanks to the lead it took in its better times and its flagship OS and office suite. The company is sitting on a huge cash deposit which it may use to buy other companies or distribute amongst its investors.

Microsoft has always been on the edge of innovation creating products that make peoples lives much simpler. It has been trying to put its software in other hardware devices just as it did with Windows CE and mobile phones. The company has been investing in integrating household appliances using wireless technology.

Microsoft has been investing billions of dollars in research and development of new technologies and if only it can embrace open systems like Java and Linux the company will definitely revive its success. Even though it has not able to show a good amount of growth in recent times, it sure has all the weapons in its arsenal to keep it on the top for a long time. But the question still remains, will we ever be able to witness the same old Microsoft that changed the fortunes of thousands of people and brought the PCs to every household.

Monday, July 18, 2005

EAI: Market Scenario

5:49 AM Posted by Deepak Nayal No comments
EAI is one of the topmost spending categories of companies today. Companies throughout the world are spending thousands of dollars in EAI tools. Software vendors have noticed the growth potential in this market and have jumped into this field with their respective tools.

Enterprise applications are involved in integrating disparate systems across departments or across companies. Enterprise applications can be used to automate the business processes for a company or to integrate one company’s business applications with its client’s existing applications. EAI tools typically include five technologies:
  1. Business Process Management
  2. Message-Oriented Middleware
  3. Data Transformation
  4. Message Routing
  5. Application Adapters
EAI market is shared by a lot of companies; some of them are heavy weights like IBM and Microsoft; some are leaders of application server market like BEA and Oracle; some have been in this field for quite some time like TIBCO and SeeBeyond and Vitria.

IBM and Microsoft are considered heavy weights of the integration market. Some of the major reasons, of this considerable might of theirs, are their excellent marketing capabilities and well established customer base. One of their base strategies is to bundle up their integration software with the rest of the suite that they provide to the customer. IBM with its prime position in mainframes and products like MQSeries (renamed WebSphere MQ) integrator has a big lead over the others.

TIBCO, SeeBeyond and Vitria have been in this field for quite a long time. SeeBeyond, having been taken over by Sun Microsystems recently, seems to have a bright future. It is quite possible that Sun Microsystems pushes some of SeeBeyond’s prominent features into JSR-208, JAVA business integration specification. TIBCO is one the leaders of the integration market. Its EAI tools like Business Connect and BusinessWorks are quite a hit in the market. Vitria, however, seems to have left behind in this race.

BEA and Oracle are strongest challengers in the EAI scenario. Their strong competitiveness does not only come from the excellent product features but also from their first-rate products already floating in the enterprise software market along with their aggressive marketing strategies.

The advent of web services has changed the scenario of the integration market to a lot of extent with vendors like BEA and webMethods adopting this technology and getting ahead of the competition, and others, which have decided not to go the open standards way, losing in the race. Software vendors, which are pushing their non-standards based EAI tools, will soon be out of this race giving way to their competitors, which give additional product features besides providing the standards implementation.

Buyers focus on the following before implementing any vendor’s integration tool:

  • Product features
  • TCO of the product
  • Support for emerging standards like webservices
  • Support for service-oriented architecture
  • Possibility of the vendor getting acquired
  • Possibility of the vendor going bankrupt
  • Possibility of the vendor exiting the market

Taking these parameters into consideration, I believe IBM will continue to rule the roost in the integration market. Microsoft on the other hand has a major disadvantage, as companies prefer products that can run on various platforms and support open systems. BEA seems to have a bright future in the integration market. They are selling their WLI as a part of a platform suite with portal and integration tools keeping weblogic server, market leader in the J2EE server market, as the base. webMethods has packed their product with excellent features and has brilliantly used the webservices tide to get ahead of the competition. TIBCO’s strategy of keeping their product an enigma may hurt their market share in the integration sector even though currently they are considered as one of the market leaders of this sector. TIBCO does not provide any documentation for its product online; as a matter of fact you may not even find a TIBCO book in bookstores. You do not get the documentation until you install the product. Such strategies may kill a brilliant product like TIBCO.

There are many EAI tools in the market and one can write a complete book discussing them all.

EAI will continue to grow till businesses continue to grow. However, it is quite possible that the market is left with just 3-4 dominant vendor companies.

Tuesday, July 12, 2005

Is Firefox really a threat to Internet Explorer?

11:42 AM Posted by Deepak Nayal No comments
Firefox is said to be the biggest threat to Microsoft’s Internet Explorer in years. It really has been packed with some cool features like tabbed browsing, popup blocking and smarter search, to name a few. Firefox is one of the most downloaded software in the world with millions of copies being downloaded since its introduction. A whole bunch of developers have joined in its cause and put in a lot of time enhancing its features.

Even after all this achievement and effort, Firefox still lags way behind Internet Explorer not just in market share but technically too. Microsoft’s domination in desktop computers enables IE partake this advantage. IE has got a huge amount of plug-ins, and support a wide variety of formats. There are thousands of websites that are rendered much better on IE than on Firefox. IE is highly integrated with Microsoft Office that again gives it a great edge.

Firefox cannot take IE head on unless it receives a huge amount of support from big banners like IBM, HP or Sun. It will not be able to topple IE unless big brands adopt Firefox; this is how open source success stories like Apache and Linux were written.

Friday, July 08, 2005

Enterprise Messaging - Proprietary Vs Open Systems

7:15 AM Posted by Deepak Nayal No comments

Enterprise applications have now become the lifelines of any organizations. Business processes of most of the organizations have been automated. These enterprise applications have helped companies serve their customers better and much faster. Messaging is an important aspect of any enterprise application. It is the robustness and speed of the underlying messaging system that, to a huge extent, influences one’s decision to opt for an enterprise application.

There is a huge gamut of messaging protocols available for different enterprise apps. Different systems support different messaging protocols. We have JMS for Java, Rendezvous for Tibco, IBM has WebSphere MQ and Microsoft has MSMQ besides others. We also have open standards in messaging like SOAP. Although we can discern these messaging systems on many parameters we will be differentiating them as open systems and proprietary solutions in this article.

Enterprise messaging has been in use since the initial enterprise-level systems. In those days things were not as organized as they are today. Each company that provided enterprise solutions had its own messaging system. But still, the purpose was solved and that is what everybody was concerned with. The need to interact with other systems was not faced until later. Along with time, as companies grew so did the need to have different applications installed in different departments and interaction between them started to become arduous let alone the need to communicate with different systems in different companies altogether. IBM had its own messaging protocol, so did TIBCO, Microsoft and a lot of other companies. To overcome this conundrum some initiatives were taken of which some were really successful. EDI is one such protocol that helped solve this problem to a big extent. It helped businesses define common message formats with their clients and other business partners.

Enterprise JAVA, one of the three flavors of JAVA, came with a messaging system called JMS (Java Messaging Service). JAVA is not controlled by just one company; instead a lot of companies have come together to form a group JCP (JAVA Community Process). It is this community that decides on latest features to be added to JAVA. Following this process is what makes JAVA an open system and JMS being a part of enterprise JAVA inherits this feature. A lot of enterprise applications and application servers support or run on JMS.

Another messaging protocol that has recently come up and captured the attention of the software community is SOAP. SOAP is based on XML, which itself is an open system. It is this openness and extensibility of SOAP that has made it a popular choice for messaging in enterprise applications.

Proprietary systems have been there since the beginning which is why through regular improvements over time they have become much more reliable and robust. Some years back open messaging systems were not given that much preference and companies tended to go with proprietary solutions for requirements where reliability and performance cannot be compromised. Over time things have changed; software development companies have adopted open messaging systems and developed their products around them. JMS, for example, has been adopted by a lot of companies and a lot many products have been floated in the market which cater to industries like banking and telecom that require reliable communication. SOAP has got a similar success story.

One upside that the proprietary systems have is the proven track record. As they have been in the picture since the earlier times they have much more credibility than the open systems, which came a lot later. Open systems now have caught up due to mass adoption by well-established companies. As a matter of fact going with open systems has its own advantages. One of the biggest pros of going with an open messaging system is that interactivity between different applications becomes much easier. Extending the application and integrating with client’s system requires less effort than it does with the proprietary systems. Also, one does not get locked down with just one company and bear the brunt of its aggressive licensing and support schemes. Another benefit of the open systems is that its professionals are much easily available; usually this is not the case with proprietary systems.

Open systems are a much better choice for enterprise messaging provided they are backed by robust applications. They serve business expansions much better than their counterparts. Generally, proprietary systems have been used in mission critical systems and real time applications, and they do have their upsides. It is an organization’s own discretion to either adopt open systems or the proprietary ones and they need to make the choice wisely taking future prospects into consideration along with current technical and business aspects of an enterprise application.

Wednesday, July 06, 2005