Discussions

News: MaintainJ 2.0, Eclipse Plugin to generate runtime UML, released

  1. MaintainJ 2.0 has been released. MaintainJ generates runtime UML sequence and class diagrams for a given use case. It helps the users to quickly understand complex Java or J2EE applications and reduce maintenance costs. This release uses AspectJ load time weaving (LTW) for instrumenting. Previous releases used build-time aspect weaving to log the call trace. Earlier, many people found it difficult to change the Ant scripts to rebuild using AspectJ. On large projects, it was just too slow to rebuild using AspectJ. LTW makes is faster and easier for people to get started. MaintainJ 2.0 adds a new Eclipse plug-in, MaintainJ Launcher. This plug-in instruments J2SE applications at runtime and generates call trace files when the application is launched from Eclipse. Watch the flash demo. A new web application (MaintainJ.war) is developed for instrumenting J2EE applications at runtime. MaintainJ.war installs MaintainJ jars on the server, generates the aspect and prepares the application for runtime instrumentation. Watch the flash demo. Runtime instrumentation is very easy and quick to get started. MaintainJ is different from other UML generating tools as follows: Runtime Reverse Engineering - Run a use case and generate UML sequence and class diagrams for that use case. Focused, Uncluttered Diagrams - Only application classes (no API classes) in specified packages are shown. All loop calls and recursive calls are removed from sequence diagrams. Collapsible Calls - Large sequence diagrams are easy to read with collapsible calls. From Code or Jar - Diagrams are generated at runtime. You don't really need to have the source code. Integrates with JUnit - Integrate with JUnit to generate UML diagrams for each test case.

    Threaded Messages (18)

  2. MaintainJ 2.0 release[ Go to top ]

    Hello, No comments? Come on say something...good, bad, ugly, useful, useless, not for me, runtime diagrams don't work, I know my code too well, price is too cheap or something... I thought using runtime weaving makes generating the diagrams lot easier and makes MaintainJ lot more useful than earlier. Check the demos and say something. Choudary Kothapalli.
  3. Re: MaintainJ 2.0 release[ Go to top ]

    looks interesting for sure, $20? really ;-), that is wicked cheap. With the ant integration, it seams pretty straightforward as well. I'll take it for a spin. One question, though, have you thought about making a plugin for NB?
  4. NetBeans plugin?[ Go to top ]

    You mean NetBeans plugin? No. Choudary.
  5. Re: NetBeans plugin?[ Go to top ]

    yes, netbeans. This is purely selfish on my part as I migrate over off of eclipse.
  6. Re: NetBeans plugin?[ Go to top ]

    Jin, I use an Eclipse framework(GEF) to render the diagrams. So for now, MaintainJ will be on Eclipse only. Cheers, Choudary Kothapalli.
  7. Re: NetBeans plugin?[ Go to top ]

    yes, netbeans. This is purely selfish on my part as I migrate over off of eclipse.
    Ahem Netbeans already has UML out of the box.
  8. Great tool![ Go to top ]

    I saw MaintainJ and it's a very nice tool and with a great price (only $20 a year). It's a nice way to document your code if it´s demanded by your contractors and also a good way to understand what is being done by the code based on their scenarios. Great work! I will post now an entry in my brazilian blog about it. Probably you will receive a lot of visitors from Brazil :-) ! -- José Papo, http://www.erudio.com.br IBM Certified Specialist (RUP, OOAD, RMUC, RSA, Sales) Certified Scrum Master OMG Certified UML 2 Professional ITIL Certified Professional
  9. Re: Great tool![ Go to top ]

    Oops!!! The blog is http://josepaulopapo.blogspot.com -- José Papo, http://www.erudio.com.br IBM Certified Specialist (RUP, OOAD, RMUC, RSA, Sales) Certified Scrum Master OMG Certified UML 2 Professional ITIL Certified Professional
  10. Re: MaintainJ 2.0 release[ Go to top ]

    This is really an interesting tool. I'll definitely give it a try. I guess that once the classes are instrumented, you can never revoke the instrumentation unless you restart the application? How are the classes instrumented? How are the application performance affected once this tool is triggered in use? Is it reasonable to be plugged in a heavily used production system? Cheers, Harry
  11. I guess that once the classes are instrumented, you can never revoke ...
    You are right.
    How are the application performance affected once this tool is triggered in use? Is it reasonable to be plugged in a heavily used production system?
    I don't have the performance statistics for a production system under load. However, on a development system, after the first request, you wouldn't notice a difference in response time between the original and instrumented application. Check the testimonial from a client using MaintainJ on a 6000+ classes J2EE application. Give it a try. I am sure you will be happy with what you see. Cheers, Choudary Kothapalli.
  12. Re: MaintainJ 2.0 release[ Go to top ]

    This is an interesting tool, and the price seems to be really competitive. I feel outraged when I come across companies using barely-useful and totally overpriced UML tools (you know the tools I am talking about). And yet, most of the UML use I've seen is counter productive, specially in large companies. It seems to be a way of showing how serious and knowledgeable the designer is. It doesn't look like a way to communicate a design. My favorite UML 'tool' is Fowler's UML distiled book :) Regards, Paul Brenoir Sr Developer jbilling.com The Open Source Enterprise Billing System
  13. MaintainJ's Pricing[ Go to top ]

    As 3 people here have commented about the MaintainJ pricing and I was checking the comments on the Virtual Ant's pricing, let me share my thoughts on MaintainJ's pricing model. My thoughts behind pricing MaintainJ at $20/year were - when MyEclipse is selling around 250,000 licenses at $30/year, why can't I sell at least 10,000 at $20? And I always wanted to make it affordable to individual developers. No other great market research behind my pricing model. My simple belief was, if my product worked and solved a real problem, I could sell it. Going by the testimonials for MaintainJ, you may agree that MaintainJ solves a real problem. And that's another thing. For every great guy who gives me a testimonial when I ask for one, there are many why wouldn't care. But at this juncture, it does not look like it is working. I realized that people wouldn't try everything and even when they try and like it, they may not buy it. The first and greatest challenge is to reach as many people as I can. Since MaintainJ 1.0 release in March 2007, I could only reach about 15,000 unique visitors. So, I thought I would work with sales guys, who would help me with sales. They just laughed at $20/year. It does not look like I am going to interest any sales people with that pricing. Now I have more or less decided to go with $50 one time pricing. And then there are people who ask why MaintainJ is not open source. The simple answer is, I work full time on this and I need to make some money out of it. People make a big deal about open source, but then, all successful open source projects that I know are funded by big companies. Yeah, I know they do it for charity. This is what I think is necessary - something like 'open sales', a support system where a group of developers could come together to develop, sell and create a viable product in the market. All with no funding from a big corporation. That's only way to test new ideas and get the best ones out. But in the real world, only capital seems to bind people. Then what's binding open source? I really don't know...I feel there is nothing like true open source that is completely free. I really don't think MaintainJ should cost more than $20/year (not $19.99). But that doesn't seem to work the way world is now or the way I am able to go about selling MaintainJ. My present thoughts are, if people really need it, they will buy it at $50. If they don't badly need it, they don't seem to buy it anyway. Thanks if you made this far. You comments are welcome. Choudary Kothapalli.
  14. MaintainJ looks like a very useful product. I tried the previous version but found it too complicated to get going for a test run. I'd like to try the new version, time permitting. I'm disappointed to hear that the $20/year pricing isn't working out as I think its a very fair price point. On a somewhat related note, does MaintainJ support clicking on a class/field/method name to browse source? I know I'm not the only one who really misses that feature of early versions of Together/J. Using a UML diagram as a code navigator may be an abuse of UML ideals, but its a very handy way to reinforce design and easily browse related code. If you wanted to go in that direction I'm sure you'd find some supporters, as none of the other UML tools I've seen support this simple facility. In particular, they tend to put the diagram in the code area, so you can't see both at the same time.
  15. David, Yes, you can click classes and methdods to go to the source. For sequence diagram calls, the method definition is highlighted. When a class is clicked either in sequence or class diagram, the corresponding source file is opened. One testimonial says MaintainJ is better than Together/J to understand code! I am happy! As he very neatly put, MaintainJ's plus points are runtime diagrams with a smple and neat UI.
    MaintainJ looks like a very useful product.
    Yes, I think it is very useful. People do spend lot of time digging into code to find something. Maintainers, new developers more and experienced developers less but, as whole lot of time is spent in digging the code. MaintainJ almost reduces that effort to nil. Cheers, Choudary Kothapalli.
  16. I tried it, but had a problem[ Go to top ]

    I tried it to instrument a finished war, but then Tomcat server couldn't find the index.jsp. What we did was that the http request was redirected from an apache web server, which does some transformation stuff. Since I can't really control the redirected url, how am I gonna insert aspect.jsp and it then start my index.jsp? Also, I got a aspectjrt.jar not in classpath error. But I added it to build path in Eclipse and also pointed it in ant script. Is this Eclipse screwing up(sometimes needs a reboot), or something else? thank you for your feedback
  17. Re: I tried it, but had a problem[ Go to top ]

    Sorry, forgot. the Tomcat was run as a windows service.
  18. Re: I tried it, but had a problem[ Go to top ]

    listening on a different port
  19. Jane, If I understand correctly, you are using build-time weaving using Ant scripts. Correct? Did you consider using runtime weaving, which is much simpler and faster to start? Build time weaving works for Tomcat on JRE 1.4 and JRE 1.5. aspectjrt.jar should be in runtime classpath of the server. For Tomcat you can place it under common/lib folder. Are you saying that after you weaved and deployed the application, the index.jsp in your application was not found? I suspect there is some problem with the war file. Did you unzip and check the war file after weaving? Can you explain more about your redirect url and why you are not able to reach aspect.jsp? You may also post the queries on MaintainJ support forums Cheers, Choudary.