Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

CORBA Junction: Laws and liberties

Why choose CORBA and Java technology?

Dave Bartlett (dbartlett@pobox.com)Consultant, author, and lecturer
Residing in Berwyn, Pennsylvania, Dave Bartlett is a consultant and freelance author and lecturer. He is the author of Hands-On CORBA with Java , a 5-day course presented via public sessions or in-house to organizations. Presently, Dave is working to turn the course material into a book entitled Thinking in CORBA with Java , which will be free to download as it evolves. Dave has Masters degrees in Engineering and Business from Penn State. He can be reached at dbartlett@pobox.com.

Summary:  Welcome to this regular column on Java and CORBA technology. This first installment will give you an overview of the two and will help you determine how best to make them work for you. Future columns will offer hands-on instruction and code for Java and CORBA programming.

Date:  01 Jun 2000
Level:  Introductory
Also available in:   Japanese

Activity:  3678 views
Comments:  

In 1855, 26-year-old Joshua Chamberlain, a rhetoric professor at Bowdoin College, gave a lecture posing the relationship between law and liberty, and the hazards of imbalance between the two. Law without liberty is tyranny, and liberty without law is chaos.

The management of a corporate information-systems department can foster excess law or liberty. An example of overextended laws would be the managerial directive to work with only one vendor, thereby exposing your systems to problems of extension or integration with potential corporate partners. With too many liberties, individuals or development groups are left to their own devices to pick technology that will again become difficult to extend or integrate if these technical gurus move on to "greener" stock options. One could be subject to the whims of a business environment.

Striving for environmental balance

A variety of environmental factors determines the laws in which our systems must exist. Systems existing within a business environment should have enough longevity to bring value to the company or customers. A system that consistently creates long-term value for an organization must deal with constant change. Mergers, acquisitions, new management, and market forces alter the environment of systems as well as the needs of the users who fulfill business processes through system use. Change is a constant and must be added to the evaluation equation. Certainly, we can't predict the future, but we can look at trends and try to design our systems so that lots of potential changes or system extensions can be accommodated with as little impact to the organization as possible.

To make proper decisions and evaluations, we need to understand the laws that govern the environment and the liberties our applications need to have within that environment. The most important law to understand is that our systems live within evolving organizations, whether business, governmental, or educational, and it is business issues that dominate the technical issues. Many architecture and platform evaluations have missed the main points. Often they entail standing two or more technologies side by side and comparing technical feature lists. Upon completion, most participants come to agreement because they are sick of dealing with the loudest, most adamant and powerful faction within the evaluation group. Obviously, this is not the most effective method for selection.


Determining key business issues

Translating business issues to the practical evaluation of organizational needs means that major consideration should be given to:

  • The technical skill set within the organization
  • A development environment that does not constrict programmers
  • Run-time environments that do not impose restrictions on applications
  • Licensing and legal issues of the run-time and development environments (the law of laws, so to speak ;-)
  • Access to trained developers
  • Access to affordable and knowledgeable consulting services
  • Impact on organization's customers
  • Impact on vendor or technology partnerships
  • Organizational culture and politics
  • Organization's upper management alliances
  • Whether the "big boys" are talking acquisition or merger
  • Who is sitting on the Board

These business issues will generally have more weight than, say, the thread-per-session versus. thread-per-request concurrency models. You can go into your boss's office and throw around enough tech talk to fill a software conference, but unless the needs of the organization are addressed, your points will sound hollow.


CORBA up close

Let's now pit CORBA against these issues. CORBA is an open industry standard that is backed by over 600 companies working with the Object Management Group (OMG). These companies include hardware and software companies, telecommunication companies, financial companies, universities, medical institutions, and government agencies. The OMG does not implement their own specifications; they rely on vendor implementations that help target competition toward features, performance, and price as well as encouraging quality. The OMG is a vibrant and active organization in its own right with many of its officers writing articles and speaking at numerous conferences. Keep your eyes open and you will see they are always monitoring the changes that will affect their organization as well as yours.

With that said, CORBA provides a high degree of interoperability. This ensures that distributed objects built on top of different CORBA products can communicate with each other. Large organizations, therefore, don't need to mandate a single CORBA product for all development. The OMG has worked diligently to provide a greater level of portability by tightening up the CORBA specification. Be aware that portability of source code will remain elusive as vendors differentiate their products and developers push the limits. It should be stated that portability is substantially better than in previous versions and should continue to get better as the Internet Interoperability Protocol (IIOP) continues to develop a strong following and many alliances.

