terça-feira, 12 de janeiro de 2010

JAVA Development recorrent problems

On the place i've worked before, and such as many other JAVA Development companies i always had some common and classic java problems such as:

-installing old versions of a product on a client
-installing software built on my machine
-promoting changes between systems
-version management
-knowing basic stuff like knowing the products that we sell and what is installed in which client
-constantly refactoring projects because conventions on naming the projects
-Having redundancy (the same project doing the same thing but with a different name replicated in the system).

I've always assumed this issues to the complexity of a solution developed in JAVA, and i always thoughted that it was a organization problem. With so many products and so many releases by product, installing the right pieces on the right clients could be a challenge in some cases.
Now i've changed my perspective about this issue. Many of this problems could be solved with a tool.

Now that i learned a little of NWDI, i can tell that it can handle very well some of this issues, saving time for development. On NWDI i can have the following:

-A centralized and maintained list of products. This is a basic requirment on all software houses. We need to know exactly what we sell to our clients.
-A centralized place for defining conventions. This solves the problem of having a document or someone saying that some type of object must have some kind of name. IDE reads this definitions from a centralized place and obligates the developer to follow the conventions defined there.
-The propagation of software is automatic. We only need to approve the software so it can follow a path defined by a team leader (usually DEV, CONS, TEST, PROD). For each system defined in the path, the team leader just needs to save the host and port for communication purposes.
-We have a centralized place where we can see in which systems is installed which software, and this place is auto-maintained by NWDI.

One thing that i can't find on NWDI is the integration with bug trackers. Let's say the customer report a problem (a business/technical issue). The only way i know to relate the problem reported by the user and the software change that corrected the issue is to name the activity (same as commit comments on CVS,SVN) the same name as the reported issue.

I'm not trying to sell NWDI and SAP didn't pay me to promote NWDI, but i would like to know the existence of this tool when i purely done JAVA developement so i can take the best practises from it.

Netweaver Development Infrastructure (NWDI) vs Team Foundation Server (TFS) vs ?

Hi all,
i'm currently learning SAP NWDI. SAP NWDI is a tool provided by SAP with the goal of providing a platform and a model for simplifying development.

When i first started looking at NWDI, my first question was:
Why do we need this when we have:

-SCM tools like SVN, CVS, GIT, VSS, Perforce, Bazaar for source control.
-MAVEN, ANT, NANT and others for building, deployment and automation purposes.
-Continuum, jUnit, nUnit, CruiseControl for continuum developement and tests.
-Eclipse,Visual Studio and many others IDE.
-Bugtrackers like Bugzilla,JIRA and others.

Well, with time passing i've started to see the light here.

Tools such as NWDI for SAP Java Development and TFS for .NET Development are intended to integrate some of these concepts into a model of development. This model provides best practises and a unified method of development.
I know that in IT area we need to continually evolve but software development needs stability. We need a model in which we can rely and covers all the needs of the market independently from the techonology used.

I don't know any tool on JAVA to integrate the tools i've talked above in the same way as NWDI or TFS. Do you know any?

Changing language, preserving content

Hi all,
This is my first post in english, and i'll try to write the following posts using English Language instead of Portuguese. The main goal to obtain here is to train my English which is a little rusty, so sorry for the mistakes