components infrastructures
play

Components Infrastructures Manuel Oriol December 14th, 2005 - PowerPoint PPT Presentation

Components Infrastructures Manuel Oriol December 14th, 2005 Software Engineering Component? A component is a reusable unit of deployment and composition which is accessed through an interface.


  1. Components Infrastructures Manuel Oriol December 14th, 2005 Software Engineering

  2. Component? “A component is a reusable unit of deployment and composition which is accessed through an interface.” http://www.idt.mdh.se/cbse-book/overviews/1Part.htm “In object-oriented programming and distributed object technology, a component is a reusable program building block that can be combined with other components in the same or other computers in a distributed network to form an application.’’ http://searchvb.techtarget.com/sDefinition/0,,sid8_gci211826,00.html 2 Software Engineering

  3. Some Components Infrastructures  Classes  COM, DCOM  Corba  Java Beans, EJB  Agents (not in the sense of Eiffel agents…)  A bunch of custom infrastructures (e.g. LuckyJ) 3 Software Engineering

  4. Classes What we do here since the beginning of the semester. Are components because they answer to a clear interface, is reusable and is used as a building block. Argued by others: “they are not self contained” 4 Software Engineering

  5. Component Object Model, DCOM  Based on RPC  Spec in binary  Interface defined using the Microsoft IDL  By querying the interface: pointer to the interface  Containment: accepts calls and forward them to another object  Aggregation: expose the interface of an object as its own.  DCOM: Distributed COM 5 Software Engineering

  6. Common Object Request Broker Architecture (CORBA)  Encapsulate some binary components and provide the stubs  Based on RPC  Stubs defined by the OMG’s IDL  Method invocations are available and implemented on skeletons  Naturally distributed 6 Software Engineering

  7. JavaBeans  Visual components  Define properties  Event-Based Communication  Can use a Component Assembler Enterprise Java Beans:  Non-visual  Session Beans  Entity Beans  No plumbing issues (security, atomicity…) 7 Software Engineering

  8. Agents  Intelligent?  Resident  Autonomous  Analyze and report  On an agent platform  Mobile 8 Software Engineering

  9. Custom Component infrastructures (e.g. LuckyJ) Sample Presentation http://se.inf.ethz.ch/people/moriol/www/Research/ETAPS2003_USE 9 Software Engineering

  10. Challenge of Modeling the Components  Components are generally less numerous than classes so it is understandable  Explain interactions between components  Possibly, code the interactions between components  Prove things? 10 Software Engineering

  11. UML 2 http://www.agilemodeling.com/artifacts/componentDiagram.htm 11 Software Engineering

  12. Petri Nets http://www.jfsowa.com/figs/clock.gif http://www.fmi.uni-stuttgart.de/szs/research/resources/pom/net.gif 12 Software Engineering

  13. Ad Hoc solution: Reuse Frequency (Bay, 2005) Graph is static Links are fixed 13 Software Engineering

  14. Ad Hoc solution: LuckyJ (Oriol, 2005) 14 Software Engineering

  15. Problems with Graphical Representations http://www.fmi.uni-stuttgart.de/szs/tools/mckit/dekker1_ll_net.gif 15 Software Engineering

  16. Conclusions  A lot of components infrastructures  A lot of ways of modeling components How does this help us to build trust in the component- based application? 16 Software Engineering

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend