Commercial Information Technology Group Inter-operable Server Smalltalk and Client Java...
-
Upload
shavonne-patterson -
Category
Documents
-
view
215 -
download
0
Transcript of Commercial Information Technology Group Inter-operable Server Smalltalk and Client Java...
Commercial Information Technology Group
TRWInter-operable Server Smalltalk and
Client Java Architectures
Kirk D. [email protected]
Greg [email protected]
Gregory P. [email protected]
Presentation to European SmalltalkUser Group Summer School
Brescia, ItalyAugust 31, 1998
TRW Commercial Information Technology Group
Structure of Presentation
• Business Needs
• Architectural Givens
• Five Client-Server CORBA Architectures
• Benefits/Shortcomings
• Why Server Smalltalk?
• Summary/Conclusions
TRW Commercial Information Technology Group
Business Needs
• System to Provide:– Multi-Media Content Creation– Web-based Content Delivery– Enable “Just In Time” Training– Central Administration of Content– Object-Oriented Database Storage/Retrieval– Scalable to Hundreds of Thousands of Users
TRW Commercial Information Technology Group
Architectural Givens
• Web Clients (Netscape, IE)
• Java Clients (Applications /Applets)
• Smalltalk Clients (VisualWorks Applications)
• CORBA (Multiple ORBs )
• Server Smalltalk (VisualWorks)
• Gemstone/S Application Server/DB
TRW Commercial Information Technology Group
Architecture I
A ny A pp lica tion
Client Application
Client ServerSystem Evolution 1
AnyC O R BA
O R B
H elp R equests/R esponse. (IIO P)
D is tribu tedS m allta lk
O R B
G em stone
D om ainO bjects
G em bu ilde r
V isua lworks Sm allta lk w ithD om ain logic
R PC or TC P /IP
S im ple In tegra ted H e lp D istribu ted S erverre turn ing he lp content
Ÿ D istribu ted A rch itectureŸ H eavy C lien tŸ Server w ith Exce llent
debugging capab ilities
N am ingService
TRW Commercial Information Technology Group
• Pros:– Uses CORBA for Remote Messaging– No Webserver Required– Heterogeneous Language Integration– It “worked” (J. Bostrom quote)
• Cons:– Uses IIOP for Data Transfer– Heavy Synchronous Client– COS Lifecycle/Timeout Issues– Non-optimal Memory Utilization– Required Application Source Modifications
Architecture I
TRW Commercial Information Technology Group
Architecture II
A ny A pp lica tion
Client Application
Client ServerSystem Evolution 2
AnyC O R BA
O R B
H elp R equests/R esponse. (IIO P)
D istribu tedSm allta lk
O R B
G em stone
D om ainO bjects
G em bu ilde r
V isua lworks Sm allta lk w ithD om ain logic
R PC or TC P /IP
D istribu ted H elpApplication
D istribu ted S erverre turn ing he lp content
H elp Applica tion
W W W Browser w ithHelp Applet
?
Loca lhost (IIO P )
Ÿ D istribu ted A rch itectureŸ Asynchronous H eavy C lientŸ Server w ith Exce llent debugging
capabilities
N am ingService
TRW Commercial Information Technology Group
Architecture II
• Pros:– Uses CORBA for Remote Messaging– No Webserver Required– Asynchronous Client Communication (non-blocking)– Minimal Application Source Modifications
• Cons:– Uses IIOP for Data Transfer– Heavy Client (Content Generation Logic)– Lifecycle/Timeout Issues– Non-optimal Memory Utilization– Instability of Large Applets Running in Browser VMs
TRW Commercial Information Technology Group
Architecture III
A ny A pp lica tion
Client Application
Client ServerSystem Evolution 3
A nyC O R B A
O R B
H elp R equests/R esponse. (IIO P )
G em O R BO R B
G em stone
D om ainO bjects/D om ain Logic
D istribu ted H e lpA pp lica tion
D irect C O R B A S erverre tu rn ing he lp con ten t
H e lp A pp lica tion
W W W Brow ser w ithHelp Applet
?
Loca lhost (IIO P )
Ÿ D istribu ted A rch itectureŸ A syncronous H eavy C lien tŸ In tegra ted S erver
N am ingS ervice
V isua lW orksD eve lopm entE nvironm ent
G em bu ilde r
TRW Commercial Information Technology Group
Architecture III• Pros:
– Uses CORBA for Remote Messaging– No Webserver Required– Asynchronous Client– COS Lifecycle/Timeout Issues Minimized– Memory Requirements Optimized– Retains VisualWorks Development Environment– Gemstone Runtime Environment (Scalability, Partitioning, Native Threads)
• Cons:– Uses IIOP for Data Transfer– Heavy Client (Content Generation Logic)– Loss of Robust VisualWorks Engine for Debugging– Instability of Large Applets Running in Browser VMs
TRW Commercial Information Technology Group
Architecture IV
A ny A pp lica tion
Client Application
Client ServerSystem Evolution 4
AnyC O R BA
O R B
H elp R equest/Location R esponse
(IIO P)
D istribu ted H elpApplication w ith
W eb B rowser C apabilities
D irect C O R BA Serverre turn ing he lp location
H elp Applica tion
Help Application?
Loca lhost (IIO P)
W eb Server
F ile Server
C ache H TM LH elp In form ation
H TM LC om ponent
H elp R equest loca tion /H e lp In form ation (h ttp )
W eb accessib le d irectories
Ÿ D istribu ted A rch itectureŸ Asyncronous Th inner C lientŸ In tegra ted M odular Server
G em O R BO R B
G em stone
D om ainO bjects/D om ain Logic
N am ingService
V isua lW orksD evelopm entEnvironm ent
G em bu ilde r
TRW Commercial Information Technology Group
Architecture IV
• Pros:– Uses CORBA for Remote Messaging– Asynchronous Thinner Client with Stable Java VM– Memory Requirements Optimized– Help Becomes Guaranteed Client CORBA Service– Uses HTTP for Data Transfer (vs. IIOP)
• Cons:– Loss of Robust VisualWorks/DST Engine for
Debugging– Content Generation Logic Still in Client
TRW Commercial Information Technology Group
Architecture V
Any Application
Client Application
ServerSystem Evolution 5
Help Request/Location Response
(IIOP)
Direct CORBA Server viaServlet Translationreturning help location
Help Application
Help Application?
Localhost (IIOP)
Java Capable Web Server
File Server
Cache HTMLHelp Information
HTMLComponent
Help Request /Help Information (http)
Web accessible directories
HttpServletRequest
Ÿ Distributed ArchitectureŸ Asynchronous Thin ClientŸ Integrated Modular Server
VisualWorksDevelopmentEnvironment
Gembuilder
Any JavaORB
Java ServletBased
RequestTranslator
GemORBORB
Gemstone
DomainObjects/Domain Logic
NamingService
ClientDistributed Help
Application with onlyWeb Browser Capabilities
TRW Commercial Information Technology Group
Architecture V
• Pros:– Uses CORBA for IPC– Asynchronous Thin Client – Java Servlets Filter http Requests Into CORBA Requests,
Allowing for Thinnest Client Possible– Content Generation Logic Partitioned to Server– Memory Requirements Optimized– Uses HTTP for Data Transfer (instead of IIOP)
• Cons:– Loss of Robust VisualWorks/DST Engine for Debugging
TRW Commercial Information Technology Group
Why Server Smalltalk?
• Productivity Benefits (Debugging, Development)• Open (dll/c, sockets, RPC, CORBA)• Robust• Mature Class Libraries• Mature ORBs and COS Services• Many Mission-Critical Deployments• Ease of Designing New Algorithms (Caching,
Searching)
TRW Commercial Information Technology Group
Summary/Conclusions
• Clients (Java/Browsers seem to have won the client wars)
• Server Smalltalk is Viable– Maturity
– Proven
– Premier Development Environment
– Extensible
• Smalltalk ORBs (DST, GemORB) Inter-operate Well With Other (Java, C++) ORBs
TRW Commercial Information Technology Group
Summary/Conclusions (cont.)
• Servlets Enabled:– The right protocol at the right time
• IIOP for stable connections (e.g. IPC)• HTTP for less stable connections (e.g. Internet)
– Thinner Client• HTTP libraries are part of Java runtime• Imply server side processing
• CORBA Architectures – Good for Command and Control– High-Value Messages– Are Not Good for Bulk Data Transfer– Integrate Heterogeneous Languages and Platforms