The Only Serious Book on the Java Telephony API
Well-rounded, fairly unbiassed, comparative, authoritative and practical. Includes MS-TAPI provider implementation.
A large number of enterprise solutions require the management of telephone or switching equipment, or otherwise center on organizing connections between this type of equipment. Sun created the Java Telephony API to address this market segment and allow developers to write telephony applications using Java’s platform-independence. There are still only a few vendors that support this API, but for those contemplating telephony development, or planning to implement the service provider interface to support their own equipment, this book is an invaluable source of information.
The book travels through the major concepts in the first few chapters, providing a technology overview, and a look at telephony bus architectures in the first two chapters. Taken together, these constitute the first of six major parts. Having explored telcom programming concepts, the author analyzes Java’s suitability for addressing industry challenges. Chapter 3 takes a good look at competing technologies and does a pretty good job of remaining unbiassed, presenting the Java APIs as one among many approaches to be applied in the field. Chapter 4 completes part two with a close look at the Java Telephony API. Part two is suitably entitled Telephony APIs, giving us a good look at JTAPI and how it compares to other similar technologies.
Part three, "Implementing JTAPI", provides a practical study of what it means to implement a service provider for the JTAPI. The author implements a fairly comprehensive Windows TAPI-based native library for use with Java’s telephony classes. Chapter 5 lays the groundwork and Chapter 6 shows the actual implementation. Part 4 covers actual programming with the API, talking about the observer interface in Chapter 7 and looking at standard extensions in Chapter 8. Part 5 looks at practical implementations, covering event management, idioms, patterns and how to manage large scale projects. Part 6, which is covered in Chapter 12, takes a look at the future of this technology and where it fits in with web phone implementations or other consumer devices.
This is probably not the kind of book that will appeal to most developers, though it is likely to be applicable to anyone who wants to provide dialing capabilities in their applications. Mostly, it will tend to appeal to developers in the telephony industry who want to either implement provider solutions or applications which rely heavily on telephony technology. The material is reasonably objective, effectively comparing Java with other choices, looking at the challenges that go with JTAPI implementations and providing a good look at what you need to do to get this all working for you. All in all, a targeted book with a lot to offer those who need to address this technology.