Recommend Java UML modelling tool?

Hi, based on your experience with UML tools (capable of modelling Java), what are ones that have a similar interface on both Windows and Linux?
I'd like to start using a UML tool as I learn Java, and I use both Windows and Linux, so I'm hoping to find one that you recommend and that has a similar interface on both systems, so that it's easy to switch back and forth between systems.
Any recommendations based on your past experience?
Thank you.

Thanks for the response, I'll check that out.
On this topic of similar interface for Windows and
Linux, could I also ask a question about Eclipse?
I'm a beginner programmer, and I'd like to learn
Eclipse sometime. If I learn it using Windows then
one day switch to Linux, will I miss a beat at all in
terms of the interface of Eclipse -- will all my
efforts to learn on Windows carry over to Linux?
(Never used it before, so if it sounds like a dumb
question, that's probably cuz it is.)
Thanks!Eclipse runs the same on both platforms. So does netbeans, jGrasp, etc, etc, etc.
But from what I've heard, you should use a text editor or minimalistic IDE to learn. Which seems like the route you're going anyway.
~Cheers

Similar Messages

  • Why does R/3 have no ABAP UML modelling tools integrated?

    I find it strange that SAP tout the benefits of OO programming and ABAP classes, then completely fail to provide a UML round trip modelling tool integrated into the ABAP workbench.
    Doesn't this display a lack of foresight on SAPs behalf? I mean, if you are serious about the use of OO software, shouldn't you be serious about providing the framework such as UML modelling tools to facilitate optimal development?
    Currently if I design a solution with ABAP objects, I am using Altova UModel to document the solution, but the lack of integration with the ABAP environment means that I am always struggling to keep the code and model in sync.
    does anybody have similar views on this? If views are in accordance, couldn't the SDN community try to lobby SAP to provide such a tool?

    Hello Anthony
    I document my ABAP-OO developments with Altova UModel, too. A colleague recently showed me that the NetWeaver Developer Studio has UML functionality but for Java developments only (where round-trip engineering is already commonplace).
    I assume that the problem with ABAP round-trip engineering is the ABAP dictionary. With Java you have the simple data types and the the class hierarchies of Java. In ABAP we also need the dictionary types.
    I would appreciate to have such UML tools for ABAP available, yet I do not expect them to become available in the near future.
    Regards
       Uwe

  • UML Modeling Tool Suggestions?????

    My group is in need of an inexpensive but good "UML Modeling Tool". We are currently looking at a tool ( Enterprise Architect ) that produces use case diagrams, object model diagrams and will produce stubs from the diagrams and will also reverse engineer. It cost about $150 per seat but has some serious short comings. We dont want anything major like "Rational Rose". Any tools anyone has experience with and can recommend that inlcude UML, use case diagrams and object model diagrams would be great.

    Together cost a bit more then $150 but it worth it. Basically any piece of your code became the piece of class diagram or package diagram. The Feature Driven Development (not Use Case based approach you are looking for in a chip tool) is recommended for Together. Sometimes FDD is much more effective and it is very close to approach recommended by XP guys.

  • Please recommend a UML design tool

    Apart from the obvious - Rational Rose and TogetherSoft - can anyone recommend a [cheaper] UML design tool that can generate UML class diagrams for existing Java classes (including EJBs) - as opposed to the usual generation of code from the diagrams?
    Thanks,
    -Paul.

    try out JBuilder 6 it builds the UML diagrams from the java source code...

  • OWB and UML modelling tools

    Hi Experts,
    I was wondering if it's possible to use OWB together with an UML tool like Enterprise Architect (EA). The basic idea would be to define processes on a high level in EA and export those.
    OWB should then be able to import the high level processes and transform these into projects, modules, maybe even mappings (would be enough to have just the mapping names without any content).
    Does any one now if this is possible?
    Thanks for your help
    Regards
    Andy

    Hi,
    If you can get some information from a modelling tool, you can use this information for OMB*Plus.
    You can create a script in OMB*Plus and TCL.
    We use OMB*Plus to generate mappings with a few parameters.
    Regards,
    Emile

  • What's the best UML modeling tool?

    Anyone have thoughts?

    Starr UML is free and it supports AS 3 if you install an additional plugin.
    Here's a great brief intro on it: http://www.senocular.com/flash/tutorials/starumltoas3/

  • UML modeling in NWDS

    Hello,
      Do You know somebody if there is any UML plugin (UML eclipse plugin ?), tool, ... whatever to NWDS ?
    What is recommended UML modeling tool for SAP NW Java (ev. ABAP) development ?
    thanks in advance
    Marcel

    There are UML tools for eclipse available as plugins. doing a google  search for UML and eclipse dumps you many od those.

  • UML modeling by reverse-engineering a JAVA project

    I can't seem to get over a basic hurdle to get started with UML modeling. I open an existing JAVA project. I then start a new project and choose "UML" and "-Platform model by reverse-engineering a JAVA project". Next I give the UML project a name and try to open my existing JAVA project. But the wizard does not show any project!
    Appreciate your help.
    Phil

    UML in JSE8 can reverse engineer all 4 built-in types of Java project defined in IDE. To prove that, I just downloaded apache ant source 1.6.5 from http://ant.apache.org/srcdownload.cgi and successfully reverse engineered it with JSE8.
    If you have a project with existing ant script , it's extremely easy, you absolutely don't need to hand-create a java project from scratch to specify source, library dependency etc. Just follow the wizard "create a Java project with existing ant script" to specify your Java project location, the ant script location, and * don't forget * to specify the source location. Any project without source folder specified is not considered a valid candidate for Reverse Engineer, and you won't see it listed under the project chooser in UML wizard when trying to associate the current UML project with a Java project. Please right click to bring up your source project properties to verify if you have source package folder correctly spelled out.
    It IS a supported feature, do let us know if you still have troubles to RE your project.

  • Looking for EDW modelling tool recommendations for BW

    Good morning,
    Our BW Enterprise Data Warehouse has been slowly adding infocubes/ODS's over the years, and to date we have been relying on the modeling views available in the BW system to keep track of what goes where. I think we've outgrown that.
    I was wondering if there is a modeling tool of choice out there that people prefer to use when modeling the various infoproviders, and multicubes that they roll up to. In the relational world we always use ERWin, however it doesn't seem to fit an OLAP EDW environment very well. I'm not looking for an extremely detailed tool, but something that will let us look at the big picture, essentially at the Infoprovider level.
    Any suggestions are welcome, and points will be given.
    Michael

    Hi,
    I've found the Visio tool quite helpful for EDW modelling for SAP BI systems. Might want to take a look at that.
    Cheers,
    Kedar

  • Java Security Model: Java Protection Domains

    1.     Policy Configuration
    Until now, security policy was hard-coded in the security manager used by Java applications. This gives us the effective but rigid Java sandbox for applets.A major enhancement to the Java sandbox is the separation of policy from mechanism. Policy is now expressed in a separate, persistent format. The policy is represented in simple ascii, and can be modified and displayed by any tools that support the policy syntax specification. This allows:
    o     Configurable policies -- no longer is the security policy hard-coded into the application.
    o     Flexible policies -- Since the policy is configurable, system administrators can enforce global polices for the enterprise. If permitted by the enterprise's global policy, end-users can refine the policy for their desktop.
    o     Fine-grain policies -- The policy configuration file uses a simple, extensible syntax that allows you to specify access on specific files or to particular network hosts. Access to resources can be granted only to code signed by trusted principals.
    o     Application policies -- The sandbox is generalized so that applications of any stripe can use the policy mechanism. Previously, to establish a security policy for an application, an developer needed to implement a subclass of the SecurityManager, and hard-code the application's policies in that subclass. Now, the application can make use of the policy file and the extensible Permission object to build an application whose policy is separate from the implementation of the application.
    o     Extensible policies -- Application developers can choose to define new resource types that require fine-grain access control. They need only define a new Permission object and a method that the system invokes to make access decisions. The policy configuration file and policy tools automatically support application-defined permissions. For example, an application could define a CheckBook object and a CheckBookPermission.
    2.     X.509v3 Certificate APIs
    Public-key cryptography is an effective tool for associating an identity with a piece of code. JavaSoft is introducing API support in the core APIs for X.509v3 certificates. This allows system administrators to use certificates from enterprise Certificate Authorities (CAs), as well as trusted third-party CAs, to cryptographically establish identities.
    3.     Protection Domains
    The central architectural feature of the Java security model is its concept of a Protection Domain. The Java sandbox is an example of a Protection Domain that places tight controls around the execution of downloaded code. This concept is generalized so that each Java class executes within one and only one Protection Domain, with associated permissions.
    When code is loaded, its Protection Domain comes into existence. The Protection Domain has two attributes - a signer and a location. The signer could be null if the code is not signed by anyone. The location is the URL where the Java classes reside. The system consults the global policy on behalf of the new Protection Domain. It derives the set of permissions for the Protection Domain based on its signer/location attributes. Those permissions are put into the Protection Domain's bag of permissions.
    4.     Access Decisions
    Access decisions are straightforward. When code tries to access a protected resource, it creates an access request. If the request matches a permission contained in the bag of permissions, then access is granted. Otherwise, access is denied. This simple way of making access decisions extends easily to application-defined resources and access control. For example, the banking application allows access to the CheckBook only when the executing code holds the appropriate CheckBookPermission.
    Sandbox model for Security
    Java is supported in applications and applets, small programs that spurred Java's early growth and are executable in a browser environment. The applet code is downloaded at runtime and executes in the context of a JVM hosted by the browser. An applet's code can be downloaded from anywhere in the network, so Java's early designers thought such code should not be given unlimited access to the target system. That led to the sandbox model -- the security model introduced with JDK 1.0.
    The sandbox model deems all code downloaded from the network untrustworthy, and confines the code to a limited area of the browser -- the sandbox. For instance, code downloaded from the network could not update the local file system. It's probably more accurate to call this a "fenced-in" model, since a sandbox does not connote strict confinement.
    While this may seem a very secure approach, there are inherent problems. First, it dictates a rigid policy that is closely tied to the implementation. Second, it's seldom a good idea to put all one's eggs in one basket -- that is, it's unwise to rely entirely on one approach to provide overall system security.
    Security needs to be layered for depth of defense and flexible enough to accommodate different policies -- the sandbox model is neither.
    java.security.ProtectionDomain
    This class represents a unit of protection within the Java application environment, and is typically associated with a concept of "principal," where a principal is an entity in the computer system to which permissions (and as a result, accountability) are granted.
    A domain conceptually encloses a set of classes whose instances are granted the same set of permissions. Currently, a domain is uniquely identified by a CodeSource, which encapsulates two characteristics of the code running inside the domain: the codebase (java.net.URL), and a set of certificates (of type java.security.cert.Certificate) for public keys that correspond to the private keys that signed all code in this domain. Thus, classes signed by the same keys and from the same URL are placed in the same domain.
    A domain also encompasses the permissions granted to code in the domain, as determined by the security policy currently in effect.
    Classes that have the same permissions but are from different code sources belong to different domains.
    A class belongs to one and only one ProtectionDomain.
    Note that currently in Java 2 SDK, v 1.2, protection domains are created "on demand" as a result of class loading. The getProtectionDomain method in java.lang.Class can be used to look up the protection domain that is associated with a given class. Note that one must have the appropriate permission (the RuntimePermission "getProtectionDomain") to successfully invoke this method.
    Today all code shipped as part of the Java 2 SDK is considered system code and run inside the unique system domain. Each applet or application runs in its appropriate domain, determined by its code source.
    It is possible to ensure that objects in any non-system domain cannot automatically discover objects in another non-system domain. This partition can be achieved by careful class resolution and loading, for example, using different classloaders for different domains. However, SecureClassLoader (or its subclasses) can, at its choice, load classes from different domains, thus allowing these classes to co-exist within the same name space (as partitioned by a classloader).
    jarsigner and keytool
    example : cd D:\EicherProject\EicherWEB\Web Content jarsigner -keystore eicher.store source.jar eichercert
    The javakey tool from JDK 1.1 has been replaced by two tools in Java 2.
    One tool manages keys and certificates in a database. The other is responsible for signing and verifying JAR files. Both tools require access to a keystore that contains certificate and key information to operate. The keystore replaces the identitydb.obj from JDK 1.1. New to Java 2 is the notion of policy, which controls what resources applets are granted access to outside of the sandbox (see Chapter 3).
    The javakey replacement tools are both command-line driven, and neither requires the use of the awkward directive files required in JDK 1.1.x. Management of keystores, and the generation of keys and certificates, is carried out by keytool. jarsigner uses certificates to sign JAR files and to verify the signatures found on signed JAR files.
    Here we list simple steps of doing the signing. We assume that JDK 1.3 is installed and the tools jarsigner and keytool that are part of JDK are in the execution PATH. Following are Unix commands, however with proper changes, these could be used in Windows as well.
    1. First generate a key pair for our Certificate:
    keytool -genkey -keyalg rsa -alias AppletCert
    2. Generate a certification-signing request.
    keytool -certreq -alias AppletCert > CertReq.pem
    3. Send this CertReq.pem to VeriSign/Thawte webform. Let the signed reply from them be SignedCert.pem.
    4. Import the chain into keystore:
    keytool -import -alias AppletCert -file SignedCert.pem
    5. Sign the CyberVote archive �TeleVote.jar�:
    jarsigner TeleVote.jar AppletCert
    This signed applet TeleVote.jar can now be made available to the web server. For testing purpose we can have our own test root CA. Following are the steps to generate a root CA by using openssl.
    1. Generate a key pair for root CA:
    openssl genrsa -des3 -out CyberVoteCA.key 1024
    2. Generate an x509 certificate using the above keypair:
    openssl req -new -x509 -days key CyberVoteCA.key -out CyberVoteCA.crt
    3. Import the Certificate to keystore.
    keytool -import -alias CyberVoteRoot -file CyberVoteCA.crt
    Now, in the step 3 of jar signing above, instead of sending the request certificate to VeriSign/Thawte webform for signing, we 365 - can sign using our newly created root CA using this command:
    openssl x509 -req -CA CyberVoteCA.crt -CAkey CyberVoteCA.key -days 365 -in CertReq.pem -out SignedCert.pem �Cacreateserial
    However, our test root CA has to be imported to the keystore of voter�s web browser in some way. [This was not investigated. We used some manual importing procedure which is not recommended way]
    The Important Classes
    The MessageDigest class, which is used in current CyberVote mockup system (see section 2), is an engine class designed to provide the functionality of cryptographically secure message digests such as SHA-1 or MD5. A cryptographically secure message digest takes arbitrary-sized input (a byte array), and generates a fixed-size output, called a digest or hash. A digest has the following properties:
    � It should be computationally infeasible to find two messages that hashed to the same value.
    � The digest does not reveal anything about the input that was used to generate it.
    Message digests are used to produce unique and reliable identifiers of data. They are sometimes called the "digital fingerprints" of data.
    The (Digital)Signature class is an engine class designed to provide the functionality of a cryptographic digital signature algorithm such as DSA or RSA with MD5. A cryptographically secure signature algorithm takes arbitrary-sized input and a private key and generates a relatively short (often fixed-size) string of bytes, called the signature, with the following properties:
    � Given the public key corresponding to the private key used to generate the signature, it should be possible to verify the authenticity and integrity of the input.
    � The signature and the public key do not reveal anything about the private key.
    A Signature object can be used to sign data. It can also be used to verify whether or not an alleged signature is in fact the authentic signature of the data associated with it.
    ----Cheers
    ---- Dinesh Vishwakarma

    Hi,
    these concepts are used and implemented in jGuard(www.jguard.net) which enable easy JAAS integration into j2ee webapps across application servers.
    cheers,
    Charles(jGuard team).

  • Practical use of UML diagramming tool....

    Hi ,
    the use of UML diagramming tool is to present the system to end user (use cases) ... like the Entity Relationship Diagram in the Oracle Designer....
    However , i 'd like to ask if the product of this tool can be used as a base to produce something else afterwards in the whole system...
    I mean that in Oacle Designer , when the analyst designs the ER Diagram and saves it to the repository... this can be used to automatically generate the tables... in the repository also and then to the database...!!!!!
    Is there analogous using UML diagramming tool....?????
    Many thanks,
    Simon

    The UML class diagram can generate Java classes and ADF Business Components.
    The Database modeler in JDeveloper can generate the database objects.
    Also when you are designing the page flow diagram you are actually building the JSF or Struts flows.
    The hands-on-lab that you can find on the right side of this page:
    http://www.oracle.com/technology/products/jdev/collateral/4gl/formsdesignerj2ee.html
    Shows off some of the model to code capabilities of JDeveloper:

  • Mapping UML Model to Database Schema

    Hi All,
    Is it possible to map UML business object model on database schema using Mapping Workbenck? I've done the mapping with imported java classes, but wodering if same could be done with the UML models. I couldn't find any documentation about it either. This feature may be very useful in cases where you want to incorporate TopLink in the design stages of a project.
    Any help will be highly appreciated. Thanks.

    Hi Sharad,
    I agree that incorporating design time practices into this tool might be useful, but is not supported as you described.
    From the perspective of application development, I find it useful to first develop the object model in an IDE such as JDeveloper which supports UML (Which will automatically allow you to deploy the .class files of the project). I point my MW project to the output location of my .class files which seems to work great as I can make changes to the object model in the IDE and easily refresh the contents in the MW.
    I hope this helps.
    Darren

  • UML Modeling: Round Trip Engineering

    Hi!
    Yesterday I worked through and tested the UML Modeling: Developing Applications tutorial. Everything worked awsome and I managed to complete step in the tutorial.
    Today, when I started the studio and wanted to play a little more with Round Trip Engineering I found something strange.
    If I add an operation to the java-source using the source editor it do not show up in the UML class diagram but if I add an operation to the UML class diagram it shows up in the java-source.
    Is it me that is doing anything wrong?
    Is this a known issue/bug?
    Win XP Professional
    Java Studio Enterprise 8 with latest update today.
    Sincerely,
    // Paul

    Paul,
    Glad to hear you like the UML tool. Not sure which release/version you are working with so I'll try to cover all the bases hear.
    The UML module was released with the Enterprise Pack (early access version I believe), the live roundtrip was still enabled. Then we pulled UML module out of the Enterprise Pack because we needed to do some overhauling of the roundtrip feature and we didn't want to prevent Enterprise Pack from going beta, so now UML is available via the beta update center. This version of UML has the live roundtrip disabled so that code is not generated with every model manipulation and the model is not updated with every source edit. It sounds like this is the version you are working with.
    There is a strange scenario where the live roundtrip is unintentionally enabled (live roundtrip should never be enabled... ever - this is not your fault). A bug was filed and I fixed it, but the fix was integrated into a different branch than the one available via the update center. This is because we are about to release Java Studio Enterprise 8.1 and so we did all the bug fixing on that branch and all those fixes will be merged with the UML that is on the update center, probably in the next week or two, but a date has not been decided, yet.
    In summary, rest assured that the issue (and many many others) have been addressed, and those fixes will be merged into the version available on the update center very soon.
    Please keep the feedback coming on reverse engineering and code generation as we are rebuilding these features from scratch for NetBeans 6.
    thanks
    craig

  • UML model synchronization

    I have a problem with the UML support that I need help with. I have an existing Netbeans project and created a UML project reversed from existing Java sources (or something like that).
    I have a source tree like this:
    com.test.packagea
                      ObjectA.java
    com.test.packageb
                      ObjectB.java
                      ObjectC.javaObjectB is dependent on ObjectC through a method call.
    The UML model shows this structure and life is good. I update my source tree from version control (Star Team) and another developer has moved ObjectC into packagea. My tree now has two ObjectC items, one in each package like this:
    com.test.packagea
                      ObjectA.java
                      ObjectC.java
    com.test.packageb
                      ObjectB.java
                      ObjectC.javaWhat I really would like is a way to reconcile this situation. Maybe a notification that source code for ObjectC in packagebis no longer available and then scan any newly created models (ObjectC in packagea) to see if that is the correct model. There may be a way to do this, but I have not found it.
    Thank you,
    David

    I have reset the project to look like this:
    com.test.packagea
                      ObjectA.java
    com.test.packageb
                      ObjectB.java
                      ObjectC.javaI now move ObjectC.java to packagea. The java project updates properly with no problem. I then right click on the com package and choose Tools-->Synchronize model from source and end up with the following project:
    com.test.packagea
                      ObjectA.java
                      ObjectC.java
    com.test.packageb
                      ObjectB.java
                      ObjectB.java
                      ObjectC.java
                      ObjectC.java (This looks to be an instance element?)I would report this but there isn't a bug/rfe report option on the Early Access home page.
    Thank you,
    David

  • Import statement code generation from Java-Platform Model in Java Studio

    Problem : When you create a Java-Platform Model type project in Java Studio 8.1 and as an example You would like to create an Attribute with java.util.Date type for a Class than how can You set this Attribute type in order to create the Code Generator the standard java package reference in Your code like : "import java.util.Date;" ? What is the right syntax in the "Type'" field of the Attribute Properties dialog ?

    You should also consider using NetBeans as an alternative to JSE8.1.
    Java Studio Enterprise 8.1 is itself built on top of NetBeans version 5.0. NetBeans is an ide developed as opensource at www.netbeans.org; it is extensible ide and so add-on modules can be developed to run on top of netbeans. And that is what JSE8.1 does; JSE 8.1 is NetBeans 5.0 plus several add-on modules (like UML etc).
    The latest stable version of NetBeans is 6.0 and provides improved versions of all relevant addons found in JSE.
    Home page: www.netbeans.org
    Download: http://www.netbeans.info/downloads/index.php
    Docs: http://www.netbeans.org/kb/index.html
    Further community resources (mailing lists, issue tracking etc) : http://www.netbeans.org/community/index.html
    wiki.netbeans.org
    NetBeans download is free. And since it is developed as an opensource project, the source is freely available under CDDL license.

Maybe you are looking for