1 / 11

Component-based Software Engineering

Component-based Software Engineering. Component Model Comparison. Marcello Bonsangue LIACS – Leiden University Fall 2005. Commercial Component Models. Open standard CORBA Microsoft COM/DCOM .Net SUN JavaBeans Enterprise JavaBeans Philips,Nokia et al. RoboCop.

Download Presentation

Component-based Software Engineering

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. Component-based Software Engineering Component Model Comparison Marcello Bonsangue LIACS – Leiden University Fall 2005

  2. Commercial Component Models • Open standard • CORBA • Microsoft • COM/DCOM • .Net • SUN • JavaBeans • Enterprise JavaBeans • Philips,Nokia et al. • RoboCop Seminarium CBSE

  3. Comparison criteria (I) • Components • Abstract components (Interfaces) • Concrete components (Implementations) • Basic communication • Composition of components • Adaptation (external and internal) • Reusability / Predefined services Seminarium CBSE

  4. Abstract components • Corba • Interfaces generated from IDL • Multiple inheritance • DCOM • Interfaces generated from MIDL • Interfaces as first class objects • Multiple inheritance • Globally unique interfaces • JavaBeans/EJB • Defined by EJB designer • Multiple inheritance • .Net • Interfaces generated from concrete components • Multiple inheritance Seminarium CBSE

  5. Concrete components • Corba classes (objects) • With reflection / transaction / persistency concept • Language + platform transparency • Inheritance of the implementation language • (D)COM objects and Interfaces • With reflection / transaction / persistency concept • Language transparency • Inheritance of the implementation language • JavaBeans, EJB • With reflection / transaction / persistency concept • Java but JNI • Platform transparency • Single inheritance of Java • Different roles in EJB (stateless, session, entity, message-driven) • .Net • With reflection / transaction / persistency concept • Language (but CLS) + platform transparency • Inheritance of the implementation language Seminarium CBSE

  6. Basic communication • Corba • Object request broker – ORB • Remote procedure call (RPC) • GIOP/IIOP (General/Internet Inter ORB Protocol) • DCOM • Object oriented (RPC) • GUID (Globally Unique IDs) • JavaBeans • Asynchronous, Event based • EJB • EJB container and (web) server • Synchronous Remote Method Invocation (RMI) • Support for lease-based communication • Migration of Java code • .Net • Synchronous Remote Method Invocation (RMI) • Support for lease-based communication Seminarium CBSE

  7. Category 1 (JavaBeans,.Net) Category 2 (EJB, COM, CORBA) Category 3 (Koala, RoboCop) Category 4 (ADL, UML 2.0) Composition of components Seminarium CBSE

  8. Composition of components • Corba • Call via ORB • Aggregation with pattern façade (also dynamic) • DCOM • Call via (D)COM library • Delegation in components using wrappers • Aggregation of classes with pattern façade (only static) • Aggregation of interfaces • EJB • Call via container • Java language concepts for delegation • .Net • Call via CLR • Delegation Seminarium CBSE

  9. Adaptation • Aspect separation (all) • Separation of interfaces and implementation • Multiple interfaces per implementation • Separation of persistency, transaction, distribution, … • External adaptation • Bridges between the worlds • EJB – Corba • Java – DCOM • Corba – DCOM Seminarium CBSE

  10. Internal adaptation • Generation of glue code from interface descriptions • Corba • Stub-Skeleton generated from IDL • DCOM • Proxies and Interfaces generated from MIDL • EJB • Proxies generated from bean interfaces • Reflection to adapt dynamically • Corba, • DCOM • EJB • .Net Seminarium CBSE

  11. Reusability / Services • Corba: standardized • general services (Facilities and Services) • domain specific services (Vertical Facilities) • DCOM • quasi standardized general services • Non-standard domain specific services • Microsoft applications • EJB • quasi standardized general services • quasi standardized domain specific services • AWT and Swing (JavaBeans) • Other Java libraries Seminarium CBSE

More Related