Client/Server Survival Guide - Dandelon

Transcription

Client/ServerSurvival GuideThird EditionRobert Orfali Dan Harkey * Jeri EdwardsWILEY COMPUTER PUBLISHINGFachbereichsbibliothek Inform atikTy Parrnstadt91593JOHN WILEY & SONS, INC.New YorkChichesterWeinheimBrisbaneSingaporeToronto

ContentsForewordPrefaceiiivPart 1. The Big Picture1Chapter 1. Your Guide to the New World3The Good Old DaysLife After the RevolutionThe Survival Plan345Chapter 2. Welcome to Client/Server Computing JiThe Client/Server Computing EraWliat s tlie Real'Client/Server Vision?Client/Server and the "New IS"Competition in the Client/Server MarketThe Internet and IntranetsERP: The Shrink-Wrapped Client/Server CrazeWhat Is Client/Server?Will the Real Client/Server Please Stand Up?File ServersDatabase ServersTransaction ServersGroupware ServersObject Application ServersWeb Application ServersFat Servers or Fat Clients?2-Tier Versus 3-Tier2-Tier Hits a Brick Wall3-Tier to the RescueHow Does 2-Tier Compare With 3-Tier?'.788910111215161617181819202122242425

Client/Server Survival GuideComponents: When 3-Tier Is N-TierWhen Should You Use 3-Tier?Intergalactic Client/ServerA Revolution Within the RevolutionThe Intergalaetic VisionWhat Do We Need?262930313232Conclusion33Chapter 3. Client/Server Building BlocksClient/Server: A One-Size-Fits-All ModelClient/Server for Tiny Shops and Nomadic TribesClient/Server for Small Shops and DepartmentsClient/Server for Intergalactic EnterprisesClient/Server for a Post-Scarcity WorldInside the Building BlocksServer-to-Server MiddlewareThe Client/Server RoadmapChapter 4. The Road to Bandwidth HeavenSo What Does a Modern Network Look Like?Bridges, Routers, IP Switches, and GatewaysThe Transport Stacks MiddlewareIs Bandwidth Heaven Around the Corner?Boundless Bandwidth: How Much Is Enough?Must It Be Isochronous?How Much Bandwidth Can We Really Expect?The State of the IANThe State of the WANThe State of the LAN-to-WAN InterconnectThe State of the Home-to-WAN ConnectionThe State of the Wireless-to-WAN ConnectionConclusionPart 2. Clients, Servers, and Operating SystemsChapter 5. Clients, Servers, and Operating SystemsThe Anatomy of a Server 478798181

ContentsWhat Does a Server Need From an OS?Base ServicesExtended ServicesServer ScalabilityClient Anatomy 101Non-GUI ClientsGUI ClientsObject-Oriented User Interface (OOUI) ClientsApplication Features: GUI Versus OOUICompound Documents: OOUIs on SteroidsShippable PlacesWhat Does a Client Need From an OS?Client/Server HybridsConclusion. Chapter 6. The OS Wars: Meet the Players\""Client OS TrendsClient OS: Meet the PlayersNT ClientMac OS XLinuxServer OS TrendsServer OS: Meet the PlayersNetWareNT ServerOS/2 Warp ServerUnixConclusionPart 3. Base Middleware: Stacks and NOSsChapter 7. NOS: Creating the Single-System ImageNOS Middleware: The Transparent IllusionWhat Does Transparency Really Mean?NOS: Extending the Local OS's ReachGlobal Directory ServicesHow Do You interface to These 134

Ciienf/Server Survival GuideX.500LDAPDistributed Time ServicesDistributed Security ServicesCan We Do Better Than C2 on the Intergalactic Net?The Internet: In Certificates We TrustHow Do You Like Your Keys?So What Exactly Is a Digital Certificate?The Digital Certificate InfrastructureA Certificate Usage ScenarioElectronic Payments: The SET ProtocolConclusionChapter 8. RPC, Messaging, and Peer-to-PeerPeer-to-Peer CommunicationsSocketsNetWare: IPX/SPX and TLINetBIOS and NetBEUINamed PipesThe "New" SNA: APPC, APPN, and CPI-CRemote Procedure Call (RPC)Messaging and Queuing: The MOM MiddlewareMOM Versus RPCSo, Which One Do You Choose?ConclusionChapter 9. NOS: Meet the PlayersNOS TrendsThe PlayersThe Evolution of the NOSDCE: The Enterprise NOSDCE RPCDCE: Distributed Naming ServicesDCE: Distributed Time ServiceDCE: Distributed Security ServicesDistributed File System (DFS)ThreadsSo Who Is Implementing DCE?The Internet as a NOSWeb 5186187190190190191191

