|
|
|
||||||||||||||||
|
|||||||||||||||||
| Introduction to Java Servers |
Welcome to the Java Skyline Learning Resource Center. From here, you can go everywhere... For easy navigation (and in case you didn't realize those grey words up there like "Java" are actually links), here are the Java Server core technology sections: If there was a FAQ for Java Skyline, this would be it. Instead, it's called "Introduction." I hope that's OK. If you can't find the tutorial you were looking for in the Core Technology sections above, these learning centers each provide a wealth of information on aspects of Java and Java servers. |
|
|
||||||||||||||||||||||||||
|
The Keys to the Kingdom: The main purpose of Java Skyline is to make it easy and fun for you to explore and learn Java server technology: What is Java server technology?
What can it do?
Who makes it? How can I get it?
How can I learn it?
Where can I find advanced examples and development tools to take me to the next level?
What are the industry trends and what's happenning right now!
|
Learning contents
|
|||||||||||||||||||||||||
|
Java Server Learning Centers |
||||||||||||||||||||||||||||||||||
| If you can't find the tutorial you were looking for in the Core Technology sections above, these learning centers each provide a wealth of information on aspects of Java and Java servers. | ||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||
|
|||||||||||||||||
|
Learning the Java language |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| What is Java? and what makes it fun |
Java is an object oriented language and of course the basis of Java servers - but it's more than that. Java is fun and learning it can be fun too. Below are some actual fun-filled learning centers where you'll find Java at the center of the fun... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The Java 2 Language |
||||||||||
| Java as a second language: Java 2 Collections "Write it Once - Run it on Anything!" Package: java.util |
It's a good thing they call it Java 2, because for many of us, Java is a Second Language. Unless you just
started programming yesterday, you've probably already learned to use Visual Basic, or C/C++, or Perl, or xBase
before you tackled Java. In fact, Java 2, the real Java language is just now being completed. Java 2 provides highly generic frameworks for collections that include iterators. With these tools you can both reduce code and make your programs highly adaptable. Let the world be your oyster... Glen McClusky's article is well worth reading, and would be worth "the price of admission," if joining the JDC actually cost you anything (which it doesn't). After you read Glen's article, I think you'll agree that Collections sound exciting. For a good demonstration, In JavaPro's February edition 1999, Claude Duguay explains how to use collections to create a Sort Factory. One exciting thing about Java is that you - yes you can extend the language and make it better. In fact, that's how a lot of Java features came into existence. Many people inspired by other languages they have used, have taken it upon themselves to provide similar features for Java. Jeff Langr is one of those people. Here's an article where Jeff, inspired by Smalltalk, extends the ArrayList collection with a "forEachDo" method so that it automatically iterates for you. |
From Sun:
From JavaWorld: The battle of the container frameworks: which should you use? by Laurence Vanhelsuwé From JavaPro A SortFactory for the Collections API by Claude Duguay, Feb 1999. From Doug Lea SUNY Oswego: Overview of the collections Package From Jeff Langr (Gamelan): Extending the Java 2 Collections framework, Jul 2000. |
||||||||
| Java as a second language: Threads: The computer may be the network -- but threads are what make the net really work Package: java.lang Interface: Runnable |
Threads are essential to making a server-side Java class useful. Many users
will be using the your servlet, your RMI server, or other component at the same time. In server-side applications
code, you can generally get by with a "one-per-user" session-related class to store dynamic information.
Tutorial: For some thread-safe examples, take a look at Putting Threads to Work by Luke Andrew Cassady-Dorion in Java Pro October 1998. (If you have a premier subscription, go here). The May 1999 JavaWorld Q&A discusses issues on thread safety. But for general purpose operating system-like or database-like (non-applications) code you may need to protect yourself from data collisions, deadlocks and thread-race conditions. To do so, it's recommended you serialize access to certain objects and blocks of code using locking signals called semaphores. Fortunately, the Java language provides a number of thread and concurrency features. Java helps you to construct semaphores provides by providing synchronization which is itself is a binary semaphore built into the JVM. The May 1999 JavaWorld Q&A presents a brief discussion of thread safety, thread racing, and synchronization. Highly Recommended: Allen Holub has published a (so-far) 8 part series in JavaWorld on the subject of threads. Source code is included at his web site. Highly Recommended: You may also want to get a copy of Concurrent Programming: The Java Programming Language by Professor Stephen J. Hartley, from Drexel University, . More information about the book, code examples, and course work materials from the book are available on-line (also see the book for additional information). Highly Recommended: Doug Lea provides an on-line summary of Java concurrency features, and numerous examples as excerpts from his book Concurrent Programming in Java. He also provides a Java library called util.concurrent. The library, updated for Java 2, contains several kinds of semaphores. Doug's book takes the approach of integrating concurrent programming with design patterns. He also presents a series of concurrent design patterns. It's enough to make a system architect drool. |
From Allen Holub: Allen Holub's Javaworld Articles From JavaWorld: May 1999 Q &A: Thread Safety by Random Walk Computing From Stephen J. Hartley at Drexel:
From Doug Lea at SUNY Oswego:
|
||||||||
| Java as a Second Language: Reflections dynamic programming solutions Packages: java.lang.reflect |
With the introduction of JDK 1.1, the Java language gained the reflection API and has developed important dynamic
capabilities. This handy tip from JavaWorld explains how you can implement something like dynamic messaging using reflection API. And another article in JavaWorld explains dynamic configuration. |
From JavaWorld:
|
||||||||
| ClassLoader Package: java.lang.ClassLoader From JavaWorld: The basics of Java class loaders, and SimpleClassLoader by Chuck McManis, Oct 1996 |
||||||||||
|
Learn: CORBA |
||||
| Components: Java - CORBA Packages: org.omg.CORBA (and other org.omg packages listed on the Java 2 Platform API page) See also: Java Skyline Enterprise Resources |
Highly Recommended: One
great starting place for learning Java related component technology is the book Client/Server Programming with Java and CORBA 2nd Ed, by Robert Orfali and Dan Harkey. Hardly limited to CORBA, the book additionally discusses
and provides easy to follow training materials for RMI, DCOM, JDBC, and EJB. Information about the book can be
found at http://www.corbajava.engr.sjsu.edu. Overview: CORBA (Common Object Request Broker) connects software components across platform through a neutral interface. The interfaces themselves are called Object Request Brokers (ORBs). The ORB takes a message from any application that can connect to it and networks it to another application. To use CORBA, you must define an interface for the applications that will connect to it. To do this, you use the Interface Definition Language (IDL). CORBA is one of the major technologies supported by the Object Management Group (OMG). Netscape made CORBA an integral part of their Netscape Enterprise Server (NES). They provide an interesting overview.. Tutorials: Sun also provides an example in its IDL Tutorial section of the Java Tutorial. To get a flavor for CORBA, you will also want to visit OMG's CORBA for Beginners site which contains a list of books and other reference material. Debugging: This Java Tip article by Charles LeRose in Java World explains how to dynamically load testing code and test CORBA servers in their normal operating environment. |
From San Jose State: New University Degree Program by
Robert Orfali and Dan Harkey From Sun: IDL by Jim Inscore From Object Management Group: CORBA for Beginners From Netscape: CORBA: Catching the next wave, June 1997 From JavaWorld: Java Tip 73: Test your Java/CORBA server from the inside by Charles LeRose, May 1999 |
||