8 Replies Latest reply on May 12, 2003 7:03 AM by th_langer

    Porting to Jboss from Orion or Oracle 9ias

    zboss

      Does anyone have experience porting to Jboss from Orion or Oracle Application Server? it seems that the all of the xml tabs for ejb beans / ejb-jar.xml need to be completely rewritten?

        • 1. Re: Porting to Jboss from Orion or Oracle 9ias
          moraelin

          I'm not sure what you mean by "xml tabs". Either way, if you had an EJB 2.0 conform ejb-jar.xml, normally you should be able to deploy that just fine under JBoss, Orion or WebSphere. (We actually tried that.)

          Of course, under JBoss you don't have a nice point-and-click console to actually map actual resources to the resource-refs, or actual EJBs to the ejb-refs. You will need to provide that information by hand in JBoss's own xml files, and pack those in the same place where your ejb-jar.xml is. It's nothing that 5 minutes with a text editor won't solve, anyway.

          Off topic: I don't know, though... After trying JBoss, WebSphere and (briefly) Orion, it beats me why would anyone want to convert from Orion to either of the other two. But then that's probably just me.

          • 2. Re: Porting to Jboss from Orion or Oracle 9ias
            zboss

            The reason for conversion is jboss is free, oracle 9ias isn't.

            Here's just a small sample from a working Oracle9ias/Orion ejb-jar.xml file compared to JBOSS (info from 'jboss 3.0 deplyment & administration handbook' - they appear to be very different - hope I'm wrong:
            ORACLE 9IAS / ORION
            <entity-deployment name="Booking" copy-by-value="false" data-source="jdbc/OracleDS" exclusive-write-access="false" table="BOOKING">
            <primkey-mapping>
            <cmp-field-mapping>

            <cmp-field-mapping name="booking_id" persistence-name="BOOKING_ID" persistence-type="NUMBER(22)"/>

            </cmp-field-mapping>
            </primkey-mapping>
            <cmp-field-mapping name="booking_id" persistence-name="BOOKING_ID" persistence-type="NUMBER(22)"/>
            <cmp-field-mapping name="repeat_booking_id" persistence-name="REPEAT_BOOKING_ID" persistence-type="NUMBER(22)"/>
            <cmp-field-mapping name="room_id" persistence-name="ROOM_ID" persistence-type="NUMBER(22)"/>

            JBOSS
            orion version is <entity-deployment
            <pk-constraint-template> orion version is <primkey-mapping>etc etc
            <cmp-field><field-name>room_id</field-name></cmp-field> orion version is <cmp-field-mapping name="room_id"
            jboss - don't see any tags called persistence-name or persistence-type

            • 3. Re: Porting to Jboss from Orion or Oracle 9ias
              bill.burke

              ROTFL!

              That's really Oracle9ias's ejb-jar.xml file? And they are a certified App-Server? LOL!



              > The reason for conversion is jboss is free, oracle
              > 9ias isn't.
              >
              > Here's just a small sample from a working
              > Oracle9ias/Orion ejb-jar.xml file compared to JBOSS
              > (info from 'jboss 3.0 deplyment & administration
              > handbook' - they appear to be very different - hope
              > I'm wrong:
              > ORACLE 9IAS / ORION
              > <entity-deployment name="Booking"
              > king" copy-by-value="false"
              > data-source="jdbc/OracleDS"
              > exclusive-write-access="false" table="BOOKING">
              > <primkey-mapping>
              > <cmp-field-mapping>
              >
              > <cmp-field-mapping
              > cmp-field-mapping name="booking_id"
              > persistence-name="BOOKING_ID"
              > persistence-type="NUMBER(22)"/>
              >
              > </cmp-field-mapping>
              > </primkey-mapping>
              > <cmp-field-mapping name="booking_id"
              > king_id" persistence-name="BOOKING_ID"
              > persistence-type="NUMBER(22)"/>
              > <cmp-field-mapping name="repeat_booking_id"
              > king_id" persistence-name="REPEAT_BOOKING_ID"
              > persistence-type="NUMBER(22)"/>
              > <cmp-field-mapping name="room_id"
              > room_id" persistence-name="ROOM_ID"
              > persistence-type="NUMBER(22)"/>
              >
              > JBOSS
              > orion version is <entity-deployment
              > <pk-constraint-template> orion version is
              > <primkey-mapping>etc etc
              > <cmp-field><field-name>room_id</field-name></cmp-field
              > orion version is <cmp-field-mapping
              > ng name="room_id"
              > jboss - don't see any tags called persistence-name
              > or persistence-type

              • 4. Re: Porting to Jboss from Orion or Oracle 9ias
                andersdahlberg

                > ROTFL!
                >
                > That's really Oracle9ias's ejb-jar.xml file? And
                > they are a certified App-Server? LOL!

                Hehe, I guess the original poster is a bit confused (at least as far orion server is concerned - see below)

                > > The reason for conversion is jboss is free, oracle
                > > 9ias isn't.
                > >
                > > Here's just a small sample from a working
                > > Oracle9ias/Orion ejb-jar.xml file compared to
                > JBOSS
                > > (info from 'jboss 3.0 deplyment & administration
                > > handbook' - they appear to be very different -
                > hope
                > > I'm wrong:


                Yeah, I would say that the file you mention is the orion-ejb-jar.xml (or "oracle/whatever"-ejb-jar.xml

                e.g. http://www.orionserver.com/docs/orion-ejb-jar.xml.html

                These files are indeed app. vendor specific...

                • 5. Re: Porting to Jboss from Orion or Oracle 9ias
                  moraelin

                  As far as I know, while Oracle 9ias isn't free, Orion itself is free for non-commercial use or development, and costs 1500$ per physical server (not per CPU) for commercial use. Which, frankly, is as good as free. Compared to the cost of the people programming an enterprise application, 1500$ for a good (and certified) app server doesn't even start to matter. Bad choices of software may well cost you 10 or 100 times as much in development costs.

                  Basically I'm not saying you should necessarily go with Orion. It may well be that JBoss still is your best choice. But if your _only_ criterion is the 1500$, you're doing it all wrong.

                  I remember when several years ago someone came up with the idea of selling "thin clients" (i.e., basically underpowered discless workstations, plus some marketing hype) as the way to save money on your programmers. And some manager's answer was along the lines of, "well, gee, a programmer is costing me 100,000$ a year on the whole, so I'd rather be concerned with getting the most work out of him, than with saving 500$ on the computer at the expense of hampering his work."

                  Well, the same applies to development tools, servers, whatever.

                  • 6. Re: Porting to Jboss from Orion or Oracle 9ias
                    weliwarmer

                    Just doing the conversion from Orion to JBoss myself. All my beans have the XDoclet comments in them , that did most of the work when deploying to Orion - now it looks like it's doing most of the work for JBoss too.

                    Worth the pain of adding the xdoclet comments, if just for the joy of seeing a mostly complete jaws.xml and jboss.xml generated with only a few tweeks!

                    I was thinking about creating an xsl file to transform the orion-ejb-jar.xml into jboss.xml and jaws.xml but only if the xdoclet fails.

                    • 7. Re: Porting to Jboss from Orion or Oracle 9ias
                      rajiv

                      ejb-jar.xml and web.xml are standard files you donot have to change it. Only orion specific descriptor has to change ie. orion-ejb-jar.xml and orion-web.xml to jaws.xml, jboss.xml, jbosscmp-jdbc.xml and jboss-web.xml. For it you can use XDoclet but it requies changes in the code( change or writing the tags). So its better that you write jboss specific descriptor on your own. For any problem you can mail on this problem

                      • 8. Re: Porting to Jboss from Orion or Oracle 9ias
                        th_langer

                        I ported our our application from orion1.5.4 to jboss3.0.x.

                        Issues I remember I had to solve:

                        * in CMP-Bean abstract getter-Methods of boolean-Fileds had to be changed from "isLalelu()" to "getLalelu()".

                        If you change the type from boolean to int, you can assure, your application runs on both platforms.<template:insert template="/i18nroot/en/MainTemplate.jsp">


                        * in jsp's some minor changes got necessary:
                        orion accepts:
                        <abc:xyz hh="<%= "hi "+string +"!" %>" />
                        but jboss needs
                        <abc:xyz hh='<%= "hi "+string +"!" %>' />

                        It's rather a "problem" with jasper, i think.

                        * I had to re-think the app-server-specific
                        descriptors. Especially some CMRs where upside-down, but orion ran with them nevertheless (dunno why all this happened). At first I then ran JBoss WITHOUT any jboss-specific DD (quite cool!), but when I needed JBOSSQL-finder, I had to re-think a lot of TAGs!. I'd recommend to use xdoclet to generate the DDs.

                        * some Tags using struts had to be adjusted.
                        JBoss need's
                        <template:insert template="{filename}">
                        while orion accepted
                        <template:insert template="{url}">

                        HTH
                        Thorsten

                        I never found out, if one of these things describes an error or bug in one or another appserver.