 |
Felipe Gaucho's Blog
Felipe Vieira Silva, a brazilian known as Felipe Gaucho, started his computing career in the 90's (C/C++, VB) and first tried Java in 1998 during the development of a robot arm simulator as a student of scientific initiation program at UNISINOS. One year later he concluded his course and becomes an enthusiastic about Java, seeking the tricks about the new technology and joining himself to projects that involved the concept of portable software - the fever of that time. On December 2002 he concluded his Masters Degree in the Federal University of Cear·, publishing his dissertation about "Planning & Scheduling" and started teaching in faculties of computing. The challenges of the new career revealed an exciting area: Learning & Education. Observing the behaviour of students and teachers, he started dreaming with several computational solutions for questions like "how to enhance the teaching?", "how to facilitate learning by the students?" and other common issues shared by the academic community. Nowadays, Felipe Ga?cho is seeking a PhD opportunity in order to improve his knowledge and enhance his capacity of contribution for the society. The establishment of the Schoolbus Project in the JELC community was an important step in that direction, and he believes he can become a good researcher in the next few years.
SOA way of life: a day in the GUI Shop
Posted by felipegaucho on June 09, 2008 at 03:08 AM | Permalink
| Comments (5)
|
Following my open questions series to Jazoon'08, I will abandon
my server roots for a moment and I will visit the the GUI programming -
a joy I usually delegate to other people but I must confess that also
has it goodies. Preparing for the conference, I am applying an extra
effort on my open source Cejug-Classifieds, a J2EE application that uses
a JAXWS SOAP WebService as business facade. You can visit our home-page
to check the complete information Cejug-Classifieds, but its main
components can be illustrated in the collaboration diagram below. I have
a EJB J2EE component that encapsulates the business logic, and I have a
set of JAXWS web-services that expose the Session Facade methods of the
EJB module in format of SOAP messages. The first two components are
under development and some features can already be tested through the
available functional tests. The problem is we don't have anyone working
on the end user GUI - the web-services client - and that's why we
decided to visit a GUI Shop. |  |

The GUI Shop
Asking through mailing lists and reading Internet blogs, you can
find an uncountable options to produce the front-end of J2EE
applications, including different platforms - J2ME, J2SE and J2EE - and
different technologies and frameworks on each of these platforms. It is
hard to say at first sight what is better, so let's start creating some
criteria to evaluate our options. First of all I will reduce the scope
of my search to web technologies (Desktop and Mobile technologies
deserve another blog entries).
- Price: I will only check the free stuff since
my project is open source.
- SOAP 1.2 ready: the framework will consume
SOAP web-services, so it is naturall to expect some built-in feature to
communicate with soap. The minimum version that should be supported is
1.2, but a 2.0 support is a plus.
- Tooling: the selected technology should allow
the automatic build of my web-application, specially using the tools I
have at home: scripts like Ant or Maven controlled by the common IDEs
like Eclipse and Netbeans.
- Server friendly: the web technology should be
easily deployed in the most common open source servers, like Tomcat,
Glassfish and JBoss. Despite the candies offered by the server vendors,
I don't want to be locked in a server because they convinced me about
their fast development methodologies and proprietary frameworks.
After reading a lot of propaganda about web application
development frameworks, I finished with the following candidates:
- Grails: a very popular
framework supported by an enthusiastic community. The programming
language is groovy and it gets powered with the usage of some of the
large amount of available plugins. It works on top of Hibernate and
Spring, so be prepared for a lot of dependencies. Best if consumed with
Maven (IMHO). My preliminary attempts to run the helloworld proved the
weak support of the groovy language both in Eclipse and Netbeans. I
know there are paid plugins that can help, but to pay is not an option
- groovy seems to follow that lemma: simple things to solve
simple problems.
- jMaki: Carol McDonald was also visiting the GUI Shop and brought me an impressive introduction to fast web 2.0 development based on jMaki. Good option.
- JRuby: after few years being
promoted as the prospective replacement of Java, Ruby language was ported to JVM and
for some strange reason it was not adopted as widely as we expected.
Nevertheless, the language is available in our virtual machine and
deserves a trial. The promise of very fast development of web
applications is very attractive, but I want to verify what it offers
beyond CRUD operations.
- JSF: polemic
technology since it pushes the rendering of the view layer to the
server side. At first sight I would say it should perform worse than
its ultra-light competitors, but due to the good examples (1,2)
and excellent documentation on the web, I should include JSF as one of
my options.
- JBoss Seam: I
included seam in my shop list because the impressive demos and natural
integration of the seam web-applications and j2ee applications. The
negative point seem to be a fear about the coupling between the
framework and the JBoss server, what matches my server friendly
constraint. I need to think better about that, because I found some
interesting articles on the Internet showing Boss Seam running on
Glassfish (1,
2).
So, if we can have the full power of Seam without locking the
application in the JBoss container, it is a first class option.
- JavaFX: the
rich-client sector of the GUI Shop is full of colors and music, there
is also a big animated banner at the corner that says Applets
are back. I should confess that the idea of resurrection of my
school-time Applets is a nice dream. So I will include JavaFX and all
its open possibilities in my check list. FLEX would be another good
option, if the FLEX development tools were not paid :(
Shopping Cart - Checkout
Time to pick up a product and go home to try the new gift. As you
can notice above, there is no golden hammer in the web applications
market, but as any other buying stuff, you must select one. For today, I
will just enumerate my preference and discuss with my Jazoon pals about
that :) After the conference I plan to write a new blog entry with my
conclusions. If you ask me today, I would bet on JRuby, even more
because it comes with a nice free gift: a free online course
starting on July :)
Remember: it is an open
discussion and not a formal product evaluation, it is based only on my
opinion and also on the discussion I read in my mailing lists. If you
remember some missed web-framework, please send to me and I will include
in the selection list.
Should I use EJB3 as web-services?
Posted by felipegaucho on June 02, 2008 at 01:49 AM | Permalink
| Comments (4)
|
More than a community and business event, Jazoon'08 offers you a chance to
discuss technology free of pressure. You can meet the top evangelists
and share with international developers your technical issues and
questions - a pervasive brain storm about the Java platform. Excellent
opportunity to validate your ideas on how to do better software - and
if they don't survive the community's scrutiny, you can always blame
the beers and back home with good learned lessons :).
I have my own set of (Not
So) Stupid Questions, and the first one I want to discuss with you is
about web-services and EJB3.
|
 |
