Welcome!

You will be redirected in 30 seconds or close now.

ColdFusion Authors: Yakov Fain, Jeremy Geelan, Maureen O'Gara, Nancy Y. Nee, Tad Anderson

Related Topics: ColdFusion

ColdFusion: Article

Welcome to the Wonderful World of Java: A Training Review

Welcome to the Wonderful World of Java: A Training Review

By the end of the course, I had a good grasp of the various parts of the Java language, a better understanding of object-oriented programming, and a great appreciation for how powerful Java can be.

J2EE, Java, EJBs, JavaBeans, JSP... . The list of Java-related technologies can be mind-boggling. What's a ColdFusion developer to do? We know Java is important. Macromedia has built ColdFusion MX on a J2EE (Java 2 Enterprise Edition) platform, but, does that mean we all need to run out and learn Java? How about JSP? JRun? How will we use it in our day-to-day work? Will we use it and, if so, what flavor? Does a ColdFusion developer have the skills to learn this material?

These were the questions I was hoping to get answered as I headed for a series of two Macromedia-approved courses: "Fast Track to JSP" and "Java for Web Developers." Class offerings were difficult to come by, and my first scheduled class, in Washington, D.C., was canceled due to low enrollment. So, I was rerouted to the Fig Leaf training facilities at the Piedmont Center in Atlanta, Georgia.

These classes were sparsely attended, too, with only four students in each class, but this allowed for plenty of one-on-one time with the instructor, Alex Hearnz. Alex is an outside consultant who regularly teaches Java-related courses for Macromedia-certified companies as well as for other J2EE products, such as IBM's WebSphere.

The format of both classes would be familiar to anyone who's taken the "Fast Track to ColdFusion" class. The courses were divided into lectures, walkthroughs, and lab time; a student workbook filled with examples and instructions was provided. For an IDE, we used Macromedia's JRun Studio - familiar territory for a ColdFusion Studio user. (Although with the introduction of Dreamweaver MX and JRun 4.0, this will probably change.) And, although JRun 4.0 had already been released, we were still using the previous version.

"The Fast Track to JSP" class started the week. It was broken down into nine units:

  1. Introduction
  2. Setting up the Environment
  3. Introducing JSPs
  4. Reusing Code
  5. Dynamically Generating Content
  6. Building a Drill-Down Interface
  7. Inserting Data
  8. Application Partitioning Using JavaBeans
  9. Session Management
Brushing Up on the Basics
For the Java novice, simply getting acquainted with all of the acronyms can be a challenge, and much of the first day was spent acquainting students with the terminology and the development environment. We also covered basic Web development architecture topics, such as the benefits of using dynamic versus static pages.

Some of the topics covered on the first day were things that I would have expected anyone coming to the class to already understand, based on the published prerequisites. Others, such as the process of establishing a database connection in the JRun server administrator, were specific and detailed enough to really catch my attention.

Once we got past the really basic stuff, we started focusing on the syntax of JSPs. JSP stands for JavaServer Pages, which are designed to make working with other Java objects easier. ColdFusion developers will find the syntax familiar. There is a series of tags that can be used to perform common functions. For example the following snippet of code works much like the familiar <cflocation> tag:

<jsp:forward page="nextpage.jsp"/>

Notice, however, that unlike ColdFusion, single line tags must still be closed in JSP, by using a trailing "/" such as you would do in XML. And JSP, along with all Java technologies, is case-sensitive. More than once we students cried, "Ugh! Stupid capital letter!"

Throughout the two days, we used our newfound skills to build a fictional online extreme sports company. Many of the common tasks Web developers must perform were covered: building a form and action page, querying a database and returning the results of that query back to the browser, and handling simple session state-management. But it was a cursory look at each of the topics.

Most experienced CF developers would be left with questions. Some of mine dealt with the same topics that are covered in the CF forums and discussion groups on a regular basis. For example, when outputting the results of a query, how do you group to a certain column? Unfortunately, the instructor was unable to provide an answer to this and several other questions.

At the end of the JSP class, I felt somewhat disappointed. I wanted to be able to replicate CF in JSP. I was hoping it might be that easy. But, I learned that JSP by itself is limited. To really harness the power of Java, learning how to write actual Java code is necessary. Luckily I was staying for the second class, "Java for Web Developers."

Exploring the Power of Java
For me, this was clearly the better of the two classes. The instructor seemed much more confident in his knowledge of pure Java. He seemed truly excited to seek answers to challenging questions. Also, we'd already gone through most of the stuff that would be redundant to experienced CF developers. So, we were ready to dive right in.

