Top Banner
1 Metro and REST - The Web services Stack in GlassFish Arun Gupta Sun Microsystems, Inc. http://blogs.sun.com/arungupta 1
23

Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Mar 26, 2018

Download

Documents

hoangtuong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

1

Metro and REST - The Web services Stack in GlassFish

Arun GuptaSun Microsystems, Inc.http://blogs.sun.com/arungupta

1

Page 2: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 2

Agenda• Metro> What is Metro ?> Features> Community> Roadmap> Reference

Page 3: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 3

Agenda• Metro> What is Metro ?> Features> Community> Roadmap> Reference

Page 4: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 4

What is Metro ?• Web Services stack from GlassFish community• High-performance and production-quality one stop

shop for all Web service needs• Metro = JAX-WS “RI” + WSIT/Tango• JAX-WS RI provides Core Web services support> Extensible and pluggable architecture

• WSIT/Tango provides support for Security, Reliability, Transactions and Interoperability with .NET 3.0

Page 5: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 5

Metro Overview

Security

Metro – GlassFish Web Services Stackmetro.dev.java.net

JAXB JAXP SAAJ

TransactionsReliability

Commons

SOAP

XML Processing

Web Services Core

SMTP

Spring

JSON

HTTP

. . .

. . .

Page 6: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 6

Agenda• Metro> What is Metro ?> Features> Community> Roadmap> Reference

Page 7: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 7

Metro Features• JAX-WS 2.1: Easy to use Web services API> Replaces JAX-RPC

• Embrace POJO concepts via annotations> Descriptor-free programming

• Protocol and Transport Independence• Integrated data binding via Java API for XML

Binding (JAXB)> 100% XML Schema Support

Page 8: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 8

Metro Features• End-to-end Security> Point-to-point and Message-based> Partial integrity and confidentiality> Brokered trust relationships can be established

• Protocol-based Reliability> Recovery from lost or mis-ordered messages> Enable use of multiple transports

• Transactional Web services> Same as EJB/RMI-IIOP Transactions> All operations in TX boundary succeed or rollback

Page 9: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 9

Metro Features• Binding> SOAP 1.1/1.2, MTOM, XML, JSON, FastInfoset

• Pluggable Transports> HTTP, SMTP, TCP/IP, JMS, In-VM

• Deployment> JSR 109-based, Servlet-based and Spring-based

• Cool Features> Stateful Web service, Server-side Asynchrony, Multiple

service instances, ...

Page 10: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 10

Metro Interoperability• Standards Compliant> JAX-WS 2.1 & JAXB 2.1> W3C SOAP 1.1/1.2, WSDL 1.1, WS-Addressing, MTOM> WS-I Basic Profile 1.x, SSBP 1.0, AP 1.0

• .NET 3.0 interoperable> WS-* specs used by .NET 3.0

– Reliable Messaging, Secure Conversation, Trust, Security, SecurityPolicy, MetadataExchange, Atomic Transaction, Coordination, Policy

> Secure, Reliable, Transactional

Page 11: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 11

Metro Interoperability

Client

Endpoint

Client

Endpoint

Metro .NET 3.0

Page 12: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 12

Metro Runtime & Tools• Containers (runtime)> Integrated in GlassFish V2 and V3> Light-weight HTTP server (Java SE 6)> JBoss WS 2.1.0, BEA WLS 10, IBM JDK Version 6,

TmaxSoft JEUS, Tomcat, Jetty> Any Servlet-2.4 container

• Development Tools> Command-line: wsimport, wsgen> NetBeans IDE> Maven plugins> Eclipse (SOAP UI plugin)

Page 13: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 13

Page 14: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 14

Performance• Ran benchmark tests with JAX-WS 2.1 RI against

Axis2 1.1.1• Depending on the data size JAX-WS RI is 30% -

100% faster• Details

> http://weblogs.java.net/blog/kohsuke/archive/2007/02/jaxws_ri_21_ben.html

Page 15: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 15

Performance

Page 16: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 16

Agenda• Metro> What is Metro ?> Features> Community> Roadmap> Reference

Page 17: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 17

Community• Visible development at java.net> metro, jax-ws, wsit, jax-ws-commons> Continuous testing using Hudson

• Fully Open-source> CDDL and GPL v2 license> Source code, Emails, Forums

• Light-weight committer process to encourage external contributions• Features driven by users and community> Spring, SMTP, JSON, Stateful Web service, etc.

Page 18: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 18

Adoption• BEA Web Logic Server 10• JBoss WS 2.1.0• IBM JDK Version 6• Salesforce.com for APEX 8.0 toolkit• Many others ...> TmaxSoft, Worldspan, MailVision Ltd., MyUniPortal,

Nortrop Grumman Corporation, Cordys, SLIB, Expeditors International, Cast Iron Systems, Covergence, National Science Foundation, etc.

Page 19: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 19

Agenda• Metro> What is Metro ?> Features> Community> Roadmap> Reference

Page 20: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 20

Roadmap• Metro 1.0> Released with GlassFish V2> Standalone download bundle

• Future plans> Better REST support through JAX-RS (JSR 311)> JMX agent for server (metrics, health of the system etc)> XMPP Transport> Very large attachment support> Align with .NET 3.5

– Update to standard version of WS-* specs

Page 21: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 21

Agenda• Metro> What is Metro ?> Features> Community> Roadmap> Reference

Page 22: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 22

Reference• Metro> metro.dev.java.net> [email protected]> https://forums.java.net/jive/forum.jspa?forumID=46> http://feeds.feedburner.com/MetroBlogs

• GlassFish (glassfish.java.net)• TheAquarium (blogs.sun.com/theaquarium)

Page 23: Metro and REST - The Web services Stack in GlassFishdownload.oracle.com/glassfish/wiki-archive/attachments/20875808/... · metro.dev.java.net JAXB JAXP SAAJ Reliability Transactions

Sun Tech Days FY08 23

Reference• JSR-311> https://jsr311.dev.java.net

• Jersey> https://jersey.dev.java.net> [email protected]

• Blogs> http://blogs.sun.com/sandoz> http://weblogs.java.net/blog/mhadley/> http://blogs.sun.com/japod> http://blogs.sun.com/arungupta