Don Stadler

Ranch Hand
+ Follow
since Feb 10, 2004
Merit badge: grant badges
For More
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Don Stadler

Bear's advice is very sound as far as it goes.

You probably won't be writing too many direct servlets or JSP pages in a job, but a lot of the J2EE technologies either use servlets directly (Spring MVC does I think) or require an understanding of them. JSP is less used these days, but a lot of the 'Java' exams you will take interviewing for Java positions will contain JSP questions, even though JSP isn't really Java. I just took such an exam Tuesday, and more than 10% of the questions were about JSP even though JSP wasn't on the job specification!

My feeling is that Java is losing market share in the web programming area to other technology stacks; one sees many fewer specs requiring Struts2 than a few years ago for Struts, for example. I'm actually seeing more demand for Spring MVC in my area than for Struts2! But in web programming I see a lot of demand for the Javascript stack (Javascript. Ajax, DOM scripting, JQuery, Prototype, scriptaculous, etc), and this is also a very exciting area, with a lot of innovation in recent years. XHTML and CSS are important no matter which web technologies you use. Then there are PHP and RonR (Rails), but this wanders far afield from J2EE.

I found the various Head First Books on HTML/CSS, Javascript, and Ajax to be a good start when I began with this. For Prototype/scriptaculous and JQuery look no further than Bear's books for Manning Press (Prototype/scriptaculous in Action, JQuery in Action). They are among the best. If you are a glutton for Javascript have a look around for anything written by John Resig, who founded the JQuery library.

Spring and Hibernate aren't necesarily 'hot' the way they were a year or two; they are simply necessary background for any J2EE programmer who hopes to do it in the long term. Spring has a number of subprojects which are worth digging into.

Web servers you shoul know include Tomcat (absolutely required) and JBoss. Lot's of demand in my area for Websphere. Portal products seem popular, as are the SOA products from IBM (Websphere) and Oracle (formerly BEA Weblogic family).

On the bleeding edge of app server technology is the OSGI spec. Spring has released a couple new containers, most notably Spring dm Server, which seems to be an OSGI-compliant server. This is the bleeding edge in containers now I think.

Apart from that I think it's worthwhile learning a range of technologies outside of Java. One of my goals is to go over to the dark side this year - learn something about C# and some of the slicker .NET stuff (Silverlight, Linq, etc). Can't say I know enough about this stuff to give a useful opinion (perhaps Bear knows more). And I'll probably pick up and do several of the Head First books on C#, Rails, and PHP this year. Java is no longer the beginning and the end, one needs more tools in one's skillbox these days.
15 years ago
I have an interest in SOA and have done some Jbpm work. Jbpm is the best BPEL tool out there.

Doe the book cover Jbpm, because I'd like to learn more?!
15 years ago
It's true that Struts 2 is not a follow-on or an evolutionary development of Strut, but it is also not completely a 'new' animal.

Struts 2 is actually based upon Webwork, which was an excellent leading-edge framework. So if you know Webwork you have an idea about what Struts 2 will be like....
15 years ago

Originally posted by Emmanuel Bernard:
A full-text search is all about searching strings but you can often find a string representation for a datab structure that makes sense for example date in absolute format.

Hibernate Search does support amost java types form the JDK and lets you write custom bridges to convert a structure into a string representation indxed into Lucene. chatper 4 covers Bridges.

A few examples:
- reads a byte[] representing the PDF, extract the text and index it
- read a MS Word file from a URL, extract the text and index it
- take a Map and store it in a way that makes search easier for you

Thank you Emmanuel, that sounds downright useful. So one could use a date as part of the search criteria, and pick up a string from within a PDF or a Map?

Any numeric search capability, or would that be asking too much?

[ December 11, 2008: Message edited by: Don Stadler ]

Originally posted by John Griffin:

No, in the strictest sense it does not. It provides the ability to do extensible full text search against a database. That's what it was designed to do and that what it does well.

