adfemg
  1. adfemg
  2. ADFEMG-102

[ADFng1-02010] Deployment profile archive name and file extensions

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Labels:
      None

      Description

      Hi,

      our best practices following a other approach:

      • every thing in the file system is lower case, when you must use it as a reference
      • the artifact has no version nummers in the filename
      • the naming must show min. two levels of the namespace
      • you must easily answer following questions: who is the producer ?, which application need it ?, which (deployment) type is it ?

      We using following naming:

      Producer: enpit
      Project: asap (a Sample Application)
      Module: contact

      Java Library enpit.adf.extension.jar

      Master ADF Application: enpit.asap.ear
      Module ADF Library: enpit.asap.contact.adflib.jar
      Module as WLS Shared Library: enpit.asap.contact.wlslib.war

      with kind regards,
      Ulrich Gerkmann-Bartels

        Activity

        Hide
        chriscmuir added a comment -

        Thanks for logging the issue Ulrich.

        On your points:

        • every thing in the file system is lower case, when you must use it as a reference

        a) Agreed and the rule has an error in it, because it actually says use lowercase but then the examples dont use lowercase. Fixed in the next version.

        • the artifact has no version nummers in the filename

        b) Agreed. As the IDE hard codes library attachments by filename rather than a classpath approach, this is important as it makes it much harder otherwise to swap in new versions of libraries. The current rule has no mention of version numbers as a result.

        • the naming must show min. two levels of the namespace

        c) It does currently includes two through the chained rule 02009, but workspace + project. Do you mean at minimum the first 2 levels of the namespace? I'm guessing you're implying the company name as 1st part. What's the imperative to include your company name?

        d) You do you use the terms "Project" and "Module". Do these equate to a JDev "Workspace" and "Project" respectively?

        • you must easily answer following questions: who is the producer ?, which application need it ?, which (deployment) type is it ?

        f) How does the naming scheme answer "which application needs it?" ... do you mean to say how it was intended to be consumed (such as an ADF library or WLS shared library)?

        Further points down the issue text:

        e) On "Module as WLS Shared Library: enpit.asap.contact.wlslib.war", presumably this rule applies to JAR files too. However are JAR or WAR files that are deployed as WLS Shared Libraries packaged in a different fashion from ordinary WAR files? What happens if you decide not to deploy them as WLS shared libraries, doesn't this require a change to the file name?

        Other discussion points:

        f) Have these guidelines been devised at Enpit in isolation or conjunction with build tools like Apache Ivy and Maven? Would you think the same naming schemes would be necessary if the artifacts were injected into a repository with supporting meta-data?

        g) Just a general comment, it is a pain that when Oracle devised the ADF Library they didn't choose a different extension from JAR, this would have made identifying them simpler.

        Show
        chriscmuir added a comment - Thanks for logging the issue Ulrich. On your points: every thing in the file system is lower case, when you must use it as a reference a) Agreed and the rule has an error in it, because it actually says use lowercase but then the examples dont use lowercase. Fixed in the next version. the artifact has no version nummers in the filename b) Agreed. As the IDE hard codes library attachments by filename rather than a classpath approach, this is important as it makes it much harder otherwise to swap in new versions of libraries. The current rule has no mention of version numbers as a result. the naming must show min. two levels of the namespace c) It does currently includes two through the chained rule 02009, but workspace + project. Do you mean at minimum the first 2 levels of the namespace? I'm guessing you're implying the company name as 1st part. What's the imperative to include your company name? d) You do you use the terms "Project" and "Module". Do these equate to a JDev "Workspace" and "Project" respectively? you must easily answer following questions: who is the producer ?, which application need it ?, which (deployment) type is it ? f) How does the naming scheme answer "which application needs it?" ... do you mean to say how it was intended to be consumed (such as an ADF library or WLS shared library)? Further points down the issue text: e) On "Module as WLS Shared Library: enpit.asap.contact.wlslib.war", presumably this rule applies to JAR files too. However are JAR or WAR files that are deployed as WLS Shared Libraries packaged in a different fashion from ordinary WAR files? What happens if you decide not to deploy them as WLS shared libraries, doesn't this require a change to the file name? Other discussion points: f) Have these guidelines been devised at Enpit in isolation or conjunction with build tools like Apache Ivy and Maven? Would you think the same naming schemes would be necessary if the artifacts were injected into a repository with supporting meta-data? g) Just a general comment, it is a pain that when Oracle devised the ADF Library they didn't choose a different extension from JAR, this would have made identifying them simpler.
        Hide
        Jan Vervecken added a comment -

        fyi

        JIRA issue ADFEMG-88 has a comment with a reference to this JIRA issue ADFEMG-102 .

        • in "ADF Naming and Project Layout Guidelines v1.00"

          [ADFng1-02010] - Deployment profile archive name and file extensions - the archive name and file extension that is produced for the relating deployment profile should be the same as the deployment profile name all in lowercase as per the Java convention³, with a use of an appropriate file type. For example:
          • ADF Library <DeploymentProfileName>.jar
          • EAR File <DeploymentProfileName>.ear
          • JAR File <DeploymentProfileName>.jar
          • WAR File <DeploymentProfileName>.war

          ³ Java Guidelines, Patterns, and code for end-to-end Java applications - http://bit.ly/WwRsLQ

        • in "ADF Naming and Project Layout Guidelines v2.00" [1]

          [ADFng2-02010] - Deployment profile archive name and file extensions - the archive name and file extension that is produced for the relating deployment profile should be the same as the deployment profile name minus the need/use as defined in rules 02009 and 02010, all in lowercase as per the Java convention³, with a use of an appropriate file type. For example:

          • ADF Library <deploymentprofilename>.jar commonmodel.jar
          • EAR File <deploymentprofilename>.ear procurement.ear
          • JAR File <deploymentprofilename>.jar utilities.jar
          • WAR File <deploymentprofilename>.war hr.war

          ³ Java Guidelines, Patterns, and code for end-to-end Java applications - http://bit.ly/WwRsLQ

        regards
        Jan Vervecken

        Show
        Jan Vervecken added a comment - fyi JIRA issue ADFEMG-88 has a comment with a reference to this JIRA issue ADFEMG-102 . in "ADF Naming and Project Layout Guidelines v1.00" [ADFng1-02010] - Deployment profile archive name and file extensions - the archive name and file extension that is produced for the relating deployment profile should be the same as the deployment profile name all in lowercase as per the Java convention³, with a use of an appropriate file type. For example: • ADF Library <DeploymentProfileName>.jar • EAR File <DeploymentProfileName>.ear • JAR File <DeploymentProfileName>.jar • WAR File <DeploymentProfileName>.war ³ Java Guidelines, Patterns, and code for end-to-end Java applications - http://bit.ly/WwRsLQ in "ADF Naming and Project Layout Guidelines v2.00" [1] [ADFng2-02010] - Deployment profile archive name and file extensions - the archive name and file extension that is produced for the relating deployment profile should be the same as the deployment profile name minus the need/use as defined in rules 02009 and 02010, all in lowercase as per the Java convention³, with a use of an appropriate file type. For example: ADF Library <deploymentprofilename>.jar commonmodel.jar EAR File <deploymentprofilename>.ear procurement.ear JAR File <deploymentprofilename>.jar utilities.jar WAR File <deploymentprofilename>.war hr.war ³ Java Guidelines, Patterns, and code for end-to-end Java applications - http://bit.ly/WwRsLQ [1] http://www.oracle.com/technetwork/developer-tools/adf/learnmore/adf-naming-layout-guidelines-v2-00-1904828.pdf regards Jan Vervecken
        Hide
        chriscmuir added a comment -

        As I have updated the doc on some suggestions here, but I haven't received follow up answers from Ulrich to keep the discussion going, next time I revisit this issue I will mark it as 'partially fixed'.

        CM.

        Show
        chriscmuir added a comment - As I have updated the doc on some suggestions here, but I haven't received follow up answers from Ulrich to keep the discussion going, next time I revisit this issue I will mark it as 'partially fixed'. CM.
        Hide
        chriscmuir added a comment -

        As previous comment, partially fixed.

        Show
        chriscmuir added a comment - As previous comment, partially fixed.

          People

          • Assignee:
            Unassigned
            Reporter:
            Ulrich Gerkmann-Bartels
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: