| Lesson 2
| Corba Programming Prerequisites
| Verify that you have the right background for this course.
Corba Programming Prerequisites for Java and Corba
It is imperative that you know Java before you take this course. Alternatively, you could have equivalent experience. You should have a good understanding of how to do all of the following:
- Implement Java classes, objects, and methods
- Organize and manage class hierarchies and frameworks
- Use Java data types, expressions, and control flow structures
- Code, compile, and test Java applications (classes with a
Prerequisites for stuyding CORBA Programming in Java
What are the prerequisites for stuyding CORBA Programming in Java?
Before starting with CORBA Programming in Java, students need to have a solid understanding of a few foundational topics. These prerequisites include:
- Java Programming: A comprehensive understanding of Java is crucial, including familiarity with object-oriented programming (OOP) concepts such as classes, objects, inheritance, polymorphism, and encapsulation. Knowledge of Java's exception handling, interfaces, and packages is also important.
- Understanding of Distributed Systems: A basic knowledge of distributed systems and concepts like client-server architecture, remote procedure calls (RPCs), and issues related to distributed computing (like latency, concurrency, or security) is necessary to understand the problems that CORBA aims to solve.
- Networking Basics: An understanding of basic networking concepts such as TCP/IP, sockets, ports, and the client-server model is useful for understanding the communication aspect of CORBA systems.
- Multi-threading: Given that CORBA applications often involve concurrent processing, having a grasp on multi-threading concepts like threads, synchronization, and thread safety is valuable.
- Middleware Technologies: While not a strict prerequisite, knowledge of other middleware technologies such as RMI (Remote Method Invocation) or web services could provide helpful context when learning CORBA.
- Basic Database Concepts: As many CORBA applications involve some form of data persistence, understanding fundamental database concepts like SQL, transactions, and connection pooling can be beneficial.
- UML (Unified Modeling Language): UML can be helpful for visualizing and designing the architecture of your CORBA systems, so some familiarity with this language may be useful.
Having a firm grasp of these prerequisites will provide a strong foundation for studying CORBA programming in Java, enabling students to focus on the unique aspects and capabilities of CORBA without getting caught up in the underlying basics.
Although we will spend quite a bit of time clarifying CORBA terms such as client, server, ORB, adapter, and the like, this is not a good starting point if you are not sure what CORBA is. Our CORBA Fundamentals course will give you the background you require. Before you start this course, you should be able to write the IDL for an interface, for example.
In the next lesson, what you need to take this course will be discussed.
Contributing Public Research
In essence, the early development years were entirely funded by public research. JacORB did receive some sponsoring over the years, but not as much as would have been desirable. A few development tasks that would otherwise not have been possible could be payed for, but more would have been possible.
If you feel that returning some of the value created by the use of Open Source software in your company is a wise investment in the future of that the software (maintenance, quality improvements, further development) in the future, then you should contact us about donations.
Buying hardware and sending it to us is one option. It is also possible to directly donate money to the JacORB project itself. If approval for outright donations is difficult to obtain at your company, we can send you an invoice for, e.g., CORBA consulting.
For more information, contact the current maintainer listed at Jacorb Authors
If you want to contribute to the development of the software directly, you should do the following:
- download JacORB and run the software to gain some first-hand expertise first
- read this document and other sources of CORBA documentation, such as [?], and the OMG's set of specifications (CORBA spec., IDL/Java language mapping)
- start reading the code
- subscribe to the jacorb-developer mailing list to share your expertise
- contact us to get subscribed to the core team's mailing list and send pull requests to the GIT repository.
- read the coding guide lines
- contribute code and test cases