Custom protocol handler for Server and Client

Hi there,
I have been reading about "A New Era for Java Protocol Handlers" from http://java.sun.com/developer/onlineTraining/protocolhandlers/ . I would like to redesign my existing codes to suit this architecture.
The article mentioned about write client side application. I am wondering whether it will be possible to use the same architecture for server side as well ?
If it is possible, it will be the very kind of you all to guide me to the right direction. Thank you in advance.

Thanks for your input. Yeah, the article has been there for quite sometimes. That's why I am a bit sceptical about using it. The strange thing is that there has not been any updates about this topic since then (searched in google and not many web pages are mentioning this thing). I am wondering whether it is a good choice to change the code or not.

Similar Messages

  • Design for a semi protocol between a server and client

    Hi!
    I'm building quite a large client/server application that communicate using Serializable Objects.
    There is about 20 actions done between the client and server ranging from
    - the client requesting objects from the server
    - to the client sending a range of different values to the server.
    Does anyone have a design of a protocol that handles a large amount of actions that I could get design ideas off?

    Hi!
    I'm building quite a large client/server application
    that communicate using Serializable Objects.
    There is about 20 actions done between the client and
    server ranging from
    - the client requesting objects from the server
    - to the client sending a range of different values to
    the server.HOPP / Half-Object plus Protocol / Half-Object part Protocol
    This is the pattern EJB's follow.
    Does anyone have a design of a protocol that handles a
    large amount of actions that I could get design ideas
    off?Protocol ? There is SOAP, RTSP, SMTP or HTTP.
    To implement a Protocol Handler, checkout the Command & Interpreter Pattern. Command is most useful if you simply know the commands you need to handle, and Interpreter is most useful if you have a grammer you wish to implement.

  • How to configure ODI for server and client correct?

    Hi forum,
    this is my first post and i hope you guys can help me out ...
    i
    am new to ODI and WLS and in my case ODI need to run on a server where a couple of clients can connect to, work on the same project with their own workspaces and accounts.
    The database will be located on the same server.
    As far as i understood, i need to install the the ODI Java EE type (not the standalone type) with a WLS ?!
    iI already nstalled
    JDK 6u41 (x64),
    ODI 11g (11.1.1.6, generic),
    Oracle DB 11g R2 enterprise and
    WebLogic 11g (10.3.6, generic)
    on the Server and now i am trying to connect to the ODI repositories from a client with an ODI standalone installation.
    I am now trying to insert a Data Source into the physical agemt (not even sure if i need to do this in my case).
    Following these instructions (http://docs.oracle.com/cd/E17904_01/integrate.1111/e12643/setup_topology.htm#CHDHJBAD) i get an ODI-26029 error.
    Below are some configuration information of the software i installed.
    h3. ODI
    Installation:
    Installationtype: full
    Oracle home directory: Oracle_ODI1
    Agent name: odi_agent
    Agent port: 1987
    Repositories/connection:
    Master repository user = odim
    Work repository user = odiw
    Work repository name = WORKREP1
    JDBC connection string = jdbc:oracle:thin:@localhost:1521:orcl
    *odim and odiw have been created manually with grant options on connect and resource
    Physical agent (with no datasource defined):
    Name = OracleDIAgent
    Host = localhost
    Webapplicationcontext = oraclediagent
    Port = 8001
    Protocol = http
    Physical data server:
    Name = oracle_db_11gr2
    User = odiw
    JDBC connection string = jdbc:oracle:thin:@localhost:1521:orcl
    Physical schema:
    Schema (schema) = ODIW
    Schema (work schema) = ODIW
    Context = aMIS_dev
    Logical schema = oracle_db_11gr2
    Logiacal schema
    Context = aMIS_dev
    Physical schema = oracle_db_11gr2.ODIW
    Context:
    Name = aMIS_dev
    Logical agent = OracleDIAgent
    Physical agent = OracleDIAgent
    Logical schema = oracle_db_11gr2
    Physical schema = oracle_db_11gr2.ODIW
    Logical schema:
    Name = oracle_db_11gr2
    Context = aMIS_dev
    Physical schema = oracle_db_11gr2.ODIW
    Logical agent
    Name = OracleDIAgent
    Context = aMIS_dev
    Physical Agent = OracleDIAgent
    h3. Oracle DB 11g R2
    Installation
    Global database name = orcl.otera.local
    SID = orcl
    h3. WebLogic 11g:
    +1. generate new basic WebLogic Server domain+
    Domainname = ODI-DOMAIN
    Admin name = weblogic
    Admin server name = AdminServer
    Listening port = 7001
    Managed server name = odi_server1
    Managed server port = 8001
    +2. extend an existing WebLogic domain+
    Choose extension source: ODI - Agent, ODI - Agent Libraries, Oracle JRF
    Window: Configure JDBC compontent schema:
    Driver = Oracle's Driver (Thin) for Instance connection; Versions: 9.0.1 and higher
    Schema owner = odim
    DBMS/Service = orcl
    Hostname = localhost
    Port = 1521
    Client name = LocalODIMachine
    Listening address of the accountmanager = localhost
    Listening port of the accountmanager = 5556
    Really hope you guys can help me quick.
    Thanks in advance

    Hi DecaXD,
    thank you for quick response :)
    on the client site i tried to establish the connection to the work repository with the following connection information:
    Login information*:
    Oracle Data Integrator Connection
    Login name = odi_server
    User = SUPERVISOR
    Database connection (Master Repository):
    User = odim
    URL = jdbc:oracle:thin:@<server ip>:1521:orcl
    A work repository could be found, but the connection failed! (?!)
    " ODI-26130: Connection to the repository failed.
    oracle.odi.core.config.NotWorkRepositorySchemaException: ODI-10147: Repository type mismatches.     
    Could not get JDBC Connection; nested exception is java.sql.SQLException: Unable to start the Universal Connection Pool: oracle.ucp.UniversalConnectionPoolException: Invalid SQL-Query for validating the connection (+translated from german into english+) "
    my ODI configuration on the server site (loged in as: odiw):
    topology tab*:
    Physical architecture:
    Technology:
    Definition:
    Dataserver name = oracle_db_11gr2
    User = odiw
    JDBC-URL = jdbc:oracle:thin:@10.168.178.131:1521:orcl
    Datasource:
    Agent = OracleDIAgent
    JNDI-Name = [DataSourceName]
    Agents:
    Definition:
    Name = OracleDIAgent
    Host = <IP of the server>
    Port = 8001
    Webapplicationcontext = oraclediagent
    Datasources:
    Dataserver = oracle_db_11gr2
    JNDI-Name = [DataSourceName]
    Logical architecture:
    Technology:
    Defintion:
    Name = oracle_db_11gr2
    Context = aMIS_dev
    Physical schema = oracle_db_11gr2.ODIW
    Agent:
    Name = OracleDIAgent
    Context = aMIS_dev
    Physical agent = OracleDIAgent
    when i test the connection of the data server (topology>physical architecture>technology>oracle>oracle_db_11gr2) with the OracleDIAgent i receive the
    " ODI-26039: Connection failed.
    oracle.odi.runtime.agent.invocation.InvocationException: javax.naming.NameNotFoundException: Unable to resolve '[DataSourceName]'. Resolved ''; remaining name '[DataSourceName]' "
    since testing the connection on the server site failed in first place, i couldn't test the connection on the client site.

  • Certificates for Server and Client to install . Pls advice

    I am doing File --XI --- File scenario with FTPS.
    Currently consider only File -- XI part now.
    We go point by point: for this link:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/964f67ec-0701-0010-bd88-f995abf4e1fc
    Blog says:
    1. In the visual admin of XI make Server Public and Private keys.
    2. In the visual admin of XI make Client Public and Private keys.
    Suppose File Sender System is Server and XI is Client
    Questions:
    a. Do I need make Server Public and Private keys In the visual admin of XI ?
    b. Do I need make Client Public and Private keys In the visual admin of XI ?
    Generic Rule -- system1 sends its public key to system2 and  similarly system2 sends its public key to system1.
    c. For Export keys and Import keys as given in blog
    -- I am not able to get this part given from Page 38 - 41 of this blog.
    Pls advice me
    Regards
    Edited by: Henry A on Mar 3, 2008 1:07 PM
    Edited by: Henry A on Mar 3, 2008 1:08 PM
    Edited by: Henry A on Mar 3, 2008 1:54 PM

    Hi DecaXD,
    thank you for quick response :)
    on the client site i tried to establish the connection to the work repository with the following connection information:
    Login information*:
    Oracle Data Integrator Connection
    Login name = odi_server
    User = SUPERVISOR
    Database connection (Master Repository):
    User = odim
    URL = jdbc:oracle:thin:@<server ip>:1521:orcl
    A work repository could be found, but the connection failed! (?!)
    " ODI-26130: Connection to the repository failed.
    oracle.odi.core.config.NotWorkRepositorySchemaException: ODI-10147: Repository type mismatches.     
    Could not get JDBC Connection; nested exception is java.sql.SQLException: Unable to start the Universal Connection Pool: oracle.ucp.UniversalConnectionPoolException: Invalid SQL-Query for validating the connection (+translated from german into english+) "
    my ODI configuration on the server site (loged in as: odiw):
    topology tab*:
    Physical architecture:
    Technology:
    Definition:
    Dataserver name = oracle_db_11gr2
    User = odiw
    JDBC-URL = jdbc:oracle:thin:@10.168.178.131:1521:orcl
    Datasource:
    Agent = OracleDIAgent
    JNDI-Name = [DataSourceName]
    Agents:
    Definition:
    Name = OracleDIAgent
    Host = <IP of the server>
    Port = 8001
    Webapplicationcontext = oraclediagent
    Datasources:
    Dataserver = oracle_db_11gr2
    JNDI-Name = [DataSourceName]
    Logical architecture:
    Technology:
    Defintion:
    Name = oracle_db_11gr2
    Context = aMIS_dev
    Physical schema = oracle_db_11gr2.ODIW
    Agent:
    Name = OracleDIAgent
    Context = aMIS_dev
    Physical agent = OracleDIAgent
    when i test the connection of the data server (topology>physical architecture>technology>oracle>oracle_db_11gr2) with the OracleDIAgent i receive the
    " ODI-26039: Connection failed.
    oracle.odi.runtime.agent.invocation.InvocationException: javax.naming.NameNotFoundException: Unable to resolve '[DataSourceName]'. Resolved ''; remaining name '[DataSourceName]' "
    since testing the connection on the server site failed in first place, i couldn't test the connection on the client site.

  • 1 App-v package for server and clients?

    Hi,
    Please verify if this setup is correct.
    The idea is to deploy an App-v 5.0 package to servers as well as pc's.
    Deploy of an app-v package with 2 deployment types:
    1.for a Windows 2008 R2 without any dependency = prereq Windows 2008 R2 (no dependency to App-v 5 since it is installed in build of server)
    2.for a Windows 7 X64 with dependency App-v 5.0 hotfix 5 (which has a dependency to App-v 5)
    ... and 2 deployments:
    1.to a terminal server farm (which has App-v 5.0 RDS deployed already), mandatory
    2.to Windows 7 pc's (not to users for now), also mandatory
    This to avoid having two sepeare App-v applications for the same source.
    Please advise or correct.
    J
    Jan Hoedt

    Looks fine, I have stopped using the App-v client as a dependency, I set it as a requirement instead as it makes it easier to manage the App-v client as there are no dependecies to take care of.
    Regards,
    jörgen
    -- My System Center blog ccmexec.com -- Twitter
    @ccmexec

  • The best combination of oracle tools and linux for server and client pcs

    Hi experts
    I want to know that which is the best certified/tested/best "Linux" operating system / flavor for oracle 10g ids for client and programmers
    for client: access through browser and/or as client/server
    for programmers: development
    Thanks

    All certified Linux distributions you can find here:
    http://www.oracle.com/technology/support/metalink/index.html

  • Custom Protocol Handler  in WL6.0

    Hi
    I wrote my own url protcol handler for retrieving data with custom URLs.
    It works fine in a client application, but when my custom URLs are invoked
    in EJB code running inside WL6, the URL is not recognized : I get a
    MalformedURLException.
    Note that I added a debug statement that checks the value of the system
    property java.protocol.handler.pkgs
    and my package is correctly listed there after many weblogic packages.
    has anyone ever been able to use a custom protocol handler inside WL6 ?
    regards,
    Edo

    Hi,
    First, I want to know what kind of Windows do you use? If it is a Windows server system, there might be a security setting that prevents this, you can try to turn it off in this way:
     Open the Server Manager, then select IE ESC,
     Turn off the Internet Explorer Enhanced security configuration both for administrator and        users in the way as the screenshot below:
    If you are using a Windows client system, try to add the local address to the local intranet security setting in this way:
    Open Internet Explorer, then select Internet option, click “security” item.
    Select Local Intranet then click “sites”, then click “advanced”.
    Add the local sites as the screenshot below:
    Wade Liu
    TechNet Community Support

  • 9i installation (network problem b'n server and client

    Hi
    I installed 9i in windows 2003 server and client system (win xp). I configured listener.ora file in server and tns.ora file in client mechine. while trying to ping (i.e tnsping) i m getting follwoing errors in both systems.
    C:\>tnsping tns_tekhub3
    TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 13-DEC-20
    06 11:28:25
    Copyright (c) 1997 Oracle Corporation. All rights reserved.
    Used parameter files:
    f:\Orahome92\network\admin\sqlnet.ora
    TNS-03505: Failed to resolve name
    C:\>

    Hi,
    i made chages in sqlnet.ora file.
    C:\>lsnrctl services
    LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 14-DEC-2006 09:23:
    04
    Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
    Services Summary...
    Service "PLSExtProc" has 1 instance(s).
    Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Handler(s):
    "DEDICATED" established:0 refused:0
    LOCAL SERVER
    Service "tekhub" has 2 instance(s).
    Instance "tekhub", status UNKNOWN, has 1 handler(s) for this service...
    Handler(s):
    "DEDICATED" established:0 refused:0
    LOCAL SERVER
    Instance "tekhub", status READY, has 1 handler(s) for this service...
    Handler(s):
    "DEDICATED" established:1 refused:0 state:ready
    LOCAL SERVER
    Service "tekhubXDB" has 1 instance(s).
    Instance "tekhub", status READY, has 1 handler(s) for this service...
    Handler(s):
    "D000" established:0 refused:0 current:0 max:1002 state:ready
    DISPATCHER <machine: SERVER, pid: 3684>
    (ADDRESS=(PROTOCOL=tcp)(HOST=server)(PORT=1064))
    The command completed successfully

  • Creating custom protocol handler

    Hi all java's guru I hope that you guys can help me. I,ve been trying to develop custom protocol handler that handles this kind of url:
    jdbc://driver_type/database_url/statement
    I have override the URLConnection class but i get confused where to set the input stream and output stream.
    Your guys help will be really appreciated.
    Thanks in advance

    Well I've been busy implementing Thinkfree
    application server(online office applet). I have
    succeeded implementing webdav protocol(it's not that
    difficult since webdav works also via http) Now I'm
    trying to develop custom file object that getting his
    inputstream and outputstream from and into the
    database. Because database connection in java only
    possible via jdbc so I have to write my own
    URLStreamHandler and URLConnection class. Does
    anybody has experience in developing a custom
    protocol handler? any advice will be appreciatedAre you aware that the actual protocol used for communication to a database is totally proprietary? As in it depends on the database?
    Could you describe how you think this will work exactly? Because you can't just write a one-size fits all solution here. It just does not exist. And I am not too sure what you mean by the input and output streams from and into the database mean.

  • Connection fails if server and clients are in different subnets

    Hello,
    our Volume License Manager (v2.1) is running in another subnets than the clients (All machines are running under Windows XP-SP2 without Domains or ADS, just workgroups).
    The server is in subnet A (192.168.42.0/24), all clients are located in another subnet  B (192.168.50.0/24).
    Routing is properly configured and is working fine, traffic to the specific hosts is not blocked by a firewall. We can ping every machine,
    open telnet connections to the NILM, everything works.
    But if the clients try to connect to the remote NILM (both local client NI License Manager and VLM port settings are correct)  their connection attempt always
    times out with error code "NILM10"
    (I already read the mentioned KBs, no solution has helped so far). This is true if clients and server are separated.
    For testing purposes, i plugged one client into the server's subnet (server's IP: 192.168.50.250, client 192.168.50.10)
    and it worked perfectly. Is there a reason why  server and client have to be on the same subnet or is it some other kind of problem that I am not aware of?
    Thank you.
    Thorsten

    Hello Thorsten,
    Did you add the server's domain to the client computer's DNS settings. To do this, complete the following steps on the client computer:
    1. Open Local Area Network Settings from the Control Panel (Start»Control Panel»Network Connections»Local Area Connection)
    2. Click the Properties button
    3. Select Internet Protocol (TCP/IP) from the list of network components
    4. Click the Properties button
    5. Click the Advanced button
    6. Change to the DNS tab
    7. Ensure Append these DNS suffixes is selected
    8. Click the Add button
    9. Enter the domain suffix of the license server and click Add
    10. Close any open dialog boxes, choosing OK and Close as necessary.
    (http://digital.ni.com/public.nsf/allkb/3AAF37CD7B89A2CD86257070005A075A?OpenDocument)
    Further you should check this KBs.
    Why is My NI License Manager Slow or Not Responsive with a Configured Network Server on Another Domain?
    http://digital.ni.com/public.nsf/allkb/27D6BD8116EF257A862572F2005C2181?OpenDocument
    How Can I Access NI Volume License Manager from a Different Network or Behind a Firewall?
    http://digital.ni.com/public.nsf/websearch/54E52C3F348B929786256DCD0056B19B?OpenDocument
    Regards,
    WolfgangZ

  • How can a VI be both server and client?

    Hi, 
    I'm new in LabView and I'm trying to build a server and client VI using TCP/IP that runs in two computers. in my program I need both server and client VIs to communicate with each other which means I need both VIs to be server and client. I've tried using a case structure but it doesnt work. The only thing I achieved is a normal server/client system where the server sends a request and the client responses.But i need the client to send requests too.i have attached my VIs to this post.I would appriciate it if someone could help with this problem. 
    Thanks in advanced. 
    Rambaldi.
    Solved!
    Go to Solution.
    Attachments:
    Server-Client.zip ‏41 KB

    Do you really need a client and server on each PC? If you simply need that two to talk to each other they can once the client connects to the server. In most cases you only need one server.
    What Steve said about the not using the same port only applies to two servers on the same machine. A client must use the port the server is listening to and if the client and the server are on the same machine then they will both use the same port. However, only ONE of them is accepting waiting for connections on that port.
    In the code you posted you actually swapped the names. What you call the client is actually the server code and vise versa. In networking a server is an application that listens to an assigned port, accepts connections on that port and provides whatever services it has implemented. A client is an application that establishs a connection to a server. Once a connection is established the two applications can communicate in both directions. The applications themselves will define how the conversation should progress and whether it is a one way conversation or a two way conversation. You don't specify what you are trying to accomplish but I suspect you only need a single server.
    In TCP, every connection is defined by the source and destination IP addresses and the source and destination ports. The server uses a known port (FTP is port 21, HTTP is 80, telnet is 23, or some custom port in the user space beyonds the reserved ports) to listen for connections. The client will use the well known port of teh server and generally picks a random port for its port number. The LabVIEW VIs do this automatically. This is how a server and a client on the same computer can use the same port number. Two servers however cannot. The server application can spawn a child task allowing it to service multiple connections at one time though. Each connection will be unique though since the client's port number, address or both will change for each connection.
    OK, end of networking 101.
    Can you describe in a bit more detail what exactly you want to accomplish. Given that I could probably provide you with more information for your application.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • My custom protocol handler isn't working after upgrading from 3.0

    Redhat Enterprise Linux 4
    Firefox 3.6.7. Updated via RedHat Network.
    I'm trying to add a custom protocol handler (gdc) to Firefox. This worked in 3.0 and earlier. Now I'm getting "Firefox doesn't know how to open this address, because the protocol (gdc) isn't associated with any program." errors.
    Tried adding network.protocol-handler.app.gdc string with valid path. Didn't work. Went to #firefox irc.mozilla.org and was recommended that I add network.protocol-handler.expose.gdc and set it to false. I still get the error.

    Hi There,
    Yep I can confirm that I am having problems with wifi as well.
    My problem is that it is not re-joining known networks.
    Also the auto login feature designed for hotspots does not seem to work well either. The Log In Screen slides up then an error keeps repeating on the page...."Error Opening Page - The page could not be opened because an error occurred"

  • Try to use one comupter as both server and client

    Hello, everyone, I am just trying to use my own computer as both server and client to test some codes about networking. For example, use the sample code in java tutorial which is used to test Echo server(code is listed below). Is there anything I have to do to set my computer, such as set my hostname or something like that?
    I am a pure newbie. And the purpose of this question is to test some code including socket on one PC without connect to internet.
    I have tried to change the name "taranis" in the following code to the computer name of my own PC, but it doesn't work, and said: Couldn't get I/O for the connection to: (my computer name).
    import java.io.*;
    import java.net.*;
    public class EchoClient {
    public static void main(String[] args) throws IOException {
    Socket echoSocket = null;
    PrintWriter out = null;
    BufferedReader in = null;
    try {
    echoSocket = new Socket("taranis", 7);
    out = new PrintWriter(echoSocket.getOutputStream(), true);
    in = new BufferedReader(new InputStreamReader(
    echoSocket.getInputStream()));
    } catch (UnknownHostException e) {
    System.err.println("Don't know about host: taranis.");
    System.exit(1);
    } catch (IOException e) {
    System.err.println("Couldn't get I/O for "
    + "the connection to: taranis.");
    System.exit(1);
         BufferedReader stdIn = new BufferedReader(
    new InputStreamReader(System.in));
         String userInput;
         while ((userInput = stdIn.readLine()) != null) {
         out.println(userInput);
         System.out.println("echo: " + in.readLine());
         out.close();
         in.close();
         stdIn.close();
         echoSocket.close();

    Did you write the EchoServer and start it on your
    machine, listening on port 7?
    You can have the client and server running on the same
    machine or different machines, but they have to be
    separate pieces of software.
    Write a separate EchoServer class that starts up and
    listens on that port. Then start the EchoClient and
    make the connection.
    %yeah, I didn't wrote the EchoServer class. But I thought it is automaticly included and therefore has run once I start my computer.
    If I write a EchoServer class, then how should I set the host name of the EchoClient, just simply change "taranis" to my computer name (change "echoSocket = new Socket("taranis", 7);" to echoSocket = new Socket("(my comptuer name)", 7);"?

  • I am using server and client systems when i am trying to open the browser in two or more machines it says that firefox is already running, i want to open the browser in all machines simeltaniously

    I am using server and clients machines in my office, here i want to open browsers in all systems simultaneously but i am unable open the browser, when i am trying to open the browser in the second machine it says that firefox is already open... pls. solve this problem
    Thank you

    You can't open one Profile more than once. You need a separate Profile for each browser on each PC that you open.
    https://support.mozilla.com/en-US/kb/Profiles

  • Force CORBA server and client to localhost

    Hi,
    i have to run an omg corba server and client via orbd on a single machine with win xp. The machine is connected to the network, but this is not relevant for the corba communication.
    I can now force the orbd to start at localhost. After starting server and client everything works well until disconnecting machine from network, because client and server are started at ip of network card.
    How can i force the client and server to use a localhost port for corba communication (client and server)?
    Hope anyone has an idea...
    br
    ralf
    P.S.: If I start the applications after disconnecting network everthing works.

    Resolved the problem myself.
    The correct property is a java system property:
    com.sun.CORBA.ORBServerHost=localhost
    If you set this property in your application before instanciating an ORB, the orb will be forced to run on the set value (in this case localhost). If you do not set this property the ORB will be started at the IP of your network card if it is active (connected to the network)...

Maybe you are looking for