Deploying BC4J as J2EE compliant applications

Hi.
I've been looking over the threads concerning deployment of BC4J applications into oc4j.
Maybe I have missed the concept of bc4j, but doesn't bc4j act as 'just another runtime library' and be deployed as a standard J2EE library, i.e:
war-file->
/WEB-INF/classes/<all the java-classes, including bc4j packages>
/WEB-INF/web.xml
/WEB-INF/lib/<bc4j runtime libraries>
/<jsp,html,images etc.>
It seems to me that BC4J is not really adapted to a J2EE environment. For example, local file access from an EJB application is a big no-no in the specs.
Is there any plans for a rewrite of bc4j to make it more 'J2EE-compliant'?
Best Regards /Anders

You could deploy the BC4J archives along with each and every WAR file if you want, but this is kind of a waste. Instead, you typically deploy them in the global library directory of your container.
BC4J reads resources from the application context for things like metadata files. Have you found this issue to stop you from successfully running BC4J applications as J2EE EJB Session Beans?
Remember the J2EE includes both Servlets and EJB's. Some customers shy away from the additional complexity of EJB's and build J2EE-compliant applications that work entirely in the J2EE "Web Tier" without using the "J2EE EJB Tier" as well.
BC4J-powered J2EE applications support deploying application components either to the J2EE Web Tier or to the J2EE EJB Tier without requiring code changes.

