1 / 30

Modular Software/ Component Software

Modular Software/ Component Software. Modular Software. Code developed in modules. Modules can then be linked together to produce finished product/program. Can be inserted into conventional programming languages. Modular Software - Advantages. Faster development More efficient process

osma
Download Presentation

Modular Software/ Component Software

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. Modular Software/Component Software

  2. Modular Software • Code developed in modules. • Modules can then be linked together to produce finished product/program. • Can be inserted into conventional programming languages.

  3. Modular Software - Advantages • Faster development • More efficient process • Increased functionality • Lower cost development • Autonomous development • Upgrading software and maintenance are more straightforward

  4. Modular Software - Disadvantages • Need to develop clearly defined interfaces. • Have to develop modules. • Modules may be less efficient that specific code.

  5. Modular Software • Issues • Identification of Modules • Design of Modules • Design with Modules • Example PC design • Modular components • Well defined interfaces

  6. Modular Software - Interfaces • Interfaces need to be strictly defined • Can use • Conventional record • File (Type Library .TLB for ActiveX, BeanInfo classes for JavaBeans) • Naming Conventions (JavaBeans)

  7. JavaBeans • Modular Java components. • Still being developed. • Must be written in Java (although bridging mechanisms are possible).

  8. Introduction to ActiveX

  9. ActiveX • Formerly known as OLE controls or OCX controls. • Components that you can insert into a Web page or other application. • The use of ActiveX components enables you to reuse code developed by another in a packaged form.

  10. ActiveX • ActiveX controls are included with MS IE 3.0 and higher. • Also developed by third parties • Has been subject to much controversy (see readings). • Security • Proprietary nature • Can be very powerful

  11. COM (Component Object Model) • ActiveX is based on this. • COM consists of: object bus and object services. Object storage Automation & Scripting COM Object Bus Licensing/ Registration ……..

  12. COM • COM has two elements: • Object Bus which used for communication • Object services such as object storage, automation and scripting. • COM aims to allow different objects to communicate with each other (even if written in different languages). • Example of modular approach. • COM object defined in terms of interface.

  13. COM Objects and Interfaces Interface A Interface B Interface C Real object written in a programming language COM Object COM Interface

  14. COM Objects and Interfaces • COM model is limited to objects within a single computer.The interaction between objects across a network is handled by DCOM (Distributed Component Object Model). • The binding to the interface of a COM object is a lower-level binary API that uses a table of pointers.

  15. COM Objects and Interfaces • In the COM model, the convention is to give interfaces names beginning with a capital “I” such as IUNknown interface that is used to query COM objects. • COM class is identified by a unique 128 bit identifier called the Class Identifier (CLSID)

  16. COM server • COM object that responds to a request from another COM object is called a COM server. • Usually in an .EXE or .DLL file • COM server can create an instance of a class (on request) • Does this using special factory class interfaces • IClassFactory, IClassFactory2 (includes licensing functions)

  17. COM Server • Three types: • In-process servers. Single process. • Local servers. Separate process on same computer. • Remote servers. Separate process on different computers.

  18. Encapsulating Objects in COM • In COM components can encapsulate each other and control the set of interfaces that are visible to the client.

  19. Using ActiveX Controls • Microsoft’s ActiveX Controls • How ActiveX Controls are made secure • What ActiveX Controls can do in a Web page

  20. What are ActiveX Controls? • Reusable components • Integrate with Windows products • Allows developers to integrate their products into the Web via Internet Explorer

  21. What ActiveX Controls Mean for End Users • Embedded • Full-screen • Hidden

  22. ActiveX and Developers • Can create add-on products that add to MSIE and to other Windows products (note the proprietary nature). • Can use ActiveX components in: • HTML • MS Office, Visio and other products • Visual C++, J++ • Can wrap code around ActiveX components.

  23. ActiveX Control Security • ActiveX Controls are unlike Java applets (see later in course), which run in an environment designed to ensure the safety of the client and can usually cause trouble only by exploiting bugs or flaws in the Java run-time security systems. • ActiveX can do anything on the client computer!

  24. ActiveX Control Security • To address this concern, IE > 3.0 Web Browser supports Authenticate code-signing technology • When ActiveX Controls are downloaded and the digital signature is recognized, a code signature certificate is displayed on the screen. The user now can choose if they want to install the component.

  25. HTML Implementation of ActiveX Controls The <object> Tag ID CLASSID CODEBASE The <param> tag Example

  26. Example ActiveX in HTML <OBJECT ID="Label1" WIDTH=292 HEIGHT=57 CLASSID="CLSID:978C9E23-D4B0-11CE-BF2D-00AA003F40D0"> <PARAM NAME="BackColor" VALUE="2147483670"> </OBJECT>

  27. Exploring ActiveX Controls Animated Button Control Chart Control Gradient Control Label Control Marquee Control Menu Control Popup menu Control ….

  28. Control Pad • Allows for easy insertion of ActiveX components on HTML pages. • Also has script wizard to help write Java or VB script. • Demo ?

More Related