Why RCP?Why the Rich Client Platform?The very core of the Eclipse platform is RCP - the Rich Client Platform. RCP provides a set of basic functionality that is used or needed in many client applications:
Further the applications developed on top of RCP is completely portable and will run equally well on Windows, Mac or Linux. There are two main uses of RCP:
Many different companies develop new products based on RCP or port existing products to the platform. Many of these products have nothing to do with the Eclipse platform, but is only based on the same basic structure. Major well-known examples are Nokia, Oracle and Borland - for a partial list, see eclipse.org. RCP represents the last step in the client technology. During the last 20-30 years the client technology has moved from centralized server applications based on IBM terminals over native fat client applications and web technology to the rich client platform today. The following lists the most important properties of these client platforms. The IBM terminal clientThe IBM 3270 terminal based client was the predominant client platform of the mid 1970s. The real application was running on the mainframe system and was often based on transaction systems such as CICS. The primary problem with this setup was the time it took to make changes to the system as there very often was a very tight connection between the database schema and the client application. The traditional fat clientAs a consequence of the long turn-around time for changes to the IBM terminal client application, the applications were moved to the new PC platform. This type of client is developed using the host development environment - today normally the Win32 API - and is usually tied up to the specific host platform. With other words, it is rather hard to port the client to a new host environment - e.g. Mac or Linux - but also to a new generation of the host platform - e.g. Microsoft Vista. Another property of the fat client is the amount of logic and functionality that is part of the client rather than the server. The development of the client was often moved to the individual departments, which resulted in a fatal lack of configuration management. Lastly, the normal fat client is rather hard to update on the client machines as it is most often a native client application with a native installation process. The traditional web clientWith the advent of the modern web browser (especially Microsoft Internet Explorer 4.0), this provided a new platform for enterprise applications. The web client is developed using normal J2EE based web tools - e.g. JSP, String and Struts - using tools such as the advanced development platforms based on Eclipse. These clients generally suffer from the limitations of HTML and do not provide a rich interface similar to the local application. The AJAX based web clientIn order to get a richer interface for the user, the AJAX (Asynchronous JavaScript and XML) technology can be used to get a more responsive user experience. Examples of real life AJAX applications are google maps and gmail. Today there are only few development tools available to help develop this type of client and the interface is still not as rich as seen for the native applications. The RCP based clientThe RCP based client is a local application like the traditional fat client, though it does not suffer from the same problems. Especially it is cross-platform - i.e. it runs equally well on Windows, Mac and Linux platforms - and it includes an integrated industrial strength update manager, which means a centralized secure update of the application can be performed. |
Why Eclipse?This is why Eclipse is greatWhy RCP?The Rich Client Platform Rocks! |