javabeans vs. activex noah mendelsohn lotus development corp. august 27, 1997 ™ ™ noah...

63
JavaBeans vs. JavaBeans vs. ActiveX ActiveX Noah Mendelsohn Noah Mendelsohn Lotus Development Corp. Lotus Development Corp. August 27, 1997 August 27, 1997 Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Upload: shanna-rose

Post on 28-Jan-2016

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

JavaBeans vs. ActiveXJavaBeans vs. ActiveX

Noah MendelsohnNoah Mendelsohn

Lotus Development Corp.Lotus Development Corp.

August 27, 1997August 27, 1997

™ ™

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Page 2: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

AgendaAgenda

Why software components?Why software components?

Histories of ActiveX and JavaBeansHistories of ActiveX and JavaBeans

Features of Component ModelsFeatures of Component Models

JavaBeans and ActiveX ComparedJavaBeans and ActiveX Compared

Two Visions for JavaTwo Visions for Java

Conclusion: Making the choiceConclusion: Making the choice

2

Page 3: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

PageNoah Mendelsohn Session JT2: JavaBeans vs. ActiveX

Why Software Components?

3

Page 4: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Software ComponentsSoftware Components

The promise: a 2nd industrial revolutionThe promise: a 2nd industrial revolution

Reuse: same components used in many Reuse: same components used in many types of applicationtypes of application

Cross-vendor integrationCross-vendor integration

Powerful tools: "assembly" of Powerful tools: "assembly" of components replaces programmingcomponents replaces programming

4

Page 5: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Builder components & widgets (e.g. for Builder components & widgets (e.g. for building query applications)building query applications)

Compound documentCompound document

ServerServer

ƒ Server extensionServer extensionƒ Computational & business logicComputational & business logicƒ TransactionalTransactional

Your own special purpose componentsYour own special purpose components

Types of Components & Types of Components & ApplicationsApplications

5

Page 6: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Building with PartsBuilding with Parts

6

Page 7: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Building with PartsBuilding with Parts

7

Page 8: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Characteristics of Characteristics of Interchangeable PartsInterchangeable Parts

The value of a component rises with the The value of a component rises with the number of places you can use itnumber of places you can use it

Tight tolerances & complete specificationTight tolerances & complete specification

Well characterized environmentWell characterized environment

"Architecture" for the parts system: the "Architecture" for the parts system: the key to design, assembly & inventorykey to design, assembly & inventory

ƒ part number, weight, etc.part number, weight, etc.

8

Page 9: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Standard "plumbing" supports generic Standard "plumbing" supports generic assembly toolsassembly tools

Key to interchangeability & reuseKey to interchangeability & reuse

Cross-vendor integrationCross-vendor integration

Inventory management: repositoriesInventory management: repositories

The value of a component The value of a component architecturearchitecture rises with the number of places you can rises with the number of places you can use ituse it

Why a Software Component Why a Software Component ArchitectureArchitecture??

9

Page 10: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

PageNoah Mendelsohn Session JT2: JavaBeans vs. ActiveX

Introduction to ActiveX

10

Page 11: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

1991 1997

ActiveX

OLE 1.0

Evolution of OLE and ActiveXEvolution of OLE and ActiveX

OLE 2.0

1993

OCX

1994

11

Page 12: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

> 5 years experience> 5 years experience

Very broad acceptance on WindowsVery broad acceptance on Windows

IE Browser & ActiveX Web componentsIE Browser & ActiveX Web components

Broad range of tools and applications Broad range of tools and applications from many vendorsfrom many vendors

http://www.microsoft.com/activeplatform/http://www.microsoft.com/activeplatform/

ActiveX "core technology" offered as ActiveX "core technology" offered as standardstandard

OLE & ActiveX StatusOLE & ActiveX Status

12

Page 13: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Interactive ActiveXComponent

Win 32 API'sCOM

(ActiveX Core Technologies)

ServerComponent

Client Side ActiveX API's

Is ActiveX an Open Standard?Is ActiveX an Open Standard?

13

Page 14: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Interactive ActiveXComponent

Win 32 API'sClient Side ActiveX

API's

Is ActiveX an Open Standard?Is ActiveX an Open Standard?

