The Guide to Writing DCE Applications is a hands-on programming guide to OSF's Distributed Computing Environment (DCE) for first-time DCE application programmers. This book is designed to help new DCE users make the transition from conventional nondistributed applications programming to distributed DCE programming. Topics include the IDL and ACF files, essential RPC calls, binding methods and the name service, server initialization, memory management, object UUIDs, authentication and authorization (basic security), and other selected advanced topics. Several small, practical programming examples are included.
The second edition of this book extends the step-by-step treatment to two advanced topics: object UUIDs and security. Object UUIDs let the client select resources on the server side. Security enforces access on the basis of who the client or server is. This book does not discuss Access Control Lists, a more advanced area of security.
We believe the programmer writing her first DCE application will find this book the perfect resource. The Guide to Writing DCE Applications is designed to get the programmer up and running with working examples of client/server applications and to provide a comprehensive model for the development of distributed applications.
Overview of a distributed application
Using a DCE RPC interface (IDL and ACF files)
Using pointers and arrays
Developing a server
Using a name service
Resource selection through object UUIDs
Security (authentication/authorization) for both client and server
Using a context handle to maintain server state
Using pipes for large quantities of data
Complete code for seven applications, plus Makefiles and directions for building and running
Wei Hu was one of the original designers of DCE. At Digital, Wei was the project leader for the team that worked with HP to deliver DCE RPC to the Open Software Foundation. Wei's team developed the connection-oriented RPC protocols, authenticated RPC, and the name service interfaces to the DCE Cell Directory Service. Wei also worked with the OSF and the other DCE technology providers to integrate this software into DCE. Prior to DCE, Wei worked on the VAX Security Kernel: a virtual machine operating system designed for the A1 rating (the highest security rating defined by the U.S. government). In addition to working on various aspects of the kernel, Wei invented a new approach for eliminating a class of security flaws that were previously thought intractable; he then led the team that implemented these safeguards. Before joining Digital, Wei worked for five years at Honeywell Information Systems where he experienced firsthand the challenges involved in building heterogeneous distributed applications without the benefits of a DCE. Wei worked on a number of products including electronic mail, distributed calendars, and gateways. Wei and his wife, Irene, practice growth through change. Within a six-month period, they had a second child, started writing books, changed jobs, and moved across the country to Silicon Valley. Wei is now with Silicon Graphics Computer Systems, working on server technologies for multimedia and high-availability. Wei received his bachelor's and master's degrees in electrical engineering and computer science from the Massachusetts Institute of Technology in Cambridge, Mass. In addition to this book, Wei coauthored the second edition of the Guide to Writing DCE Applications and has published numerous papers in distributed applications and computer security. He also holds four patents based on his work with security and distributed computing.
David Magid was one of the original members of the Digital team that worked with Hewlett Packard to develop the RPC component of DCE. He wrote the RPC Application Programming Interface specification, designed the RPC Name Service Interface (NSI), and implemented portions of the NSI. With his colleagues, David has a patent pending for a DCE namespace usage model. Prior to working on DCE, David's projects at Digital included a prototype knowledgebase system, a data management system for large VAX design and verification, and an automated memories test system. Before joining Digital, David programmed scientific applications at the Woods Hole Oceanographic Institution. David is an avid indoor and outdoor gardener, currently nurturing a new kind of sprout--a daughter, born in July 1993. He is married to a technical writer who's also a wonderful woman and mom. David also enjoys windsurfing and birdwatching and believes that a bad day gardening, windsurfing, or birdwatching is better than a good day at work.
John Shirley considers himself a scientist interested in educating himself and others on the use of software tools to analyze and present scientific data. He has developed software and documentation while consulting for companies that include Digital Equipment Corporation, Concurrent Computer Corporation, Inset Systems, NASDAQ, and Tandem Computers. John's work has included the development of C programs to demonstrate not only the use of DCE remote procedure calls but also multithreaded programming, an application interface for the GEM graphics environment, and storing scientific data. These projects have spanned many operating systems, including OSF/1, UNIX, MS-DOS, and VMS. John earned a B.A. from Alfred University with a dual major in Mathematics and Geology, an M.S. in Geology from Miami University with a specialty in Structural Geology, and an M.S. in Computer Science from Pace University. Prior to consulting, John's career included six years in the oil industry as a geophysicist and international explorationist. His work included the analysis of seismic data from New Zealand, Australia, Turkey, Norway, the Dominican Republic, Jamaica, and the United States. John also worked as a software engineer developing programs for scientific instrument manufacturers. John lives in Newtown, Connecticut, where he maintains a consulting business specializing in documenting and demonstrating complex software.