Mission-Critical Java Management: Business Strategies, Applications and Development / Edition 1

Mission-Critical Java Management: Business Strategies, Applications and Development / Edition 1

by Gregory C. Dennis, James R. Rubin
     
 

ISBN-10: 020132573X

ISBN-13: 9780201325737

Pub. Date: 09/03/1998

Publisher: Addison-Wesley

The advent of the Java programming language has made the corporate computing world take notice. Java offers businesses many benefits, including the secure deployment of distributed business applications. Yet for all of its strengths, Java is still largely a mystery to professionals charged with mapping corporate computing strategy.

Mission-Critical

Overview

The advent of the Java programming language has made the corporate computing world take notice. Java offers businesses many benefits, including the secure deployment of distributed business applications. Yet for all of its strengths, Java is still largely a mystery to professionals charged with mapping corporate computing strategy.

Mission-Critical Java™ Project Management provides information technology professionals with the foundation they need to decide what role Java should play in their corporate IT strategy. Rather than hyping the use of Java for every application, this book documents the advantages and challenges of building Java-based business systems. The authors--experts in deploying large-scale Java business systems--provide invaluable information for those confronting the challenges and opportunities that Java presents to the corporate computing architecture.

Case studies throughout the book offer real-world examples and lessons learned from the authors' personal experience using Java in business applications. The approach is candid and unbiased, and this objective view helps you learn when using Java is the best solution and when it is not. In short Mission-Critical Java™ Project Management will show you how Java should fit in your organization's current and future enterprise computing plans.

Highlights include:

  • A discussion of the risks and rewards of an enterprise-wide Java implementation using multiple case studies
  • An explanation of building Java-based systems from experienced consultants who have developed a complex, real-world Java business application with over one million lines ofcode
  • A case study focusing on the development of a large-scale Java business application for via World Network, an Andersen Consulting Enterprise that delivers e-commerce technologies to the travel industry

Product Details

ISBN-13:
9780201325737
Publisher:
Addison-Wesley
Publication date:
09/03/1998
Series:
Information Technology Series
Pages:
245
Product dimensions:
7.31(w) x 9.19(h) x 0.49(d)

Table of Contents

Preface xvii
CHAPTER 1 BUILDING BUSINESS SYSTEMS
1(12)
1.1 The Increasing Pace of Competition
1(2)
1.2 Java Technology's Rapid Rise
3(1)
1.3 Why a Book?
4(2)
1.4 General Overview
6(1)
1.5 Case Study Chapters
7(1)
1.5.1 via World Network (Chapter 2)
7(1)
1.5.2 Customer Sales Support (Chapter 3)
7(1)
1.5.3 Customer Service Support (Chapter 4)
7(1)
1.5.4 Human Resource Service Delivery (Chapter 5)
8(1)
1.6 Subject Chapter Overview
8(3)
1.6.1 An Enabling Technology (Chapter 6)
8(1)
1.6.2 Is Java a Fad? (Chapter 7)
8(1)
1.6.3 Converting Existing Business Systems (Chapter 8)
9(1)
1.6.4 Managing a New Technology (Chapter 9)
9(1)
1.6.5 Is Java Right for Everyone? (Chapter 10)
9(1)
1.6.6 Bridging Procedural and Object-Oriented Styles (Chapter 11)
9(1)
1.6.7 Building Execution Architectures (Chapter 12)
10(1)
1.6.8 Moving beyond Applets (Chapter 13)
10(1)
1.6.9 Overcoming Performance Challenges (Chapter 14)
10(1)
1.6.10 Making Applications Secure (Chapter 15)
10(1)
1.6.11 Building Highly Available Systems (Chapter 16)
10(1)
1.6.12 Motivating Application Developers (Chapter 17)
11(1)
1.6.13 Learning the Technology (Chapter 18)
11(1)
1.6.14 Improving Developer Productivity (Chapter 19)
11(1)
1.6.15 New Development Tools and Processes (Chapter 20)
11(1)
1.7 Summary
11(2)
CHAPTER 2 CASE STUDY: VIA WORLD NETWORK
13(18)
2.1 Introduction
13(1)
2.2 Reinventing Travel Product Distribution
13(2)
2.3 Risk Management
15(9)
2.3.1 Desktop Viability
16(2)
2.3.2 Market Acceptance
18(1)
2.3.3 Business Case
19(1)
2.3.3.1 C and COBOL Developer Productivity
20(1)
2.3.3.2 C and COBOL Code Portability
20(1)
2.3.3.3 Cost of a Java Execution Architecture
21(1)
2.3.3.4 Training Materials and a Development Environment
21(1)
2.3.3.5 Managing Technology Risks
22(1)
2.3.4 Software Conversion
22(1)
2.3.5 Developer Training
23(1)
2.4 Building the Application
24(1)
2.5 Technology Solution
25(2)
2.6 Pitfalls and Drawbacks of Using Java
27(1)
2.7 Hindsight Is 20/20
28(2)
2.7.1 Complexity of C-to-Java Interface
28(1)
2.7.2 Development Platform
29(1)
2.7.3 Java's On-line Functionality
29(1)
2.7.4 Technology Development Life Cycle
29(1)
2.8 Summary
30(1)
CHAPTER 3 CASE STUDY: CUSTOMER SALES SUPPORT
31(8)
3.1 Introduction
31(1)
3.2 Supporting Customer Sales
31(1)
3.3 Customer Sales Support Business Systems
32(2)
3.4 A Client/Server Sales Support System
34(1)
3.5 Converting to the Java Language
35(1)
3.6 Technology Solution
36(1)
3.7 Summary
37(2)
CHAPTER 4 CASE STUDY: CUSTOMER SERVICE SUPPORT
39(6)
4.1 Introduction
39(1)
4.2 Supporting Customer Service Call Centers
39(1)
4.3 Existing Business System
40(1)
4.4 Java-Based Solution
41(2)
4.5 Technology Solution
43(1)
4.6 Summary
43(2)
CHAPTER 5 CASE STUDY: HUMAN RESOURCE SERVICE DELIVERY
45(6)
5.1 Introduction
45(1)
5.2 Delivering Human Resource Services
45(1)
5.3 Solution Prototype
46(2)
5.4 Technology Solution
48(1)
5.5 Summary
49(2)
CHAPTER 6 AN ENABLING TECHNOLOGY
51(8)
6.1 New Opportunities
51(1)
6.2 Multiple Deployment Options
52(2)
6.3 Network Computers
54(1)
6.4 Best Price/Performance
54(1)
6.5 Integrating Internet Technologies
55(2)
6.6 Summary
57(2)
CHAPTER 7 IS JAVA A FAD?
59(8)
7.1 The DeLorean Effect
59(1)
7.2 The Legacy of Fad Technologies
59(1)
7.3 Java's Popularity Encourages New Resources
60(1)
7.4 Developer Acceptance of Java
61(2)
7.5 Third-Party Product Support for Java Computing
63(1)
7.6 The Pace of Acceptance
64(1)
7.7 Summary
65(2)
CHAPTER 8 CONVERTING EXISTING BUSINESS SYSTEMS
67(12)
8.1 Upgrades to Business Systems
67(1)
8.2 How "Clean" Is the Legacy System?
68(2)
8.2.1 Easing the Pain of Conversion
69(1)
8.3 A Structured Conversion Approach
70(3)
8.3.1 Automating Simple, Repetitive Syntax Changes
70(1)
8.3.2 Interfaces to Third-Party Products
70(1)
8.3.3 Preserving Complex Logic
71(1)
8.3.4 Reorganizing Source Files into Packages
71(1)
8.3.5 Leveraging Existing Development Tools and Processes
71(1)
8.3.6 Converting C/C++ Constants into Variables within Java classes
71(1)
8.3.7 Creating a Java Class for Each Source File
71(1)
8.3.8 Converting C Function Prototypes to Method Prototypes
72(1)
8.3.9 Focusing on Conversion, Not Object-Oriented Design
72(1)
8.3.10 Incorporating Java's String Class
72(1)
8.3.11 Incorporating Java's Date Class
72(1)
8.3.12 Converting Structures into Classes
72(1)
8.3.13 Converting the Execution Architecture to the Java Language
73(1)
8.3.14 Executing the Java Compiler
73(1)
8.4 Converting Business Systems to Java
73(4)
8.4.1 via World Network Conversion
73(3)
8.4.2 Customer Sales Support Conversion
76(1)
8.5 Summary
77(2)
CHAPTER 9 MANAGING A NEW TECHNOLOGY
79(12)
9.1 Leveraging a New Technology
79(1)
9.2 Java's Rise in Popularity
79(2)
9.3 Challenges in Using a New Technology
81(3)
9.3.1 Don't Depend on Vendors to Come to the Rescue
81(1)
9.3.2 Development Tools Are Emerging
82(1)
9.3.3 Integration with Existing Products
82(1)
9.3.4 There Are Still Bugs in Java
82(1)
9.3.5 Java Skills Are Scarce
83(1)
9.3.6 There Are Few Large Java Business Systems
83(1)
9.4 Java Risk Management
84(2)
9.4.1 Weigh Advantages against Risks
84(1)
9.4.2 Identify Custom Technology Integration Requirements
85(1)
9.4.3 Prototype the Technology Implementation
86(1)
9.4.4 Begin Development with a Pilot Set of Developers
86(1)
9.5 A Pioneer's Challenges
86(2)
9.6 Summary
88(3)
CHAPTER 10 IS JAVA RIGHT FOR EVERYONE?
91(8)
10.1 Is Java Right for the Business?
91(1)
10.2 Technology Challenges
91(1)
10.3 Before Using Java, Ask These Questions
92(3)
10.3.1 Technology Leadership
93(1)
10.3.2 Have Developers Been Experimenting?
93(1)
10.3.3 A "Filling-the-Gaps" Culture
93(1)
10.3.4 Third-Party Product Support
94(1)
10.3.5 A Fast-Paced, Rapidly Changing Environment
94(1)
10.3.6 Does the Company Have a "Green Field" Project?
94(1)
10.4 Does the Business Have the Right Skills?
95(1)
10.5 Acquiring the Right Skills
96(1)
10.6 Summary
97(2)
CHAPTER 11 BRIDGING PROCEDURAL AND OBJECT-ORIENTED STYLES
99(10)
11.1 Application Development Styles
99(1)
11.2 Objects Are Not for Everyone
100(3)
11.2.1 Fine-Grained Object-Oriented Design Is Difficult to Attain
100(1)
11.2.2 Reuse Is Difficult
101(2)
11.2.3 The Pervasiveness of Procedural Systems
103(1)
11.3 Combining Object-Oriented and Procedural Styles
103(1)
11.4 Java Bridges the Two Styles
104(1)
11.5 Example Java-Based Object/Procedural Systems
105(2)
11.6 Summary
107(2)
CHAPTER 12 BUILDING EXECUTION ARCHITECTURES
109(18)
12.1 Execution Architectures
109(4)
12.2 The Business Case
113(2)
12.3 The Downside of Execution Architectures
115(1)
12.4 Advantages of Java
115(5)
12.4.1 No Memory Management
116(1)
12.4.2 Standard, Comprehensive Approach to Error Handling
116(1)
12.4.3 Platform Independence
117(1)
12.4.4 Network Communication Building Blocks
118(1)
12.4.5 Security
118(1)
12.4.6 Base Classes
118(1)
12.4.7 Example Solutions on the Web
119(1)
12.4.8 Simpler Object-Oriented Approach
119(1)
12.4.9 Third-Party Products Leveraging Java
119(1)
12.4.10 Java's Multithreading Capabilities
119(1)
12.5 Java's Shortcomings
120(1)
12.6 A Java Execution Architecture
120(5)
12.6.1 On-line Travel Booking
122(1)
12.6.2 Customer Sales Support System
123(1)
12.6.3 Call Center Customer Support
123(1)
12.6.4 Human Resource Service Delivery
124(1)
12.7 Summary
125(2)
CHAPTER 13 MOVING BEYOND APPLETS
127(16)
13.1 Complex Business Systems
127(1)
13.2 Implementation Challenges
128(2)
13.2.1 Server-Side Business Services
129(1)
13.2.2 Deploying Client/Server Applications
129(1)
13.2.3 Impact of Emerging Standards
130(1)
13.3 Java Technology's Role
130(4)
13.3.1 Providing Server-Side Business Services
130(1)
13.3.2 Deploying Client/Server Applications
131(2)
13.3.3 Summary of Key Technology Components
133(1)
13.4 What about ActiveX and CORBA?
134(5)
13.4.1 Competing Standards
136(1)
13.4.2 Real-World Systems
136(1)
13.4.3 An ActiveX-CORBA Survival Strategy
137(1)
13.4.3.1 Insulating Server-Side Services
138(1)
13.4.3.2 Tools for Insulation
139(1)
13.5 Case Studies
139(1)
13.6 Summary
140(3)
CHAPTER 14 OVERCOMING PERFORMANCE CHALLENGES
143(16)
14.1 The Performance of Business Systems
143(1)
14.2 Challenges of a New Technology
144(1)
14.3 Addressing Java Technology Performance
145(1)
14.4 via World Network-Java Performance
146(4)
14.4.1 Passage of Time
146(1)
14.4.2 Improvements in Price/Performance
147(1)
14.4.3 Portability of Java
147(1)
14.4.4 High-Quality Business Logic
148(1)
14.4.5 Predictable and Consistent Behavior
149(1)
14.4.6 Scalable Business Logic Design
149(1)
14.5 via World Network Business Logic
150(2)
14.5.1 In-Memory Table Loads
151(1)
14.5.2 Message Logging
151(1)
14.5.3 Global Object Declaration
151(1)
14.5.4 Redundant Object Instantiation
152(1)
14.5.5 Object Creation and Control Structures
152(1)
14.6 via World Network Execution Architecture
152(2)
14.6.1 In-Memory Table Storage Size
152(1)
14.6.2 Java String and Date Objects
153(1)
14.6.3 Memory Heap Size of the Java Interpreter
153(1)
14.6.4 Database Access
154(1)
14.6.5 Message Logging
154(1)
14.7 via World Network Results
154(1)
14.8 Summary
155(4)
CHAPTER 15 MAKING APPLICATIONS SECURE
159(8)
15.1 Internet Security for Businesses
159(1)
15.2 Security Concerns of Java
160(1)
15.3 Reasons Not to Worry
161(1)
15.3.1 Breaking Java Has Become a "Sport"
161(1)
15.3.2 Before Java, This Was Not a Problem
161(1)
15.3.3 Java Applications Can Be Installed Locally
162(1)
15.4 Developing Secure Applications
162(2)
15.4.1 "Internet-Friendly" Communications
163(1)
15.4.2 Reliable and Secure Transmissions
163(1)
15.5 Summary
164(3)
CHAPTER 16 BUILDING HIGHLY AVAILABLE SYSTEMS
167(16)
16.1 Business System Requirements
167(1)
16.2 Implementation Challenges
168(4)
16.2.1 Single-Vendor Strategies
169(1)
16.2.2 A Multivendor Strategy
170(2)
16.3 The Role of Java Technology
172(3)
16.4 The Travel Industry's High Availability Requirements
175(2)
16.5 via World Network's Approach
177(3)
16.6 Summary
180(3)
CHAPTER 17 MOTIVATING APPLICATION DEVELOPERS
183(10)
17.1 Developers at the Java One Conference
183(1)
17.2 A Variety of Reasons
184(4)
17.2.1 Java Is New and Different
185(1)
17.2.2 Java Technology Is Cutting-Edge
185(1)
17.2.3 The Industry Has Overhyped Java
185(1)
17.2.4 Java Programming Is Easy to Learn
186(1)
17.2.5 Animated Web Pages
186(1)
17.2.6 Java Increases Prototyping Speed
187(1)
17.2.7 Sharing of Java Code
187(1)
17.2.8 Excitement over the Internet
187(1)
17.3 Developers Are Motivated to Work with Java Technology
188(1)
17.3.1 Developers Work Harder
188(1)
17.3.2 Recruiting Is Easier
188(1)
17.3.3 Developers Have a Positive Attitude
189(1)
17.3.4 Developers Establish Professional Contacts
189(1)
17.4 Experiences with the Interest in Java
189(2)
17.5 Summary
191(2)
CHAPTER 18 LEARNING THE TECHNOLOGY
193(12)
18.1 The Cost of Training
193(1)
18.2 Java Is Easier to Learn
194(6)
18.2.1 Simpler Syntax
194(1)
18.2.2 Similarity to C and C++
195(1)
18.2.3 Wide Base of Documentation
195(1)
18.2.4 Prebuilt Building Blocks
195(1)
18.2.5 Simpler Memory Management
196(1)
18.2.6 User-Friendly Compiler
197(1)
18.2.7 Platform Independence
198(1)
18.2.8 Simplified Systems Programming
199(1)
18.2.9 Simplified Object-Oriented Programming
199(1)
18.2.10 Impact of Java on New and Experienced Developers
199(1)
18.3 Learning Java Still Takes Time
200(1)
18.4 via World Network Training
200(2)
18.5 Training Tips
202(1)
18.6 Summary
203(2)
CHAPTER 19 IMPROVING DEVELOPER PRODUCTIVITY
205(16)
19.1 Programming Is a Complex, Time-Consuming Task
205(1)
19.2 Java Programming Increases Developer Productivity
206(7)
19.2.1 Memory Management
207(2)
19.2.2 Compiler
209(1)
19.2.3 Base Classes
209(1)
19.2.4 Systems Programming
210(1)
19.2.5 Platform Independence
211(1)
19.2.6 Object-Oriented Programming
212(1)
19.2.7 Error Handling
212(1)
19.3 Aspects That Hinder Productivity
213(2)
19.3.1 Development Tool Immaturity
214(1)
19.3.2 Pool of Experienced Programmers
214(1)
19.3.3 Few Examples of Business Systems
214(1)
19.4 Java Reduces Application Development Time
215(4)
19.4.1 Release One Development
215(1)
19.4.2 Release One System Testing
216(1)
19.4.3 Release One Summary
217(1)
19.4.4 Release Two Summary
218(1)
19.4.5 Production Operations
218(1)
19.4.6 Overall Summary
219(1)
19.5 Summary
219(2)
CHAPTER 20 NEW DEVELOPMENT TOOLS AND PROCESSES
221(12)
20.1 Development Tools and Processes
221(2)
20.2 Java Programming's Impact on Development
223(5)
20.2.1 Application Debuggers
223(1)
20.2.2 GUI Painters
224(1)
20.2.3 Program Editor
225(1)
20.2.4 Source Code Control Facility
226(1)
20.2.5 Compilation Utilities
226(1)
20.2.6 Programming Standards
227(1)
20.2.7 Development Platforms
228(1)
20.3 Switching to Java
228(3)
20.3.1 Development and Production Platform
228(1)
20.3.2 Development Process and Methodology
229(1)
20.3.3 Source Code Control Facility
229(1)
20.3.4 Compilation Utility
229(1)
20.3.5 Program Editors
230(1)
20.3.6 Debugger
230(1)
20.3.7 GUI Painter
231(1)
20.4 Summary
231(2)
Glossary 233(6)
Index 239

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >