Home > Store

Inside CORBA: Distributed Object Standards and Applications

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

Inside CORBA: Distributed Object Standards and Applications

Book

  • Sorry, this book is no longer in print.
Not for Sale

Description

  • Copyright 1997
  • Edition: 1st
  • Book
  • ISBN-10: 0-201-89540-4
  • ISBN-13: 978-0-201-89540-7

"This book breaks the mold...by taking the reader through the entire spectrum of the distributed object approach, from requirements analysis through systems development, with a thorough treatment of relevant standards." -Dr. Richard M. Soley, Technical Director, Object Management Group

Inside CORBA is a comprehensive and authoritative guide to distributed object architecture, software development, and CORBA (Common Object Request Broker Architecture) standards. CORBA is a consensus standard from industry that has transformed the way information systems are developed, both for creating distributed object-oriented systems and for migrating legacy systems to modern architecture.

This must-read for all managers, architects, and developers of distributed systems begins by addressing the key organizational challenges to the adoption of CORBA and the essential management guidance necessary to ensure its success. Following this introduction, the authors present a user guide to the CORBA standards, complete with examples of their application. The user guide also features in-depth coverage of the Interface Definition Language (IDL), including the latest presentation of the new CORBA IDL Language Mapping for Java, and comprehensive information on the CORBA 2 standard and the CORBAservices.

In addition, this book provides invaluable technical assistance on the application of CORBA by sharing essential lessons learned from experienced CORBA managers and architects and through the presentation of a case study.



0201895404B04062001

Sample Content

Table of Contents



List of Figures and Tables.


Foreword.


Preface.

I. CORBA BASICS

1. An Introduction to Corba.

Information Systems: From the Back Room to the Front Office.

Analyzing the Scenario.

Challenges in System Development.

System Integration.

Managing the Future.

Technology Availability.

Corba Overview.

Corba Concepts.

The Object Model.

Open Distributed Computing Environment.

Component Integration and Reuse.

Corba's Growth.

What You Will Learn From This Book.

II. CORBA STANDARDS

2. Corba Interface Definition Language (Idl).

An Overview of Corbaidl.

The Most Significant Element of Corba is the Interface Definition Language.

Omg Idl is a Stable Standard.

One Idl File Creates Multiple Language Bindings.

Idl Enables Platform Independence.

Idl is Pure Specification, Not Implementation.

The Quality of Idl Designs is Critically Important.

An Idl Tutorial.

Idl Modules.

Idl Interfaces.

Idl Forward.

Idl Constants.

Idl Type Declaration.

Idl Sequences.

The Dynamic Idl Type Any.

Idl Attributes.

Idl Exceptions.

Idl Operation Signatures.

Pre-Compiler Directives.

Conversion of Oo Designs to Idl.

From Oo Design to Idl Example: Course Registration Object Model.

The Oo Design.

An Abstract Idl Representation.

A Concrete Idl Representation.

Idl Guidelines.

Idl Identifiers.

Parameter and Return Values.

The Use of Attributes.

Use of Type Any.

Idl Modules.

Idl Documentation.

Concluding Remarks.

3. The Corba 2 Standard.

An Overview of Corba 2.

The Orb.

Corba Core.

Standard Object Model.

Interface Attributes and Operations.

One-Way Keyword.

Exception Handling.

Context Clause.

Object Implementation.

The Corba Architecture.

Static Interfaces.

Static and Dynamic Skeletons.

Static Versus Dynamic Invocation.

Corba Clients and Object Implementations.

Local Objects.

Marshaling.

Orb Libraries.

Client Invocation Process.

Invocation Scenario.

Interface and Implementation Repositories.

Interface Repository and Idl Object Models.

Applications of the Interface Repository.

Language Mappings.

C Language Mapping.

C11 Language Mapping.

Variable Type and Pointer Type.

Smalltalk Language Mapping.

Java Language Mapping.

Portability.

Interoperability and Ole Integration.

Corba Interoperability.

Corba and Microsoft.

Corba Guidelines.

Location Transparency.

Rely On the Corba Standard, Not the Orb Products.

Use of Standards.

Concluding Remarks.

4. Corbaservices.

An Overview of Corbaservices.

Many Application Developers Have Reinvented the Corbaservices.

Considering Vendor Support; Self-Building These Services.

The Corbaservices Architecture.

The Corbaservices Roadmap.

The Information Management Services.

The Property Service.

The Relationship Service.

Multithreaded Environments.

The Query Service.

The Externalization Service.

The Persistent Object Service.

The Collection Service.

Task Management Corbaservices.

The Events Service.

The Concurrency Service.

The Transaction Service.

System Management Corbaservices.

The Naming Service.

The Lifecycle Service.

The Licensing Service.

The Trader Service.

Infrastructure Corbaservices.

Security and Time Services.

Messaging Service.