Is it a good design to expose EJB3 Session Facade as
web-services?
Reading patterns
and examples
on the Internet, EJB3
+ @WebService seem to be a fast and furious way to go straight to SOA
with few lines of code and a
good container. Despite the simplicity of annotations, I
started designing an Open
Source Classifieds system based on J2EE technologies and I have some
observations about that.
Instead of replicating here all discussions about web-services
design and its technology support, I prefer to bring you a few design
options and get your feedback live during Jazoon.
- Web Client -> JAXWS SOAP web-services -> Session Facade ->
Domain Model Facade -> @Entities
- Web Client -> @WebService Session Facade -> Domain Model
Facade -> @Entities
- Web Client -> @WebService Session Facade -> @Entities
Some considerations about the above design options:
- If I use annotations, I am assuming SOAP web-services, right?
And what about REST?
- If I do expose my Session Facade directly, how can I change
later my interface from SOAP web-service to something else ?
- What about validation and security? My business component
should care about data input validation and authorization and
authentication?
- Load balance and orchestration. Can I use a web server (Tomcat?) to expose the service interface and a j2ee container to do the business? What about service collaboration? The session beans will have references one to each other?
Using a same class to expose services interface and realizing
business use cases seems a bit overlapped to me, but eventually I am
missing some point here. It is up to you, see you in Zürich :)
Fishing the glass during Jazoon'08
Posted by felipegaucho on May 26, 2008 at 02:57 AM | Permalink
| Comments (1)
Let's check the conference guide to see where to find a good fish
in Zürich, more precisely, where are the best Jazoon'08 presentations
for Glassfish users and web-service developers.
From my last conferences experience, I learned to create a
conference schedule divided in topics instead of just going there and
selecting the topic of the day. I first collect the
list of conference's topics and then I prioritize them by
day. For every day, I know the two or three presentation I must go, the
ones I want to go, and the ones I would like to go. I also include some
community slots in my schedule and, of course, some free slots - to give
me a chance to checkout something I've never heard about. It is not a
scientific method, but at least it gives me a chance to monitor my
conference day-by-day, avoiding myself of missing that fantastic session
because I was watching an impressive demo in a commercial booth :)
 |
