Programming with the Sun Cluster 3.x API

Paperback
from $0.00

Author: Joseph Bianco

ISBN-10: 0130479756

ISBN-13: 9780130479754

Category: Solaris / Sun OS

Customize Applications for Maximum Availability in Sun Cluster Environments The Sun Cluster 3 environment offers developers and administrators a powerful API for creating custom "data services" that maximize the availability and enhance the horizontal scalability of many enterprise applications. Now, here's an authoritative tutorial and reference to building custom data services with the Sun Cluster 3 API. In Sun Cluster 3 Programming, three leading Sun Cluster experts systematically review...

Search in google:

Customize Applications for Maximum Availability in Sun Cluster Environments The Sun Cluster 3 environment offers developers and administrators a powerful API for creating custom "data services" that maximize the availability and enhance the horizontal scalability of many enterprise applications. Now, here's an authoritative tutorial and reference to building custom data services with the Sun Cluster 3 API. In Sun Cluster 3 Programming, three leading Sun Cluster experts systematically review the tools, programming interfaces, and features that make custom data services possible. Then, through a series of step-by-step examples, they demonstrate how to ensure that applications can recover smoothly from even the most serious failures. This book Reviews every facet of "availability" and what it takes to make software available Provides extensive easy-to-understand code examples, all available for download Covers all areas of agent development, from quick basics to advanced techniques Covers all the APIs provided with Sun Cluster 3 Walks step-by-step through making existing applications available, scalable, and cluster-aware Until now, this information has been available only in a three-day Sun training course. Now, with the help of Sun's in-house experts, you have all the information you need to build Sun Cluster 3 custom applications that deliver unprecedented levels of application availability.

About This Book\ This book has been developed for users of the Sun Cluster 3.x environment. Out of the box, Sun Cluster is a powerful software environment capable of providing high levels of application availability to almost any application. While the current version of Sun Cluster ships with software modules that allow for increased levels of availability for the majority of enterprise applications (Oracle, Sybase, DB2, iPlant, SAP, and so forth), the only way to get an application that isn't on the list supported is either to pay a software vendor to create an agent for you or to write it yourself. This book gives the reader the know-how to create custom agents for the Sun Cluster environment.\ Audience\ This book is intended for programmers, system administrators, and technologists with varying skill sets. The book is designed for everyone hoping to take full advantage of the Sun Cluster 3 environment by giving them the tools and knowledge to create custom resource types. Users do not need any programming knowledge to take advantage of this book; likewise, those who are comfortable with C/C++ or K shell programming will find a wealth of knowledge on every Sun Cluster 3 API, including Remote Shared Memory (RSM). The reader should be comfortable around the Solaris Operating Environment (SOE), and some experience with Sun Cluster technology is helpful but not mandatory. This book is designed for users with varying types of technical skills. The beauty of the Sun Cluster framework is that just about everyone can customize the environment for their specific needs, whether they are novice system administrators or seasoned programmers.\ There are three main sections to this book. Each section is geared for a specific purpose and user type. Sections can be skipped or used together.\ Many of the examples in this book are illustrated as code snippets or pseudo code. Code snippets are designed to help the reader understand the semantics of the topic without fighting through the arcane syntax of a computer language. However, there are code examples using the various APIs in both the C language and UNIX K shell.\ Assumptions\ Except in certain cases in which it is beneficial for the task at hand, this book does not spend time explaining the C/C++ or Korn shell language or programming topics. There is equal coverage on K shell and C programming. However, the C API is rich in functionality; therefore, the authors feel that the C/C++ language should be used to get the maximum benefit from the cluster framework. For those readers who are not programmers, the Sun Cluster 3 automated agent builder and generic data services are also covered. These tools are designed to allow nonprogrammers to create custom resource types with little or no programming experience.\ As a baseline, Chapters 1 and 3 give readers an overview of cluster technology and the Sun Cluster 3 environment. While these chapters provide enough information to get started, they should not be used as the sole basis of information for the topics covered. The authors encourage the reader to refer to the Sun Cluster software manuals and other books on the subject. This book will not teach the reader how to use, install, configure, or administer the Sun Cluster 3 software. However, the cluster topics essential to the effective use of particular API functions are covered.\ Chapter 1: Introduction\ This chapter outlines the basics on cluster technology. Included is a synopsis of the different types of cluster technologies in use today. Consideration is also given to the concepts of high availability (Hint: It's important if you want to ensure that your applications are available for the right reason).\ Chapter 2: Introducing Sun Cluster 3\ The workings of the Sun Cluster 3 framework are reviewed and explained. Topics include global filesystems, devices, and networks. Special attention is given to the resource manager and resource types, including the creation and management of resources.\ Chapter 3: Getting Started\ Building Sun Cluster resources is not a complex process. Using the SunPlex Agent Builder, anyone with no programming experience can create Sun Cluster resource types.\ Chapter 4: Planning for Development\ Not every application is suitable for cluster platforms. This chapter explains the development process and requirements for agent development within the cluster environment. System requirements are also explored. Read this chapter if you don't want to spend time debugging an application that won't work no matter what you do.\ Chapter 5: Developing with the SunPlex Agent Builder\ This chapter explains how to use the automated agent builder. Both the Graphical User Interface (GUI) and command-line utilities are discussed. Use this tool to get up to speed faster, stay organized, and create some standards.\ Chapter 6: Understanding the RGM\ By using APIs you can create sophisticated resource types that will allow applications to take advantage of the Sun Cluster framework. APIs use a series of callback methods to communicate with the application and Resource Group Manager. This chapter covers in detail the 12 callback methods, including the resource type file.\ Chapter 7: Programming with the RMAPI\ The Resource Manager API can accommodate both C and shell programming. Both function calls and command line-utilities are covered.\ Chapter 8: Managing Processes\ This chapter discusses process management under Sun Cluster with the Process Monitor Facility (PMF). This is a unique set of utilities that gives developers the tools to help them manage process trees. Both the PMF command utilities and PMF function calls are discussed.\ Chapter 9: Using the DSDL\ Layered on top of the RMAPI, the Data Service Development Library is a powerful API for creating Sun Cluster 3 resource types. All of the DSDL functions are covered in this unique and powerful library.\ Chapter 10: Developing for Existing Applications\ Using the concepts in the previous chapters, a resource type for the MySQL database is developed using the RMAPI and K shell programming. The same example is repeated using the C language with the DSDL API. Another resource is created for the CUPS printer utility, again using both the RMAPI and the DSDL APIs.\ Chapter 11: Writing Scalable Services\ Scalable services are explored. How to make applications scale under the Sun Cluster framework is discussed.\ Chapter 12: Using Remote Shared Memory\ Remote shared memory offers exciting opportunities for application scalability. This chapter covers the RSM API.\ Chapter 13: Developing Cluster-Aware Applications\ This chapter covers the new Cluster Reconfiguration Notification Protocol (CRNP) API. This API gives developers a preemptive programming model to create applications that are cluster-aware.

1Introduction12Introducing Sun Cluster 3213Getting started354Planning for development455Developing with the SunPlex agent builder636Understanding the RGM897Programming with the RMAPI1198Managing processes1539Using the DSDL16710Developing for existing applications20511Writing scalable services28312Using remote shared memory30113Developing cluster-aware applications321AppRMAPI337AppData service development library345AppProcess utilities349AppCRNP351