web based learning with corba by poon ping-yeung

30
Web based Learning Web based Learning with CORBA with CORBA By By POON Ping-yeung POON Ping-yeung

Upload: todd-maurice-holt

Post on 14-Jan-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Web based Learning with CORBA By POON Ping-yeung

Web based LearningWeb based Learningwith CORBAwith CORBA

ByBy

POON Ping-yeung POON Ping-yeung

Page 2: Web based Learning with CORBA By POON Ping-yeung

Traditional LearningTraditional Learning

Page 3: Web based Learning with CORBA By POON Ping-yeung

Learner-centered EnvironmentLearner-centered Environment

Page 4: Web based Learning with CORBA By POON Ping-yeung

Computer-aided LearningComputer-aided Learning

StaticStatic One-to-one communicationOne-to-one communication Difficult to scale upDifficult to scale up Proprietary softwareProprietary software Inefficient search toolsInefficient search tools

Page 5: Web based Learning with CORBA By POON Ping-yeung

Web-based EnvironmentWeb-based Environment

Faster TrainingFaster Training Reduce / No travel costsReduce / No travel costs Training per head is reducedTraining per head is reduced Just-in-time LearningJust-in-time Learning Extended access through InternetExtended access through Internet Active Learning & student centeredActive Learning & student centered

Page 6: Web based Learning with CORBA By POON Ping-yeung

What is CORBA ?What is CORBA ?

Common Object Request Broker Common Object Request Broker Architecture Architecture

Object Management GroupObject Management Group Middleware SpecificationMiddleware Specification

Page 7: Web based Learning with CORBA By POON Ping-yeung

What is CORBA ?What is CORBA ?

Dynamic Dynamic Invocation Invocation InterfaceInterface

IDLIDLStubsStubs

ORBORBInterfaceInterface

IDLIDLSkeletonSkeleton

Dynamic Dynamic Skeleton Skeleton InterfaceInterface

ObjectObjectAdapterAdapter

ORB CoreORB Core

ClientClient Object ImplementationObject Implementation

Standard Interface

Per-Object Type Generated Interface

May be Multiple Object Adapter

ORB Dependent Interface

Page 8: Web based Learning with CORBA By POON Ping-yeung

What is CORBA ?What is CORBA ?

Java Java ClientClient

C++C++ObjectObject

Java Java ObjectObject

COBOLCOBOLClientClient

CORBA/IIOPCORBA/IIOP

CORBA/IIOPCORBA/IIOP

CORBA/IIOPCORBA/IIOP

Page 9: Web based Learning with CORBA By POON Ping-yeung

OMAOMA

Object Management ArchitectureObject Management Architecture CORBAdomainCORBAdomain CORBAservicesCORBAservices CORBAfacilitiesCORBAfacilities

Page 10: Web based Learning with CORBA By POON Ping-yeung

OMAOMA

Object Request BrokerObject Request Broker

Application ObjectsApplication ObjectsDomain ObjectsDomain Objects

Common Common FacilitiesFacilities

Object ServicesObject Services

CORBA ObjectCORBA Object Legacy Application WrapperLegacy Application Wrapper

Page 11: Web based Learning with CORBA By POON Ping-yeung

Java in CORBAJava in CORBA

Portability across platformPortability across platform Programming in InternetProgramming in Internet Object-oriented LanguageObject-oriented Language Component ModelComponent Model

Page 12: Web based Learning with CORBA By POON Ping-yeung

CORBA in JavaCORBA in Java

Implementation independence interfaceImplementation independence interface Programming language independenceProgramming language independence Location transparency & server activationLocation transparency & server activation Automatic stub & skeleton code generationAutomatic stub & skeleton code generation Reuse of CORBA services & facilitiesReuse of CORBA services & facilities

Page 13: Web based Learning with CORBA By POON Ping-yeung

Java, CORBA and WebJava, CORBA and Web

HTTP HTTP ServerServer

Web Web BrowserBrowser

INTERNETINTERNET

CORBACORBAServerServer

Invoke Invoke CORBA CORBA objectsobjects

Get Get HTML HTML pagespages

Get Get AppletAppletss

Page 14: Web based Learning with CORBA By POON Ping-yeung

Implementation ArchitectureImplementation Architecture

Server - Java applicationServer - Java application ORB - Visibroker for JavaORB - Visibroker for Java Client - Java Applet running in Netscape Client - Java Applet running in Netscape

Communicator 4.6Communicator 4.6 Java application and applets implement Java application and applets implement

with JDKwith JDK

Page 15: Web based Learning with CORBA By POON Ping-yeung

Develop Application with VBJDevelop Application with VBJObject Object Definitions Definitions in IDLin IDL

VisibrokeVisibroker idl2java r idl2java CompilerCompiler

StubsStubs SkeletonsSkeletons

Client Client Program Program written by written by youyou

Object Object ImplementatiImplementationwritten by onwritten by

youyou

Java Java CompileCompile

rr

Java Java CompileCompile

rr

Page 16: Web based Learning with CORBA By POON Ping-yeung

Develop Application with VBJDevelop Application with VBJ

StubStub

Client Client Program Program written by written by youyou

Object Object ImplementationImplementationwritten by youwritten by you

Java Java CompilerCompiler

Java Java CompilerCompiler

Object Object ImplementationImplementation

Client ProgramClient Program

SkeletonSkeleton

Visibroker Object Request BrokerVisibroker Object Request Broker

Page 17: Web based Learning with CORBA By POON Ping-yeung

ImplementationImplementation

Page 18: Web based Learning with CORBA By POON Ping-yeung

ImplementationImplementation

Page 19: Web based Learning with CORBA By POON Ping-yeung

ImplementationImplementation

Page 20: Web based Learning with CORBA By POON Ping-yeung

ImplementationImplementation

Page 21: Web based Learning with CORBA By POON Ping-yeung

Smart AgentSmart Agent

No CORBA specification on bootstrappingNo CORBA specification on bootstrapping Proprietary Directory ServiceProprietary Directory Service Fault toleranceFault tolerance

Page 22: Web based Learning with CORBA By POON Ping-yeung

Smart AgentSmart Agent

3. 3. Object Object ReferenceReference

2. 2. BindBind 1. 1. Pass Pass obj_is_readyobj_is_ready

4. 4. Send Send RequestRequest

ORBORBSmart AgentSmart Agent

ServerServerClientClient

Page 23: Web based Learning with CORBA By POON Ping-yeung

GatekeeperGatekeeper

Java Sandbox problemJava Sandbox problem Proxying capabilityProxying capability HTTP tunnelingHTTP tunneling both directionboth direction

Page 24: Web based Learning with CORBA By POON Ping-yeung

GatekeeperGatekeeper

InternetInternet Internet Client running Java applet

Web Server with Gatekeeper

Server Server ObjectObject

Server Server ObjectObject

Page 25: Web based Learning with CORBA By POON Ping-yeung

Object Activation DaemonObject Activation Daemon

Objects ManagementObjects Management Manual starting and stoppingManual starting and stopping Start object on demandStart object on demand work with implementation repositorywork with implementation repository

Page 26: Web based Learning with CORBA By POON Ping-yeung

Object Activation DaemonObject Activation Daemon

Smart Smart AgentAgent

ClientClientObject

Activation

Daemon

ServerObject

Implementation Implementation RepositoryRepository

Contains Server Contains Server Registrations, Registrations, either done via either done via command line or command line or via API via API

4. 4. OAD starts the Server OAD starts the Server based on its registration in based on its registration in the Implementation the Implementation Repository.Repository.

3. 3. Call is forwarded Call is forwarded to the OAD to start to the OAD to start the serverthe server

1. 1. Since it is a Since it is a CORBA Object, it CORBA Object, it registers with the registers with the Smart AgentSmart Agent

2. 2. bind to Smart bind to Smart AgentAgent

5. client communications directly to the Server Object

Page 27: Web based Learning with CORBA By POON Ping-yeung

Upsides of CORBAUpsides of CORBA

Language and platform independenceLanguage and platform independence Distributed Object TechnologiesDistributed Object Technologies CORBA is OpenCORBA is Open

Page 28: Web based Learning with CORBA By POON Ping-yeung

CORBA‘s ProblemsCORBA‘s Problems

Complexity of DevelopmentComplexity of Development Lack of Full feature development toolsLack of Full feature development tools Cost of DevelopmentCost of Development StabilityStability

Page 29: Web based Learning with CORBA By POON Ping-yeung

ConclusionConclusion

Promising technologiesPromising technologies Ease of scale upEase of scale up Large scale web based learning Large scale web based learning

environmentenvironment Mature development productMature development product

Page 30: Web based Learning with CORBA By POON Ping-yeung

Questions and AnswersQuestions and Answers