These three days were divided into 12 units:

  1. Java Overview and Positioning
  2. JavaServer Pages
  3. Java Language Basics
  4. Object-Oriented Programming
  5. Object-Oriented Programming in Java
  6. Developing and Using JavaBeans Components
  7. Inheritance
  8. Handling Exceptions
  9. Working with Interfaces
  10. Accessing the Database Using JDBC
  11. Advanced Data Manipulation
  12. Application Partitioning
After spending a little bit of time convincing us of the merits of Java and setting up a few necessary system variables, we got to the good stuff - exploring the almost infinite possibilities of Java. Like most Java classes, we began by using the command-line Java compiler utility to compile and run a simple "Hello World"-type Java class. But, we quickly moved on to using JRun Studio for all our development and compilation. JRun studio makes the process of compiling quick and painless.

One exercise was building an online loan service for the "Acme Credit Company." Once more, we covered many processes with which CF developers would be familiar. None is as easy as what we do in CF. For example, Listing 1 shows a simple CF example of querying a database and outputting that query. Listing 2 shows the corresponding code necessary to do the same thing in Java. At first glance, this looks awfully scary, and you might wonder why we'd want to bother with so much code. But, as we spent more time learning about theory, particularly object-oriented programming theory, it became clear that Java could accomplish some amazing things, such as true three-tiered applications.

Simply put, a three-tiered application is one in which database logic is separate from business logic, which is also separate from presentation logic. The beauty of a three-tiered application is that you can change the presentation layer for different environments without affecting the business or database layer. It's in this area that Java really becomes powerful.

Of course, creating a three-tiered application requires more thought and planning than "whipping out" a CF application in a day or two. Consequently, we spent time in the class learning a little about UML, or the Universal Modeling Language, and building UML diagrams of our Java components. This process is a little bit like creating an ER (Entity Relationship) diagram for a database, but because Java is object-oriented, you create UML objects that can represent classes or JavaBeans.

We also spent considerable time in this class in the online java docs, available at Sun's site at http://java.sun.com/j2se/1.4/docs/api/index.html, or on your local hard drive after downloading the Java Development Kit. If you learn Java, you will become very familiar with these pages. In three days I developed something of a love-hate relationship with them. They're wonderful because you know that everything you need to know is there. They're terrible because somehow you have to remember which package or class has the information you want.

Overall, a Good Experience
By the end of the course, I had a good grasp of the various parts of the Java language, a better understanding of object-oriented programming, and a great appreciation for how powerful Java can be. Did I run right back to the office on Monday and starting writing Java code or JavaServer Pages? Well, no. (We don't have a J2EE app server, and we haven't upgraded to CFMX yet.) Will I use it when given the chance? You bet.

All in all, I would recommend both classes to others interested in developing a better understanding of Java and JSP. While the JSP class was a bit disappointing, I still learned some valuable information, and enjoyed the fact that I could be introduced to JSP in a familiar environment. The "Java for Web Developers" course completely met my expectations with one caveat - the course doesn't take the full three days, so if you're flying in like I did, plan accordingly.

One final note, the instructor mentioned that the future of both courses is in jeopardy, due to low interest. So, if you want to take them, call your Macromedia-certified training facility today and request they be put on the schedule.

More Stories By Deanna Schneider

Deanna Schneider has worked as an interactive media developer for the University of Wisconsin Cooperative Extension since October 1999. Although she has no formal education in computer sciences, she has a successful career as UWEX-CES' lead CF developer. She has written approximately 100 CF applications to meet the needs of faculty and academic staff throughout Wisconsin.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Eric Shaffer 11/18/02 11:58:00 AM EST

