Top Banner
1 Modular Software/ Component Software
30

1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

Dec 26, 2015

Download

Documents

Oscar Park
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

1

Modular Software/Component Software

Page 2: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

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.

Page 3: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

3

Modular Software - Advantages

Faster development More efficient process Increased functionality Lower cost development Autonomous development Upgrading software and maintenance are

more straightforward

Page 4: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

4

Modular Software - Disadvantages

Need to develop clearly defined interfaces. Have to develop modules. Modules may be less efficient that specific

code.

Page 5: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

5

Modular Software

Issues Identification of Modules Design of Modules Design with Modules

Example PC design Modular components Well defined interfaces

Page 6: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

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)

Page 7: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

7

JavaBeans

Modular Java components. Still being developed. Must be written in Java (although bridging

mechanisms are possible).

Page 8: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

8

Introduction to ActiveX

Page 9: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

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.

Page 10: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

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

Page 11: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

11

COM (Component Object Model) ActiveX is based on this. COM consists of: object bus and object

services.

COM Object Bus

Object storage

Automation & Scripting

Licensing/Registration

……..

Page 12: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

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.

Page 13: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

13

COM Objects and Interfaces

Real object written in a programming

language

Interface A

Interface B

Interface C

COM Interface

COM Object

Page 14: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

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.

Page 15: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

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)

Page 16: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

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)

Page 17: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

17

COM Server

Three types: In-process servers. Single process. Local servers. Separate process on same

computer. Remote servers. Separate process on different

computers.

Page 18: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

18

Encapsulating Objects in COM In COM components can encapsulate

each other and control the set of interfaces that are visible to the client.

Page 19: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

19

Using ActiveX Controls

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

Page 20: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

20

What are ActiveX Controls?

Reusable components Integrate with Windows products Allows developers to integrate their products

into the Web via Internet Explorer

Page 21: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

21

What ActiveX Controls Mean for End Users

Embedded Full-screen Hidden

Page 22: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

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.

Page 23: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

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!

Page 24: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

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.

Page 25: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

25

Page 26: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

26

HTML Implementation of ActiveX Controls

The <object> Tag ID CLASSID CODEBASE

The <param> tag Example

Page 27: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

27

Example ActiveX in HTML

<OBJECT ID="Label1" WIDTH=292 HEIGHT=57

CLASSID="CLSID:978C9E23-D4B0-11CE-BF2D-00AA003F40D0">

<PARAM NAME="BackColor" VALUE="2147483670">

</OBJECT>

Page 28: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

28

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

Page 29: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

29

Control Pad Allows for easy insertion of ActiveX

components on HTML pages. Also has script wizard to help write Java or

VB script. Demo ?

Page 30: 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.

30