10) Introduction To Web Applications Material
10) Introduction To Web Applications Material
The component groups can only have explicit members, which means that you cannot populate
them dynamically. For example, you may have a distributed application with a set of web sites.
You install an additional web server with a site that should be included. You would have to edit
the distributed application and manually add the new site.
You cannot create multiple levels of health rollup. The health of the application will be the worst
health of any of the component groups regardless of the relationships that have been created for
them.
own. These can be objects created by different monitoring wizards as discussed in Management Pack
Templates.
Component Groups
A component group can contain any number of objects, and any object added to the distributed
application must be contained in a component group. When you create the component group, you specify
one or more classes that the group can contain. Only objects that are instances of these classes may be
added to the particular group. If you specify All Objects then any objects in the management group can
be included in the component group.
If you want to limit the objects that can be included in the component group, then you should select the
Object(s) if the following type(s) and then select one or more classes from the class tree. The tree will
contain all of the classes in the management group which are provided by all the management packs
currently installed.
The dialog box arranges classes in a tree according to their base classes. You can read more about base
classes at Base Classes. If you select a class, then each of its base classes will also be selected. This
allows you to select a single class such as Computer Role that is often used as a base class and
automatically select all of its base classes.
Relationships
Relationships can be drawn between component groups to represent some relation between different
kinds of objects. Health is not rolled up between the component groups, but the relationship is indicated
by lines between the groups.
6. Message-based exchanges: Clients and servers are loosely coupled systems that interact through a
message-passing mechanism. The message is the delivery mechanism for the service request and replies.
7. Encapsulation of services: The server is a specialist. A message tells a server is requested; it is then up
to the server to determine how to get the job done. Servers can be upgraded without affecting the clients
as long as the published message interface is not changed.
8. Scalability: Client/Server systems can be scaled horizontally or vertically. Horizontal scaling means
adding or removing client workstations with only a slight performance impact. Vertical scaling
means either migrating to a larger and faster server machine or distributing the processing load across
multiple servers.
9. Integrity: The server code and server data is centrally managed, which results in cheaper maintenance
and the guarding of shared data integrity. At the same time, the clients remain personal and independent
Merits and Demerits of the Client Server
The Merits of Client/Server Computing
Client/server computing provides the capability to use the most costeffective user interface, data storage,
connectivity, and application services. Frequently, client/server products are deployed within the present
organization but are not used effectively. The client/server model provides the technological means to use
previous investments in concert with current technology options. Organizations see opportunities to use
technology to provide business solutions. Service and quality competition in the marketplace further
increases the need to take advantage of the benefits available from applications built on the client/server
model. Client/server computing in its best implementations moves the data-capture and informationprocessing functions directly to the knowledgeable workerthat is, the worker with the ability to respond
to errors in the data, and the worker with the ability to use the information made available.
1. Enhanced Data Sharing
Data that is collected as part of the normal business process and maintained on a server is immediately
available to all authorized users. The use of Structured Query Language (SQL) to define and manipulate
the data provides support for open access from all client processors and software. SQL grants all
authorized users access to the information through a view that is consistent with their business need.
Transparent network services ensure that the same data is available with the same currency to all
designated users.
2. Integrated Services
In the client/server model, all information that the client is entitled to use is available at the desktop.
There is no need to change into terminal mode or log into another processor to access information.
All authorized information and processes are directly available from the desktop interface. The desktop
toolse-mail, spreadsheet, presentation graphics, and word processingare available and can be used to
deal with information provided by application and database servers resident on the network. Desktop
users can use their desktop tools in conjunction with information made available from the corporate
systems to produce new and useful information.
3. Sharing Resources among Diverse Platforms
The client/server computing model provides opportunities to achieve true open system computing.
Applications may be created and implemented without regard to the hardware platforms or the technical
characteristics ofthe software. Thus, users may obtain client services and transparent access to the
services provided by database, communications, and applications servers. Operating systems software and
platform hardware are independent of the application and masked by the development tools used to build
the application. In this approach, business applications are developed to deal with business
processes invoked by the existence of a user-created "event."
4. Data Interchangeability and Interoperability
SQL is an industry-standard data definition and access language. This standard definition has enabled
many vendors to develop production-class database engines to manage data as SQL tables. Almost all the
development tools used for client/server development expect to reference a back-end database server
accessed through SQL. Network services provide transparent connectivity between the client and local or
remote servers. With some database products, such as Ingres Star, a user or application can define a
consolidated view of data that is actually distributed between heterogeneous, multiple platforms.
Systems developers are finally reaching the point at which this heterogeneity will be a feature of all
production-class database engine products. Most systems that have been implemented to date use a single
target platform for data maintenance. The ability to do high-volume updates at multiple locations and
maintain database integrity across all types of errors is just becoming available with production-level
quality performance and recovery. Systems developed today that use SQL are inherently transparent to
data storage location and the technology of the data storage platform. The SQL syntax does not specify a
location or platform. This transparency enables tables to be moved to other platforms and locations
without affecting the application code. This feature is especially valuable when adopting proven, new
technology or if it makes business sense to move data closer to its owner.
5. Location Independence of Data and Processing
We are moving from the machine-centered computing era of the 1970s and 1980s to a new era in which
PC-familiar users demand systems that are usercentered. Previously, a user logged into a mainframe,
mini-, or micro application. The syntax of access was unique in each platform. Function keys, error
messages, navigation methods, security, performance, and editing were all very visible. Today's users
expect a standard "look and feel." Users log into an application from the desktop with no concern for the
location or technology of the processors involved.
6. In most cases, client-server architecture enables the roles and responsibilities of a computing system to
be distributed among several independent computers that are known to each other only through a network
This creates an additional advantage to this architecture: greater ease of maintenance. For example, it is
possible to replace, repair, upgrade, or even relocate a server while its clients remain both unaware and
unaffected by that change. This independence from change is also referred to as encapsulation.
7. All the data is stored on the servers, which generally have far greater security controls than most
clients. Servers can better control access and resources, to guarantee that only those clients with the
appropriate permissions may access and change data. Since data storage is centralized, updates to that
data are far easier to administer than what would be possible
8. Many mature client-server technologies are already available which were designed to ensure security,
'friendliness' of the user interface, and ease of use. It functions with multiple different clients of different
capabilities
The Demerits of Client/Server Computing
1. Traffic congestion on the network has been an issue. As the number of simultaneous client requests to a
given server increases, the server can become severely overloaded. Contrast that to a P2P network, where
its bandwidth actually increases as more nodes are added, since the P2P network's overall bandwidth can
be roughly computed as the sum of the bandwidths of every node in that network.
2. The client-server paradigm lacks the robustness of a good P2P network. Under client-server, should a
critical server fail, clients requests cannot be fulfilled. In P2P networks, resources are usually distributed
among many nodes. Even if one or more nodes depart and abandon a downloading file, for
example, the remaining nodes should still have the data needed to complete the
download
client requests the services from the server; the server processes the request and returns the result to the
client. The communication mechanism is a message passing InterProcess communication (IPC) that
enables the distributed placement of the client and server processes .
The Client/Server is the generic model and fits what is know in the industry as the cooperating
processing or peer-to-peer. The client/server computing is fundamentally platform independent.
The user of an application wants the functionality (business) it provides; the computing platform provides
access to this business functionality. There are no benefits but a considerable amount of risk of exposing
the platform to the users.The changes in the platform and the underlying technology should be transparent
to the user, as it is understood that the systems built with transparency to the technology, for the entire
user offer the highest probability of solid ongoing return for the technology investment. It is also easily
demonstrable that is the developers become aware of the target platform, development will be bound to
that platform and they will use special tricks and feature found in that specific platform .
Your local website behaves more like the live one. For example, you can configure directory
security, test your custom error pages etc before commiting them to the production environment.
You can use server-side scripting languages such as PHP and ColdFusion.
Allows you to standardize your coding. For example, you can use root-relative paths for your
image references and hyperlinks (i.e. "/directory/image.gif"). In other words, your paths can
represent the website structure, rather than the directory structure of your computer.
Knowledge. The knowledge you gain from using your own web server will help you understand
how it works in the live environment. This will most certainly help you when you need to
communicate with your hosting provider - you'll be able to use terminology that makes it easier
for them to understand your request/issue.