J2EE 1.4 and coherence

I heard that J2EE 1.4 standards require not to spawn threads and new WebSphere will not allow such. Wanted to now what is your plan to support this

Nabil,
I presume you are referring to the restrictions in the EJB specification (section 24.1.2), which are intended to accomplish several things, including ensuring portability and security. The restrictions do not apply to the containers, libraries and components that the EJB utilizes, for example the application server itself or a JDBC driver that communicates over a socket, nor do the restrictions apply to core classes of Java that you may utilize from the EJB, for example the java.lang.String class. Each of the listed rules in the specification has an associated purpose (explanation) attached to it to provide a context for the rule. For example:
Rule: "An enterprise bean must not attempt to listen on a socket, accept connections on a socket, or
use a socket for multicast."
Explanation: "The EJB architecture allows an enterprise bean instance to be a network socket client, but it does not
allow it to be a network server. Allowing the instance to become a network server would conflict with
the basic function of the enterprise bean-- to serve the EJB clients."
Rule: "The enterprise bean must not attempt to manage threads. The enterprise bean must not attempt
to start, stop, suspend, or resume a thread; or to change a thread’s priority or name. The enterprise
bean must not attempt to manage thread groups."
Explanation: "These functions are reserved for the EJB Container. Allowing the enterprise bean to manage threads
would decrease the Container’s ability to properly manage the runtime environment."
Generally, what this means is that the EJB itself should not try to make assumptions about its environment (for portability) or work around limitations of the environment (security). The classes and libraries that an EJB uses by matter of course are not held to the same restrictions. As one example, java.lang.String violates at least three of the rules set forth for EJBs (including thread synchronization, native code use, and use of static fields), yet String is a legitimate class to use within an EJB. Similarly, JDBC drivers may be implemented using native code, and may communicate over sockets; Oracle’s JDBC drivers do both, for example.
Since Coherence is supported on virtually all Java application servers and hardware/OS platforms, applications that use Coherence are further assured of their portability. Coherence does not take advantage of any vendor-specific libraries or features, and is completely server agnostic and built in pure Java. Coherence was carefully architected to use every resource sparingly and (as much as possible) asynchronously to facilitate the maximum scalable throughput.
Coherence elegantly fills a gap in functionality that otherwise presents a nearly unsolvable puzzle -- how to safely and efficiently manage data in the application tier that may be 'expensive' to get from a persistent store, and particular for data that are used often, ensuring that the cluster will scale as well as possible.
Regards,
Gene

Similar Messages

  • Installation WAS ABAP UC + WAS J2EE Add In..and XI

    Hello everybody,
    Could anyone help me with this issue ??
    I am going to install WAS ABAP and WAS J2EE Add in and after that do the XI installation.
    I am reading the installation guides and I have some doubts about "Hardware and SOft Requirements Section".
    I am going to do a Central System Installation (WAS ABAP + WAS JAVA Add in)
    I have read the two installation guides: WAS ABAP and WAS J2EE.
    Somewhere I read that I have to add requeriments. For example, if I am going to install CI and DB on the same server, then I have to add RAM for CI and RAM for DB.
    The question is:
    In the installation guide for WAS ABAP, Database Requeriment Disk is 14 GB (Unicode)
    And in the installation guide for WAS JAVA, Database Req. Disk is 14 Gb (Unicode)
    Have I to add 14 + 14 ?? Or 14 Gb is OK for the database with the two schemas ??
    Same is for Paging File ?? I am 64 bit server.
    It is a Development System
    Many, many thanks !!

    We have a ABAP/J2EE 6.20 system running with only 8GB ram total on the system and we do get some swapping but for a development I would say we see great performance.
    XI I can'T say though...

  • How to read the J2EE server hostname and port programmatically

    Is there any API to read the J2EE server host and port programmatically? I am looking for the hostname where the components are deployed so that I can append the wsdl path to the server and create an URL.

    Hi Larry,
    there is a standard J2EE Servlet API  for your case.
    In a servlet or jsp file you can get the host and prot from the request object.
    For example in a JSP file :
    request.getScheme();
      request.getServerName()
        request.getServerPort()
    You can check the whole API here :
    http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/ServletRequest.html#getServerName()
    Bets Regards
    Bojidar

  • Regarding the Customer Setup for ISA B2B using SAP J2EE 6.4 and NWDS

    Hi
    Does someone knows how we can setup a customer project using
    SAP J2EE 6.4 and NWDS.
    I've tried to setup the project but facing a weird problem..
    I've ISAWAC640SP11 and ant buildtool to build the application.
    I didn't get any "sda_build.xml" in this patch (ISAWAC640SP11).
    i've used "sda_build.xml" of ISAWAC40SP11.
    I've build the application using build tool but when i try to deploy it
    on SAP J2EE 6.4 using SDM i get a weird message stating
    <b>"com.sap.sdm.util.sduread.IllFormattedSduFileException: The archive must be deployed with a 6.20 SDM, which has a SDM-SDA compatible version 1 or greater."</b>
    Does anyone knows from where can i get the sda_build.xml file compatible with
    ISAWAC640SP11 ??
    Also can some one suggest me to setup a customer project for extension and
    modification of ISA B2B 640 on NWDS and SAP J2EE 6.4....
    Thanks & Regards
    Sandeep Solanki

    Hi,
    I am Rajesh..and it seems that you and I are facing the same problem. Well, I am really finding it hard to find material like PDF's files on Build Tool. and ISA Development and Extension Guide. 
    I would really appreaitate if you could send me some material. Well, My project is very simple and I have been given the task to first submit a simple demo of B2C on R/3 system. ( Not CRM ). I have also installed the NWDS and everything including the ISA WAC Java components. I am having real hard time in modifying them....
    Can you please shed light on it...You can also email to me at [email protected]
    Thanks in Advance for your kind consideration.
    Rajesh.

  • Customized Cache Config and Coherence Override files not Overrided.

    Hi,
    I am doing an example on coherence and was wondering if anyone can help with a couple of questions.
    1. I am trying to override the coherence-cache-config.xml and tangosol-coherence-override.xml with my custom xmls. But when I start cache server from cache-server.cmd executable provided in bin folder of Coherence, it is not able to pick up the overrided files. How can I override both these files.
    2. In most of the examples a new executable file is made for cache server start and the custom coherence-cache-config.xml is specified in this. The examples runs perfectly fine but I'm not able to see the same cache elements available when I run cache-server and cache-client present in the bin folder of Coherence. How can I integrate both of them.
    3. When we use Coherence as a web service from server, are we suppose to use run cache-server.cmd for starting the cache server or make some custom file executable file made for cache server start.
    I know some of the questions may sound silly to you but I'm not still able to figure the answer to these question.
    Any help will be appreciated.
    Cheers,
    Varun

    Hi Varun,
    Yes you can use the property -Dtangosol.coherence.cacheconfig =<file_name> for specifying the override file. No creating a jar is not a bottleneck and you can use either jar or system property in Production Environment. It completely depends on how your environment is setup and is for the flexibility pruposes? Use whichever is handy ...
    Ideally, you WS application should run in a seperate JVM than your Coherence Nodes. In this scenario, your WS application is set as storage-disabled and your Coherence nodes will be set as storage-enabled and both WS and Coherence Nodes will be part of the Coherence cluster. There will be no syncing between WS application and Coherence Nodes if you are using distributed cache; all the data requests from the WS application will be served by the Coherence Nodes. But, if you are using Near Cache then the data syncing will depend on the invalidation strategy used by you in your cache configuration. Read more about near-cache scheme here: http://wiki.tangosol.com/display/COH35UG/near-scheme.
    In WLS 10.3.4, there is a integration of Coherence and you can create Coherence Cluster from the Admin Console and define various Coherence cluster nodes and the documentation is here (http://download.oracle.com/docs/cd/E17904_01/web.1111/e16517/coh_wls.htm). But if you are using any other version of Weblogic or any other container then you cannot start from Weblogic but you need to start them seperately. Also, you need to make sure that the Coherence Nodes with storage-enabled are started before the storage-disabled nodes.
    Hope this helps!
    Cheers,
    NJ

  • GoldenGate and Coherence

    Hi,
    There is recent requirement where customer has asked for GoldenGate integration with Oracle Coherence.
    Can anyone provide some pointers, I have browsed a lot but was didn't get anything substantial.
    Some documentation or something + I have also get this thing that above integration is expected in 2012, till now its not possible.
    Some of the stuff I browsed suggests that:
    1) Using DCN or AQ (along with some triggers , JMS listeners) to publish changes to coherence.
    2) Some posts suggested using GG Java API
    3) others suggested using GG JMS Adapter.
    which was is good or any other option.
    Thanks,
    Vikas

    The out-of-the-box GoldenGate integration with Coherence and TopLink to keep a Coherence cache in-sync with the database (for those times when the database is updated not through the cache) was a coordinated development effort amongst the GoldenGate, TopLink and Coherence products. This feature will work in the upcoming GoldenGate v11.2 "adapters" release, but I just found out myself that this will be shipped with Coherence, as part of the 12c release (but will work in any OGG 11.2 or later release).
    In the meantime, you've correctly enumerated your available options.

  • Transfer and coherence function with Labview.

    Please send me a Labview code with transfer function (gain vs frequency) and coherence function of 2 signals: stimulus signal (1024 pts) and response signal (1024 pts). Thanks.

    The Frequency Response Function (Mag-Phase).vi VI located in the Analyze>>Waveform Measurements palette returns the Coherence function. The attached example (LabVIEW 6.1) VI shows how it work (using a digital filter as unit-under-test).
    Note that the coherence is always equal to 1.0 (by definition) if you are not averaging.
    Attachments:
    Transfer_Function_and_Coherence.vi ‏78 KB

  • Wsrp and coherence web

    has anyone worked on the combination of WSRP and coherence ?is it possible?will it work..
    Thanks
    Edited by: goodboy626696 on Jul 27, 2009 1:17 PM

    Take a look at http://coherence.oracle.com/display/COH35UG/Using+Coherence+and+WebLogic+Portal.
    :Rob:
    Coherence Team

  • Difference between J2EE, Apache WebServer and Tomcat

    Hi,
    today I read a lot about WebServers and HTTPClients, ..... Now I am totaly confused. Does J2EE uses Apache and Tomcat or not? And what are the differences between these three implementations?
    Thanks,
    Sabine

    The J2EE SDK and the SJSAS PE 8.0 use Tomcat as a web container.
    The J2EE platform provides for many additional services, such as EJB, Connectors, which are not provided by Tomcat.
    Please refer to the J2EE Platform spec for additional details.

  • Looking for some advice on CEP HA and Coherence cache

    We are looking for some advice or recommendation on CEP architecture.
    We need to build a CEP application that conforms to the following:
    • HA with no loss of events or duplicate events when failing over to the backup server.
    • We have some aggregative rules that needs to see all events.
    • Events are XMLs with size of 3KB-50KB. Not all elements are needed for the rules but they are there for other systems that come after the CEP (the customer services).
    • The XML elements that the CEP needs are in varying depth in the XML.
    Running the EPN on a single thread is not fast enough for the required throughput mainly because network latency to the JMS and the heavy task of parsing of the XML. Because of that we are looking for a solution that will read the messages from the JMS in parallel (multi thread) but will keep the same order of events between the Primary and Secondary CEPs.
    One idea that came to our minds is to use Coherence cache in the following way:
    • On the CEP inbound use a distributed queue and not topic (at the CEP outbound it is still topic).
    • On the CEPs side use a Coherence cache that runs on the CEPs JVMs (since we already have a Coherence cluster for HA).
    • Both CEPs read from the queue using multi threading (10 reading threads – total of 20 threads) and putting it to the Coherence cache.
    • The Coherence cache is publishing the events to both CEPs on a single thread.
    The EPN looks something like this:
    JMS adapter (multi threaded) -> replicated cache on both CEPs -> event bean -> HA adapter -> channel -> processor -> ….
    Does this sounds sound to you?
    Are we over shooting here? Is there a simpler solution for our needs?
    Is there a best practice for such requirements?
    Thanks

    Hi,
    Just to make it clear:
    We do not parse the XML on the event bean after the Coherence. We do it on the JMS adapter on multiple threads in order to utilize all the server resources (CPUs) and then we put it in the replicated cache.
    The requirements from our application are:
    - There is an aggregative query that needs to "see" all events (this means that we need to pass all events thru a single processor and we cannot partition them to several processors).
    - Because this is a HA solution the events on both CEPs (primary and secondary) needs to be at the same order when reaching the HA inbound adapter and the processor.
    - A single thread JMS adapter is not reading the messages from the JMS fast enough mainly because it takes time to parse the XML to an event.
    - Using a multi-threaded adapter or many single threaded adapters with message selector will create a situation that the order of events on both CEPs will not be the same at the processor inbound.
    This is why we needed a mediator so we can read in multiple threads that will parse the XMLs in parallel without concerning on order of messages and on the other hand publish all the messages on a single thread to the processors on both CEPs from this shared mediator (we use a replicated cache that runs on both JVMs).
    We use queue instead of topic because if we read the messages from a topic on both CEPs it will be stored twice on the Coherence replicated cache. But if we use a queue, when server 1 read the message and put it in the Coherence replicated cache then server 2 will not read it because it was removed from the queue.
    If I understand correctly you are suggesting replacing the JMS adapter with an event bean that will read the messages from the JMS directly?
    Are you also suggesting that we will not use a replicated cache but instead a stand alone cache on each server? In this case how do we keep the same order of events on both CEPs (on both caches)?

  • Differences between J2EE 1.3 and J2EE 1.4

    Hello community,
    we want to know the main differences between these j2ee-versions for our project at the university. We should implement new advantages of 1.4 in our old program which was developed for j2ee 1.3.
    Possible topics could be e.g.: improofed security, faster runtime or decreasing complexity / difficulty in coding.
    Maybe you can help us.
    Greetings from Germany.
    PS: The project we started with j2ee 1.3 was a server/client programm
    using a webclient JSP + SessionBean + EntityBean + database

    Please follow this link to find out what is new in J2EE 1.4: http://java.sun.com/developer/technicalArticles/J2EE/new1_4/
    By the way, the next version Java EE 5 is out which adds a number of things to J2EE1.4. The main theme of Java EE 5 has been "ease of development". Please follow the link to find out what is new in Java EE 5.0: http://java.sun.com/javaee/overview/whatsnew.jsp
    Since you are using EJBs, for your convenience I have listed below that new changes to EJB 3.0:
    1. Session beans need not have home and component interfaces
    2. Session beans need not implement the implement the javax.ejb.EnterpriseBean interfaces.
    3. Simplification of APIs for access to a bean's environment: definition of a dependency injection facility and simpler look-up APIs.
    4. Introduction of Java metadata annotations to be used as an alternative to deployment descriptors. This means that there is no need for creating ejb-jar.xml and sun-ejb-jar.xml
    5. Simplification of object persistence by the definition of a light-weight object/relational mapping facility based on the direct use of Java classes rather than persistent components.

  • Packet Loss on Xen and Coherence

    We are currently experiencing packet loss issues with Coherence 3.4.2 during the datagram test.
    Packet loss statistics are as follows:
    Rx from publisher: /10.96.67.169:9999
    elapsed: 149384ms
    packet size: 1468
    throughput: 66 MB/sec
    46889 packets/sec
    received: 7004519 of 8252377
    missing: 1247858
    success rate: 0.848788
    out of order: 0
    avg offset: 0
    gaps: 535018
    avg gap size: 2
    avg gap time: 0ms
    avg ack time: -1.0E-6ms; acks 0
    The Coherence implementation is running on a Xen VM.
    We see this happen for both Fully Virtual and Paravirtualized Guests.
    This problem does not happen on physical hardware.
    Here is the general sequence that we tried:
    1. After finding the problem on coherence, we tried to simulate similar results on 2 HVM xen systems and we did not find the problem there.
            a. These boxes were HVM guests.
            b. Were running kernel 2.6.18-164 and redhat 5.4
            c. These guests were running on Dom-0 kernel of 2.6.18-164.2.1el5xen
    2. We had 2 para virt machines on the same Dom-0 as above but they were redhat 5.2 so we ran the same test there and still we were running into problem.
    3. We upgraded the para virt machines to redhat 5.4 with latest patch rev and still problem was present.
    4. after this research found out that we need to disabled module ipv6 and that seems to fix the problem. After disabling IPv6 module ran some more tests between pl1rap704-beta and pl1rap706-beta. Results were performance improved but still packet loss.
    5. We converted 2 para virt guests to HVM guests (pl1rap704-beta and pl1rap705-beta) and ran the tests it was still having problem.
    6. Upgrade pl1rap704-beta and pl1rap705-beta to redhat release 5.4 and latest kernel rev and see if the problem is still there
    We haven't tried this on Oracle VM, but think that would be the next step to see if the problem persists there, although Oracle support indicates that Coherence is not officially supported on Oracle VM.
    We still see the packet loss issues and wonder if anyone has encountered this issue before and has a solution to it?

    Just saw your post.
    If still a problem.....send a PM to   Heather_VZ  she  has been very helpful to many people on many subjects
    Tom
    Freedom Essentials, QIP 7100 1,Bose SOLO TV Sound System,,QIP 7216 P2,M1424WR Rev F, iPad 2 WiFi,iPhone 5,TV SYST INFO Release 1.9.5 Build No. 17.45
    Data Object 39.45

  • J2EE Web services and JAX-RPC

    Hello..
    While working with J2EE web services using JDeveloper and OC4J, I noticed that it really doesn't confirm to Sun's JAX-RPC standard. The Web Service interface class does not extend the "Remote" and all methods don't throw "RemoteException" as mandated by JAX-RPC standard.
    I have few questions:
    (1) Are the OC4J J2EE web services completey different from JAX-RPC based web services.??
    (2) Does Oracle have any implementation of JAX-RPC??
    (3) Is Sun the only one promoting and implementing the JAX-RPC standard? Or are there other players?
    thanks...

    (1) Are the OC4J J2EE web services completey different from JAX-RPC based web services.??
    OC4J J2EE Web Services originate from Oracle/Apache SOAP with several differences:
    a. A model where each type of implementation gets a specific servlet (e.g. one for EJB's, one for PL/SQL, one for stateless and stateful Java classes. Architecturally, you can see the picture here:
    http://otn.oracle.com/docs/products/ias/doc_library/903doc_otn/generic.903/b10004/orawebservices.htm#1024808
    (scroll down a half page for the picture)
    b. The packaging of the Web services rather than using the Apache SOAP registration mechanism uses something closer to JSR 109 (also known as Web Services for J2EE, part of J2EE 1.4 with JAX-RPC, SAAJ [SOAP API forAttachments in Java] and JAXP [Java API for XML Parsing]), where the Web service is packaged as an ordinary ear file for deployment.
    Oracle built this implementation by extrapolating from the JAX-RPC documentation that was available last year before it was a final specification in an effort to release a production quality Web services implementation that was aligned with JAX-RPC. It has been through two releases - Oracle9iAS 9.02 and Oracle9iAS 9.0.3 and is now being evolved to JAX-RPC as we move to J2EE 1.4.
    (2) Does Oracle have any implementation of JAX-RPC??
    We are planning to release a JAX-RPC implementation in the new year (I don't have specific dates yet) on OC4J. The production implementation of this will be as seamless a migration as possible from the existing implementation. Oracle9i JDeveloper will also add support for JAX-RPC as a 3rd option in its list of choices available. You can get a sense of how such a migration would work by running the Web services wizard in JDev for Apache SOAP and then, in a separate project, running it for Oracle9iAS J2EE Web Services - imagine there being another option for JAX-RPC. The work to migrate should be as simple as running a wizard or command line utility (known as the Web Services Assembler tool in Oracle9iAS).
    (3) Is Sun the only one promoting and implementing the JAX-RPC standard? Or are there other players?
    Pretty much every one in the Java side of industry will be implementing JAX-RPC. The important time to note is when J2EE 1.4 is released ... sometime in the new year ... I believe around March but may be mistaken. Part of J2EE 1.4 is required support for JAX-RPC, SAAJ, Web Services for J2EE etc etc. This will standardize the implementation of Web services. Oracle, like others in the industry, supports the standard protocols, (SOAP), interfaces (WSDL) and registries (UDDI) - what J2EE 1.4 does is standardize the packaging, deployment and implementation (the wrappers generated by the tooling).
    My guess is that around JavaOne (June 2003) there will be a rash of announcements from J2EE vendors announcing support of JAX-RPC and J2EE 1.4 (or early implementations) as we will be in the same race that happened in 2001/2002 when J2EE 1.3 was the spec to announce implementations around.
    Mike.

  • J2EE with JDeveloper and postgresql

    Hi folks,
    I'm creating a j2ee app (struts) with jdev with oracle9i
    and this work fine...
    but I have try connect with another database
    (postgresql 7.4) to recovery some data
    and the local container of jdev is not recognizing
    the postgresql driver...
    where I do to make the internal container
    work with jdbc postgre driver ?

    To configure the the PostgreSQL JDBC driver:
    1. Select Tools>Preferences in JDeveloper.
    2. In the Preferences frame, select the Database Connections node. Select Library New button.
    3. Select the Registered JDBC Drivers field New button.
    4. In the Driver Class field specify org.postgresql.Driver
    5. Select Library field New button.
    6. In the Create Library frame specify a Library Name, and add the PostgreSQL JDBC jar file pg74.215.jdbc2.jar to the Class Path field.
    The PostgreSQL JDBC driver library gets added to the Preferences frame.

  • J2ee naming services and Oracle 9iAS

    I am trying to use the JNDI services of the j2ee specs with JDeveloper and the Oracle Application server (9iAs). Doing this we have the problem that JDeveloper do not support the java.naming package. We have added the package to JDeveloper but we do not know ik Oracle 9iAs will work with this package added.
    Can someone give me some information about the use of JNDI within JDeveloper and Oracle 9iAs
    null

    I am trying to use the JNDI services of the j2ee specs with JDeveloper and the Oracle Application server (9iAs). Doing this we have the problem that JDeveloper do not support the java.naming package. We have added the package to JDeveloper but we do not know ik Oracle 9iAs will work with this package added.
    Can someone give me some information about the use of JNDI within JDeveloper and Oracle 9iAs
    null

Maybe you are looking for