Foreword | p. xvii |
List of Acronyms | p. xix |
Interoperable Webs | p. 1 |
The History of the Internet | p. 3 |
The History of the World Wide Web | p. 6 |
The Internet and the WWW Today | p. 9 |
The Object Management Group | p. 9 |
A Crash Course in Object Technology | p. 12 |
First Principles | p. 12 |
Objects | p. 14 |
Classes | p. 15 |
Methods and Messages | p. 17 |
Encapsulation and Modularity | p. 17 |
Abstraction | p. 17 |
Inheritance and Subtyping | p. 18 |
Polymorphism | p. 19 |
Dynamic Binding | p. 20 |
Software Reuse, ICs, and Components | p. 21 |
Frameworks | p. 22 |
Design Patterns | p. 22 |
Object-Oriented Distributed Systems | p. 24 |
Java-The Environment | p. 27 |
Java--The Language | p. 28 |
Java Language Features | p. 30 |
The Java System Architecture | p. 34 |
Just-In-Time Compilers | p. 37 |
The Java Development Kit (JDK) and the Java Runtime Environment (JRE) | p. 37 |
JavaBeans | p. 41 |
The JavaOS | p. 43 |
The Java Virtual Machine | p. 44 |
Java Bytecodes | p. 44 |
JVM Execution | p. 45 |
JVM Threads | p. 47 |
The Class File Format | p. 48 |
Class File Verification | p. 49 |
Elements of the Java Programming Language | p. 51 |
Java Applets | p. 53 |
The Applet Class | p. 54 |
Reading Applet Parameters | p. 57 |
Applet Restrictions | p. 57 |
The Java Thread Model | p. 58 |
Thread Synchronization | p. 60 |
Thread Groups | p. 61 |
Java Exceptions | p. 62 |
Java Streams | p. 64 |
Networking in Java | p. 66 |
TCP/IP | p. 67 |
Sockets | p. 68 |
Socket Programming in Java | p. 68 |
Internet Protocols | p. 70 |
The Hypertext Transfer Protocol (HTTP) | p. 71 |
URIs, URLs, and URNs | p. 71 |
URLs in Java | p. 73 |
The Java Reflection API | p. 73 |
Methods Added to Class Class | p. 74 |
Important Methods in the Member Interface | p. 75 |
Corba--The Architecture | p. 77 |
The Object Management Architecture | p. 78 |
The OMA Reference Model | p. 79 |
The Object Request Broker | p. 81 |
Object Services | p. 81 |
Common Facilities | p. 82 |
The OMG Object Model | p. 82 |
Objects and Types | p. 85 |
Objects and Non-Objects | p. 86 |
Operations | p. 87 |
Subtyping and Inheritance | p. 87 |
The Corba Object Model (Corba/OM) | p. 88 |
Requests | p. 88 |
Operations | p. 88 |
Interfaces and Attributes | p. 89 |
Types | p. 90 |
Implementations | p. 90 |
The Common Object Request Broker Architecture | p. 90 |
The ORB Core | p. 92 |
IDL Stubs and Skeletons | p. 93 |
Object Adapters and the ORB Interface | p. 93 |
Repositories | p. 94 |
Object References | p. 94 |
Clients | p. 95 |
Object Implementations | p. 95 |
Object Adapters | p. 95 |
The Interface Definition Language | p. 96 |
The Dynamic Invocation Interface | p. 97 |
DII Structures | p. 97 |
Requests | p. 98 |
The Deferred Synchronous Model | p. 98 |
Context Objects | p. 99 |
The Interface Repository | p. 99 |
The Structure of an Interface Repository | p. 100 |
IR Containers | p. 101 |
The ORB Interface | p. 103 |
Object References and Strings | p. 103 |
Operations on Object References | p. 103 |
The Basic Object Adapter | p. 104 |
IIOP--Internet Interoperability | p. 107 |
ORB Interoperability | p. 110 |
Domains | p. 113 |
The Dynamic Skeleton Interface | p. 113 |
Inter-Domain Referencing | p. 115 |
Interoperable Object References | p. 116 |
ORB Services | p. 117 |
The General Inter-ORB Protocol | p. 119 |
The Common Data Representation | p. 120 |
GIOP Messages | p. 121 |
The Internet Inter-ORB Protocol | p. 123 |
Corba IDL and the Java Mapping | p. 125 |
Corba IDL | p. 128 |
IDL Preprocessing | p. 130 |
IDL Modules | p. 130 |
IDL Interfaces | p. 132 |
IDL Types | p. 132 |
IDL Exceptions | p. 134 |
IDL Attributes | p. 135 |
IDL Operations | p. 136 |
The IDL/Java Mapping | p. 137 |
IDL-to-Java | p. 138 |
Modules | p. 138 |
Interfaces | p. 138 |
Types | p. 138 |
Exceptions | p. 140 |
Operations | p. 141 |
Pseudo Objects | p. 143 |
IDL and C++ | p. 143 |
Java ORBs | p. 147 |
The Example | p. 148 |
The IDL | p. 151 |
Stubs and Skeletons | p. 152 |
Client-Side Stubs | p. 156 |
Implementation Skeletons--The BoaImpl Approach | p. 160 |
Implementation Skeletons--The TIE Approach | p. 163 |
The Example Applet | p. 164 |
Corba Services--Part 1 | p. 169 |
The Object Services Architecture and the Object Services Roadmap | p. 171 |
Services Overview | p. 173 |
The Naming Service | p. 176 |
The Naming Module | p. 177 |
Name Library | p. 177 |
The Event Service | p. 178 |
The EventComm Module | p. 179 |
Event Channels | p. 180 |
The TypedEventComm Module | p. 182 |
Typed Event Channels | p. 183 |
Composing Event Channels | p. 183 |
The Life Cycle Service | p. 183 |
Object Creation | p. 185 |
Object Deletion | p. 186 |
Moving and Copying Objects | p. 186 |
Factories and Factory Finders | p. 186 |
Object Graphs | p. 188 |
The Persistence Service | p. 189 |
The PSM DDL | p. 190 |
The PSM Model | p. 190 |
PSM Interfaces | p. 192 |
Corba Services--Part 2 | p. 195 |
The Object Relationship Service | p. 195 |
Relationships | p. 198 |
Object Graphs | p. 201 |
Containment and Reference | p. 202 |
Relationships versus Object References | p. 203 |
The Object Externalization Service | p. 204 |
Object Externalization | p. 205 |
Object Internalization | p. 208 |
The Object Transactions Service | p. 209 |
Service Structure | p. 211 |
Transaction Service Components | p. 213 |
The Transactions Module | p. 214 |
The Concurrency Control Service | p. 215 |
The Query Service | p. 215 |
The Property Service | p. 217 |
The Licensing Service | p. 217 |
The Time Service | p. 218 |
The Trading Service | p. 218 |
Corba Security | p. 219 |
Cryptography | p. 221 |
Corba Security at a Glance | p. 224 |
The Corba Security Model | p. 225 |
Principals | p. 226 |
Secure Invocations | p. 226 |
Access Policies | p. 227 |
Auditing | p. 228 |
Delegation | p. 228 |
Security Interfaces | p. 229 |
Level 2 Application View | p. 229 |
View of Objects Implementing Security | p. 237 |
Interceptors | p. 240 |
The Secure Inter-ORB Protocol | p. 241 |
Java Security | p. 243 |
The Java Security Model | p. 245 |
The Java Sandbox | p. 246 |
The Class Loader | p. 247 |
The Verifier | p. 249 |
The Security Manager | p. 250 |
Applet Security | p. 254 |
JDK 1.1 Security | p. 256 |
JDK 1.1 Security Packages | p. 256 |
JAR Files | p. 258 |
The javakey Tool | p. 259 |
The Java Cryptography Architecture | p. 260 |
Engine Classes | p. 261 |
Providers | p. 262 |
Classes | p. 262 |
JDK 1.2 Security | p. 264 |
Web Security, SSL, and CDSA | p. 267 |
The Netscape Security Blueprint | p. 268 |
Microsoft's Security Blueprint | p. 269 |
S/MIME | p. 270 |
Secure HTTP (S-HTTP) | p. 271 |
The Secure Electronic Transactions Specification | p. 272 |
The Secure Socket Layer | p. 273 |
The SSL Protocol | p. 275 |
SSL and Corba Security | p. 278 |
SSLeay | p. 279 |
SSL and Java | p. 279 |
SSL and Firewalls | p. 280 |
The Common Data Security Architecture | p. 281 |
CDSA Layered Architecture | p. 282 |
The Common Security Services Manager | p. 282 |
Cryptographic Services | p. 284 |
Trust Policy Services | p. 285 |
Certificate Library Services | p. 286 |
Data Storage Services | p. 287 |
Firewalls | p. 289 |
Internet Firewalls | p. 290 |
Types of Firewalls | p. 290 |
Packet Filtering | p. 291 |
Proxy Servers | p. 291 |
SOCKS | p. 292 |
Firewall Architectures | p. 293 |
FireWall-1 | p. 295 |
OPSEC | p. 296 |
Stateful Inspection | p. 296 |
Security Policy Management | p. 297 |
Authentication | p. 297 |
Network Access Translation | p. 298 |
Encryption | p. 298 |
Content Security | p. 299 |
Connection Control | p. 300 |
Router Management | p. 300 |
Java Firewalls | p. 300 |
Finjan Software | p. 301 |
IIOP Firewalls | p. 302 |
HTTP Tunneling of IIOP | p. 303 |
IIOP Proxy Server | p. 304 |
WonderWall | p. 304 |
Proxification | p. 305 |
WonderWall Configuration | p. 306 |
The WonderWall HTTP Server | p. 308 |
Callbacks | p. 308 |
OrbixWeb Programming | p. 311 |
The Interface Definition Language | p. 312 |
IDL Interfaces | p. 312 |
Oneway Operations | p. 313 |
Context Clause | p. 314 |
Modules | p. 315 |
Exceptions | p. 315 |
Inheritance | p. 316 |
The Basic Types of IDL | p. 318 |
Constructed Types | p. 319 |
Arrays | p. 320 |
Template Types | p. 321 |
Constants | p. 322 |
Typedef Declaration | p. 322 |
Scoped Names | p. 323 |
The Preprocessor | p. 323 |
Pseudo Types | p. 324 |
IDL-to-Java Mapping | p. 325 |
Overview of the Mapping | p. 325 |
Mapping for Identifiers | p. 326 |
Scoped Names | p. 326 |
The Corba Module | p. 326 |
Mapping for Basic Data Types | p. 327 |
Mapping for Interfaces | p. 328 |
Mapping for Attributes and Operations | p. 334 |
Object References | p. 337 |
Inheritance | p. 339 |
Mapping for Constants | p. 343 |
Mapping for Enums | p. 345 |
Mapping for Strings | p. 345 |
Mapping for Typedefs | p. 347 |
Mapping for Strucks | p. 348 |
Mapping for Unions | p. 349 |
Mapping for Arrays | p. 351 |
Mapping for Sequence Types | p. 351 |
Mapping for Exception Types | p. 353 |
Context Arguments | p. 355 |
Common Mapping for Pseudo Types | p. 356 |
Mapping for Parameters and Return Values | p. 357 |
Programming OrbixWeb Using Java | p. 361 |
Files Generated by the IDL Compiler | p. 363 |
A Client Program | p. 364 |
The Server: Implementing Interfaces | p. 368 |
The Server: Coding the Implementation Classes | p. 370 |
The Server: main() Method And Object Creation | p. 377 |
Registration and Activation | p. 381 |
Execution Trace | p. 382 |
Comparison of the TIE and BOAImpl Approaches | p. 385 |
An Example of Using Holder Classes | p. 387 |
Publishing Object References in Servers | p. 389 |
Object Identification | p. 389 |
Making Object References Available to Clients | p. 393 |
Retrieving Object References in Clients | p. 397 |
Binding to Objects in OrbixWeb Servers | p. 397 |
Using Object Reference Strings to Create Proxy Objects | p. 403 |
Resolving Names in the Naming Service | p. 404 |
ORB Interoperability | p. 405 |
Overview of GIOP | p. 406 |
IIOP in OrbixWeb | p. 408 |
Exception Handling | p. 418 |
User-Defined Exceptions | p. 418 |
System Exceptions | p. 420 |
The Client: Handling Exceptions | p. 421 |
The Server: Throwing an Exception | p. 423 |
Inheritance | p. 424 |
Single Inheritance of IDL Interfaces | p. 425 |
Multiple Inheritance of IDL Interfaces | p. 433 |
Contexts | p. 435 |
Creating a Context | p. 435 |
Retrieving Property Values from a Context | p. 436 |
Type any | p. 437 |
Using Insertion Methods to Construct an Any | p. 438 |
Using Extraction Methods to Interpret an Any | p. 441 |
Inserting and Extracting Array Types | p. 443 |
Any Constructors and Additional Methods | p. 443 |
Any as a Parameter or Return Value | p. 444 |
Dynamic Invocation Interface | p. 444 |
Example | p. 445 |
Using the DII | p. 446 |
Using the DII: Corba-Based Approach | p. 448 |
Deferred Synchronous Invocations | p. 458 |
Using Filters with the DII | p. 459 |
References | p. 461 |
Index | p. 467 |
Table of Contents provided by Syndetics. All Rights Reserved. |