- All
- Personal
- Programming
- Sun
Interested in REST?
I've written a post on the other blog describing an imaginary use-case for a RESTful web service in an attempt to explore possible ramifications to enterprise architecture*. I would really like to see your comments, specially dissenting ones.

* I hate that term, "enterprise architecture", but it seems unavoidable here.
Posted by rafaeldff [Personal] ( December 10, 2007 08:39 PM ) Permalink | Comments[0]
USPJUG November Meeting and REST
This Monday we had our monthly Java Users Group meeting, where I gave a talk about RESTful Web Services and JSR-311. You can find the slides below.
Since the year is ending and this was my last tech demo of 2007, I thought I should try to list what worked and what didn't:
- Attendance: not great, I really need to work harder on publicizing the meetings, since this has been a problem throughout the year.
- The Topic: This item is mixed. On the one hand I've heard comments that the subject of the presentation could've been more inviting for students that are just beginning to program. On the other, there was productive discussion and interesting questions from the attendees. All in all, I think this kind of topic can work, but maybe I should actively promote our sessions among grad-students as well; right now most of the communication effort is being directed at undergrads (such as myself).
- The slide-set and topic organization: Again, mixed. I think the flow was good overall, but there was a point, when I introduced the main concepts (or constraints) of REST, where things got too abstract. I sensed that when preparing the talk, but thought that the following examples would clarify any murky points. Now I realize I was wrong and I must insert at least some diagrams to help make the ideas more palatable. That said, I think everything was understood after some improvised blackboard diagramming :)
- The Demo: My sample was a simple Student-Course enrollment system. I decided not to live-code my sample because it wouldn't have been possible to go deeper into interesting issues regarding the framework and resource design. Now I see that it was the right choice, the time was well spent discussing HTTP status codes, Jersey marshaling options and design alternatives. If I'm lucky enough to ever get to do this demo again, it may be interesting to show a small client application, but it's not really necessary since the combination of NetBeans tooling and curl are enough to smoke-test the service.
- The Food: As happened on the other tech demos, the food was over before I got a chance to get my hands in it, bummer... This time I didn't even saw the pastries!
Here are the slides, in portuguese:
If anyone is interested, I can make the demo code available as well, just leave a comment.
Posted by rafaeldff [Personal] ( November 28, 2007 06:22 PM ) Permalink | Comments[0]
CJ2007
This past friday and saturday I was fortunate enough to a attend a great event thrown by the brazilian Java community. It is called "Conexão Java" (in english, "Java Connection"). As usual, the best part was the chance to meet friends and get to know new people. I didn't know Sun was sponsoring the event until I got there, but I did spend a little time hanging out with colleagues in our booth. The sessions were interesting as well, reflecting a certain "zeitgeist" in the Java development world that I've tried to capture in the descriptions below. I missed all of friday afternoon, but attended most of the rest of the event:- Java ME, by Thadeu Russo. It was an introductory talk, and I can't really comment much because mobile dev isn't my cup of tea.
- Scrum, by Alexandre Magno. Great talk. He focused a lot on agile principles, the manifesto, etc., and that left little time for the specifics of Scrum. But it was probably the right choice given the low level of adoption of Agile practices in Brazil.
- Java performance, by Claudio Miranda. This one I missed as it conflicted with an important algebra class. I'm mentioning it because everyone I talked to really liked the session.
- Keynote: "End of the one note architect", by Carlos Villela. The name is a pun on a brazilian song called "one note samba". CV, an architect with Thoughtworks, talked about the malady of technologists that limit themselves to one single technology as if it were the solution to every problem under the sun. He didn't miss the opportunity to take a few jabs at Java, the language, but highlighted the importance of Java, the platform. I'm on board with the overall message, but I'll take this chance to hammer on a pet peeve of mine. I often hear variations of the "toolbox argument", it goes something like this: "There is no reason to use the same programming language for everything, you should pick the right tool for the right job. A good carpenter would never use a chisel to insert a nail", and so on... You've probably heard this kind of analogy before. My beef with it is that a Java is not a hammer! General purpose programming languages and platforms are sophisticated beasts and hardly ever do we find ourselves in a situation where there is a clear cut option: "to secure this screw we need the phillips screwdriver over there" is so different than "for the new kiosk system we'll use JavaFX communicating with an Active Resource based backend" that the whole analogy becomes meaningless or even harmful. Anyway, Carlos did not use the toolbox argument and everything he said was very sensible, so this whole rant is just me stepping in my personal soapbox. My point? Software development is not an easy chore, period.
- Agile Methods for the Traditional Guy, by Danilo Sato. More beating of the Agile drum by another Thoughtworker; great stuff. Danilo is a gifted speaker and really engaged the audience. I do have some issues with the characterization of a "traditional guy", though. I think it risks portraying agility, by opposition, as some newfangled über-vanguard concept, when it really is the product of years of experience developing software. Of course, anyone who actually heard what Danilo had to say learned this fact, along with a plethora of interesting data. This line of criticism also applies to the "eXtreme Programming" name, by the way.
- Java Architecture, 2007, by Phillip Calçado. Phillip is well known in the Java community, as are the other speakers BTW, having recently ended a stint with Globo.com to embark on a career with Thoughtworks in Australia. This is the third Fowler minion in a row, for those keeping score. One attempt to summarize the main message of the talk would be: wake up and smell the beans, the days of J2EE 1.4 and EJB 2 are over. Phillip focused on many issues that are frequently raised in internet forums, such as the extremely limited applicability of the Data Transfer Object (née Value Object) pattern and Fowler's first law of distributed objects — do not distribute your objects! He mentioned DDD and MDD, though there wasn't enough time to elaborate more deeply. Overall it was another great talk, accompanied by an awesome set of slides. The most valuable takeaway for me was the discussion of caching architectures, an area I haven't delved into so far. Shoes (Phillip's online alias) also ran a little architectural workshop which was great fun, if a little too short. I almost forgot, in case he is reading this, best of luck in aussie-land!
- Creating Domain Specific Languages with ANTLR, by Fernando Meyer. I got to know Fernando in this event and he is a great guy. He works for JBoss as a core developer of the Drools rules engine. The talk was pretty cool, giving an overview of core concepts in compiler development — lexer, parser, AST, the whole enchilada — and demonstrating them with ANTLR. I have some (not much) experience playing with parser generators, so I was mostly looking forward to hearing more about Drools, but again, there wasn't enough time to talk about it.
I have some more stuff to say about the conference in general (what a loudmouth!), but it will have to wait until tomorrow.
Posted by rafaeldff [Personal] ( November 14, 2007 03:27 AM ) Permalink | Comments[0]
Optimism
Worth a look.
Posted by rafaeldff [Personal] ( June 23, 2007 07:28 PM ) Permalink | Comments[0]
Evento "Falando em Java"
Uma dica para quem estiver em São Paulo no dia 30 de junho. A Caelum vai promover um evento de Java focado em Web2.0. Alguns assuntos abordados serão Ajax, WebServices, Tags, Lucene e JavaFX.Posted by rafaeldff [Personal] ( May 31, 2007 01:33 AM ) Permalink | Comments[0]
Housekeeping
- I'm trying out the daily bookmarks posting thing from del.icio.us. It's an experiment, I want to see if this brings the blog closer to a frequently updated link-blog kind of thing. That was my expectation when I started my first blog, but I just didn't have the discipline to select and comment on content regularly. But my del.icio.us bookmarks are pretty well kept, so let's see what happens. I'm slightly afraid that many of the links will be way too off-topic, so if you are reading this and find it annoying, please shout out.
- Now that I mentioned it, my first blog is still active, and I don't a well defined policy on what to post where. I believe I'll focus most Sun and Campus Ambassador program related matters here and post longer rants and ramblings there, maybe cross-liking when interesting.
EDIT: Del.icio.us daily posting stopped working and I don't know why. I'll try to get it sorted soon, but it seems that these kinds of problems are common, specially on non-WordPress blogging platforms.
Posted by rafaeldff [Personal] ( April 17, 2007 12:14 AM ) Permalink | Comments[0]


