Acknowledgments |
|
xi | |
Acronyms |
|
iii | |
Introduction |
|
xvii | |
Chapter 1 Software Modernization: A Business Vision |
|
1 | (20) |
|
1.1 Software-based business |
|
|
1 | (1) |
|
1.2 Information-driven business |
|
|
2 | (5) |
|
1.2.1 Adaptation to business |
|
|
4 | (3) |
|
1.3 The case of tourism industry |
|
|
7 | (4) |
|
1.4 IT progress acceleration |
|
|
11 | (2) |
|
|
13 | (5) |
|
1.5.1 Exiting the legacy world |
|
|
15 | (1) |
|
1.5.2 Legacy world professionals |
|
|
16 | (2) |
|
|
18 | (3) |
Chapter 2 Software Modernization: Technical Environment |
|
21 | (18) |
|
|
21 | (1) |
|
|
22 | (9) |
|
|
24 | (1) |
|
|
25 | (2) |
|
2.2.3 Modernization versus migration |
|
|
27 | (2) |
|
2.2.4 The superiority of white-box modernization |
|
|
29 | (2) |
|
2.3 Software engineering principles underpinning modernization |
|
|
31 | (6) |
|
2.3.1 Re-engineering in action |
|
|
33 | (3) |
|
2.3.2 Re-engineering challenges |
|
|
36 | (1) |
|
|
37 | (2) |
Chapter 3 Status Of Cobol Legacy Applications |
|
39 | (20) |
|
3.1 OLTP versus batch programs |
|
|
41 | (1) |
|
|
42 | (1) |
|
|
43 | (1) |
|
3.4 COBOL degeneration principle |
|
|
44 | (2) |
|
|
46 | (1) |
|
|
47 | (2) |
|
3.7 Moving COBOL OLTP/batch programs to Java |
|
|
49 | (2) |
|
3.8 COBOL is not a friend of Java, and vice versa |
|
|
51 | (1) |
|
|
52 | (5) |
|
3.9.1 Spaghetti code sample |
|
|
53 | (3) |
|
|
56 | (1) |
|
|
57 | (1) |
|
|
58 | (1) |
Chapter 4 Service-Oriented Architecture (SOA) |
|
59 | (20) |
|
4.1 Software architecture versus information system urbanization |
|
|
59 | (1) |
|
4.2 Software architecture evolution |
|
|
60 | (1) |
|
4.3 COBOL own style of software architecture |
|
|
61 | (3) |
|
4.4 The one-way road to SOA |
|
|
64 | (2) |
|
4.5 Characterization of SOA |
|
|
66 | (12) |
|
|
66 | (1) |
|
4.5.2 From objects to components and services |
|
|
66 | (1) |
|
4.5.3 Type versus instance |
|
|
67 | (1) |
|
4.5.4 Distribution concerns |
|
|
68 | (1) |
|
4.5.5 Functional grouping |
|
|
68 | (1) |
|
|
69 | (1) |
|
4.5.7 Technology-centrism |
|
|
70 | (2) |
|
4.5.8 Composition at design time (... is definitely modeling) |
|
|
72 | (5) |
|
4.5.9 Composition at runtime |
|
|
77 | (1) |
|
|
78 | (1) |
Chapter 5 SOA In Action |
|
79 | (30) |
|
5.1 Service as materialized component |
|
|
81 | (4) |
|
5.2 Service as Internet resource |
|
|
85 | (8) |
|
5.2.1 Pay-per-use service |
|
|
87 | (2) |
|
|
89 | (1) |
|
|
90 | (3) |
|
|
93 | (2) |
|
|
95 | (2) |
|
|
97 | (9) |
|
|
98 | (1) |
|
5.5.2 Computing is just resource consumption |
|
|
99 | (2) |
|
5.5.3 Cloud computing is also resource consumption, but |
|
|
101 | (1) |
|
5.5.4 Everything as a service |
|
|
102 | (2) |
|
|
104 | (1) |
|
5.5.6 The cloud counterparts |
|
|
105 | (1) |
|
|
106 | (3) |
Chapter 6 Model-Driven Development (MDD) |
|
109 | (26) |
|
|
110 | (1) |
|
|
111 | (1) |
|
|
112 | (1) |
|
6.4 Models as computerized objects |
|
|
113 | (5) |
|
6.5 Model-based productivity |
|
|
118 | (1) |
|
6.6 Openness through standards |
|
|
118 | (3) |
|
6.6.1 Model-Driven Architecture (MDA) |
|
|
120 | (1) |
|
|
121 | (2) |
|
|
123 | (2) |
|
6.8.1 Metamodeling, put simply |
|
|
123 | (2) |
|
|
125 | (1) |
|
6.10 Model transformation by example |
|
|
125 | (1) |
|
6.11 From contemplative to executable models |
|
|
126 | (1) |
|
6.12 Model execution in action |
|
|
127 | (2) |
|
6.13 Toward Domain-Specific Modeling Languages (DSMLs) |
|
|
129 | (3) |
|
|
132 | (3) |
Chapter 7 Model-Driven Software Modernization |
|
135 | (20) |
|
7.1 Reverse and forward engineering are indivisible components of modernization |
|
|
137 | (1) |
|
7.2 Architecture-Driven Modernization (ADM) |
|
|
138 | (4) |
|
7.3 ASTM and KDM at a glance |
|
|
142 | (4) |
|
|
146 | (2) |
|
|
148 | (1) |
|
|
149 | (4) |
|
|
153 | (1) |
|
|
153 | (2) |
Chapter 8 Software Modernization Method And Tool |
|
155 | (36) |
|
|
156 | (2) |
|
|
158 | (12) |
|
8.2.1 BLU AGE format required for forward engineering |
|
|
160 | (2) |
|
|
162 | (8) |
|
8.3 BLU AGE as an ADM- and MDA-compliant tool |
|
|
170 | (3) |
|
8.4 Modernization workflow |
|
|
173 | (15) |
|
|
173 | (9) |
|
|
182 | (5) |
|
8.4.3 Validation and deployment |
|
|
187 | (1) |
|
|
188 | (3) |
Chapter 9 Case Study |
|
191 | (48) |
|
9.1 Case study presentation |
|
|
192 | (3) |
|
9.2 Legacy modernization in action |
|
|
195 | (14) |
|
9.2.1 Creating modernization project |
|
|
196 | (1) |
|
9.2.2 Better dealing with the legacy material |
|
|
196 | (6) |
|
9.2.3 Strategy for modernizing screens |
|
|
202 | (1) |
|
9.2.4 Strategy for modernizing data items |
|
|
203 | (1) |
|
9.2.5 Creating forward project |
|
|
204 | (3) |
|
|
207 | (2) |
|
9.2.7 From screens to pages and UI components |
|
|
209 | (1) |
|
|
209 | (2) |
|
|
211 | (8) |
|
9.4.1 Pattern for simple statements |
|
|
211 | (2) |
|
9.4.2 Patterns for operation calls |
|
|
213 | (1) |
|
9.4.3 Patterns for operation calls with arguments |
|
|
214 | (2) |
|
9.4 Database exchange modernization |
|
|
216 | (3) |
|
|
219 | (7) |
|
9.6 Transmodeling complex functionalities |
|
|
226 | (8) |
|
9.6.1 Transmodeling the "custCost" program |
|
|
228 | (5) |
|
9.6.2 Modernizing "Add a new reservation" |
|
|
233 | (1) |
|
9.7 Application generation and testing |
|
|
234 | (1) |
|
|
235 | (4) |
Bibliography |
|
239 | (4) |
Index |
|
243 | |