Skip to main content

Posts

Moving from Ant to Maven: Best Practices with Maven Plugins

I would like to share my experience of moving from "our reinventing wheel" of Ant build scripts to Maven standard. I reworked some apps which have following characteristics: (1) Java Version: - The apps should be compiled with Java 6 version . (2) Basic technologies: - Some of the apps are using Model Driven Architecture/Model Driven Software Development things, it means we have some MDA/MDSD generators inside our Ant scripts, like AndroMDA or oAW . - Almost all the apps use Hibernate , so we need to generate the whole Database scheme to be able to create the whole database automatically. - Some of the apps use older version of ANTLR . So we have some of ANTLR source codes which have to be compiled. - Some of the apps use older version of Groovy . So we have some of Groovy source codes which have to be compiled. - A webapp uses GWT as presentation layer. (3) Packaging: - Some of the webapps have somekind of information about the version . For ...

Inside-Out and Outside-In Integration of Webapps: Services and Extensions

In terms of integrating your webapp with other webapps and another way around I see two different integration types: 1. Inside-Out Integration This is the standard way and almost every webapps available use this possibility. For other webapps to be able to use some functionalities of your webapp you often offer Web services (mostly in RESTful manner) which can be called from outside or other webapps easily. In this area you offen need following strategies and standards: Webservice protocol: REST for allowing to define the functionalities you want to export to other webapps. OAuth (two and three legged) for allowing other webapps to calls your webapp services, authorization. Sometimes OpenID for allowing other webapps to use the same login, authentification. 2. Outside-In Integration This is still not commonly used in webapps development. In some desktop apps we know this as a concept of Extensions and/or P lugin s (I use these terms exchangeable). This integrati...

Don't leave home without these Eclipse 3.5.x (Galileo) Plugins...

M2Eclipse: http://m2eclipse.sonatype.org/sites/m2e JarPlug: http://www.simontuffs.com/jar-plug LogWatcher: Without Update Manager: http://graysky.sourceforge.net OEPE (Oracle Enterprise Pack for Eclipse): h ttp://download.oracle.com/otn_software/oepe/galileo Google Plugins for GWT and GAE: http://dl.google.com/eclipse/plugin/3.5 Subeclipse SVN: http://subclipse.tigris.org/update_1.6.x Android: http://dl-ssl.google.com/android/eclipse ATF (Ajax Tools Framework): installation guide: http://wiki.eclipse.org/ATF/Installing A good comprehensive list of Eclipse plugins can be found here: http://www.tutego.de/java/eclipse/plugin/eclipse-plugins.html Have fun! Lofi.

HOW-TO: OEPE - FastSwap with Maven2 and M2Eclipse Plugin

At the moment there is not enough information if you want to jump start with OEPE (and of course using FastSwap) and Maven2 (using M2Eclipse plugin). This HOW-TO shows you how to achieve this. You need to have Eclipse (3.4 or 3.5), WLS (10.3 or 11) OEPE, Maven2 and M2Eclipse installed correctly before you can follow the steps below: 1. Create a web application with the webapp wizard (dynamic web project). Choose a webapp based on WLS (10.3 in my case). Please change following settings afterwards to be Maven complianced: Source for web: src/main/webapp Source for Java: src/main/java 2. Turn on Maven project on the project above ("mavenized the project") with M2Eclipse. 3. After you mavenized the project you can delete the directory build/classes since Maven uses target/classes directory. Everything should be customized to Maven directory structure automatically. 4. You can add src/test/java - if you need it src/test/resources - and also src/main/resources ...

Spring Batch

Here are some good introductions to Spring Batch: Introducing Spring Batch Slides from SpringSource Getting Started With Spring Batch 2.x Reference documentation to Spring Batch 2.x Have fun! Lofi.

One Day in your Life... with UML2, oAW, Weblogic FastSwap, Oracle Enterprise Pack for Eclipse, Maven2 and SpringFramework...

In my new project - as usual in a software project - we have a very tight schedule. Using our old JEE application architecture (Oracle 10g, EJB 2.x, JFormular, Ant with Maven2 dependencies, full deployment EAR, WAR and EJB JAR on Weblogic 10.3 with Java6) would mean that we will have a long turn-around time (code, compile, deploy and test) for our development. Our build process with Ant does not support "naked" deployment", so it takes ages before the artefacts are built, jarred and can be deployed in Weblogic. In case that you only change one small thing in your web layer (JSP file, Java class) you will need to go through all those build steps. In combination that at that time I had an old development hardware (3 years old) you can imagine how horrible the situation was... So I was searching for a better solution. We need a fast turn around time, especially in our web layer because I'm not an expert in JFormular and I definitely need to "try and error". ...

Bye bye SMTP - Welcome Wave Protocol

It's very interesting to see that Google has developed a new protocol for e-mail, yes SMTP is just too old and boring, Wave protocol will come soon - at least we already have one provider who will implement this new protocol, I call it as a "reference provider", yes, it's Google Wave :-) Okay before I begin with this story, one thing we need to know: "Wave is just a protocol ( http://www.waveprotocol.org ), a specification, just like SMTP, HTTP, HTML, TCP/IP, OpenID, OAuth, OpenSocial, etc. This means that everyone can implement this protocol to build some new products based on it". "Google Wave ( http://wave.google.com ) is an implementation of the Wave protocol". A Google product which supports Wave protocol. I also call Google Wave as a reference implementation and reference provider of the Wave protocol. If you want to understand the terminology in Wave protocol, please check out this article: Google Wave: A Complete Guide . O...

Bug in Chrome 2.0.x.x: Weblogic Console 10.3.x.x

If you are working with Oracle Weblogic console 10.3.x.x and you are using Chrome 2.0.x.x you won't be able to see the "advanced tabs" on the bottom of every pages of the console. In some pages of the Weblogic console you can see at the bottom an "advanced tab" which can be opened by clicking on it. The tab will open smoothly in Firefox. Only in Chrome you won't see this tab, as if it were not existing at all. Just take a look at the two screenshots below (comparison between Firefox and Chrome 2.0.x.x for the same page). Chrome 2.0.x.x - no "Advanced" tab: Firefox 3 - with "Advanced" tab: So be careful and use Firefox for Oracle Weblogic 10.3.x.x console... Cheers!

Use Case Points (UCP) Method

Here are some interesting articles about UCP method: Software cost estimation using use case points: Getting use case transactions straight Dear Dr. Use Case: What About Function Points and Use Cases? Project Estimation with Use Case Points Use Case Points - An Estimation Approach Aufwandschätzung mit UseCasePoints (German) and... if you are a user of AndroMDA and MDA/MDSD in general don't forget to use the UCP cartridge from EJOSA . Have fun!

Google Wave and Open Wave Protocol

It's very interesting to see that Google tries to build a new email system: Open Wave Protocol . They could be successful since email protocol is just too old. Just take a look for example how people in Germany try to extend email to become secure: Bürgerportale . They try to stick to the old protocol and extend it with many extensions. Oh my dear...