Paul Bourdeaux

Ranch Hand
+ Follow
since May 24, 2004
Paul Bourdeaux is the Senior Software Engineer at Sundog, a marketing and technology company in Fargo, ND. He has nearly a decade of experience in software engineering and web development. In his current role he is involved with the architecture, development, release, and post release maintenance of large scale enterprise applications. Currently he is the project lead on a mobile software estimation project being implemented in Android. In his spare time, Paul is an avid (and some would say obsessive) NFL fan.
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Paul Bourdeaux

Mark L. Murphy wrote:*shrug*

Have you tried an existing XMPP JAR, like Smack?



Yup. In fact that is the solution I had to fall back on. There are some issues with it, but it works for the most part. I was just wondering if you knew of a better way, or if there was some native XMPP support that managed to survive the purge when they updated the sdk.

Thanks.
9 years ago
Any ideas on using XMPP or P2P communication in Android? When Google replaces the native XMPP support with GTalk, it threw a lot of us developers for a loop. There are a lot of advantages to supplying a P2P network on Android, and it would be nice if there was a way to do it without jumping through a lot of hoops.
9 years ago

Mark L. Murphy wrote:

Is there any Unit testing framework for Andriod Code ?



Android has JUnit built in, accompanied by a fancy "instrumentation" system to allow you to control activities from test code.



Well, yes - it does have JUnit built in. But the documentation on how to use it is lacking. I ran into some initial difficulties figuring out how to instantiate a test bundle so I could test the onCreate() methods. Does your book offer any guidance on unit testing Android activities, or do you know of anywhere that provides adequate documentation?
9 years ago

Originally posted by Jeffry Kristianto Yanuar:


Here is my skill:
IO : know how to serialize, know what basic IO is.
Swing : know the layout manager, Swing component.
Design pattern : know the facade, singleton, factory, MVC.
packaging and javadoc : know how to create it.
Multithreading : know how to create basic thread as well as some class in Java concurrency.
Networking : know how to implement client/server application.

I have all basic to intermediate understanding in those areas. Am I eligible to pass the project assignment?



Jeffry Kristianto Yanuar

SCJP 5.0
SCJA
planning to take SCJD



Hi Jeff,

Yes, you should be fine on the assignment.
An update to last, we were able to get it to work... kind of.

The problem is that the new role that we defiend in the system-jazn and the web.xml wasn't working. When we changed the security over to restrict the web service to the users role, it works correctly. Now we are left trying to figure out what we did wrong with the role. Here is some of the code we are using...

web.xml


system-jazn-data.xml

[ September 11, 2008: Message edited by: Paul Bourdeaux ]
9 years ago
I know I am digging up an old thread, but I recently came across the same problem and was wondering if anybody has a solution.

I am using OC4J, and have AXIS installed. I have two web services running, one that requires authentication, one that does not.

The web service that does not require authentication works correctly. The one that does will give me a 403, but only after entering the correct credentials. If I enter in the incorrect credentials, I get a 401 (as expected).

This tells me that it is authentication correctly, and there is something else in the OC4J config that is preventing the server from returning the page... but only if it is subject to authentication.

FYI, I took authentication off from both web services and they both work correctly. If I add it back in again, the same web service fails.

Very frustrating. Any ideas? Thanks in advance for any help!
9 years ago
HFSJ usually refers to Head First Servlets & JSP, by Basham, Sierra & Bates. It is designed to prepare you for the SCWCD.

Head First actually has an entire java series that follow the same writing style as Head First Java. There is also a Head Rushseries that deals with non java specific material (I recently got one on Ajax).
[ February 20, 2007: Message edited by: Paul Bourdeaux ]
If a method is defined as SAFE (e.g. HEAD or GET), it means that they are intended only for information retrieval and should not change the state of the server in any way. In other words, they should not have any side effects at all.

Unsafe methods (like POST, PUT and DELETE) will change the state of the server. POST submits data to be processed. PUT uploads a resource. DELETE deletes a specific resource.

And then there is the concept of idempotent methods. To be idempotent simply means that multiple identical requests should have the same effect as a single request. A safe method is inherently idempotent because it does not change server state. You can't have a negative side effect if there are no side effects at all. Easy enough. Where it gets confusing is when we get into the unsafe methods. Let consider them.