COM(ActiveX Core Technologies)

ServerComponent

14

Page 15: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

NT

Unix

MVS

Other

Is ActiveX an Open Standard?Is ActiveX an Open Standard?

15

Page 16: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

NT

Unix

MVS

Other

ActiveX Core

Technology

Is ActiveX an Open Standard?Is ActiveX an Open Standard?

15

Page 17: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

NT

Unix

MVS

Other

ActiveX Core

Technology

ProprietaryActiveX Client

API's

Is ActiveX an Open Standard?Is ActiveX an Open Standard?

15

Page 18: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

PageNoah Mendelsohn Session JT2: JavaBeans vs. ActiveX

Introduction to JavaBeans

16

Page 19: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Why Beans?Why Beans?The value of a component rises with the The value of a component rises with the number of places you can use itnumber of places you can use it

ƒ Java: Java: "write once, compile once, deploy once, run "write once, compile once, deploy once, run anywhere"anywhere"

ƒ Beans: Beans: universal componentsuniversal components

The value of a component The value of a component architecturearchitecture rises rises with the number of places you can use itwith the number of places you can use it

ƒ All traditional client & server platformsAll traditional client & server platformsƒ The natural component model for systems of the future The natural component model for systems of the future

(NC, palmtop, cell phone, etc.)(NC, palmtop, cell phone, etc.)ƒ The natural component model for the Web.The natural component model for the Web.

17

Page 20: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Brief History of JavaBeansBrief History of JavaBeans

June 1996: JavaSoft & partners June 1996: JavaSoft & partners announce JavaBeans initiativeannounce JavaBeans initiative

Fall 1996: Beans 1.00 SpecificationFall 1996: Beans 1.00 Specification

January 1997: Beans ships with JDK 1.1January 1997: Beans ships with JDK 1.1

June 1997 announcements June 1997 announcements

ƒ Enterprise Beans announcedEnterprise Beans announcedƒ Lotus Infobus becomes part of BeansLotus Infobus becomes part of Beans

18

Page 21: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Beans HighlightsBeans Highlights

Integrated w/Java Integrated w/Java languagelanguage

Simplicity: any Java Simplicity: any Java class or applet is a class or applet is a BeanBean

Limitation: Java onlyLimitation: Java only

Write once, run Write once, run anywhereanywhere

Medium/fine grain Medium/fine grain components (like components (like OCX)OCX)

Targets: Targets:

ƒ Now: Web, Java Now: Web, Java buildersbuilders

ƒ Soon: Server & Soon: Server & Transaction ProcessingTransaction Processing

ActiveX interop from ActiveX interop from Sun & MicrosoftSun & Microsoft

19

Page 22: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Microsoft Supports JavaBeansMicrosoft Supports JavaBeans

1997: Microsoft endorses JavaBeans1997: Microsoft endorses JavaBeans

Beans automatically exposed as ActiveX Beans automatically exposed as ActiveX componentscomponents

Beans can embed ActiveX components Beans can embed ActiveX components (on Windows)(on Windows)

Microsoft tools build Beans (but are they Microsoft tools build Beans (but are they portable?)portable?)

20

Page 23: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

JavaBeans StatusJavaBeans Status

Broad industry acceptanceBroad industry acceptance

StrategicStrategic endorsements by Sun, endorsements by Sun, IBM/Lotus, Netscape, Oracle IBM/Lotus, Netscape, Oracle

Corba/Beans integrationCorba/Beans integration

Broad range of development toolsBroad range of development tools

21

Page 24: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Is JavaBeans Open?Is JavaBeans Open?

Specification owned by SunSpecification owned by Sun

Partnership with industry leadersPartnership with industry leaders

Public reviewsPublic reviews

See: http://splash.javasoft.com/beans/See: http://splash.javasoft.com/beans/

22

Page 25: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

PageNoah Mendelsohn Session JT2: JavaBeans vs. ActiveX

Features of Component Architectures

23

Page 26: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Architecture Feature SummaryArchitecture Feature Summary

Programming Programming language(s)language(s)

Portability modelPortability model

Security & code Security & code downloaddownload

Object ModelObject Model

ScriptingScripting

Data interchangeData interchange

