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

Application Type Flexibility and Growth User Independence Performance Availability Initial Cost Upgrade Cost Manageability and Control Security

Single Tier Enterprise wide, mission-critical, OLTP Not Good Not Good

Two Tier Decision Support Good

Three Tier Enterprise-wide Applications Very Good Very Good Many Choices Very Good High Low Not Good Not Good

Good Congestion at Congestion at Host Network Not Good Good Low High Very Good Very Good Medium Medium Good 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


• • • Servlets • •

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 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 • • • • WSDL • • 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 (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 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 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

• • •

UDDI • • •

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 • TP-Lite •

No transaction management is utilized, database updates are applied when issued. Transactions cannot be aborted without backing them out. 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

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.