Component-based is a software intensive systems developed from reusable parts or components. Because these parts are reusable as long as they are developed and maintained it is easy to make improvements to a system by means of component replacement and customization. Now of course component-based development depends on the viability of an established science and technology foundation for achieving predictable quality in component-based systems. And from what Dr. Wan posted I am pretty sure SAP may use component based system as well. I think as long as there is predictability component-based software is the way to go.
A service-based software system is one that is a composition of a collection of interacting services. Each service provides mechanism to access its functionality via well-defined interfaces. Therefore we can say characteristics of SBA include loose coupling, emphasized stateless property, service definitions, and discovery mechanisms.
I do think that service based software systems are needed because they are very flexible which helps to meet the evolving business requirements. Basically Service-based software systems are used for systems offering functions that are services which may be interrelated or may mutually depend on each other.
Historically, service-based systems engineering has proven useful in the development of telecommunication systems, helping to modularize complex system functionality with high degree of interaction among system components.
And in present day we are increasingly, seeing the notion of service also enjoys popularity as a means for structuring other kinds of complex distributed systems. “Web services” are just one example of this increase in popularity; others occur in the context of spontaneous networks, ubiquitous computing, and safety-critical systems (such as in the automotive or avionics domain).
The only problem here is that the development of service-based software was not well designed for a security-critical systems. You see there will be services that can easily interact with each other in a variety of unknown ways which may cause consequences to the security properties.
Subscribe to:
Post Comments (Atom)
6 comments:
I kind of agree with what you have said that service-based systems are better because it will make things very hard if one chooses to only use component-based system which author has mentioned in his article as well. However, my question is and one of us may know about it if the cost factor. For example, one of the features of SAP is that it provides updated data, the reason a business would like to implement SAP in finance and accounting is so they know where their business is headed and whether or not their strategy is working or not and they can predict their future but then again SAP is very expensive and not just ANY business can afford it. so back to my question, is it feasible to use both component and service based systems for majority of the businesses?
I would eventually say "Yes" to your question, Syed. Having used them both benefits some complex large scalable system. Component architecture can be useful at departmental level for more flexibility. In addition, service architecture could be a choice for system extensibility and interoperability. However, what I concern about from using both architectures in the same large systems is that technical conflict may occur and maintenance would be intensive.
"However, what I concern about from using both architectures in the same large systems is that technical conflict may occur and maintenance would be intensive. "
Right vinh, and that's when you have to decide if those benefits outweighs your maint. and other aspects.
I agree that one must use good judgment to determine whether services are appropriate in each case. The additional effort and overhead in abstracting a highly specialized internal operation may not make sense, especially if the associated processes seldom change. From my experience with objects and (application level) components, developers are notoriously bad at predicting how they will be reused, often expending significant effort generalizing interfaces that are never used. I suspect that the same problems can occur in developing service interfaces.
You did an excellent job on describing the two architectures. I probably should have read yours before I posted mine.
Thanks!
Well, talking about component based architecture and development, I have a few comments to make on this topic. Its very interesting to know more about this component architecture. But when I researched more about this topic, this is what I felt about the component based architecture -
Complexity of systems and products continuously increase, and functionality originally designed and marketed as separate products, is being integrated. For example a camera in a mobile phone, GSP tracking in car navigation systems, medical monitoring in watch integrated with cellular communication, and much more. What originally was designed as a product becomes a component within other products. Components may be split or merged into other components. And what originally was marketing by company A may becomes an integral part of a product line for company B.
Even though component based development may be a nightmare - if not done properly, the need for componentization and flexibility with components is growing. It seems unavoidable that some day we have to face the problems of component based development anyway, whether we want or not. And this day will probably be sooner than we may expect.
Trying to integrate different products and components, that were designed with different architectures, is a challenge by itself. If there is time to do it properly, we may come with a proper solution, a new architecture. But there is never enough time to do it properly, so we need a way to at least control it in a proper way. It may even become worse when the need for integrating existing products and components exceed the need for new functionality. That may lead to a completely different approach to systems design and may redefine the term "reengineering".
Post a Comment