1 / 11

Modeling COM/COM+ components with UML

Modeling COM/COM+ components with UML. Eran Gery I-Logix. Key Characteristics. Uniform programming model supported by encapsulated mechanism No need to model external/internal/remote/local views: all encapsulated by COM mechanism Logical vs. Deployment components

sylvia
Download Presentation

Modeling COM/COM+ components with UML

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. Modeling COM/COM+ components with UML Eran Gery I-Logix

  2. Key Characteristics • Uniform programming model supported by encapsulated mechanism • No need to model external/internal/remote/local views: all encapsulated by COM mechanism • Logical vs. Deployment components • Logical: COM(+) objects: essentially classes that realize interfaces • Physical: Binary level components: DLL, EXE, ActiveX, Type Libraries • COM attributes (tags): A set of attributes attached to COM elements that specify certain semantics facilitated by COM mechanisms. • The COM mechanism supports extension by aggregation (composition)

  3. Logical view • COM classes, interfaces and class features are stereotyped to capture COM semantics. • COM attributes are realized as tags attached to those stereotypes.

  4. Logical View: Rationale • Logical COM components correspond to UML classes. They are not physical but rather describe common set of behaviors and relations. • Logical specification is realized differently across different languages and SDKs (ATL, MFC, C++, VB, Java) • Assumption: Implementation (language) level is not explicitly modeled • Automated by code generators and wizards

  5. Logical View: Example

  6. Component Aggregation • COM technique for component extension at binary level (language independent) • Interfaces of aggregatee are part of aggregate component (merged identities) • Modeled via UML association stereotype <<COMAggregation>> providing these semantics COM Notation (UML ??) Icustomer Ipersistence <<COMClass>> Customer <<COMClass>> Person Iperson

  7. Aggregation: Example <<COMinterface>> <<COMinterface>> ICustomer IPersistence <<COMInterface>> IPerson <<COMClass>> Customer <<COMClass>> <<COMAggregation>> Person 1 1

  8. COM+ Services • COM+ provides a set of component based services supported by the OS (W2000) • Transaction • Security • Queuing • Event service (publish/subscribe) • Cashing • Load balancing • Most services are specified via COM attributes on components • Some require standard interfaces • Mostly transparent to component modeling

  9. Physical View • Models how logical components are packaged in binary physical modules for deployment • Various types of physical components (COM+) • ComponentDLL: container of COMClasses • Application: a cluster of componentDLLs • Logical components (COMClasses) are allocated to physical ones via the residency relationship • The relationship between a client component and a server component is modeled by the usage dependency stereotyped <<COMUsage>> • Interfaces of physical components are implied by the residency relationship. No need to explicitly specify them

  10. Physical view - Stereotypes

  11. Physical View: Example <<COMDll>> Small Business <<COMUsage>> <<Executable>> GUIClient

More Related