A good article about two courses that, by name, don't sound as if they would have anything for a ColdFusion Developer. Maybe that's why there is low attendance? It was informative, and made me want to attend the training (at least the SECOND course...I'd defer the first course until they upgraded their course software to the CURRENT release version). Still, I didn't see where the article answered the original question...do I NEED (as in mandatory, compulsory, urgent requirement) to learn Java? Or is ColdFusion, as we know it, being killed off by Macromedia and going away?

@ThingsExpo Stories
Mobile device usage has increased exponentially during the past several years, as consumers rely on handhelds for everything from news and weather to banking and purchases. What can we expect in the next few years? The way in which we interact with our devices will fundamentally change, as businesses leverage Artificial Intelligence. We already see this taking shape as businesses leverage AI for cost savings and customer responsiveness. This trend will continue, as AI is used for more sophistica...
Real IoT production deployments running at scale are collecting sensor data from hundreds / thousands / millions of devices. The goal is to take business-critical actions on the real-time data and find insights from stored datasets. In his session at @ThingsExpo, John Walicki, Watson IoT Developer Advocate at IBM Cloud, will provide a fast-paced developer journey that follows the IoT sensor data from generation, to edge gateway, to edge analytics, to encryption, to the IBM Bluemix cloud, to Wa...
What is the best strategy for selecting the right offshore company for your business? In his session at 21st Cloud Expo, Alan Winters, U.S. Head of Business Development at MobiDev, will discuss the things to look for - positive and negative - in evaluating your options. He will also discuss how to maximize productivity with your offshore developers. Before you start your search, clearly understand your business needs and how that impacts software choices.
SYS-CON Events announced today that Massive Networks, that helps your business operate seamlessly with fast, reliable, and secure internet and network solutions, has been named "Exhibitor" of SYS-CON's 21st International Cloud Expo ®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. As a premier telecommunications provider, Massive Networks is headquartered out of Louisville, Colorado. With years of experience under their belt, their team of...
SYS-CON Events announced today that Fusic will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Fusic Co. provides mocks as virtual IoT devices. You can customize mocks, and get any amount of data at any time in your test. For more information, visit https://fusic.co.jp/english/.
SYS-CON Events announced today that MIRAI Inc. will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. MIRAI Inc. are IT consultants from the public sector whose mission is to solve social issues by technology and innovation and to create a meaningful future for people.
SYS-CON Events announced today that Enroute Lab will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Enroute Lab is an industrial design, research and development company of unmanned robotic vehicle system. For more information, please visit http://elab.co.jp/.
SYS-CON Events announced today that Mobile Create USA will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Mobile Create USA Inc. is an MVNO-based business model that uses portable communication devices and cellular-based infrastructure in the development, sales, operation and mobile communications systems incorporating GPS capabi...
SYS-CON Events announced today that Keisoku Research Consultant Co. will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Keisoku Research Consultant, Co. offers research and consulting in a wide range of civil engineering-related fields from information construction to preservation of cultural properties. For more information, vi...
There is huge complexity in implementing a successful digital business that requires efficient on-premise and cloud back-end infrastructure, IT and Internet of Things (IoT) data, analytics, Machine Learning, Artificial Intelligence (AI) and Digital Applications. In the data center alone, there are physical and virtual infrastructures, multiple operating systems, multiple applications and new and emerging business and technological paradigms such as cloud computing and XaaS. And then there are pe...
SYS-CON Events announced today that Interface Corporation will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Interface Corporation is a company developing, manufacturing and marketing high quality and wide variety of industrial computers and interface modules such as PCIs and PCI express. For more information, visit http://www.i...
SYS-CON Events announced today that SIGMA Corporation will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. uLaser flow inspection device from the Japanese top share to Global Standard! Then, make the best use of data to flip to next page. For more information, visit http://www.sigma-k.co.jp/en/.
SYS-CON Events announced today that B2Cloud will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. B2Cloud specializes in IoT devices for preventive and predictive maintenance in any kind of equipment retrieving data like Energy consumption, working time, temperature, humidity, pressure, etc.
Agile has finally jumped the technology shark, expanding outside the software world. Enterprises are now increasingly adopting Agile practices across their organizations in order to successfully navigate the disruptive waters that threaten to drown them. In our quest for establishing change as a core competency in our organizations, this business-centric notion of Agile is an essential component of Agile Digital Transformation. In the years since the publication of the Agile Manifesto, the conn...
While some developers care passionately about how data centers and clouds are architected, for most, it is only the end result that matters. To the majority of companies, technology exists to solve a business problem, and only delivers value when it is solving that problem. 2017 brings the mainstream adoption of containers for production workloads. In his session at 21st Cloud Expo, Ben McCormack, VP of Operations at Evernote, will discuss how data centers of the future will be managed, how th...
SYS-CON Events announced today that NetApp has been named “Bronze Sponsor” of SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. NetApp is the data authority for hybrid cloud. NetApp provides a full range of hybrid cloud data services that simplify management of applications and data across cloud and on-premises environments to accelerate digital transformation. Together with their partners, NetApp em...
SYS-CON Events announced today that Nihon Micron will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Nihon Micron Co., Ltd. strives for technological innovation to establish high-density, high-precision processing technology for providing printed circuit board and metal mount RFID tags used for communication devices. For more inf...
SYS-CON Events announced today that Suzuki Inc. will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Suzuki Inc. is a semiconductor-related business, including sales of consuming parts, parts repair, and maintenance for semiconductor manufacturing machines, etc. It is also a health care business providing experimental research for...
SYS-CON Events announced today that Ryobi Systems will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Ryobi Systems Co., Ltd., as an information service company, specialized in business support for local governments and medical industry. We are challenging to achive the precision farming with AI. For more information, visit http:...
SYS-CON Events announced today that Daiya Industry will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Daiya Industry specializes in orthotic support systems and assistive devices with pneumatic artificial muscles in order to contribute to an extended healthy life expectancy. For more information, please visit https://www.daiyak...