|
Sponsored Links
Resources
Enterprise Java Research Library
Get Java white papers, product information, case studies and webcasts
|
News
News
News
|
Messages: 18
Messages: 18
Messages: 18
Printer friendly
Printer friendly
Printer friendly
Post reply
Post reply
Post reply
XML
XML
XML
|
 |
MaintainJ 2.0, Eclipse Plugin to generate runtime UML, released
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.
|
|
Message #241731
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
MaintainJ 2.0 release
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.
|
|
Message #241733
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: MaintainJ 2.0 release
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?
|
|
Message #241766
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Great tool!
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
|
|
Message #241773
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: MaintainJ 2.0 release
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
|
|
Message #241778
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Instrumentation and application performance
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.
|
|
Message #241780
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: NetBeans plugin?
yes, netbeans. This is purely selfish on my part as I migrate over off of eclipse.
|
|
Message #241785
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: NetBeans plugin?
Jin,
I use an Eclipse framework(GEF) to render the diagrams. So for now, MaintainJ will be on Eclipse only.
Cheers, Choudary Kothapalli.
|
|
Message #241794
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: MaintainJ 2.0 release
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
|
|
Message #241846
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: NetBeans plugin?
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.
|
|
Message #241872
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
MaintainJ's Pricing
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.
|
|
Message #241874
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: MaintainJ's Pricing
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.
|
|
Message #241875
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: MaintainJ's Pricing
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.
|
|
Message #242032
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
I tried it, but had a problem
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
|
|
Message #242046
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: I tried it, but had a problem
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.
|
|
 |
New content on TheServerSide.comNew content on TheServerSide.comNew content on TheServerSide.com |
 |
 |
Reza Rahman explores the features of the proposed JSR 299, Contexts and Dependency Injection for Java EE (CDI). When approved, it promises to be a key feature of Java EE 6.
(November 2, Article)
SAML is an XML-based standard for exchanging authentication and authorization data between security domains. The single most important problem that SAML was created to solve is the Web browser Single Sign-On problem. Many organizations are debating whether to stay with version 1.1 or move to 2.0. This article makes observations about both options.
(September 28, Article)
Joe Ottinger takes a look at how people learn, and applies it to the practice of programming. He notes that understanding how people learn is an essential part of working in a programming team.
(September 22, Article)
Stephen Maryka gave us an article about the Asynchronous Web and posed a number of questions that get examined like an approach to delivering Asynchronous Web capabilities through extensions to existing Java EE technologies.
(July 14, Article)
JavaServer Faces Flex goal is to provide users capability in creating standard Flex components, part of flexSDK which is open sourced through MPL license, as normal JSF components. This article by Ji Hoon Kim will provide an overview of creating a simple multilingual JSF page consisting of JSF Flex tags.
(June 29, Article)
In this session Jeff explores the key characteristics of successful SOA projects. He covers some of the patterns, and anti-patterns, tool sets, and strategies that he himself learned the hard way. Last, he provides a strategy and blueprint for achieving a high likelihood of success in your SOA project.
(June 23, Tech Talk)
Ari Zilka, CTO of Terracotta, Inc., talks about the new features in Terracotta 3.1, announced during JavaOne and available now.
(June 15, Tech Talk)
In this Tech Talk, Josh Long explores an integration challenge using Spring Integration and walks through the implementation, employing and expanding on the basic patterns of Enterprise Application Integration to tie together components into a function integration solution, and then demonstrates how Spring Integration helps address the integration requirements.
(June 15, Tech Talk)
In this Tech Talk, David Geary teaches you: The basics of Google Web Toolkit; How to implement Ajax-enabled applications in Java; Internationalization; Hooking into the browser history mechanism; Remote procedure calls.
(June 4, Tech Talk)
Jon Kern discusses the best architecture/technical solutions and ensure that they are repeated by all developers. By tackling the architecture up-front in a serial manner, subsequent parallel development will be much more manageable and predictable.
(May 28, Tech Talk)
This keynote describes the frustrations of modern knowledge workers in their quest to actually get some work done, and solutions for how to guard yourself against all those distractions. Neal Ford talks about environments, coding, acceleration, automation, and avoiding repetition as ways to defeat the misguided attempts to sap your ability to produce good work.
(May 26, Tech Talk)
Gil demonstrates how new, aggressive uses of already abundant compute capacity by common applications offer competitive value for application designers.
(May 21, Tech Talk)
Chris Keene introduces WaveMaker as a new way to automate the ability to generate Hibernate classes in order to more quickly bring OR mapping into an application.
(May 19, Article)
In this session Nati Shalom demonstrates how to take a standard Java EE web application and scale it out or down dynamically without changes to the application code. Seeing as most web applications are over-provisioned to meet infrequent peak loads, this is a dramatic change because it enables growing your application as needed, when needed, without paying for unutilized resources.
(May 19, Tech Talk)
Download the entire book of Jakarta-Struts Live and learn about Struts MVC, Tiles, the Validator, DynaActionForms, plug-ins, internationalization, and more.
(Book PDF Download)
The Application Server Matrix is a detailed listing of J2EE vendors and their application server products, with information on latest version numbers, J2EE spec support and licensing, pricing, platform support, and links to product downloads and reviews.
(Application Server Comparison Matrix)
|
|