ContentsSSL (now TLS)S-HTTPIPSecFirewalls: The Network Border PatrolIntranets and ExtranetsSo, What Exactly Is a VPN?ConclusionPart 4. SQL Database ServersChapter 10. SQL Database ServersThe Fundamentals of SQL and Relational DatabasesSQL's Relational OriginsWhat Does SQL Do?The ISO Standards: SQL-89, SQL-92, and SQL3SQL3What Does a Database Server Do?SQL Database Server ArchitecturesStored Procedures, Triggers, and RulesWhat Is a Stored Procedure?Stored Procedures Versus Static and Dynamic SQLSo, What's Wrong With Stored Procedures?Which Stored Procedure?Triggers and RulesConclusionChapter 1 1 . SQL Middleware and Federated DatabasesSQL Middleware: The OptionsSQL Nirvana: The Single Vendor OptionSQL Nightmare: The Multivendor OptionMiddleware Solution # 1 : The Common SQL InterfaceMiddleware Solution # 2 : The Open SQL GatewayMiddleware Solution # 3 : Federated NirvanaWill the Real SQL API Please Stand Up?The SQL-92 Embedded SQL (ESQL)The SQL Call-Level Interfaces (CLIs)CLI Versus Embedded SQLThe Object CLIs: JDBC and OLE 9243244

Client/Server Survival GuideJDBCOLE DB and ADOOpen SQL GatewaysIBI EDA/SQLISO/SAG RDAIBM's DRDA244250252253255257Conclusion259Chapter 12. Data Warehouses: Information Where You Want I t . 261Where Is That OLTP Data Kept?What Is OLTP?Is Client/Server Creating New Islands of OLTP?Information at Your FingertipsInformation HoundsWhat Is a Decision-Support System?What Is an Executive Information System?Comparing Decision-Support and OLTP SystemsProduction Versus Informational DatabasesThe Data WarehouseWhat's a Data Warehouse?The Elements of Data WarehousingWhat's Being Automated?Warehouse Hierarchies: The DatamartsReplication Versus Direct AccessThe Mechanics of Data ReplicationCleansing and Transforming the Raw DataThe Future 74276279283286Chapter 13. EIS/DSS: From Queries, To OLAP, To Data Mining. 289Query/Reporting ToolsOLAP and Multi-dimensional DataHow Do You Like Your OLAP?OLAP Client/Server InteractionThe Two Competing OLAP StandardsData MiningPersonal Information AgentsConclusion291291293297298299300301

ContentsChapter 14. Database: Meet the PlayersThe Database Client/Server MarketTrendsThe PlayersOracleIBM's DB2 FamilyInformixSybaseMicrosoftConclusionPart 5. Client/Server Transaction ProcessingChapter I S . The Magic of TransactionsThe ACID PropertiesTransaction ModelsSo What's a Flat Transaction?Baby Stepping With Flat TransactionsThe Distributed Flat TransactionThe Limitations of the Flat TransactionThe Alternatives: Chained and Nested 1231 319320322322324325328332336Chapter 16. TP Monitors: Managing Client/Server Transactions 337TP MonitorsWhat's a TP Monitor?TP Monitors and OSs: The Great Funneling ActHow Is the Great Funneling Act Performed?TP Monitors and Transaction ManagementTP Monitor Client/Server Interaction TypesWhat Makes Transactional Communications Different?TP Monitor Standards: XA, OTS, MTS/DTC, and EJBTP Monitor BenefitsOTMs: TP Monitors Morph With ORBsConclusion338338339340341342343345349351354

Client/Server Survival GuideChapter 17. TP-Lite or TP-Heavy?The Origins of TP-LiteSybase Breaks the TruceWhat is TP-Lite?What Is TP-Heavy?TP-Lite Versus TP-HeavyTP-Lite Versus TP-Heavy: Scope of the CommitTP-Lite Versus TP-Heavy: Managing Heterogeneous ResourcesTP-Lite Versus TP-Heavy: Process ManagementTP-Lite Versus TP-Heavy: Client/Server InvocationsTP-Lite Versus TP-Heavy: PerformanceConclusionChapter 18. TP Monitors: Meet the PlayersTP Monitor Market OverviewTrendsThe PlayersIBM's TP MonitorsIBM's CICS and TXSeriesIBM/Transarc's Encina and TXSeriesBEA's: Tuxedo and Top EndBEA's TuxedoBEA's Top EndMicrosoft's MTSConclusionPart 6. Client/Server GroupwareChapter 19. Client/Server GroupwareWhy Is Groupware Important?What Is Groupware?How Is Groupware Different From SQL Databases?How Is Groupware Different From TP Monitors?The Components of GroupwareFrom Electronic Imaging to Multimedia Document ManagementWorkflow: What Is It? Where Does It Come From?Workflow: Meet the 391393402

