You are previewing Resource-Oriented Computing with NetKernel.
O'Reilly logo
Resource-Oriented Computing with NetKernel

Book Description

Take resource-oriented computing out for a spin with this hands-on introduction to NetKernel, and discover how ROC can improve the way you design and implement software and software systems. Learn how ROC’s new approach combines core ideas from the REST architectural style with the Unix development model. By using NetKernel to create and then string simple services together, you can develop complex systems that scale as easily as the Internet does. Author Tom Geudens helps you create several NetKernel modules right away, and then walks you through the results to demonstrate their effectiveness.

Table of Contents

  1. Resource-Oriented Computing with NetKernel
  2. SPECIAL OFFER: Upgrade this ebook with O’Reilly
  3. Preface
    1. Audience
    2. Downloads
    3. Conventions
    4. Great expectations
    5. Don’t know much about history. . .
    6. 10,600-foot view of ROC
    7. Why bother?
    8. Using Code Examples
    9. Safari® Books Online
    10. How to Contact Us
    11. Acknowledgments
  4. I. Getting Acquainted
    1. 1. Stacking the Deck
      1. Setup
        1. Layout NK5 Installation
        2. [install]/bin
        3. [install]/etc
        4. [install]/javadoc
        5. [install]/lib
        6. [install]/log
        7. [install]/modules
        8. [install]/project-modules
      2. Hammer Time—Your First Module
        1. Directory
        2. Module Definition
        3. Dynamic Import
        4. The HelloEndpoint
        5. Registering the Module
        6. Try It
        7. We Are Not Finished
        8. Trying Documentation and Tests
        9. Source Version Control
        10. Well Done
      3. Conclusion
    2. 2. Incision, Right Here
      1. Inside [moduleroot]/module.xml
        1. Template
        2. Template’s First Flesh
        3. Rootspace
        4. Endpoint—Fileset
        5. Endpoint—Import
        6. Endpoint—Mapper
        7. Endpoint—Prototype
      2. Dynamic Imports
      3. The Web Server Pattern
        1. Goal
        2. Module Definition
        3. Documentation
        4. Testing
      4. Conclusion
    3. 3. ROC Talk
      1. Principles
        1. 1. A resource is an abstract set of information.
        2. 2. Each resource may be identified by one or more logical identifier.
        3. 3. A logical identifier may be resolved within an informational context to obtain a physical resource-representation.
        4. 4. Computation is the reification of a resource to a physical resource-representation.
        5. 5. Resource-representations are immutable.
        6. 6. Transreption is the isomorphic, lossless transformation of one physical resource-representation to another.
        7. 7. Computational results are resources and are identified within the address space.
      2. Three Cs
        1. Construct
        2. Compose
        3. Constrain
        4. Shock
      3. Frequently Used Graph
      4. ROC Training
        1. Base
        2. Adding the Front End
        3. Advanced
        4. Extra
        5. Practice
      5. Real Life ROC
      6. Conclusion
    4. 4. Humongous Fun
      1. Background
      2. MongoDB in Five Minutes
        1. Document Database
        2. Showtime
      3. Hammer Time—The Module
        1. Design
        2. No Dynamic Export
        3. Grammar
        4. Grammar’s Kitchen
        5. Request
        6. The Driver
        7. Insert
        8. Update
        9. Delete
        10. Select
        11. Drop
        12. Count
        13. Missing in Action
        14. Testing
        15. Documentation
      4. Interfacing
        1. Room for Improvement
    5. 5. Expanding Your Horizon
      1. New Module Wizard
        1. Confession
        2. To Use or Not to Use
        3. Exercise
      2. Visualizer
      3. Apposite
        1. SE Versus EE
        2. Extra Batteries
        3. Packaging
      4. Logging
        1. Tools
        2. Plugging In
          1. You are already plugged in
          2. LogConfig
          3. Non DPML
          4. Message Bundles
        3. Viewlog Accessor
        4. Conclusion
  5. II. Batteries Included
    1. 6. DPML
      1. Glue
      2. Building Blocks
        1. Basics
        2. Sequence
        3. Literal
        4. Request
        5. Conditional Processing
        6. Iterative Processing
        7. Exception Handling
        8. Making Life Easier
      3. Functional Programming
        1. Differences
        2. More Information
      4. Conclusion
    2. 7. XRL
      1. Prerequisites
      2. Setup
        1. The Design
        2. The Code
        3. Verify and Troubleshoot
        4. Integrate in Scripting Playpen
          1. Copy and Rename
          2. Changes
          3. Activation
      3. Basics
        1. Humble Beginnings
        2. Recursive Replacement
        3. Dynamic Recursive Replacement
      4. Three Ways to Use XRL
        1. xrl:include
        2. xrl:resolve
        3. xrl:eval
        4. All Three Together
      5. Did You/I Notice?
      6. Conclusion
    3. 8. nCoDE
      1. Prerequisites
      2. Beginnings
      3. Give Me More
      4. It Is Not a Toy
      5. Ahead of Myself
        1. helloWorldActive
        2. helloWorldTester
      6. Conclusion
  6. III. Appendixes
    1. A. Getting and Installing NetKernel
      1. Prerequisites
      2. Download
      3. Installation
        1. Running the downloaded jar—Windows
        2. Running the downloaded jar—Ubuntu
        3. Verification—all environments
        4. Installation—all environments
        5. Verification—Windows
        6. Verification—Ubuntu
        7. Stopping downloaded jar - all environments
        8. First run from disk—Windows
        9. First run from disk—Ubuntu
        10. Verification - all environments
        11. Apposite—all environments
      4. Conclusion
    2. B. Setting Up Your Own Apposite Repository
      1. Prerequisites
      2. Preparation
        1. Getting Cygwin—Windows
        2. Installing Cygwin—Windows
        3. Nonroot user—Ubuntu
      3. Synchronization
        1. Creating the repository—Windows
        2. Creating the repository—Ubuntu
        3. Synchronizing the repository—Windows
        4. Synchronizing the repository—Ubuntu
        5. Verification—Windows
        6. Verification—Ubuntu
      4. Use
        1. Activating your personal Apposite Repository—Windows
        2. Activating your personal Apposite Repository—Ubuntu
      5. Conclusion
    3. C. Running NetKernel as a Service
      1. Cover Story
      2. Procedure Windows 7
        1. Download Java Service Wrapper
        2. Install Java Service Wrapper
        3. Activate NetKernel service
        4. Deactivate NetKernel service
      3. Procedure Ubuntu 10.04
        1. The netkerneld script
        2. Installing the netkerneld script
        3. Activating the netkerneld script
        4. Deactivating the netkerneld script
        5. Deinstalling the netkerneld script
        6. Alternative script
      4. Quid Pro Quo
    4. D. Locking Down Your NetKernel Instance
      1. Cover Story
      2. Procedure Windows 7
        1. Client
        2. Server
        3. Firewall
      3. Procedure Ubuntu 10.04
        1. Client
        2. Server
        3. Firewall
      4. Tunneling
    5. E. Source Version Control
      1. Raison d'être
        1. Statements
        2. Discussion
        3. Conclusion
      2. Setup
        1. Eclipse
        2. Subversion Repository
      3. Customize Eclipse
        1. Extra tools
        2. NetKernel specific
      4. New Eclipse Project
        1. Creation
        2. Sources
        3. Source Version Control
      5. Deployment
    6. F. Examples and Solutions
      1. Example—Limiter
        1. Setup
        2. The issue
        3. The solution
        4. Verification
        5. The Correct Solution
        6. Another verification
        7. Conclusion
      2. Solution—Error in third test ExtJS Server module
      3. Solution—xrl:resolve
  7. About the Author
  8. SPECIAL OFFER: Upgrade this ebook with O’Reilly