January 8, 2014

New Standards for Capstone Lab Software

With today's release of Course 111, Developing Java Web Applications, version 7.0, Capstone Courseware also inaugurates a new set of standards for course software. We developed the new system with several goals, driven by customer and instructor feedback over the years:

  • Portability: as more and more participants are bringing their MacBooks and other non-Windows machines to class, it has become important to support Mac and Linux "out of the box." Labs now are not just convertible to work on UNIX systems; they come fully cross-tested on Windows and Mac OS, and any special instructions necessary for one platform or the other are clearly reflected in setup and/or lab instructions in the coursebook.
  • Ease of use: while our current self-extractor installers certainly are simple, the new format is just a ZIP archive: unzip to your c:\ root or $HOME directory, and you're done! No separate installer for the Eclipse workspace anymore, either. We've cut down considerably on style quirks, so usage in lab work is as intuitive as possible.
  • Eclipse: here, too, we've moved from "friendly" to "ready." A fully-tested Eclipse workspace is embedded in the lab image, and in almost all cases getting started means opening that workspace, opening your first code project, and going right to work.
  • Familiarity: we have kept what we feel are some of the best aspects of the existing system, and instructors who have taught Capstone materials before will feel right at home. New materials carry the same robust, multi-step case studies, diagnostic tools and applications, and sample files and message content as always.
  • Testing: using some of those same diagnostic tools — and by keeping our commitment to scriptable builds using Ant alongside the more student-friendly Eclipse workspace — we are also able to maintain a high level of automated test coverage over lab software before it goes out the door.
  • Multi-server support: ongoing development of infrastructure for popular Java EE servers puts us in a position to release courses pre-built for specific customer needs. For example Course 111 comes out today in triplicate, with variants ready to ship for the latest GAs of Tomcat, GlassFish, and JBoss.

Today is the debut of the new infrastructure in public course releases, but we have been developing it in various custom course materials for several months. Customers will see a gradual shift to the new standards as courses are updated, and we welcome any requests for custom releases of existing materials in the meantime.

We'll be keen to hear what you think!