The Future of Corbaservices.

Additional Services.

Concluding Remarks.

5. Corbafacilities and Corbadomains.

Overview of Corbafacilities.

Corbafacilities Versus Corbaservices.

Horizontal Corbafacilities.

Distributed Document Component Facility.

Compound Linking.

Opendoc Parts Framework.

Opendoc User Interface.

Opendoc Framework Objects.

The Common Management Facilities.

Internationalization and Time Operations Facilities.

Data Interchange Facility.

Vertical Corbafacilities and Related Activities.

Business Object Framework and Common Business Objects.

Meta-Object Facility.

Printing and Method Facilities Input.

Vertical-Market Areas.

Leveraging the Omg Process.

Exploiting a Predictable Process.

Application Profiles.

Inside the Omg Organization.

The Request for Information Process.

Creating Architectures and Roadmaps.

Rfp Adoption Processes.

III. CORBA SYSTEM ENGINEERING

6. Relationships With Other Technologies.

Choosing a Distributed Object Architecture.

Analyzing the Scenario.

Making an Informed Decision.

The Role of Standards.

The Underpinnings of Distributed Architectures.

Comparing Distributed Architectures.

Osf's Distributed Computing Environment.

Microsoft's Distributed Component Object Model.

Javasoft's Java and the Remote Method Invocation (Rmi).

Interoperability With Corba.

Corba Selection and Application.

Corba Product Selection.

Issues in the Effective Application of Corba.

7. The Corba Migration Process.

Migrating to a Corba Architecture.

Analyzing the Scenario.

Enterprise Migration.

Architecture-Driven Migration.

Conformance Between Architecture and Implementation.

Migration to Commonality.

Migration Strategy.

8. Corba and Software Architecture.

Defining a Software Architecture.

Analyzing the Scenario.

The Role of Architecture in Software.

If Software Architecture is so Important, What is it?

The Elements of Good Software Architecture.

Corba and Software Architecture.

Models of Use for Corba in a Software Architecture.

Applying Corba to Software Architecture.

The Scope of a Software Architecture.

The Major Entities of Software Architecture.

Customizing the Software Architecture to the Organization.

Software Architecture Design.

Architecture Abstraction.

The Process for Software Architecture Design.

Defining the Software Architecture Objects and Interfaces.

Other Software Architecture Considerations.

Software Architecture Conclusions.

9. Application Design Using Software Architecture.

Designing the Application.

Analyzing the Scenario.

The Relationship of Architecture to Program Planning.

Recognizing the Learn-As-You-Go Process.

Prototype Development Using Corba.

Creating a Successful Environment.

Applying the Software Architecture to Application Design.

Selection of Application Components.

Designing Application Component Interfaces.

Defining Component Relationships.

Designing for Interoperability.

Increasing Reuse.

Making the Most of Inheritance.

Providing Good Exception Handling.

Test and Evaluation of the System.

Corba in the Operations and Maintenance Phase.

Measuring Progress.

Measuring the Progress of the Software Architecture.

Tying it All Together: Architecture and Application Design Processes.

Collaborative Processes for Architecture and Application Development.

Corba Architecture Process-the Analysis Steps.

Corba Architecture Process-the Definition Steps.

Corba Application Development Process.

10. Corba Migration Case Study: The Information Access Facility.

Problem and Objective.

Standards-Based Profiles.

Project Context.

Business Objects and Process.

Interface Migration.

Conclusions.

Do Not Design in a Vacuum.

Design for Quality.

Epilogue.
Appendix A. Omg Idl Grammar.
Appendix B. Omg Idl Definitions From Corba 2.
Appendix C. IDL for Corbaservices.
Appendix D. Guide to CORBA Resources.
Bibliography.
Acronyms.
Index. 0201895404T04062001

Preface

This book is written for people interested in adopting, designing, and developing systems using distributed objects. The common object request broker architecture (CORBA) is a consensus standard from industry that has significantly changed how information system development is accomplished for both achieving a distributed object-oriented system, as well as for migration of legacy systems to modern architectures. In writing this book, it is assumed the reader has a general knowledge of computer science or programming.

In the book, all standard CORBA-related specifications and key upcoming specifications are covered. Examples of the usage of CORBAservices are included. Since CORBA is a system-oriented technology, applications of the standards, including architecture, development, and migration approaches, are also covered. An entire chapter is devoted to a case study providing lessons learned from real experience.

Overview of the Contents

Part 1 provides an introduction to the technology and its benefits and the key motivations and impacts of adoption. Part 1 sets the context for CORBA technology, including addressing the key organizational challenges involved in the adoption of CORBA, as well as the essential management guidance to assure successful adoption and exploitation of the technology.

