topics that matter; ideas worth sharing

share a tip, submit a link, add something new

Regular Expressions: Manage CORBA with scripting

May 2, 2001, 05:14 PM —  Unix Insider — 

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.

One final note: you'll sometimes see references to IDLscript. IDLscript is the OMG

standard that CorbaScript implements. In principle, IDLscript could have multiple

implementations, but so far, it has only one.

ActiveState leads in scripting technology

We've mentioned ActiveState Corp. of Vancouver, British Columbia, in several previous

columns. We now salute the company for living up to its rather populist slogans, which

include "Power to the People." ActiveState is attempting to apply its profit-making formula

not just to Perl, where it started, but to a range of technologies based on open source,

including PHP, Python, Tcl, and XSLT. The latest step is the creation of an ActiveState

Programmer Network (ASPN) modeled on the Microsoft Developer Network (MSDN). This is an

intriguing move, because ActiveState's portfolio of languages is united more by intellectual

character than marketing convenience. Customers almost always pay for expertise in one

language at a time; they're indifferent to deeper abstractions. It'll be interesting to see

how successfully the company presents "scripting" as the common base underneath all its

operations and offerings.

Resources

» posted by ITworld staff

Unix Insider

I like it!
Post a comment
The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
Resources
White Paper

Symantec Backup Exec 12 and Backup Exec System Recovery 8 deliver industry leading Windows data protection and system recovery. Download this whitepaper to find out the top reasons to upgrade and how to get continuous data protection and complete system recovery.

Webcast

Data and system loss — from a hard drive failure, malicious attack, natural disaster, or simple human error — can happen anytime. Don’t leave your business vulnerable. Make sure you have a secure recovery strategy in place. Symantec's latest backup and system recovery technology can efficiently restore critical applications, individual emails and documents and even restore your entire system in minutes in the event of a loss.

White Paper

Businesses face a growing challenge to ensure that the IT environment is properly protected. Backup Exec 12 integrates with other applications in the Symantec family of products, to complement your current data protection strategy, keep your data securely backed up and make it recoverable when you need it most.

Free stuff
Featured Sponsor

AISO founders envisioned a Web hosting company that was environmentally friendly. While the company employed energy-efficient innovations like solar panels, its infrastructure produced unacceptable power and cooling requirements. Find out how AISO leveraged AMD technology to overcome their challenge in this case study white paper.

In this whitepaper, Scalar explores the opportunity to change the landscape with respect to mission critical databases built around Oracle. Leveraging technologies such as Linux, high-end commodity processing power and Oracle RAC technology to architect, design, build and maintain database infrastructure that delivers maximum availability, reliability and performance at a fraction of traditional cost.

On a typical day, weather.com, the Web site for The Weather Channel in Atlanta, serves up between 15 million and 20 million page views. But in September 2004, when back-to-back hurricanes ransacked Florida, the peak traffic on one day more than tripled: over 70 million page views by more than 7 million unique visitors. Read the full success story now.

More Resources