Home > Store > Software Development & Management > Architecture and Design

Software Pipelines and SOA: Releasing the Power of Multi-Core Processing

Register your product to gain access to bonus material or receive a coupon.

Software Pipelines and SOA: Releasing the Power of Multi-Core Processing

eBook (Watermarked)

  • Your Price: $28.79
  • List Price: $35.99
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.

Description

  • Copyright 2009
  • Pages: 432
  • Edition: 1st
  • eBook (Watermarked)
  • ISBN-10: 0-13-265212-9
  • ISBN-13: 978-0-13-265212-4

This is the eBook version of the print title. Access to tools, sample templates, and source code  is available through the product catalog page www.informit.com/title/0137137974.  Navigate to the Downloads tab and click on the link to download zip file.

Build Breakthrough Performance into Any SOA or Advanced Computing Application

To meet unprecedented demand, IT organizations must improve application performance by an order of magnitude. Improving performance is even more crucial in SOA environments, which demand far more computing power than older architectures. Today’s multi-core servers can deliver the performance businesses require, but few applications take full advantage of them. Now, software innovator Cory Isaacson introduces an easier, more flexible approach to parallel processing–one that any IT organization can use to attain unprecedented levels of performance. Isaacson shows how Software Pipeline models can help you scale applications to any level required, maximize resources, deliver on challenging objectives, and achieve unprecedented ROI. He illuminates these techniques with real-life business scenarios and proven design patterns–everything architects, analysts, and developers need to start using them immediately.

This book’s in-depth coverage includes

  •     How Software Pipelines work, what they can accomplish, and how you can apply them using the Software Pipelines Optimization Cycle (SPOC)
  •     Scaling applications via parallel processing while guaranteeing order of processing in mission-critical applications
  •     Solving performance problems in existing applications, and resolving bottlenecks in existing processes
  •     A complete, easy-to-adapt Pipelines Reference Framework
  •     Detailed code examples reflecting proven Pipelines Patterns
  •     Techniques that can be applied in any industry, with any programming language
  •     Specific architectural and design solutions for common business and technical challenges
  •     The future of Software Pipelines: emerging opportunities for “greenfield” development
  •     Tools, sample templates, and source code at www.informit.com/title/0137137974, Download

Sample Content

Table of Contents

Foreword    xv
Preface     xvii
Acknowledgments      xxi
About the Author      xxiii
Introduction       xxv


Section I: Pipelines Theory      1
Chapter 1: Parallel Computing and Business Applications       3

Mechanical Solutions: Parallel Computing at the Operating System Level 5
Automated Network Routing: Parallel Computing by Predetermined Logic 6
Grid Computing: Parallel Computing by Distribution 6
Parallel Computing for Business Applications 7
The Solution: Software Pipelines 8
Fluid Dynamics 10
Software Pipelines Example 11
Summary 16

Chapter 2: Pipelines Law       17
The Problem of Wasted CPU Power 17
Fluid Dynamics 18
Pipelines Law: The Basic Rule 19
Corollary 1: Limitations on the Flow 20
Corollary 2: Restrictions on the Output Flow 21
Software Pipelines Rules 22
Rule 1 22
Rule 2 23
Rule 3 26
Summary 30

Chapter 3: Pipelines Examples      31
Bank ATM System (Single-Tier Distribution) 31
Bank ATM System (Multi-Tier Distribution) 35
Summary 43

Chapter 4: Pipelines Patterns      45
Service Invocation Patterns 47
Message Exchange Patterns 49
Pipeline Routing Patterns 51
Distributor Patterns 55
Distributor Connector Patterns 60
Summary 62

Chapter 5: Pipelines: The Organizational Impact     65
Strategic Evaluation 66
Budget Impact 68
Organizational Roles and Responsibilities 70
Summary 78

Section II: Pipelines Methodology      79
Chapter 6: Software Pipelines Optimization Cycle: Overview      81

Yet Another Software Methodology? 81
SPOC Overview 82

Chapter 7: The Five Steps of SPOC      85
Summary 88

Chapter 8: Pipelines by Example: Introducing the Pipelines Bank Corporation      89
SPOC Report Template 93
Summary 94

Chapter 9: SPOC Step 1: Pipelines Objectives      95
Step 1.1: Identify Business Objectives/Requirements 96
Step 1.2: Determine Input Processing Rate 102
Step 1.3: Determine Future Potential Input Processing Rate 104
Step 1.4: Measure Current Capacity 107
Step 1.5: Calculate Performance Gap 109
Step 1.6: Define Pipelines Targets 111
Summary 113

Chapter 10: SPOC Step 2: Pipelines Analysis      115
Step 2.1: Map Current Process Flow 116
Step 2.2: Identify Existing Components 119
Step 2.3: Measure Processing Rate of Existing Components 121
Step 2.4: Calculate Processing Rate of Entire Flow 124
Step 2.5: Identify Restriction Points 127
Summary 129

Chapter 11: SPOC Step 3: Pipelines Design     131
Step 3.1: Define Service Flow Design 133
Step 3.2: Identify New Components 138
Step 3.3: Identify Pipeline Opportunities 141
Step 3.4: Define Pipelines Scheme 145
Step 3.5: Determine Distributor Rate 151
Step 3.6: Design Physical Deployment Environment 154
Step 3.7: Define/Optimize Pipelines Design 155
Summary 168

Chapter 12: SPOC Step 4: Pipelines Implementation      169
Step 4.1: Establish Software Pipelines Framework 171
Step 4.2: Modify Existing Components 173
Step 4.3: Develop New Components 178
Step 4.4: Orchestrate Service Flows 179
Step 4.5: Instrument Service Flow 181
Step 4.6: Develop/Modify Pipeline Sets 182
Step 4.7: Test and Optimize Pipelines Implementation 190
Summary 193

Chapter 13: SPOC Step 5: Pipelines Deployment      195
Step 5.1: Plan Pipelines Deployment 196
Step 5.2: Deploy to Production Environment 197
Step 5.3: Monitor Production Environment 198
Step 5.4: Evaluate Results, Plan Next SPOC Iteration 199
Summary 201

Section II: I: Pipelines Examples    203
Chapter 14: Hello Software Pipelines     205

Define the Message 206
Build the Service 207
Configure the Distributors 209
Create the Client 212
Run the Service 215
Summary 215

Chapter 15: Scaling Hello Software Pipelines     217
Scale the Service 217
Develop a Scalable Test Client 219
Run the Service 223
Summary 228

Chapter 16: Additional Pipelines Router Configurations     229
Content-Based Router 229
Custom Pipelines Router 241
Summary 256

Chapter 17: Getting an Answer from Hello Software Pipelines     257
Request-Response Messaging 257
Use Request-Response with Hello Software Pipelines 261
Summary 273

Chapter 18: Additional Distributor Connector Patterns     275
Define and Configure a Connector 275
Socket Connector 278
Web Service Connector 280
Summary 282

Chapter 19: Using a Multi-Tier Distributor    283
Configure the Multi-Tier Distributors 284
Create the Client 289
Run the Service 292
Summary 293

Chapter 20: Database Sharding Distributor     295
Database Shards Example 297
Create the Database Shards 299
Build the Service 299
Configure the Distributor 303
Configure the Sharding Driver 304
Create the Client 305
Run the Service 307
Summary 309

Chapter 21: Pipelines Framework Overview      311
Interface Overview 311
Pipelines Instrumentor 314
Summary 322

Chapter 22: Pipelines Bank Corporation (PBCOR) Example      323
Account Transaction 323
Pipelines Configuration 328
Spring Framework 332
Database Access 333
Run the Test 348
Summary 349

Section IV: The Future of Software Pipelines      351
Chapter 23: The Future of Software Pipelines     353

Final Words of Advice 353
Ideas for the Future 354

Appendix: Pipelines Reference Framework Javadoc      357

Index       375

Updates

Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership