Dominic Duggan
Enterprise Software Architecture and Design (eBook, PDF)
Entities, Services, and Resources
Schade – dieser Artikel ist leider ausverkauft. Sobald wir wissen, ob und wann der Artikel wieder verfügbar ist, informieren wir Sie an dieser Stelle.
Dominic Duggan
Enterprise Software Architecture and Design (eBook, PDF)
Entities, Services, and Resources
- Format: PDF
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Bitte loggen Sie sich zunächst in Ihr Kundenkonto ein oder registrieren Sie sich bei
bücher.de, um das eBook-Abo tolino select nutzen zu können.
Hier können Sie sich einloggen
Hier können Sie sich einloggen
Sie sind bereits eingeloggt. Klicken Sie auf 2. tolino select Abo, um fortzufahren.
Bitte loggen Sie sich zunächst in Ihr Kundenkonto ein oder registrieren Sie sich bei bücher.de, um das eBook-Abo tolino select nutzen zu können.
This book fills a gap between high-level overview texts that are often too general and low-level detail oriented technical handbooks that lose sight the "big picture". This book discusses SOA from the low-level perspective of middleware, various XML-based technologies, and basic service design. It also examines broader implications of SOA, particularly where it intersects with business process management and process modeling. Concrete overviews will be provided of the methodologies in those fields, so that students will have a hands-on grasp of how they may be used in the context of SOA.
- Geräte: PC
- eBook Hilfe
This book fills a gap between high-level overview texts that are often too general and low-level detail oriented technical handbooks that lose sight the "big picture". This book discusses SOA from the low-level perspective of middleware, various XML-based technologies, and basic service design. It also examines broader implications of SOA, particularly where it intersects with business process management and process modeling. Concrete overviews will be provided of the methodologies in those fields, so that students will have a hands-on grasp of how they may be used in the context of SOA.
Produktdetails
- Produktdetails
- Verlag: John Wiley & Sons
- Seitenzahl: 600
- Erscheinungstermin: 20. Januar 2012
- Englisch
- ISBN-13: 9781118180488
- Artikelnr.: 37354129
- Verlag: John Wiley & Sons
- Seitenzahl: 600
- Erscheinungstermin: 20. Januar 2012
- Englisch
- ISBN-13: 9781118180488
- Artikelnr.: 37354129
Dominic Duggan, PhD, is a faculty member in the Department of Computer Science at Stevens Institute of Technology. His research interests are in the design and development of secure and reliable software systems. His publications have appeared in leading journals and conferences.
List of Figures xv Acknowledgements xxiii 1. Introduction 1 References
6 2. Middleware 7 2.1 Enterprise Information Systems
7 2.2 Communication
12 2.3 System and Failure Models
21 2.4 Remote Procedure Call
34 2.5 Message-Oriented Middleware
42 2.6 Web Services and Service-Oriented Architecture (SOA)
46 2.7 Cloud Computing
52 2.8 Naming and Discovery
55 2.9 Further Reading
56 References
57 3. Data Modeling 59 3.1 Entities and Relationships
60 3.1.1 Concepts and Entities
60 3.1.2 Attributes and Relationships
61 3.1.3 Properties of Relationship Types
65 3.1.4 Special Relationship Types
69 3.2 XML Schemas
74 3.3 Defining New Types
79 3.3.1 Defining Simple Types
79 3.3.2 Defining Complex Types
82 3.4 Derived Types
85 3.4.1 Derived Simple Types
86 3.4.2 Derived Complex Types
87 3.5 Document Hierarchies
94 3.6 Relationship Types in XML Schemas
98 3.7 Metaschemas and Metamodels
100 3.8 Further Reading
102 References
102 4. Data Processing 104 4.1 Processing XML Data
104 4.1.1 Tree Processing
105 4.1.2 Schema Binding
109 4.1.3 Stream Processing
114 4.1.4 External Processing
119 4.2 Query Languages and XQuery
122 4.3 XML Databases
134 4.3.1 Storage as Relational Tables
135 4.3.2 Storage as Large Strings
137 4.3.3 Native XML Storage
137 4.4 Web Services
138 4.4.1 SOAP: (not so) Simple Object Access Protocol
139 4.4.2 WSDL: Web Services Description Language
145 4.4.3 Web Service Policy
155 4.5 Presentation Layer: JSON and JQUERY
159 References
166 5. Domain-Driven Architecture 167 5.1 Software Architecture
167 5.2 Domain-Driven Design
168 5.3 Application Frameworks
175 5.4 Domain-Specific Languages (DSLs)
180 5.5 An Example API for Persistent Domain Objects
188 5.6 Domain-Driven Architecture
197 5.7 Further Reading
205 References
205 6. Service-Oriented Architecture 207 6.1 Services and Procedures
207 6.2 Service-Oriented Architecture (SOA)
211 6.3 Service Design Principles
216 6.4 Service-Oriented Architecture (SOA) Governance
218 6.5 Standardized Service Contract
221 6.5.1 Operations Contract
222 6.5.2 Data Contract
223 6.5.3 Policy Contract
224 6.5.4 Binding Contract
226 6.5.5 Contract Versioning
231 6.6 Service Loose Coupling
237 6.6.1 Motivation for Loose Coupling
237 6.6.2 Contract Development
239 6.6.3 Loose Coupling Patterns
242 6.6.4 Cost of Loose Coupling
246 6.7 Service Abstraction
248 6.7.1 Platform Abstraction
248 6.7.2 Protocol Abstraction
249 6.7.3 Procedural Abstraction
261 6.7.4 State Abstraction
264 6.7.5 Data Abstraction
269 6.7.6 Endpoint Abstraction
278 6.8 Service Reusability
278 6.8.1 Parameterization and Bounded Polymorphism
279 6.8.2 Subtyping, Inheritance, and Contracts
284 6.8.3 Does Service-Oriented Architecture Require Subtyping?
289 6.8.4 Patterns for Service Reusability
292 6.9 Service Autonomy
299 6.9.1 Replicating Computation
300 6.9.2 Replicating State
303 6.9.3 Sources of Errors and Rejuvenation
308 6.9.4 Caching
313 6.10 Service Statelessness
323 6.10.1 Contexts and Dependency Injection
331 6.11 Service Discoverability
336 6.11.1 Global Discovery
336 6.11.2 Local Discovery
337 6.11.3 Layered Naming
347 6.12 Further Patterns
351 6.13 Further Reading
352 References
352 7. Resource-Oriented Architecture 359 7.1 Representational State Transfer
359 7.2 RESTful Web Services
369 7.3 Resource-Oriented Architecture (ROA)
379 7.4 Interface Description Languages
387 7.4.1 Web Services Description Language (WSDL)
387 7.4.2 Web Application Description Language (WADL)
390 7.5 An Example Application Program Interface (API) for Resource-Oriented Web Services
396 7.6 Hypermedia Control and Contract Conformance
406 7.7 Concluding Remarks
412 7.8 Further Reading
414 References
414 Appendix A: Introduction to Haskell 416 A.1 Types and Functions
416 A.2 Type Classes and Functors
425 A.3 Monads
431 A.4 Further Reading
436 References
436 Appendix B: Time in Distributed Systems 437 B.1 What Time Is It?
437 B.2 Time and Causality
443 B.3 Applications of Logical and Vector Time
450 B.3.1 Mutual Exclusion
450 B.3.2 Quorum Consensus
451 B.3.3 Distributed Logging
456 B.3.4 Causal Message Delivery
458 B.3.5 Distributed Snapshots
463 B.4 Virtual Time
468 B.5 Further Reading
470 References
470 Index 473
6 2. Middleware 7 2.1 Enterprise Information Systems
7 2.2 Communication
12 2.3 System and Failure Models
21 2.4 Remote Procedure Call
34 2.5 Message-Oriented Middleware
42 2.6 Web Services and Service-Oriented Architecture (SOA)
46 2.7 Cloud Computing
52 2.8 Naming and Discovery
55 2.9 Further Reading
56 References
57 3. Data Modeling 59 3.1 Entities and Relationships
60 3.1.1 Concepts and Entities
60 3.1.2 Attributes and Relationships
61 3.1.3 Properties of Relationship Types
65 3.1.4 Special Relationship Types
69 3.2 XML Schemas
74 3.3 Defining New Types
79 3.3.1 Defining Simple Types
79 3.3.2 Defining Complex Types
82 3.4 Derived Types
85 3.4.1 Derived Simple Types
86 3.4.2 Derived Complex Types
87 3.5 Document Hierarchies
94 3.6 Relationship Types in XML Schemas
98 3.7 Metaschemas and Metamodels
100 3.8 Further Reading
102 References
102 4. Data Processing 104 4.1 Processing XML Data
104 4.1.1 Tree Processing
105 4.1.2 Schema Binding
109 4.1.3 Stream Processing
114 4.1.4 External Processing
119 4.2 Query Languages and XQuery
122 4.3 XML Databases
134 4.3.1 Storage as Relational Tables
135 4.3.2 Storage as Large Strings
137 4.3.3 Native XML Storage
137 4.4 Web Services
138 4.4.1 SOAP: (not so) Simple Object Access Protocol
139 4.4.2 WSDL: Web Services Description Language
145 4.4.3 Web Service Policy
155 4.5 Presentation Layer: JSON and JQUERY
159 References
166 5. Domain-Driven Architecture 167 5.1 Software Architecture
167 5.2 Domain-Driven Design
168 5.3 Application Frameworks
175 5.4 Domain-Specific Languages (DSLs)
180 5.5 An Example API for Persistent Domain Objects
188 5.6 Domain-Driven Architecture
197 5.7 Further Reading
205 References
205 6. Service-Oriented Architecture 207 6.1 Services and Procedures
207 6.2 Service-Oriented Architecture (SOA)
211 6.3 Service Design Principles
216 6.4 Service-Oriented Architecture (SOA) Governance
218 6.5 Standardized Service Contract
221 6.5.1 Operations Contract
222 6.5.2 Data Contract
223 6.5.3 Policy Contract
224 6.5.4 Binding Contract
226 6.5.5 Contract Versioning
231 6.6 Service Loose Coupling
237 6.6.1 Motivation for Loose Coupling
237 6.6.2 Contract Development
239 6.6.3 Loose Coupling Patterns
242 6.6.4 Cost of Loose Coupling
246 6.7 Service Abstraction
248 6.7.1 Platform Abstraction
248 6.7.2 Protocol Abstraction
249 6.7.3 Procedural Abstraction
261 6.7.4 State Abstraction
264 6.7.5 Data Abstraction
269 6.7.6 Endpoint Abstraction
278 6.8 Service Reusability
278 6.8.1 Parameterization and Bounded Polymorphism
279 6.8.2 Subtyping, Inheritance, and Contracts
284 6.8.3 Does Service-Oriented Architecture Require Subtyping?
289 6.8.4 Patterns for Service Reusability
292 6.9 Service Autonomy
299 6.9.1 Replicating Computation
300 6.9.2 Replicating State
303 6.9.3 Sources of Errors and Rejuvenation
308 6.9.4 Caching
313 6.10 Service Statelessness
323 6.10.1 Contexts and Dependency Injection
331 6.11 Service Discoverability
336 6.11.1 Global Discovery
336 6.11.2 Local Discovery
337 6.11.3 Layered Naming
347 6.12 Further Patterns
351 6.13 Further Reading
352 References
352 7. Resource-Oriented Architecture 359 7.1 Representational State Transfer
359 7.2 RESTful Web Services
369 7.3 Resource-Oriented Architecture (ROA)
379 7.4 Interface Description Languages
387 7.4.1 Web Services Description Language (WSDL)
387 7.4.2 Web Application Description Language (WADL)
390 7.5 An Example Application Program Interface (API) for Resource-Oriented Web Services
396 7.6 Hypermedia Control and Contract Conformance
406 7.7 Concluding Remarks
412 7.8 Further Reading
414 References
414 Appendix A: Introduction to Haskell 416 A.1 Types and Functions
416 A.2 Type Classes and Functors
425 A.3 Monads
431 A.4 Further Reading
436 References
436 Appendix B: Time in Distributed Systems 437 B.1 What Time Is It?
437 B.2 Time and Causality
443 B.3 Applications of Logical and Vector Time
450 B.3.1 Mutual Exclusion
450 B.3.2 Quorum Consensus
451 B.3.3 Distributed Logging
456 B.3.4 Causal Message Delivery
458 B.3.5 Distributed Snapshots
463 B.4 Virtual Time
468 B.5 Further Reading
470 References
470 Index 473
List of Figures xv Acknowledgements xxiii 1. Introduction 1 References
6 2. Middleware 7 2.1 Enterprise Information Systems
7 2.2 Communication
12 2.3 System and Failure Models
21 2.4 Remote Procedure Call
34 2.5 Message-Oriented Middleware
42 2.6 Web Services and Service-Oriented Architecture (SOA)
46 2.7 Cloud Computing
52 2.8 Naming and Discovery
55 2.9 Further Reading
56 References
57 3. Data Modeling 59 3.1 Entities and Relationships
60 3.1.1 Concepts and Entities
60 3.1.2 Attributes and Relationships
61 3.1.3 Properties of Relationship Types
65 3.1.4 Special Relationship Types
69 3.2 XML Schemas
74 3.3 Defining New Types
79 3.3.1 Defining Simple Types
79 3.3.2 Defining Complex Types
82 3.4 Derived Types
85 3.4.1 Derived Simple Types
86 3.4.2 Derived Complex Types
87 3.5 Document Hierarchies
94 3.6 Relationship Types in XML Schemas
98 3.7 Metaschemas and Metamodels
100 3.8 Further Reading
102 References
102 4. Data Processing 104 4.1 Processing XML Data
104 4.1.1 Tree Processing
105 4.1.2 Schema Binding
109 4.1.3 Stream Processing
114 4.1.4 External Processing
119 4.2 Query Languages and XQuery
122 4.3 XML Databases
134 4.3.1 Storage as Relational Tables
135 4.3.2 Storage as Large Strings
137 4.3.3 Native XML Storage
137 4.4 Web Services
138 4.4.1 SOAP: (not so) Simple Object Access Protocol
139 4.4.2 WSDL: Web Services Description Language
145 4.4.3 Web Service Policy
155 4.5 Presentation Layer: JSON and JQUERY
159 References
166 5. Domain-Driven Architecture 167 5.1 Software Architecture
167 5.2 Domain-Driven Design
168 5.3 Application Frameworks
175 5.4 Domain-Specific Languages (DSLs)
180 5.5 An Example API for Persistent Domain Objects
188 5.6 Domain-Driven Architecture
197 5.7 Further Reading
205 References
205 6. Service-Oriented Architecture 207 6.1 Services and Procedures
207 6.2 Service-Oriented Architecture (SOA)
211 6.3 Service Design Principles
216 6.4 Service-Oriented Architecture (SOA) Governance
218 6.5 Standardized Service Contract
221 6.5.1 Operations Contract
222 6.5.2 Data Contract
223 6.5.3 Policy Contract
224 6.5.4 Binding Contract
226 6.5.5 Contract Versioning
231 6.6 Service Loose Coupling
237 6.6.1 Motivation for Loose Coupling
237 6.6.2 Contract Development
239 6.6.3 Loose Coupling Patterns
242 6.6.4 Cost of Loose Coupling
246 6.7 Service Abstraction
248 6.7.1 Platform Abstraction
248 6.7.2 Protocol Abstraction
249 6.7.3 Procedural Abstraction
261 6.7.4 State Abstraction
264 6.7.5 Data Abstraction
269 6.7.6 Endpoint Abstraction
278 6.8 Service Reusability
278 6.8.1 Parameterization and Bounded Polymorphism
279 6.8.2 Subtyping, Inheritance, and Contracts
284 6.8.3 Does Service-Oriented Architecture Require Subtyping?
289 6.8.4 Patterns for Service Reusability
292 6.9 Service Autonomy
299 6.9.1 Replicating Computation
300 6.9.2 Replicating State
303 6.9.3 Sources of Errors and Rejuvenation
308 6.9.4 Caching
313 6.10 Service Statelessness
323 6.10.1 Contexts and Dependency Injection
331 6.11 Service Discoverability
336 6.11.1 Global Discovery
336 6.11.2 Local Discovery
337 6.11.3 Layered Naming
347 6.12 Further Patterns
351 6.13 Further Reading
352 References
352 7. Resource-Oriented Architecture 359 7.1 Representational State Transfer
359 7.2 RESTful Web Services
369 7.3 Resource-Oriented Architecture (ROA)
379 7.4 Interface Description Languages
387 7.4.1 Web Services Description Language (WSDL)
387 7.4.2 Web Application Description Language (WADL)
390 7.5 An Example Application Program Interface (API) for Resource-Oriented Web Services
396 7.6 Hypermedia Control and Contract Conformance
406 7.7 Concluding Remarks
412 7.8 Further Reading
414 References
414 Appendix A: Introduction to Haskell 416 A.1 Types and Functions
416 A.2 Type Classes and Functors
425 A.3 Monads
431 A.4 Further Reading
436 References
436 Appendix B: Time in Distributed Systems 437 B.1 What Time Is It?
437 B.2 Time and Causality
443 B.3 Applications of Logical and Vector Time
450 B.3.1 Mutual Exclusion
450 B.3.2 Quorum Consensus
451 B.3.3 Distributed Logging
456 B.3.4 Causal Message Delivery
458 B.3.5 Distributed Snapshots
463 B.4 Virtual Time
468 B.5 Further Reading
470 References
470 Index 473
6 2. Middleware 7 2.1 Enterprise Information Systems
7 2.2 Communication
12 2.3 System and Failure Models
21 2.4 Remote Procedure Call
34 2.5 Message-Oriented Middleware
42 2.6 Web Services and Service-Oriented Architecture (SOA)
46 2.7 Cloud Computing
52 2.8 Naming and Discovery
55 2.9 Further Reading
56 References
57 3. Data Modeling 59 3.1 Entities and Relationships
60 3.1.1 Concepts and Entities
60 3.1.2 Attributes and Relationships
61 3.1.3 Properties of Relationship Types
65 3.1.4 Special Relationship Types
69 3.2 XML Schemas
74 3.3 Defining New Types
79 3.3.1 Defining Simple Types
79 3.3.2 Defining Complex Types
82 3.4 Derived Types
85 3.4.1 Derived Simple Types
86 3.4.2 Derived Complex Types
87 3.5 Document Hierarchies
94 3.6 Relationship Types in XML Schemas
98 3.7 Metaschemas and Metamodels
100 3.8 Further Reading
102 References
102 4. Data Processing 104 4.1 Processing XML Data
104 4.1.1 Tree Processing
105 4.1.2 Schema Binding
109 4.1.3 Stream Processing
114 4.1.4 External Processing
119 4.2 Query Languages and XQuery
122 4.3 XML Databases
134 4.3.1 Storage as Relational Tables
135 4.3.2 Storage as Large Strings
137 4.3.3 Native XML Storage
137 4.4 Web Services
138 4.4.1 SOAP: (not so) Simple Object Access Protocol
139 4.4.2 WSDL: Web Services Description Language
145 4.4.3 Web Service Policy
155 4.5 Presentation Layer: JSON and JQUERY
159 References
166 5. Domain-Driven Architecture 167 5.1 Software Architecture
167 5.2 Domain-Driven Design
168 5.3 Application Frameworks
175 5.4 Domain-Specific Languages (DSLs)
180 5.5 An Example API for Persistent Domain Objects
188 5.6 Domain-Driven Architecture
197 5.7 Further Reading
205 References
205 6. Service-Oriented Architecture 207 6.1 Services and Procedures
207 6.2 Service-Oriented Architecture (SOA)
211 6.3 Service Design Principles
216 6.4 Service-Oriented Architecture (SOA) Governance
218 6.5 Standardized Service Contract
221 6.5.1 Operations Contract
222 6.5.2 Data Contract
223 6.5.3 Policy Contract
224 6.5.4 Binding Contract
226 6.5.5 Contract Versioning
231 6.6 Service Loose Coupling
237 6.6.1 Motivation for Loose Coupling
237 6.6.2 Contract Development
239 6.6.3 Loose Coupling Patterns
242 6.6.4 Cost of Loose Coupling
246 6.7 Service Abstraction
248 6.7.1 Platform Abstraction
248 6.7.2 Protocol Abstraction
249 6.7.3 Procedural Abstraction
261 6.7.4 State Abstraction
264 6.7.5 Data Abstraction
269 6.7.6 Endpoint Abstraction
278 6.8 Service Reusability
278 6.8.1 Parameterization and Bounded Polymorphism
279 6.8.2 Subtyping, Inheritance, and Contracts
284 6.8.3 Does Service-Oriented Architecture Require Subtyping?
289 6.8.4 Patterns for Service Reusability
292 6.9 Service Autonomy
299 6.9.1 Replicating Computation
300 6.9.2 Replicating State
303 6.9.3 Sources of Errors and Rejuvenation
308 6.9.4 Caching
313 6.10 Service Statelessness
323 6.10.1 Contexts and Dependency Injection
331 6.11 Service Discoverability
336 6.11.1 Global Discovery
336 6.11.2 Local Discovery
337 6.11.3 Layered Naming
347 6.12 Further Patterns
351 6.13 Further Reading
352 References
352 7. Resource-Oriented Architecture 359 7.1 Representational State Transfer
359 7.2 RESTful Web Services
369 7.3 Resource-Oriented Architecture (ROA)
379 7.4 Interface Description Languages
387 7.4.1 Web Services Description Language (WSDL)
387 7.4.2 Web Application Description Language (WADL)
390 7.5 An Example Application Program Interface (API) for Resource-Oriented Web Services
396 7.6 Hypermedia Control and Contract Conformance
406 7.7 Concluding Remarks
412 7.8 Further Reading
414 References
414 Appendix A: Introduction to Haskell 416 A.1 Types and Functions
416 A.2 Type Classes and Functors
425 A.3 Monads
431 A.4 Further Reading
436 References
436 Appendix B: Time in Distributed Systems 437 B.1 What Time Is It?
437 B.2 Time and Causality
443 B.3 Applications of Logical and Vector Time
450 B.3.1 Mutual Exclusion
450 B.3.2 Quorum Consensus
451 B.3.3 Distributed Logging
456 B.3.4 Causal Message Delivery
458 B.3.5 Distributed Snapshots
463 B.4 Virtual Time
468 B.5 Further Reading
470 References
470 Index 473