Regular Expressions: Manage CORBA with scripting

By Cameron Laird, Unix Insider |  Development Add a new comment

We like to do a lot with a little. That's the attraction of scripting: it manages big,

complicated computing systems -- CORBA, for example -- with simple, low-cost means.

We affectionately call CORBA "complicated." This column explains why, and touches on

other news in the scripting world.

CORBA is a specification for distribution of objects; CORBA is an acronym for Common

Object Request Broker Architecture. Some older literature punctuates that "Common Object

Request Broker: Architecture." The Object Management Group is an industry consortium -- with

a long membership list -- whose principal product is the CORBA specification. Version 1.0

appeared in October 1991.

CORBA is most often compared to Microsoft's DCOM protocol, the still rather raw .Net, and

Sun ONE. CORBA incorporates elements from throughout the history of distributed computing,

including lower-level precursors such as network file system (NFS) and remote procedure call

(RPC), vanquished rivals like OpenDoc, and a variety of academic projects in distributed

operating systems.

For the purpose of this column, the main point to take from CORBA's history is that the

protocol is a smashing success. We mean this in a precise sense: CORBA 1.0 was difficult,

expensive, and esoteric. Ten years later, CORBA costs little or nothing (at least in some

varieties), it is widely used, and hobbyists and students expect to use it safely.

Multipage "Hello, World!"

CORBA has been tamed, but it remains a heavyweight. CORBA tutorials need to introduce

several concepts, including object request brokers (ORBs) and the interface definition

language (IDL), before the first exhibition of a usefully distributed "Hello, World!"

That is where scripting languages come in. All the leading open source scripting

languages have serviceable CORBA modules that factor out most or all of the "boilerplate"

necessary to make a CORBA application run. Many production systems are coded partly or

entirely in languages such as Perl, Python, and Tcl.

That is rather remarkable. Although CORBA was designed all along to be language-neutral,

early work was done almost entirely in C/C++ and closely-related "systems languages."

Because of skepticism about whether attempts to script CORBA would ever work, a committee

was formed to demonstrate a scripted binding.

By the time a rather Pythonic CorbaScript was released, though, general-purpose scripting

languages had already begun to establish themselves as fit CORBA tools. CorbaScript is a

nice language; a simple script for invoking a standard "Hello, World!" might look like

this:


NS = CORBA.ORB.resolve_initial_references ("NameService")
object = NS.resolve ([["anHelloObject",""]])
object.display("Hello World!") 

You don't need CorbaScript for something that easy, though. General-purpose scripting

languages can do the job; their syntaxes are comparably sensible, and their performance and

functionality match up well. CORBA programming has become a bit of a "commodity."

And you're the beneficiary. If you need or want to work with CORBA someday, don't be

afraid of it. You can keep using familiar high-productivity scripting languages, and expect

to get about as much performance (sometimes more!) and functionality as you would with C++

or Java. CORBA is going to be around for quite a while, as DCOM and RMI are gradually

replaced by SOAP and .Net. CORBA is particularly popular in finance and engineering

circles.

Two-tiered programming

The Resources section contains links to specific material that can

get you off to a good start with CORBA. But keep in mind a more general principle, of which

CORBA is just one example: scripting is productive. It makes sense that complicated,

performance-constrained, complexly structured technologies like CORBA, enterprise resource

planning (ERP), graphical user interface toolkits, databases, Web servers, compilers, and

engineering solvers are typically written in C/C++ or Java. To combine the elements of such

libraries, though, in novel user-level applications, is best left to scripting languages.

We'll return to other examples of that principle in coming months. For more on that

programming philosophy, see "Good girls don't" and "Scripting -- the fourth generation" in

Resources.

    Add a comment

    Post a comment using one of these accounts
    Or join now
    At least 6 characters

    Note: Comment will appear soon after you have activated your account.
    Obscene/spam comments will be removed and accounts suspended.
    The information you submit is subject to our Privacy Policy and Terms of Service.

    ITworld LIVE

    DevelopmentWhite Papers & Webcasts

    White Paper

    HP NonStop SQL Fundamentals whitepaper

    This whitepaper offers a detailed look into the fundamentals of HP NonStop SQL solutions. See how this system delivers unprecedented levels of application availability with fail-safe data integrity and meets the needs of enterprises with large-scale business critical applications.

    White Paper

    Nebraska Medical Center case study

    See how the Nebraska Medical Center implemented a SQL solution to make information more readily available to streamline operations, improve patient care and facilitate medical research with an enterprise solution running on HP NonStop servers.

    White Paper

    Concepts of NonStop SQL/MX

    For DBAs and developers who are familiar with Oracle solutions and want to learn about NonStop SQL/MX, this whitepaper provides an overview of the similarities and differences between the two products-with a specific focus on implementation.

    White Paper

    6 Things Your CIO Needs to Know About Requirements

    If your organization is not predictably successful on technology projects, there is likely an issue in requirements. CIOs must take action and own requirements maturity improvement. There are 6 main things a CIO must know about requirements.

    Webcast On Demand

    User Experience Monitoring

    In this webinar, you will learn hints & tips for improving end-user response times from Forrester Research analyst, Jean-Pierre Garbani.

    Sponsor: Nimsoft

    See more White Papers | Webcasts

    Ask a question

    Ask a Question