The Java Enterprise Edition Tutorial covers almost all the topics you raise; what is the purpose with different types of bean, how can I implement web services, how to implement authentication, etc.
I highly recommend you take the time to create a sample application, especially if you are completely new to Java Enterprise Edition (Java EE). It’s important that you understand the basic concepts well, because at first it’s hard to understand what to focus on because of the breadth and depth of the technologies and standards that include Java EE.
It should be borne in mind that although Java EE certainly tries to support best practices and allows you to design and develop secure enterprise applications that work well and scale, it does not prescribe or restrict enterprise applications to follow one specific protocol, data format and design pattern enterprise applications. Some protocols and formats are better supported explicitly with the main framework implementations, and some options are vendor-specific, but very few specific technology options are blocked in the specification.
To answer some of your specific questions, Java EE has excellent SOAP support, but does not prefer or limit web services to SOAP. With JAXB and JAX-RS, it is just as easy to create RESTful web services that accept and return XML or JSON, or both. You decide if you need to use SOAP, REST, or another protocol.
It is also your choice whether you want to use frameworks such as JAX-RS or explicitly create servlets to handle HTTP requests and responses. In many cases, JAX-RS will have everything you need, which means that you can implement your web services as simple old Java methods with a few annotations without worrying about sorting and unpacking the contents and parameters.
Similarly, with JAXB, it depends on whether you want to use WSDL or not. This is great if you have WSDL definitions, but no problem if you don't.
In many cases, you typically maintain state using the Java Persistence Architecture (JPA) infrastructure, and access and manage this data through a stateless beans session. Developers new to Java EE are often tempted to use a beans state session to maintain a state that is better managed in persistent storage. The tutorial presents the various types of bean and their purpose.