As a Web development and Java consultant, iSeries programmers often ask me, "How can I learn all this new Web stuff?" This tip offers some ideas and pointers to how to get up to speed on Java and Web technologies without spending a bundle of money.
Step 1: Identify a real-life project
People learn much better if they are working on real-life projects with real-life requirements. I am constantly frustrated reviewing books and classroom material that teach students to do applets with bouncing balls or animal inheritance. How many business applications require bouncing balls?
Identify a small real-life project that may benefit your company or you that is Web-based. For example, perhaps looking up customer orders or vendors records. I've always felt, if I'm doing a project, I want it to be of value. Inquiry applications are an excellent type of project for learning and providing value.
Step 2: Learn some HTML
If you already know HTML, skip this step. HTML is the language of Web pages; you should know how to create a static Web page with a table or two.
Here's an excellent and free site to learn HTML: www.w3schools.com.
Follow the easy step-by-step lessons and then take their free test to see if you're ready to move on to more complicated Web programming techniques. To find other HTML tutorial sites, just search for HTML Tutorial in any search engine.
Go through the examples. Spend a few hours on this and bookmark it to come back to.
When creating Java servlets and JSPs, you are actually generating HTML so you need to know HTML. Don't worry too much about the complex HTML capabilities because there are many WYSIWYG HTML builders that can generate HTML for you. Popular HTML editors include DreamWeaver and MS Word. When coding JSPs in WebSphere Studio, you'll be using an HTML builder also; however, often for complex Web applications, you'll have to write some JSPs and associated HTML.
Step 3: Learn Java basics
One of the great sites to learn anything relating to Java is Sun's own Web site where you can go through their free trails (groups of lessons on particular subjects) to learn all the basics and necessary information. Sun has developed and maintains these lessons called "trails" along with examples and downloads. In my experience, these examples are often superior to course material you may pay big bucks for. Note: Learning Java is not trivial and will take several weeks, but starting small and developing a real-life Java project is the best approach.
Here's another helpful site: http://www.javacoffeebreak.com
Step 4: Learn SQL and JDBC
The next thing you need to know before you become a proficient Web developer is SQL, which stands for Structured Query Language. SQL is the standard language for access to relational database management systems. It is a very simple language and should take you about a day to learn. These free tutorial sites will help:
Along with SQL is Java's JDBC, which allows you to access databases through SQL and create online applications that can access the iSeries database and other databases such as Oracle and SQL Server. Sun Microsystems also has a specialized trail that explains the process and allows you to learn by example and action because their examples require you to go through the process yourself.
Another JDBC site is TrooBloo's JDBC Tutorials, Code Examples & Articles.
Step 5: Learn JSP
To learn JSPs (Java Server Pages)/servlets, some basic knowledge of Java is needed. Information at these sites will help:
Obviously www.w3schools.com covers most of these subjects with lessons and then tests to analyze your knowledge to see if you understand. Also, I found www.tutorgig.com to be a great starting place to find tutorials for all of these subjects.
You can't expect to learn all this material overnight and suddenly become a master at Web development. As with RPG and other technologies, learning is a gradual and incremental task. The chart below gives you a basic learning timeline to gauge how long you can expect it take before you have basic capabilities and then later high productivity in each technical area. "Months to Basic Capabilities" could be described as the time it will take before you can start to get basic programming tasks completed. "Months to High Productivity" is defined as the time requirement before you will be at a high level of productivity.
|Technology||Months to Basic Capabilities||Months to High Productivity|
WSAD or WSDc
|SQL||1-2 days||2 weeks|
About the author: Paul Holm is a former IBM-Rochester WebSphere, Java, and DB2 developer/consultant. He specializes in helping iSeries RPG shops develop Web-based applications. Paul is currently a lead architect for the "WOW" product, which is Query/400 and DFU for WebSphere (aka WebSphere on steroids). Paul can be reached at firstname.lastname@example.org.