You are on page 1of 6

Client/Server Final Exam Notes

1) Business Processes – activities supporting business goals

Applications – automated support for business processes

Infrastructure – technology and equipment necessary to support applications

Relationship – Business Processes drive applications drive infrastructure


Infrastructure enables applications enables business processes

2) Function of following C/S layers


Data – stored business information
Processing – implements business logic
User Interface – allows the user to interact with the application

Single-tier
• Historically used in mainframes
• Data, processing, and user interface all handled on one machine
• Still suitable for mission critical OLTP applications

2-tier
• Model involves the separation of the processes between two machines
• Typically UI and Processing on one machine and data on another

3-tier
• Model involves three or more machines
• UI on client
• Middle-tier handling business logic
• Data-tier handling database tasks

Screen Scrape
• All application processing occurs on the server
• UI is built on server and enhanced by client
Single Tier Two Tier Three Tier
Enterprise wide,
Enterprise-wide
Application Type mission-critical, Decision Support
Applications
OLTP
Flexibility and Growth Not Good Good Very Good
User Independence Not Good Good Very Good
Congestion at
Performance Congestion at Host Many Choices
Network
Availability Not Good Good Very Good
Initial Cost Low Medium High
Upgrade Cost High Medium Low
Manageability and Control Very Good Good Not Good
Security Very Good Good Not Good

3) Database – a collection of structured information

Table – group of related information within a database

Record – a row of information within a table

Field – a column in a table that represents some particular information

Database Key – unique identifier (usually a number) for each record within a table

Header/Detail Relationship (Parent/Child Relationship)

SQL (Structured Query Language) – programming language used to access and


manipulate information within a database

4) Object-Oriented Programming
Software programs are created by defining a series of objects that interact with
one another to perform program functions

An object is a software module with its own


– Attributes or Properties (local variables)
– Methods (functions and subroutines)

Benefits:
Re-use components
Structured so easy to read and follow (debug, trace)
Multi-threading (two processes at once)
5) Object – a piece of data with attributes and methods which apply to the data
Method – function or subroutine within a class
Property – (also called attributes) Local variables within a class
Class – a collection of like objects
Abstraction – ability to treat a collection of similar objects as a group
Inheritance – an object can inherit attributes and methods from other objects
Polymorphism – ability to change inherited properties of objects
Encapsulation – objects have a number of variables (attributes) assigned to them, these
variables should only be changed within the object. If they need to be changed by
an external object, a method will be created to provide an interface to the attribute

5) Internet User - The user who accesses data across the internet
Content Provider - Those that provide the data exposed on the internet
Internet Access Provider (IAP) - An organization that provides the initial
connection to the internet. Examples would be an office with a LAN that
connects to the internet, or a library with public access to the internet.
Internet Service Providers (ISP) - The organizations that provide the infrastructure
(communication lines, servers) that everything runs on.
HTML – markup language used to define web pages
HTTP – hypertext transfer protocol provides for request and retrieval of files
stored on the web.
CGI (common gateway interface) – allows web servers to access information
stored on corporate networks such as legacy apps and databases.
Single Step Gateway is a CGI program that contains the entire logic for the
application
Two-Step Gateway is a CGI program that dispatches the request to a (typically)
more complex program on the host

6) Java
Java vs C++
Simpler (no pointers, no multiple inheritance, no operator overloading)
Portable
Forces OO techniques (no gotos, no functions, no procedures)
Java Virtual Machine – interprets Java bytecode into specific implementation
Bytecode – code generated by Java compiler

Applications
• Java can be used to develop full-featured applications that can be deployed on
multiple target platforms
• Java Applications have access to the target computer’s file system
• Java can be used to write ‘console’ applications or GUI applications
• Java GUI applications might have a slightly different look-and-feel from the
typical target machine’s application

Applets
• An Applet is a Java program that runs in a web browser
• Applets do NOT have access to resources on the target machine and thus
cannot modify files on the target system
• Applets will typically be GUI applications, there is no such thing as a
‘console’ applet

Servlets
• Java Servlets are server side programs that are written to respond to HTTP
requests and typically extend the capabilities of a web server, similar to a CGI
script
• They are commonly used to process web forms and retrieve requests for data

JavaBeans
• JavaBeans is the architecture that Java provides for developing reusable
components that can be integrated into Java IDE’s as controls
• Beans may be something as simple as a modified button control, or as
complex as a database access tool.

7) .NET
• The vision is that companies will connect all of their network servers and
clients via .NET web services, and that application providers will use .NET to
distribute their applications.

Web services
• A primary challenge in IT today is integrating the various systems present in
an environment
• Web Services are a means to provide a common interface between
applications using a standard open protocol
• They are an answer to the complexities of distributed object implementations
such as DCOM and CORBA

XML
• XML stands for Extensible Markup Language
• It is an HTML-like language that uses tags to describe the various data
elements of an XML message
• It has become a standard means to transfer information between applications
• Presentation includes data and schema

WSDL
• WSDL (Whizz-dul) stands for Web Service Description Language
• When a developer exposes a web service for use by other applications, a
WSDL document is created to describe the service and its parameters
• WSDL is an XML document interpreted by the web service consuming
application and has a function similar to a .dll header

SOAP
• Soap stands for Simple Object Access Protocol
• SOAP combines the functionality of an RPC and RDA
• It is the communications protocol for an XML web service, one of the chief
advantages being that it uses the standard HTTP port number (80) for its
communications, which makes it easier to configure communications through
firewalls

UDDI
• Stands for Universal Discovery Description and Integration
• It is a directory of publicly available web services
• Microsoft’s long term goal is for companies to expose shared information via
UDDI, allowing them to easily send messages from one system to another

8) .NET Framework
• The .NET Framework is the foundation on which modern Windows
applications are built
• It is a set of objects that support development of Windows applications
• The .NET Framework is a developer tool. Its functionality is hidden from the
user.

Win32 API => MFC => .NET Framework

9) Transactions
• Database transactions form the core functionality of a typical Client/Server
System
• A transaction consists of one or more database operations that must be
performed as a unit

Record Locking
• In some databases, a record can be locked. This is done to protect a record
from change while an update is prepared
Commit
• In an all-or-nothing transaction, all of the data updates are prepared and sent
to the target systems. The updates are not applied until all target systems have
responded to the request. After they have responded a commit is issued to
actually apply the changes
TP-Less
• No transaction management is utilized, database updates are applied when
issued. Transactions cannot be aborted without backing them out.

TP-Lite
• Transactions are handled through the use of stored procedures on the target
system

TP-Heavy
• Transactions are managed through several strategies, including commitment
control

Data Replication
• Although out of favor today, data replication servers can simplify some
transaction processing
• A data replication server captures changes on a database and then copies those
changes to records on target databases
• Some reasons for data replication
– Maintaining local copies of some data for performance reasons
– Integrating data from several servers
– Data warehousing
– Detachable clients (sales team with laptops)
– Data migration during an implementation of a new system

You might also like