PersistencePersistence

UI MergingUI Merging

Identification / Identification / Registration / Registration / ActivationActivation

24

Page 27: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Programming LanguageProgramming Language

What language do you use to write components?

ActiveX

C, C++BasicJavaCoboletc.

JavaBeans

Java Only

25

Page 28: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Portability ModelPortability Model

How portable is the source and object code for a component?

Compiles to platform code (except Java)

Calls platform API's (usually)

Source may be portable.DLL usually not

ActiveX

Compiles to class fileCommon core Java API's on all platforms

Same bean runs everywhere: common source & object code

JavaBeans

26

Page 29: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Security & Code DownloadSecurity & Code Download

How is untrusted code moved through a network and executed?

27

Page 30: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Security & Code DownloadSecurity & Code Download

Native (e.g. Intel) code

How is untrusted code moved through a network and executed?

ActiveX

27

Page 31: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Security & Code DownloadSecurity & Code Download

Native (e.g. Intel) codeCode signing: establishes trust

How is untrusted code moved through a network and executed?

ActiveX

27

Page 32: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Security & Code DownloadSecurity & Code Download

Native (e.g. Intel) codeCode signing: establishes trust

Java ActiveX's use Java security, but..

How is untrusted code moved through a network and executed?

ActiveX

27

Page 33: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Security & Code DownloadSecurity & Code Download

Native (e.g. Intel) codeCode signing: establishes trust

Java ActiveX's use Java security, but..

JDirect encourages use of platform code

How is untrusted code moved through a network and executed?

ActiveX

27

Page 34: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Security & Code DownloadSecurity & Code Download

Native (e.g. Intel) codeCode signing: establishes trust

Java ActiveX's use Java security, but..

JDirect encourages use of platform code

Java byte codes

How is untrusted code moved through a network and executed?

ActiveX JavaBeans

27

Page 35: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Security & Code DownloadSecurity & Code Download

Native (e.g. Intel) codeCode signing: establishes trust

Java ActiveX's use Java security, but..

JDirect encourages use of platform code

Java byte codesJava sandbox or 1.2 domains

How is untrusted code moved through a network and executed?

ActiveX JavaBeans

27

Page 36: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Security & Code DownloadSecurity & Code Download

Native (e.g. Intel) codeCode signing: establishes trust

Java ActiveX's use Java security, but..

JDirect encourages use of platform code

Java byte codesJava sandbox or 1.2 domains

Optional code signing establishes trust

How is untrusted code moved through a network and executed?

ActiveX JavaBeans

27

Page 37: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Security & Code DownloadSecurity & Code Download

Native (e.g. Intel) codeCode signing: establishes trust

Java ActiveX's use Java security, but..

JDirect encourages use of platform code

Java byte codesJava sandbox or 1.2 domains

Optional code signing establishes trust

Java API's designed for security

How is untrusted code moved through a network and executed?

ActiveX JavaBeans

27

Page 38: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Object ModelObject Model

How are component API's structured?

Properties

Text = "Click Me"

IsClicked = False

Events

ClickDown

Methods

Redraw

Click Me!

A Button Component

28

Page 39: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Object ModelObject Model

How are component API's structured?

Push Me!

Properties

Text = "Click Me"

IsClicked = False

A Button Component

PushButton pb = new PushButton;

PB.setText("Push Me!");

29

Page 40: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Object ModelObject Model

ActiveX

Component Object Model (COM)

JavaBeans

Java language extended for Bean Properties / Methods / Events

CORBA integrationRMI

How are component API's structured?

30

Page 41: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Properties

Text = "Click Me"

IsClicked = False

Events

ClickDown

Methods

Redraw

Click Up

BeginAnimation

Object ModelObject Model

How are component API's structured?How are components "subclassed"?

Click Me!

A BetterButton Componentextends Button

31

Page 42: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Object ModelObject Model

COM AggregationRumor: subclassing?

ActiveX

Java Langugae SubclassingFuture: aggregation?

JavaBeans

How are component API's structured?How are components "subclassed"?

32

Page 43: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

ScriptingScripting

ActiveX

Component Object ModelIDispatch & dual interfacesTypeInfo for API descriptions

JavaBeans

