| By Kirk Pepperdine | Article Rating: |
|
| February 5, 2004 12:00 AM EST | Reads: |
12,848 |
Do you enjoy history? I do. In fact, I've always enjoyed history for I've always found that understanding the past has been useful in helping me to understand the here and now. Part of my here and now is the taking on of the role of enterprise editor. The question for me is, how did I get here?
When I look back at my career, I realize that my choices have allowed me to be closely aligned with many aspects of core J2EE technologies for more than 15 years. Yes, I do know that J2EE has not been here for 15 years, but when you look past that exact moment in time when the idea for J2EE was first hatched, you can see a vast trail of technology and research that has gotten us to where we are today. My interest in history has led me to follow that trail and, as is the case with most historical tales, I was taken by surprise by just how far back you need to travel. Take the virtual machine, for instance.
In 1965, a team of engineers working for IBM first devised a virtual machine so they could study multiprogramming operating systems. What they meant by virtual machine at that time was a duplicate of the actual machine they were testing on, but the VM had less memory. If you think about the Java Virtual Machine, the definition is just about the same. Okay, there's not a real Java machine per se, but the JVM does have less memory than what is available in the underlying hardware/OS.
From these raw beginnings came Dijskstra's work, where he built an operating system by layering a number of VMs on top of each other. Each VM was an abstraction of some underlying portion of the OS. What followed was yet another improvement by another IBM team, which resulted in the creation of the VM/CMS, a time-sharing OS for the IBM 370. Right around that time, Alan Kay laid the groundwork for Smalltalk, considered to be the de facto standard for OO technologies. This brief paragraph is only the tip of the iceberg of the research and development that really started in the late '50s. Just from this little bit of history, we can see through the marketing hype and understand why Java is not just a language - it truly is a technology platform.
Legend has it that Bill Joy conceived of the principles behind Java in the late 1970s, but it wasn't until the early '90s that the necessary ingredients came together to make it a reality. Even as early on as the late '70s, Smalltalk, Lisp, and a number of obscure languages had already been operational for a number of years. The difference is that Java is really the first commercially successful language/platform to support distributed computing. From this success came the realization that to truly bring distributed computing to the masses, they would need help putting it all together.
The help first came in the form of the Enterprise JavaBean application server. I'm unaware of the true origins of the application server but I have worked with one for more than 10 years - GemStone for Smalltalk (GS/S). GS/S is generally recognized as an awesome collection of technologies. It was supported by an orthogonal transactional persistence mechanism that was instrumental in its support of distributed computing. As good as the technology was, people had difficulties understanding it. Though you could think of it as an object database that relied on a proprietary Smalltalk implementation, it was really more than just that. It was just when I started working for GemStone that I made the jump to Java. GemStone had begun the process of porting their Smalltalk technology to create an early version of a Java application server. Again, GemStone was ahead of the curve as they were working without a specification, so they defined a distributed component model based on JavaBeans. Not long after the initial implementations of GS/J went to press, the EJB spec appeared and everyone started the race to implement the latest features in the latest specification. After 15 years in the business, the appearance of the EJB specification provided GemStone with a means to describe their technology.
I began my journey in a world that was as aware of the possibilities of Java as it was unaware of its absence. The journey has been exciting as I've been able to work with a number of world-class engineers who were implementing the latest bleeding-edge technology in a market that was still trying to figure out what it wanted. Yet, in all of that confusion, we have been able to define and build a technology that is pretty solid. It has let us mere mortals build systems that would have been unthinkable only a few years ago. But in this ever-changing game of cat and mouse, the cats (our users) continue to adjust their expectations and demand even more complex systems so we still have plenty of problems to solve. Having said this, maybe there are hints to the solutions to these new challenges somewhere in our collective past. Certainly, we should take the time to look for them.
Published February 5, 2004 Reads 12,848
Copyright © 2004 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Kirk Pepperdine
Kirk Pepperdine has more than 10 years of experience in OO technologies. In edition to his work in the area of performance tuning, Kirk has focused on building middleware for distributed applications.
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?

















