100% found this document useful (1 vote)
20 views

Oracle Database Programming using Java and Web Services 1st Edition Kuassi Mensah - The ebook in PDF format is available for download

The document provides information about various ebooks available for download related to Oracle Database programming and other topics. It includes links to specific titles, such as 'Oracle Database Programming using Java and Web Services' by Kuassi Mensah, and offers instant digital products in multiple formats. Additionally, it highlights the features of Elsevier Digital Press and provides details on how to access more information and services related to their publications.

Uploaded by

natexkazkur
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
20 views

Oracle Database Programming using Java and Web Services 1st Edition Kuassi Mensah - The ebook in PDF format is available for download

The document provides information about various ebooks available for download related to Oracle Database programming and other topics. It includes links to specific titles, such as 'Oracle Database Programming using Java and Web Services' by Kuassi Mensah, and offers instant digital products in multiple formats. Additionally, it highlights the features of Elsevier Digital Press and provides details on how to access more information and services related to their publications.

Uploaded by

natexkazkur
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

Endless Ebook, One Click Away – Start Downloading at ebookname.

com

Oracle Database Programming using Java and Web


Services 1st Edition Kuassi Mensah

https://ebookname.com/product/oracle-database-programming-
using-java-and-web-services-1st-edition-kuassi-mensah/

OR CLICK HERE

DOWLOAD EBOOK

Browse and Get More Ebook Downloads Instantly at https://ebookname.com


Click here to visit ebookname.com and download ebook now
Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

Expert Oracle Database Architecture Oracle Database 9i


10g and 11g Programming Techniques and Solutions 2nd
Edition Thomas Kyte

https://ebookname.com/product/expert-oracle-database-
architecture-oracle-database-9i-10g-and-11g-programming-
techniques-and-solutions-2nd-edition-thomas-kyte/

Java Database Programming Bible 1st Edition John


O'Donahue

https://ebookname.com/product/java-database-programming-
bible-1st-edition-john-odonahue/

Practical Database Programming with Java 1st Edition


Ying Bai

https://ebookname.com/product/practical-database-programming-
with-java-1st-edition-ying-bai/

Powder Diffraction Theory and Practice 1st Edition R E


Dinnebier

https://ebookname.com/product/powder-diffraction-theory-and-
practice-1st-edition-r-e-dinnebier/
Mood and Anxiety Related Phenotypes in Mice
Characterization Using Behavioral Tests Volume II 1st
Edition Martien J. Kas

https://ebookname.com/product/mood-and-anxiety-related-
phenotypes-in-mice-characterization-using-behavioral-tests-
volume-ii-1st-edition-martien-j-kas/

Collaborative Construction Information Management 1st


Edition Geoffrey Shen

https://ebookname.com/product/collaborative-construction-
information-management-1st-edition-geoffrey-shen/

John Locke and Natural Philosophy 1st Edition Peter R.


Anstey

https://ebookname.com/product/john-locke-and-natural-
philosophy-1st-edition-peter-r-anstey/

Pope church and city electronic resource Frances


Andrews

https://ebookname.com/product/pope-church-and-city-electronic-
resource-frances-andrews/

The Neuroscience of Human Relationships Attachment and


the Developing Social Brain Second Edition Norton
Series on Interpersonal Neurobiology Louis Cozolino

https://ebookname.com/product/the-neuroscience-of-human-
relationships-attachment-and-the-developing-social-brain-second-
edition-norton-series-on-interpersonal-neurobiology-louis-
For the Love of God and People 1st Edition Elliot N.
Dorff

https://ebookname.com/product/for-the-love-of-god-and-people-1st-
edition-elliot-n-dorff/
Oracle Database
Programming Using
Java and Web Services
Oracle Database Related Book Titles:

Oracle 9iR2 Data Warehousing, Hobbs, et al,


ISBN: 1-55558-287-7, 2004

Oracle 10g Data Warehousing, Hobbs, et al,


ISBN 1-55558-322-9, 2004

Oracle High Performance Tuning for 9i and 10g, Gavin Powell,


ISBN: 1-55558-305-9, 2004

Oracle SQL Jumpstart with Examples, Gavin Powell,


ISBN: 1-55558-323-7, 2005

Implementing Database Security and Auditing, Ben Natan,


ISBN 1-55558-334-2, 2005

Oracle Real Applications Clusters, Murali Vallath,


ISBN: 1-55558-288-5, 2004

Oracle 10g RAC Grid, Services & Clustering, Murali Vallath,


ISBN 1-55558-321-0, 2006

For more information or to order these and other Digital Press


titles, please visit our website at www.books.elsevier.com/digitalpress!
At www.books.elsevier.com/digitalpress you can:
•Join the Digital Press Email Service and have news about
our books delivered right to your desktop
•Read the latest news on titles
•Sample chapters on featured titles for free
•Question our expert authors and editors
•Download free software to accompany select texts
Oracle Database
Programming Using
Java and Web Services

Kuassi Mensah

AMSTERDAM • BOSTON • HEIDELBERG • LONDON


NEW YORK • OXFORD • PARIS • SAN DIEGO
SAN FRANCISCO • SINGAPORE • SYDNEY • TOKYO
Elsevier Digital Press
30 Corporate Drive, Suite 400, Burlington, MA 01803, USA
Linacre House, Jordan Hill, Oxford OX2 8DP, UK

Copyright © 2006. Elsevier, Inc.

No part of this publication may be reproduced, stored in a retrieval system, or


transmitted in any form or by any means, electronic, mechanical, photocopying,
recording, or otherwise, without the prior written permission of the publisher.

Permissions may be sought directly from Elsevier’s Science & Technology Rights
Department in Oxford, UK: phone: (+44) 1865 843830, fax: (+44) 1865 853333,
e-mail: permissions@elsevier.com.uk. You may also complete your request on-line
via the Elsevier homepage (http://elsevier.com), by selecting “Customer Support”
and then “Obtaining Permissions.”

Recognizing the importance of preserving what has been written, Elsevier prints its
books on acid-free paper whenever possible.

Library of Congress Cataloging-in-Publication Data


Application Submitted.

ISBN 13: 978 1-55558-329-3


ISBN 10: 1-55558-329-6

British Library Cataloguing-in-Publication Data


A catalogue record for this book is available from the British Library.

For information on all Elsevier Digital Press publications


visit our Web site at www.books.elsevier.com

06 07 08 09 10 9 8 7 6 5 4 3 2 1

Printed in the United States of America


To the memory of my mother and my father.

To my loving wife, Gabrielle, and my wonderful sons, Gareth and Kenneth.


This Page Intentionally Left Blank
Contents

Foreword xix

Preface xxi

Introduction xxv
Server-Side Database Programming
(Stored Procedures) xxvi
Database Programming Using JDBC, SQLJ,
and JPublisher xxviii
Database Programming with Web Services xxix
Putting Everything Together: The “All-You-Can-Eat Buffet” xxx

Acknowledgments xxxi

Part I: Java in the Database 1

1 Stored Procedures as Database Programming Model 3


1.1 Rationale for Stored Procedures 3
1.1.1 Simplifying Database Programming 3
1.1.2 Centrally Managed Data Logic 4
1.1.3 Performance: Run JDBC Applications Faster in
the Database 4
1.1.4 Encapsulation 10
1.1.5 Security: Advanced Data Access Control 10
1.1.6 Resource Optimization 11
1.1.7 Low-Cost Deployment 11
1.1.8 Fully Utilize Database Capabilities 11
1.2 Obstacles to the Adoption of Stored Procedures 11

vii
viii Contents

1.2.1 Lack of Portability across RDBMS Vendors 12


1.2.2 Scalability 12
1.2.3 Maintenance and Resilience to Schema Change 12
1.2.4 Hard to Debug 13
1.2.5 Weak Support for Complex Types 13
1.3 Languages for Stored Procedures 13
1.3.1 Proprietary Languages 13
1.3.2 Java for Stored Procedures 14
1.3.3 .NET Languages 18
1.4 PL/SQL or Java 19
1.4.1 PL/SQL and Java! 21

2 OracleJVM: Under the Hood 23


2.1 Design Goals and Architecture 23
2.1.1 Tight Integration with the RDBMS 24
2.1.2 J2SE Compatibility 24
2.1.3 How Is Java Stored in the Database? 25
2.1.4 Class Sharing 30
2.1.5 Interapplication Isolation (JSR 121) 32
2.1.6 Contrasting OracleJVM with the JDK VM 32
2.1.7 Resource Control 36
2.1.8 SQL Data Access from Java in the Database 37
2.1.9 DBMS_JAVA: The All-Purpose Tool for Administering
OracleJVM 39
2.2 Java Memory Management 41
2.2.1 Key Memory Structures of the Oracle Database 42
2.2.2 Java Memory Allocation Techniques 43
2.2.3 Garbage Collection Techniques 44
2.2.4 Java Memory Areas 46
2.2.5 Shared Servers versus Dedicated Processes 49
2.2.6 The Javapool 52
2.2.7 Top-Level Calls and Recursive Calls 53
2.2.8 State Preservation across Calls and End-of-Call Migration 54
2.2.9 End-of-Call,VM Termination, and Session Termination 58
2.3 Security in OracleJVM 60
2.3.1 User Authentication 60
2.3.2 Database-Schema Security 61
2.3.3 Resolver Specification and Class-Resolution Security 62
2.3.4 Login-User and Effective-User Security 64
2.3.5 Java 2 Security 66
2.3.6 Java 2 Security in OracleJVM 68
Contents ix

2.3.7 OracleJVM Security Best Practices 79


2.3.8 JNI Calls 80
2.4 Java VM Life Cycle 80
2.4.1 OracleJVM Install, Uninstall, and Reinstall 80
2.4.2 Java VM Initialization and Termination 81
2.5 Java Execution in the Database 81
2.5.1 The OracleJVM Interpreter 82
2.6 The Native Java Compiler (NCOMP) 84
2.6.1 What Is NCOMP? 84
2.6.2 Requirements and Design Choices 85
2.6.3 The NCOMP Process 88
2.6.4 The NCOMP Command 88
2.6.5 The STATUSNC Command 92
2.6.6 Dumping Java Classes with NCOMP 96
2.6.7 NCOMP Configuration and Planning 96
2.6.8 NCOMP Performance Tips, Improper Use,
and Troubleshooting 100
2.7 Conclusion 103

3 Developing and Running Java in


the Database 105
3.1 Developing Java in the Database 105
3.1.1 Turning JDBC Applications into Java Stored Procedures 105
3.1.2 Creating or Loading Java in the Database 106
3.1.3 Removing Java Sources, Classes, and Resources from
the Database 119
3.1.4 Setting/Querying Environment Variable and
System Properties 120
3.1.5 The Java Compiler within the Database 124
3.2 Turning Java in the Database into Stored Procedures 126
3.2.1 Call Spec Types 127
3.3 Mapping SQL and PL/SQL Types to/from Java Types 135
3.3.1 Mapping Matrix 135
3.3.2 Code Segments for Mapping 140
3.4 Invoking Java in the Database 207
3.4.1 Setup 207
3.4.2 Invoking Java in the Database Using OJVMJAVA 212
3.4.3 Invoking Java in the Database through the
PL/SQL Wrapper 214
3.4.4 Invoking Java in the Database through Client-side Stub 216
3.4.5 Errors and Exceptions Handling 221

Contents
x Contents

3.5 Managing Java in the Database 227


3.5.1 Java Audit 227
3.5.2 Oracle Enterprise Manager (Database Control) Support
for Java in the Database 228

4 Pragmatic Applications Using Java in


the Database 231
4.1 CNXO: Secure Credit Card Processing with Oracle and JSSE 231
4.2 Using J2EE and Java in the Database Together 239
4.2.1 Auto-generating Primary Keys for BMP Entity Beans 239
4.2.2 Calling-out EJB from OracleJVM 241
4.2.3 HTTP Call-Out: The Poor Man’s Cache Invalidation 249
4.2.4 JMS over Streams/AQ in the Database 253
4.3 JDBC Call-Out to Non-Oracle Databases 260
4.3.1 Description and Rationales 260
4.3.2 How Does It Work? 260
4.4 SAP Java Connector: Accessing the SAP System from the
Oracle Database 268
4.5 Excel-like Expression Parser in the Database 277
4.5.1 Rationales for Custom Parsers in the Database 277
4.5.2 What Is the Mini-Parser? 278
4.5.3 Implementing the Mini-Parser 279

5 Database Scripting Using Non-Java Languages 287


5.1 Why Contemplate Non-Java Languages for the Database? 287
5.1.1 Common Language Runtime in RDBMS 288
5.1.2 Scripting Languages Support in RDBMS 288
5.2 Database Scripting with OracleJVM—Just for Fun! 288
5.2.1 Proof of Concept #1: Running TCL (JACL) Scripts in
the Database 289
5.2.2 Proof of Concept #2: Running Jython (Python) in
the Database 297
5.2.3 Proof of Concept #3: Running Kawa (Scheme) in
the Database 299
5.2.4 Proof of Concept #4: Running Groovy in the Database 302

Part II: Java Persistence and Java SQL Data Access 317
Database Programming with Oracle JDBC 318
Contents xi

6 Introducing the JDBC Technology and


Oracle’s Implementation 319
6.1 JDBC Primer 319
6.1.1 First Steps in JDBC 319
6.1.2 JDBC within J2SE and J2EE Environments 324
6.2 Overview of JDBC Specifications 325
6.2.1 Overview of JDBC 1.22 Specification
(Where Things Started!) 325
6.2.2 Overview of JDBC 2.0 Specification
(A Major Spec!) 326
6.2.3 Overview of JDBC 3.0 Specification 328
6.2.4 Overview of Upcoming JDBC 4.0 Specification 330
6.2.5 JDBC Standards Support in the Oracle JDBC Drivers 331
6.3 Architecture and Packaging of Oracle JDBC Drivers 334
6.3.1 Rearchitected Oracle JDBC Drivers 334
6.3.2 Packaging of Oracle JDBC Drivers 336
6.3.3 Features Differences Between Driver Types 340
6.3.4 JDBC Drivers and Database Interoperability 343

7 URL, DataSource, Connection, and Statements 345


7.1 JDBC URL 345
7.2 DataSources 348
7.2.1 The OracleDataSource 349
7.2.2 DataSources and JNDI 351
7.3 Connections and Connection Services 357
7.3.1 JDBC Connections and Oracle Extensions 357
7.3.2 Connection Caching: Implicit Connection Cache 358
7.3.3 The Connection Cache Manager 383
7.3.4 RAC Events and Fast Application Notification 391
7.3.5 High Availability: Fast Connection Failover 400
7.3.6 Scalability: Connection Load Balancing 406
7.3.7 JDBC Support for Transparent Application Fail-over 409
7.3.8 Proxy Authentication 415
7.3.9 Connection Wrapping 422
7.3.10 JDBC Connections in Grid Environment 424
7.4 JDBC Statements and Oracle Extensions 427
7.4.1 JDBC Statement Types 427
7.4.2 Statement 428
7.4.3 PreparedStatement 432
7.4.4 CallableStatement (Calling Stored Procedures) 444

Contents
xii Contents

7.4.5 Retrieval of Auto-Generated Keys and DML


with Returning 454
7.4.6 Statement Caching 457
7.4.7 DML Batching 466

8 SQL Data Access and Manipulation 471


8.1 Key Metadata in JDBC 471
8.1.1 DatabaseMetaData: OracleDatabaseMetaData 471
8.1.2 ResultSetMetaData: OracleResultSetMetaData 473
8.1.3 ParameterMetaData 476
8.1.4 StructMetaData 478
8.2 Manipulating Oracle Data Types with JDBC 479
8.2.1 Manipulating SQL Null Data 488
8.2.2 Manipulating Character Data Types 489
8.2.3 Oracle JDBC Support for Number Data Types 492
8.2.4 JDBC Support for Long and Raw Data Types 496
8.2.5 JDBC Support for SQL Datetime Data Types 500
8.2.6 JDBC Support for LOB Datatypes 505
8.2.7 JDBC Support for ROWID 517
8.2.8 JDBC Support for OPAQUE Type 518
8.2.9 JDBC Support for XMLType 518
8.2.10 JDBC Support for SQL Object Types and
References Types 522
8.2.11 JDBC Support for User-Defined Collections 539
8.2.12 JDBC Support for Spatial Types 553
8.2.13 Unsupported Types 553
8.3 Result Set Support in Oracle JDBC 554
8.3.1 The Result Set API in a Nutshell 554
8.3.2 The Oracle Result Set Interface 558
8.3.3 Oracle JDBC Support for Scrollable Result Sets 559
8.3.4 Oracle JDBC Support for Updatable Result Sets 565
8.3.5 Prefetching and Auto Refresh 573
8.3.6 Changes Detection and Visibility 575
8.4 RowSet 577
8.4.1 Introducing the RowSet API 577
8.4.2 JDBCRowSet and OracleJDBCRowSet 579
8.4.3 CachedRowSet and OracleCachedRowSet 581
8.4.4 WebRowSet and OracleWebRowSet 587
8.4.5 FilteredRowSet and OracleFilteredRowSet 610
8.4.6 JoinRowSet and OracleJoinRowSet 617
8.5 Conclusion 623
Contents xiii

9 JDBC Quality of Services and


Best Practices 625
9.1 Transaction Services 625
9.1.1 Transactions 625
9.1.2 AutoCommit 625
9.1.3 Transaction Isolation Levels 626
9.1.4 Transaction SavePoint Support 627
9.1.5 Global/Distributed Transaction 632
9.1.6 Connection Sharing between Local and
Global Transactions 640
9.2 Security Services 642
9.2.1 Oracle JDBC Support for SSL 642
9.3 Tips and Best Practices 657
9.3.1 End-to-End Tracing 658
9.3.2 Common Errors 662
9.3.3 Optimizing Result Set Retrieval 662
9.3.4 Logging Service 663
9.4 Conclusion 666

Part III: Oracle Database Programming with SQLJ 667

10 Introducing the SQLJ Technology and


Oracle’s Implementation 669
10.1 Overview 669
10.1.1 What Is SQLJ? 669
10.1.2 Why SQLJ? 671
10.1.3 The Oracle SQLJ Translator 676
10.1.4 The Oracle SQLJ Runtime 689
10.1.5 Environment Setup 690
10.1.6 SQLJ Primer 692
10.2 SQLJ in the Database 693

11 The SQLJ Language and Oracle Extensions 701


11.1 Declaration Statements 701
11.1.1 Import Statements 701
11.1.2 Connection Contexts 701
11.1.3 Execution Contexts 712
11.1.4 Iterators 717
11.1.5 IMPLEMENTS Clause in Context Declarations 726

Contents
xiv Contents

11.1.6 WITH Clause in Context Declarations 728


11.2 Executable Statements 730
11.2.1 Statement Clauses 731
11.2.2 Assignment Clauses 737
11.2.3 Dynamic SQL 740
11.3 Expressions in SQLJ 744
11.3.1 Context and Result Expressions 746
11.3.2 Expressions Evaluation 748
11.4 Interoperability: Using SQLJ and JDBC Together 748
11.4.1 JDBC to SQLJ Interoperability 748
11.4.2 SQLJ to JDBC Interoperability 751
11.5 Conclusion 753

12 SQLJ Data Access and Best Practices 755


12.1 Manipulating Oracle SQL and PL/SQL Data Types with SQLJ 755
12.1.1 Oracle SQLJ Type-Mapping Summary 755
12.1.2 Column Definitions 759
12.1.3 Manipulating SQL Null Data with SQLJ 760
12.1.4 Manipulating Character Data Types with SQLJ 762
12.1.5 Oracle SQLJ Support for Number Data Types 764
12.1.6 SQLJ Streams, LONG, and RAW Data Types 765
12.1.7 SQLJ Support for SQL Datetime Data Types 772
12.1.8 SQLJ Support for SQL LOB Data Types 774
12.1.9 SQLJ Support for Oracle SQL ROWID 780
12.1.10 SQLJ Support for OPAQUE Types 782
12.1.11 SQLJ Support for SQL Object Types and SQL
References Types 783
12.1.12 Serialized Java Objects 796
12.1.13 SQLJ Support for User-Defined SQL Collections 807
12.1.14 PL/SQL Associative Array 809
12.1.15 Unsupported Types 809
12.2 SQLJ Best Practices 811
12.2.1 Row Prefetch 811
12.2.2 Statement Caching 811
12.2.3 Update Batching 812
12.3 Conclusion 813
Discovering Diverse Content Through
Random Scribd Documents
The Project Gutenberg eBook of Ultimatum
This ebook is for the use of anyone anywhere in the United States
and most other parts of the world at no cost and with almost no
restrictions whatsoever. You may copy it, give it away or re-use it
under the terms of the Project Gutenberg License included with this
ebook or online at www.gutenberg.org. If you are not located in the
United States, you will have to check the laws of the country where
you are located before using this eBook.

Title: Ultimatum

Author: Roger D. Aycock

Release date: March 5, 2021 [eBook #64702]


Most recently updated: October 18, 2024

Language: English

Credits: Greg Weeks, Mary Meehan and the Online Distributed


Proofreading Team at http://www.pgdp.net

*** START OF THE PROJECT GUTENBERG EBOOK ULTIMATUM ***


ULTIMATUM
By ROGER DEE

In a dingy little Indiana hotel room the fate of


three worlds suddenly hung in precarious balance!

[Transcriber's Note: This etext was produced from


Planet Stories Spring 1950.
Extensive research did not uncover any evidence that
the U.S. copyright on this publication was renewed.]
Winant followed the lanky sheriff down the jail corridor past rows of
empty, plank-walled cells and drew a sharp breath of relief when
they found the last cubicle still tenanted.
"That's Uncle Ivor, all right," Winant said. "Sorry he caused you so
much trouble, sheriff, but I'll be glad to pay his fine. What's the
charge against him?"
The sheriff rubbed a palm across his drooping mustaches and looked
doubtfully at the old man who sat on the edge of the cell bunk, the
bald dome of his head cradled dejectedly in his hands.
"You couldn't rightly say there is a charge, mister," he admitted.
"Your uncle popped into Ben Stuart's Drop Inn restaurant night
before last with a little black box under his arm, naked as a jaybird
and talking like a crazy man.
"'I'm a visitor from Mars,' he says. 'Take me to your president, and
quick!' Ben thought he was crazy, or drunk, and ran him out with a
meat cleaver, and the old duck went down to the Warner Hotel and
pulled the same goofy act. Pop Warner called me, and I went down
and threw the old coot into the cooler. I knew right off that he was
cracked, because I even had to show him how to put on the clothes
I brought him. And the wingding he pitched when I took that black
box away from him—wow!"
Winant shook his head. "Poor Uncle Ivor," he said commiseratingly.
"The last time he got away from us he thought he was Mahatma
Ghandi, and tried to buy a bus ticket from Cincinnati to New Delhi,
India. I found him, finally, in Evansville, Indiana. It's amazing how
he got this far south, but then a mentally-unbalanced person can do
surprising things, sometimes."
The sheriff snorted. "Unbalanced, hell," he said. "The old coot's
crazy as a bed-bug. Just got in from Mars, he says, and he wants
the president of the United States—on the double!"
He unlocked the door and Winant went inside.
"It's all right now, Uncle Ivor," he said gently. The old man raised a
wrinkled, leathery face and stared at him uncomprehendingly. "Let's
go over to my hotel and get a good meal and a hot bath," Winant
urged. "Then we'll go home again. Ready, now?"
A few minutes later in the jail office the sheriff pocketed the bill
Winant gave him and handed over a small lacquered metal box that
was surprisingly heavy for its size.
"Here's your uncle's radio," he said. "New-fangled model, I reckon. I
couldn't make head nor tail of it, so I just left it alone."
Winant lifted the hinged cover and looked inside the box at the neat
array of tiny meters and knobs that covered the control panel.
"A wise decision, sheriff," he said dryly. "Wiser, perhaps, than you'll
ever know."

The old man stood in the center of Winant's hotel room, the sheriff's
ill-fitting denims hanging on his slight frame like the castoff clothing
of a scare-crow.
"The box," he said. His voice, after talking for so long, was a hoarse,
rasping croak. "Give me the box."
Winant sat in a decrepit wicker chair, holding the box in his lap, his
eyes missing no detail of the old man's shrunken figure with its bald
dome-like head and wrinkled parchment face.
"I'll give you the box when you tell me something that makes
sense," he said. "What you've just told me is nothing but a rehash of
the story you told the sheriff—that your name is Yardana and that
you are an envoy from Mars, sent to Earth to help scientific
authorities develop safe atomic power. Look—I'm a news writer,
down here to investigate the rumors of a blue meteorite landing in
the hills just north of here and to check up on the comic accounts I
read of your appearance. I went to a lot of trouble and some risk to
get you out of jail, and I want a reasonable story for my trouble.
What about it, now?"
The old man wrung his hands. "Give me the box. Give me the box!"
"Later," Winant promised. "When you give me the real story behind
this thing I'll not only give you back your box, I'll give you a lift out
of this burg as well."
He looked at the old man sharply. "How could a Martian speak the
kind of English you've been using? Why should a Martian look so
much like an ordinary human being? It doesn't add up."
"We are of the same root stock," Yardana said. "Intelligent life
follows the same evolutionary pattern, no matter where it develops,
so long as conditions are the same. As for the language, my people
have followed your experiments with electro-magnetics since their
beginning. We know every language of Earth intimately, through
long study of your radio programs."
Winant laughed. "Maybe the sheriff was right, at that," he said. "It's
a goofy story, too fantastic for belief."
He shrugged and handed the old man the black box.
"Here's your toy," he said resignedly. "I guess that's all I'm going to
get for my trouble; just enough misinformation for another tongue-
in-cheek article for Sunday supplements."
He picked up his brief-case from the floor and laid it on the corner of
the writing table at his elbow. "The lift I promised you still goes, if
you want it, but it'll have to wait until tomorrow."
The old man took the black box eagerly and threw back the cover.
His fingers flickered over the controls with practised familiarity.
"I shall not need your assistance—now," he said. His pale eyes met
Winant's triumphantly. "Now that I have the Bubble again I have a
means of return to my ship better than any Earthly conveyance
could offer. Watch!"
From the black box swelled a pulsing radiance, a misty rose-tinted
sphere that grew swiftly until it enveloped Yardana in a six-foot
bubble of iridescent light. Through its wavering envelope the old
man's face showed taut and purposeful, its pleading replaced by
grim determination.

From the black box swelled a pulsing bubble of iridescent light.


"Print your story," he said. "Tell your people about Yardana and his
mission. Tell them too that their days are numbered from this
minute, for in their savage perversion of natural principles to warlike
uses they have forged a menace that threatens the peace of the
Solar System and, eventually, of the universe itself."
He moved toward the window, the rosy Bubble glowing about him.
Winant turned his chair slightly, watching, but he did not rise.
"My people knew the secrets of the atom," Yardana said, "before
your own learned the use of fire. We built great cities and telescopes
when your ancestors were troglodytes, living in caves and eating
uncooked meat. We expected no dangerous intelligence to arise on
your planet for thousands of years as yet, and we paid little
attention to your progress until recently, when we learned through
your radio broadcasts that you had cracked the atom. We knew then
that something was dangerously wrong, and that we must
investigate quickly before your sudden wisdom put you upon equal
footing with us.
"Today, when you should be only learning to compound gunpowder,
we find you applying electromagnetic principles which you cannot
possibly understand, and harnessing the atom for the sole purpose
of killing greater numbers of your fellow beings. I came here, not to
aid your scientists in developing the rudiments of the atomic power
they have discovered, but to find the reason behind the sudden
freakish intelligence they are displaying. I have discovered that
reason—the scientific and political powers of Earth are under the
domination and guidance of alien intelligences, entities bent upon
developing a race of Earthmen so warlike and so technically
proficient in the waging of war that it must endanger our own
Martian culture."
Winant sat unmoving, his eyes not leaving the Martian's wrinkled
face. The Bubble hissed audibly, its tiny sussuration suddenly loud in
the room.
"Therefore I shall recommend in my report that the human race be
completely destroyed," Yardana said. "Alone it could not offer a
serious threat against us for ages, but led and instructed by these
outside intelligences it must soon surpass our own scientific
development. And we must destroy you before you learn the secret
of space travel, or we shall be too late to save ourselves.
"We fought with the peoples of Venus once in ages past for the
same reason, and reduced them to inconsequence if not to
extinction, for no sign of intelligent life has been detected upon their
world since we blasted it three thousand years ago. When I have
made my report the council of Elders will recommend the blasting of
Earth, and the solar system will be safe again for our superior
Martian civilization—this time forever."
"When you have made your report," Winant said. His smile was
edged with a sudden secret amusement. "But suppose these 'alien
entities' prevent your return?"
He opened the brief-case on the table and put a hand inside it. The
Martian laughed harshly.
"No missile can penetrate a Bubble, you fool," he said
contemptuously. "It is impervious to any Earthly weapon."
Winant laughed in turn, his lips pressed back flat against his teeth.
The repressed hatred of three thousand years spoke in his voice,
added pressure to the thrust of his thumb on the stud of the little
silver tube in his hand.
"Of course it is," he said, as the sullen crimson ray from the tube
disintegrated Martian, box and Bubble alike in a breath. "That's why
I came prepared—with a Venusian weapon!"
*** END OF THE PROJECT GUTENBERG EBOOK ULTIMATUM ***

Updated editions will replace the previous one—the old editions will
be renamed.

Creating the works from print editions not protected by U.S.


copyright law means that no one owns a United States copyright in
these works, so the Foundation (and you!) can copy and distribute it
in the United States without permission and without paying
copyright royalties. Special rules, set forth in the General Terms of
Use part of this license, apply to copying and distributing Project
Gutenberg™ electronic works to protect the PROJECT GUTENBERG™
concept and trademark. Project Gutenberg is a registered trademark,
and may not be used if you charge for an eBook, except by following
the terms of the trademark license, including paying royalties for use
of the Project Gutenberg trademark. If you do not charge anything
for copies of this eBook, complying with the trademark license is
very easy. You may use this eBook for nearly any purpose such as
creation of derivative works, reports, performances and research.
Project Gutenberg eBooks may be modified and printed and given
away—you may do practically ANYTHING in the United States with
eBooks not protected by U.S. copyright law. Redistribution is subject
to the trademark license, especially commercial redistribution.

START: FULL LICENSE


THE FULL PROJECT GUTENBERG LICENSE
PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK

To protect the Project Gutenberg™ mission of promoting the free


distribution of electronic works, by using or distributing this work (or
any other work associated in any way with the phrase “Project
Gutenberg”), you agree to comply with all the terms of the Full
Project Gutenberg™ License available with this file or online at
www.gutenberg.org/license.

Section 1. General Terms of Use and


Redistributing Project Gutenberg™
electronic works
1.A. By reading or using any part of this Project Gutenberg™
electronic work, you indicate that you have read, understand, agree
to and accept all the terms of this license and intellectual property
(trademark/copyright) agreement. If you do not agree to abide by all
the terms of this agreement, you must cease using and return or
destroy all copies of Project Gutenberg™ electronic works in your
possession. If you paid a fee for obtaining a copy of or access to a
Project Gutenberg™ electronic work and you do not agree to be
bound by the terms of this agreement, you may obtain a refund
from the person or entity to whom you paid the fee as set forth in
paragraph 1.E.8.

1.B. “Project Gutenberg” is a registered trademark. It may only be


used on or associated in any way with an electronic work by people
who agree to be bound by the terms of this agreement. There are a
few things that you can do with most Project Gutenberg™ electronic
works even without complying with the full terms of this agreement.
See paragraph 1.C below. There are a lot of things you can do with
Project Gutenberg™ electronic works if you follow the terms of this
agreement and help preserve free future access to Project
Gutenberg™ electronic works. See paragraph 1.E below.
1.C. The Project Gutenberg Literary Archive Foundation (“the
Foundation” or PGLAF), owns a compilation copyright in the
collection of Project Gutenberg™ electronic works. Nearly all the
individual works in the collection are in the public domain in the
United States. If an individual work is unprotected by copyright law
in the United States and you are located in the United States, we do
not claim a right to prevent you from copying, distributing,
performing, displaying or creating derivative works based on the
work as long as all references to Project Gutenberg are removed. Of
course, we hope that you will support the Project Gutenberg™
mission of promoting free access to electronic works by freely
sharing Project Gutenberg™ works in compliance with the terms of
this agreement for keeping the Project Gutenberg™ name associated
with the work. You can easily comply with the terms of this
agreement by keeping this work in the same format with its attached
full Project Gutenberg™ License when you share it without charge
with others.

1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside the
United States, check the laws of your country in addition to the
terms of this agreement before downloading, copying, displaying,
performing, distributing or creating derivative works based on this
work or any other Project Gutenberg™ work. The Foundation makes
no representations concerning the copyright status of any work in
any country other than the United States.

1.E. Unless you have removed all references to Project Gutenberg:

1.E.1. The following sentence, with active links to, or other


immediate access to, the full Project Gutenberg™ License must
appear prominently whenever any copy of a Project Gutenberg™
work (any work on which the phrase “Project Gutenberg” appears,
or with which the phrase “Project Gutenberg” is associated) is
accessed, displayed, performed, viewed, copied or distributed:
This eBook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this eBook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.

1.E.2. If an individual Project Gutenberg™ electronic work is derived


from texts not protected by U.S. copyright law (does not contain a
notice indicating that it is posted with permission of the copyright
holder), the work can be copied and distributed to anyone in the
United States without paying any fees or charges. If you are
redistributing or providing access to a work with the phrase “Project
Gutenberg” associated with or appearing on the work, you must
comply either with the requirements of paragraphs 1.E.1 through
1.E.7 or obtain permission for the use of the work and the Project
Gutenberg™ trademark as set forth in paragraphs 1.E.8 or 1.E.9.

1.E.3. If an individual Project Gutenberg™ electronic work is posted


with the permission of the copyright holder, your use and distribution
must comply with both paragraphs 1.E.1 through 1.E.7 and any
additional terms imposed by the copyright holder. Additional terms
will be linked to the Project Gutenberg™ License for all works posted
with the permission of the copyright holder found at the beginning
of this work.

1.E.4. Do not unlink or detach or remove the full Project


Gutenberg™ License terms from this work, or any files containing a
part of this work or any other work associated with Project
Gutenberg™.

1.E.5. Do not copy, display, perform, distribute or redistribute this


electronic work, or any part of this electronic work, without
prominently displaying the sentence set forth in paragraph 1.E.1
with active links or immediate access to the full terms of the Project
Gutenberg™ License.

1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if you
provide access to or distribute copies of a Project Gutenberg™ work
in a format other than “Plain Vanilla ASCII” or other format used in
the official version posted on the official Project Gutenberg™ website
(www.gutenberg.org), you must, at no additional cost, fee or
expense to the user, provide a copy, a means of exporting a copy, or
a means of obtaining a copy upon request, of the work in its original
“Plain Vanilla ASCII” or other form. Any alternate format must
include the full Project Gutenberg™ License as specified in
paragraph 1.E.1.

1.E.7. Do not charge a fee for access to, viewing, displaying,


performing, copying or distributing any Project Gutenberg™ works
unless you comply with paragraph 1.E.8 or 1.E.9.

1.E.8. You may charge a reasonable fee for copies of or providing


access to or distributing Project Gutenberg™ electronic works
provided that:

• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”

• You provide a full refund of any money paid by a user who


notifies you in writing (or by e-mail) within 30 days of receipt
that s/he does not agree to the terms of the full Project
Gutenberg™ License. You must require such a user to return or
destroy all copies of the works possessed in a physical medium
and discontinue all use of and all access to other copies of
Project Gutenberg™ works.

• You provide, in accordance with paragraph 1.F.3, a full refund of


any money paid for a work or a replacement copy, if a defect in
the electronic work is discovered and reported to you within 90
days of receipt of the work.

• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.

1.E.9. If you wish to charge a fee or distribute a Project Gutenberg™


electronic work or group of works on different terms than are set
forth in this agreement, you must obtain permission in writing from
the Project Gutenberg Literary Archive Foundation, the manager of
the Project Gutenberg™ trademark. Contact the Foundation as set
forth in Section 3 below.

1.F.

1.F.1. Project Gutenberg volunteers and employees expend


considerable effort to identify, do copyright research on, transcribe
and proofread works not protected by U.S. copyright law in creating
the Project Gutenberg™ collection. Despite these efforts, Project
Gutenberg™ electronic works, and the medium on which they may
be stored, may contain “Defects,” such as, but not limited to,
incomplete, inaccurate or corrupt data, transcription errors, a
copyright or other intellectual property infringement, a defective or
damaged disk or other medium, a computer virus, or computer
codes that damage or cannot be read by your equipment.

1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for


the “Right of Replacement or Refund” described in paragraph 1.F.3,
the Project Gutenberg Literary Archive Foundation, the owner of the
Project Gutenberg™ trademark, and any other party distributing a
Project Gutenberg™ electronic work under this agreement, disclaim
all liability to you for damages, costs and expenses, including legal
fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR
NEGLIGENCE, STRICT LIABILITY, BREACH OF WARRANTY OR
BREACH OF CONTRACT EXCEPT THOSE PROVIDED IN PARAGRAPH
1.F.3. YOU AGREE THAT THE FOUNDATION, THE TRADEMARK
OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL
NOT BE LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT,
CONSEQUENTIAL, PUNITIVE OR INCIDENTAL DAMAGES EVEN IF
YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH DAMAGE.

1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you


discover a defect in this electronic work within 90 days of receiving
it, you can receive a refund of the money (if any) you paid for it by
sending a written explanation to the person you received the work
from. If you received the work on a physical medium, you must
return the medium with your written explanation. The person or
entity that provided you with the defective work may elect to provide
a replacement copy in lieu of a refund. If you received the work
electronically, the person or entity providing it to you may choose to
give you a second opportunity to receive the work electronically in
lieu of a refund. If the second copy is also defective, you may
demand a refund in writing without further opportunities to fix the
problem.

1.F.4. Except for the limited right of replacement or refund set forth
in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO
OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookname.com

You might also like