Under the hood: onCourse technologies overview

Built from the ground up on advanced and open technologies

From its inception, ish onCourse has been built upon open technologies. With Java, Sun’s famous and now open-source platform as our base, an almost limitless source of possible technologies are available for ish onCourse. By using these existing pieces of code we save vast number of development hours and are able to add exciting functionality in a very short time. Plus we have the benefit of hundreds of thousands of programmers who have written, debugged and tested this code.

Listed below are but a few highlights of the open-source technologies and frameworks in onCourse. We would like to take this opportunity to acknowledge and thank the many contributors to each of these projects as they have allowed for amazing possibilities in our work. We gladly look forward to adding more such projects to our list and ish takes seriously our obligation to contribute back to these projects. We have an active involvement particularly in the Cayenne project which is integral to the capabilities of onCourse.

Cayenne

Cayenne is an open source component-oriented persistence framework providing object-relational mapping (ORM) and remoting services. With a wealth of unique and powerful features, Cayenne can address a wide range of persistence needs. Cayenne seamlessly binds one or more database schemas directly to Java objects, managing atomic commit and rollbacks, SQL generation, joins, sequences, and more. With Cayenne’s Remote Object Persistence, those Java objects can even be persisted out to clients via Web Services. Although it sounds nebulous, Cayenne is one of the most fundamental of the frameworks we use and ish has contributed considerable time and money back into the Cayenne project to assist with its development. Cayenne is the glue which ties the application you see to the database in the background.

Cayenne makes extensive use of Hessian to tie the client and the server together. As an open standard it is growing in popularity and provides optimised data transfer between the client and the server.

Ari Maniatis (owner of ish) has contributed toward the Cayenne project in a number of ways and is now a committer on that project.

Axis

Axis is an open source Apache project and has proven itself to be a reliable and stable base on which to implement Java Web services. There is a very active user community and there are many companies who use Axis for Web services support in their products across the world. This forms the basis of ish onCourse’s unique ability to synchronise with a college web site and deliver a whole range of services from SMS to credit card payments.

Jakarta POI

The POI project consists of tools for manipulating various file formats based upon Microsoft’s OLE 2 Compound Document format using pure Java. In short, you can read and write MS Excel files using Java.

JasperReports

JasperReports is the leading open source reporting engine. Report templates are used to generate print- quality output (PDF, HTML, RTF, XLS) in a way which allows colleges to customise reports for their own needs.

Java SE

This is the core framework on which everything else runs. Java has come a long way from the days in the 1990’s when it was slow and memory hungry. Today we can create fluid, interesting GUIs in Swing and a fast, powerful application in the Java language.

Netbeans

With the introduction of SwingLayout Netbeans 5 introduced huge productivity gains in the creation of layouts. This means that we can change the GUI design quickly and flexibly. Other useful features include the Netbeans Profiler which allow us to eliminate speed bottlenecks within ish onCourse. With ant built in, our build process is fully automated.

Apache Derby

Java DB is Sun’s supported distribution of the open source Apache Derby 100% Java technology database. It is fully transactional, secure, easy-to-use, standards-based — SQL, JDBC API, and Java EE — yet small, only 2MB. The Apache Derby project has a strong and growing community that includes developers from large companies such as Sun Microsystems and IBM as well as individual contributors.

Java Servlet Technology

Java Servlet technology provides Web developers with a simple, consistent mechanism for extending the functionality of a Web server and for accessing existing business systems. A servlet can almost be thought of as an applet that runs on the server side—without a face. Java servlets make many Web applications possible.

Jetty

Jetty is an HTTP Server and Servlet Container. This means that you do not need to configure and run a separate web server (like Apache) in order to use java, servlets and JSPs to generate dynamic content. Jetty is a fully featured web server for static and dynamic content. Unlike separate server/container solutions, this means that your web server and web application run in the same process, without interconnection overheads and complications. Furthermore, as a pure java component, Jetty can be simply included in your application for demonstration, distribution or deployment. Jetty is available on all Java supported platforms.

MigCalendar

MiG Calendar is a Java component that displays a visually compelling and very advanced calendar. What really differentiates this component from others is the extreme flexibility built in from the start, especially when it comes to the visual presentation and flexible layout. Everything visual is drawn in layers, called decorators, and they can easily be rearranged, modified, extended or recreated. When we say extremely flexible, we really mean Extremely Flexible.

And many more…

Features