Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computing Architecture

Similar presentations


Presentation on theme: "Computing Architecture"— Presentation transcript:

1 Computing Architecture
Standards and Products

2 Operating System: MVS Unix Netware MS Windows3.1, 3.11, 95

3 Transaction Processing System
IDMS/DC

4 DBMS IDMS Oracle? NDBM MS Access Paradox

5 Application Development Tools
ADS SAS Visual Basic Cobol Developer 2000

6 Ad Hoc Reporting Tools SAS Discoverer 2000? Culprit Visual Express?

7 Query Language SQL

8 Transport CAICCI SQL Net

9 Security ACF2 NIS Netware

10 Public Information Server
FTP Gopher WWW

11 Data Replication DB API ODBC OLE

12 Network Printing LPR/LPD Netware

13 Network Mgt. SNMP

14 Network Protocol TCP/IP IPX

15 Physical Network FDDI Enet

16 Client / Server Applications

17 Client – user side application
Handles presentation

18 Server – host side Stores persistent data Provides processing

19 Procedural RPC remote procedure calls Named Pipes

20 Object Oriented Classes, Inheritance, encapsulation, methods Smalltalk
Java

21 GUI Web Browser Windows Macintosh Motif

22 Logic Server side Client-side

23 Database Relational Network Transaction Processing Data Warehousing

24 OSF DCE DFS – file service Time CDS – Naming DSF – Security (Kerberos)

25 OSF DCE POSIX Threads DME – Management Transaction Processing

26 SQL middleware

27 Distributed Database Application uses data from multiple databases on different servers. 2 phase commit

28 Thick Client Runs some or all of the application logic

29 Thin client Does primarily or only display functions

30 Partitioned Processing
Both the server and the client have parts of the application processing

31 CASE Tools Visual Development Tools Paint objects from toolboxes
Event driven languages SQL Database access

32 End User Tools Personal DBs Spreadsheets DSS and EIS tools
Access, Paradox, FoxPRO, etc. Spreadsheets Excel, Lotus, etc. DSS and EIS tools Crystal. Gupta, Focus, Informix, Oracle, PowerSoft Analysis Tools SAS, etc.

33 CLIENT-SERVER COMPUTING

34 CLIENT-SERVER COMPUTING
A relatively new “buzz-word” for an old concept. To many vendors, any system that uses personal computers networked to a larger server is a “client-server” system. Even systems where the personal computer works solely in the terminal emulation are called client-server by some vendors. Such systems look exactly like the old mainframe-terminal systems except that the personal computer has replaced the terminal.

35 CLIENT-SERVER COMPUTING (cont.)
A true client-server application is one in which a complex application is decomposed into a part that runs on a server and one which runs on personal computers (the clients). Besides doing part of the computing for the application, the PC client provides a natural point and click graphical interface to the application.

36 CLIENT-SERVER COMPUTING (cont.)
Advances in networking and personal computers allows client-server applications to be more widely deployed today than has been possible in the past.

37 SUBROUTINES AND CO-ROUTINES
Application Application subroutines main Call X X Call Y Y Call X Co-routines Co-routines Uses subroutine calls Uses co-routine calls

38 CLIENT-SERVER APPLICATION
Network Clients users Remote Procedure Calls Server Appl. Client Appl. Responses Server Network Remote Clients Use Remote Procedure Calls (RPC’s) to communicate requests and pass responses.

39 RPC’s Remote Procedure Calls are much more complex than subroutine or co-routine calls. Subroutine and co-routine calls are generally made within an application or between co-applications that run on a single system where the assumption can be made that data and command transfers will be error free.

40 RPC’s (cont.) RPC’s, on the the other hand, are made between systems that are interconnected by means of an error-prone network. The server also must handle simultaneous requests from many clients. This also implies a need for synchronization among requests. All this makes RPC’s complex.

41 ADVANTAGES OF CLIENT-SERVER
Advantages often cited include: Centralization - access, resources, and data security are controlled through the server Scalability - any element can be upgraded when needed Flexibility - new technology can be easily integrated into the system Interoperability - all components (clients, network, servers) work together

42 ADVANTAGES OF CLIENT-SERVER (cont.)
Advantages often cited include: Accessibility - server can be accessed remotely and across multiple platforms Ease of application development Lower total costs than “mainframe legacy systems”. User friendly - familiar point and click interface

43 DISADVANTAGES OF CLIENT-SERVER
Disadvantages often cited include: Dependability - when the server goes down, operations cease Lack of mature tools - it is a relatively new technology and needed tools are lacking e.g.. Automated client software distribution Lack of scalability - network operating systems (e.g.. Novell Netware, Windows NT Server) are not very scalable. Higher than anticipated costs Can cause network congestion

44 DISADVANTAGES OF CLIENT-SERVER (cont.)
NOTE What some call advantages, others call disadvantages.

45 THE REALITY OF CLIENT-SERVER
Not a panacea - some successes, many early failures. More difficult to implement and more costly to maintain than originally thought. Technology relatively immature, but getting better Bottom line is you have to beware of vendor hype and analyze the suitability of client-server systems for a particular project on a case by case basis.

