Home Page - 2002-06-16
Post date: Nov 29, 2008 3:37:52 AM
Defining an Information system in terms of services has become quite popular for some time now. Be it EJB, CORBA services or off-late Web Services, the fundamental idea behind them all is to split the requirements of a system as services, having well-defined responsibilities. It is important to differentiate between the technology and the underling architecture, as in this article we will be concentrating more on the architecture, business and Software Engineering angle rather than the core technology and the implementation aspect. We will also be going through some of the generic guiding principles in engineering service architectures.
...We would also require a stubborn and confident manager here who puts preferred service architecture into action. Any kind of slackness in making a service generic would make the organizational information system chaotic and inconsistent in the long run. The role of the approval system will be to review the service request in pure OO terms and keeping in mind the defined guiding principles of the organization, irrespective of the technology used.
Then in C++ there was a shower of jargons: Class, Object, Virtual, Abstract, Overloading, Friend, Inheritance, Encapsulation, Polymorphism, Template, etc. Each jargons have individual meaning and functionality, but everything looked like a nightmare to me! I used C++ more as a procedural language than as object oriented. I did many graphics programs which were more interesting; and few samples for each jargon, without knowing the real use of it.
...Interface at the first sight looked as strict Abstract class without any implementation. But this was supposed to be a replacement for multiple inheritances. When I dug out the real use of Interface it was amazing. The key feature of Interface is it can be implemented by many classes (i.e. unlike abstract classes this can be implemented by non-hierarchical classes), and one class can implement many interfaces...