Hope this helps.

John G

Yes, that does help. Thank you. I subscribed to the Manning promotion last week and took advantage of the 50% discount on e-books. I almost bought your book then but decided to go for Algorithms of the Intelligent Web, mostly because I wasn't sure where Hibernate Search fit into the search/data mining space. So this book is on my short list now.

What is the scope of the search that Hibernate Search does? Obviously into the various kinds of char and varchar, but does the search cover things like Blobs, large text types, the XML types provided by some DB's, etc? Does it use HQL or another mechanism to construct the searches?
[ December 11, 2008: Message edited by: Don Stadler ]
A significant problem with the SCDJWS is that the subject matter doesn't begin to cover the integration space. So the certification tells you that the holder has a decent knowledge of the legalities of the various JAX technologies, but not whether they know about other kinds of integration methods.

In the real world a lot of this is done using vendor tools (Oracle, Websphere, and Weblogic come to mind) or using a relatively new set of open source projects such as Apache Servicemix, Mule, Apache Synapse, and supporting open source projects which each solve a portion of the problem domain. Unfortunately SCDJWS tells you nothing about these areas.

I'm probably going to go get the SCDJWS anyway next year, to add some documentation to my CV and to tighten my knowledge of the formal WS specification. But I don't expect a certification book to come out any time soon, so what I'll probably do is rely on specifications, exam notes, and purchase one of the SCDJWS test simulators on the market for the all-important exam practice.
15 years ago
I've been digging a little into data mining and the intelligent web with the help of two other Manning books. It seems clear that Hibernate Search fits into the data mining space, but where?

Does it provide an ORM data mining capability?


Java Servlet and JSP Cookbook by O'Reilly, perhaps.
15 years ago
I own all three books. If I were starting out I would buy them in the following order:

"Harnessing Hibernate" first to learn the basics. Then JPWH as an exhaustive reference. Finally Hibernate Made Easy to learn the corners of best practice. I use them all regularly.

Leave everything else on the shelf.
15 years ago

Originally posted by Tim Holloway:
Actually, I've seen more bleeding of development into the quick-and-dirty development frameworks like RoR and Django than .Net..

Yes. I don't think it's a matter so much of jumping from Java to .NET as learnign some productivity multipliers like RoR or Groovy and Grails.

There is always more stuff to learn. Right now I'm digging into SOA and ESB, and found there was a LOT I didn't know about XML tools which you need to know to be even halfway competent in SOA. This isn't as much about being a Java guy as an SOA guy, and knowing as much of the stack as you can manage.

I fear this means that sometime soon I'll break down and be buying HF C# as a start on learning the M$ stack. Not because I'm jumping from Java. More because after learning JAXB, JAX-WS, WS-1, Mule, JBI, ServiceMix, Apache ActiveMQ, etc, learning about the Dark Side(tm) becomes the next natural step....

Originally posted by Tim Holloway:
What happens to Sun is immaterial. Unlike .Net, Java is independent enough of its owner that even if Sun went out of business this afternoon, Java would still be a viable platform.

We have more hardware horsepower and software than most of us really need. As a result, it has freed us to be more selective about what we use, and selective isn't a good thing for proprietary solutions providers.

Good points. For me I think it's probably a good idea to know both. I'm seeing signs that your analysis about growing companies moving off of .NET is spot on. But to me that means that a guy with serious Java stack skills and some .NET will have a relative advantage for a segment of the job market....
15 years ago

Originally posted by Mark Herschberg:

When you see annual inflation above about 20-30% (and it sounds like his annual salary increases are higher than this), you approach hyperinflation which is even more destabilizing than a bubble. Hyperinflation means it's time consider alternatives to the currency.

Of course, according to the article India's inflation rate is 15% So over about 5 years that's around 100%; even accounting for increased in responsibility (i.e. pay grade) that's still a warning bell in my mind.