46 CLIENT-SERVER ARCHITECTURES
There are basically two types of client-server architectures Two tier architectures Three tier architectures The choice between the two should be made based on combination of: Schedule for project implementation Expected system changes and enhancements

47 TWO-TIER ARCHITECTURES
Application components are distributed between the server and client software In addition to part of the application software, the server also stores the data, and all data accesses are through the server. The presentation (to the user) is handled strictly by the client software. Server Network PC PC PC Clients

48 TWO-TIER ARCHITECTURES (cont.)
The PC clients assume the bulk of the responsibility for the application logic. The server assumes the bulk of the responsibility for data integrity checks, query capabilities, data extraction and most of the data intensive tasks, including sending the appropriate data to the appropriate clients.

49 TWO-TIER ARCHITECTURES (cont.)
SQL is a standard used on the clients to request appropriate subsets of data from the server. Data returned from the server to the clients is manipulated by the client software for reporting, business analysis, and “what if” analysis.

50 TWO-TIER ARCHITECTURES, ADVANTAGES
The commonly cited advantages of two-tier systems include: Fast application development time Available tools are robust and lend themselves to fast prototyping to insure user needs a met accurately and completely. Conducive to environments with homogeneous clients, homogeneous applications, and static business rules.

51 TWO-TIER ARCHITECTURES, DISADVANTAGES
The commonly cited disadvantages of two-tier systems include: Not suitable for dispersed, heterogeneous environments with rapidly changing business rules. Because the bulk of the application logic is on the client, there is the problem of client software version control and new version redistribution. Security can be complicated because a user may require separate passwords for each SQL server accessed.

52 TWO-TIER ARCHITECTURES, DISADVANTAGES (cont.)
The commonly cited disadvantages of two-tier systems include: Client tools and SQL middleware in two-tier environments tend to be proprietary. The volatility of the client /server tool market raises questions about the long-term viability of any proprietary tool. Organizations should be wary about committing to proprietary tools.

53 THREE-TIER ARCHITECTURES
3-tier architectures attempt to overcome some of the limitations of the 2-tier architecture by separating presentation, processing, and data into 3 separate and distinct entities. The software in the client handles the presentation (to the user) using similar tools as in the 2-tier architecture. Server Server Network PC PC PC Clients

54 THREE-TIER ARCHITECTURES (cont.)
When data or processing are required by the presentation client, a call is made to the middle-tier functionality server. This tier performs calculations, does reports, and makes any needed client calls to other servers (e.g.. a data base server).

55 THREE-TIER ARCHITECTURES (cont.)
Middle tier servers are usually coded in a highly portable, non-proprietary language such as C or C++. Middle tier servers may be multithreaded and can be accessed by multiple clients. The calling mechanism from client to server and from server to server is by means of RPC’s.

56 THREE-TIER ARCHITECTURES (cont.)
Because the bulk of 3-tier implementations use RPC’s and 2-tier implementations use SQL messaging, a careful examination of the merits of these respective request/response mechanisms is warranted.

57 THREE-TIER ARCHITECTURES, ADVANTAGES
Commonly cited advantages include: RPC calls from the presentation client to the middle tier provide greater generality (i.e. flexibility) than the SQL calls usually used in the 2-tier architecture. The 3-tier clients do not have to understand SQL. This allows the organization, names, or even the overall structure of back end data to changes without requiring changes in the PC-based presentation clients. This allows clients to access even non-relational databases and greatly simplifies introduction of new database technologies.

58 THREE-TIER ARCHITECTURES, ADVANTAGES (cont.)
Commonly cited advantages include: Having separate functionality servers allows for the parallel development of individual tiers by application specialists. Provides for more flexible resource allocation. Can reduce network traffic by having the functionality servers strip data to the precise structure needed before sending it to the clients.

59 THREE-TIER ARCHITECTURES, ADVANTAGES (cont.)
Commonly cited advantages include: Can use reusable program modules for different applications, thus reducing development and migration costs. 3-tier standards such as OSF/DCE (Open Software Foundation Distributed Computing Environment) offers a variety of features to support distributed application development.

60 THREE-TIER ARCHITECTURES, DISADVANTAGES
Often cited disadvantages of 3-tier architectures include: Creates an increased need for network traffic management, server load balancing, and fault tolerance. Current tools are relatively immature and are more complex. Maintenance tools are currently inadequate for maintaining server libraries. This is a potential obstacle for simplifying maintenance and promoting code reuse throughout the organization.

61 CLIENT-SERVER BUZZWORDS
Common client-server buzzwords include: Thin clients Fat clients Message Server Object Server Fat Server Middleware 3GL, 4GL

62 CLIENT-SERVER BUZZWORDS (cont.)
Since it is not unusual to get n different definitions of buzzwords from n different vendors, always ask what is meant by these “buzzwords”.


Download ppt "Computing Architecture"

Similar presentations


Ads by Google