30
IE 20303

Presentation6

  • Upload
    yusz-y

  • View
    507

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Presentation6

IE 20303

Page 2: Presentation6

What is Client/Server?

• Client• Server• Network• How is client/server different from other distributed

computing?– Heavy reliance on user-friendly applications– Emphasis on centralizing databases and management

functions– Commitment to openness/modularity– Networking fundamental to operation

Page 3: Presentation6

Client/Server Terminology• Application Programming Interface (API): A set of function and call

programs that allow clients and servers to intercommunicate.• Client: A networked information requester (usually a PC or

workstation) that can query a database and/or other information from a server.

• Middleware: A set of drivers, APIs, or other software that improves connectivity between a client application and a server.

• Relational Database: A database in which information access is limited to the selection of rows that satisfy all search criteria.

• Server: A computer, usually a high-powered workstation or a mainframe, that houses information for manipulation by networked clients.

• Structured Query Language (SQL): A language developed by IBM and standardized by ANSI for addressing, creating, updating, or querying relational databases.

Page 4: Presentation6

Client-Server Environment

Page 5: Presentation6

Why is Client-Server Different?

• Emphasis on user-friendly client applications• Focus on access to centralized databases• Commitment to open and modular

applications• Networking is fundamental to the organization

Page 6: Presentation6

Client/Server Applications

• Emphasis on GUI for users• Database Example– Database on server, applications for access on

client, “glue” (like SQL) enables requests)– Application logic can be client-only, or split

between client and server

Page 7: Presentation6

Classes of Client-Server Applications

• Host-based processing• Server-based processing• Client-based processing• Cooperative processing• “Thick client” vs “Thin server”

Page 8: Presentation6

3-Tier Client/Server Architecture

Page 9: Presentation6

Middleware

• Standardized interfaces and protocols between clients and back-end databases

• Hides complexity of data sources from the end-user

• Compatible with a range of client and server options

• All applications operate over a uniform applications programming interface (API).

Page 10: Presentation6

Middleware Architecture

Page 11: Presentation6

Logical View of Middleware

Page 12: Presentation6

Basic Message Passing Primitives

Page 13: Presentation6

Message Passing Issues

• Reliability vs Unreliability– Reliable facilities guarantee delivery, provide error-

checking, retransmission, etc– Alternatively, the message can be sent without

success/failure; reduces complexity and overhead, passes responsibility for confirmation to application

• Blocking vs Nonblocking– Non-blocking more efficient, but difficult to test and debug

programs– Blocking (synchronous) retains control until

acknowledgment is received

Page 14: Presentation6

Remote Procedure Call Mechanism

Page 15: Presentation6

Client/Server Binding

• Nonpersistent binding– Does not maintain state information, connections

re-established as necessary– Inappropriate for RPCs used frequently by same

caller• Persistent binding– Connection sustained until procedure return– Useful for applications making repeated calls to

remote procedures

Page 16: Presentation6

Object-Oriented Mechanisms

• Clients and servers ship messages between objects.• May rely on an underlying message or RPC structure

or be developed directly on top of object-oriented capabilities in the operating system

• Success depends on standardization of the object mechanism, but competing models exist– COM, OLE, CORBA

Page 17: Presentation6

Intranets

• Implementation of Internet-based technologies within an organization, rather than for global connectivity

• Immensely successful in corporate computing contexts

Page 18: Presentation6

Advantages of Intranets

• Rapid prototyping• Scales effectively• Little training

required• Can be

implemented on variety of systems

• Open architecture allows interaction across platforms

• Supports a range of distributed servers

• Allows integration of legacy systems on client and server side

• Supports a range of media types

• Inexpensive to implement

Page 19: Presentation6

The Intranet Web

• Web Content– The web can be used to effectively distribute content in a

way that requires no new training for end-users

• Web/Database Connectivity– Multiple tools exist to serve as middleware between web

servers and data sources

• Electronic Mail• Network News

Page 20: Presentation6

Corporate Intranet Example

Page 21: Presentation6

Web/Database Connectivity

• Advantages– Ease of

administration– Deployment– Development

speed– Flexible

information presentation

• Disadvantages– Limited

functionality– Stateless operation

makes tracking difficult

Page 22: Presentation6

Intranet Webs vs Traditional Client/Server

• Client/Server Disadvantages Include:1. Long development cycles2. Difficulty in partitioning applications, and modifying based on user feedback3. Effort in distributing upgrades to clients4. Difficult in scaling servers to respond to increased load5. Continuous requirement for more powerful desktop machines

Page 23: Presentation6

Other Intranet Technologies

• Electronic Mail– Closed internal mail systems (delivery verification,

etc)– Internal mailing lists

• Network news (USENET)– Can be adopted for internal intranet uses

Page 24: Presentation6

Extranets

• Extends the intranet concept to provide information and services to selected outside populations, such as customers and suppliers

• Enables the sharing of information between companies

• A TCP/IP enabled form of EDI

Page 25: Presentation6

Advantages of Extranets

• Reduced costs• Coordination• Customer Satisfaction• Expedited communication

Page 26: Presentation6

Methods for Converting Intranets to Extranets

• Long-distance dial-up access• Internet access to intranet with security• Internet access to an external server that duplicates

some of a company’s intranet data• Internet access to an external server that originates

database queries to internal servers• Virtual private network

Page 27: Presentation6

Service Oriented Architecture

• Client/server architecture utilized widely by enterprise systems

• Business functions consist of modular structures

Page 28: Presentation6

SOA Architectural Elements

• Service provider: network node that provides a service interface for a software asset that manages a specific set of tasks.

• Service requestor: network node that discovers and invokes other software services.

• Service broker: specific kind of service provider that acts as a registry and allows lookup of service provider interfaces and service locations.

Page 29: Presentation6

Key Characterisitics for Effective Services Use

• Coarse-grained• Interface-based design• Discoverable• Single Instance• Loosely Coupled• Asynchronous

Page 30: Presentation6

SOA Example