Inter-operable Server Smalltalk and Client Java Architectures Kirk D. Blackburn [email_address] Greg Frohring [email_addre...
Structure of Presentation <ul><li>Business Needs </li></ul><ul><li>Architectural Givens </li></ul><ul><li>Five Client-Serv...
Business Needs <ul><li>System to Provide: </li></ul><ul><ul><li>Multi-Media Content Creation </li></ul></ul><ul><ul><li>We...
Architectural Givens <ul><li>Web Clients ( Netscape, IE ) </li></ul><ul><li>Java Clients ( Applications /Applets ) </li></...
Architecture I
<ul><li>Pros: </li></ul><ul><ul><li>Uses CORBA for Remote Messaging </li></ul></ul><ul><ul><li>No Webserver Required </li>...
Architecture II
Architecture II <ul><li>Pros: </li></ul><ul><ul><li>Uses CORBA for Remote Messaging </li></ul></ul><ul><ul><li>No Webserve...
Architecture III
Architecture III <ul><li>Pros: </li></ul><ul><ul><li>Uses CORBA for Remote Messaging </li></ul></ul><ul><ul><li>No Webserv...
Architecture IV
Architecture IV <ul><li>Pros: </li></ul><ul><ul><li>Uses CORBA for Remote Messaging </li></ul></ul><ul><ul><li>Asynchronou...
Architecture V Any Application Client Application Server System Evolution 5 Help Request/ Location Response (IIOP) Direct ...
Architecture V <ul><li>Pros: </li></ul><ul><ul><li>Uses CORBA for IPC </li></ul></ul><ul><ul><li>Asynchronous Thin Client ...
Why Server Smalltalk? <ul><li>Productivity Benefits ( Debugging, Development ) </li></ul><ul><li>Open (dll/c, sockets,  RP...
Summary/Conclusions <ul><li>Clients ( Java/Browsers seem to have won the client wars ) </li></ul><ul><li>Server Smalltalk ...
Summary/Conclusions (cont.) <ul><li>Servlets Enabled: </li></ul><ul><ul><li>The right protocol at the right time </li></ul...
Upcoming SlideShare
Loading in …5
×

Inter-operabable Server Smalltalk

1,283 views

Published on

Inter-operabable Server Smalltalk

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,283
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Inter-operabable Server Smalltalk

  1. 1. Inter-operable Server Smalltalk and Client Java Architectures Kirk D. Blackburn [email_address] Greg Frohring [email_address] Gregory P. Smith [email_address] Presentation to European Smalltalk User Group Summer School Brescia, Italy August 31, 1998
  2. 2. Structure of Presentation <ul><li>Business Needs </li></ul><ul><li>Architectural Givens </li></ul><ul><li>Five Client-Server CORBA Architectures </li></ul><ul><li>Benefits/Shortcomings </li></ul><ul><li>Why Server Smalltalk? </li></ul><ul><li>Summary/Conclusions </li></ul>
  3. 3. Business Needs <ul><li>System to Provide: </li></ul><ul><ul><li>Multi-Media Content Creation </li></ul></ul><ul><ul><li>Web-based Content Delivery </li></ul></ul><ul><ul><li>Enable “Just In Time” Training </li></ul></ul><ul><ul><li>Central Administration of Content </li></ul></ul><ul><ul><li>Object-Oriented Database Storage/Retrieval </li></ul></ul><ul><ul><li>Scalable to Hundreds of Thousands of Users </li></ul></ul>
  4. 4. Architectural Givens <ul><li>Web Clients ( Netscape, IE ) </li></ul><ul><li>Java Clients ( Applications /Applets ) </li></ul><ul><li>Smalltalk Clients ( VisualWorks Applications ) </li></ul><ul><li>CORBA ( Multiple ORBs ) </li></ul><ul><li>Server Smalltalk ( VisualWorks ) </li></ul><ul><li>Gemstone/S Application Server/DB </li></ul>
  5. 5. Architecture I
  6. 6. <ul><li>Pros: </li></ul><ul><ul><li>Uses CORBA for Remote Messaging </li></ul></ul><ul><ul><li>No Webserver Required </li></ul></ul><ul><ul><li>Heterogeneous Language Integration </li></ul></ul><ul><ul><li>It “worked” ( J. Bostrom quote ) </li></ul></ul><ul><li>Cons: </li></ul><ul><ul><li>Uses IIOP for Data Transfer </li></ul></ul><ul><ul><li>Heavy Synchronous Client </li></ul></ul><ul><ul><li>COS Lifecycle/Timeout Issues </li></ul></ul><ul><ul><li>Non-optimal Memory Utilization </li></ul></ul><ul><ul><li>Required Application Source Modifications </li></ul></ul>Architecture I
  7. 7. Architecture II
  8. 8. Architecture II <ul><li>Pros: </li></ul><ul><ul><li>Uses CORBA for Remote Messaging </li></ul></ul><ul><ul><li>No Webserver Required </li></ul></ul><ul><ul><li>Asynchronous Client Communication (non-blocking) </li></ul></ul><ul><ul><li>Minimal Application Source Modifications </li></ul></ul><ul><li>Cons: </li></ul><ul><ul><li>Uses IIOP for Data Transfer </li></ul></ul><ul><ul><li>Heavy Client (Content Generation Logic) </li></ul></ul><ul><ul><li>Lifecycle/Timeout Issues </li></ul></ul><ul><ul><li>Non-optimal Memory Utilization </li></ul></ul><ul><ul><li>Instability of Large Applets Running in Browser VMs </li></ul></ul>
  9. 9. Architecture III
  10. 10. Architecture III <ul><li>Pros: </li></ul><ul><ul><li>Uses CORBA for Remote Messaging </li></ul></ul><ul><ul><li>No Webserver Required </li></ul></ul><ul><ul><li>Asynchronous Client </li></ul></ul><ul><ul><li>COS Lifecycle/Timeout Issues Minimized </li></ul></ul><ul><ul><li>Memory Requirements Optimized </li></ul></ul><ul><ul><li>Retains VisualWorks Development Environment </li></ul></ul><ul><ul><li>Gemstone Runtime Environment (Scalability, Partitioning, Native Threads) </li></ul></ul><ul><li>Cons: </li></ul><ul><ul><li>Uses IIOP for Data Transfer </li></ul></ul><ul><ul><li>Heavy Client (Content Generation Logic) </li></ul></ul><ul><ul><li>Loss of Robust VisualWorks Engine for Debugging </li></ul></ul><ul><ul><li>Instability of Large Applets Running in Browser VMs </li></ul></ul>
  11. 11. Architecture IV
  12. 12. Architecture IV <ul><li>Pros: </li></ul><ul><ul><li>Uses CORBA for Remote Messaging </li></ul></ul><ul><ul><li>Asynchronous Thinner Client with Stable Java VM </li></ul></ul><ul><ul><li>Memory Requirements Optimized </li></ul></ul><ul><ul><li>Help Becomes Guaranteed Client CORBA Service </li></ul></ul><ul><ul><li>Uses HTTP for Data Transfer (vs. IIOP) </li></ul></ul><ul><li>Cons: </li></ul><ul><ul><li>Loss of Robust VisualWorks/DST Engine for Debugging </li></ul></ul><ul><ul><li>Content Generation Logic Still in Client </li></ul></ul>
  13. 13. Architecture V Any Application Client Application Server System Evolution 5 Help Request/ Location Response (IIOP) Direct CORBA Server via Servlet Translation returning help location Help Application Help Application ? Localhost (IIOP) Java Capable Web Server File Server Cache HTML Help Information HTML Component Help Request / Help Information (http) Web accessible directories HttpServletRequest Ÿ Distributed Architecture Ÿ Asynchronous Thin Client Ÿ Integrated Modular Server VisualWorks Development Environment Gembuilder Any Java ORB Java Servlet Based Request Translator GemORB ORB Gemstone DomainObjects/ Domain Logic Naming Service Client Distributed Help Application with only Web Browser Capabilities
  14. 14. Architecture V <ul><li>Pros: </li></ul><ul><ul><li>Uses CORBA for IPC </li></ul></ul><ul><ul><li>Asynchronous Thin Client </li></ul></ul><ul><ul><li>Java Servlets Filter http Requests Into CORBA Requests, Allowing for Thinnest Client Possible </li></ul></ul><ul><ul><li>Content Generation Logic Partitioned to Server </li></ul></ul><ul><ul><li>Memory Requirements Optimized </li></ul></ul><ul><ul><li>Uses HTTP for Data Transfer (instead of IIOP) </li></ul></ul><ul><li>Cons: </li></ul><ul><ul><li>Loss of Robust VisualWorks/DST Engine for Debugging </li></ul></ul>
  15. 15. Why Server Smalltalk? <ul><li>Productivity Benefits ( Debugging, Development ) </li></ul><ul><li>Open (dll/c, sockets, RPC, CORBA ) </li></ul><ul><li>Robust </li></ul><ul><li>Mature Class Libraries </li></ul><ul><li>Mature ORBs and COS Services </li></ul><ul><li>Many Mission-Critical Deployments </li></ul><ul><li>Ease of Designing New Algorithms ( Caching, Searching ) </li></ul>
  16. 16. Summary/Conclusions <ul><li>Clients ( Java/Browsers seem to have won the client wars ) </li></ul><ul><li>Server Smalltalk is Viable </li></ul><ul><ul><li>Maturity </li></ul></ul><ul><ul><li>Proven </li></ul></ul><ul><ul><li>Premier Development Environment </li></ul></ul><ul><ul><li>Extensible </li></ul></ul><ul><li>Smalltalk ORBs ( DST, GemORB ) Inter-operate Well With Other ( Java, C++ ) ORBs </li></ul>
  17. 17. Summary/Conclusions (cont.) <ul><li>Servlets Enabled: </li></ul><ul><ul><li>The right protocol at the right time </li></ul></ul><ul><ul><ul><li>IIOP for stable connections (e.g. IPC) </li></ul></ul></ul><ul><ul><ul><li>HTTP for less stable connections (e.g. Internet) </li></ul></ul></ul><ul><ul><li>Thinner Client </li></ul></ul><ul><ul><ul><li>HTTP libraries are part of Java runtime </li></ul></ul></ul><ul><ul><ul><li>Imply server side processing </li></ul></ul></ul><ul><li>CORBA Architectures </li></ul><ul><ul><li>Good for Command and Control </li></ul></ul><ul><ul><li>High-Value Messages </li></ul></ul><ul><ul><li>Are Not Good for Bulk Data Transfer </li></ul></ul><ul><ul><li>Integrate Heterogeneous Languages and Platforms </li></ul></ul>

×