1 / 31

Are Your Clients Overweight?

Are Your Clients Overweight?. Software Architectures for the Internet Age. FITO - October 16, 1998 Gregor Hohpe. Overview. What is Software Architecture? Evolution of System Architectures Architectural Decisions Case Studies / Demo Skills Summary. What is Software Architecture?.

oya
Download Presentation

Are Your Clients Overweight?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Are Your Clients Overweight? Software Architectures for the Internet Age FITO - October 16, 1998 Gregor Hohpe

  2. Overview • What is Software Architecture? • Evolution of System Architectures • Architectural Decisions • Case Studies / Demo • Skills • Summary

  3. What is Software Architecture? • Distribution of system components across platforms and physical machines • Middleware / connectivity software • Languages and tools Technical Architecture Software Architecture ApplicationArchitecture • Hardware • Vendors • Sizing • Networks • Functional Modules • Common Services • Frameworks • Object Design • GUI Design

  4. Evolution of Software Architectures

  5. 2-Tier Client-Server Architecture Physical Architecture Technical Architecture Windows Client Database Server GUI … PowerBuilder Visual Basic Visual C++ Access Paradox Oracle Sybase Informix MS SQLServer Ethernet Token Ring TCP/IP

  6. 2-Tier Client-Server Pros / Cons • Internal Applications • Small to Medium User Base • Controlled Hi-Bandwidth Network Environment • Homogenous Hardware (hopefully) • Heavy load on database • Limited option for scaling • Costly software distribution • Poor separation of software components • “Fat Client”

  7. 3-Tier Client-Server Architecture Physical Architecture Technical Architecture GUI Business Logic Application Server(s) Database Server(s)

  8. 3-Tier Client-Server Pros / Cons • Medium to Large User Base • Controlled Hi-Bandwidth Network Environment • Better separation of presentation and business logic • More options for scaling • Costly software distribution • Poor cross-platform support • “Fat Client”

  9. The Internet Age! Millions of Users Slow and unreliable connections All sorts of machines Security?

  10. Move Applications to the Server! Physical Architecture Web Browser Web Server Application Server HTTP Database HTML Pages Technical Architecture Any Computer Server Any Network

  11. Thin Client Architecture • No software distribution required • Cross-platform compatibility through standard protocols (HTTP, HTML) • Connect to server for every little action(e.g. input validation) • No immediate feedback on actions • Limited user interface design options • HTTP is connectionless protocol • Back to dumb terminals?

  12. Move Some Stuff Back to the Client Web Browser Web Server Application Server HTTP Database JavaApplet Java / VB Script HTML Pages Applet Repos. Cookies

  13. No-So-Thin Client Architecture • Automatic software distribution • Nicer GUIs, immediate response • Java Virtual Machine on all platforms • Browser  Browser • Performance? • Download whole applet over modem?

  14. Dynamic HTML! Web Browser Web Server Application Server HTTP Database DynamicHTML DHTML Pages

  15. The Saga Continues... • XML: Data Description • Push Technologies / Channels • ...

  16. Large user base Uncontrolled environment Simple applications (Semi-)Static GUIs Network connection required Medium user base More controlled environment More complex applications Active GUIs Runs without connection Architectural Decisions Thin Client Fat Client

  17. Case Studies: FaceBook Training Navigator

  18. Case Study:The FaceBook • Internal application • Database of all San Francisco practitioners • Has to be updated automatically: new hires, schedule data • Has to be available off-line (travel) • Connect to server through HTTP & TCP/IP, no drive mapping • Existing stand-alone Visual Basic application, uses tabs and other advanced controls

  19. FaceBook Architecture:Fat Client Web Browser Web Server HTTP Database • Application resides on client machine • Data resides on client machine • Data synchronized over HTTP FaceBook Software Database Client Server

  20. FaceBook Implementation:Microsoft Remote Data Services Internet Explorer RDS IIS 4.0 OLEDB ODBC HTTP MS Access COM ActiveX Docs • ActiveX Documents • Remote Data Services (RDS) • OLE DB • Only in Internet Explorer 4.0 Visual Basic MS Access Client Server

  21. Case Study:The Training Navigator • Internal application -- HR Self-Service • Allows practitioners to browse for and schedule their own training classes • Central database with course offerings • Periodically used • Course selections fed to training coordinators • ‘Shopping cart’ model -- choose and confirm

  22. Training Navigator Architecture:Thin Client Web Browser Web Server TrainNav Software HTTP Database HTML Pages • Application resides on server machine • Updates directly to central database Client Server

  23. Training Navigator Implementation:Active Server Pages Any Web Browser IIS 4.0 Visual Basic COM Server ADO HTTP Database HTML ASP • Plain HTML on client site • Active Server Pages: VBScript • Application in Visual Basic Client Server

  24. Active Server Pages:Technology Overview

  25. Active Server Pages:Architectural Considerations • Easy, can leverage Visual Basic skills • Built-in data access • Produces plain HTML • Microsoft only - but not a problem for server-based applications • Scripting language - limited type checking and debugging • A lot of HTML foot work • Implement business login in COM server

  26. Skill Sets

  27. Skill Sets • Choice of tools does not necessarily limit your architectural options • Biggest challenge: staying up to date • Ride the Muni / BART, read magazines! • Microsoft Interactive Developer • Internet World • Software Development

  28. Summary • Software architecture is an interesting and often times overlooked area • Architectural choices are critical to project success • Diverse skill set is required • Interface with clients and technologists • Become a software architect!

  29. Questions / Discussion

More Related