|
Dear
Software Developers,
This CPTTM Software
Developer newsletter is to bring
useful news to
you, software developers in Macau, for references without obligations,
so that you can do your jobs easier and better! Hope you like it. if
you'd like to unsubscribe or recommend your friends to
subscribe, just email me at kent@cpttm.org.mo.
Old
issues are available here.
Topics
in this issue:
A practitioner's approach to performance testingCame across a good overview
on performanance test. If you'd like to learn to use the various tools
to conduct performance testing, please join our Performance & stress testing web applications course when it opens again in the future.
Writing portlets
A
portlet is a server-side gadget on a web page. If you ever went to
Yahoo's home page, you have already seen portlets: There is a
portlet showing the news items, while another may be showing the
weather information. Here is a great tutorial on writing a simple porlet. If you'd like to learn more, please join our new course: Writing Portlets in Java.Why do logging in your applications?
The purpose of logging is to let the organization running your program to diagnose its mis-behaviors and monitor its health (performance, security, etc.). For example: - If
the application is not working as expected, the technical support
people in the organization may be able to find the problem in the log,
or send it to you (the developer) for analysis.
- The performance manager may be monitoring the log for performance problems (e.g., slow reponses).
- The information security officer should monitor the log for any
peculiar events such as a user on vacation logging in the middle of the
night or a low privileged user trying to access a high priviledged
function.
For
the above people monitoring the log, it is difficult to find useful
information in thousands log messages. Therefore, you
should highlight those important messages by using a higher
severity level. For example: - Fatal: Your application cannot run and must abort now (e.g., out of memory).
- Error:
Your application cannot run for this moment but it may work
or retry later (e.g., can't connect to the DB for the moment).
- Warn: Something potentially harmful happended (e.g., conflicting configuration options specified).
- Info:
The information that a support technician may want to check
to see if the application is working (e.g., performing a business
function or a user login failure).
- Debug: The information that
the developer may want to check why the application is not working
(e.g., entering which method and the argument values).
One
should note that the above severity levels are designed for technical
support and developers for diagnosing mis-behaviors instead of for
security. For security, a user login failure should probably receive a
much higher severity and the application probably should create a
separate security log instead.
High impact: SpringSource's policy regarding maintenance releasesOn Sept 18, SpringSource, the creator of the Spring framework, put forth a new policy:
Maintenance releases for a major release of Spring will
be available to paying users only after three months of the
major release. That is, if Spring x.0 was released in Jan 2008, after
Apr 2008, releases like Spring x.0.y would only be available
to paying users. Even though the source code will be available in the
subversion repository, no tags will be provided so ordinary users will
be unable to build stable maintenance releases. A lot of users were very angry
about this. Therefore, on Oct 8, SpringSource revised the policy so
that maintenance releases for the latest major release will always be
provided. So, you will be affected only if you want to stick to an old
major release. This change makes the policy a lot more acceptable. However,
this kind of abrupt and premature policy changes shouldn't really come
from a company that is in good health. If you're using Spring, you may
want to re-assess the risks now. In particular, there doesn't seem to
be a developer community around Spring other than employees of SpringSource: In the past year no one outside SpringSource has contributed a single line of code to Spring. This makes it difficult to find support from anyone other than SpringSource. FYI, the pricing of their enterprise support plan depends on the size of the customer and their use of Spring. From information on the web, it is on the magnitude of US$22,500 per year. Oracle Enterprise Pack freely available
If
you do Java EE development such as JSF, Web Services, Spring and
Database Development on Eclipse, you may want to check out the
freely available Oracle Enterprise Pack. It provides the Java EE features in JDeveloper to Eclipse. It is particularly useful if you use WebLogic.
Upcoming courses
for software developers
Feedbacks
Any
questions, ideas or experiences to share? Contact me at
28781313 or kent@cpttm.org.mo. We also
have two other newsletters: CIO newsletter
and Network
administrator newsletter,
your friends may like to
subscribe.
Until
next time,
Kent
Tong
|