Question about servlet architecture

Hello,
I have a question about Web Application / servlet architecture and development, and haven't had any luck finding an answer so far. My plan must be either unusual, or wrong, or both, so I'm hoping the community here could point me in the right direction.
I have quite a bit of background in OSGi, but very little in servlets. I know my architecture would work with something such as sever-side Equinox, but for the open source project I'm contemplating, I think that the more mainstream Tomcat/servler route would be better -- assuming it can be done. Here is a rather simplified scenario:
There is a class, Manager. It could be a Java class that implements Runnable, or a non-HTTP servlet (GenericServlet?), but somehow it should be configured such that it runs as soon as Tomcat starts.
When Manager runs, it instantiates its primary member variable: Hashtable msgHash; mshHash will map Strings (usernames) to ArrayList<String> (list of messages awaiting that user). Manager also has two primary public methods: addMsg() and getMsgs().
The pseudocode for addMsg is:
void addMsg(String username, String msg) {
if username=="*" { for each msgList in msgHash { msgList.add(msg) } return;
if username not in msgHash { msgHash.add(username, new ArrayList<String>) }
msgHash[username].add(msg)
And for getMsgs():
String getMsgs(username) {
String s = "";
for each msg in msgHash[username] { s = s + msg; }
return s;
Once Manager has started, it starts two HTTP Servlets: Sender and Receiver, passing a reference back to itself as it creates the servlets.
The HTML associated with Sender contains two text inputs (username and message) and a button (send). When the send button is pressed and data is POSTed to Sender, Sender takes it and calls Manager.addMsg(username.value, message.value);
Receiver servlet is display only. It looks in the request for HTTP GET parameter "username". When the request comes in, Receiver calls Manager.getMsgs(username) and dumps the resulting string to the browser.
In addition to starting servlets Sender and Receiver, the Manager object is also spawning other threads. For example, it might spawn a SystemResourceMonitor thread. This thread periodically wakes up, reads the available disk space and average CPU load, calls Manager.addMsg("*", diskAndLoadMsg), and goes back to sleep for a while.
I've ignored the synchronization issues in this example, but during its lifecycle Manager should be idle until it has a task to do, using for example wait() and notify(). If ever addMsg() is called where the message string is "shutdown", Manager's main loop wakes up, and Manager shuts down the two servlets and any threads that it started. Manager itself may then quit, or remain resident, awaiting a command to turn things back on.
Is any of this appropriate for servlets/Tomcat? Is there a way to do it as I outlined, or with minor tweaks? Or is this kind of application just not suited to servlets, and I should go with server-side Equinox OSGi?
Thanks very much for any guidance!
-Mike

FrolfFla wrote:
Hello,
I have a question about Web Application / servlet architecture and development, and haven't had any luck finding an answer so far. My plan must be either unusual, or wrong, or both, so I'm hoping the community here could point me in the right direction.
I have quite a bit of background in OSGi, but very little in servlets. I know my architecture would work with something such as sever-side Equinox, but for the open source project I'm contemplating, I think that the more mainstream Tomcat/servler route would be better -- assuming it can be done. Here is a rather simplified scenario:
There is a class, Manager. It could be a Java class that implements Runnable, or a non-HTTP servlet (GenericServlet?), but somehow it should be configured such that it runs as soon as Tomcat starts.You can configure a servlet to be invoked as soon as Tomcat starts. Check the tomcat documentation for more information on that (the web.xml contains such servlets already though). From this servlet you can start your Manager.
>
When Manager runs, it instantiates its primary member variable: Hashtable msgHash; mshHash will map Strings (usernames) to ArrayList<String> (list of messages awaiting that user). Manager also has two primary public methods: addMsg() and getMsgs().
The pseudocode for addMsg is:
void addMsg(String username, String msg) {
if username=="*" { for each msgList in msgHash { msgList.add(msg) } return;
if username not in msgHash { msgHash.add(username, new ArrayList<String>) }
msgHash[username].add(msg)
And for getMsgs():
String getMsgs(username) {
String s = "";
for each msg in msgHash[username] { s = s + msg; }
return s;
Once Manager has started, it starts two HTTP Servlets: Sender and Receiver, passing a reference back to itself as it creates the servlets. Not needed. You can simply create your two servlets and have them invoked through web calls, Tomcat is the only one that can manage servlets in any case. Servlets have a very short lifecycle - they stay in memory from the first time they are invoked, but the only time that they actually do something is when they are called through the webserver, generally as the result of somebody running the servlet through a webbrowser, either by navigating to it or by posting data to it from another webpage. The servlet call ends as soon as the request is completed.
>
The HTML associated with Sender contains two text inputs (username and message) and a button (send). When the send button is pressed and data is POSTed to Sender, Sender takes it and calls Manager.addMsg(username.value, message.value);
Receiver servlet is display only. It looks in the request for HTTP GET parameter "username". When the request comes in, Receiver calls Manager.getMsgs(username) and dumps the resulting string to the browser.This states already that you are going to run the servlets through a browser. You run "Sender" by navigating to it in the browser. You run "Receiver" when you post your data to it. Manager has nothing to do with that.
>
In addition to starting servlets Sender and Receiver, the Manager object is also spawning other threads. For example, it might spawn a SystemResourceMonitor thread. This thread periodically wakes up, reads the available disk space and average CPU load, calls Manager.addMsg("*", diskAndLoadMsg), and goes back to sleep for a while.Since you want to periodically run the SystemResourceMonitor, it is better to use a Timer for that in stead of your own thread.
>
I've ignored the synchronization issues in this example, but during its lifecycle Manager should be idle until it has a task to do, using for example wait() and notify(). If ever addMsg() is called where the message string is "shutdown", Manager's main loop wakes up, and Manager shuts down the two servlets and any threads that it started. Manager itself may then quit, or remain resident, awaiting a command to turn things back on.
Is any of this appropriate for servlets/Tomcat? Is there a way to do it as I outlined, or with minor tweaks? Or is this kind of application just not suited to servlets, and I should go with server-side Equinox OSGi?
Thanks very much for any guidance!
-MikeI don't see anything that cannot be done in a normal java web environment, as long as you are aware of how servlets operate.

Similar Messages

  • Two questions about servlets

    Hi,
    I'd like to ask you some questons about servlets :
    1) do servlets need a particular JVM on the server. I mean RMI servers need to be started on the server side, while usual applets are loading into the client browser. Are servlet beeing loaded by the browser or do they require something specific on the server side?
    This is because I can only post files on my server, but can't execute java code
    2) can servlets access the server files ? This is because my applets can only load files within the codebase directory on the server. However, i'd like to be able to get something like File.lisFiles() on the server's content. With applets, I have a security problem
    Thanks a lot.
    vincent

    Hi,
    1) Servlets need to be run (deployed) on an application server (i.e. WebLogic, Websphere) which works in conjunction with the web server. When the web server (HTTP Server) receives a request for a servlet from a browser, it passes the request to the application server where the servlet is deployed on which handles the request and provides a response. The JVM will be included in the application server.
    2) Servlets do NOT run in the sandbox that applets run in and thus have complete access to file on the server. This is because the site running the servlets know exactly what code they're deploying on their server and thus have no security concerns.
    If you're site is running on an ISP's server, then you're likely out of luck unless they give you admin access to an application server that runs on their server which allows you to deploy servlets onto.
    makes sense?...
    vc

  • RODOD: Questions about technical architecture

    Hi,
    I'm looking for more information on Oracle RODOD (Rapid Offer Design and Order Delivery) technical architecture design and implementation.
    My understanding is that RODOD includes at least the following products:
    - Oracle Siebel as CRM
    - Oracle Siebel Service
    - Oracle Order and Service Management (OSM)
    - Oracle Billing and Revenue Management (BRM)
    - Oracle AIA for Communications
    - Oracle Unified Inventory Management (UIM)
    My questions:
    1. What would be the best source of information when designing technical architecture for RODOD (consisting the above products)?
    2. In technical architecture design, are these products considered as separate products that are integrated together, or does RODOD set some special requirements for the implementation?
    2.1 Does RODOD require specific version of the above products? If yes, is this documented somewhere?
    2.2 When deciding platform and OS for the above products, do I need to go through the individual certification matrices for each product, or is there a certification matrix on "RODOD level"?
    3. Any other good advice for starters?
    Thanks in advance.
    BR,
    TH

    Hi BR,
    RODOD does not include Oracle UIM. It includes Oracle Product Hub for Communications (PH4C).
    Oracle University provides courses for OSM that cover a good amount of concepts of RODOD.
    Rakesh

  • Question about servlet.xml setting

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Example Server Configuration File -->
    <Server port="8025" shutdown="TEARSDOWN">
    <!-- Comment these entries out to disable JMX MBeans support used for the
    administration web application -->
    <Listener className="org.apache.catalina.core.AprLifecycleListener"/>
    <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
    <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
    <!-- Global JNDI resources -->
    <GlobalNamingResources>
    <!-- Test entry for demonstration purposes -->
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
    <!-- Editable user database that can also be used by
    UserDatabaseRealm to authenticate users -->
    <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
    <Resource name="jdbc/mp" auth="Container"
    type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver"
    url="jdbc:oracle:thin:@172.25.43.224:1521:mp"
    username="mpuser" password="mp" maxActive="20" maxIdle="10"
    maxWait="-1"/>
    <Resource name="jdbc/passport" auth="Container"
    type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://218.1.14.134:3306/xmnext_passport?autoReconnect=true"
    username="zhouzhijun" password="zhouzhijun*1234567" maxActive="20" maxIdle="10"
    maxWait="-1"/>
    </GlobalNamingResources>
    <!-- Define the Tomcat Stand-Alone Service -->
    <Service name="Catalina">
    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <Connector URIEncoding="utf-8" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" port="8084" redirectPort="8443"/>
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector enableLookups="false" port="8009" protocol="AJP/1.3" redirectPort="8443"/>
    <!-- Define the top level container in our container hierarchy -->
    <Engine defaultHost="localhost" name="Catalina">
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" />
    <!-- a Realm is setUp for JOSSO -->
    <Realm className="org.josso.tc55.agent.jaas.CatalinaJAASRealm"
    appName="app1"
    userClassNames="org.josso.gateway.identity.service.BaseUserImpl"
    roleClassNames="org.josso.gateway.identity.service.BaseRoleImpl"
    debug="1" /> // I am not sure realm can set twice like this?
    <Host appBase="webapps" autoDeploy="false" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
    <!-- a Valve for JOSSO -->
    <Valve className="org.josso.tc55.agent.SSOAgentValve" debug="9" /> when I set this valve, the tomcat seems running abnormal...
    </Host>
    </Engine>
    </Service>
    </Server>
    Could you help me to check this file setting? Just check this "servlet.xml". Thank you very much!

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Example Server Configuration File -->
    <Server port="8025" shutdown="TEARSDOWN">
    <!-- Comment these entries out to disable JMX MBeans support used for the
    administration web application -->
    <Listener className="org.apache.catalina.core.AprLifecycleListener"/>
    <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
    <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
    <!-- Global JNDI resources -->
    <GlobalNamingResources>
    <!-- Test entry for demonstration purposes -->
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
    <!-- Editable user database that can also be used by
    UserDatabaseRealm to authenticate users -->
    <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
    <Resource name="jdbc/mp" auth="Container"
    type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver"
    url="jdbc:oracle:thin:@172.25.43.224:1521:mp"
    username="mpuser" password="mp" maxActive="20" maxIdle="10"
    maxWait="-1"/>
    <Resource name="jdbc/passport" auth="Container"
    type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://218.1.14.134:3306/xmnext_passport?autoReconnect=true"
    username="zhouzhijun" password="zhouzhijun*1234567" maxActive="20" maxIdle="10"
    maxWait="-1"/>
    </GlobalNamingResources>
    <!-- Define the Tomcat Stand-Alone Service -->
    <Service name="Catalina">
    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <Connector URIEncoding="utf-8" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" port="8084" redirectPort="8443"/>
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector enableLookups="false" port="8009" protocol="AJP/1.3" redirectPort="8443"/>
    <!-- Define the top level container in our container hierarchy -->
    <Engine defaultHost="localhost" name="Catalina">
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" />
    <!-- a Realm is setUp for JOSSO -->
    <Realm className="org.josso.tc55.agent.jaas.CatalinaJAASRealm"
    appName="app1"
    userClassNames="org.josso.gateway.identity.service.BaseUserImpl"
    roleClassNames="org.josso.gateway.identity.service.BaseRoleImpl"
    debug="1" /> // I am not sure realm can set twice like this?
    <Host appBase="webapps" autoDeploy="false" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
    <!-- a Valve for JOSSO -->
    <Valve className="org.josso.tc55.agent.SSOAgentValve" debug="9" /> when I set this valve, the tomcat seems running abnormal...
    </Host>
    </Engine>
    </Service>
    </Server>
    Could you help me to check this file setting? Just check this "servlet.xml". Thank you very much!

  • Question about servlet in a package

    hello
    i use tomcat4.0,and write a simple servlet "Hello.java",put it in "C:\jakarta-tomcat-4.0\webapps\ee\WEB-INF\classes",i input "http://127.0.0.1:8080/ee/servlet/Hello",the code works well,but after i add a package declaration "package hi;" in front of my servlet,and put it in "C:\jakarta-tomcat-4.0\webapps\ee\WEB-INF\classes\hi\",wheather i input "http://127.0.0.1:8080/ee/hi/servlet/Hello" or "http://127.0.0.1:8080/ee/servlet/hi/Hello",both of them don't work,why?and how can i call a servlet that is in a package from the browser? thanks!
    my code:
    package hi;
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class Hello extends HttpServlet{
         public void service(HttpServletRequest req,
              HttpServletResponse resp)
              throws IOException,
                   ServletException{
              resp.setContentType("text/html");
              PrintWriter out=new PrintWriter(resp.getOutputStream());
              out.print("<html>");
              out.print("<body>");
              out.print("hello world!");
              out.print("</body>");
              out.print("</html>");
              out.close();

    Hi,
    Open your ee/web-inf/web.xml file and add these lines.
    <servlet>
    <servlet-name>
    Hello
    </servlet-name>
    <servlet-class>
    hi.Hello
    </servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>
    Hello
    </servlet-name>
    <url-pattern>
    /Hello
    </url-pattern>
    </servlet-mapping>
    Start the tomcat and give the URL,
    http://127.0.0.1:8080/ee/servlet/Hello
    Hope this helps.
    If you don't have a web.xml file there, you can add these lines in your Tomcat\conf\web.xml file.
    Sudha

  • One question about Servlet

    Container will use HttpServletRequest and HttpServletResponse objects to encapsulate
    a special HTTP request(received from WebClient) and Response gernerated by servlet
    My qeustion is :
    if same webclient requests two times, then Container will use same HttpServletRequest
    and HttpServletResponse objects or use different objects for each time?

    The Container can implement this any way it wants. You should NOT assume that the request and response objects are the same for each cycle.

  • General Question about Servlet !!!

    Hello my name is Raj,
    My problem as a beginner is to compile a servlet but not servlet alone becoz theres a several class imported in this servlet.
    Should I compile every .java and then the servlet....coz when I compile the servlet with a normal jdk (latest one) it gives error of importing class...
    Well at first I have an error of path where the servlet.jar not included..but I managed to work it out...
    what should I do...
    regards,
    raj aryan maholtra

    hi raj,
    your assumption is right, you need to compile Some.java first & then compile MyServlet.java. Ensure that Some.class is in a classpath that can be found by MyServlet
    Regards,
    sathish
    Well Miss v sreedevi ,
    I did the classpath and still it doesnt work compile
    coz of the importing class...
    My .java files looks like this in the folder under the
    tomcat-webapps-servlet
    -MyServlet.java
    -Some.java
    And I import the Some.java in my MyServlet.java
    stuff.
    Well should I compile the Some.java stuff first and
    then the MyServlet.java....
    regards,
    raj

  • Some question about servlet

    wy my jdk don't have the class javax.servlet.* and javax.servlet.http.*;

    Servlets are included in j2ee api.
    Servlets is an open specification given by sun the vendors has to implement the specifications.
    like:TOMCAT,WEBLOGIC.
    For the above reasons that is not included in JDK.These packages available with servlet-api.jar which is coming with tomcat.
    You can get servlet packages in j2ee api also.

  • Question about Servlets

    Hi,
    I am running WebSphere and when i put my sevlets directly under the classes folder and map it in the web.xml file, they seem to work fine.
    But when i try to put those servlets in few folders under classes folder, its not able to find it.
    I even mapped my servlet like this
    <servlet id="Servlet_5">
    <servlet-name>CurrentworkflowReport</servlet-name>
    <display-name>CurrentworkflowReport</display-name>
    <description>CurrentworkflowReport</description>
    <servlet-class>arm.pdm.CurrentworkflowReport</servlet-class>
    </servlet>
    <servlet-mapping id="ServletMapping_3">
    <servlet-name>CurrentworkflowReport</servlet-name>
    <url-pattern>arm.pdm.CurrentworkflowReport</url-pattern>
    </servlet-mapping>
    Could you please tell me what i am doing wrong.
    Thanks in advance

    try:
    <url-pattern>/CurrentworkflowReport</url-pattern>

  • Help needed. General question about J2EE architecture.

    Hello,
    On the one hand, I have a java class (actually a set of classes) that does a lot of low level input/output operations.
    On the other hand I have a web console in jsp/servlets.
    I want to be able to invoke a method on the "low-level" java app from the web console bearing in mind that the war will run on one computer on the network and the "low-level" app on another computer on the network.
    What is the best way to invoke a public method of the "low-level" app from the web console????
    Do I need to use RAR adapters?
    Any clue very welcome,
    Julien.

    There are a number of ways it COULD be done. What I would do would be to wrap the low level handler classes in web services that run in an application server on the other machine so that you could call them from the web application that you currently have.
    Among other things that maintains the isolation and integrity of your operations and prevents you from building a dependency between the two code bases.
    Hope this helps,
    PS

  • Newbie question about loading servlets on tomcat

    I have what is probably a very basic question about loading simple servlets on to tomcat to test its installation. I have followed instructions from numerous tutorials to the letter but still I can't get it to work.
    I have installed tomcat on win2k in c:\tomcat. I set up the jdk, environment vars (JAVA_HOME, CATALINA_HOME, TOMCAT_HOME) which all point at the correct dirs. I can compile a servlet without errors. I can also place a test jsp and html file into the root directory and they both work fine.
    However, now I am trying a test servlet and no matter what I do it gives me a 404. I have a servlet class file called "HelloServlet.class" which I placed into the %install_dir%\webapps\ROOT\WEB-INF\classes directory. I try to reference it using this url:
    http://localhost/servlet/HelloServlet
    Tomcat is configured to use port 80 and has been restarted after adding the servlet class file. Does anyone have a clue why this is not working for me?
    Many thanks
    Marc

    You have to add in the web.xml file that it is in the WEB-INF dir, the information about your servlet. An example:
    <web-app>
    <servlet>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-class>HelloServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>HelloServlet</servlet-name>
    <url-pattern>/HelloServlet</url-pattern>
    </servlet-mapping>
    </web-app>

  • Question about architecture

    Hello
    I have a question.
    I have been working in a Content Management with Java at my job.
    The Java architect proposed the following architecture as solution.
    ----WEB LAYER----
    JSP
    Struts
    ----Business Layer----------
    Manager Classes
    Hibernate
    ----Data Layer----
    DB
    The web server is Tomcat V6 and MySQL is the database
    I have a dude about this architecture. In order to don't use persistence objects in the WEB layer(because it cause Permgen memory problems), the Manager Classes will have methods to transform persistence objects to DTO objects(these objects will be used in the web layer), with the use of getters and setters. I think that these changes wouldn't solve the memory problems.
    What is your opinion about this architecture? Do you have any idea to improve it?
    Thanks for all.
    Nickolas

    Using persistence objects in the web layer shouldn't in itself increase your memory usage, but I can imagine that it would make it a lot easier to write buggy code with memory leaks.
    Having done this sort of thing for years, my advice with this sort of architecture is:
    1) Don't use JSPs, which stink. Use Velocity instead, or some other lighter-weight way to format the user-visible content.
    2) Keep the web tier as thin and light as possible. Because a lot of frameworks (like Struts) provide some tools to manage data, there's a tendency to put lots of business logic there (and if there's an explicit business logic layer, often it isn't utilized). Don't. It becomes unmanageable.
    Try writing your app without a web tier at all. Imagine creating a command-line-only interface to your business logic. (Or, a JUnit interface or the like.) Then wrap the web tier around it. This actually makes for easier testing as well.
    3) Swapping data between data objects is the path to madness. Try object-oriented programming instead. Design your app with classes that have well-defined responsibilities. Keep data close to the operations that use it. Encapsulate as fervently as you can.
    As for the rest of your post -- I have no idea what you're trying to accomplish, or even demonstrate, with your example.

  • Questions about application server architecture

    Hello guys,
    I have few questions about application server architecture�
    I have a task to build a server application which will do the following: Clients (special java clients) will connect to it and send some data for further processing on server side. Chunks of data will be relatively small but they will take a lot of time for processing (it is ok that it will be quite slow).
    Also server will run some sort of �database� where all clients� working data will be stored. So, in case a client loses its data he/she is always able to download it from the server.
    For me it seems, like server will consist of the following components:
    1. �Reception�. This part will be responsible for all client-communication procedures.
    2. �Data storage�. This part will simply store all clients� data and provide some API interface for clients through �reception� to manage it (add/get/delete and so on).
    3. �Processor�. Some sort of dummy-sophisticated module. It will take some input data from �data storage� when it receives order for this and process it. �Processor� will have two states: �busy� which means �processor� processing some data and �available� which means �processor� ready to process new data.
    4. �Manager�. This part will always check �data storage� for new data and �processor� for availability. When �processor� and new data are available �manager� will make an order for �processor� to take new data from �data storage� and process it.
    So, my question is the following: Which technology and approaches I should use to realize my plan?
    I think that I can make �reception� as a Session Bean, but I don�t know yet, what are the best for the rest, for example �manager� and �processor�. I was thinking about writing my own application server (and I can do it), but I would like to learn j2ee technologies, so I think it is a perfect chance for me (I read a lot about j2ee before I wrote this post, but all examples have only �account�-�bill�-�money transfer� I think it is quite far away from reality or I am doing something wrong ;-)!
    p.s. I am thinking about using JBoss as an Application Server. I tested it and wrote some tests. They work and run fast enough, so I like it. Moreover it has module architecture.
    Please, give me some advises and tips!
    Thank you in advance!

    1. �Reception�. This part will be responsible for all
    client-communication procedures.Session bean with remote interface.
    2. �Data storage�. This part will simply store all
    clients� data and provide some API interface for
    clients through �reception� to manage it
    (add/get/delete and so on).Session bean that will use entity beans or hibernate to work with persistant data.
    3. �Processor�. Some sort of dummy-sophisticated
    module.Use a message driven bean. Make Reception to enqueue a message when new data is available for processing. Processor will process the data and store the resut in database using Data Storage session bean.
    4. �Manager�. This part will always check �data
    storage� for new data and �processor� for
    availability. When �processor� and new data are
    available �manager� will make an order for
    �processor� to take new data from �data storage� and
    process it.It's redundand component, because application server will manage messages and processors.

  • Some questions about the integration between BIEE and EBS

    Hi, dear,
    I'm a new bie of BIEE. In these days, have a look about BIEE architecture and the BIEE components. In the next project, there are some work about BIEE development based on EBS application. I have some questions about the integration :
    1) generally, is the BIEE database and application server decentralized with EBS database and application? Both BIEE 10g and 11g version can be integrated with EBS R12?
    2) In BIEE administrator tool, the first step is to create physical tables. if the source appliation is EBS, is it still needed to create the physical tables?
    3) if the physical tables creation is needed, how to complete the data transfer from the EBS source tables to BIEE physical tables? which ETL tool is prefer for most developers? warehouse builder or Oracle Data Integration?
    4) During data transfer phase, if there are many many large volume data needs to transfer, how to keep the completeness? for example, it needs to transfer 1 million rows from source database to BIEE physical tables, when 50%is completed, the users try to open the BIEE report, can they see the new 50% data on the reports? is there some transaction control in ETL phase?
    could anyone give some guide for me? I'm very appreciated if you can also give any other information.
    Thanks in advance.

    1) generally, is the BIEE database and application server decentralized with EBS database and application? Both BIEE 10g and 11g version can be integrated with EBS R12?You, shud consider OBI Application here which uses OBIEE as a reporting tool with different pre-built modules. Both 10g & 11g comes with different versions of BI apps which supports sources like Siebel CRM, EBS, Peoplesoft, JD Edwards etc..
    2) In BIEE administrator tool, the first step is to create physical tables. if the source appliation is EBS, is it still needed to create the physical tables?Its independent of any soure. This is OBIEE modeling to create RPD with all the layers. If you build it from scratch then you will require to create all the layers else if BI Apps is used then you will get pre-built RPD along with other pre-built components.
    3) if the physical tables creation is needed, how to complete the data transfer from the EBS source tables to BIEE physical tables? which ETL tool is prefer for most developers? warehouse builder or Oracle Data Integration?BI apps comes with pre-built ETL mapping to use with the tools majorly with Informatica. Only BI Apps 7.9.5.2 comes with ODI but oracle has plans to have only ODI for any further releases.
    4) During data transfer phase, if there are many many large volume data needs to transfer, how to keep the completeness? for example, it needs to transfer 1 million rows from source database to BIEE physical tables, when 50%is completed, the users try to open the BIEE report, can they see the new 50% data on the reports? is there some transaction control in ETL phase?User will still see old data because its good to turn on Cache and purge it after every load.
    Refer..http://www.oracle.com/us/solutions/ent-performance-bi/bi-applications-066544.html
    and many more docs on google
    Hope this helps

  • Questions about Audigy 2 ZS connecti

    Hello,
    New to these forums, so bear with me. I'm considering purchasing an Audigy 2 ZS gamer card, and have some questions about the card and speaker setup. I've read the FAQ's in the forum, and they have been a big help, but I still have questions related specifically to my setup. Here's the system specs:
    AMD Athlon 64 3000+
    Asus K8V SE Deluxe
    VisionTek Radeon X800 XT PE
    Seagate 250 gig SATA HDD
    gig Crucial ram
    Antec P80 case
    Antec TruePower 430 ps
    Altec Lansing ADA885 digital speakers (awesome sound)
    Altec Lansing headset (cheap but works for voice and gaming)
    ADI AD980 onboard sound
    Windows XP Home
    . I currently am able to run both the speakers and headset at the same time by using the front panel audio outlets on the case (helps with the immersion in IL2 946). I would like to continue doing this(using front panel audio) with the new card. I've found several places that have an adapter cable for sale, http://www.x-tap.com/
    http://www.performance-pcs.com/catal...oducts_id=2700
    http://ask.americas.creative.com/SRVS/CGI-BIN/WEBCGI.EXE?New,Kb=ww_english_add,U={B8F6030-DA4F-D3-94F4-00500463020E},Company={CEAE26D-879-4C00-AC9F-03BC258F7B70},d=3025443648,VARSET=ws:http://us.creative.com,case=5764
    The plug that I have has only 3 separators, not 4. Will this work with the Audigy 2? I don't have a link for this plug, unfortunately.
    4. I had been considering purchasing? a set of USB headphones, but I've been told that when you plug them in, the sound is cut off for the speakers. If there was a workaround for this, I might consider getting them. Then I wouldn't have to use the front panel audio or the connections on the card.
    5. I've heard of an issue with this particular set of speakers and the Audigy 2 card, particularly that the speakers were originally designed for a Dell system, and the wiring was phased differently than in other systems. Is this something to be concerned with, and if so, is there a workaround?
    I like to research a particular product before I buy it, in order to make an informed decision and avoid problems if possible. Sometimes it works, sometimes it don't
    Thanks in advance for the help.
    Message Edited by mrj_455 on 03-05-2008 05:28 PMMessage Edited by mrj_455 on 03-05-2008 05:32 PM

    The inputs are easy to find and select:?
    Right-click the Mixer icon on the taskbar and select "Playback Devices".<
    There should open a new Window with the options of "Speakers" and "SPDIF"<
    With Speakers highlighted click the?"Properties" button on the lower?right corner<
    Go to the 4th tab (I believe it is "volume" in english, "Pegel" in german)<
    There you have your inputs!<
    Unmute Line-In and set its volume according to your desires.<
    Also remember that software designed for XP, that should control the Line-IN settings, (ie. Hauppauge WinTV or Dscaler) will be unable to do so in Vista, do to the architecture change. You can however enable "Compatibility Mode for Windows XP SP2" for these applications (right-click on their executable) and restore control of the inputs directly from the program. (You should however unmute it first as explained above). PS:? All Creative Software that came on the CD is incompatible to Vista. Only the included Audio Console should work as expected.Message Edited by alexs3d2 on 05-07-200707:3 PM

Maybe you are looking for