Jazoon'08 Fish Menu: Glassfish and Web-Services
Nowadays I am focused in web-services,
specially SOAP web services and Glassfish/Metro technologies, so let's
check the Jazoon'08 fish menu: |
-
Monday, 2008-06-23, 09:00 - 15:00, Arena 7
GlassFish
Community Day: six hours fully dedicated to the latest novelties on
Glassfish technologies. Commanded by Jerome Dochez - the Glassfish
architect - it is one of the unmissable sessions for any
glassfisherman.
-
Tuesday, 2008-06-24, 15:00 - 15:50, Arena 5
SAML:
Identity Federation in Practice: you know, strange fishes deserve
precautions about how they are prepared. Security is the base of
comfort when you try something exotic and it is even better if you know
the cooker and from where the fished are coming from. Security and
person identification is a key concern in interoperability between
web-services, and I am definitely interested about that session.
-
Wednesday, 2008-06-25, 11:00 - 11:50, Arena 6
JAX-RS:
The Java API for RESTful Web Services: a small and fast fish served
flambé, a kind of spiced web-services. If well prepared, it can offer
you a surprisingly experience, and be aware you can eventually becomes
addictive to it. Why not?
-
Wednesday, 2008-06-25, 11:00 - 11:50, Arena 6
JAX-RS:
The Java API for RESTful Web Services: a small and fast fish served
flambéed, a kind of spiced web-services. If well prepared, it can offer
you a surprisingly experience, and be aware you can eventually becomes
addictive to it. Why not?
-
Wednesday, 2008-06-25, 14:00 - 14:50, Arena 9
Integration
Profile for GlassFish v3: in case you swallow a spine of fish, it is
better to do a checkup. This session bring us a way to find out where
are the dangerous spines of our JEE applications.
-
Wednesday, 2008-06-25, 16:30 - 17:20, Arena 6
Web
Services and Transactions: a good dinner ends with bittered bill, and
while you taste your wakeup expresso you should pay the bill
and finish the transaction. This simple scenario in a restaurant
becomes weird if you have the cooker, the waiter and the clients in
separate rooms :).
-
Thursday, 2008-06-26, 14:00 - 14:50, Arena 9
Glassfish
V2/V3 - the killer appserver for development and production: visit
our kitchen - this session introduces a guide tour to the Glassfish
server's features. An unmissable session for a new fisherman.
It is just my Glassfish guide for Jazoon'08, I hope we can meet
there and share ideas on how to produce better web-services based on
Glassfish.
Cejug-Classifieds goes Metro
Posted by felipegaucho on April 04, 2008 at 12:24 AM | Permalink
| Comments (0)
|
Since it was created, the cejug-classifieds project served as a proof of concept for a lot of technologies. Now it comes back with a new set of SOA technologies.
I plan to post our detailed plans asap, but until I find time to create better documents, I published a collaboration diagram in the cejug-classifieds home page and I also published a WAR file you can run in Glassfish for testing - the deployment descriptor included in the WAR is only ready for Glassfish, and I am looking for a volunteer to adapt it to Tomcat or JBoss :). If you prefer to inspect the code snapshot, you can checkout the complete source code from SVN.
Take the subway and visit us at the Cejug-Classifieds, we are waiting for your best tips about our new plans. | 
|
 |
 |
June 2008
| Sun |
Mon |
Tue |
Wed |
Thu |
Fri |
Sat |
| 1 |
2 |
3 |
4 |
5 |
6 |
7 |
| 8 |
9 |
10 |
11 |
12 |
13 |
14 |
| 15 |
16 |
17 |
18 |
19 |
20 |
21 |
| 22 |
23 |
24 |
25 |
26 |
27 |
28 |
| 29 |
30 |
|
|
|
|
|
Search this blog:
Categories
Business
Community
Community: Embedded Java
Community: Global Education and Learning Community
Community: Java Patterns
Community: Java Specification Requests
Community: Java User Groups
Community: Java Web Services and XML
Community: JDK
Community: linux.java.net
Community: NetBeans
Community: Robotics
Deployment
J2EE
J2SE
JavaOne
Mobility
Open Source
Patterns
Performance
Programming
Security
Tools
Web Applications
Web Services and XML
Archives
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
December 2006
November 2006
September 2006
August 2006
July 2006
May 2006
March 2006
February 2006
January 2006
December 2005
November 2005
October 2005
Recent Entries
SOA way of life: a day in the GUI Shop
Should I use EJB3 as web-services?
Fishing the glass during Jazoon'08
Articles
The Requisites of a Question-Management System
The Quaestio module of the java.net Schoolbus project hopes to make it easier for teachers and professors to manage the questions they use on tests, quizzes, and homework. As project contributor Felipe Gaucho explains, hammering out the needs, goals, and concepts of such a system is tricker than it looks. Sep. 2, 2004
All articles by Felipe Gaucho »

|