Recently, I was asked to participate in creating another Java application at my company.
It was to be our team's third major Java application since 2002.
We felt we had plenty of wisdom from our previous two Java applications to apply to our third one.
One of our first steps was to form an application architecture sub-team.
This sub-team's purpose was to provide the development team with a solid...
My company uses a large number of software applications to support all aspects of its business.
These software applications are either "bought" or "built".
The portions of the company that cannot be supported by purchased software are
supported by custom developed, in-house, applications.
A variety of technologies are used to create and build these custom applications.
The Java framework has been...
A while ago, I was asked to evaluate another Java application that was being used at my company.
It was a point-of-sale app, developed entirely "in-house" by one of our overseas affiliates.
I wondered what their MVC model would look like.
How different would their Java app be from the ones I have worked on?
I started my evaluation by learning all I could about the architecture and design of this...
As a developer, when you are building and/or designing a Java application;
the first (or one of the first) question you might ask is...
"What are the objects?"
This seems to be a very simple question. But it is not.
There probably is no single "right" answer to this question.
Nevertheless, careful consideration given to this question will contribute to
a good start to one's Java development...
When we started building our first Java application, at my company Amway Corp, many years ago;
we learned our first lesson.
In spite of all the formal training we received, in spite of all the literature at our disposal;
we still needed help with our Java development on a regular basis.
Where would this assistance come from?
At the time, we had no in-house Java subject-matter experts.
Learning Java (or any programming language) can be a great challenge.
Any group of developers, learning Java, will bring with them a variety of backgrounds and experiences.
In our case, our first Java project began with developers that had COBOL language experience.
Our second Java project, began with developers that had RPG language experience.
Even though COBOL and RPG don't "look" like Java,...
Tuning Java code presents many challenges and addresses several goals.
One of these goals is to make the application "run faster".
Recently, our end-users were getting multiple-second response times from our web application's home page.
This was unacceptable.
We were asked to see what we can do to make the web application "run faster".
We began by looking at the usual suspects... database access...
One of the first things we did as we began to learn about Java was to create our own library of Java books.
Every member of the development team was given the chance (and funding) to build their own collection of books.
In time, these book collections became a sort of "comfort blanket" for the developers.
In addition to being a valuable source of reference material,
these collections act as a...
One of the biggest challenges facing us during the creation of our first Java application
was learning to develop with the Java programming language.
We were concerned about how well our team of developers would learn and adapt to Java.
Since Java was an object-oriented programming language, we had object-oriented concepts to learn as well.
Our first Java training class was titled, "Developing...
Our team of Java developers consists of people with various backgrounds and skill levels.
Everyone has a role and is assigned tasks based on that role.
Team members are expected to know basic programming concepts, core Java and core J2EE.
In addition; database access, web-browser, client/server concepts are required as well.
It didn't take long for our team to realize there was a lot more to know...
When my company, Amway Corp, makes a sale; somewhere, somehow a computerized transaction of that sale is created.
This transaction is sent to a number of applications at Amway for processing.
One such destination is our Java application.
We created a capability, called the Transaction Monitor (or TM) to deliver transactions to our app.
Our initial version of the TM worked well, but it was still...
It never ceases to amaze me where some solutions in application development come from.
We had a requirement for our application to allow a user to print pages of text.
The user would bring up a web page, from our app, and then create & print a list of customer names.
The list of names would be created by executing a SQL query against the database, using a variety of search criteria.
As we began our Java adventure at Amway Corp 10 years ago,
one of the most important tasks we had to do was to create our Object Model.
We had a variety of Java objects that we were planning to use in our application.
How were they going to be "wired" together inside of the application?
After 4 weeks of Object-Oriented, J2SE, J2EE training; we set out to define our Object Model.
This model was...
In order to successfully migrate our mainframe application to a Java/application server based solution,
we had to figure out how to migrate our batch processes.
We had a very good start, in achieving this, by utilizing the LaunchClient command and J2EE Client programs.
It was just a matter of putting the remaining pieces together into a working solution.
But we were running into a lot of trouble...
Our first Java application (10 years ago) was a migration of a legacy application.
The legacy application consisted of a number of screens and a number of batch processes.
Migrating the screens to Java technology seemed straight forward.
In theory, they would be a direct use of the MVC pattern (EJB, JSP, Servlet). Easy.
But what about the batch processes? They didn't seem to fit the MVC pattern....
During the initial architecture and analysis of our J2EE-based application,
one Java issue generated a lot of attention on our team : Enterprise Java Beans or EJBs.
Should we use EJBs?
What flavor of EJBs should we use?
At the time, we received no practical advice on EJB usage.
We got a lot of general advice. "Use what is best for you, etc."
Quite often, we were referred to a diagram with a lot...