O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Demystifying Embedded Systems Middleware

Book Description

This practical technical guide to embedded middleware implementation offers a coherent framework that guides readers through all the key concepts necessary to gain an understanding of this broad topic. It integrates big picture theoretical discussion with down-to-earth advice on successful real-world use via step-by-step examples of each type of middleware implementation. It demystifies core middleware, such as networking protocols, file systems, virtual machines, and databases; more complex middleware that builds upon generic pieces, such as MOM, ORB, and RPC; and integrated middleware software packages, such as embedded JVMs, .NET, and CORBA packages. Technically detailed case studies bring it all together, by providing insight into typical engineering situations readers are likely to encounter.

* The only complete guide to middleware, one of the most important AND most widely misunderstood aspects of embedded systems - hundreds of devices, from digital TVs to smart phones, can't function without it!

* Offers thorough middleware coverage, including basic theory and core middleware, as well as complex implementations and integrated packages

* Detailed case studies, real-world examples, hundreds of diagrams, and a free CD-ROM provide context and aid understanding of embedded middleware

Table of Contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Copyright
  5. About the Author
  6. Chapter 1. Demystifying Middleware in Embedded Systems
    1. Publisher Summary
    2. Chapter Points
    3. 1.1 What is the Middleware of an Embedded System?
    4. 1.2 How to Begin When Building a Complex Middleware-based Solution
    5. 1.3 Why is a Strong Technical Foundation Important in Middleware Design?
    6. 1.4 Summary
    7. 1.5 End Notes
  7. Chapter 2. The Foundation
    1. Publisher Summary
    2. Chapter Points
    3. 2.1 A Middleware Programmer’s Viewpoint – Why Care about Processor Design and I/O?
    4. 2.2 The Memory Map, Storage Mediums, and Middleware
    5. 2.3 Device Drivers and Middleware
    6. 2.4 The Role of an Embedded System’s Operating System and Middleware-specific Code
    7. 2.5 Operating Systems and Device Driver Access for Middleware
    8. 2.6 A Brief Comment on Multiple Middleware Components
    9. 2.7 Summary
    10. 2.8 Problems
    11. 2.9 End Notes
  8. Chapter 3. Middleware and Standards in Embedded Systems
    1. Publisher Summary
    2. Chapter Points
    3. 3.1 What are Standards for Middleware Software?
    4. 3.2 Real-world Middleware Standards Implemented in Embedded Systems
    5. 3.3 The Contribution of Standards to an Embedded System
    6. 3.4 Market-specific Middleware and the MHP (Multimedia Home Platform) Standard Example
    7. 3.5 Summary
    8. 3.6 Problems
    9. 3.7 End Notes
  9. Chapter 4. The Fundamentals in Understanding Networking Middleware
    1. Publisher Summary
    2. Chapter Points
    3. 4.1 Step 1 to Understanding Networking Middleware: Networking Models
    4. 4.2 Step 2 to Understanding Networking Middleware: Understanding the Overall Network
    5. 4.3 Step 3 to Understanding Networking Middleware: Understanding the Underlying Hardware and System Software Layers
    6. 4.4 An Embedded OS and Networking I/O APIs
    7. 4.5 Step 4: Networking Middleware
    8. 4.6 Step 5 Putting it All Together: Tuning the Networking Stack and the Application Requirements
    9. 4.7 Summary
    10. 4.8 Problems
    11. 4.9 End Notes
  10. Chapter 5. File Systems
    1. Publisher Summary
    2. Chapter Points
    3. 5.1 What is a File System?
    4. 5.2 How Does a File System Manage Data?
    5. 5.3 File System Data and the File System Reference Model
    6. 5.4 Remembering the Importance of File System Stability and Reliability
    7. 5.5 Summary
    8. 5.6 File System Problems
    9. 5.7 End Notes
  11. Chapter 6. Virtual Machines in Middleware
    1. Publisher Summary
    2. Chapter Points
    3. 6.1 The First Step to Understanding a VM Implementation: The Basics to Programming Languages
    4. 6.2 Understanding the Elements of a VM’s Architecture
    5. 6.3 A Quick Comment on Selecting Embedded VMs Relative to the Application Layer
    6. 6.4 Summary
    7. 6.5 Problems
    8. 6.6 End Notes
  12. Chapter 7. An Introduction to the Fundamentals of Database Systems
    1. Publisher Summary
    2. Chapter Points
    3. 7.1 What is a Database System?
    4. 7.2 Record-based versus Object-oriented Database Models
    5. 7.3 Why Care About The Different Database Models?
    6. 7.4 The Fundamentals of Database Design: The First Steps
    7. 7.5 Real-world Database System Model
    8. 7.6 Utilizing Embedded Databases in Real-world Designs and the Application Layer
    9. 7.7 Summary
    10. 7.8 Problems
    11. 7.9 End Notes
  13. Chapter 8. Putting It All Together: Complex Messaging, Communication, and Security
    1. Publisher Summary
    2. Chapter Points
    3. 8.1 Message-oriented Middleware and Distributed Transaction
    4. 8.2 Authentication and Security Middleware
    5. 8.3 Integration Brokers
    6. 8.4 Summary
    7. 8.5 Problems
    8. 8.6 End Notes
  14. Chapter 9. The Holistic View to Demystifying Middleware
    1. Publisher Summary
    2. Chapter Points
    3. 9.1 Does using Middleware in your Embedded System Design Actually ‘Make Sense’?
    4. 9.2 Buy an Off-the-shelf Middleware Solution or Do-it-yourself?
    5. 9.3 Conclusion – See the Pattern Yet?
    6. 9.4 End Notes
  15. Appendix A. Abbreviations and Acronyms
    1. A
    2. B
    3. C
    4. D
    5. E
    6. F
    7. G
    8. H
    9. I
    10. J
    11. K
    12. L
    13. M
    14. N
    15. O
    16. P
    17. Q
    18. R
    19. S
    20. T
    21. U
    22. V
    23. W
    24. X
  16. Appendix B. Embedded Systems Glossary
    1. A
    2. B
    3. C
    4. D
    5. E
    6. F
    7. G
    8. H
    9. I
    10. J
    11. K
    12. L
    13. M
    14. N
    15. O
    16. P
    17. R
    18. S
    19. T
    20. U
    21. V
    22. W
    23. X
  17. Index