If you have a PUT method, you are basically saying that you have something you want to upload to the server. If you do this once, the resource will exist on the server. If you do this ten times, the file will still exist on the server. No negative side effects, so therefore the method is idempotent.

If you use a DELETE method, you are removing a specified resource from a server. If you run it once, then the resource (if it existed at all) will no longer exist on the server. If you run it ten times... well, it still doesn't exist on the server. No negative side effects, therefore the method is idempotent.

If you have a POST method, then you are sending data to be processed. If you run it once, the data is processed on the server. The server state can be changed based on both the data supplied and the current state of the server. If you run it ten times, the way the data is processed can change each and every time, possible resulting in negative side effects. Therefore the method is idempotent.

I hope that helped. This was a pretty confusing area for me too. If you would like, I can post examples of all three to further explain.
[ December 19, 2006: Message edited by: Paul Bourdeaux ]
Thanks Chris.

We have actually begun looking into JSON, and are using it on one of our new projects. I am admittedly rather new to it, but it has intrigued me. Many times we already had web services set up to provide XML for legacy applications, so it made sense to reuse the existing functionality in our AJAX calls.
We have introduced AJAX into several of our existing and new web applications at the company I work for. In doing so, it almost seems as though we have fallen into two different schools of thought on the best practice for processing the returned XML on the browser side.

One side uses JavaScript to parse the XML, transform it into HTML markup, and insert it into the DOM. Their argument is maintainability, and many times the xml they are working with requires only the most rudimentary parsing for transformation.

The other group prefers using XSLT for the transformation, and only uses JS to work with the DOM object. Their argument is that XSLT is designed specifically for transforming XML, while javascript is designed more to work within the browser environment on a grander scale.

Since I work with the backend and build the service that returns the XML, it really doesn't matter to me... my XML looks the same regardless. Just watned to know other people's thoughts on the issue.
Hi everyone,

The company I work is considering putting together a Foundations of Spring training course for our software engineers who are not yet familiar with Spring. I am looking for some recommendations for a book we can provide attendees.

The book needs to do a good job of introducing AOP programming and the basics and core ideas behind Spring for developers, and be comprehensive enough to be useful to the developers after the course is complete.

My current favorite is Pro Spring by Harrop, but I am open to suggestions from the community...
Recently we have begun experiencing a problem with Resin restarting frequently. It is happening on both nodes of a clustered server, and resin is configured identically on both machines. There is no error message being logged when the restart occurs ~ i.e no Out of Memory error, no exceptions thrown, etc.

Initially we looked for memory leaks, but the heap size never got anyway near the max allocated memory. We are now thinking that something is triggering a rather intensive request that is too much load for Resin (we do have some processes that are database intensive, and take anywhere from several minutes to half an hour to complete. These jobs are kicked off by a request).

I am currently working to refactor the existing code to get these jobs to run in a different worker thread, so that the request does not hang, but I don't know if this will help the problem or not (Heck, I don't even know if these jobs are related to the problem!).

Any other ideas or things we should be looking at? Thanks in advance for any help.
12 years ago
This is actually one of my favorite questions because it is an extremely important difference, but one that a lot of people have a hard time grasping. I will give you a little bit of background on it, but then I encourage you to search the forums and read the discussions.

The constructor is called by the container simply to create a POJO (plain old java object). It is not really a servlet (or at least it cannot do any servlet like things) until it has been initialized. As a developer, you should never override the servlet's constructor.

The init method initializes the servlet, and gives it references to things like the servlet context. If you want something to happen when a servlet is initialized, override the no-arg init method and put it there.
I don't believe that HFSJ is published inelectronic format. I would suggest a cyber cafe if you are unable to work through the exercises at work. What about your lunch break or after hours? Would your supervisor allow you to use the computer then?
There was a pretty involved discussion here a couple of months ago in which Bert bates (one of the HFSJ authors) kept trying to tell people that HFSJ was designed and written specifically for the exam, and so they left out many things that were not on the exam, like the JSTL tags you mentioned. It is a good idea to go through the specs, but mainly study what you read in the book.