When Novell, a global leader in networking, sought to implement powerful new Java-centric object request broker (ORB) technology in its products, the company forged a strategic partnership with ObjectSpace, Inc., an emerging leader in the distributed computing market. ObjectSpace's Voyager product family is 100% Pure Java and standards-neutral, and enables CORBA and RMI objects to communicate transparently across the wire.
The universal-ORB decision addressed a dilemma the industry was facing, and Novell wanted to give the development community an easy way to extend network functionality. This meant embedding an ORB in Novell products. However, most ORBs in use today are based on various incompatible standards.
These incompatibilities spawn difficult challenges for developers and network users. An object enabled for remote messaging using the CORBA standard, for example, can't readily communicate by conventional means with objects enabled for RMI or DCOM. ORB incompatibilities can be resolved through a combination of bridge software and manual programming. However, Novell rejected this alternative in an effort to free developers from complexity and extra labor rather than burden them.
Speed Development, Simplify Design
Novell needed a simpler, more straightforward solution --a universal ORB, with components that could communicate transparently with any client object and with clients that could interact with any server. Such an ORB could streamline application design, shorten development cycles, reduce costs and make applications easier to maintain and modify.
As a result, Novell and ObjectSpace are partnering to bring universal ORB functionality to networking customers, combining it with Java portability and the ability of directories - the heart of next-generation networking - to make networks easier to use and manage.
Together, the universal ORB, Java and advanced directories, such as Novell Directory Services (NDS), will enable companies to make people more productive and business operations more efficient. At the same time it will help companies to readily transform emerging opportunities, such as e-commerce, into competitive advantages.
To accomplish this, Novell is working with these technologies to achieve four key objectives:
We believe that Java and a universal ORB are absolute requirements for efficiently achieving these objectives in today's real-world networking environments.
- Protect customers' investments in Novell platforms by extending the service life of its installed base into future heterogeneous environments.
- Tightly integrate legacy networks and data infrastructures with next-generation networks based on distributed object technology.
- Embrace telephony, JINI, Universal Plug and Play (UPP), nontraditional networks and other technologies through dynamic network support.
- Integrate multiple infrastructures and transparently bring the result into people's lives by providing users with stable, secure and mobile identities on the network.
Generate Power at Runtime
To be universal, an ORB must provide a neutral meeting ground for multiple standards. Voyager holds a critical advantage in this regard. Java has dynamic capabilities that can enable objects to be extended at runtime, providing vast architectural flexibility and power. However, these capabilities are implicit only in the Java specification and are not implemented in the JDK.
A universal ORB enhances a protocol or platform- specific ORBs by allowing servers and clients to interoperate with other protocols, platforms and programming models without requiring an extensive retooling and recoding of the existing applications and services. Voyager leverages Java's dynamic capabilities, for instance, by transparently adding to any remote object at runtime all the "plumbing" it needs - stubs, skeletons, helper classes - to generate CORBA bindings. And by generating proxies transparently, also at runtime, the ORB allows components to interact across the wire without being aware that they are communicating remotely. Source code isn't required to accomplish this "magic" - remote messaging is enabled even when source has been lost.
Preserve Investments, Minimize Change
NDS is key to Novell's Java-centric distributed environment. "Write once, run anywhere" portability makes Java the platform of choice because it lets Novell, their customers and industry partners rapidly develop network services and applications for heterogeneous, Internet-enabled environments.
Combining the use of NDS with Java and Voyager will help developers at customer companies integrate directory services with enterprise databases and applications. The ORB will transparently provide the object communications plumbing, thereby saving time, effort and cost.
There are far-reaching implications. One of the biggest challenges facing Novell's customers is how to efficiently integrate static, legacy data structures - "information silos" - with next-generation dynamic environments.
The goal is to use stored and real-time data with equal facility. This is important because companies have been amassing vast data assets in silos and other static inflexible structures for some 40 years, and continue to do so. Static code and data structures contain much of the logic and information that run businesses today, including e-commerce. They sit on disk in static structures - or are constrained by static bindings to network protocols, security mechanisms and platform-dependent APIs.
Competitive advantage depends on dynamically leveraging this data by, for example, enabling Web sites to customize themselves on the fly to individual visitors, and enterprise networks similarly tailoring themselves to individual users.
However, static and dynamic systems are based on largely incompatible programming paradigms. Development teams can get them to interwork, but not easily. And when business or technology changes occur, these interfaces must be manually reworked, a relatively slow, costly process, making the whole enterprise less competitive.
Directory services combined with a universal ORB and related technologies let static and dynamic systems seamlessly interwork with little development effort. Programmers using Voyager readily create objects or object references to static enterprise records. They make these records look and behave like real, dynamic data objects that can be directory-programmable from Java, CORBA and, soon, DCOM. The directory provides the stable identities for all the principals involved, and insinuates them into the existing management fabric of the enterprise.
As a result, it becomes remarkably easy to "inject life" into static data structures and code by transforming them into distributed objects that can be used dynamically. Further, dynamic capabilities open the entire enterprise code base to virtually any new protocol or standard. This enables companies to quickly gain new technology advantages while preserving IT investments and minimizing change.
Raise IT Productivity
A pure Java universal ORB will raise developer productivity at Novell customer sites in numerous ways. It's already making their own development team more productive. Dynamic capabilities plus a clean user interface are enabling them to rapidly make sophisticated functionality available to their customers through directory services and other Novell products while controlling their development costs.
The company gains productivity advantages several ways:
Other capabilities, such as Dynamic Aggregation, an ObjectSpace exclusive, let Novell extend objects' characteristics and behavior on the fly.
- They instantly remote-enable any Java class without modification by generating proxies at runtime. As a result, their developers don't have to waste time and effort on stubs or helper classes.
- They use regular Java syntax to build remote objects, invoke messaging, propagate objects around the network and perform virtually all other development tasks.
- Their programmers have full native CORBA support for IDL, IIOP, bidirectional IDL/Java conversions and key RMI interfaces. All that is required is writing just a single line of code to dynamically CORBA-enable Java objects at runtime without modification.
Achieve Rapid Change
Novell's choice of ORB offers a multitude of advantages in addition to universality. Mobile agent technology embedded in the ORB enables the network directory to become even more programmable. Because the directory is the repository of user identifications and enterprise resources, programmability gives customers another powerful tool for achieving rapid change at low cost - a key competitive advantage.
From Novell's standpoint, the realistic way to achieve programmability today at the directory level is to take whatever representations of humans, products and data exist on the corporate backbone and wrap them with programmable objects.
How might this work in a production setting? Suppose an IT administrator wants to distribute a custom spreadsheet component or any other piece of code. The code must go to heterogeneous clients across the enterprise. The administrator uses the directory's console to make choices about deploying this component, then the ORB transparently implements the choices by encapsulating the component in a wrapper that is actually a mobile agent.
This "smart wrapper" knows what it has to do and how to do it. It knows how to interact with the directory, navigate the network and deliver the component to designated clients.
The wrapper replicates itself and its cargo across the network to servers for deployment as specified by the administrator. The distributed component might be a Windows executable, a Java class, an ActiveX component - just about anything. It could be specialized code for a handful of users or a software update going out to thousands of clients across disparate systems enterprise-wide.
Throughout, the infrastructure remains transparent while giving the administrator tremendous control, flexibility and productivity. The administrator simply drops the code on a server, or in a directory container, and points to where it should go. The directory and Voyager do the rest.
The simplest, most immediate instance of this scenario takes place within the server domain, which has its own security safeguards. The power kicks in when servers, not humans, generate the dynamic code.
Capabilities like these let the network - directories, network servers and other services - automatically distribute code without requiring developers to target any particular networking infrastructure or protocol. IT productivity rises because developers are able to focus on solving specific business problems and deliver interfaces to the resulting logic. Administrators running the network are then free to focus on distributing and "networking" the objects these developers create.
Enhance Data Value, Simplify Administration
"Smart wrappers" and other ORB capabilities will make enterprise systems more robust and useful while reducing IT management costs.
Making Data More Useful
E-commerce is driving the need for Web sites that customize themselves to the individual's unique needs and interests. ORB capabilities will make it easier for networking customers to use their legacy databases to populate Web pages with individualized information. The directory will provide the personalization; Voyager will deliver database records in real time by dynamically wrapping them on the fly. This in turn will make it easier and less costly to create sites that "sell" more effectively and enrich companies' relationships with their customers.
Simplifying Systems Administration
When the network management service needs to manage a workstation, IT professionals won't have to preinstall a network management agent on that client. Instead, the service will send a mobile object that knows how to get there and, upon arrival, "unpack," install and activate the service. The target device could be a PDA or cell phone, enabling the device to readily consume network services such as accessing corporate address books, Web gateways and e-mail. Lite Client, a recent breakthrough in the Voyager ORB technology, lets developers remote-enable applets that leverage dynamic proxy generation and other advanced capabilities, while adding only a 14 K jar file to the footprint. The directory will provide the pervasive management "dock" for these agents.
Making Networks More Flexible
When a console requires an alternative means of controlling a node on the network, such as when using ActiveX components for accessing network services, the ORB facilitates it by providing the service locally or delivering it remotely. This allows unequaled network-level diversity, opening up heterogeneous networks to all devices on the network.
Connect Globally and Personally
In the very near term, Novell believes, networks will dynamically interact to whatever degree is permitted by their security features and user-defined settings. Using directory-based credentials, a user will be able to send out delegates as mobile agents to act on their behalf. These agents will not only roam the user's own enterprise but will collaborate with networks worldwide.
Universal ORB technology has the unique ability to easily enable mobile agents and other capabilities, making it a perfect fit for achieving dynamic network flexibility Ñ not just across the enterprise, but on a truly global scale.
Novell strategists also believe JINI will quickly become another important player in networking scenarios. JINI's auction-style capabilities will help them design more efficient workgroup networks with enormous flexibility.
ObjectSpace has already announced Voyager support for JINI. Combining directory services, Java, JINI and the universal ORB will provide an unprecedented "critical mass" of technology, propelling networking into a new, more productive era. It will give Novell and their customers even greater freedom to build networks that connect more globally than ever before - and also more personally, as these networks increasingly customize themselves to individual user needs.
About the Author
Art Nevarez is chief architect for Novell's Java Technology Group, which produces the JVM, the NetWare SDK and a number of API- and Java-related technologies. A member of several Novell policy-generating bodies, Art holds a BS in computer science from Brigham Young University. You can e-mail him at [email protected]