The following webpage outlines a sample pattern for building complex graphics intensive Rich Internet Application (‘RIA’) by assembling Replaceable Components: http://www.cbsdf.com/ps_blog/WhyRepCom.htm
Although, it is not required, I request readers to see the SVG component examples. Please download Adobe’s SVG Viewer to view the examples in IE6+.
Please notice this pattern’s emphasis on allowing frequent “Disassembling and Reassembling”
rather than just assembling the components just onetime (when building the product).
I feel, Replaceability is the main design objective and defining property of Ideal components for the physical products such as automobiles and computers. My feelings on true components are passionately explained in the following webpage:
I have contacted many well-known software researchers to disprove our above arguments by applying rational reasoning and/or finding flaw in our rational reasoning. (Awaiting responses).
Brief overview on the process for building such Replaceable Components (please notice the separation of manufacturing and their services) at:
Brief overviews on the process to loosely couple such Replaceable Components at: http://www.cbsdf.com/misc_docs/Raju-SoA.htm
As you could notice that the whole website is dedicated to explain (i) How one could create reusable GUI API for RIA, and (ii) How the application developers could use the reusable GUI-API for building replaceable components and assemble them for building RIA.
Although, we hope vendors such as Pioneer-soft or others may provide GUI-API for generic GUI components such as Charts and Maps, they are not required, since most RIA applications need custom GUI classes, such as an Airplane for Air Traffic control system application (e.g.: http://cbsdf.com/technologies/demo-links/Atc3Cityes/air-trf-cont.html
Application developers could build such custom GUI Classes on their own or subcontract to an expert web designer of developer (who has expertise in presentation programming languages such as ActionScript or XAML).
Also the emerging platforms such as MXMl/Flash and XAML/Silverlight already supporting basic GUI components such as drop-down lists and radio/Check buttons etc., as built in tags. So there is no point in reinventing the wheel.
Hence the application developers only need to build reusable classes for the GUI components specific to their application domains (e.g. Fail-bit-map or Wafer map in case of applications for the semiconductor manufacturing domain).