Autonomics Development: A Domain-Specific Aspect Language Approach (eBook)
X, 134 Seiten
Springer Basel (Verlag)
978-3-0346-0540-3 (ISBN)
Contents 6
Preface 10
1 Introduction 12
1.1 Research Goal 14
1.2 Overview of Approach 15
1.3 Limitations 15
1.4 Hypothesis Statement 16
1.5 Contribution 16
1.6 Publications Overview 16
1.7 Book Structure 17
2 Distributed Systems Development 18
2.1 Introduction 18
2.2 Sockets-Based Programming 19
2.2.1 BSD Socket Interface 20
2.2.2 Socket Example 21
2.2.3 Summary 24
2.3 Remote Procedure Calls 24
2.3.1 Stubs and Skeletons 25
2.3.2 Interface Definition Language 26
2.3.3 Data Representation 27
2.3.4 Calls Semantics 27
2.3.5 Binding 29
2.3.6 Open Network Computing (ONC) Example 29
2.3.7 Summary 32
2.4 CORBA 32
2.4.1 CORBA Event Service 34
2.4.2 CORBA Example IDL 34
2.4.3 CORBA Example Implementation 36
2.4.4 Summary 36
2.5 Java Remote Method Invocation (RMI) 36
2.5.1 RMI Example 41
2.5.2 Summary 43
2.6 Message-Oriented Middleware 44
2.6.1 Message Queues 45
2.6.2 Publish/Subscribe 47
2.6.3 Durable Topics 49
2.7 Chapter Summary 49
3 An Aspect-Oriented Approach 51
3.1 Introduction 51
3.2 Crosscutting Concerns and Aspects 51
3.3 AOP Semantics 52
3.4 Static and Dynamic Weaving 53
3.5 Language-Based Implementations 54
3.5.1 AspectJ 54
3.6 Framework-Based Implementations 57
3.6.1 The JBoss AOP Framework 58
3.7 AOP and Autonomics 61
3.7.1 The TOSKANA Toolkit 63
3.7.2 The QuO Toolkit 65
3.7.3 Reflection and AOP 66
3.8 AOP and the Distribution Concern 67
3.8.1 Domain-Specific Aspect Language Implementations 68
3.8.2 AspectJ Implementations 72
3.8.3 J-Orchestra 73
3.8.4 Other Systems 73
3.8.5 Our Approach 74
3.9 Chapter Summary 74
4 The Distribution Definition Language 77
4.1 Introduction 77
4.2 Motivation and Design Principles 77
4.2.1 Issues with Distributed Systems Development 77
4.2.2 Autonomic Computing 78
4.2.3 Separation of Concerns 79
4.2.4 Simplicity 79
4.3 The Distribution Definition Language 79
4.3.1 Comments 80
4.3.2 Keywords 80
4.3.3 Import Statements 80
4.3.4 Service Statement 80
4.3.5 Service Recovery Statements 81
4.3.6 Protocol Statements 82
4.3.7 Options Statements 82
4.3.8 Pointcut Statements 82
4.4 Influences 83
4.5 Current Limitations 84
4.5.1 Callbacks 84
4.5.2 Object Passing 84
4.5.3 Concurrency 85
4.6 Chapter Summary 85
5 The RemoteJ Compiler/GeneratorImplementation 86
5.1 Introduction 86
5.2 Compiler/Generator Overview 86
5.2.1 Bytecode Rewriting 88
5.3 Recovery Implementation 89
5.4 RMI Protocol Implementation 93
5.4.1 RMI Protocol Implementation Overview 93
5.4.2 RMI Interface Generation Phase 95
5.4.3 RMI Server Generation Phase 96
5.4.4 RMI Client Generation Phase 96
5.4.5 RMI Server Bootstrap 96
5.5 JMS Protocol Implementation 97
5.5.1 JMS Protocol Implementation Overview 97
5.5.2 JMS Client Generation 98
5.5.3 JMS Server Generation 100
5.6 REST Protocol Implementation 100
5.6.1 REST Protocol Implementation Overview 101
5.7 Implementation Issues 102
5.8 Chapter Summary 103
6 Evaluation 105
6.1 Introduction 105
6.2 Adding a Protocol – a Case Study 106
6.2.1 The Event-Driven Model 106
6.2.2 Adding the Protocols 107
6.2.3 Testing and Evaluation 108
6.2.4 Summary 109
6.3 Evaluating Distributed Application Development in RemoteJ 110
6.3.1 Bank Example 111
6.3.2 Remote Desktop Example 113
6.3.3 Other Applications 115
6.3.4 Summary 115
6.4 Recovery Evaluation 117
6.4.1 Automatic Recovery 117
6.4.2 User-Defined Recovery Routines 120
6.4.3 Summary 123
6.5 Chapter Summary 123
7 Conclusions and Future Work 124
7.1 Introduction 124
7.2 Challenges and Design Decisions 125
7.2.1 Compiler/Generator 125
7.2.2 Language Features 125
7.2.3 Protocol Implementations 126
7.3 Future Work 126
7.3.1 Parameters and Return Values 126
7.3.2 Callback Support 127
7.3.3 Recovery 127
7.3.4 Autonomic Features 128
7.4 Conclusion 129
Appendix A: RemoteJ Syntax 130
References 132
Erscheint lt. Verlag | 30.6.2010 |
---|---|
Reihe/Serie | Autonomic Systems | Autonomic Systems |
Zusatzinfo | X, 134 p. 39 illus. |
Verlagsort | Basel |
Sprache | englisch |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
Schlagworte | Boundary element method • Code • Compiler • Distributed Systems • Distribution • Evaluation • EXIST • Form • Framework • implementation • programming • Software • System • techniques • Tool |
ISBN-10 | 3-0346-0540-4 / 3034605404 |
ISBN-13 | 978-3-0346-0540-3 / 9783034605403 |
Haben Sie eine Frage zum Produkt? |
Größe: 2,9 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich