Professional Documents
Culture Documents
ebook download Oracle SOA Suite 12c handbook 1st Edition Jellema - eBook PDF all chapter
ebook download Oracle SOA Suite 12c handbook 1st Edition Jellema - eBook PDF all chapter
ebook download Oracle SOA Suite 12c handbook 1st Edition Jellema - eBook PDF all chapter
http://ebooksecure.com/product/oracle-12c-sql-3rd-edition-ebook-
pdf/
http://ebooksecure.com/product/ebook-pdf-oracle-12c-sql-3rd-
edition-by-joan-casteel/
https://ebooksecure.com/download/oca-oracle-database-sql-exam-
guide-exam-1z0-071-ebook-pdf/
https://ebooksecure.com/download/data-communications-and-
networking-with-tcp-ip-protocol-suite-ebook-pdf/
Handbook of Microbial Nanotechnology 1st edition -
eBook PDF
https://ebooksecure.com/download/handbook-of-microbial-
nanotechnology-ebook-pdf/
https://ebooksecure.com/download/science-for-policy-handbook-
ebook-pdf/
https://ebooksecure.com/download/handbook-for-laboratory-safety-
ebook-pdf/
https://ebooksecure.com/download/handbook-of-algal-biofuels-
ebook-pdf/
https://ebooksecure.com/download/saunders-nursing-drug-handbook-
ebook-pdf/
®
Lucas Jellema
ISBN: 978-0-07-182460-6
MHID: 0-07-182460-X
The material in this eBook also appears in the print version of this title: ISBN: 978-0-07-182455-2,
MHID: 0-07-182455-3.
All trademarks are trademarks of their respective owners. Rather than put a trademark symbol after every occurrence of a trademarked name, we
use names in an editorial fashion only, and to the benefit of the trademark owner, with no intention of infringement of the trademark. Where such
designations appear in this book, they have been printed with initial caps.
McGraw-Hill Education eBooks are available at special quantity discounts to use as premiums and sales promotions or for use in corporate training
programs. To contact a representative, please visit the Contact Us page at www.mhprofessional.com.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. All other trademarks are the property of their respective owners, and
McGraw-Hill Education makes no claim of ownership by the mention of products that contain these marks.
Screen displays of copyrighted Oracle software programs have been reproduced herein with the permission of Oracle Corporation and/or its affiliates.
Excerpts of copyrighted Oracle user documentation have been reproduced herein with the permission of Oracle Corporation and/or its affiliates.
Information has been obtained by Publisher from sources believed to be reliable. However, because of the possibility of human or mechanical error by
our sources, Publisher, or others, Publisher does not guarantee to the accuracy, adequacy, or completeness of any information included in this work and
is not responsible for any errors or omissions or the results obtained from the use of such information.
Oracle Corporation does not make any representations or warranties as to the accuracy, adequacy, or completeness of any information contained in this
Work, and is not responsible for any errors or omissions.
TERMS OF USE
This is a copyrighted work and McGraw-Hill Education and its licensors reserve all rights in and to the work. Use of this work is subject to these terms.
Except as permitted under the Copyright Act of 1976 and the right to store and retrieve one copy of the work, you may not decompile, disassemble,
reverse engineer, reproduce, modify, create derivative works based upon, transmit, distribute, disseminate, sell, publish or sublicense the work or any
part of it without McGraw-Hill Education’s prior consent. You may use the work for your own noncommercial and personal use; any other use of the
work is strictly prohibited. Your right to use the work may be terminated if you fail to comply with these terms.
THE WORK IS PROVIDED “AS IS.” McGRAW-HILL EDUCATION AND ITS LICENSORS MAKE NO GUARANTEES OR WARRANTIES AS
TO THE ACCURACY, ADEQUACY OR COMPLETENESS OF OR RESULTS TO BE OBTAINED FROM USING THE WORK, INCLUDING ANY
INFORMATION THAT CAN BE ACCESSED THROUGH THE WORK VIA HYPERLINK OR OTHERWISE, AND EXPRESSLY DISCLAIM ANY
WARRANTY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS
FOR A PARTICULAR PURPOSE. McGraw-Hill Education and its licensors do not warrant or guarantee that the functions contained in the work will
meet your requirements or that its operation will be uninterrupted or error free. Neither McGraw-Hill Education nor its licensors shall be liable to you
or anyone else for any inaccuracy, error or omission, regardless of cause, in the work or for any damages resulting therefrom. McGraw-Hill Education
has no responsibility for the content of any information accessed through the work. Under no circumstances shall McGraw-Hill Education and/or its
licensors be liable for any indirect, incidental, special, punitive, consequential or similar damages that result from the use of or inability to use the work,
even if any of them has been advised of the possibility of such damages. This limitation of liability shall apply to any claim or cause whatsoever whether
such claim or cause arises in contract, tort or otherwise.
Contents at a Glance
PART I
Introducing Saibot Airport, SOA, and the Oracle SOA Suite
1 Saibot Airport Reaching for the Future ................................. 3
2 Overview of Oracle Fusion Middleware and SOA Suite 12c ................. 27
PART II
Elementary Services
3 Exposing SOAP and REST Services Using Service Bus ...................... 59
4 Accessing Database and File System through Outbound Technology Adapters . . . 107
5 Introducing SOA Composite Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
6 One-Way Services and More Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
PART III
Composite Services
7 Composite Services with Service Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
8 Composite Services with SOA Composites Using the BPEL Component . . . . . . . . 279
9 Coherence Integration to Reduce Load and Speed Up Response . . . . . . . . . . . . . 321
10 Embedding Custom Logic Using Java and Spring Component . . . . . . . . . . . . . . . . 347
11 Business Rules to Capture Business Logic to Automate Decisions . . . . . . . . . . . . . 379
PART IV
Asynchronous Services and Events
12 Asynchronous Services with SOA Composites and Service Bus . . . . . . . . . . . . . . . 411
13 Inbound Adapters—Polling Database, Consuming JMS, and Receiving Emails . . . 451
v
vi Oracle SOA Suite 12c Handbook
PART V
Process Orchestration
17 The Human Task Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
18 Business Process Oriented BPEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
19 Business Process Management and Adaptive Case Management . . . . . . . . . . . . . . 605
20 Monitoring for Insight into Business Process Execution . . . . . . . . . . . . . . . . . . . . 647
21 Governance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
22 Building and Deploying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721
23 Run-Time Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
24 SOA Suite and Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847
Contents
Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
PART I
Introducing Saibot Airport, SOA, and the Oracle SOA Suite
1 Saibot Airport Reaching for the Future ............................. 3
Saibot Airport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Business Vision and Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Business Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
IT Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Architecture to Enable the Future . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
The Triangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Domains of Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Service-Oriented Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Event-Driven Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
On Technology and Vendor Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Selection Approach ............................................. 15
Processes and Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Service-Oriented Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Organization and Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Looking Forward . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2 Overview of Oracle Fusion Middleware and SOA Suite 12c ............. 27
Oracle Technology Stack ............................................... 28
Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Oracle Fusion Middleware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Oracle Fusion Middleware: The Cloud Platform for Digital Business . . . . . . . . . 33
vii
viii Oracle SOA Suite 12c Handbook
PART II
Elementary Services
3 Exposing SOAP and REST Services Using Service Bus .................. 59
Introducing Service Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Developing the Temperature Conversion Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Starting a New Service Bus Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Importing the Design Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Create the Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Create the Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Run the TemperatureConversionService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Extending the Temperature Conversion Service with Validation,
Exception Handling and Reporting ..................................... 77
The V in VETRO—Adding Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Exception Handling in the Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Monitoring Service Bus Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Speed and Distance Conversions through Routing to External Services . . . . . . . . . . . . . 91
Configure a Business Service for an External Conversion Service . . . . . . . . . . . 92
Create Proxy ConversionService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Implement the Generated ConversionPipeline . . . . . . . . . . . . . . . . . . . . . . . . . 97
Run/Test Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Routing Messages to the TemperatureConversionPipeline . . . . . . . . . . . . . . . . . 101
Exposing a REST/JSON Endpoint for the Temperature Conversion Service . . . . . . . . . . . 102
Creating a REST Conversion Service Interface with JSON Response . . . . . . . . . 102
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
More about the Service Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
PART III
Composite Services
7 Composite Services with Service Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Creating the Bare Bones FlightScheduleService .............................. 236
Set Up the FlightScheduleService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Implementing Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Add XSD Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Add XQuery-Based Constraints Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Airline Checks and Mapping with Domain Value Map . . . . . . . . . . . . . . . . . . . 248
Using Callouts for Validation and Enrichment ............................... 251
Java Callout to Execute Content-Based Logic . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Contents xi
8 Composite Services with SOA Composites Using the BPEL Component . . . . 279
Using BPEL to Create the Bare Bones FlightScheduleService .................... 280
Quick Introduction to BPEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
First Steps with the FlightScheduleService and with BPEL . . . . . . . . . . . . . . . . . 282
Implementing Validation on Requested Flight Schedules . . . . . . . . . . . . . . . . . . . . . . . . 287
Prepare the Multiphase BPEL Process Structure . . . . . . . . . . . . . . . . . . . . . . . . . 287
Add Schema Validation .......................................... 289
Fault Handling for Scope SchemaValidation .......................... 289
Return Processing Results upon Validation Failure or Continue ............ 292
Implement Custom Validations Using XQuery . . . . . . . . . . . . . . . . . . . . . . . . . 293
Airline Checks and Mapping with Domain Value Map . . . . . . . . . . . . . . . . . . . 297
Reusable Logic through Inline Subprocess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Create Inline Subprocess to Report a Validation Error . . . . . . . . . . . . . . . . . . . . 299
Call the Inline Subprocess from Scope AirlineValueMap . . . . . . . . . . . . . . . . . . 301
Testing the FlightScheduleService with the Subprocess
to Handle Airline Mapping Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Using Embedded Java for Validation and Enrichment . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Embedded Java Activity to Execute Content-Based Logic ................. 304
External Callouts or Invoking Services from a BPEL Process . . . . . . . . . . . . . . . . . . . . . 307
Invoke the SlotService from the BPEL Process . . . . . . . . . . . . . . . . . . . . . . . . . . 307
FinancialDepartmentAirlineCheck from the BPEL Process . . . . . . . . . . . . . . . . . . . . . . . 312
Turn BPEL Component into Component Template . . . . . . . . . . . . . . . . . . . . . . . 313
Create and Wire the BPEL Process Based on Component Template . . . . . . . . . . 314
Invoke the Financial Department Check of the Airline . . . . . . . . . . . . . . . . . . . 315
Deploy and Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Reorganizing Scope ProcessingAndRouting with Parallel Activities . . . . . . . . . . . . . . . . 317
Introducing the Parallel Flow Activity to the ProcessingAndRouting Scope . . . . 318
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
PART IV
Asynchronous Services and Events
12 Asynchronous Services with SOA Composites and Service Bus . . . . . . . . . . . 411
Exposing Asynchronous Services ......................................... 412
Implement the Asynchronous ThoughtfulGreeterService
with a BPEL Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Implement Asynchronous Service with Mediator . . . . . . . . . . . . . . . . . . . . . . . 417
Expose Asynchronous Service Interface with Service Bus . . . . . . . . . . . . . . . . . 419
Interacting with Asynchronous Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
Invoke an Asynchronous Service from a BPEL Component—
Synchronous Interface on Top of Asynchronous Back End . . . . . . . . . . . . . . 421
Invoking an Asynchronous Service in Service Bus . . . . . . . . . . . . . . . . . . . . . . . 423
Request Proposal for Airport Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Introducing the AircraftService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Implementing the Asynchronous AircraftService with BPEL . . . . . . . . . . . . . . . . 426
Implementing the AircraftServiceOrchestrator . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Implementing the Asynchronous AircraftService with ServiceBus . . . . . . . . . . . 431
Extend the AircraftServiceOrchestrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
Introduce Some Asynchronous Interaction to the BPEL Process . . . . . . . . . . . . . . . . . . . 435
Add Deadline Monitor to AircraftServiceOrchestrator . . . . . . . . . . . . . . . . . . . . 435
Use Correlation to add a Cancel Operation
to the AircraftServiceOrchestrator ................................ 436
Retrieve Current RFP Status from Running AircraftServiceOrchestrator . . . . . . . 444
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
PART V
Process Orchestration
17 The Human Task Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
Introducing the Human Task Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
Architecture of the Human Task Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
Exploring the Task Service in Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
Simple Task Seeking Human Approval for Aircraft Service Proposal . . . . . . . . . . . . . . . 548
Add Human Task to Composite Application . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
Configure Task Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
Actionable Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
Assign to Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Handcraft Proposal When Rejecting the Generated Proposal . . . . . . . . . . . . . . . . . . . . 559
Create Task to Manually Compose a Proposal . . . . . . . . . . . . . . . . . . . . . . . . . . 560
Generate the Task Form .......................................... 561
Embed Task in BPEL Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Deploy and Run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Update Initial Task AssessProposal to Include Workflow
for Approving Manual Proposals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
Create Advanced Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Generate the Task Form for AssessProposal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
Add a Second Appearance of Task AssessProposal to the BPEL Process . . . . . . . 569
Deploy and Run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Advanced Features for Human Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
Business Rules for Task Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Java and WebService API for Human Workflow Services . . . . . . . . . . . . . . . . . . 572
Database Views for Inspecting Task Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Using Excel as an Alternative Worklist Application . . . . . . . . . . . . . . . . . . . . . . 572
Human Task Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
Custom Task Allocation and Escalation Mechanisms . . . . . . . . . . . . . . . . . . . . . 573
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
xvi Oracle SOA Suite 12c Handbook
21 Governance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
Reuse, Dependencies, and Coexistence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684
Implementing Governance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
Granularity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688
Granularity of SOA Composite Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . 688
Partitions ..................................................... 692
Templates in SOA Suite ................................................ 692
Templates for SOA Composite Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
Templates for Service Bus Pipelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
Managing and Reusing Artifacts Using MDS and a Common Project . . . . . . . . . . . . . . 696
Using MDS to Share and Consume Resources . . . . . . . . . . . . . . . . . . . . . . . . . 697
SOA Composite Based on Resources in MDS . . . . . . . . . . . . . . . . . . . . . . . . . . 698
Service Bus, Common Project, and MDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
Updating MDS Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
Updating the Service Bus Project ConversionService . . . . . . . . . . . . . . . . . . . . 710
Versioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712
Versioning of Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712
Endpoints, States, and Versions of SOA Composite Applications . . . . . . . . . . . . 713
Tools for Governance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
Oracle Enterprise Repository ...................................... 717
Oracle API Catalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847
Foreword
ntegration is the key driver for getting true return of IT investment in Enterprises.
It is in this context that the 12c release of Oracle SOA Suite was born. This is a major
milestone in the evolution of one of the cornerstone products in Oracle Fusion Middleware.
Oracle SOA Suite helps organizations speed up time to integration, improve developer
productivity, and lower TCO. With SOA Suite 12c, developers will be more productive and
administrators will find even more capability to run highly available and scalable
integrations for 24/7 support of the enterprise. Oracle Middleware continues to be the
foundation for all of Oracle Applications and now is the foundation for Oracle Platform-As-
A-Service in the cloud as well.
Upgrading to SOA Suite 12c is easier than ever before. Customers on the current patch
releases and meeting other criteria can complete an in-place upgrade that allows their SOA
composites to proceed right where they left off. Oracle SOA Suite 12c is truly the Service
Integration Platform to power your Enterprise Applications, Internet of Things, Mobile,
and Cloud.
xix
xx Oracle SOA Suite 12c Handbook
The author of the book you are holding—Oracle ACE Director Lucas Jellema—has been
publishing on Oracle SOA products for more than a decade. From blog posts on the initial BPEL
Process Manager as early as 2004 and his widely used Oracle SOA Suite 11g Handbook in 2010,
he now delivers the tome you are holding today. Maybe even more important: he brings a decade
of practical experience to the table of utilizing Oracle Fusion Middleware in various challenging
business environments. This experience shines through in the many examples and useful
guidelines that Lucas provides in this book.
This book covers most areas of Oracle SOA Suite 12c. It starts from simple synchronous
services and straightforward integration patterns and then gradually works its way through
asynchronous interactions, event-driven exchanges to the implementation of complex business
processes and human tasks. It discusses the technology adapters that provide essential integration
with databases, queues, and other technology components. Run-time administration, DevOps,
and Security are some areas touched upon as well.
The case of the airport that Lucas uses as the backdrop for the examples in this book is a fine
example of an organization that has clear business objectives and an enterprise architecture to help
realize those objectives. Lucas makes it quite clear how many pivotal aspects of the IT architecture
of this airport can be implemented using the Oracle SOA Suite. The airport is imaginary—but the
same applies to many organizations around the world, probably including yours.
I know that your organization can take important steps and make significant progress toward
your main business objectives by applying service-oriented principles using Oracle SOA Suite 12c.
I am convinced that this book, the many examples and practical tips provided by the author, will
help you get started and become proficient with Oracle SOA Suite 12c.
I wish you the best as you embark on your journey to add value to your business. I know that
Oracle SOA Suite 12c will power your innovation and that this book will provide you with expert
guidance to make your project a success. We look forward to hearing from you as you use our
products and services and are grateful that you chose Oracle to be your partner!
Inderjeet Singh
Executive Vice President,
Oracle Fusion Middleware Development
Acknowledgments
S
uccess has many fathers, failure is an orphan. Many people contributed to this book
and therefore its imminent success—including several who did so unconsciously and
perhaps very indirectly. For example, during the OTN Yathra Tour of India in 2013, I
met with two Oracle DBAs in Bangalore. They related to me how, by using my Oracle SOA
Suite 11g Handbook, they had been introduced to Middleware in general and Oracle
SOA Suite in particular. They thanked me for the book because of how it had propelled them
in their career. They also could not stress enough how they would appreciate a successor
describing the 12c release of SOA Suite. Although at the time I had no intention of committing
to another book, this unexpected and heartwarming, if not outright flattering, conversation did
much to convince me to get started on the book you have now in your hands.
Essential for the production of the book obviously has been the collaboration with the
staff at Oracle Press/McGraw-Hill: Paul Carlstroem, Amanda Russell, and Brandi Shailer. The
copy editing process was managed by Tanya Punj at Cenveo Publisher Services.
The support from within various teams at Oracle has been tremendous—through beta
programs and early previews, frank discussions, and friendly banter, I have been given
insights that helped me write the book and provide many details and clarification. Simone
Geib has been my primary point of contact for SOA Suite. Vikas Anand, Robert Wunderlich,
Ram Menon, Jay Kasi, Dave Berry, Ralf Müller, Lloyd Williams, Robin Smith, and Edwin
Biemond are some of my other friends at Oracle who supported my efforts. Jürgen Kress is
the tireless sponsor of AMIS and peer companies in his capacity as EMEA Oracle Fusion
Middleware partner enabler. His energy, initiatives, and sometimes bold moves have
frequently been motivating and helpful.
The Oracle ACE program is another constant source of inspiration. Discussions with my
fellow ACEs and ACE Directors are invariably valuable and stimulating. I am grateful to the
program’s management: Victoria (Vikki) Lira, Lillian Buziak, and Jennifer Nicholson and the
xxi
xxii Oracle SOA Suite 12c Handbook
facilities they provide to us. I hope this book is up to the extremely high-quality expectations of
the Oracle ACE(D)s.
I was fortunate to have two esteemed members of the Oracle ACE community as technical
reviewers for this book. Ronald van Luttikhuizen and Guido Schmutz possess a great combination
of technical expertise, patience, and willingness to share insights and to offer constructive
feedback. Both of them are accomplished authors and helped me not just with the technical
content but also with many other aspects of the book. Any mistakes, of course, are my own—and
many things that are good about the book are so because of Guido and Ronald. Thanks so much
for working on this together!
The trust from my colleagues at AMIS, the support from the entire company, and the many
encouragements, contributions, and constructive criticisms have been wonderful. Thanks for
13 great years (so far) and your help in my endeavors. A special word of thanks to Chiel Ham,
who tried out most of the samples introduced in the book and provided me with many corrections
along the way.
Madelon has been crucial for the realization of this book. She came up with the airport
case—mainly to shut me up so she could go to sleep, but still. More importantly, she is there for
me. Our two sons—Lex and Tobias—are another wonderful constant in my life. Their curiosity
into the book project provided a persistent drive and challenge.
Introduction
ervice-Oriented Architecture is one of the major trends of our time in enterprise and
S IT architecture. The promise that SOA presents to business of business agility, lower
costs, and improved quality of operations, based on concepts such as loose coupling,
reuse, encapsulation, and interoperability, attracts many organizations. Complemented with
Business Process Management (BPM) and Event-Driven Architecture (EDA), SOA can add
real and sustained business value to enterprises.
Adopting SOA in an organization is a serious challenge that will require major efforts at
various levels, from business to IT infrastructure. Crucial to the success of SOA adoption are
sometimes intangible elements, including mindset, collaboration across departments and
lines of business, communication, process orientation, and business analysis—in terms of
interfaces and contracts, with focus on reuse and loose coupling and the implementation of
proper governance.
When it comes to the actual implementation of the services and components that have
been analyzed and designed, there is a need for an SOA platform—a run-time infrastructure
that executes the applications and processes, handles service calls, and provides facilities
around security, exception handling, and management. Enter Oracle SOA Suite 12c.
SOA Suite 12c is one of the key components in Oracle Fusion Middleware, a prominent
platform to create and run agile and intelligent business applications and to maximize IT
efficiency by exploiting modern hardware and software architectures—both on premises
and in the cloud.
This book explains what SOA Suite 12c is and how its many features and components
can be used to develop, deploy, and manage service-oriented artifacts.
xxiii
xxiv Oracle SOA Suite 12c Handbook
Java, and perhaps PL/SQL, but these are not required to benefit from most of the book’s content.
Readers with administrative responsibilities will find a lot of material supporting them in these
tasks. Testers and (technical) architects will also learn a lot from large sections in this book. IT
management staff and business analysts will mainly benefit from Part I; if they have a technical
background, then others parts will prove worthwhile as well.
The book is organized into the following six parts.
Part I, “Setting the Stage,” introduces the case of Saibot Airport and the business and IT
challenges it faces. The path the airport has laid down for itself in order to create its future and the
IT architecture and technology it has selected are discussed along with the core concepts that
make up Service-Oriented Architecture. The history of Oracle Fusion Middleware is described as
well as its current status. The focus then moves to a detailed overview of SOA Suite 12c, its main
constituents, and closely associated products such as Managed File Transfer, API Catalog, API
Manager, B2B, and Healthcare. This part concludes with a very quick start-up instruction which
includes the installation of SOA Suite 12c development environment, ready for the creation and
deployment of the HelloWorld equivalent in SOA applications.
Part II, “Elementary Services,” provides the first iteration through Service Bus and SOA
Composite applications using the Mediator component. This part discusses design and
implementation of fairly simple services that are synchronous, single purpose, and short running,
both with SOAP/XML and with REST/JSON style interfaces. The part introduces a number of
outbound adapters: File, Database, UMS (for interaction with humans using email and chat), JMS,
AQ, and EJB. The same services are implemented using both Service Bus and SOA Composites—
to highlight the similarities and differences between the two approaches in SOA Suite 12c for
service development.
In Part III, “Composite Services,” more complex services are discussed that leverage more
advanced facilities in the SOA Suite. The business process execution language BPEL is introduced
as well as the Business Rule component. Complex message validation, making service call-outs
for validation and enrichment, performing value lookups, and performing bulk operations in
parallel are some mechanisms discussed in this part. Templates are introduced, providing reuse at
various levels. Integration of custom Java in both Service Bus (Java Call Outs) and SOA
Composites (Spring Java component) is demonstrated—demonstrated using interactions from SOA
Suite with the Twitter and DropBox APIs. This part also discusses the use of the Coherence
Adapter to improve response times and scalability and reduce load on backend systems.
Up to this point, all activities in SOA Suite were started and completed from a synchronous
call on a single thread. In Part IV, “Asynchronous Services and Events,” we discuss the
asynchronous side of things. Asynchronous service interfaces that return a response through a
callback at a later point in time are both consumed and published using both Service Bus and
SOA Composite. Subsequently, the use of inbound technology adapters is discussed. These
adapters cause services to be executed as a result of events detected in external components,
such as database tables or advanced queues, JMS destinations, an email folder, or a file system
directory. A time event can be another trigger to execute a service—as the chapter on the
Enterprise Scheduling Service (ESS) explains. The ultimate decoupling mechanism in SOA Suite is
the Event Delivery Network (EDN) that is introduced next. With EDN, we can implement the
extreme decoupling concepts of Event-Driven Architecture for business events that are published
and consumed from and by Mediator and BPEL inside the SOA Suite, and Java and PL/SQL
components outside of it. How Service Bus can be made to interact with EDN is explained as well.
Introduction xxv
The last chapter in this part discusses Oracle Event Processor (OEP), a component that is included
in the SOA Suite license, integrated with the Event Delivery Network, and implemented outside of
the SOA Suite runtime, in its own container. With OEP, lightweight applications can be created
that monitor and analyze signals across many run-time processes in real time. Using OEP, we can
automate much of the human responsibility for observation, interpretation, and reaction.
In Part V, “Processes,” we introduce the human actor into the mix. Recognizing that not all
activities can be executed by automated service components, the SOA Suite is capable of
engaging people. Through the Human Workflow Service, the SOA Suite can have tasks assigned,
whose result—produced by the human actor(s)—is fed back into the automated process. An
end-to-end business process—either true STP (straight through processing) or involving human
activities—is implemented in SOA Suite using the BPEL component. As part of the process that
gets implemented, interaction with a user directory is achieved using the LDAP adapter. User
accounts are searched and new accounts get created.
A common consideration for organizations with a strong emphasis on automated business
process execution is to acquire the Oracle BPM Suite on top of the SOA Suite and use Business
Process Management and Adaptive Case Management (defined through BPMN and CMMN). This
Part V makes a little excursion from its main scope—Oracle SOA Suite 12c—to discuss the BPM
Suite and demonstrate how it facilitates the implementation of complex business processes as
well as the notion of unstructured, content, and expert-driven processes through case
management. Insight into the execution of business processes is usually highly desirable—for
operational resource management and problem detection and intervention as well as for longer
term process analysis and optimization. This chapter discusses how process analytics can be
produced from both BPEL and BPMN processes and how these analytics are reported in
Enterprise Manager Fusion Middleware Control and in Business Activity Monitoring (BAM). BAM
is a standalone product that is included in the SOA Suite 12c license. It can be used to report on
the analytics produced from SOA Suite and BPM Suite as well as on other data sources, as is
demonstrated in this part.
In the final part, Part VI, “DevOps & Run-Time Administration,” we switch gear a little. In
parts II through V, we have primarily discussed the design and development of custom software
to be deployed on the SOA Suite. In this part, we focus on the supporting software engineering
processes that help govern and facilitate the creation of the custom software components as well
as their delivery from development through test to production. This part discusses reuse of artifacts
through MDS (the Meta Data Services), the mechanisms available for versioning, and some
suggested practices for governance. Subsequently, the facilities are discussed for automated
building, testing, and deploying of SOA Suite artifacts—for example, using Maven. Administrative
responsibilities are an important topics in this chapter. The Enterprise Manager Fusion Middleware
Control and its features to support run-time operations are introduced—for example, monitoring
of SLAs, workload and performance, exception handling, metadata purging, and the extensive
logging infrastructure in SOA Suite and WebLogic. The final subject in this part—and indeed the
book—is security. The security of the SOA Suite run-time infrastructure and protection of its
metadata is one aspect that is discussed. The protection of services from unauthorized access and
the confidentiality and integrity of the messages that are exchanged is another one, both for the
services exposed from the SOA Suite and for those invoked from it. The interaction with OPSS
(Oracle Platform Security Services) and the OWSM (Oracle Web Services Manager) features
prominently in this discussion.
xxvi Oracle SOA Suite 12c Handbook
Saibot Airport
Implementing SOA is meaningless without a tangible business context. Services address business
requirements, as do composite applications and business processes. To illustrate SOA and Oracle
SOA Suite, this book uses the case of a made-up airport, called Saibot Airport and located in
the great city of Lexville. The exact location of the airport remains uncertain—hovering between
the Netherlands and the USA, I would surmise.
The airport and its challenges, both at a business level and in terms of technology, provide the
backdrop throughout the book against which SOA Suite features are discussed, examples are
designed, and the implementation is done. This airport represents a series of business challenges
that are found in organizations across industries and countries. It has interactions with external
parties (including customers and business partners), strives to create more efficient business
processes across departments that combine automated actions and manual tasks, needs to
implement security, continually faces changing requirements with ever shorter times-to-market,
and hopes to gain more real-time insight into the current state of affairs.
Many of the solutions discussed in this book for Saibot Airport set useful examples for similar
requirements in other organizations. And at the very least, the airport provides a context that most
readers from many different countries will be able to relate to.
the book itself have been provided in summarized form or with a reduced number of illustrations.
More detailed step-by-step instructions and full-color, higher-resolution screenshots, additional
clarifications and links to videos, the official Oracle documentation, and alternative internet
resources are provided on the book’s website at www.soasuitehandbook.org.
xxviii Oracle SOA Suite 12c Handbook
The menu structure on the blog section is organized according to the parts and chapters in
the book. Each chapter has a dedicated page with relevant resources that support the content
in the book. At specific points in the chapters, you will find references to the online resources
on the book’s website. These references apply to chapter-specific pages on this website.
The source codes for the examples in the book—the Saibot Airport case—are published from
Github at the following URL: https://github.com/lucasjellema/soasuitehandbook.
You can use the regular Git tooling to get hold of these sources in your local development
environment. You can also make use of the Git support in JDeveloper to fetch the sources, use the
option Clone in Desktop or simply download all sources in a single zip file.
If you want to provide any feedback on the book or ask questions related to the book’s contents,
you can post a comment on the blog or send a direct Twitter message to @lucasjellema.
PART
I
Introducing Saibot Airport,
SOA, and the Oracle
SOA Suite
Another random document with
no related content on Scribd:
The engine, with a full tank of the best coal, had already been run
out of the roundhouse, and the train-dispatcher had the freights
safely side-tracked, and satisfactory “meets” with the passenger-
trains about figured out, when he was interrupted in his study of the
train-sheet by a nervous ring at the telephone. The dispatcher
answered it himself, and the foreman of the roundhouse announced
that Pearson was sick, and unable to take the special out.
“That’s bad,” mused the dispatcher, but added, a moment later:
“Well, send the next best man, and get a move on; they’ll be here in
ten minutes.”
“They ain’t none,” replied the roundhouse.
“No other engineer?” shouted the dispatcher.
“Well, there’s only Perkins on the yard-engine and Hard Luck just
in on Scott’s work-train—might double him out again—that’s all.”
The dispatcher rushed into the adjoining room to consult the
superintendent.
It was in the midst of the busiest season, and every available
engineer was out upon the road.
“Hard Luck? nonsense!” said the superintendent when he was
informed of the situation. “Tell Pearson he must take the special out
—this is a nice time for him to get sick!”
The roundhouse was notified, and replied that Pearson was
“foamin’ awful—his wife’s got him jacked up and two doctors workin’
on him,” yelled the foreman.
“This is terrible! terrible!” groaned the superintendent. “Perkins is
only a boy, we can’t put him on, and Hosselkus will never get over
the division without something happening—never in the world!” and
the perspiration started upon his forehead. The whistle of the special
aroused him to the necessity of immediate action.
“Tell them to put Hosselkus on, and get him out as quick as
possible—we are in the hands of Providence anyway, I suppose,” he
added to himself.
All was hurry and excitement when the special pulled in. The
engine that brought it in was cut off and hurried out of the way, while
the huge, well-groomed “Three-Sevens” backed slowly down in
charge of Hosselkus, whose heart swelled chokingly as the brazen
clangor of her bell pealed out.
But the beginning was ominous. The engine was unfamiliar to him
and worked more stiffly than he had expected, so that when he
backed down to be coupled on, he struck the train with a momentum
that jarred its occupants uncomfortably.
“Lord! Lord!” moaned the superintendent as he wiped his clammy
brow and sought to divert the directors’ attention from the mishap by
suggesting some needed improvements in the “Company’s” water
supply.
Presently he excused himself and went ahead to the engine to
interview Hard Luck. He found him with an oil-can in one hand and a
bunch of waste in the other, engaged in the important duty of “oiling
’round.”
Hosselkus had had no time to change his greasy jumper and
overalls for cleaner ones; his hasty wash had merely imparted a
smeary look to his countenance, and the badge on his cap was
upside down, but his eyes sparkled beneath their shaggy brows, his
mustache bristled savagely, and the whole man was nervously alert
as, with a squirt of oil here, a dab of the waste there, and feeling
carefully each key and bearing to detect any signs of heating, he
worked his way around the mighty racer. He was just finishing his
round when the superintendent came up.
“Now, Hosselkus,” said the latter, appealingly, “do be careful and
try and get us over the division in some kind of shape—make time,
and, for heaven’s sake, don’t break down on the road. If you make a
first-class run, I’ll see what we can do about getting a passenger run
for you.”
Hosselkus put away his tallow-pot, wiped his hands on the bunch
of waste, which he then carefully placed in his pocket to serve as a
handkerchief, and at length spoke: “Colonel,” he said, “don’t you lose
no sleep over this excursion—we’ll git there in the biggest kind of
shape—this mill has got it in her, an’ if I can’t coax a move out of her,
I’ll run a stationary the rest of my life. Now, these kid-engineers of
yours, they ain’t up in mechanics like they’d oughter be—not but
what they’re good boys—mind you, I’m not sayin’ a word agin ’em—
but they waste her stren’th—they don’t really savvy the theory. Now
——”
“Yes, yes,” hurriedly interrupted the superintendent; “I know, but
we must be getting out of here, and don’t forget that passenger run
—it’s manslaughter, if not murder in the first degree,” he said to
himself, as he hastened back; “but if we escape with our lives, he
shall have the run.”
The conductor waved his hand, Hosselkus opened the throttle
slightly and the steam shrilled through the cylinder-cocks as the
special moved down the yard. Slowly he threaded the network of
tracks, cut-offs, and blind switches, and then more rapidly by the
long siding opposite the row of cottages, where the families of the
conductors and engineers lived. And instinctively he felt the eyes of
the women upon him, and that they were saying: “Well, if there ain’t
that crazy fool on Pearson’s Three-Sevens, with a passenger
special! Wouldn’t that kill you?” for women are jealous divinities—
they would not that man should have any other gods or goddesses
before them, and, as Hosselkus worshiped only a locomotive, a thing
of steel and iron, they made of him a by-word and a reproach. But at
that moment, Hard Luck cared but little for their disdain; he only
thought of his triumph, and the discordant clanging of the bell of the
Three-Sevens sounded in his ears as a pæan of victory. “At last—at
last,” seemed to say its brazen tongue.
The last switch was passed, and Hosselkus, forgetting the
lightness of his train, opened the throttle so suddenly that the engine
fairly leaped forward, while passengers’ necks received a violent
wrench.
“This engineer of yours, colonel,” said the general superintendent,
spitting out the end of a cigar he had involuntarily swallowed, “is just
off a pile-driver, is he not?”
The colonel laughed a joyless laugh. “The fact is,” he replied, “the
regular man was taken sick at the last moment, and we had no one
but this fellow to put on. He is an old engineer, but not used to the
engine. I think he will improve when he gets the hang of it.”
“I hope so—I hope so,” said the general, fervently, as he lit a fresh
cigar; “there is evidently room for improvement.”
But presently even the anxious superintendent was forced to
admit they were moving. Telegraph-poles, that had appeared and
disappeared with majestic deliberation, began to flit by the windows
with a frequency and abruptness very unusual in those stately
objects; quicker and less rhythmic came the click of the wheels as
each rail was passed, and the leaps of the engine at each revolution
of the driving-wheels were merged into a continuous, convulsive
shudder. The passengers no longer experienced the sensation of
being drawn along, but felt as though projected through space, and
the more timid clung to their seats to avoid soaring off through the
roof. Trainmen who could traverse undisturbed the reeling roofs of a
fast freight, made their way through the swaying cars with difficulty.
Old Hard Luck was evidently “getting there,” and the
superintendent prayed silently that he might maintain the speed to
the end.
At the first stop he went forward to congratulate the engineer. The
fireman was under the engine “hoeing out,” and Hosselkus, sooty but
triumphant, was “oiling ’round.”
“How’d’s that suit you, colonel?” he cried, as his superior
approached; “the old girl’s a-crawlin’, ain’t she?”
“You’re doing fine, Hosselkus—fine, but keep it up—pound her on
the back, for the porter tells me the wine is getting low and they’re
liable to see something to beef about. Keep ’em a-rollin’, and the
passenger run is yours.” The colonel had risen from the ranks, and
at times, unconsciously, lapsed into the old dialect.
“Don’t you worry none, we’ll git there. Gimme this mill, colonel, an’
none of the other boys on the division ’ud ever get a smell of my
smoke. An’ she does it so easy, reminds of your maw’s old rocker—
just handle her right, don’t crowd her, that’s the main point. Now my
theory’s like this, we’ll say the cylinder receives so much——”
But the colonel had fled. Hard Luck carried his theory with him, for
he never succeeded in obtaining a listener to whom he could
expound it.
No accident occurred, however; the speed was maintained, and
the special reached Oleson’s Siding so far in advance of the train-
dispatcher’s calculations that quite a wait was necessary while
Number Three, the east-bound express, toiled up the grade.
Hosselkus lit the headlight, for the sun was impaled upon one of
the peaks of the distant Sierras, whose eastern slopes were already
purpling with shades of evening.
It was the last stop. Below him wound the tortuous Goose-Neck
Grade, with the division terminus at its foot. The run was nearly
ended.
Having finished oiling, Hosselkus leaned against the cylinder-head
and gazed abstractedly down the track. A brakeman was seated on
the head-block of the switch, throwing stones at an adjacent
telegraph-pole, and moodily speculating upon the probabilities of
“getting in” in time for supper, while an occasional breath of wind
from the valley brought with it, from far down the grade, the puffing of
the engines on Number Three.
He had succeeded. The record would be broken beyond a doubt;
but as the cool breeze of sunset blew in his face, he suddenly
became aware of the fact that he was tired, and he remembered
then that he had been on the road for over forty-eight hours.
The smell of heated tallow struck him, for the first time, as being a
singularly unappetizing odor, and he looked over the huge machine
with something akin to dissatisfaction in the expression of his face.
He sighed, and the brakeman asked if she was coming—meaning
the train.
“No,” replied Hard Luck; “she ain’t showed up ’round the bend yet
—I’uz just thinkin’.”
“Well, here she’s a-comin’.”
Hosselkus clambered to his seat, and as soon as the express-
train had cleared the switch it was opened by the brakeman, and the
special was once more under way.
Leaning uncomfortably now to this side, now to that, and with
angry grinding of flange on rail, it swept around the curves with ever-
increasing speed. A crashing roar, a flare of yellow sunset light
reflected from rocky walls, told of a cutting safely passed, while
bridge, and culvert, and trestle bellowed again as the engine cleared
them at a bound.
The Three-Sevens devoured the way. Again and again Hosselkus
proved the correctness of his theory by the terrific bursts of speed
with which the mighty engine responded to his every impulse; but his
nerves were no longer responsive to the exultant thrill of triumph. A
sickening foreboding griped his heart; yet, whenever he would have
shut off steam and slackened speed, an unconquerable impulse
restrained him; for, in the exhaust of the engine and the roar of
wheels, he fancied he heard one word repeated over and over again,
with maddening persistency: “Hurry! hurry! hurry! hurry!” And the
fireman, as he shoveled in coal and struggled to maintain his difficult
footing, noted with wonder, not unmixed with uneasiness, that
Hosselkus was working steam on grades where it was usual to “let
them down” under the restraining pressure of the air-brakes.
The lagging summer twilight gradually deepened until the
illuminated faces of clock and steam-gauge stood out with pallid
distinctness in the gloom of the cab. Lights in lonely section-houses
shot past, and occasionally a great flare of red rushed upward from
the momentarily opened door of the fire-box. The dazzling light of the
furnace revealed old Hard Luck crouching forward on his seat, one
hand on the throttle, the other grasping the reversing lever. His
features were set and sharpened, and so pale that through its grimy
enameling his face looked positively blue. An occasional swift,
comprehensive glance took in clock, steam-gauge, and water-glass,
and then his eyes were again fixed upon the arrowy torrent of ties
that streamed into the glare of the headlight and disappeared
beneath the pilot with unbroken, dizzying swiftness. At last a white
post flitted by and Hosselkus relaxed. He glanced at the clock, and
the next moment a long, wailing blast of the whistle warned the
yardmen at the division’s end.
The record was broken; the passenger run was his at last; old
Hard Luck had actually got over the division without a mishap and in
time never before equaled; but instead of exulting over it, as he shut
off steam, he found himself marveling how faint and far away the
whistle had sounded; had he not felt the vibration of the escaping
steam, he would hardly have believed it was the Three-Seven’s
stentorian voice. Undoubtedly there was something wrong; he would
have to fix it the first thing in the morning. The engine lurched over
the switches, and Hosselkus cursed the sudden fog that had dimmed
the switch-lamps so he could hardly tell red from white, but at length
he pulled up before the Railway Hotel—fortune favored him to the
last, he made a splendid stop.
With a great sigh of relief he leaned back on his seat, while the
eating-house gong banged and thundered a hospitable welcome to
the belated guests.
“You made a magnificent run, Hosselkus. I’ll fix it with the master-
mechanic—you go out on Number Three to-morrow,” called out the
superintendent, as he hurried by.
Presently a yardman uncoupled the engine and waved his lantern.
“All right!” called out the fireman, who was standing in the gangway.
The engineer made no move.
“What’s the matter?” inquired the switchman, climbing into the
cab; “Why in——” The light of his lantern fell upon the engineer’s
face; he paused suddenly, for it was white beneath the grime.
Hard Luck was taken from the engine, laid upon a bench, and a
physician hastily summoned. Engineers, with smoky torches, and
trainmen, with lanterns, crowded around with bated breath, while the
doctor listened long and attentively for a sound of life, but only the
air-pump on the Three-Sevens sighed softly, as the light rings of
smoke from her stack floated up, and up, and up in the quiet air,
where still a tinge of twilight lingered.
“Dead!” said the doctor, and the tension was relaxed.
Then they all praised their late comrade, and all agreed that the
old fellow had a good heart in him, anyway—that is, all but the
doctor, who, as he rose and carefully wiped his spectacles, muttered
something about “Organic weakness—told him so.”
The next day, as the superintendent had promised, Hard Luck
went out on Number Three—but he went in a box, lashed to the
platform of the baggage-car.
THE DOTTED TRAIL
By W. H. Irwin
The first time that Dudley Latimer kissed Belle Sharp, the half-
Spanish “help” at the P. L. Ranch, he was not in earnest; he would
have been the last to say that there was any serious intention in it.
He did it partly in a spirit of pure bravado, and partly because the
morning was as warm and white as new milk, and she, smiling back
over her shoulder as she emptied her pails, looked a part of it.
Equally innocent of any harmful intent, she let him after a formal
struggle. He was tall and clean, and as handsome as a young
Englishman can be when he is in perfect condition, and has a fine,
red coat of tan. Then he bade her good-by. He had been at the ranch
a week, ranging the hills in a vain hunt for antelope, already then, in
the early eighties, becoming scarce. His canvas-covered wagon and
his “side partner,” the Hon. Justin Weymouth, waited by the gate.
The Hon. Justin was taking a parting nip with the “Old Man,” and
did not see the diversion, and none of the four noticed that Emilio
Gonolez, horse trainer and man-of-all-work, was coming in through
the kitchen yard carrying an antelope so freshly killed that its throat
was not yet cut. Emilio stood and watched. He saw the struggle,
heard the girl cry “The gall of you!” saw her color turn as she lifted
her face with unwilling willingness, saw her throw at young Latimer,
walking away, a look of admiration that he took for something else.
Then Emilio slipped round the barn with his quarry, and came upon
the wagon in front. Dudley was smiling across the fence at Belle,
who had found business in the front yard. For half a minute, Emilio
looked what he felt; then smiled as he slipped into view, and said: “I
make-a present you thees antelope. He ees fresh. Myself, I shoot
heem. He come ver’ close.”
“Careful how you tie it, Emmy,” said the Old Man. “Dump it in for
’em. Well, boys, stacking in the north field. Good-by, and luck to
you.”
While Dudley chatted across the fence with Belle, Emilio was
explaining to the Hon. Justin how an antelope should be tied and
hung for a journey. “Head down so he bleed—the dust bother ver’
leetle—oh, yes, a lee-tle cut on the throat so he bleed slow. That ees
bes’. I cut heem.” A slow, red stream trickled over snowy throat and
gray jaws. The wagon drove on. Down the road behind it trailed an
irregular line of wet dots, the centres for an army of noisy flies.
“Awfully jolly girl,” said Dudley, as they bowled easily along
through the red dust. The Hon. Justin puffed at his pipe, and made
no answer. He might have said that he hastened their going just
because his companion was very young and the girl very pretty. A
flock of sage-hens started from the olive-green brush to one side.
Justin pulled up, took out his shotgun and followed, Dudley throwing
stones to make them rise. A right and left shot brought down a
brace. They gathered up the birds, and turned to the wagon, and as
they did so, the elder man looked back. Just level with the ranch
house, two miles behind, a cloud of red dust veiled the road and
lapped far over its edge. Through the thin atmosphere came a
muffled rumble, and then a few dots, followed at an interval by
another, heaved out of the mass.
“Cattle!” said Dudley. “That’s jolly. I always wanted to see one of
those big droves on the foot. Shall we wait for them to pass?”
“I think not,” said the Hon. Justin. “Not until we get to the next
ranch. They say that those wild range cattle do singular things.” But
still they stood and watched, fascinated by the shimmering, shifting,
red cloud, the distant rumble, the glint of a blazing sun on the sabred
heads of a thousand Texas long-horns.
Of a sudden the dust-cloud, which had spilled over the road only
to the right, away from the ranch fence, widened out, shifted to the
left. They had passed the fence corner, and were on open range. No
dust arose on that wing; it was hard prairie, tied close by sagebrush.
And inexperienced as were their eyes, the two Englishmen could see
some commotion running through the mass; the units composing it
were spreading hither and thither; two compound dots, mounted
men, were swinging wide about them. The rumble grew louder,
lulled, rose again, and above the noise came the sound of a dozen
shots, fired in quick succession. Away back in his consciousness,
Dudley began to regret that they had chosen, in their young British
insolence, to travel without a guide, who might explain to them the
strange happenings of this incomprehensible country.
Justin started at the sound of a frightened snort in his ear. He
turned to see his horses quivering in every nerve. Almost before he
could catch its bridle, the near one was plunging and pitching.
“Get the reins!” yelled Justin; “we’d best be out of here.”
The team broke into a dead run. Looking back, Justin saw the
cloud ominously, frightfully near. A struggling advance-guard of long-
horns heaved out before, and ahead of them were two men, riding
like demons, yet ever beating backward as they rode. Then the red
veil fell, and there was nothing but a dust-cloud, rolling on nearer
and nearer.