I'm not sure what the time frame on this is, but I think a lot depends upon where he started. When the outsourcing started one could hire a competent Indian guy for about $2500 a year and a guru for maybe $5000. That was a long time ago, but I could easily see how an Indian guy who started at $2500 and became good could have gone to as much as $100K over 12 years, as salaries rose to a large multiple of salary levels in the US or the UK.

I experienced something similar during the first years of my career in the US. I landed my first job during the depths of the 1982 depression and the pay was incredibly low. It doubled after 2 years, and almost doubled again after another 2 years. It's much slower now of course...

The other thing is that it can take time until you really grok something. I started as a C hacker, and an inexperienced C hacker is pretty worthless until he learns his craft and ceases scattering wild pointers about the code base, learns a bit of design (no more 300-line functions), etc. So even at that low rate of pay I might have been overpaid!

Apart from these observations, yes you are absolutely correct. Except for the geniuses or some architects I think that western salaries form a kind of ceiling on Indian pay rises. Why would you outsource to India when the skills can be sourced closer to headquarters?
[ November 16, 2008: Message edited by: Don Stadler ]
15 years ago
I wasn't sure where to put this, but this seems the best place.

I've wanted to put together a web site for putting some thoughts down and also use it for marketing to some degree. Not really a blog sight (for now) because I'm not committed to blogging daily or weekly and believe that neglected blogs look really lame.

What I have in mind is a site to put some written papers on, perhaps some tools demos, perhaps some architecture thoughts, etc.

Can anyone point me to some really well-done personal web sites done by programmers?
15 years ago

Originally posted by Akhilesh Trivedi:
I was reading Java Web Services from O'reilly. It does talk in theory of SOAP but hard to move the first step for practical. It would have been good if there was 20 % RMI & CORBA section before jumping to Web Service.
On the other hand, Apache axis has enough online documentation for 'how' part but doesnt satisfy for 'what ', 'why' and 'why not' part. Moreover the documentation has heavy terminologies, as a beginner i did suffer.

It sounds like this book covers first-generation SOA using the RPC paradigm. This was basically a repeat of CORBA/RMI and DCOM - distributed objects over SOAP. This uses RPC/Literal binding.

The Hansen book on Java SOA covers second-generation SOAP, which is that the Document/Literal wrapped style should be used. There is also a Document/Literal unwrapped style but this is not legal for multiple parameters under WS-1, so it is only recommended for messages.
[ November 15, 2008: Message edited by: Don Stadler ]
15 years ago
I am working through the Hansen book currently. I'm not strictly a newbie, having some background with RESTful web services and some SOAP work, but near enough I find.

The Hansen book is a very dense read, but by pulling up the code in eclipse and reading and re-reading the text I find I am learning quite a bit.

The problem for newbies is learning enough about SOA to actually be useful. Most *basic* Web Services books are simply not enough in my experience to get you to tht level. If you want simple I recommend sticking with REST. For SOA you have to make a commitment of time.

This is where the Hansen book comes in. Once you are aware of a couple fixes which need to be made, Hansen's examples run well. He takes you though an exhausting list of alternatives and explains what is better and what is worse. Don't just grab an example and assume it's best-practice because sometimes he develops an working example which is pretty grim, then in the next section shows how to make it better.

That said, I've found this book to be exactly what I need to take my skills to the next level. Hansen shows Lot's of ways of doing things. His examples aren't toy examples, they accurately describe the challenges of real-world system integration work, and give you multiple tools to solve those challenges. It's a difficult book but a great one in that respect.

There were a couple of problems with the examples (at least on Windoze) which you need to get past. A recurring maven problem is a POM validation error, maven 2 objects to relative paths names. This pretty much has to be fixed for every example.

< !-- systemPath>${glassfish.home}/lib/javaee.jar</systemPath -->


The other problem is a missing environment variable which needs to be set to point to the maven 2 home directory. This is named M2_HOME in the build files.
15 years ago