Contentsr"; "'The Workflow CoalitionWorkflow Objects: SWAP and jFlowWorkflow and the InternetWorkflow: The Bottom LineThe Electronic Mail ComponentThe Internet Mail Protocols: SMTP, IMAP, and POPGroup Calendaring and SchedulingGroup hapter 20. Groupware: Meet the Players421Groupware Market OverviewTrendsLotus Notes/Domino 5.0So What Is Lotus Notes/Domino?The Multimedia Document DatabaseDomino Database ReplicationHow to Build a Notes ApplicationThe Lotus Notes APIDomino/Notes E-MailDomino/Notes Systems ManagementNovell's GroupWiseMicrosoft's ExchangeNetscape/AOL's nclusion442Part 7. Client/Server With Distributed ObjectsChapter 2 1 . Distributed Objects and ComponentsWhat Distributed Objects PromiseThe Benefits of Distributed ObjectsWhy This Sudden Interest in Distributed Objects?From Distributed Objects To ComponentsComponents: The Grand Prize of ObjectsThe Driving Force Behind ComponentsWhen Can We Expect These Components?So, What Exactly Is a Component?So, What Is a Server-Side Component?443447448449449451452452455456463

fwilfnClient/Server Survival GuideOTMs: The Server-Side Component CoordinatorsBusiness Objects: The Ultimate Components3-Tier Client/Server, Object-StyleConclusionChapter 22. CORBA: From ORBs To Enterprise BeansDistributed Objects, CORBA-StyleWhat Is a CORBA Distributed Object?Everything Is in IDLCORBA Components: From System Objects To Business ObjectsCORBA 2.0: The Intergalactic ORBThe Object Request Broker (ORB)The Anatomy of a CORBA 2.0 ORBHOP: The Intergalactic BusCORBA Object ServicesCORBA Common FacilitiesCORBA Business ObjectsCooperating Business ObjectsThe Anatomy of a CORBA Business ObjectThe Anatomy of a Client/Server Business ObjectCORBA Enterprise BeansCORBA Business Domain FrameworksCORBA 3.0: The Next GenerationConclusionChapter 23. C 0 M : The Other Component BusCOM: A Short HistoryCOM 101Looking at COM Through CORBA EyesCOM Style InterfacesSo, What's a DCOM Object?What Is a COM Server?DCOM: Local/Remote TransparencyThe Ubiquitous lUnknown InterfaceInterface Negotiations Using QuerylnterfaceICIassFactory2: Object Creation and LicensingCOM-Style Inheritance: Aggregation and ContainmentThe COM IDLCOM's Dynamic Invocation FacilitiesBuilding and Registering Type 12513514516518519519521

Contents/Finding and Loading a Type LibraryC O M : "COM without the Gunk"MTS: COM's OTMMSMQ: COM's MOMHow Much of COM Is in NT 5.0?Conclusion521521522524525526Chapter 24. Object Databases527What Is an ODBMS?What's an ODBMS Good For?The ODMG 2.1 StandardThe Elements of ODMGr* " A\1Cna rt« r25« Distributed Objects: Meet the PlayersThe Distributed Object and Component MarketWhat the Analysts SayDistributed Objects TrendsMeet the PlayersThe Microsoft CampThe CORBA/EJB CampPart 8. Client/Server and the InternetChapter 26. Web Client/Server: The Hypertext EraThe Evolution of the WebClient/Server, Web StyleThe Web Protocols: How They Play TogetherYour First Web Client/Server InteractionSo What Exactly Is a URL?The World's Shortest HTML TutorialHow To Mark Up Text in HTMLThe General Structure of an HTML DocumentHow To Structure the Flow of Text in an HTML DocumentHTML ListsEmbedding Images in DocumentsHyperlinksCascading Style 8559560562563564564566567568568570

