blogs


Ivy Configurations when pulling from a Maven Repository Part I
jason
Written by Jason Porter   
Thursday, 23 April 2009 11:42
I heard about Ivy (http://ant.apache.org/ivy) some time ago, but never really took the time to look into it. After all, I had Maven, and that's what we were using at work. So I really had no incentive to look into it. As I'm sure many of you have found there are some issues with Maven. With all the things it does well, there are a few things where it really falls flat on it's face. How about transitive dependencies for example? Bane of my Maven experience. The standard project layout is very nice, but at the same time it is a hindrance if, for whatever reason, you need to go against it. As most of my readers have seen I'm pretty well entrenched in the Seam camp. Seam does not play well with Maven, or maybe it's Maven that doesn't play well with Seam (Embedded JBoss to be specific, but others have found ways around this [http://www.google.com/search?q=seamtest+maven&hl=en, http://www.seamframework.org/Community/SeamTestCoverageMavencobertura, https://jira.jboss.org/jira/browse/JBSEAM-2371, http://www.seamframework.org/Documentation/SeamWithMavenOverview to name a few]). For those that have been using Seam with Maven are familiar with not being able to run their Seam tests easily with Maven, unless you know to put your test scoped dependencies first in the pom. There are some other issues I have with Maven, but this is not a post about how much Maven sucks. You can google for those, there are a lot of them; back to Ivy. A few months ago my friend Dan Allen blogged about dependancy management in a seam-gen project with Ivy (http://in.relation.to/Bloggers/ManagingTheDependenciesOfASeamgenProjectWithIvy), see his post for a decent intro to Ivy. In his code download he was unable to setup the dependencies needed for testing his project. In this post I'm going to explain why Dan ran into problems, the relationship between Maven scopes and Ivy configurations, as well as provide an updated version of his Ivy-ized seam-gen download.
 
JPA Annotation Locations with Hibernate
jason
Written by Jason Porter   
Thursday, 23 April 2009 11:08
Just ran into this one at work. If you're using Hibernate as your JPA provider (not sure if this is true for others, please comment) all of your annotations on the main entity, mapped super class, embedded classes, etc. must be in the same location (either all on the properties or all on the methods). The reason behind it is at StackOverflow. Basically Hibernate expects the annotations to be in the same location as the first @Id it comes across. I experienced weird errors where it was picking up the property which was mapped to a different column on the table so when Hibernate when to validate the schema it blew up. Hope this helps someone.
 
Web Performance Benchmarks or the rule of Fast Enough
jason
Written by jason   
Saturday, 21 February 2009 00:00

I recently saw a blog post that listed out performance benchmarks of two presentation layer technologies for Java.  The posting probably wasn't as non-biased as it could have been, but that's besides the point, and not the issue of this post.  The performance stats were measured in milliseconds from the time a request hit the server to the time it left the server to go back to the user.  A stat worth keeping an eye on, right?  We want our applications to be fast, of course we need to be focused on how long that request sits on the server processing, don't we?

As developers most of us want to squeeze out the last bit of speed we can get from our applications and technologies.  We want ours to be the fastest, naturally; and most developers have a tendency to be perfectionists to some degree or another.  But is it really necessary?

Back to the post I read.  As I stated the results were measured in milliseconds.  Most of recorded data (even in  multi-user scenarios, the author did up to 25 concurrent users) points for both technologies were sub second.  That's less than one second for a request sitting on the server processing, sounds pretty darn good to me.  The author's conclusion (assuming I read it correctly) was essentially technology X should be used instead of technology A because it's faster.  Now to the heart of this post: do your users really care about that much of a speed difference??

When we're dealing with web applications we have to remember that the users are not running this application on their local machines.   Each request has to go over through the Interet, which is definitely slower than seeing something on our local development machines, or even on a local network.  We also have to keep in mind the user's perception of "slow."  That's really what this boils down to.  If our users feel the application is sluggish then we should probably look into it.  Users of the web don't expect requests to come back instantaneously.  Most users are happy with a 5 - 10 second return of their request.  If a couple seconds of that is spent processing the request on the server, you're probably good.  There are also other considerations on the client's side for perceived web performance, namely the browser being used.  How fast does it render HTML, does it wait to display the full page or does it load incrementally, etc ?

Basically there are a lot of variables that make up the perception of a slow web site.  Your best source of knowing if something is slow is your user base, and I'm not just talking about one or two but a sizable chunk of users.  If they're saying it's slow, go look into it.  If you don't hear any rumblings, don't worry about it.  Your site is "fast enough."  Also remember web front end technologies that are mainstream are all "fast enough" otherwise no one would use them.

 

 
Happy New Year everyone!
john
Written by John Larsen   
Thursday, 08 January 2009 00:00
It’s been a wild 2008 starting with a great economic outlook and ending in our current bleak economy.
 
Despite the economy JavaPipe has positioned itself not only to survive, but to thrive!  Already in 2009 we’ve brought in record sales due to our low cost and high service attitude.  This hasn’t come easy as all of us here at JavaPipe put in tremendous hours during the holidays to complete our new infrastructure and move everyone over in a ‘somewhat’ seamless fashion.  However, we’re not done yet!  Just to keep our families wondering who we are, we decided to also implement a new billing system in order to overcome several shortcomings of our old one, this change will be coming fast so stay tuned and we’ll keep you up to date as things progress.
 
‘Out with the old in with the new’ seems to be our new theme for 2009; we also have plans to replace our current support desk but haven’t decided on the juicy details.  We’ll keep you informed as to our plans in the coming weeks.  Please email us if you have any issues/suggestions that we can address during this planning phase.
 
We’re hopping for a brighter 2009, our new systems and low cost will help facilitate what we hope to be the best year for all of us!
 
End of Life for Sun JVMs
john
Written by John Larsen   
Sunday, 02 November 2008 00:00

Recently 1.4 just reached end of service life (EOSL) October 30th 2008. EOSL for JAVA 1.5 was set by SUN for October 30, 2009.

Read more... [End of Life for Sun JVMs]
 
Seam generates IDEA IntelliJ project files
jason
Written by Jason Porter   
Thursday, 23 October 2008 00:00
For those using Seam, you've probably seen the announcement that Seam 2.1.0.GA has been released.  Work continues at a fast pace for Seam 2.1.1.  Dan Allen (Seam in Action author) and I have been working on generating the IDEA IntelliJ module and project files for IntelliJ 8 aka Diana, which has Seam support (check out their screen cast detailing the support, I think you'll be impressed.  The initial versions were just checked in yesterday.  The next time you run seam create-project you will have Eclipse, Netbeans and IntelliJ project files.  For those that wish to tweak the iml and ipr file they're in the seam-gen/ide-project-files/idea directory.  Dan continues to work on seam-gen so stay tuned for more announcements.

There are a couple of minor issues with it, but nothing an experienced IntelliJ user can't deal with (like XSDs for the namespaces in the XHTML pages, setting up the correct JDK, tying together the JPA files with a Datasource, etc).  Please download trunk and let us know!  Feel free to leave comments on the JIRA issue.
 
New JavaPipe Website
john
Written by John Larsen   
Tuesday, 07 October 2008 18:53

We’ve finally completed the redesign of our website! Our focus has been to create a more attractive and catchy site by improving our previous design. The main purpose was to upgrade the content management system infrastructure to provide more flexibility in order to introduce new products and solutions. These products and solutions will be available soon.

Read more... [New JavaPipe Website]
 
Overloading Methods
keith
Written by Keith Petty   
Tuesday, 07 October 2008 00:00
Assuming that we want to compare two computers we would first need a way to rate a computer.

We are going to expand on our Computer Class by adding a method to give a rating to a computer based on a number of factors.

The data within each computer that will come into play when we rate a computer is:
	    int speed;

int diskspace;

int monitor;

boolean floppy;

boolean dvd;

The method will return an int, it will take no parameters, and we will call it getRating.

Points are calculated as follows.
Speed @ 1 pt per Mhz
Diskspace @ 10 pts per GB
Monitor @ 20 pts per diagonal inch
100 pts for a DVD
10 pts for a floppy

Here is the code----
	    int getRating() {

int rating;

rating = speed;

rating = rating + diskspace * 10;

rating = rating + monitor * 20;

if(dvd) {

rating += 100

}

if(floppy) {

rating += 10;

}

return rating;

}

Read more... [Overloading Methods]
 
Times are a Changin!
john
Written by John Larsen   
Thursday, 25 September 2008 16:30

Today's technology is changing at a very fast pace! It's extremely important that we keep up with this pace and be able to offer the services our customers require. Over the next few months we'll be making some considerable changes to our technology infrastructure. During this time, our goal is to make this transition as smooth and as seamless for our clients as possible. Please let us know if you experience any problems during this time.

Read more... [Times are a Changin!]
 
Siteworx vs cPanel
john
Written by John Larsen   
Thursday, 04 September 2008 00:00

Even though we are trying to keep this blog more as a Q/A blog, but due to many number of questions about Siteworx vs. cPanel we decided to post something here! We get a lot of customers asking us why we use Siteworx and not cPanel. Our many years of experience has shown that building with cPanel is a constant uphill battle due to the fact that it requires changing the way Linux operates.

Read more... [Siteworx vs cPanel]
 
History of JavaPipe
john
Written by John Larsen   
Wednesday, 27 August 2008 00:00

Welcome to our very first blog post! Everyone else is blogging so why shouldn't we?

We want to share with you some of the 'ins' and 'outs' of JavaPipe, concerning our products and other services in order to give you a feel for who we are. Our first blog will 'share our story' this will help you understand how we became JavaPipe.

Read more... [History of JavaPipe]
 
<< Start < Prev 1 2 Next > End >>

Page 1 of 2

blog menu