+ All Categories
Home > Documents > 1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can...

1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can...

Date post: 26-Dec-2015
Category:
Upload: oscar-park
View: 217 times
Download: 0 times
Share this document with a friend
30
1 Modular Software/ Component Software
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.

COM Object Bus

Object storage

Automation & Scripting

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

Real object written in a programming

language

Interface A

Interface B

Interface C

COM Interface

COM Object

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

26

HTML Implementation of ActiveX Controls

The <object> Tag ID CLASSID CODEBASE

The <param> tag Example

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>

28

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

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 ?

30


Recommended