Bug 405353 - Server to server proxy service-tunnel
Summary: Server to server proxy service-tunnel
Status: CLOSED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Scout (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Andre Wegmueller CLA
QA Contact:
URL:
Whiteboard: migration
Keywords: core
Depends on:
Blocks: 418691
  Show dependency tree
 
Reported: 2013-04-10 09:34 EDT by Andre Wegmueller CLA
Modified: 2021-08-19 11:03 EDT (History)
2 users (show)

See Also:


Attachments
Moved service-tunnel to new plugin org.eclipse.scout.rt.servicetunnel (354.10 KB, patch)
2013-04-12 07:11 EDT, Andre Wegmueller CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andre Wegmueller CLA 2013-04-10 09:34:08 EDT
Today a Scout client tunnels (server-)service-requests through a HTTP proxy by using the ClientProxyServiceFactory. All interfaces / classes concerning the HTTP service tunnel are located in the "org.eclipse.scout.rt.client" plugin. The current client proxy service-tunnel implementation works with instances of IClientSession.

Thus, in a multi-server environment where a Scout server must communicate with another Scout server through HTTP, we cannot use the service tunnel. 

With this enhancement we move the service-tunnel to a separate plugin "org.eclipse.scout.rt.servicetunnel". This plugin contains a client/server independet implementation of the HTTP proxy service-tunnel which works with instances of ISession. 

By default the plugin "org.eclipse.scout.rt.client" will have a new dependency to the servicetunnel plugin. A Scout server application can optionally add a dependency to the new plugin and extend the common HTTP proxy service-tunnel (e.g. ServerProxyServiceFactory extends CommonProxyServiceFactory). This factory can be used in the plugin.xml to register proxy service-tunnels to the other Scout server.
Comment 1 Andre Wegmueller CLA 2013-04-12 07:11:41 EDT
Created attachment 229672 [details]
Moved service-tunnel to new plugin org.eclipse.scout.rt.servicetunnel
Comment 2 Jeremie Bresson CLA 2013-05-08 03:13:31 EDT
This is something we need to discuss for the L-Release.
Comment 3 Jeremie Bresson CLA 2013-09-13 10:59:50 EDT
Change based on attachment 229672 [details] pushed to Gerrit for develop branch:
https://git.eclipse.org/r/16413
Comment 4 Jeremie Bresson CLA 2013-09-30 12:37:06 EDT
Moved to M3.
Comment 5 Jeremie Bresson CLA 2013-10-04 11:16:41 EDT
== Migration notes ==

Add org.eclipse.scout.rt.servicetunnel in the Plug-ins dependencies in your client product files.

---

Update your code (search for deprecated warnings), here a not exhaustive list of what you have to change:

* In <your app>.ClientSession.execLoadSession()
Old:
setServiceTunnel(new HttpServiceTunnel(this, getBundle().getBundleContext().getProperty("server.url")));
New:
setServiceTunnel(new ClientHttpServiceTunnel(this, UriUtility.toUrl(getBundle().getBundleContext().getProperty("server.url"))));

* If you have extended org.eclipse.scout.rt.client.servicetunnel.http.HttpServiceTunnel you should now extend from org.eclipse.scout.rt.client.servicetunnel.http.ClientHttpServiceTunnel.

* org.eclipse.scout.rt.client.servicetunnel. IServiceTunnel is now org.eclipse.scout.rt.client.servicetunnel.http.IClientServiceTunnel

---

Sidenote, Working with java.net.URL instead of String:
The new API use URL instead of Strings, to make the conversion use UriUtility.toUrl(String). This way you will get a ProcessingException instead of a MalformedURLException when something goes wrong.
Comment 7 Jeremie Bresson CLA 2013-10-07 06:01:58 EDT
New And Noteworthy:
http://wiki.eclipse.org/Scout/NewAndNoteworthy/3.10#Service_tunnel_plugin
Comment 10 Jeremie Bresson CLA 2013-11-07 02:54:13 EST
André, can you verify please?
Comment 11 Matthias Zimmermann CLA 2014-07-01 03:18:56 EDT
Shipped with Eclipse Luna Release