glassfish metro - java web services stack

24
1

Upload: dmitry-buzdin

Post on 05-Dec-2014

3.100 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Glassfish Metro - Java Web Services Stack

1

Page 2: Glassfish Metro - Java Web Services Stack

<Insert Picture Here>

Glassfish Metro – Java Web Services Stack

Martin Grebac

Metro Project Lead

Page 3: Glassfish Metro - Java Web Services Stack

3

The following is intended to outline our general product

direction. It is intended for information purposes only,

and may not be incorporated into any contract. It is

not a commitment to deliver any material, code, or

functionality, and should not be relied upon in making

purchasing decisions.

The development, release, and timing of any features

or functionality described for Oracle’s products remains

at the sole discretion of Oracle.

Page 4: Glassfish Metro - Java Web Services Stack

4

Agenda

• Overview

• Architecture

• Demos

• Roadmap

• Q&A

Page 5: Glassfish Metro - Java Web Services Stack

5

What is Metro?

Metro is one-stop shop for all your web services

needs.

Page 6: Glassfish Metro - Java Web Services Stack

6

What is Metro?

• Java Web Services Stack

• Part of GlassFish project

• Production Quality

• High-Performance

• Interoperability

– Tested for Interop with RSP 1.0 and WS-I BSP 1.1

– Tested with WCF Stack 3.0 / 3.5 versions

– Tested with other Oracle 11g products (security)

• X.509, SAML, Username Token against SOA, OSB, ADF,

WLS

Page 7: Glassfish Metro - Java Web Services Stack

7

METRO = JAX-WS RI + WSIT (Tango)

• JAX-WS RI

– Implements Java API for XML Web Services (JAX-WS)

– Provides core web services support

– Extensible and Pluggable Architecture

• Web Services Interoperability Technology (WSIT)

– Provides Quality Of Service (QoS) support

• Security, Reliability, Transactions

– Implementation of WS-* Specifications

• Interoperability with .NET 3+

Page 8: Glassfish Metro - Java Web Services Stack

8

Architecture

Page 9: Glassfish Metro - Java Web Services Stack

9

Core Features

• JAX-WS – Easy to use Web services API

• POJO concepts via annotations

– Descriptor free programming

• Databinding (new), Encoding, Protocol, Transport

independence

• Default integrated with Java Architecture for XML

Binding (JAXB)

– Java platform API

– 100% schema support

Page 10: Glassfish Metro - Java Web Services Stack

10

Advanced Features

• Bootstrapping Communication and Configuration

– WS-MetadataExchange

– WS-Policy

• Quality of Service

– Reliable Message Delivery

– Atomic Transactions

– Secured Communication

• Transparent to application code

Page 11: Glassfish Metro - Java Web Services Stack

11

Reliable Messaging

• Message Delivery Protocol

• Different Message Delivery Assurance Modes

– Exactly Once, At Least Once, At Most Once

– In Order – can be combined with above

• Incomplete Message Sequence Handling

– Discard entire sequence, discard after first gap

– Enforcing same-origin on a message sequence

• Sequence bound to a WS-SC session

• Supports High Availability

<wsrmp:RMAssertion>

<wsp:Policy>

<wsrmp:SequenceSTR/>

<wsrmp:DeliveryAssurance>

<wsp:Policy>

<wsrmp:ExactlyOnce/>

<wsrmp:InOrder/>

</wsp:Policy>

</wsrmp:DeliveryAssurance>

</wsp:Policy>

</wsrmp:RMAssertion>

Page 12: Glassfish Metro - Java Web Services Stack

12

Transactions

• Message Delivery Protocol

• Different Message Delivery Assurance Modes

– Exactly Once, At Least Once, At Most Once

– In Order – can be combined with above

• Incomplete Message Sequence Handling

– Discard entire sequence, discard after first gap

– Enforcing same-origin on a message sequence

• Sequence bound to a WS-SC session

• Supports High Availability

wsp:Policy wsu:Id=“TransactedPolicy”>

<wsat:ATAssertion wsp:optional=“true”/>

</wsp:Policy>

Page 13: Glassfish Metro - Java Web Services Stack

13

Security

• Supports Security Mechanisms

– X.509

– Username Token

– Saml Token

– Kerberos …

• Configurable Through WS-Policy

configuration WSDL

– Better in NetBeans

• WS-Security, WS-Trust, STS, …

Page 14: Glassfish Metro - Java Web Services Stack

14

Programming Model

• Develop using JAX-WS APIs

– Server side: @WebService

– Client side: use wsimport.sh to generate client proxy

• Advanced features in configuration file

– Server side: wsit-$endpointClassName.xml

– Client side: wsit-client.xml

– generate through NetBeans GUI

Page 15: Glassfish Metro - Java Web Services Stack

15

Latest Features

• High Availability

– Since Metro 2.1

• Works with GlassFish 3.1(.x) Cluster

• Replication of stateful session data

– Reliable Messaging

• Sequences, Unacknowledged Messages, …

– Secure Conversation

• Secure Conversation session

– Security

• Nonce Manager

Page 16: Glassfish Metro - Java Web Services Stack

16

Latest Features

Page 17: Glassfish Metro - Java Web Services Stack

17

Latest Features

Page 18: Glassfish Metro - Java Web Services Stack

18

Latest Features

• Security Improvements

– RSA-SHA256, 384, 512

– Use of JAAS KeystoreLoginModule

– Policy Alternatives for client authentication tokens

• Modular Databinding

– JAXB RI / Moxy / SDO switchable

• Lots of small improvements and bugfixes

Page 19: Glassfish Metro - Java Web Services Stack

19

DEMO • “Hello World” Service

• Message Level Security

• Reliable Message delivery

Page 20: Glassfish Metro - Java Web Services Stack

20

Which version?

• Metro 2.1.1

– Latest greatest, download from http://metro.java.net

– Production ready version

– High Availability

• Metro 2.2

– In development

– Aligned with GlassFish 3.1.2

– Available early next year

• Metro 2.2.1, 2.3 - TBD

Page 21: Glassfish Metro - Java Web Services Stack

21

Community

• Lots of Adoption

– Java SE/EE SDK, IBM JDK, GlassFish, Weblogic, …

• Active mailing lists and forum

• Extensible

– JAXB, JAX-WS extensions

– Spring, JSON, SMTP, …

• Be Active!

– Vote on issues, provide patches, improve and/or review our

docs

Page 22: Glassfish Metro - Java Web Services Stack

22

Summary

• METRO – Full featured WS Stack

• Popular in Java Community

• Many advanced features

• Interoperability (Microsoft .NET)

• High Performance

• Integrated with GlassFish

• Running standalone on Servlet containers

Page 23: Glassfish Metro - Java Web Services Stack

23

Q&A

Page 24: Glassfish Metro - Java Web Services Stack

24

Interested?

• http://metro.java.net

– http://wsit.java.net

– http://jax-ws.java.net

– http://jaxb.java.net

– http://glassfish.java.net

[email protected]