The discussion will soon turn toward Java technology, but first we should look at languages as a whole. A certain law of information systems is uncertainty itself. Java programming language might be the language of the day, but when will the next great language eclipse it? You know that someone is banging out a better language in their garage at this very moment. Therefore, CORBA's language independence will help you stay within this law of the information-systems environment for the long term. CORBA supports a classic and solid object model that will keep marching into the future. It has held up against the latest languages and continues to be extended to terrific new languages like Python.


Java programming language and others

Another certainty we can apply to this environment is that it will be regrettably complex. This is where Java technology comes in. It'll fit nicely because its simplicity will help to liberate development from getting bogged down in the underlying complexity. In many areas the Java language hides some of the fundamental details, but, overall, Java technology streamlines the entire process from analysis and design through execution.

It is crucial to be able to express your system and design patterns as uniformly and unambiguously as possible during analysis and design. The Unified Modeling Language (UML) has become the de facto language for expressing the design of your system. The development of UML is a great story in collaboration. UML also has an interesting path to standardization. The path UML took toward standardization went right through the OMG. The OMG recognized the need for a standard modeling language that would express distributed object models across languages and environments. The Java object model overlays the CORBA object model nearly perfectly, allowing your UML designs to be easily mapped to an implementation, and UML diagrams mapped to Interface Definition Language (IDL)-to-Java language implementations.

The objects that come out of the analysis and design phase will have interfaces that define how other components will call into your services. Those interfaces now need to be translated into an implementation language. Java technology again makes this easy. The IDL-to-Java language mapping is straightforward. The Java language and IDL each provide an interface keyword that helps to show the strong relationship between the data types expressed in each language. Java technology provides a reverse mapping from a Java interface to IDL. No matter which direction you choose, you should have your interfaces expressed in IDL; this affords you the power of all the other language mappings provided for IDL, and the language independence necessary for greater freedom in the future.


The case for architecture

In addition to the design, the architectural structure of the system is important. Many system architecture issues deal with the inclusion of existing systems: databases, legacy systems, available objects, or applications that might be written in other languages. The Java and CORBA languages enable, rather than disable, the ability to bring these powerful systems to a greater audience of users. This is liberating -- many systems might have been around for years, proving their value. In fact, after all the pre-Y2K efforts to bring these systems into the new century, they might be around for years to come. Because of its compiled byte-code structure, the Java language will allow you to create portable objects and distribute them easily, while CORBA lets you connect and integrate them with the rest of your computing environment.

I do not mean to use Java and CORBA technology to the exclusion of the Java language's Remote Method Invocation, Enterprise JavaBeans technology, Microsoft's DCOM, or even DCE. The most liberating aspect of the Java and CORBA languages is that the OMG has worked overtime to ensure that CORBA objects can interact with a plethora of objects. Of course, some of these connections will be more difficult and might turn out to be fragile. Keep in mind that, many times, these types of connections have been made for architectural, cost, time, or business reasons.


In conclusion

Joshua Chamberlain, armed with his understanding of law and liberty, entered the Union Army seven years after his presentation at Bowdoin College. He served with such distinction and proved such an effective leader that he was selected by General Grant to accept the formal surrender of the Army of Northern Virginia. His act of honoring the surrendering soldiers with a respectful marching salute was the first stone set in a new foundation to restore the fractured and chaotic Federal system ravaged by four years of civil war. Understanding the balance of laws and liberties gives participants in any type of organization a clear picture of the interplay of systems they are working with and the chaos to be avoided.

Interconnection and communication in a heterogeneous system environment should be the goals. The laws we choose to work with should allow the freedom to use existing systems along with new systems to solve organizational needs. These laws should provide the greatest flexibility when changes are forced upon an organization in this shifting world. These laws provide a sphere of operations that limit our liberties such that it makes it difficult to fall into a state of random development.

Thank you for bearing with me. I am not a rhetoric professor, but a programmer, so in the next installment we will start with a simple example -- implementing a CORBA client and server using Java technology.


Resources

About the author

Residing in Berwyn, Pennsylvania, Dave Bartlett is a consultant and freelance author and lecturer. He is the author of Hands-On CORBA with Java , a 5-day course presented via public sessions or in-house to organizations. Presently, Dave is working to turn the course material into a book entitled Thinking in CORBA with Java , which will be free to download as it evolves. Dave has Masters degrees in Engineering and Business from Penn State. He can be reached at dbartlett@pobox.com.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=SOA and Web services, Java technology
ArticleID=11427
ArticleTitle=CORBA Junction: Laws and liberties
publish-date=06012000
author1-email=dbartlett@pobox.com
author1-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.

Special offers