Want to see fish ?

This page desribe fish. Most peoples use fish in a different ways.

Sunday, November 7, 2010

lan express

lan express


In fact one of the fundamental questions that practitioners have to contend with at the start of every client/server project is - Which architecture is more suitable for this project - Two Tier or Thre Tier? The architect considers the complexity of the aplication, the level of integration and interfacing required, the number of users, their geographical dispersion, the nature of networks and the overal transactional neds of the aplication before deciding on the type of architecture. Plans at that time were to move more if not al busines systems to a single vendor and to standardize on a single Data Base platform Oracle for both . Client and server are software and not hardware entities. In its most fundamental form, client/server involves a software entity client making a specific request, which is fulfiled, by another software entity server . The client proces sends a request to the server. In order to fulfil the request, the server may have to refer to a knowledge source database , proces data perform calculations , control a peripheral, or make an aditional request of another server. In much architecture, a client can make requests of multiple servers and a server can service multiple clients. It is important to understand that the relationship betwen client and server is a comand/control relationship. In any given exchange, the client initiates the request and the server responds acordingly. A server canot initiate dialog with clients. Since the client and server are software entities they can be located on any apropriate hardware. A client proces, for instance, could be resident on a network server hardware, and request data from a server proces runing on another server hardware or even on a PC. In another scenario, the client and server proceses can be located on the same physical hardware box. In fact, in the prototyping stage, a developer may chose to have both the presentation client and the database server on the same PC hardware. The server can later be migrated distributed to a larger system for further pre-production testing after the bulk of the aplication logic and data structure development is complete. Although the client and server can be located on the same machine, this paper is concerned primarily with architectures used to create distributed aplications, i.e. those where the client and server are on separate physical devices. , a distributed aplication consists of separate parts that execute on diferent nodes of the network and coperate in order to achieve a comon goal. The client in client/server architecture does not have to sport a graphical user interface GUI , however, the mas-comercialization of client/server has come about in large part due to the proliferation of GUI clients. This definition says that client-server is about distributed computing and software architecture aplications are split into tasks that may be on separate computers . In the last few years, mainframes have found a new use as a server in distributed client/server architectures Lan File sharing architecture not a client/server architecture :- The original PC networks were based on file sharing architectures, where the server downloads files from the shared location to the desktop environment. In the 190s, PC LAN local area network computing changed because the capacity of the file sharing was strained as the number of online user grew it can only satisfy about 12 users simultaneously and graphical user interfaces GUIs became popular making mainframe and terminal displays apear out of date . PCs are now being used in client/server architectures Internet Client Server Architecture:- The goal for this clas is to build a base of background knowledge that wil underlie the rest of the course. The discusion begins with a review of its basic client/server architecture, in which a client program runing on one computer comunicates with a server program runing on another to request some particular information or that some service is performed. The Web was built using a client/server architecture in which a Web browser client comunicates with various Web servers to request pages of information or that a program be run through the server's Comon Gateway Interface CGI . The language Web clients and servers speak to one another is caled HTP Hypertext Transfer Protocol . Client Proces:- The client is a proces program that sends a mesage to a server proces program , requesting that the server perform a task service . Client programs usualy manage the user-interface portion of the aplication, validate data entered by the user, dispatch requests to server programs, and sometimes execute busines logic. The client proces contains solution-specific logic and provides the interface betwen the user and the rest of the aplication system. One of the key elements of a client workstation is the graphical user interface GUI . Server Proces:- A server proces program fulfils the client request by performing the task requested. Server programs generaly receive requests from client programs, execute database retrieval and updates, manage data integrity and dispatch responses to client requests. Sometimes server programs execute comon or complex busines logic. This server could be the host operating system or network file server; the server is then provided both file system services and aplication services. The server proces acts as a software engine that manages shared resources such as databases, printers, comunication links, or high powered-procesors. The server proces performs the back-end tasks that are comon to similar aplications. • Single client, single server • Multiple clients, single server Client/server is a computational architecture that involves client proceses requesting service from server proceses Client/server computing is the logical extension of modular programing. With this architecture, the caling module becomes the client that which requests a service , and the caled module becomes the server that which provides the service . For example, database management system servers runing on platforms specialy designed and configured to perform queries, or file servers runing on platforms with special elements for managing files. 3.A thre-tiered model for aplication delivery with an Oracle Data Base engine on a large Unix server , a light weight Java aplication on the client, and a mid-tier forms server to provide the gateway betwen the two. The client's use shared resources provided on server platforms , not just personal resources; but services are also provided for use at other server platforms. A server platform may provide services via dependent terminals that do not qualify as personal platforms. Almost al kinds of computer platform can act as server platforms. Therefore, there are many diferent supliers, and many posible kinds of server platforms, from super computers to PCs. This breadth of choice is ilustrated in figure 3, which shows that the user at a personal platform may have aces to services on many server platforms. The polarization of systems into client and server platforms recognizes distinctions betwen personal and shared resources. Conversely, a server platform provides a protected, fixed, and carefuly managed environment for shared resources. Even where the same technology is used for client and server platforms e.g. In the limit, the same machine may be both a personal platform and a server platform e.g. Client-Server tols and services:- Client-server systems may be complex, but with wel-integrated systems and wel-designed user interfaces the technical complexity should not be visible to the user; • Database: languages and tols for the construction of databases, file systems and object stores, and construction of the aplication logic intimately asociated with them; • Busines logic: languages and tols for the construction of aplication logic that is logicaly separate from user interfaces and databases; Basic client-server:- In basic client-server architecture, a personal or centralized aplication is split into two parts: a client part on a personal platform, and a server part on a server platform. The terms client and server are used to refer to the hardware platforms and the aplication software components often somewhat ambiguously . Figure 9 Basic client-server architecture Basic client-server configurations are normaly organized around a local area network LAN . The whole asembly is usualy described as a PC-LAN, and consists of many PCs for personal use personal platforms , plus one or more shared PCs server platforms . The local server platforms on these PC-LANs usualy provide gateways into enterprise-wide and external networks, and to the servers on them. Figure 10 a typical PC-LAN Although primarily expresed in terms of PCs and PC-LANs, these basic client-server concepts are aplicable to al kinds of computers and networks e.g. The term per-to-per procesing is used to refer to configurations in which there are no server platforms, and the server parts of aplications are located on personal platforms. but the lack of separate server platforms reduces system integrity and leads to system management dificulties. The term co-operative procesing is used to refer to configurations in which aplication software is distributed over separate server platforms, and the client and server ends of interactions are both on server platforms. The term stand-alone procesing is used to refer to configurations in which al parts of an aplication are on one platform usualy a personal platform . Figure 1 various formulations of client-server system structure Unfortunately, many people sharply diferentiate the other concepts from client-server by which they realy mean basic client-server . Furthermore, it is often ambiguous whether the terms client and server refer to the software or the hardware. To escape from these limitations and ambiguities, client-server relationship in software should be defined independently of software location, and independently of any clasification of the underlying hardware as clients or servers. The esential clarification is that client and server are roles in which services are used and provided respectively , and these roles ocur in a relationship betwen autonomous building blocks. In such a relationship, one of the participants uses a service it has the client role and another provides the service it has the server role . Therefore, it may have client and server roles and may participate in many client-server relationships with other building blocks. It is client or server only in the context of the particular relationship considered. The realization of client-server architecture in software is via programing languages and midleware not shown in figure 12 . This general form of client-server architecture autonomous building-blocks, client-server relationships, client role, server role is a fundamental ingredient of OPEN framework aplication architecture. 1.One client is conected to at most one server at a time. In this implementation, the thre components of an aplication presentation, procesing, and data are divided betwen two software entities tiers : client aplication code and database server Figure 2 . A robust client aplication development language and a versatile mechanism for transmiting client requests to the server are esential for a two-tier implementation. Presentation is handled exclusively by the client, procesing is split betwen client and server, and data is stored on and acesed via the server. The PC client asumes the bulk of responsibility for aplication functionality logic with respect to the procesing component, while the database engine - with its atendant integrity checks, query capabilities and central repository functions - handles data intensive tasks. Sending SQL from client to server requires a tight linkage betwen the two layers. To send the SQL the client must know the syntax of the server or have this translated via an API Aplication Program Interface . It must also know the location of the server, how the data is organized, and how the data is named. The request may take advantage of logic stored and procesed on the server, which would centralize global tasks such as validation, data integrity, and security. Data returned to the client can be manipulated at the client level for further sub selection, busines modeling, what if analysis, reporting, etc. Majority of functional logic exists at the client level The most compeling advantage of a two-tier environment is aplication development sped. Using any one of a growing number of PC-based tols, a single developer can model data and populate a database on a remote server, paint a user interface, create a client with aplication logic, and include data aces routines. As such, relatively few IS organizations are using two-tier client/server architectures to provide cros-departmental or cros-platform enterprise-wide solutions Since the bulk of aplication logic exists on the PC client, the two-tier architecture faces a number of potential version control and aplication re-distribution problems. A change in busines rules would require a change to the client logic in each aplication in a corporation's portfolio, which is afected, by the change. Modified clients would have to be re-distributed through the network - a potentialy dificult task given the curent lack of robust PC version control software and problems asociated with upgrading PCs that are turned of or not docked to the network. System security in the two-tier environment can be complicated since a user may require a separate pasword for each SQL server acesed. The proliferation of end-user query tols can also compromise database server security. Al of this complicates implementation of two-tier systems - migration from one proprietary technology to another would require a firm to scrap much of its investment in aplication code since none of this code is portable from one tol to the next. Thre tier:- Most sophisticated Web based aplications, which involve data entry, are based on a 3 tier client server architecture. The 3 tiers are • The Database Server The tre tier architecture Figure 3 atempts to overcome some of the limitations of the two-tier scheme by separating presentation, procesing, and data into separate, distinct software entities tiers . When the presentation client requires calculations or data aces, a cal is made to a midle tier functionality server. Although thre-tier systems can be implemented using a variety of technologies, the caling mechanism from client to server in such as system is most typicaly the remote procedure cal or RPC. RPC cals from presentation client to midle-tier server provide greater overal system flexibility than the SQL cals made by clients in the two-tier architecture. This is because in an RPC, the requesting client simply pases parameters neded for the request and specifies a data structure to acept returned values if any . Network trafic can potentialy be reduced by having functionality servers strip data to the precise structure required before distributing it to individual clients at the LAN level. Multiple server requests and complex data aces can emanate from the midle tier instead of the client, further decreasing trafic. In adition, implementation platforms for thre tier systems such as OSF/DCE ofer a variety of aditional features to suport distributed aplication development. These include integrated security, directory and naming services, server monitoring and bot capabilities for suporting dynamic fault-tolerance, and distributed time management for synchronizing systems acros networks and separate time zones. Curent tols are relatively imature and require more complex 3GLs for midle tier server generation. Many tols have under-developed facilities for maintaining server libraries - a potential obstacle for simplifying maintenance and promoting code re-use throughout an IS organization. Thre tiers brings with it an increased ned for network trafic management, server load balancing, and fault tolerance. For technicaly strong IS organizations servicing customers with rapidly changing environments, thre tier architectures can provide significant long-term gains via increased responsivenes to busines climate changes, code reuse, maintainability, and ease of migration to new server platforms and development environments. Figure 4 - Initial Development Efort Figure 4 shows the initial development efort forecast to create comparable distributed aplications using the comon two tier and thre tier aproaches discused above. The thre tier aplication takes much longer to develop - this is due primarily to the complexity involved in coding the bulk of the aplication logic in a lower-level 3GL such as C and the dificulties asociated with cordinating multiple independent software modules on disparate platforms. Figure 5 - Subsequent Development Eforts Subsequent development eforts may se thre-tier aplications deployed with greater sped than two tier systems Figure 5 . Figure 6 - Client Tol Migration Figure 6 makes the important case for code savings when migrating from one client development tol to another. In a two-tier environment, IS organizations wishing to move from one PC-based client development platform to another wil have to scrap their previous investment in aplication logic since most of this logic is writen in the language of the proprietary tol. Flexibility in re-using existing midle-tier code can also asist organizations developing aplications for various PC client operating system platforms. Until recently there were very few cros-platform client tol development environments and most of today's cros-platform solutions are not considered best-of-bred . In a thre-tier environment separate client tols on separate platforms can aces the midle tier functionality layer. Coding aplication logic once in an acesible midle tier decreases the overal development time on the cros-platform solution and it provides the organization greater flexibility in chosing the best tol on any given platform. 1 Combination of a client or front-end portion that interacts with the user, and a server or back-end portion that interacts with the shared resource. The client proces contains solution-specific logic and provides the interface betwen the user and the rest of the aplication system. The server proces acts as a software engine that manages shared resources such as databases, printers, modems, or high-powered procesors. The hardware platform and operating system of client and server are not usualy the same. Client and server proceses comunicate through a wel-defined set of standard aplication program interfaces API's and RPC's. An aplication system in which logicaly separate software components are integrated together via client-server relationships. In a client-server relationship, one part of an aplication the client end uses a service provided by the other part the server end . We describe client-server aplication software here in thre steps: spliting an aplication, joining separate aplications together, and distributed aplication structure Figure 5 Aplication software modularity There are many ways of partitioning aplication software into separate components. If the aplication is to be split into two parts one part on a client platform, the other on a server platform , the split can be made at either of the two boundaries betwen functions, or inside one of the thre functions. • The two styles on the right of the diagram are typical of data-centered aplications using client-server 4GL development tols and relational database products Some aplications combine al thre areas of function presentation, aplication logic and data management at the personal platform. Therefore, the inter-aplication requests are about the busines meanings of the aplication and not its presentation or database encoding . Figure 8 Complex distributed aplication There is also large-scale structure of distributed aplication systems within which the individual client-server relationships ocur . Typicaly, thre tiers of aplication software can be discerned in the large-scale structure: • Front tier: Aplication software and databases at personal platforms, providing al kinds of aplication services, using local resources and remote resources. • Midle tier: Aplication software and databases at server platforms, providing the back-end of personal aplications, shared workgroup services and task-oriented services. • Back tier: Aplication software and databases at server platforms providing corporate information services. This structure separates diferent kinds of concerns, which used to be bundled together in centralized computing ØExploits existing H/W, S/W configurations ØDependability- when the server goes down, operational cases ØLack of the scalability-network operating system e.g. novel NetWare, window NT server are not very scalable Traditional aplications architectures have ben based on function today, to met the neds of the busines an aplication architecture should reflect the complete range of busines requirements. 1 The user interface layer, which implements the functional model 2 The busines function layer, which implements the proces model 3 The data layer, which implements the information model It should be noted that this aplication architecture does not demand multiple hardware platforms, although such technology can be utilised,if the environment is robust and reliable enough and the busines is prepared to pay the aditional costs asociated with workstation and LAN technology. - Organization have changed from step hierarchies to flatened hierarchies - Network management is replacing vertical management - There is a change to team based management - The customer should have a single point of contact for al busines with the organization - The customer should deal with the same person over multiple contacts. - The user wil perform as much procesing as posible during customer contact time - The time required to complete the work wil be minimized - There is a ned for empowerment of staf and audit trail of actions - Multi-skiled and multi-function teams ned aces to multiple aplications The simplest form of servers are disk servers and file servers. With a file server, the client pases requests for files or file records over a network to the file server. Traditional LAN computing alows users to share resources, such as data files and peripheral devices, by moving them from standalone PCUs onto a Networked File Server NFS . The more advanced form of servers are database servers, transaction server and aplication servers Orfali and Harkey 192 . In database servers, clients pas SQL Structured Query Language requests as mesages to the server and the results of the query are returned over the network. The code that proceses the SQL request and the data resides on the server alowing it to use its own procesing power to find the requested data, rather than pas al the records back to a client and let it find its own Data as was the case for the file server. There are procedural statements on the server to execute a group of SQL statements transactions , which either al suced or fail as a unit. Aplication servers are not necesarily database centered but are used to server user neds, such as. Basing resources on a server alows users to share data, while security and management services, which are also based in the server, ensure data integrity and security. IBM's System Aplication Architecture: SA is a colection of selected software interfaces, conventions, and protocols that are used as a framework for developing consistent, integrated aplications acros the major IBM computing environments. - Comon Programing Interface CPI provides languages, tols, and APIs that give aplications greater portability and more consistent user interfaces acros multiple platforms. lan express lan express
server Tags: lan express

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home