1 / 11

Comparison Component Models

Agenda. Topic: Comparison of component models (COM, EJB and .NET). Which component model serves you best?. Depending on your wishes / requirements you can choose the component model that serves you best. In this presentation I will discuss some criteria which can influence your choice. For exampl

jodie
Download Presentation

Comparison Component Models

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Comparison Component Models Johan Muskens Technische Universiteit Eindhoven

    2. Agenda

    3. Which component model serves you best? We have seen some component models. You can’t say which one is best, but some models are more suitable for certain problems than others. Depending on your wishes and requirements you can choose the component which suites you best. I will now discuss some requirements / attributes of software that needs to be developed that can influence your choice. For example these attributes can be: Performance Language independence Platform independence Reuse Type of applicationWe have seen some component models. You can’t say which one is best, but some models are more suitable for certain problems than others. Depending on your wishes and requirements you can choose the component which suites you best. I will now discuss some requirements / attributes of software that needs to be developed that can influence your choice. For example these attributes can be: Performance Language independence Platform independence Reuse Type of application

    4. Performance Performance and resource use can be of concern when developing software. Especially on platforms with low resource capacities like embedded systems. Using an intermediate language like in .NET and EJB has a negative influence on the performance. There is the need for an interpreter or a Just in Time compiler. COM doesn’t use an intermediate language and has almost no overhead. Therefore when performance is a major issue COM is the best choice. In practice we see that COM is often used in embedded systems. EJB has the disadvantage of using an intermediate language (java byte code) which requires an interpreter and there is a lot of communication overhead. Therefore when performance is of concern EJB is definitely not the first choice.Performance and resource use can be of concern when developing software. Especially on platforms with low resource capacities like embedded systems. Using an intermediate language like in .NET and EJB has a negative influence on the performance. There is the need for an interpreter or a Just in Time compiler. COM doesn’t use an intermediate language and has almost no overhead. Therefore when performance is a major issue COM is the best choice. In practice we see that COM is often used in embedded systems. EJB has the disadvantage of using an intermediate language (java byte code) which requires an interpreter and there is a lot of communication overhead. Therefore when performance is of concern EJB is definitely not the first choice.

    5. Language independence COM and .NET both support different languages. COM has an idl to define interfaces language independently. The idl compiler will generate the structures and functions which need to be implemented by the implementer. .NET has the common language definition and the common type system the languages that obey the rules should be able to cooperate. It is hard to say which of the two is the best solution. Probably just a question of taste. EJB is language dependant. It depends on Java.COM and .NET both support different languages. COM has an idl to define interfaces language independently. The idl compiler will generate the structures and functions which need to be implemented by the implementer. .NET has the common language definition and the common type system the languages that obey the rules should be able to cooperate. It is hard to say which of the two is the best solution. Probably just a question of taste. EJB is language dependant. It depends on Java.

    6. OS independence For COM sometimes is claimed that it is platform independent however the binaries compiled on one platform can’t be easily transferred to a different platform. Further more on different platforms different vtable layouts are used. You can use COM on Windows as well as Unix. However components cannot be exchanged. EJB is platform independent due to the fact that Java is platform independent. .NET mainly works on Windows. In my opinion there is no fundamental reason why .NET couldn’t be just as platform independent as Java after all it also uses an intermediate language.For COM sometimes is claimed that it is platform independent however the binaries compiled on one platform can’t be easily transferred to a different platform. Further more on different platforms different vtable layouts are used. You can use COM on Windows as well as Unix. However components cannot be exchanged. EJB is platform independent due to the fact that Java is platform independent. .NET mainly works on Windows. In my opinion there is no fundamental reason why .NET couldn’t be just as platform independent as Java after all it also uses an intermediate language.

    7. Reusing existing components

    8. Type of application Some component models are better suited for certain application types. See the list. Embedded systems – Com (due to performance issues) Transaction systems – EJB (that what it was designed for) Web application - .NET (.NET web services) Database application – EJB .NET Graphical application - .NET (due to the availability of components (class library))Some component models are better suited for certain application types. See the list. Embedded systems – Com (due to performance issues) Transaction systems – EJB (that what it was designed for) Web application - .NET (.NET web services) Database application – EJB .NET Graphical application - .NET (due to the availability of components (class library))

    9. Conclusions 1/3

    10. Conclusions 2/3

    11. Conclusions 3/3

More Related