[jboss-as7-dev] HTTP Upgrade for AS8 Management
Jason Greene
jgreene at redhat.com
Thu Mar 28 07:45:03 EDT 2013
On Mar 28, 2013, at 6:32 AM, Kabir Khan <kabir.khan at jboss.com> wrote:
>
> On 28 Mar 2013, at 11:27, Stuart Douglas wrote:
>
>>
>>
>> Darran Lofthouse wrote:
>>> On 28/03/13 11:04, Stuart Douglas wrote:
>>>> This is what we have been using to represent JBoss remoting URI's so
>>>> far. I do agree that is is a bit ambiguous.
>>>
>>> I am not sure if that has been a deliberate decision but apart from
>>> naming it has not really been that visible so far.
>>>
>>> I think what happened was the Remoting test suite had tests that had
>>> local and remote connection providers registered and then these names
>>> have stuck as new communication libraries have followed the test suite.
>>>
>>> So those names work when using the remoting APIs directly but are not so
>>> good once you are using an alternative API that is wrapping Remoting.
>>>
>>> I think whatever set of protocol names we choose they are going to need
>>> to be ones we can live with long term. The suggestions for Remoting JMX
>>> I think are fine, if we ever wanted pure http for JMX that could be a
>>> new library with a completely different protocol in the Service URL.
>>>
>>> However another question for 'ModelControllerClient' are we also sure we
>>> will never want to add support for pure HTTP invocations?
>>
>> That is also a question that will need to be answered for EJB. I know
>> work is being done on a pure HTTP client, so we need to make sure that
>> there is no ambiguity there.
>>
>> Also if we have HTTP upgrade, why would we need a pure HTTP client
>> library? The only reason that I can think of is that if there are some
>> firewalls that block HTTP upgrade, but I am not really sure if that is
>> really a thing.
>
> I think a pure http client library would open up nice possibilities for porting the cli to android, afaik remoting/xnio will not work there (although my impression there is based on rumours). Perhaps that isn't so important, but it sounds like fun to me :-)
Fixing it on android should be fun too!! :)
>>
>> Stuart
>>
>>>
>>>> Stuart
>>>>
>>>> Darran Lofthouse wrote:
>>>>> Sounds good, just one point before it reaches a point people are using
>>>>> it - Is 'remote' really a suitable protocol name?
>>>>>
>>>>> Within Remoting JMX the reason I went for 'remoting-jmx' was to indicate
>>>>> that it was JMX over Remoting.
>>>>>
>>>>> RMI is also considered remote so I think having a protocol of 'remote'
>>>>> is ambiguous.
>>>>>
>>>>> Regards,
>>>>> Darran Lofthouse.
>>>>>
>>>>>
>>>>> On 28/03/13 10:15, Stuart Douglas wrote:
>>>>>> Hi everyone,
>>>>>>
>>>>>> Now that we are using Undertow as the domain management HTTP server it
>>>>>> is now possible to use a HTTP upgrade for the native management and
>>>>>> remote-jmx protocols. This will allow us to run all management
>>>>>> protocols
>>>>>> over port 9990, and allow us to remove 9999 from our default config.
>>>>>> The
>>>>>> idea is significantly reduce the ports that are open in our default
>>>>>> config, ideally eventually we will just have a management and
>>>>>> application HTTP ports and that will be it (although some technologies
>>>>>> such as CORBA are not compatible with HTTP Upgrade).
>>>>>>
>>>>>> With this in mind I have started working on a series of patches[1] to
>>>>>> implement this, that I am hoping will be ready to merge early next
>>>>>> week.
>>>>>> (These patches are still a work in progress, but the core functionality
>>>>>> works).
>>>>>>
>>>>>> For those of you who are not familiar with HTTP upgrade it is a
>>>>>> mechanism where a client makes a HTTP request to the client with the
>>>>>> Upgrade: header set, the server will then respond with a HTTP 101
>>>>>> response. In our implementation the server then hands the channel over
>>>>>> to JBoss Remoting which then performs its normal handshake, including
>>>>>> authentication.
>>>>>>
>>>>>> The upshot of all this will be:
>>>>>>
>>>>>> - We no longer have port 9999 open by default, which will break older
>>>>>> clients that attempt to talk to a default AS8 instance (it will
>>>>>> still be
>>>>>> possible to add a native interface to allow it to work with older
>>>>>> clients).
>>>>>>
>>>>>> - ModelControllerClient.Factory.create() now allows you to specify a
>>>>>> protocol, which can be either remote, http or https.
>>>>>>
>>>>>> - Remote JMX will now require a service:jmx:http(s)-remoting-jmx:// URL
>>>>>> rather than the current service:jmx:remoting-jmx://
>>>>>>
>>>>>> I have not touched domain management yet, and these patches are not yet
>>>>>> ready for merging, but because this is a fairly big change I thought I
>>>>>> would get peoples thoughts before I finish it off and submit a PR.
>>>>>>
>>>>>> Stuart
>>>>>>
>>>>>> [1]
>>>>>> https://github.com/stuartwdouglas/xnio/compare/http-upgrade
>>>>>> https://github.com/stuartwdouglas/jboss-remoting/compare/http-upgrade
>>>>>> https://github.com/stuartwdouglas/remoting-jmx/compare/http-upgrade
>>>>>> https://github.com/stuartwdouglas/jboss-as/compare/http-upgrade
>>>>>> _______________________________________________
>>>>>> jboss-as7-dev mailing list
>>>>>> jboss-as7-dev at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
>> _______________________________________________
>> jboss-as7-dev mailing list
>> jboss-as7-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
>
> ---------------------------------------
> Kabir Khan
> Prinicipal Software Engineer
> JBoss by Red Hat
>
>
> _______________________________________________
> jboss-as7-dev mailing list
> jboss-as7-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
More information about the jboss-as7-dev
mailing list