Skip to main content
  • Log in
  • Manage Cookies
projects.eclipse.org
Download
  • Projects
  • Working Groups
  • Members
  • Community
    • Marketplace
    • Events
    • Planet Eclipse
    • Newsletter
    • Videos
    • Blogs
  • Participate
    • Report a Bug
    • Forums
    • Mailing Lists
    • Wiki
    • IRC
    • Research
  • Eclipse IDE
    • Download
    • Learn More
    • Documentation
    • Getting Started / Support
    • How to Contribute
    • IDE and Tools
    • Newcomer Forum
  • More
      • Community

      • Marketplace
      • Events
      • Planet Eclipse
      • Newsletter
      • Videos
      • Blogs
      • Participate

      • Report a Bug
      • Forums
      • Mailing Lists
      • Wiki
      • IRC
      • Research
      • Eclipse IDE

      • Download
      • Learn More
      • Documentation
      • Getting Started / Support
      • How to Contribute
      • IDE and Tools
      • Newcomer Forum
  1. Home
  2. Projects
  3. Eclipse EE4J
  4. Jakarta WebSocket™
  5. Eclipse Project for WebSocket
×

Informative message

This proposal has been approved and the Jakarta WebSocket™ project has been created.
Visit the project page for the latest information and development.

Go to Project

Eclipse Project for WebSocket

Basics
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project: 
Eclipse EE4J
Background: 

This project is created as part of the process of transitioning Oracle Java EE 8 and GlassFish technologies to the Eclipse Foundation as described in The Eclipse Enterprise for Java Project Top Level Project Charter (https://projects.eclipse.org/projects/ee4j/charter).

Scope: 

Eclipse Project for WebSocket provides the API and TCK for Java API for WebSocket, starting from the specification defined by JSR-356.

An implementation for the WebSocket API is part of the Eclipse Tyrus project proposal.

Description: 

Java API for WebSocket (JSR-356), specifies the API that Java developers can use when they want to integrate WebSockets into their applications - both on the server side as well as on the Java client side.

Why Here?: 

The top level EE4J project was created consistent with the direction described in The Eclipse Enterprise for Java Project Top Level Project Charter (https://projects.eclipse.org/projects/ee4j/charter).   This project is created under the top level EE4J project as one of Oracle Java EE 8 and GlassFish technologies being transitioned to the Eclipse Foundation.

Licenses: 
Eclipse Public License 2.0
一 (Secondary) GNU General Public License, version 2 with the GNU Classpath Exception
People
Project Leads: 
Roman Grigoriadi
Remy Maucherat
Committers: 
Dmitry Kornilov
Ed Bratt
Bill Shannon
Steven Liu
Wilson Tian
Yamini Kalyandurga
Lukas Jungmann
Roman Grigoriadi
Jan Supol
Tomas Kraus
Tomas Langer
Pavel Bucek
Remy Maucherat
Tomaz Cerar
Bill Wigger
Manuel Saldana
Kevin Sutter
Mark Thomas
Arjan Tijms
Jean-Francois Arcand
Minehiko Iida
Justin Lee
Greg Wilkins
Wenbo Zhu
Mentors: 
Wayne Beaton
Source Code
Initial Contribution: 

Eclipse Project for WebSocket API repository from https://github.com/javaee/websocket-spec

Source Repository Type: 
GitHub
Source Repositories: 
https://github.com/javaee/websocket-spec

Comments Sign in to post comments

Mark Thomas's picture

Initial committer list

Submitted by Mark Thomas on Tue, 2017-11-21 15:27

How was the initial committer list formed? There doesn't seem to be much overlap with the JSR 356 Expert Group. Given the close relationship between the API and the specification, I'd expect to see more EG members on the initial committer list.

  • Log in to post comments
Remy Maucherat's picture

Re: Initial committer list

Submitted by Remy Maucherat on Fri, 2017-11-24 08:49

+1

  • Log in to post comments
Bill Wigger's picture

Encoder Type Matching - direct or assignable?

Submitted by Bill Wigger on Fri, 2017-12-01 10:53

I have an question that recently came up involving how the implementation of a function in the websocket spec.

In section 4.1.2 the websocket specification says:

"The implementation must attempt to encode application objects of matching parametrized type as the encoder when they are attempted to be sent using the RemoteEndpoint API [WSC-4.1.2-1]."

Does "matching" mean a direct match of class objects, or any match which can be assigned as a direct or extension or interface implementation?

The issue with direct, is that it is limiting, and excludes therefore using interfaces as the encoder/decoder parameterized type.
The issue with allowing extensions or interfaces is that it introduces ambiguities that the specification does not address.  For example, if
two encoders implement two different interfaces and both are specified as valid encoders for an Endpoint, what should be done in the case
that an object to encode is to sent where said object implements both interfaces?  Is the correct encoder basically a random selection between
the two possible encoders?

  • Log in to post comments
Mark Thomas's picture

Re: Encoder Type Matching - direct or assignable?

Submitted by Mark Thomas on Wed, 2017-12-13 15:22

This is clearly one to clarify in the first iteration of the WebSocket spec at Eclipse once we reach that point. That said, my current thinking is set out below.

Given that 4.2.2 uses the phrase "the first appropriate Decoder in the list" then that suggests to me that there may be more than one appropriate Decoder. Therefore the test needs use Class#isAssignableFrom(Class).

Section 4.2.2 also says "first" so that clarifies which Decoder to use if there are multiple matches.

On the basis that encoding and decoding should be symmetical, and that client and sever endpoints should default to the same behaviour, I would expand the langauge from 4.2.2 to cover Encoders and Decoders for both client and server enpoints.

Mark

  • Log in to post comments
Jakarta WebSocket™

Project Links

  • Website

Related Projects

Related Projects:

  • Eclipse EE4J
    • Eclipse Tyrus™

Project Hierarchy:

  • Eclipse EE4J
  • Jakarta WebSocket™

Tags

Technology Types
  • Cloud Native Java
  • Specification
Build Technologies
  • Maven

Eclipse Foundation

  • About Us
  • Contact Us
  • Sponsor
  • Members
  • Governance
  • Code of Conduct
  • Logo and Artwork
  • Board of Directors
  • Careers

Legal

  • Privacy Policy
  • Terms of Use
  • Copyright Agent
  • Eclipse Public License
  • Legal Resources

Useful Links

  • Report a Bug
  • Documentation
  • How to Contribute
  • Mailing Lists
  • Forums
  • Marketplace

Other

  • IDE and Tools
  • Projects
  • Working Groups
  • Research@Eclipse
  • Report a Vulnerability
  • Service Status

Copyright © Eclipse Foundation. All Rights Reserved.

Back to the top