Part 2 provides a useris guide to the CORBA standards. These chapters provide a useful introduction to the standards with examples of their applications. The book covers detailed techniques for the use of the interface definition language (IDL), the CORBA 2 standard, and the CORBAservices. This coverage includes concepts, definitions, and examples. The new IDL/JAVA language mapping is introduced. In Part II, the first comprehensive model of CORBA components and CORBAservices is provided. This model and associated examples support rapid understanding of complex OMG standards and their interrelationships.

Part 3 addresses the application of CORBA to the definition and development of information systems. Technical guidance on how to apply the standards to create successful systems is provided. In particular, CORBA applications and lessons learned are covered. CORBA is compared with related technologies that will aid in your product selection and justification. Approaches for defining CORBA-based architecture, interfaces, and software are included. Chapter 10 is a case study of a CORBA-based enterprise migration and the lessons learned in implementation and management of the project.

For readers new to CORBA, the book is intended to be read sequentially. If this book achieves anything, it is expected that the reader will understand IDL, an international standard (ISO DIS 14750) that is quickly becoming the universal notation for application program interfaces. Readers familiar with the CORBA infrastructure should read Chapter 4, covering the CORBAservices. Given the large number of these services, it is rare to encounter anyone with knowledge of them all or even of a significant number. Advanced readers should also read Chapter 7, which sets a context for the definition of CORBA-based software architectures, and Chapters 8 and 9, which define a unique approach for CORBA development and migration.

Relationship of This Book to CORBA Specifications

This book does not replace the CORBA standards documents. Instead, it provides an introduction and guidance to readers and users of the standards. There are several large volumes of CORBA standards, including CORBA, CORBAservices, and CORBAfacilities. Even though CORBA standards are more readable than many other types of standards documents, they are voluminous. In many cases, CORBA standards do not include abstractions and examples that are essential for understanding. Furthermore, the specifications do not deal with the application of CORBA to architecture and development, only to its definition.

The first priority is to provide an insightful summary of the standards. The abstractions and examples should aid the readeris understanding of the technology. The standards chapters do not attempt to address all the needs of knowledgeable CORBA practitioners, only the needs of people who want to learn more about the full range of the technology.

The second priority is to provide guidance on how to use these standards and technologies. The authors have been involved in the technical work and management of CORBA projects since 1991, when the standard was first created. This technology presents some fundamental differences in practices for developers, architects, and managers.

It was learned through reviewing and mentoring numerous CORBA projects that many organizations ignore these essential differences in their use of CORBA. This leads to the creation of systems with brittle architectures and implementations, similar to what was created with precursor technologies. By trial and error, some organizations learn how to use the technology more effectively, but many do not progress much beyond the initial level. A key mission of this book is to shorten the learning curve of those organizations adopting CORBA so that they can adjust the management and technology practices to fully exploit the CORBA technologies. In doing so, they will create and migrate to more-effective information systems.

Supplemental Materials

The CORBA specifications described in this book can be downloaded from the Object Management Groupis Web site: http://www.omg.org

The specifications and profiles from the case study can be downloaded from http://www-ismc.itsi.disa.mil/ciiwg/ciiwg.html. Note that this is an ongoing activity and that document names have changed several times throughout this project.

Updates on the material in this book, news, and comments for the authors can be found on http://www.serve.com/mowbray/

Acknowledgments

The authors wish to thank all of the people who made this book possible. It is not possible to enumerate everybody who gave us ideas, review, help, and encouragement, but in particular, we wish to recognize Doug Antoon, Lydia Bennett, Bill Brown, Edna Davis, Vic DeMarines, John Eaton, Marty Faga, Millie Forrest, Julie Gravallese, Dolly Greenwood, Michael Guttman, Jack Hassall, Steve Hirsch, Bill Hoffman, Dr. Barry Horowitz, Joel Jacobs, Michael Josephs, Cliff Kottman, Eric Leach, Dave Lehman, Dr. Chris Lopresti, Frank Maginnis, Dr. Pat Mallett, Raphael Malveau, John Marsh, Jason Matthews, Dr. Mark Maybury, Skip McCormick, Chris Metzger, Kate Mowbray, John Polger, Henry Rothkopf, Karen Ruh, Richard Soley, Shel Sutton, John Tisaranni, Dr. Bhavani Thuraisingham, Pat Townes, Gloria Trumpower, Doug Vandermade, Debra Wittreich, Ron Zahavi, Tony Zawilski.

A special thanks is given to the reviewers of this book whose comments and insights were an invaluable contribution. John M. Anderson, Colm Bergin, IONA Technologies Inc.; Justin Freitag, Department of Software Development, Monash University, Australia; Donald G. Joder, Booz-Allen & Hamilton Inc.; Lloyd W. Taylor, DIGEX, Inc.; and John Weiler, The OBJECTive Technology Group, Ltd. We would especially like to thank Liz May for coordinating all the editing, graphics, and typing for the manuscript, ensuring a successful completion to a long journey.



0201895404P04062001

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020