I’m not going to cross post my O’Reilly Blog entry on Red Hat Developer Studio.
I’ll just give the 2 minute summary. An IDE (integrated Development Environment) is like Microsoft Office for Developers – you could use notepad instead, but an IDE makes the overall writing experience easier. Microsoft Visual Studio is the main non-Java IDE. For Java , you have the choice of Eclipse (and other tools built on it such as JBoss IDE, JBuilder ,Websphere and Weblogic studio), IntelliJ or Sun’s Netbeans. Very much a personal preference as to which is best of the three of these.
For me, I tend to use Eclipse (1) because I can install it on any client site (2) If an IDE preference is stated on a project, it tends to be Eclipse and (3) There are plugins available for almost anything – including non-Java languages such as Ruby.
Or rather , I download a version of Eclipse with all the plugins pre-packaged – which is what Red Hat Developer Studio does.
Full Install Notes on / Getting started with Red Hat Dev Studio are here.
(Struts is one of the most popular way for companies to build their websites. This was to be posted on Bill moaning about Struts 1 problems, but Bill’s blog isn’t accepting comments at the moment.)
I hate to spoil your Struts 1 party , but most of these problems have been known for some time (and the Struts team would be the first to articulate them). Struts 2 is a huge improvement and , as you mention, there are good alternatives out there (including Spring MVC).
The problem is that migration from Struts 1 to (for example) Struts 2 , while easy, still carries a risk for the project in question. It can be hard to convince the business decision maker when all they see is pain (‘so you’re going to break the existing site?‘) for very little gain (‘where’s the immediate payback of upgrading?‘).
My advice is to stick with Struts 1 on existing projects. Use Struts 2 (or even better, Appfuse) on new projects. And for new code on existing projects, consider running them both side by side. They’re all tried and tested solutions.
The announcement on the official BarCamp Dublin Blog is here.
To quote what is barcamp?
[Barcamp] is an informal gathering of people from technical and business backgrounds, where information and experiences are exchanged. The event is geared towards sharing knowledge and learning from others and there is a policy of encouraging active participation in all discussions.
So if you’ve never been to one before, and not sure about attending. Just Go. You’ll be glad that you did.
Update: Paul asked me to change the order of links so that the ‘official’ site came first (previously I had his blog listed top). The original links are below.
Paul Walsh has announced the date of Barcamp Dublin on his Blog. It’s Saturday 21st April in the Digital Hub Dublin. Paul is organising the Event , along with EllyBabes and Joe Drumgoole.
Update 2: I’d forgotten to mention Keith Bohanna’s post about the upcoming Barcamps. Anybody else up for organising a Barcamp north of Dublin (in Drogheda, Dundalk or Newry)?
Hurry if you want to be included , only 980 spots left …. The only downside is that there is no summary with the photographs, so leave me a message here if you’re a Technology or Business blogger.
Update: Fun while it lasted, Tino has pulled the original post because of / despite of a complaint from Technorati.
No matter what your system does , be it insurance , banking , online travel booking or telecoms, the chances are it does the following things:
- Gets information from users over the web
- Does some business processing on that information
- Saves the information in a database.
At a conservative estimate , about 99% of Enterprise systems would fall into this category.
If so, why do you need an architect , when you can use our ‘one size fits all’ architecture diagram (below)?! Most non-trivial systems, regardless of the language they are written in (be it Java, .Net , or your language of choice) follow the pattern seen in this diagram.
3 Tier Enterprise Diagram
There are 3 Pieces to the Solution:
- Web Browser (for the user / client).
- Web and Application Server – carry out business logic.
- Database Back End – to store data and ensure data integrity.
Within the Application Server (the middle bit above, which as Java Architects is the bit we are interested in), there are a further 3 tiers
- A Presentation tier (or layer), which is mainly about talking to the user (it gets and sends requests to the web browser).
- A Service layer , which is mainly about talking to back end such as databases, legacy systems (such as mainframes) and XML-Web services that we may use.
- A Business layer, the ‘meat’ of the sandwich, where the ‘Value add’ is in terms of business processing and validation.
For each of these layers , your priority in building them are slightly different.
- The Presentation layer is the bit the user sees. You want it to be fast and give a good impression to the client. Underneath, use a standard framework (link: pick your framework here) and then customize the look and feel.
- The Service layer you want to work fast and well (e.g. no data faults), but then then forget about. Unless things go wrong, no user is going to complement you on the quality of database persistence! Use standard libraries for the entire layer.
- Unless your company is a clone or franchise, the business layer in the system is going to be completely different. Aside from the user-interface , concentrate most of your project effort here as this is the core of what system does. We’ve written quite a bit about how to increase the value-add of the business layer (link to O’Reilly Technical Articles)
By the way , we’re only half-joking about the ‘why do you need an architect’ bit. We can be contacted here.