* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Client/Server Architectures
Survey
Document related concepts
Transcript
Enterprise Systems MIS 181.9: Service Oriented Architecture 2nd Semester, 2011-2012 Learning Objectives ► At the end of this section, students should be able to: ► Identify the different components of enterprise automation. ► Review history of computers, focusing on the development of enterprise systems. ► Review the different architectures used for enterprise systems. Scope of Enterprise Automation ► Application ► Automating business functions ► Application development technologies ► Infrastructure ► Hardware, network technologies ► System software ► Architecture ► Overall plan Early Enterprise Systems: MAINFRAMES ► Powerful computers ► Able to process several transactions at a time ► CENTRALIZED COMPUTING Mainframe An ICL 2966 Model 39, at the National Museum Of Computing, Bletchley Park, UK Terminal Mainframe System Components ► Hardware ► ► ► Vacuum tubes, magnetic drums, magnetic tapes (1950s) Transistors (1960s) Large-scale integrated circuits (LSI) (1970s) ► Software ► ► ► technologies technologies COBOL, FORTRAN programming languages MVS, z/OS (operating systems) CICS (transaction management), IMS (IBM Hierarchical DB), RACF (security) Where were Mainframes used? ► Used in universities, airline companies, US government agencies ► Research ► Department ► Weather ► First of Defense Bureau computer used for business ► LEO Payroll Major Players in the Mainframe Industry ► IBM ► Burroughs ► UNIVAC ► NCR (National Cash Register) ► Honeywell ► RCA ► GE (Radio Corporation of America) (General Electric) Personal Enterprise Systems? ► Personal Computers were introduced in 1970s ► Smaller computers ► Enough power to perform simple applications ► Further development in network technologies Client/Server System ►Leverages on development of powerful PCs and development of Network technologies ►DISTRIBUTED COMPUTING Client/Server Systems ► Networked computing model ► Processes distributed between clients and servers ► Client–Workstation (usually a PC) that requests and uses a service ► Server–Computer (PC/mini/mainframe) that provides a service ► For DBMS, server is a database server Application Logic in C/S Systems Presentation Logic Input–keyboard/mouse Output–monitor/printer GUI Interface Processing Logic I/O processing Business rules Data management Procedures, functions, programs Storage Logic Data storage/retrieval DBMS activities Client/Server Architectures ► File Server Architecture Client does extensive processing ► Database Server Architecture ► Three-tier Architecture Client does little processing File Server Architecture ► All processing is done at the PC that requested the data ► Entire files are transferred from the server to the client for processing FAT CLIENT ► Problems: ► Huge amount of data transfer on the network ► Each client must contain full DBMS ► Heavy ► Client resource demand on clients DBMSs must recognize shared locks, integrity checks, etc. Figure 9-2 File Server Architecture FAT CLIENT Two-Tier Database Server Architectures ►Client is responsible for ► I/O processing logic ► Some business rules logic ►Server performs all data storage and access processing DBMS is only on server Advantages of Two-Tier Approach ► Clients do not have to be as powerful ► Greatly reduces data traffic on the network ► Improved data integrity since it is all processed centrally ► Stored procedures DBMS code that performs some business rules done on server Advantages of Stored Procedures ►Compiled SQL statements ►Reduced network traffic ►Improved security ►Improved data integrity ►Thinner clients Figure 9-3 Two-tier database server architecture Thinner clients DBMS only on server Three-Tier Architectures GUI interface (I/O processing) Browser Application server Business rules Web Server Database server Data storage DBMS Client Thin Client PC just for user interface and a little application processing. Limited or no data storage (sometimes no hard drive) Figure 9-4 Three-tier architecture Thinnest clients Business rules on separate server DBMS only on DB server Advantages of Three-Tier Architectures ► Scalability ► Technological ► Long-term ► Better flexibility cost reduction match of systems to business needs ► Improved customer service ► Competitive ► Reduced advantage risk Application Partitioning ► Placing portions of the application code in different locations (client vs. server) AFTER it is written ► Advantages ► Improved performance ► Improved interoperability ► Balanced workloads Common Logic Distributions Figure 9-5a Two-tier clientserver environment Processing logic could be at client, server, or both Figure 9-5b n-tier clientserver environment Processing logic will be at application server or Web server Middleware ► Software that allows an application to interoperate with other software ► No need for programmer/user to understand internal processing ► Accomplished via Application Program Interface (API) The “glue” that holds client/server applications together Types of Middleware ► Remote Procedure Calls (RPC) ► ► Message-Oriented Middleware (MOM) ► ► push technology server sends information to client when available Object Request Broker (ORB) ► ► Software needed to run programs written in different platforms Publish/Subscribe ► ► client makes calls to procedures running on remote computers object-oriented management of communications between clients and servers SQL-oriented Data Access ► middleware between applications and database servers Database Middleware ► ODBC–Open ► Database Connectivity Most DB vendors support this ► OLE-DB ► Microsoft enhancement of ODBC ► JDBC–Java ► Database Connectivity Special Java classes that allow Java applications/applets to connect to databases Approaches to Designing Client/Server Architectures ► Distributed Presentation ► Remote Presentation ► Remote Data Management ► Distributed Function ► Distributed Database ► Distributed Processing Distributed Presentation Freshen up delivery of existing server-based applications, typically running on legacy mainframe computers, to distributed clients using screen scrapper technology Remote Presentation All data presentation functions are on the client, providing greater flexibility of presentation than the distributed presentation option. Remote Data Management All software except data management is on client, this is closest to the traditional client/server mode. Distributed Function Analysis functions are split between client and server, with all presentation on client and all data management on server. Requires coordination between analysis function on client and server, making it difficult to develop and maintain. Distributed Database Client has all functionality, except that data storage and management is shared between client and server. A distributed database is unstable, and it is very difficult to ensure compatibility and communication between client and server. Distributed Processing Combines distributed function and distributed database, maximizing flexibility of analysis and data management Web Systems ► Another form of distributed systems ► WAMP/XAMP provides one-time installation of a set of system software needed to develop web-based systems. Each software represents a tier in the distributed environment ► Apache (Web Server software – Web Server) ► MySQL (DBMS – DB Server) ► PHP (Programming Language – Application Server) ► Internet ► Web Technologies ► Businesses can use it internally (Intranet) or with clients (Extranet) Figure 10-1 Database-enabled intranet/internet environment Internet and Intranet Services ► Web server ► Database-enabled services ► Directory, security, authentication ► E-mail ► File Transfer Protocol (FTP) ► Firewalls and proxy servers ► News or discussion groups ► Document search ► Load balancing and caching The Enterprise System using Web-based Architecture ► Intranets ► Extranets ► Software as a Service Intranets as Information Portals Extranet Connectivity Emerging Web Technologies ► Software as a Service (SaaS) ► Used to be known as Application Service Providers (ASPs) ► Provider licenses customers to use their software as a service on demand ► Cloud Computing