Similar Messages

  • Any Good Tools for Charting in J2EE compliant Applications

    Hi,
    I am looking for Good Tools to draw Chart in Weblogic 6.0 Application.
    I know
    Sitraka www.sitraka.com
    Visual Mining www.visiualmining.com
    Visual Engineering www.ve.com
    But I am looking something good and cheap.
    Any suggestions.
    Thanks
    Jeyakumar Raman.

    It is a web-base application and basically this would be an evolving suite of test cases. For example, if this was a purchasing system. A few test cases that we would like to run would be as such.
    1. Enter in a valid Purchase Order verify expected results
    2. Enter in an invalid Purchase Order verify expected results
    3. Enter a purchase order with one line item
    4. Enter a purchase order with multiple line items
    5. Query existing purchase orders
    6. Edit existing purchase orders
    7. Delete a purchase order
    ETC.
    Would WinRunner provide this functionality? Are there any OpenSource solutions as well.

  • Issues with deploying BC4J/JSP applications on OC4J

    To everyone who's been having problems deploying BC4J/JSP applications to OC4J.
    We are aware that you're having problems deploying to OC4J, and we're working on them. OC4J was not available in time for us to add support for OC4J deployment to the JDeveloper 3.2.3 release. In addition there are some bugs in the first release of OC4J that have an impact on BC4J applications. This note describes the issues, and how we plan to address them.
    Issue 1: Classpath problems
    People have been getting "class not found" or "properties file not found" errors when they try to run their JSP. The answer is to make sure that all relevant archives and your JSP's .properties file are in the OC4J classpath - there's a note addressing the .properties file problem at http://technet.oracle.com:89/ubb/Forum99/HTML/000028.html. In general though, setting up the classpath can be tricky.
    Issue 2: JSP TAG NOT RELEASED ON END TAG. SAME TAG IS REUSED.
    This issue affects JSP pages whose behaviour relies on a tag instance being cleaned up as a result of release() being called.
    Your tag will not be released, and subsequent instances of the tag will reuse the first instance, rather than instantiating a new
    one.
    Issue 3:JSP SCRIPTABLE VARIABLE NULL
    A scriptable variable set in a tag cannot be accessed by a scriptlet. For example, this JSP code will throw a
    NullPointerException, because the scriptlet cannot access the value of resultRow:
    <jbo:Row id="resultRow" action="CURRENT" datasource="customer_vo1" />
    <%
    session.putValue("FIRSTNAME", resultRow.getAttribute("Firstname").toString());
    %>Workaround: Add a line of code at the beginning of the scriptlet to explicitly get the variable's value from the page context, for
    example:
    <jbo:Row id="resultRow" action="CURRENT" datasource="customer_vo1" />
    <%
    resultRow = (oracle.jbo.Row)pageContext.findAttribute("resultRow");
    session.putValue("FIRSTNAME", resultRow.getAttribute("Firstname").toString());
    %>
    What we plan to do
    To address issue 1, we're currently testing a utility that installs the BC4J runtime libraries to OC4J, and provides a script to start OC4J with the correct classpath. We plan to post this by the end of this week, along with instructions for deploying a BC4J application to OC4J; deployment will be a lot simpler after running the utility.
    To address issues 2 and 3, we're working on a second utility that installs BC4J runtime and provides a fix to the JSP compiler. We plan to post this second utility by the end of next week.
    We do apologise for the problems you're having; please bear with us as we work on making it easier for you to deploy BC4J applications to OC4J.
    Thanks
    Blaise

    Hi, I have been trying desparately to deploy
    a simple example JDeveloper application for months and months.
    I HAVE NEVER BEEN SUCCESSFUL IN DEPLOYING ANYTHING.
    I don't know much about webservers and I am relying
    on the instructions from JDeveloper help and this website.
    I have already tried Apache, and WebLogic
    because there are instructions in the JDev help.
    No luck.
    Now I am trying to use OC4J on 9ias because there are instructions.
    I have read the instructions about how to install a BC4J
    app on OC4J about 25 times, but I can't get this thing to work.
    It works fine inside of JDeveloper.
    I create a BC4J project using the scott
    schema (just the dept and emp tables).
    Then I create an empty project for my JSP client.
    I choose JSP Application from the web
    objects and it connects to my BC4J project.
    As I say, when I run it in JDeveloper, there is no problem.
    In the instructions for installing BC4J
    in OC4J, it first says install JDev 3.2.3 and OC4J.
    This is done, and it tested fine.
    Then it says to install the deployment software.
    No problem.
    But when I deploy the app according to the instructions,
    it just hangs (like Rick Wang's program did).
    The main.jsp page loads and displays correctly,
    but when I click on the links to the DeptView.jsp
    or EmpView.jsp it just hangs.
    Here is the entire batch file I'm using
    to start OC4J: cd c:\oracle_9ias\j2ee\home
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\default-web-app\lib
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\classes
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\classes12.jar
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\xmlparserv2.jar
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jdev-rt.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbojdbcpatch.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\connectionmanager.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbohtml.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jboimdomains.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\ordim817.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\ordvir817.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\ordhttp.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbomt.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbodomorcl.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jboremote.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jndi.jar
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbodatum12.zip
    set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\al_BC4J.jar
    java -cp C:\oracle_9ias\j2ee\home\orion.jar;%CLASSPATH%
    com.evermind.server.ApplicationServer
    pause
    The file al_BC4J.jar contains my application.properties file
    and my connections.properties file, as well as my business components.
    All of the files referenced in my classpath are
    present in my c:\oracle_9ias\j2ee\home\lib directory.
    I noticed that Raghu's classpath contains a file called jdev.jar
    So does the classpath of another fellow who says
    he was successful in deployment (his name is Jeffrey Jackson).
    I searched my JDev_3.2.3 for this file and found it nowhere.
    I also searched my OC4J home and my 9iAS for this file and
    found it nowhere.
    It is nowhere on my C:\.
    Is this file necessary?
    I will also try removing my application.properties file
    and my connections.properties file from my BC4J .jar file
    and put them in a separate .jar file at the root level (as Raghu did).
    However, Jeffery Jackson did not do this and says he was
    successfull in deployment.
    ***DO I NEED TO JAR UP ANY OF MY THE FILES FROM the JSP
    FOLDER IN JDevHome\myhtml???***
    ***or place them in the classpath?***
    I have read over all of the discussions at: http://technet.oracle.com:89/ubb/Forum2/HTML/008232.html
    and http://technet.oracle.com:89/ubb/Forum99/HTML/000028.html
    many, many times.
    Can anyone help me?

  • Deploying a J2EE web application in Oracle 10g

    Hi friends,
    <br>
    I had worked with Oracle9i 9.0.3 . But it's my first experience with Oracle 10g . I have installed Oracle 10g Infrastructure , Metadata Repository and one Middle tier - Forms and i hope i have followed The Oracle 10g installation guide Properly. Anyway installation is successful.
    The problem is a J2EE web application which is deployed properly on Oracle9i 9.0.3 doesn't get deployed in Oracle 10g. The following is the exception :
    <br>
    Deployment failed: Nested exception
    Root Cause: deploy failed!: ; nested exception is:
    oracle.oc4j.admin.internal.DeployerException: Error initializing ejb-module; Exception Error in application Spom_Apps: Error loading package at file:/C:/Oracle/Ora9iASForms/j2ee/home/applications/Spom_Apps/JmsSubscriberMdb.jar, Error deploying file:/C:/Oracle/Ora9iASForms/j2ee/home/applications/Spom_Apps/JmsSubscriberMdb.jar homes: No location set for Topic resource MessageDrivenBean JmsReceiverMdb
    <br>
    <br>
    where JmsReceiverMdb is the deployment file containing the message driven beans.
    <br>
    Thanks in advance,
    paskal

    Hi,
    Thanks for responding . I am sending the file contents of ejb-jar.xml, orion-ejb-jar.xml, jms.xml.
    Could you also check whether dtds versions of 10g and 9i in these xmls are conflicting? If you can specify your email-id i can send these file as attachments.
    Hope you could strike the right spot.
    ejb-jar.xml
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    <ejb-jar>
    <enterprise-beans>
    <session>
    <description>Session Bean ( Stateless )</description>
    <display-name>spomPmConfigSSB</display-name>
    <ejb-name>spomPmConfigSSB</ejb-name>
    <home>jnipackage.spomPmConfigSSBHome</home>
    <remote>jnipackage.spomPmConfigSSB</remote>
    <ejb-class>jnipackage.impl.spomPmConfigSSBBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    <message-driven>
    <description>Message Driven Bean</description>
    <display-name>JmsReceiverMdb</display-name>
    <ejb-name>JmsReceiverMdb</ejb-name>
    <ejb-class>jnipackage.impl.JmsReceiverMdbBean</ejb-class>
    <transaction-type>Container</transaction-type>
    <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
    <resource-ref>
    <res-ref-name>jms/alarmTopicConnectionFactory</res-ref-name>
    <res-type>javax.jms.TopicConnectionFactory</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
    <resource-env-ref>
    <resource-env-ref-name>jms/alarmTopic</resource-env-ref-name>
    <resource-env-ref-type>javax.jms.Topic</resource-env-ref-type>
    </resource-env-ref>
    </message-driven>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>JmsReceiverMdb</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    <container-transaction>
    <method>
    <ejb-name>spomPmConfigSSB</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Supports</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    Orion-ejb-jar.xml
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE orion-ejb-jar PUBLIC "-//Evermind//DTD Enterprise JavaBeans 1.1 runtime//EN" "http://xmlns.oracle.com/ias/dtds/orion-ejb-jar.dtd">
    <orion-ejb-jar>
    <enterprise-beans>
    <message-driven-deployment name="JmsReceiverMdb" max-instances="100" min-instances="0">
    <resource-ref-mapping name="jms/alarmTopicConnectionFactory"/>
    </message-driven-deployment>
    <session-deployment name="spomPmConfigSSB"/>
    </enterprise-beans>
    <assembly-descriptor>
    <default-method-access>
    <security-role-mapping impliesAll="true" name="&lt;default-ejb-caller-role>"/>
    </default-method-access>
    </assembly-descriptor>
    </orion-ejb-jar>
    jms.xml
    <?xml version="1.0" standalone='yes'?>
    <!DOCTYPE jms-server PUBLIC "OC4J JMS server" "http://xmlns.oracle.com/ias/dtds/jms-server-9_04.dtd">
    <jms-server port="9127">
    <!-- Queue bindings, these queues will be bound to their respective
    JNDI path for later retrieval -->
    <queue name="Demo Queue" location="jms/demoQueue">
    <description>A dummy queue</description>
    </queue>
    <!-- Topic bindings, these topic will be bound to their respective
    JNDI path for later retrieval -->
    <topic name="Demo Topic" location="jms/demoTopic">
    <description>A dummy topic</description>
    </topic>
    <!-- Topic bindings, these topic will be bound to their respective
    JNDI path for later retrieval -->
    <topic name="AlarmQueue" location="jms/alarmTopic">
    <description>A topic</description>
    </topic>
    <topic name="FaultTextQueue" location="jms/faultTextTopic">
    <description>A topic</description>
    </topic>
    <topic name="FaultTopologyQueue" location="jms/faultTopologyTopic">
    <description>A topic</description>
    </topic>
    <!-- path to the log-file where JMS-events/errors are stored -->
    <log>
    <file path="../log/jms.log"/>
    <!-- Uncomment this if you want to use ODL logging capabilities
    <odl path="../log/jms/" max-file-size="1000" max-directory-size="10000"/>
    -->
    </log>
    <queue name="jms/OracleSyndicateQueue" location="jms/OracleSyndicateQueue">
    <description>Oracle Syndication Services Queue</description>
    </queue>
    <!--
    <queue-connection-factory name="jms/OracleSyndicateQueueConnectionFactory"
    location="jms/OracleSyndicateQueueConnectionFactory"/>
    -->
    <queue-connection-factory location="jms/OracleSyndicateQueueConnectionFactory"/>
    <queue name="jms/OracleUddiReplicationQueue"
    location="jms/OracleUddiReplicationQueue">
    <description>Queue for replication scheduler</description>
    </queue>
    <!--
    <queue-connection-factory
    name="jms/OracleUddiReplicationQueueConnectionFactory"
    location="jms/OracleUddiReplicationQueueConnectionFactory"/>
    -->
    <queue-connection-factory location="jms/OracleUddiReplicationQueueConnectionFactory"/>
    <queue name="jms/OracleWebClippingQueue"
    location="jms/OracleWebClippingQueue">
    <description>Queue for Web Clipping</description>
    </queue>
    <!--
    <queue-connection-factory
    name="jms/OracleWebClippingQueueConnectionFactory"
    location="jms/OracleWebClippingQueueConnectionFactory"/>
    -->
    <queue-connection-factory location="jms/OracleWebClippingQueueConnectionFactory"/>
    </jms-server>

  • How to deploy oracle forms + J2EE application in single OC4J instance

    We have ORACLE forms application, which is deployed in OC4J Instance in application server.
    There are some modules, which are developed in Java/J2EE, which are invoked from Oracle forms application. Currently this java application is
    deployed in separate OC4J instance.
    Could you please help us how to combine this forms +J2ee application in single ear file,
    And this ear file has to be deployed in one OC4J instance.

    Maybe have a look at :
    http://download.oracle.com/docs/cd/B14099_19/web.1012/b14032/basics.htm

  • BC4J EJB deployment ; testing deployment to 8i with client application

    Hi,
    Is there a way to to connect a java client application to a 8i deployed BC4J using the oracle.dacf.dataset.SessionInfo ? Can we do this using the JDev wizards - property inspector ?
    (I've seen in the doc :"Testing a Business Components EJB Deployed to Oracle8i with a Code Client" but the given code
    // setup application module variable
    ApplicationModule appMod = null;
    javax.naming.Context ic = new InitialContext(env);
    ApplicationModuleHome home = (ApplicationModuleHome)ic.lookup(DeployedMod);
    appMod = home.create();
    does not contains any SessionInfo object.)
    Thanks,
    Xvc

    Chris,
    Perhaps you should be checking if the user you wish to deploy
    EJBs to has at least JAVAUSERPRIV.
    As SYSTEM
    grant JAVAUSERPRIV to <user>;
    Good luck
    /Mark
    Chris Jones (guest) wrote:
    : Hi,
    : I'm having a problem deploying an EJB to Oracle 8i with
    : JDeveloper 2.0.
    : I am receiving an insufficient privileges error in the
    : deployment process when it reaches the stage Generating EJBHome
    : and EJBObject on the server. I am logging in using the system,
    : sys, scott or internal account and all still receive the same
    : error. What role/privelege do I need to deploy an ejb to 8i?
    : Thanks in advance.
    : Here is a dump of the output JDeveloper produces.
    : *** Invoking the Oracle JDeveloper deployment utility ***
    : Scanning project files...done
    : Generating classpath dependencies...done
    : Generating archive entries table...done
    : Writing archive...done
    : *** Invoking the Oracle8i deployment utility ***
    : Reading Deployment Descriptor...done
    : Verifying Deployment Descriptor...done
    : Gathering users...done
    : Generating Comm Stubs...done
    : Compiling Stubs...done
    : Generating Jar File...done
    : Loading EJB Jar file and Comm Stubs Jar file...done
    : Generating EJBHome and EJBObject on the
    : server...oracle.aurora.server.tools.sess_iiop.ToolsException: A
    : SQL exception occured while compiling:
    : oracle.aurora.ejb.gen.test_MyEJB.EjbObject_MyEJB : ORA-01031:
    : insufficient privileges
    : at oracle.aurora.server.tools.sess_iiop.ToolImpl.error
    : (Compiled Code)
    : at oracle.aurora.ejb.deployment.GenerateEjb.generateBean
    : (Compiled Code)
    : at oracle.aurora.ejb.deployment.GenerateEjb.invoke
    : (Compiled Code)
    : at oracle.aurora.server.tools.sess_iiop.ToolImpl.invoke
    : (Compiled Code)
    : at
    : oracle.jdeveloper.wizard.deployment.EJBDeployMonitor.run
    : (Compiled Code)
    : at oracle.jdeveloper.wizard.common.ProgressDialog.run
    : (Compiled Code)
    : at java.lang.Thread.run(Compiled Code)
    null

  • Deploying BC4J application: the right choice

    We have developed three applications (A, B, C):
    - A is a BC4J application
    - B is a JSP application accessing A
    - C is a Java GUI client accessing A
    We want A and B to run in the same web server, so we would have chosen LOCAL deployment for application A.
    The problem is with application C that will run remotely on individual client machines.
    The questions are:
    1. Can application C access application A deployed on the server using BC4J LOCAL deployment?
    2. If not (as I think), what kind of deployment (EJB/Corba) and platform (Application Server/Oracle Database Server) should be chosen for my scenario to give better performance?
    Any help would be very appreciated.
    Thanks in advance.
    Michele
    null

    Hi Michele,
    the official solution for your problem would be:
    Deploy A as EJB session bean or Java CORBA object to an appropriate server.
    Let B and C connect to the common business logic tier.
    But:
    Currently (JDeveloper 3.2.3) an EJB deployment of BC4J apps to OC4J isn't supported, so: If you want to use Oracle9i AS, you have to deploy to the EJB/CORBA Server implemented in the Oracle Database. We tried to do this and had lots and lots of problems, mainly performance problems. If you ask me: Don't do that!
    We tested the deployment to Borland Visibroker and got it work after a while, and your little example worked quite good. So probably you could ask for experiences with other App Servers.
    If you can wait, try to test EJB Session Bean Deployment to OC4J. I saw some demos on the Oracle OpenWorld in Berlin/Germany and it seems to have a quite better performance and stability. But: This will be supported by JDeveloper9i, what should be available as beta release end of this month, and production at the end of this year. So probably you can't wait that long.
    Sorry, but that's the way it is...
    To Raghu/JDev Team: Any better advice?
    Regards
    Stefan
    null

  • How to access deployed J2EE Web application ?

    Hi,
    I am new to J2EE Web Application. I have created a Web Module project and in that I have created a servlet. I did a build for WAR file. I have created an Enterprise Application Project and included this WAR file. I built  the EAP and deployed it to J2EE engine. I am successful till here.
    I am not sure how to access this deployed application and thus this servlet.
    I tried to access the following way :
    http://<hostname>:<portnumber>/<EAPName>/<ServletName>
    However, I receive the error no such location.
    In the web.xml file, in the servlet-mapping section, I have mentioned the servletname and urlpattern.
    I have mentioned the urlpattern as MyServlet and not /MyServlet. Notice the 'backslash'.
    Could this be an issue ?
    Regards,
    Subramanian V.

    Hi
    See this Thread
    Re: servlet ----->url association ?
    Re: Servlet not getting loaded when put in a jar file
    Re: I just want to run a simple servlet. No EJBs, no Web DynPro...
    /message/610344#610344 [original link is broken]
    Kind Regards
    Mukesh

  • Deploying j2ee compliant archives

    hi can any one pls guide me the various ways to deploy the j2ee compliant archives( .jar, .war., .ear)

    Hi JShankar,
    SDM is used for deploying software packages (Software Deployment Archives and Software Component Archives) that you receive from SAP.
    For other archives, you can use the deploy tool.
    http://help.sap.com/saphelp_nw70/helpdata/en/a8/fcbc3d16f39e33e10000000a11405a/frameset.htm
    SDM is also capable of doing normal deployment, however many administrators may choose to block SDM Access.
    Also SDM deployment generally cause a stop/start of J2EE engine, which is undesirable if many developers are working on the system.
    Deploy tool provides for HOT deployment or on the fly deployment without J2EE restart.
    Regards,
    Siddhesh

  • Deployment of an Adobe AIR application in an enterprise environment

    Dear Team members,
    first of all my apologies for posting this thread in more than one forum (see Installations Issues) but the argument is very important to us and I don't know where discuss it.
    I would like to post a question to you regarding deployment doubts that we are trying to address.
    My company is working on the new version of our primary application previously built as a J2EE application with some reporting functions with Flex, and we want to use AIR in order to leverage its possibilities:
    Seamless integration with existing application functionalities (implemented as standard JEE web application pages) thanks to the integrated HTML capabilities
    Improved integration of the user interface with the desktop
    Native processes to provide additional functionalities
    Our application is targeted to pharmaceutical industry, subject to FDA regulations, and it affects more than 5000 users for each customer, so we have some specific requirements affecting the deployment and distribution of the software:
    Allow to run multiple versions of the software on the same client machine (to support test and acceptance activities in addition to the production environment)
    Minimize the effort of the initial setup on each client
    Manage the version upgrades without manual activities on each client
    Keep the test/acceptance and production environments strictly aligned to improve effectiveness of formal validation (ideally, an application once validated should be transported in production without any source code modification, recompilation or repackaging)
    The current browser-based strategy is perfectly fit to these requirements, and in the shift towards a desktop-based strategy we need to continue satisfying them as much as possible. We evaluated the standard distribution strategy of Adobe AIR applications, and noticed several attention points in this scenario.
    The first issue we encountered is the back-end services endpoint discovery problem. Simply hardcoding a server URL in the packaged application could be a viable solution for public internet-accessible applications, but we need to support multiple customers in their intranet, and each one typically requires multiple environments for the application (acceptance, production, etc.). Maintaining dozens of different packages of the AIR application to support all these customer environments clearly is not the solution. Neither we want to force thousands of different users to enter and maintain the correct server location in their local preferences.
    So, we thought to use a badge hosted in the back-end application to run the local AIR application: using the underlying API, we could activate the application specifying also the network location of the back-end services. We could also rely on the badge to install the application (and the AIR runtime if necessary)… however, application packaged as native installers cannot be installed, upgraded, or launched by the badge API (and we need to package ours as native to use native processes).
    We also noticed that multiple versions of an AIR application cannot be installed side-by-side in a client machine, and that the installation and upgrade of the application can be performed only when the local user has administrative rights on the machine (using standard or native packages), forcing us to rely on external software distribution systems in some customer scenarios (introducing additional complexities in the release cycle).
    At this point, in our opinion the standard deployment strategies of Adobe AIR applications are unfit for enterprise environments. In the enterprise world, many of the applications have migrated to a completely browser-based solution, while others enhanced their client layer to comply with the requirements, for example installing only a thin portion of the client code and allowing to connect to multiple server versions/environments with it (e.g. the SAP GUI universal client). Without smarter deployment and distribution tools, AIR applications currently are a step back compared to web applications in terms of manageability.
    So, we are trying to develop a solution to address these problems, with some concepts similar to JStart: install on the client machine a launcher application capable of being activated from a web page, dynamically locate, download and run the actual client bytecode, transparently enforce client software updates, and supporting multiple applications (and multiple versions of the same application). However, we are facing many technical problems due to internal architecture of AIR and we already spent a considerable amount of effort trying to find a solution. We are now thinking to return on the choice of AIR, going back to Flex.
    What is the position of Adobe on this argument? Is Adobe aware of these issues and are there any plans on this topic? Any advice?
    Thank you in advance

    For those following along, Oliver Goldman will be answering this post in future articles on his blog.
    Many great comments and questions here. I’m working on some follow-up posts to address these; nothing I could cram into this comment field would really do your query justice. - Oliver Goldman
    Pursuit of Simplicity
    Chris

  • HOWTO:Deploy BC4J as Session Bean in Weblogic

    This document describes Howto deploy a BC4J Appmodule as EJB Session Bean to Weblogic and
    test the appmodule through the BC4J tester.
    =>create a BC4J Application using Business Components Wizard.
    =>test it using BC4J tester
    =>make the Application Module Remotable [list]
    [*]Select Appmodule and right mouse on it to select the edit option
    [*]Select Remote tab
    [*]Select the check box for Remotable Application Module
    [*]Select EJB Session Bean and shuttle it from Available list to Selected list
    [*]Click on the finish button[list]
    => Do File| Save All and a Rebuild on the project
    => create the weblogic XML Deployment Descriptor[list]
    [*]Choose File|New
    [*]Select the web objects tab
    [*]Select XML and click ok
    [*]Rename the file as ejb-jar.xml using File|Rename
    [*]Save it in the JDEV_HOME/myclasses/META-INF directory.
    [*]Open the xml file by double clicking on it.
    [*]Paste the following into the file
    <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'>
    <ejb-jar>
    <enterprise-beans>
    <session>
    <ejb-name>wl.WlModule</ejb-name>
    <home>wl.common.ejb.WlModuleHome</home>
    <remote>wl.common.ejb.RemoteWlModule</remote>
    <ejb-class>wl.server.ejb.WlModuleServerEJB</ejb-class>
    <session-type>Stateful</session-type>
    <transaction-type>Bean</transaction-type>
    </session>
    </enterprise-beans>
    <assembly-descriptor>
    </assembly-descriptor>
    </ejb-jar>
    [*]Choose File|New
    [*]Select the web objects tab
    [*]Select XML and click ok
    [*]Rename the file as weblogic-ejb-jar.xml using File|Rename
    [*]Save it in the JDEV_HOME/myclasses/META-INF directory.
    [*]Open the xml file by double clicking on it.
    [*]Paste the following into the file
    <!DOCTYPE weblogic-ejb-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 5.1.0 EJB//EN' 'http://www.bea.com/servers/wls510/dtd/weblogic-ejb-jar.dtd'>
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean>
    <ejb-name>wl.WlModule</ejb-name>
    <caching-descriptor>
    <max-beans-in-free-pool>100</max-beans-in-free-pool>
    <max-beans-in-cache>100</max-beans-in-cache>
    <idle-timeout-seconds>60</idle-timeout-seconds>
    </caching-descriptor>
    <jndi-name>wl.WlModule</jndi-name>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    In this example "wl" is the package name and "WlModule" is the Appmodule name.[list]
    => generate the jar file for appmodule along with xml deployment descriptors[list]
    [*]from the command line in JDEV_HOME/myclasses directory run
    [*]jar cvf0 wlappmodule.jar wl META-INF[list]
    => edit the setenv.cmd file in WEBLOGIC_HOME directory[list]
    [*]set JAVA_HOME=f:\jdev32\java1.2
    [*]set JBOLIB=f:\jdev32\lib
    [*]set JDBC_CLASSES=f:\jdev32\jdbc\lib\oracle8.1.7\classes12.zip
    [*]set JBO_RUNTIME=%JBOLIB%\jboorasql.zip;%JDBC_CLASSES%;%JBOLIB%\jbodatum12.zip;%JBOLIB%\xmlparserv2.jar;%JBOLIB%\jbomt.zip;%JBOLIB%\jboejb.jar
    [*]add JBO_RUNTIME in the set CLASSPATH variable[list]
    => create a bc4j deploy batch file "Deploybc4j.cmd" in the WEB_LOGIC HOME
    which will generate the server side jar files
    @setlocal
    set JAVA=java
    set JAVAC=javac
    set BEAN_JAR=%1
    set EJB_TEMP=f:\jdev32\myclasses\wl
    set XMLPARSERV2=f:\jdev32\lib\xmlparserv2.jar;
    set JDBC_LIBS=f:\jdev32\jdbc\oracle8.1.7\lib\classes12.zip
    set JBO_EJB_RUNTIME=f:\jdev32\lib\jbomt.zip;f:\jdev32\lib\jboejb.jar;%XMLPARSERV2%;%JDBC_LIBS%
    set CLASSPATH=%CLASSPATH%;%JBO_EJB_RUNTIME%;%BEAN_JAR%;%EJB_TEMP%
    %JAVA% weblogic.ejbc -compiler javac f:\jdev32\myclasses\wlappmodule.jar f:\jdev32\myclasses\wlAppModuleGenerated.jar;f:\jdev32\lib\jbodomorcl.zip
    pushd %EJB_TEMP%
    @endlocal
    Note: substittue appropriate jar file and directory structure names
    => Run setenv.cmd
    => Run deploybc4j.cmd
    => Configure Weblogic server[list]
    If your weblogic server is residing on a different machine then
    [*]copy wlAppModuleGenerated.jar (generated jar file from deploybc4j.cmd)
    [*]Copy classes12.zip from JDEV_HOME/jdbc/lib/oracle8.1.7/ directory
    [*]Copy jbodomorcl.zip
    [*]jbodatum12.zip
    [*]xmlparserv2.jar
    [*]jbomt.zip
    [*]jboejb.jar from JDEV_HOME/lib directory
    [*]edit weblogic.properties file in WEBLOGIC_HOME directory
    [*]In the WEBLOGIC EJB DEMO PROPERTIES sectio
    [*]add weblogic.ejb.deploy=E:/weblogic/myserver/wlAppModuleGenerated.jar
    (generated jar file from deploybc4j.cmd file)
    [*]edit startweblogic.cmd file in WEBLOGIC_HOME directory
    [*]set POST_CLASSPATH=f:\jdev32\jdbc\oracle8.1.7\lib\classes12.zip;f:\jdev32\lib\jboorasql.zip;f:\jdev32\lib\jbodatum12.zip;f:\jdev32\lib\xmlparserv2.jar;f:\jdev32\lib\jbomt.zip;f:\jdev32 \lib\jboEJB.jar;f:\jdev32\lib\jbodomorcl.zip
    [*]add E:/weblogic/myserver/wlAppModuleGenerated.jar
    (generated jar file from deploybc4j.cmd file) in the weblogic_classpath setting[list]
    Note: modify the directory structure of jar files as apporpriate
    => Run the BC4J tester to test the deployed BC4J Appmodule as session bean to Weblogic[list]
    [*]Add a new library
    [*]Select the Project in which you developed the BC4J Appmodule
    [*]Project | Project Properties
    [*]select libraries tab
    [*]Click on Add
    [*]Click on New
    [*]Specify "JBO WL Client" in the NAME
    [*]Click on ... button for adding the jar files
    [*]Click on Add/Zip jar button to add the following files
    weblogicaux.jar
    jboremoteejb.zip
    jboremote.zip
    <Weblogic_home>/classes
    [*]Click on OK
    [*]Start the weblogic server
    [*]Bring the BC4J Tester by doing a right mouse on the appmodule and selecting Test option
    [*]In the Middle Tier Server Type Select "Weblogic"
    [*]Specify Host name and port # of weblogic server
    [*]Click on Connect[list]
    raghu
    null

    Although this explains how to then deploy to Weblogic on another server, it still presumes that it is installed on the same computer as JDev. I moved the weblogic.jar file over to the computer and fudged a few things to get it to work.
    Also, I am testing this with Weblogic 6.0, so some of the information does not work as prescribed. I edited the config.xml instead of the weblogic.properties file. I am trying to figure out where to put all of the *.jar and *.zip files that I copied over to the Solaris machine with Weblogic. Any suggestions?
    And one of the steps in the section to create the deploybc4j.cmd file is wrong. It says
    "%JAVA% weblogic.ejbc -compiler javac f:\jdev32\myclasses\wlappmodule.jar f:\jdev32\myclasses\wlAppModuleGenerated.jar;f:\jdev32\lib\jbodomorcl.zip"
    Which does not work. I took off the last part:
    "%JAVA% weblogic.ejbc -compiler javac f:\jdev32\myclasses\wlappmodule.jar f:\jdev32\myclasses\wlAppModuleGenerated.jar"
    and it worked. It was getting that whole last part and trying to create a directory with that name and failing.
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by David Shanes ([email protected]):
    This seems to assume that JDev and Weblogic are installed on the same server (I refer to the section on setting the setenv.cmd file in the WEBLOGIC_HOME dir that includes the path to the JDev install.
    I have JDev installed on a Win 2k box and Weblogic installed on a Solaris. Any suggestions? I got all the way up to the setenv.cmd step fine.<HR></BLOCKQUOTE>
    null

  • Deploying BC4J JSP app to 9iAS (via EJB?)

    Hello. Please help a newbie (new to Java, JDev, JSP, and 9iAS R2).
    I've just built my first BC4J JSP app in JDev, and I've even setup a remote DCM connection to my 9iAS R2 server.
    1. JDev release notes say that BC4J deployment from JDev to 9iAS R2 is not supported. Confusing. What is the best way to deploy this app?
    2. I've created an EJB .ear file in JDev 9.0.3 and deployed it using the EM from OC4J_home. It seemed to deploy okay, but I don't know how to find it via an http path (I know, sounds dumb). Do I need to include a port number? Do I still point to my JSP page, or do I point to a servlet? What would a sample path look like?
    3. Can you recommend a good book, something like "Oracle 9iAS and JSP Apps for Dummies?"
    Thanks in advance.
    -Tony.

    Hello - I've just asked one of the BC4J team to take a look at your questions, so please keep a lookout for a response.
    I am not super familiar with BC4J, but since it's deployed as a J2EE application it should work in the following way:
    When you deploy an EAR file which contains a Web application module, you have to tell the server what URL pattern it should use to know when to send the request to the Web application. The deployment screens in OEM prompt you to enter these URLs when the deployment is done.
    Once the deployment is complete (and assuming that you've not modified the HTTP server port) you should then be able to access the application using
    http://<server-host>:7777/<url>
    where <url> is the pattern you entered for the Web application during the deployment process.
    cheers
    -steve-

  • How to deploy stuff to J2EE

    I'm writing this note hoping to help people deploying BC4J and non BC4J apps to J2EE.
    Almost all of the problems related to deployment center around improperly set classpaths and the short of it is that you need to place all of your jar files (sometimes zip files), class files, and resource files (properties files, xml files, etc...) where your server and consequently your code can find them.
    BC4J is really nothing more than a collection of jar files, class files, and xml files. Look at the console in Jdev when running or debuging your application and you can see the classpath used to run your app.
    All of your own classes and resources (not including jsp/html) can be jarred using the jar utility and handled like regular/commercial jars, but this is not a requirement.
    Essentially you have two options when it comes to deploying:
    1) Place all of your jars in what I term the basedir lib directory. This refers to the lib directory in OC4J or the lib directory in tomcat.
    If you jarred your application you may place it in the basedir lib directory as well.
    When you then go to start your J2EE server you need to make sure that all of these jar files are included in the SYSTEM classpath (the classpath environment variable) before the J2EE server starts. In addition whether you deploy your own program as classes and text files or a jar file you need to make sure that the root class directory (typically web-inf\classes) or jar file is also in the classpath.
    Tomcat does this automatically when it's started through the tomcat.bat file, but OC4J does not (you will need to do it manualy or create a batch file to start your instance of OC4J that does this for you. I've bastardized the tomcat.bat file for OC4J and it works quite well now.
    2) The alternative is to place all of your jars and class files under web-inf\lib and web-inf\classes respectively. This avoids having to specify a system classpath for all jars and your classes directory.
    Regardless of the steps you took above you still need to copy your jsp/html files and such to the appropriate webapp (tomcat) or applications (oc4j) directory and setup the appropriate context for your application.
    Make sure that your web-inf directory is properly setup (you need a web.xml file properly configured to load any required servlets and parameters). You tag library descriptors also typically go here.
    A partner of ours performed some tests regarding class and resource loading with different system classpath and web-inf\lib deployments. These can be found at http://www.truecool.com/results.html .
    Good luck, hope this helps.
    Martin

    2 more questions:
    1) So after I deployed the application, I can no longer access the plain old html files in the public_html directory and the browser returns:
    Error:500
    Internal servlet error:
    java.lang.IllegalArgumentException: Given path s.html is not absolute to the base of this context.
         at org.apache.tomcat.core.ServletContextFacade.getResource(ServletContextFacade.java:246)
         at org.apache.tomcat.core.DefaultServlet.doGet(DefaultServlet.java:119)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
         at org.apache.tomcat.core.ServiceInvocationHandler.method(ServletWrapper.java:626)
         at org.apache.tomcat.core.ServletWrapper.handleInvocation(ServletWrapper.java:534)
         at org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:378)
         at org.apache.tomcat.core.Context.handleRequest(Context.java:644)
         at org.apache.tomcat.core.ContextManager.service(ContextManager.java:440)
         at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:144)
         at org.apache.tomcat.service.TcpConnectionThread.run(TcpEndpoint.java:310)
         at java.lang.Thread.run(Thread.java:484)
    Why???
    2) So I have to undeploy the application to access my htmls. But once I undeploy, it erases all files in the public_html directory including the index.html that comes with j2ee! Why so???
    Thanks a lot.
    PS. If you can point me to a tutorial with this, I'd very pleased too. Thanks.

  • Error while deploying web service in Netweaver application

    Hi,
    In my group, two members working in the development of a WebDynpro based application.  We have created a track and are using the same for development. For our application
    the team member 1 created a Dc say DC1 for EJBS(both
    entity and session) and another DC say DC2 for the application archieve 'ear'
    and activated the two DCS. When another member of
    the team is trying to create a webservice in the checked out DC, the
    webservice was created successfully but while deploying the
    application archive DC it gives an error (details furnished below).
    Error:
    :Caught exception during application deployment from SAP J2EE Engine's
    deploy service:java.rmi.RemoteException: Cannot deploy
    application asianpaints.com/pe_mgt_ear.. Reason: Webservices common
    deployment exception! The reason is: Error occurred,
    trying to update web services for application
    asianpaints.com/pe_mgt_ear. . Additional info: none; nested exception
    is:
    java.lang.Exception:
    com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException: Webservices common deployment
    exception! The reason is: Error occurred, trying to update web services
    for application asianpaints.com/pe_mgt_ear.
    WSDeploymentException: Webservices common deployment exception! The
    reason is: Error occurred, trying to parse documentation
    for web service NewPEProcessorService. .
    So we created one more DC3(referring the entity beans of DC1) and
    created the required session bean and webservice in that
    DC. It got deployed successfully. Again when we are trying to create
    new webservice it got created but the deployment got
    aborted with the same error as mentioned above:
    The detailed error description we got in both the cases is given below:
    Mar 30, 2006 1:07:39 PM /userOut/deploy
    (com.sap.ide.eclipse.sdm.threading.DeployThreadManager) [Thread[Deploy
    Thread,5,main]] INFO:
    [005]Additional log information about the deployment
    <!LOGHEADER[START]/>
    <!HELP[Manual modification of the header may cause parsing problem!]/>
    <!LOGGINGVERSION[1.5.3.7185 - 630]/>
    <!NAME[/usr/sap/J2E/JC00/SDM/program/log/sdmcl20060330074205.log]/>
    <!PATTERN[sdmcl20060330074205.log]/>
    <!FORMATTER[com.sap.tc.logging.TraceFormatter(%24d %s: %m)]/>
    <!ENCODING[ISO8859_1]/>
    <!LOGHEADER[END]/>
    Mar 30, 2006 1:12:07 PM Info: -
    Starting deployment -
    Mar 30, 2006 1:12:07 PM Info: Loading selected archives...
    Mar 30, 2006 1:12:07 PM Info: Loading
    archive '/usr/sap/J2E/JC00/SDM/program/temp/temp35515asianpaints.com~pe_mgt_ear.ear'
    Mar 30, 2006 1:12:17 PM Info: Selected archives successfully loaded.
    Mar 30, 2006 1:12:17 PM Info: Actions per selected component:
    Mar 30, 2006 1:12:17 PM Info: Update: Selected development component
    'pe_mgt_ear'/'asianpaints.com'/'J2E_HSSPNEW_D'/'20060330130420' updates
    currently deployed development component
    'pe_mgt_ear'/'asianpaints.com'/'J2E_HSSPNEW_D'/'8008'.
    Mar 30, 2006 1:12:17 PM Info: The deployment prerequisites finished
    without any errors. All items are correct.
    Mar 30, 2006 1:12:17 PM Info: Saved current Engine state.
    Mar 30, 2006 1:12:17 PM Info: Error handling strategy: OnErrorStop
    Mar 30, 2006 1:12:17 PM Info: Update strategy: UpdateAllVersions
    Mar 30, 2006 1:12:17 PM Info: Starting: Update: Selected development
    component
    'pe_mgt_ear'/'asianpaints.com'/'J2E_HSSPNEW_D'/'20060330130420' updates
    currently deployed development component
    'pe_mgt_ear'/'asianpaints.com'/'J2E_HSSPNEW_D'/'8008'.
    Mar 30, 2006 1:12:17 PM Info: SDA to be deployed:
    /usr/sap/J2E/JC00/SDM/root/origin/asianpaints.com/pe_mgt_ear/J2E_HSSPNEW_D/20060330130420/temp35515asianpaints.com~pe_mgt_ear
    .ear
    Mar 30, 2006 1:12:17 PM Info: Software type of SDA: J2EE
    Mar 30, 2006 1:12:17 PM Info: ***** Begin of SAP J2EE Engine
    Deployment (J2EE Application) *****
    Mar 30, 2006 1:15:07 PM Info: Begin of log messages of the target
    system:
    06/03/30 13:12:17 -
    06/03/30 13:12:20 - Start updating EAR file...
    06/03/30 13:12:20 - start-up mode is lazy
    06/03/30 13:12:23 - EAR file updated successfully for 3161ms.
    06/03/30 13:12:23 - Start updating...
    06/03/30 13:12:24 - EAR file uploaded to server for 525ms.
    06/03/30 13:15:07 - ERROR: Not updated. Deploy Service returned ERROR:
    java.rmi.RemoteException: Cannot deploy
    application asianpaints.com/pe_mgt_ear..
    Reason: Webservices common deployment exception!
    The reason is: Error occurred, trying to update web
    services for application asianpaints.com/pe_mgt_ear. . Additional info:
    none; nested exception is:
    java.lang.Exception:
    com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException:
    Webservices common deployment exception! The reason is: Error occurred,
    trying to update web services for application
    asianpaints.com/pe_mgt_ear. . Additional info: none
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.updateWebServices(WSUpdateProcessor.java:164)
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.updateWebServices(WSUpdateProcessor.java:118)
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.updateWebServices(WSUpdateProcessor.java:86)
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateManager.makeUpdate(WSUpdateManager.java:52)
    at
    com.sap.engine.services.webservices.server.deploy.WSDeployer.makeUpdate
    (WSDeployer.java:274)
    at
    com.sap.engine.services.deploy.server.application.UpdateTransaction.makeComponents(UpdateTransaction.java:390)
    at
    com.sap.engine.services.deploy.server.application.DeployUtilTransaction.commonBegin(DeployUtilTransaction.java:387)
    at
    com.sap.engine.services.deploy.server.application.UpdateTransaction.begin(UpdateTransaction.java:159)
    at
    com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java
    :290)
    at
    com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:323)
    at
    com.sap.engine.services.deploy.server.DeployServiceImpl.makeGlobalTransaction(DeployServiceImpl.java:3027)
    at
    com.sap.engine.services.deploy.server.DeployServiceImpl.update
    (DeployServiceImpl.java:584)
    at
    com.sap.engine.services.deploy.server.DeployServiceImplp4_Skel.dispatch
    (DeployServiceImplp4_Skel.java:1278)
    at
    com.sap.engine.services.rmi_p4.DispatchImpl._runInternal
    (DispatchImpl.java:294)
    at
    com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:183)
    at
    com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request
    (P4SessionProcessor.java:119)
    at
    com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageLis
    tener.java:33)
    at
    com.sap.engine.core.cluster.impl6.session.MessageRunner.run
    (MessageRunner.java:41)
    at
    com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged
    (Native Method)
    at
    com.sap.engine.core.thread.impl3.SingleThread.execute
    (SingleThread.java:95)
    at
    com.sap.engine.core.thread.impl3.SingleThread.run
    (SingleThread.java:160) Caused by:
    com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException: Webservices
    deployment exception! The reason is: Error occurred, trying to generate
    web services deployment files for application
    asianpaints.com/pe_mgt_ear. . The error refers to application: none,
    jar: , web service: .
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.generateDeployFiles(WSUpdateProcessor.java:296)
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.deployWebServices(WSUpdateProcessor.java:262)
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.updateWebServices(WSUpdateProcessor.java:155)
    ... 21 more
    Caused by:
    com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException: Webservices common
    deployment exception! The reason is: Error occurred, parsing
    com.sap.engine.services.webservices.server.deploy.descriptors.sapwebservices.WSDescriptor descriptor, application
    asianpaints.com/pe_mgt_ear, web service NewPEProcessorService, location
    message: type: jar file, location:
    /usr/sap/J2E/JC00/j2ee/cluster/server0/./temp/deploy/work/deploying/reader1143704544275/asianpaints.com~HSSPNEW_UserDetails.j
    ar . . Additional info:
    at
    com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.parseWSDescriptor(WSDefinitionFactory.java:907)
    at
    com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.loadWebService(WSDefinitionFactory.java:176)
    at
    com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.loadWebServices(WSDefinitionFactory.java:158)
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.generateDeployFiles(WSUpdateProcessor.java:284)
    ... 23 more
    Caused by:
    com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException: Webservices common
    deployment exception! The reason is: Error occurred, trying to parse
    documentation for web service NewPEProcessorService. .
    Additional info:
    at
    com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.parseDocumentation(WSDefinitionFactory.java:1586)
    at
    com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.parseWSDAndDocumentation(WSDefinitionFactory.java:15
    60)
    at
    com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.parseWSDescriptor(WSDefinitionFactory.java:814)
    ... 26 more
    Caused by: java.lang.NullPointerException
    at
    com.sap.engine.services.deploy.server.DeployServiceImpl.update
    (DeployServiceImpl.java:596)
    at
    com.sap.engine.services.deploy.server.DeployServiceImplp4_Skel.dispatch
    (DeployServiceImplp4_Skel.java:1278)
    at
    com.sap.engine.services.rmi_p4.DispatchImpl._runInternal
    (DispatchImpl.java:294)
    at
    com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:183)
    at
    com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request
    (P4SessionProcessor.java:119)
    at
    com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageLis
    tener.java:33)
    at
    com.sap.engine.core.cluster.impl6.session.MessageRunner.run
    (MessageRunner.java:41)
    at
    com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged
    (Native Method)
    at
    com.sap.engine.core.thread.impl3.SingleThread.execute
    (SingleThread.java:95)
    at
    com.sap.engine.core.thread.impl3.SingleThread.run
    (SingleThread.java:160) Caused by:
    java.lang.Exception:
    com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException: Webservices common deployment exception! The
    reason is: Error occurred, trying to update web services for
    application asianpaints.com/pe_mgt_ear. . Additional info: none
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.updateWebServices(WSUpdateProcessor.java:164)
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.updateWebServices(WSUpdateProcessor.java:118)
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.updateWebServices(WSUpdateProcessor.java:86)
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateManager.makeUpdate(WSUpdateManager.java:52)
    at
    com.sap.engine.services.webservices.server.deploy.WSDeployer.makeUpdate
    (WSDeployer.java:274)
    at
    com.sap.engine.services.deploy.server.application.UpdateTransaction.makeComponents(UpdateTransaction.java:390)
    at
    com.sap.engine.services.deploy.server.application.DeployUtilTransaction.commonBegin(DeployUtilTransaction.java:387)
    at
    com.sap.engine.services.deploy.server.application.UpdateTransaction.begin(UpdateTransaction.java:159)
    at
    com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java
    :290)
    at
    com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:323)
    at
    com.sap.engine.services.deploy.server.DeployServiceImpl.makeGlobalTransaction(DeployServiceImpl.java:3027)
    at
    com.sap.engine.services.deploy.server.DeployServiceImpl.update
    (DeployServiceImpl.java:584)
    at
    com.sap.engine.services.deploy.server.DeployServiceImplp4_Skel.dispatch
    (DeployServiceImplp4_Skel.java:1278)
    at
    com.sap.engine.services.rmi_p4.DispatchImpl._runInternal
    (DispatchImpl.java:294)
    at
    com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:183)
    at
    com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request
    (P4SessionProcessor.java:119)
    at
    com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageLis
    tener.java:33)
    at
    com.sap.engine.core.cluster.impl6.session.MessageRunner.run
    (MessageRunner.java:41)
    at
    com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged
    (Native Method)
    at
    com.sap.engine.core.thread.impl3.SingleThread.execute
    (SingleThread.java:95)
    at
    com.sap.engine.core.thread.impl3.SingleThread.run
    (SingleThread.java:160) Caused by:
    com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException: Webservices
    deployment exception! The reason is: Error occurred, trying to generate
    web services deployment files for application
    asianpaints.com/pe_mgt_ear. . The error refers to application: none,
    jar: , web service: .
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.generateDeployFiles(WSUpdateProcessor.java:296)
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.deployWebServices(WSUpdateProcessor.java:262)
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.updateWebServices(WSUpdateProcessor.java:155)
    ... 21 more
    Caused by:
    com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException: Webservices common
    deployment exception! The reason is: Error occurred, parsing
    com.sap.engine.services.webservices.server.deploy.descriptors.sapwebservices.WSDescriptor descriptor, application
    asianpaints.com/pe_mgt_ear, web service NewPEProcessorService, location
    message: type: jar file, location:
    /usr/sap/J2E/JC00/j2ee/cluster/server0/./temp/deploy/work/deploying/reader1143704544275/asianpaints.com~HSSPNEW_UserDetails.j
    ar . . Additional info:
    at
    com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.parseWSDescriptor(WSDefinitionFactory.java:907)
    at
    com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.loadWebService(WSDefinitionFactory.java:176)
    at
    com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.loadWebServices(WSDefinitionFactory.java:158)
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.generateDeployFiles(WSUpdateProcessor.java:284)
    ... 23 more
    Caused by:
    com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException: Webservices common
    deployment exception! The reason is: Error occurred, trying to parse
    documentation for web service NewPEProcessorService. .
    Additional info:
    at
    com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.parseDocumentation(WSDefinitionFactory.java:1586)
    at
    com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.parseWSDAndDocumentation(WSDefinitionFactory.java:15
    60)
    at
    com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.parseWSDescriptor(WSDefinitionFactory.java:814)
    ... 26 more
    Caused by: java.lang.NullPointerException
    at
    com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException.writeReplace(WSDeploymentException.java:64)
    at sun.reflect.NativeMethodAccessorImpl.invoke0
    (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke
    (NativeMethodAccessorImpl.java:39)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke
    (DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke
    (Method.java:324)
    at java.io.ObjectStreamClass.invokeWriteReplace
    (ObjectStreamClass.java:896)
    at java.io.ObjectOutputStream.writeObject0
    (ObjectOutputStream.java:1011)
    at java.io.ObjectOutputStream.defaultWriteFields
    (ObjectOutputStream.java:1332)
    at java.io.ObjectOutputStream.writeSerialData
    (ObjectOutputStream.java:1304)
    at
    java.io.ObjectOutputStream.writeOrdinaryObject
    (ObjectOutputStream.java:1247)
    at java.io.ObjectOutputStream.writeObject0
    (ObjectOutputStream.java:1052)
    at java.io.ObjectOutputStream.writeObject
    (ObjectOutputStream.java:278)
    at
    com.sap.engine.services.rmi_p4.DispatchImpl.throwException
    (DispatchImpl.java:135)
    at
    com.sap.engine.services.rmi_p4.DispatchImpl._runInternal
    (DispatchImpl.java:296)
    ... 8 more
    For detailed information see the log file of the
    Deploy Service.
    06/03/30 13:15:07 -
    Mar 30, 2006 1:15:07 PM Info: End of log messages of the target
    system.Mar 30, 2006 1:15:07 PM Info: ***** End of SAP J2EE Engine
    Deployment
    (J2EE Application) *****
    Mar 30, 2006 1:15:07 PM Error: Aborted: development component
    'pe_mgt_ear'/'asianpaints.com'/'J2E_HSSPNEW_D'/'20060330130420':
    Caught exception during application deployment from SAP J2EE Engine's
    deploy service:
    java.rmi.RemoteException: Cannot deploy application
    asianpaints.com/pe_mgt_ear..
    Reason: Webservices common deployment exception! The reason is: Error
    occurred, trying to update web services for application
    asianpaints.com/pe_mgt_ear. . Additional info: none; nested exception
    is:
    java.lang.Exception:
    com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException: Webservices common
    deployment exception! The reason is: Error occurred, trying to update
    web services for application
    asianpaints.com/pe_mgt_ear. . Additional info: none
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.updateWebServices(WSUpdateProcessor.java:164)
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.updateWebServices(WSUpdateProcessor.java:118)
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.updateWebServices(WSUpdateProcessor.java:86)
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateManager.makeUpdate(WSUpdateManager.java:52)
    at
    com.sap.engine.services.webservices.server.deploy.WSDeployer.makeUpdate
    (WSDeployer.java:274)
    at
    com.sap.engine.services.deploy.server.application.UpdateTransaction.makeComponents(UpdateTransaction.java:390)
    at
    com.sap.engine.services.deploy.server.application.DeployUtilTransaction.commonBegin(DeployUtilTransaction.java:387)
    at
    com.sap.engine.services.deploy.server.application.UpdateTransaction.begin(UpdateTransaction.java:159)
    at
    com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java
    :290)
    at
    com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:323)
    at
    com.sap.engine.services.deploy.server.DeployServiceImpl.makeGlobalTransaction(DeployServiceImpl.java:3027)
    at
    com.sap.engine.services.deploy.server.DeployServiceImpl.update
    (DeployServiceImpl.java:584)
    at
    com.sap.engine.services.deploy.server.DeployServiceImplp4_Skel.dispatch
    (DeployServiceImplp4_Skel.java:1278)
    at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal
    (DispatchImpl.java:294)
    at com.sap.engine.services.rmi_p4.DispatchImpl._run
    (DispatchImpl.java:183)
    at
    com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request
    (P4SessionProcessor.java:119)
    at
    com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageLis
    tener.java:33)
    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run
    (MessageRunner.java:41)
    at com.sap.engine.core.thread.impl3.ActionObject.run
    (ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute
    (SingleThread.java:95)
    at com.sap.engine.core.thread.impl3.SingleThread.run
    (SingleThread.java:160)
    Caused by:
    com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException: Webservices deployment exception! The
    reason is: Error occurred, trying to generate web services deployment
    files for application asianpaints.com/pe_mgt_ear. . The
    error refers to application: none, jar: , web service: .
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.generateDeployFiles(WSUpdateProcessor.java:296)
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.deployWebServices(WSUpdateProcessor.java:262)
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.updateWebServices(WSUpdateProcessor.java:155)
    ... 21 more
    Caused by:
    com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException: Webservices common deployment
    exception! The reason is: Error occurred, parsing
    com.sap.engine.services.webservices.server.deploy.descriptors.sapwebservices.WSDescriptor descriptor, application
    asianpaints.com/pe_mgt_ear, web service NewPEProcessorService, location
    message: type: jar file, location:
    /usr/sap/J2E/JC00/j2ee/cluster/server0/./temp/deploy/work/deploying/reader1143704544275/asianpaints.com~HSSPNEW_UserDetails.j
    ar . . Additional info:
    at
    com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.parseWSDescriptor(WSDefinitionFactory.java:907)
    at
    com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.loadWebService(WSDefinitionFactory.java:176)
    at
    com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.loadWebServices(WSDefinitionFactory.java:158)
    at
    com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.generateDeployFiles(WSUpdateProcessor.java:284)
    ... 23 more
    Caused by:
    com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException: Webservices common deployment
    exception! The reason is: Error occurred, trying to parse documentation
    for web service NewPEProcessorService. . Additional
    info:
    at
    com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.parseDocumentation(WSDefinitionFactory.java:1586)
    at
    com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.parseWSDAndDocumentation(WSDefinitionFactory.java:15
    60)
    at
    com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.parseWSDescriptor(WSDefinitionFactory.java:814)
    ... 26 more
    Caused by: java.lang.NullPointerException
    (message ID:
    com.sap.sdm.serverext.servertype.inqmy.extern.EngineApplOnlineDeployerImpl.performAction(DeploymentActionTypes).REMEXC)
    Mar 30, 2006 1:15:17 PM Info: J2EE Engine is in same state
    (online/offline) as it has been before this deployment process.
    Mar 30, 2006 1:15:17 PM Error: -
    At least one of the Deployments
    failed -
    Deployment failure happens only when the DC contains a web service; else, it goes through properly. 
    Can anyone of you indicate where we are going wrong and what should be done to resolve this issue?
    Thanks a lot in advance.
    Regards,
    Ravi

    Hi,
    You can go to the Visual Administrator -> <SID> -> Server -> Services -> Deploy -> Runtime tab -> option Container at the bottom and see if everything is correct and running in the webservices_container.
    If something necessary to the deployment is not started you can select it and click in start.
    I hope it helps.
    Thanks,
    Anderson

  • How to upgrade web app to J2EE compliant, EJB, etc.

    I support an application that was designed and created before the EJB 2.0 spec
    came out. It was built by a regional consulting company, who used their own application
    framework instead of EJB stuff. Their framework mainly consists of classes to
    handle transactions, JDBCconnections, and what is basically their equivalent of
    an EJB, called a Domain Object. The framework is actually pretty impressive and
    works quite well.
    I'm trying to evaluate whether it would be worth 'upgrading' the entire application,
    to use EJBs and other things to make it J2EE compliant. I've worked with JSPs
    and servlets for a couple years, but I've no experience with EJBs. I've pieced
    together an extremely simply stateless-session bean and have been able to use
    it on a JSP, but now I'm trying to get entity beans working, and can't find any
    examples or tutorials of how to invoke, load, create, etc. an EJB in a JSP/servlet.
    Can anyone recommend a resource for this? I've just ordered the latest Enterprise
    Java Beans book from OReilly, but I didn't know how much that had on actually
    using EJBs within JSPs and servlets.
    Thanks

    Hello Karthik,
    I just tried to solve my problem with your suggestions, unfortunately, my JSP channel still doesn't work :(
    The portal server keeps reporting "Server Error..." when I tried to add query at the end of the href.
    Do you still have any other suggestions?
    Thank you

Maybe you are looking for