| |
| |
Preface | |
| |
| |
| |
Introduction to Life Cycle Programming | |
| |
| |
| |
IBM SanFrancisco | |
| |
| |
What Is SanFrancisco? | |
| |
| |
SanFrancisco Layered Architecture | |
| |
| |
Advantages of Developing with SanFrancisco | |
| |
| |
Focus of this Book | |
| |
| |
Conclusion | |
| |
| |
| |
Overview of Life Cycle and Existing Order Types | |
| |
| |
Why Are Complex Applications Hard to Assemble and Modify? | |
| |
| |
What Would Make It Easier to Address This Problem? | |
| |
| |
What Is a Life Cycle? | |
| |
| |
Life Cycle Pattern--In More Detail | |
| |
| |
Other Uses for the Life Cycle Pattern | |
| |
| |
What Is an Order Type? | |
| |
| |
Existing Order Types | |
| |
| |
Order Type Setup | |
| |
| |
Order Type Extension Points | |
| |
| |
Conclusion | |
| |
| |
| |
Life Cycle Programming with Order Management | |
| |
| |
| |
Life Cycle Static and Dynamic Structures | |
| |
| |
Static Impact Structure | |
| |
| |
Using the Impact Structure to Create a Dynamic Structure | |
| |
| |
Tying Together the Static and Dynamic Structures | |
| |
| |
Conclusion | |
| |
| |
| |
Construction of the Static Impact Hierarchy | |
| |
| |
Life Cycle Setup Commands | |
| |
| |
Policy Setup | |
| |
| |
Life Cycle Setup | |
| |
| |
Condition Definitions in Condition ID Mapping Tables | |
| |
| |
Defining Change Results in Transition Graphs | |
| |
| |
Matching a Change Result with Current Condition State | |
| |
| |
Initial Actions and Automatic Method Invocation | |
| |
| |
Condition DrillUp/DrillDown | |
| |
| |
Method Blocking Table | |
| |
| |
Miscellaneous Attribute Setup | |
| |
| |
Conclusion | |
| |
| |
| |
Creating an Order | |
| |
| |
Creating Order Instances | |
| |
| |
Creation of Lower-Level Order Details | |
| |
| |
Order Variants | |
| |
| |
Order Creation Dependencies | |
| |
| |
HLILCMI Special Factory and Order Detail Controllers | |
| |
| |
Conclusion | |
| |
| |
| |
Accessing, Using, and Deleting Order Details | |
| |
| |
Accessing Order Details | |
| |
| |
Querying an Order Controller | |
| |
| |
Design and Use of a DMethod Access Key for Accessing Orders | |
| |
| |
SanFrancisco Collections Support for Adapters | |
| |
| |
Using Able/Ing Order Details | |
| |
| |
Life Cycle Walk-Through of a Plannable Order | |
| |
| |
Deleting Order Details | |
| |
| |
Conclusion | |
| |
| |
| |
RDB and Extended Schema Mapping for Orders | |
| |
| |
Querying Order Details | |
| |
| |
Mapping Order Details to Database Tables | |
| |
| |
Background Information on Database Mapping | |
| |
| |
Extended Schema Mapping of Order Details | |
| |
| |
Using Database Indices to Improve Throughput | |
| |
| |
Miscellaneous Query and Schema Mapping Tips | |
| |
| |
Conclusion | |
| |
| |
| |
Multiclient Considerations | |
| |
| |
JavaDoc: Determining Object-Locking Requirements | |
| |
| |
Object Changed Field | |
| |
| |
PostConditions Field | |
| |
| |
Locking Requirements Documentation for Order Life Cycle | |
| |
| |
Mechanism: Foundation Layer Collection Support for Locking | |
| |
| |
SanFrancisco Utilities and Database Tools | |
| |
| |
SchemaMapGenerator | |
| |
| |
Schema Mapper Tool | |
| |
| |
Lock Conflict Trace Analysis Tool (Testing for Deadlocks) | |
| |
| |
Lock Contention Console | |
| |
| |
Database Tools | |
| |
| |
Tips and Techniques | |
| |
| |
Conclusion | |
| |
| |
| |
Do-It-Yourself Life Cycle Programming | |
| |
| |
| |
Extending an Existing Order Type | |
| |
| |
Generic Extension Steps | |
| |
| |
Identify a Process to Change | |
| |
| |
Extension Documentation | |
| |
| |
Identify the Extension Points | |
| |
| |
Rose Design | |
| |
| |
Source File Generation and Implementation | |
| |
| |
Extension Configuration | |
| |
| |
| |
Extending Full Sales Order | |
| |
| |
Description of Extension Example | |
| |
| |
Understanding and Extending Validate and Update Build Policies | |
| |
| |
Identifying Scenarios to Extend | |
| |
| |
Identifying the Classes to Extend and Locating Usage | |
| |
| |
Summary of Extension Steps for Example 1 | |
| |
| |
| |
Extending Life Cycle Setup for Full Sales Order | |
| |
| |
Description of Extension Example | |
| |
| |
Analysis and Design of Extension Example | |
| |
| |
Summary of Extension Steps for Example 2 | |
| |
| |
Developing a New Extension for Extension Example 2 | |
| |
| |
Changing Life Cycle Control for Extension Example 2 | |
| |
| |
Conclusion | |
| |
| |
| |
Roll-Your-Own Order Type | |
| |
| |
Example of a New Order Type | |
| |
| |
Analysis: Reuse of Existing Order Types | |
| |
| |
Scenario Analysis for the New Order Type | |
| |
| |
Life Cycle Scenario Analysis | |
| |
| |
Order Creation Scenario Analysis | |
| |
| |
Miscellaneous Scenario Analysis | |
| |
| |
Design of the New Order Type | |
| |
| |
Implementation and Configuration for the New Order Type | |
| |
| |
Implementation | |
| |
| |
Configuration | |
| |
| |
Conclusion | |
| |
| |
| |
Life Cycle Design of Customer Service Application | |
| |
| |
Problem Management Application Description | |
| |
| |
Structural Design of ServiceCycle Application | |
| |
| |
Life Cycle Design of ServiceCycle Application | |
| |
| |
Basic Life Cycle Design Classes | |
| |
| |
Home Appliance Service Call Life Cycle Design | |
| |
| |
Home Appliance Service Call Life Cycle Scenario Specification | |
| |
| |
Conclusion | |
| |
| |
Appendix A | |
| |
| |
Full Sales Order Method Blocking Table | |
| |
| |
Appendix B | |
| |
| |
Full Sales Order Requested Detail Transition Graph | |
| |
| |
Appendix C | |
| |
| |
Sample DOrderMethodKey | |
| |
| |
Class Interface | |
| |
| |
Class Factory | |
| |
| |
Class Implementation | |
| |
| |
Glossary | |
| |
| |
Bibliography | |
| |
| |
Index | |