Bean Properties / Methods / Events exposed

Introspection and BeanInfo for API descriptions

How is the API of a component exposed to scripting languages?

33

Page 44: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Data InterchangeData Interchange

ActiveX

Bound properties

JavaBeans

Bound Properties

Lotus InfoBus

How is data sent from one component to another?

34

Page 45: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

PersistencePersistence

ActiveX

Multiple COM persistence API's (IPersistStream, etc.)

JavaBeans

Automatic serialization integrated w/Java language

Externalization

How can the state of a component instance be saved by a container?

35

Page 46: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

UI MergingUI Merging

OLE, ActiveX API's for menu merge, drag/drop, etc.

Many Windows specificActiveX: IE look n' feel

How do components in an application share the screen, keyboard, etc.?

ActiveX

Uses Java AWT / JFC libraryNested UI layoutDrag/drop coming soon

JavaBeans

36

Page 47: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Registration & ActivationRegistration & Activation

Name: 128 bit GUIDWindows registry or URLCOM Activation

How are components named, registered, and activated?

ActiveX

BeanName = Java Class Name or .ser file

Beans.instantiate()Activates using Java newInstance or Serialization

JavaBeans

37

Page 48: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

PageNoah Mendelsohn Session JT2: JavaBeans vs. ActiveX

JavaBeans and ActiveX Compared

38

Page 49: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Summary of FeaturesSummary of Features

ActiveX JavaBeans

Programming Lang. Any Java

Object Model COM Java & Corba

Scripting Yes Yes

Persistence Yes Yes

UI Merging Yes (Windows/IE) Limited (awt & jfc)

Registration/Activate Yes Yes

Security Code SigningCode Signing + Java Sandbox

Portability Limited Excellent

39

Page 50: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Summary of FeaturesSummary of Features

X = Significant Advantage (Noah's opinion)

ActiveX JavaBeans

Programming Lang. X Any ? Java

Object Model COM Java & Corba

Scripting Yes Yes

Persistence Yes Yes

UI Merging X Yes (Windows/IE) Limited (awt & jfc)

Registration/Activate Yes Yes

Security Code Signing XCode Signing + Java Sandbox

Portability Limited X Excellent

40

Page 51: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

ActiveX JavaBeans

Windows Integration X Yes Limited

Java Integration ? MS Specific X Yes

Corba Integration Limited X Good

Intranet support Good Good

World Wide Web Fair X Excellent

NC & Future Platforms

Probably Not X Yes

Industry Support Excellent Excellent

Open Standard At server only Pretty good

Complexity High Low

Maturity/Robustness X Excellent Improving

Other Points of Comparion Other Points of Comparion

41

Page 52: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

PageNoah Mendelsohn Session JT2: JavaBeans vs. ActiveX

Conclusion: Making the Choice

42

Page 53: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Visions of the FutureVisions of the Future

Sun/IBM/Netscape/Oracle & Friends:Sun/IBM/Netscape/Oracle & Friends:

43

Page 54: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Visions of the FutureVisions of the Future

Sun/IBM/Netscape/Oracle & Friends:Sun/IBM/Netscape/Oracle & Friends:

ƒ 100% Pure Java: the platform for portable, 100% Pure Java: the platform for portable, ubiquitous componentsubiquitous components

43

Page 55: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Visions of the FutureVisions of the Future

Sun/IBM/Netscape/Oracle & Friends:Sun/IBM/Netscape/Oracle & Friends:

ƒ 100% Pure Java: the platform for portable, 100% Pure Java: the platform for portable, ubiquitous componentsubiquitous components

ƒ Distribution based on CORBA and RMIDistribution based on CORBA and RMI

43

Page 56: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Visions of the FutureVisions of the Future

Sun/IBM/Netscape/Oracle & Friends:Sun/IBM/Netscape/Oracle & Friends:

ƒ 100% Pure Java: the platform for portable, 100% Pure Java: the platform for portable, ubiquitous componentsubiquitous components

ƒ Distribution based on CORBA and RMIDistribution based on CORBA and RMIƒ Build Beans & pure Java - invest for the futureBuild Beans & pure Java - invest for the future

43

Page 57: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Visions of the FutureVisions of the Future

Sun/IBM/Netscape/Oracle & Friends:Sun/IBM/Netscape/Oracle & Friends:

ƒ 100% Pure Java: the platform for portable, 100% Pure Java: the platform for portable, ubiquitous componentsubiquitous components

ƒ Distribution based on CORBA and RMIDistribution based on CORBA and RMIƒ Build Beans & pure Java - invest for the futureBuild Beans & pure Java - invest for the future

Microsoft & Friends: Microsoft & Friends:

43

Page 58: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Visions of the FutureVisions of the Future

Sun/IBM/Netscape/Oracle & Friends:Sun/IBM/Netscape/Oracle & Friends:

ƒ 100% Pure Java: the platform for portable, 100% Pure Java: the platform for portable, ubiquitous componentsubiquitous components

ƒ Distribution based on CORBA and RMIDistribution based on CORBA and RMIƒ Build Beans & pure Java - invest for the futureBuild Beans & pure Java - invest for the future

Microsoft & Friends: Microsoft & Friends:

ƒ The future is WindowsThe future is Windows

43

Page 59: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Visions of the FutureVisions of the Future

Sun/IBM/Netscape/Oracle & Friends:Sun/IBM/Netscape/Oracle & Friends:

ƒ 100% Pure Java: the platform for portable, 100% Pure Java: the platform for portable, ubiquitous componentsubiquitous components

ƒ Distribution based on CORBA and RMIDistribution based on CORBA and RMIƒ Build Beans & pure Java - invest for the futureBuild Beans & pure Java - invest for the future

Microsoft & Friends: Microsoft & Friends:

ƒ The future is WindowsThe future is Windowsƒ Java: a language to support the visionJava: a language to support the vision

43

Page 60: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Visions of the FutureVisions of the Future

Sun/IBM/Netscape/Oracle & Friends:Sun/IBM/Netscape/Oracle & Friends:

ƒ 100% Pure Java: the platform for portable, 100% Pure Java: the platform for portable, ubiquitous componentsubiquitous components

ƒ Distribution based on CORBA and RMIDistribution based on CORBA and RMIƒ Build Beans & pure Java - invest for the futureBuild Beans & pure Java - invest for the future

Microsoft & Friends: Microsoft & Friends:

ƒ The future is WindowsThe future is Windowsƒ Java: a language to support the visionJava: a language to support the visionƒ Distribution based on COMDistribution based on COM

43

Page 61: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

Visions of the FutureVisions of the Future

Sun/IBM/Netscape/Oracle & Friends:Sun/IBM/Netscape/Oracle & Friends:

ƒ 100% Pure Java: the platform for portable, 100% Pure Java: the platform for portable, ubiquitous componentsubiquitous components

ƒ Distribution based on CORBA and RMIDistribution based on CORBA and RMIƒ Build Beans & pure Java - invest for the futureBuild Beans & pure Java - invest for the future

Microsoft & Friends: Microsoft & Friends:

ƒ The future is WindowsThe future is Windowsƒ Java: a language to support the visionJava: a language to support the visionƒ Distribution based on COMDistribution based on COMƒ Decreasing support for pure JavaDecreasing support for pure Java

43

Page 62: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

It's Up to YouIt's Up to You

Two powerful technologies...two clear but Two powerful technologies...two clear but different visions of the futuredifferent visions of the future

Tell the companies that build these Tell the companies that build these technologies what you needtechnologies what you need

The future of Java, Beans and ActiveX is The future of Java, Beans and ActiveX is in your handsin your hands

Where do you want to go....Where do you want to go....

44

Page 63: JavaBeans vs. ActiveX Noah Mendelsohn Lotus Development Corp. August 27, 1997 ™ ™ Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page 1

Noah Mendelsohn Session JT2: JavaBeans vs. ActiveX Page

It's Up to YouIt's Up to You

Two powerful technologies...two clear but Two powerful technologies...two clear but different visions of the futuredifferent visions of the future

Tell the companies that build these Tell the companies that build these technologies what you needtechnologies what you need

The future of Java, Beans and ActiveX is The future of Java, Beans and ActiveX is in your handsin your hands

Where do you want to go....Where do you want to go....tomorrow?tomorrow?

44