I’ve decided the road map for my journey from my opinion, by traveling from the back-end as a database storage through the front-end, the presentation. I love this approach while I’m in the development phase. It ensure the basement is strong enough before moving to the top as same as the building construction. The decoration should come last.
I understand this approach may not meet the real world implementation. Since the front-end, especially look&feel may be the most important for the impression and satisfaction at the first look. People always rush to see what I make for them instead of focusing what their business want.
The middle-out approach is used often to meet both of the strong base development and the people impression and satisfaction. The strong and flexible interfaces between back-end and front-end is the very first item. Then the front-end and back-end can be done simultaneously with the highest respect to that interfaces. We will meet at that line is my often word for reminding myself.
During the developing, the changing must be occurred for sure. The whole system will be effected only the interfaces, I mean only on the integration part. As long as the look&feel is nice and the system can serves their business requirement, it is enough to achieve that project.
I thought, before I can do the middle-out, the bottom-up must be understood first. I need to see the big picture from end-to-end before I make any applying.
The road map overview
It will be implemented by using the JPA
The business processing
It will be implemented by using the EJB, especially focusing to the integration via the interfaces such as web services(SOAP/RESTful). Both of synchronous and asynchronous integration will be focused. I’m thinking of the messaging approach, the JMS and/or email
It will be implemented by using the newly Java Server Face (JSF) 2.x
Firstly I will focus on the JavaEE standard component. If it is success I will move further to the non-standard, the third party tool, for better implementation. (I also hope it is better) I will make a little 2 projects by following this approach and looking forward to integrating them via the Service Oriented Architecture (SOA) approach and tools.
My big mistake is the netbean 6.7.1 only support the glassfish version 3 prelude only. Since nowadays the glassfish version 3 is official released already and it is fully supported by newer version of netbeans, the version 6.8 or above. Please not at the moment, the version 6.9 is released as a RC2 and will be final around June 16, 2010.
I will install all version of netbeans on my laptop, V6.7.1, V6.8 and V6.9 for ensuring the technology updated.
The official feature highlight for netbean 6.8 is as following: -
Java Enterprise Edition 6
* Web Projects with Java EE 6 and Java EE 6 Web profiles, EJBs in web applications
* EJB 3.1 support, EJB project file wizard also supports Singleton session type
* RESTful web services (JAX-RS 1.1), GlassFish Metro 2.0 web services (JAX-WS 2.2),
* Java Persistence JPA 2.0, deployment, debugging and profiling with GlassFish v3 application server
Web Projects with JavaServer Faces 2.0 (Facelets)
* Code completion, error hints, namespace completion, documentation popups, and tag auto-import for Facelets
* Editor support for Facelets libraries, composite components,expression language, including generators for JSF and HTML forms
* Customizable JSF components palette generates JSF forms and JSF data tables from entities
* New File wizard generates customizable CRUD (create/read/update/delete) JSF pages from entities
* Broader usage of annotations instead of deployment descriptors
You can find more information here
Firstly I use the Eclipse as my master tool and fall in love with it,
anyhow at the moment, I seems to be divided to the NetBeans.
Currently I use the NetBeans 6.7.1 as my primary tool. Eclipse still online
as a Galileo, for system integration and compatible testing. Please note
there are many IDEs for ensuring testing, including with commercial IDEs.
My prefer Application Servers are based on 2 favorite open sources as
Glassfish (Version 2.1 and 3) and Apache Tomcat (Version 5.5 and 6.0).
The database, I also give the importance to the the open source as the
Apache Derby and MySQL. Please note, The SQuirreL SQL Client is only tool
for exploring the database.
The middle-ware is also an open sources as well. For achieving the
Service Oriented Architecture (SOA) is prefer the OpenESB, The security
middle-ware is OpenSSO which use the OpenDS as a user store.
For the web service development, I always use 2 tools together, the Apache
Axis and the Metro.
Even my projects are developed and tested on my laptop machine which is
pre-installed as a Windows Vista Home Premium Edition, I always deploy my
project to the dedicated server which is a SentOS environment as well.
As you have seen above, I focus on the open source software with purpose
to ensure that everyone can start and follow without any costing. The open
source software always challenge me on the production environment
as well. It give me an energy boost up for supporting. It’s very exciting.
Mainly I focus on the new technology, the JavaEE 6 and SOA, but I cannot
deny the backward compatibility for my previous production. You will see
I always give the attention to the system integration among many versions
of the application servers and tools.
Not only open source software, but also the commercial software which I
focus, including with Application Server, Database and middle-ware.
I hope I may have a chance for sharing about them.