Technology

Java technology, business philosophy

We develop using Java technology. This does not only mean that we use Java as a programming language. As a matter of fact we use other languages as well when it fits. Java technology for us means the philosophy attached to the language.

This philosophy is open source. It does not mean free or "cheap" software. The value has to be paid, otherwise no value will be created after a while. "There is no free luch."

Open source for us means the freedom of knowledge (which usually materialized as the source code of the program). When the customer pays to us, he is not doing it because we know something he does not. The customer values us because we do what we do in quality, skill and professional knowledge we deliver in the product or service. There are no secrets in what we do.

The skill, knowledge and professional knowledge could be posessed by the professionals of the customer, but it would not be economic. Our customer focuses on its core business and so do we. And we do informatics for her or him.

In addition to these open source also means that the systems are open in terms of standards and utilized interfaces. The interface definitions attached to Java technology are not created by a single firm, who bends the definition to its business needs. The standards are industusztry standards resulting interfaces that are best of the industry implemented by many vendors. If a vendor is not interested any more supporting a standard other vendors will replace (unless the standard is totally outdated). Therefore a customer using these standard interfaces will never left alone in the dark: investment will be protected. There is no vendor lock-in.

We do not believe that the other major direction, Microsoft technology is poor or suboptimal. On the contrary: Microsoft technology is great. We do not believe that Java technology is followed by some of the software vendors because they are "good" and Microsoft is "evil". We belive that the directions were formed according to the players position on the market. Each player follows a strategy that fits the best its position on the information technology market. There is only one thing that is most of importance:

At the bottom line: it should fit the customer.

After that philosophy let us have a look at the technologies:

Tools

We design using UML, program in Java, test, store (SVN), compile, manage releases, document, handle error tickets.

UML design

Formerly we used Poseidon (Gentleware) to desing UML. However the tool became unbearable slow in the middle of a moderate size project so we were afraid to start a "big" one using this tool. Then we changed for Visual-Paradimg and we use it to day (October 19, 2009). We selected the software that runs on Linux as well as on Windows. VP is outstanding that it handles UML as a model and not as a series of diagrams. We believe that this is basic for any UML tool and even though many UML tools "sit on a horse backside".

Java IDE

To develop Java code we use NetBeans (at this moment). Formerly we used Eclipse and sometimes JDeveloper. We do not "believe" in NetBeans or Eclipse: we use the one that is better for our needs at the very moment. However we do not flip-flop many times a year.

Maven

We use Maven. We also know Ant, but we know Maven as well. Therefore we use Maven. We undertand Ant users who stick to the good old tool they got used to. Using Maven can be a bit cumbersome at the first after Ant.

We use Maven with Sonatype NEXUS.

JIRA, Confluence

We use JIRA to manage our projects. Keep track of projects, tasks. Documents are maintained in SVN suing OpenOffice and Confluence as well as Groowiki.

We use JIRA together with customers so successfully that some of the customers got apetite and asked us to help their own JIRA implementation.

We have sold JIRA to small business company who retails electric devices. This needed no tuning of the product. They purchased the product and minimal training off-the-shelf. On the other end of the line we tailored JIRA to debt management. This needed several JIRA plugins to manage data export and import interfacing the contracting bank, reporting, sending SMS, surface mail etc.

Subversion

Program codes and business documents are stored in SVN. We use NetBeans, Eclipse clients, command line and Tortoise SVN. In addition to these we also use (we eat our own food) Groowiki.

Maven and subversion are synchronized to make new snapshot and release automatic. SVN is also connected to JIRA, therefore commits related to issues also appear in JIRA.

Bookmark and Share
NEWS

September 9, 2011.

We have released Pegamento TR, soapUI module that allows you to test soap services without writing assertion code. Store all your test executions into an RDBMS and compare the executions discovering any significant deviations from the expected results.