.-i:y— o i bClient/Server Survival GuideHTML VersionsHTTPSo What Exactly Is HTTP?HTTP Data RepresentationsSo What Does an HTTP Request Look Like?So What Does an HTTP Response Look Like?ConclusionChapter 27. Web Client/Server: The Interactive Era5715715725735735755775793-Tier Client/Server, Web-StyleHTML's Web-Based FormsThe Form TagThe Form Interface ElementsHTML TablesCGI: The Server Side of the WebA CGI ScenarioCGI and StateHidden ion592Chapter 28. Web Client/Server: The Distributed Object EraJava: The Mobile Code SystemWeb Client/Server, Java-StyleWhat Is a Mobile Code System?The Magic of BytecodesThe Java VerifierJava's Defense SystemThe Life Cycle of an AppletThe HTML 4.0 Object TagCORBA/Java and the Object WebWhy the Shotguns?The Other CGI AlternativesCORBA/Java and the Web: Look Ma, No CookiesCORBA/Java: Life Without CGIScalable ServersWhat CORBA Brings to Java and the WebThe CORBA/Java Object WebMeet the CORBA/Java Object Web PlayersThe Microsoft Object 9616619621

ContentsThe Document Is the ObjectXML: Stretching the Concept of DocumentDOM: Turning XML and HTML Into ObjectsXSL: Or, How to Render XMLWeb Pages, Object Web StyleIntelligent Containers, Object Web StyleSo, What Is a Shippable Place?The Future Web ClientConclusion sChapter 29. Web Client/Server: Meet the PlayersInternet Market OverviewHow Urge Is the Internet Economy?TrendsMeet the PlayersBeing Cool Just Isn't WebLogicConclusionPart 9. Distributed System 8641642643644645646647648649Chapter 30. Client/Server Distributed System Management . . . 653New World DisorderDealing With Chaos and Learning to Love ItManager of ManagersDistributed System Management PlatformsOpen DSM PlatformsWeb-Based DSMManager to Agents: What's Going on Out There?The Components of an Open DSM PlatformManagement Applications: Coping With Diversity and ComplexityHow Well Is My Client/Server System Performing?What Is Out There and Where?Who Is Doing What to Whom?655656656658659660662664666666667668

Client/Server Survival GuideHow Do I Install New Software?What Went Wrong? How Do I Fix It?Can My System Survive an 8.0 Earthquake?Chapter 3 1 . Distributed System Management StandardsNetwork ManagementThe Internet Management ProtocolsDefining Management Information: SMI and MIB-IIMIB ToolsThe Internet's SNMPSNMPvi's LimitationsStretching SNMP's Limits: The RMON MIB-II ExtensionsHere Comes RMON-2SNMPv2 and SNMPv3: What's New?SNMPv3 OperationsSNMPV3: Secure at LastThe OSI Management FrameworkWhat's an OSI Object—and What Can It Do?OSI Management Protocols: CMIP, CMOT, and CMOLThe Desktop Management Interface (DMI)The DMI ArchitectureDMI 2.0X/Open Management StandardsTheX/Open X M P A P I . . . .The X/Open XOM APIThe OSF DME Standard.The DME Network Management Option (NMO)The DME Object Management FrameworkUl-Atlas Distributed Management FrameworkSo What Is CORBA's System Management Solution?Tivoli and CORBAWeb Management: DMTF's WEBEM and CIM/XMLJava Management API (JMAPI 2.0)System Management: Meet the 98699700702703707708

ContentsPart 10. Bringing It All Together709Chapter 3 2 . Client/Server Tools and Application Development . . 7 1 1/OClient/Server Application Development ToolsThe Utest aniGreatest Model of Client/Server ToolsWill the Ideal Tool Please Stand Up?Client/Server Application DesignWhat Makes Client/Server Different?Rapid Prototyping Is EssentialFrom Prototype To Working System712712715716717717719Conclusion721Chapter 33. Which Way Client/Server?Which Way Client/Server?Which Wave Should I Ride?The Client/Server Scalability IssueIt's Time to Say Good-byeWhere to Go for More InformationIndex723724725725726729733

The Fundamentals of SQL and Relational Databases 208 SQL's Relational Origins 208 What Does SQL Do? 209 The ISO Standards: SQL-89, SQL-92, and SQL3 210 . From System Objects To Business Objects 477 CORBA 2.0: The Intergalactic ORB 478 The Object Request Broker (ORB) 479 The Anatomy of a CORBA 2.0 ORB 481 HOP: The Intergalactic Bus 485