Professional Documents
Culture Documents
Software Architecture
Software Architecture
Business logic runs on a user workstation If utilizing a shared database or other services, either
Distributed connectivity (i.e. 2-tier model), or Cache data until it can be synched.
Java Applications, Applets, or .NET applications running on a local workstation. It may or may not connect to a remote database. Audio Recording Software Graphics and movie tools USB interfaces Notepad
Thin Client
User workstation for presentation only; business logic runs on a central server Client must have network connectivity to use the application. Caching is generally not an option.
A web browser. A thin-client layer such as Citrix or Windows Terminal Server that connects to another computer where applications are running. n-tiered architectures are common with thin client applications.
Which is better?
Fat Client vs. Thin Client
Will there be a central database or other central services? Consider database connection pooling. Will users need to perform functions while disconnected from the network? Will any functions require specialized hardware? Will the task be memory or processor intensive (such as a game)? Are your users spread out geographically? What type of machines do your users have?
Deployment is easier (nothing beyond a browser) Less processing on client means less hardware requirements for workstations Servers are easier to secure than workstations Application (function) level security can be used instead of data-level security. Connection pooling across multiple users System updates can be changed in one place on the server. Implementation is hidden from the client. Specific development, test, and production environments Middle-tier load balancing helps performance and server availability Reuse of business logic can be done since it is centralized.
INPUTS: Items passed to the server for processing. OUTPUT: The results of the server processes: a web page or SOAP response
Amazon: Type in your credit card and their server takes that information and bills your credit card company. Server-side image maps. The input is simply two coordinates. The map is redrawn by the server having those coordinates as the center and sent to the client for display. Simple JSP application. Take your name and say hello.
Examples:
Utilizes several tools that are available to a web browser to create an experience equivalent to a rich client No browser refresh. Instead,
a JavaScript in the browser makes a call to the web server. The web server returns the appropriate data in a textbased format like XML or JSON The JavaScript handles the arrival of the response and refreshes only the parts of the screen that have changed utilizing DHTML and CSS.
Ability to do work offline (filling out expense reports on the airplane). Not all web browsers work exactly the same. A high-speed connection to the server is often needed (though can be designed around). You save money on workstations but spend more on servers; all the processing that could be distributed to multiple workstations is now done on a central server, so you better get a good one.
Building JSPs
http://java.sun.com/developer/technicalArticles/javaserverpa ges/JSP20
http://www.sitepoint.com/print/parts-1-8-taggedbagged
Questions