SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
1
<Insert Picture Here>




Glassfish Metro – Java Web Services Stack
Martin Grebac
Metro Project Lead
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.


                                                           3
Agenda


•   Overview
•   Architecture
•   Demos
•   Roadmap
•   Q&A




                   4
What is Metro?



Metro is one-stop shop for all your web services
                     needs.



                                                   5
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

                                                              6
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+

                                                        7
Architecture




               8
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

                                                      9
Advanced Features


• Bootstrapping Communication and Configuration
  – WS-MetadataExchange
  – WS-Policy
• Quality of Service
  – Reliable Message Delivery
  – Atomic Transactions
  – Secured Communication
• Transparent to application code


                                                  10
Reliable Messaging


• Message Delivery Protocol
• Different Message Delivery Assurance Modes
  – Exactly Once, At Least Once, At Most Once          <wsrmp:RMAssertion>
  – In Order – can be combined with above                <wsp:Policy>
                                                           <wsrmp:SequenceSTR/>
• Incomplete Message Sequence Handling                     <wsrmp:DeliveryAssurance>
                                                             <wsp:Policy>
  – Discard entire sequence, discard after first gap           <wsrmp:ExactlyOnce/>
  – Enforcing same-origin on a message sequence                <wsrmp:InOrder/>
                                                             </wsp:Policy>
     • Sequence bound to a WS-SC session                   </wsrmp:DeliveryAssurance>

• Supports High Availability                             </wsp:Policy>
                                                       </wsrmp:RMAssertion>


                                                                                      11
Transactions                           wsp:Policy wsu:Id=“TransactedPolicy”>
                                          <wsat:ATAssertion wsp:optional=“true”/>
                                       </wsp:Policy>
• 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

                                                                               12
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, …

                                   13
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




                                                            14
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

                                               15
Latest Features




                  16
Latest Features




                  17
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




                                                           18
DEMO
 • “Hello World” Service
 • Message Level Security
 • Reliable Message delivery




                               19
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

                                                           20
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

                                                                 21
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



                                               22
Q&A

      23
Interested?


• http://metro.java.net
  –   http://wsit.java.net
  –   http://jax-ws.java.net
  –   http://jaxb.java.net
  –   http://glassfish.java.net


• users@metro.java.net




                                  24

Contenu connexe

Tendances

Vm mobility
Vm mobilityVm mobility
Vm mobilityhypervnu
 
Do we need JMS in 21st century?
Do we need JMS in 21st century?Do we need JMS in 21st century?
Do we need JMS in 21st century?Mikalai Alimenkou
 
Enterprise Messaging With ActiveMQ and Spring JMS
Enterprise Messaging With ActiveMQ and Spring JMSEnterprise Messaging With ActiveMQ and Spring JMS
Enterprise Messaging With ActiveMQ and Spring JMSBruce Snyder
 
Kabir Khan on AS6 at JBUG.be
Kabir Khan on AS6 at JBUG.be Kabir Khan on AS6 at JBUG.be
Kabir Khan on AS6 at JBUG.be Andries Inzé
 
Turn you Java EE Monoliths into Microservices with WildFly Swarm
Turn you Java EE Monoliths into Microservices with WildFly SwarmTurn you Java EE Monoliths into Microservices with WildFly Swarm
Turn you Java EE Monoliths into Microservices with WildFly SwarmDimitris Andreadis
 
Introduction to Role Based Administration in WildFly 8
Introduction to Role Based Administration in WildFly 8Introduction to Role Based Administration in WildFly 8
Introduction to Role Based Administration in WildFly 8Dimitris Andreadis
 
JBUG.be EJB3 Why use Spring?
JBUG.be EJB3 Why use Spring?JBUG.be EJB3 Why use Spring?
JBUG.be EJB3 Why use Spring?Andries Inzé
 
VMware vSphere 6 Course Content - Mercury Solutions
VMware vSphere 6 Course Content - Mercury SolutionsVMware vSphere 6 Course Content - Mercury Solutions
VMware vSphere 6 Course Content - Mercury SolutionsMercury Solutions Limited
 
Messaging Connectivity in Hybrid Kubernetes Cloud Environments
Messaging Connectivity in Hybrid Kubernetes Cloud EnvironmentsMessaging Connectivity in Hybrid Kubernetes Cloud Environments
Messaging Connectivity in Hybrid Kubernetes Cloud EnvironmentsDevOps.com
 
WSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration PlatformWSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration PlatformWSO2
 
Building Services with WSO2 Microservices Framework for Java
Building Services with WSO2 Microservices Framework for JavaBuilding Services with WSO2 Microservices Framework for Java
Building Services with WSO2 Microservices Framework for JavaSanjeewa Malalgoda
 
High Volume Web API Management with WSO2 ESB
High Volume Web API Management with WSO2 ESBHigh Volume Web API Management with WSO2 ESB
High Volume Web API Management with WSO2 ESBWSO2
 
Making Apache Tomcat Multi-tenant, Elastic and Metered
Making Apache Tomcat Multi-tenant, Elastic and MeteredMaking Apache Tomcat Multi-tenant, Elastic and Metered
Making Apache Tomcat Multi-tenant, Elastic and MeteredPaul Fremantle
 
Always on in sql server 2017
Always on in sql server 2017Always on in sql server 2017
Always on in sql server 2017Gianluca Hotz
 
High performance java ee with j cache and cdi
High performance java ee with j cache and cdiHigh performance java ee with j cache and cdi
High performance java ee with j cache and cdiPayara
 
Breaking Down the Barriers through Virtualization - Frank Feldman, Red Hat
Breaking Down the Barriers through Virtualization - Frank Feldman, Red HatBreaking Down the Barriers through Virtualization - Frank Feldman, Red Hat
Breaking Down the Barriers through Virtualization - Frank Feldman, Red HatLinuxmalaysia Malaysia
 

Tendances (20)

What's New in WildFly 9?
What's New in WildFly 9?What's New in WildFly 9?
What's New in WildFly 9?
 
Vm mobility
Vm mobilityVm mobility
Vm mobility
 
Weblogic server short
Weblogic server shortWeblogic server short
Weblogic server short
 
WildFly & WildFly Swarm
WildFly & WildFly SwarmWildFly & WildFly Swarm
WildFly & WildFly Swarm
 
Do we need JMS in 21st century?
Do we need JMS in 21st century?Do we need JMS in 21st century?
Do we need JMS in 21st century?
 
Enterprise Messaging With ActiveMQ and Spring JMS
Enterprise Messaging With ActiveMQ and Spring JMSEnterprise Messaging With ActiveMQ and Spring JMS
Enterprise Messaging With ActiveMQ and Spring JMS
 
Kabir Khan on AS6 at JBUG.be
Kabir Khan on AS6 at JBUG.be Kabir Khan on AS6 at JBUG.be
Kabir Khan on AS6 at JBUG.be
 
Turn you Java EE Monoliths into Microservices with WildFly Swarm
Turn you Java EE Monoliths into Microservices with WildFly SwarmTurn you Java EE Monoliths into Microservices with WildFly Swarm
Turn you Java EE Monoliths into Microservices with WildFly Swarm
 
Introduction to Role Based Administration in WildFly 8
Introduction to Role Based Administration in WildFly 8Introduction to Role Based Administration in WildFly 8
Introduction to Role Based Administration in WildFly 8
 
JBUG.be EJB3 Why use Spring?
JBUG.be EJB3 Why use Spring?JBUG.be EJB3 Why use Spring?
JBUG.be EJB3 Why use Spring?
 
VMware vSphere 6 Course Content - Mercury Solutions
VMware vSphere 6 Course Content - Mercury SolutionsVMware vSphere 6 Course Content - Mercury Solutions
VMware vSphere 6 Course Content - Mercury Solutions
 
Messaging Connectivity in Hybrid Kubernetes Cloud Environments
Messaging Connectivity in Hybrid Kubernetes Cloud EnvironmentsMessaging Connectivity in Hybrid Kubernetes Cloud Environments
Messaging Connectivity in Hybrid Kubernetes Cloud Environments
 
WSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration PlatformWSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
WSO2Con USA 2015: An Introduction to the WSO2 Integration Platform
 
Building Services with WSO2 Microservices Framework for Java
Building Services with WSO2 Microservices Framework for JavaBuilding Services with WSO2 Microservices Framework for Java
Building Services with WSO2 Microservices Framework for Java
 
High Volume Web API Management with WSO2 ESB
High Volume Web API Management with WSO2 ESBHigh Volume Web API Management with WSO2 ESB
High Volume Web API Management with WSO2 ESB
 
Making Apache Tomcat Multi-tenant, Elastic and Metered
Making Apache Tomcat Multi-tenant, Elastic and MeteredMaking Apache Tomcat Multi-tenant, Elastic and Metered
Making Apache Tomcat Multi-tenant, Elastic and Metered
 
Always on in sql server 2017
Always on in sql server 2017Always on in sql server 2017
Always on in sql server 2017
 
swathi_Resume
swathi_Resumeswathi_Resume
swathi_Resume
 
High performance java ee with j cache and cdi
High performance java ee with j cache and cdiHigh performance java ee with j cache and cdi
High performance java ee with j cache and cdi
 
Breaking Down the Barriers through Virtualization - Frank Feldman, Red Hat
Breaking Down the Barriers through Virtualization - Frank Feldman, Red HatBreaking Down the Barriers through Virtualization - Frank Feldman, Red Hat
Breaking Down the Barriers through Virtualization - Frank Feldman, Red Hat
 

Similaire à Glassfish Metro - Java Web Services Stack

Advanced use cases and approaches with stratos paa s
Advanced use cases and approaches with stratos paa sAdvanced use cases and approaches with stratos paa s
Advanced use cases and approaches with stratos paa sWSO2
 
Stratos Open PaaS OSCON 2011
Stratos Open PaaS OSCON 2011Stratos Open PaaS OSCON 2011
Stratos Open PaaS OSCON 2011Paul Fremantle
 
Architectures with Windows Azure
Architectures with Windows AzureArchitectures with Windows Azure
Architectures with Windows AzureDamir Dobric
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformKasun Indrasiri
 
2017 VMUG Storage Policy Based Management
2017 VMUG Storage Policy Based Management2017 VMUG Storage Policy Based Management
2017 VMUG Storage Policy Based ManagementCormac Hogan
 
An Introduction to VMware NSX
An Introduction to VMware NSXAn Introduction to VMware NSX
An Introduction to VMware NSXScott Lowe
 
Azure reference architectures
Azure reference architecturesAzure reference architectures
Azure reference architecturesMasashi Narumoto
 
SOA and WCF (Windows Communication Foundation) basics
SOA and WCF (Windows Communication Foundation) basicsSOA and WCF (Windows Communication Foundation) basics
SOA and WCF (Windows Communication Foundation) basicsYaniv Pessach
 
Getting Started with Apache CloudStack
Getting Started with Apache CloudStackGetting Started with Apache CloudStack
Getting Started with Apache CloudStackJoe Brockmeier
 
[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...
[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...
[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...OpenStack Korea Community
 
Java on Windows Azure (Cloud Computing Expo 2010)
Java on Windows Azure (Cloud Computing Expo 2010)Java on Windows Azure (Cloud Computing Expo 2010)
Java on Windows Azure (Cloud Computing Expo 2010)David Chou
 
NOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
NOSQL Meets Relational - The MySQL Ecosystem Gains More FlexibilityNOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
NOSQL Meets Relational - The MySQL Ecosystem Gains More FlexibilityIvan Zoratti
 
Data power v7 update - Ravi Katikala
Data power v7 update - Ravi KatikalaData power v7 update - Ravi Katikala
Data power v7 update - Ravi Katikalafloridawusergroup
 
WSO2 Quarterly Technical Update
WSO2 Quarterly Technical UpdateWSO2 Quarterly Technical Update
WSO2 Quarterly Technical UpdateWSO2
 
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon Web Services Korea
 

Similaire à Glassfish Metro - Java Web Services Stack (20)

Metro Web Services
Metro Web ServicesMetro Web Services
Metro Web Services
 
Advanced use cases and approaches with stratos paa s
Advanced use cases and approaches with stratos paa sAdvanced use cases and approaches with stratos paa s
Advanced use cases and approaches with stratos paa s
 
Enterprise service bus part 2
Enterprise service bus part 2Enterprise service bus part 2
Enterprise service bus part 2
 
Stonehenge
StonehengeStonehenge
Stonehenge
 
Stratos Open PaaS OSCON 2011
Stratos Open PaaS OSCON 2011Stratos Open PaaS OSCON 2011
Stratos Open PaaS OSCON 2011
 
Architectures with Windows Azure
Architectures with Windows AzureArchitectures with Windows Azure
Architectures with Windows Azure
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration Platform
 
2017 VMUG Storage Policy Based Management
2017 VMUG Storage Policy Based Management2017 VMUG Storage Policy Based Management
2017 VMUG Storage Policy Based Management
 
An Introduction to VMware NSX
An Introduction to VMware NSXAn Introduction to VMware NSX
An Introduction to VMware NSX
 
Txlf2012
Txlf2012Txlf2012
Txlf2012
 
Azure reference architectures
Azure reference architecturesAzure reference architectures
Azure reference architectures
 
SOA and WCF (Windows Communication Foundation) basics
SOA and WCF (Windows Communication Foundation) basicsSOA and WCF (Windows Communication Foundation) basics
SOA and WCF (Windows Communication Foundation) basics
 
Message queues
Message queuesMessage queues
Message queues
 
Getting Started with Apache CloudStack
Getting Started with Apache CloudStackGetting Started with Apache CloudStack
Getting Started with Apache CloudStack
 
[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...
[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...
[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...
 
Java on Windows Azure (Cloud Computing Expo 2010)
Java on Windows Azure (Cloud Computing Expo 2010)Java on Windows Azure (Cloud Computing Expo 2010)
Java on Windows Azure (Cloud Computing Expo 2010)
 
NOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
NOSQL Meets Relational - The MySQL Ecosystem Gains More FlexibilityNOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
NOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
 
Data power v7 update - Ravi Katikala
Data power v7 update - Ravi KatikalaData power v7 update - Ravi Katikala
Data power v7 update - Ravi Katikala
 
WSO2 Quarterly Technical Update
WSO2 Quarterly Technical UpdateWSO2 Quarterly Technical Update
WSO2 Quarterly Technical Update
 
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
 

Plus de Dmitry Buzdin

How Payment Cards Really Work?
How Payment Cards Really Work?How Payment Cards Really Work?
How Payment Cards Really Work?Dmitry Buzdin
 
Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Dmitry Buzdin
 
How to grow your own Microservice?
How to grow your own Microservice?How to grow your own Microservice?
How to grow your own Microservice?Dmitry Buzdin
 
How to Build Your Own Test Automation Framework?
How to Build Your Own Test Automation Framework?How to Build Your Own Test Automation Framework?
How to Build Your Own Test Automation Framework?Dmitry Buzdin
 
Delivery Pipeline for Windows Machines
Delivery Pipeline for Windows MachinesDelivery Pipeline for Windows Machines
Delivery Pipeline for Windows MachinesDmitry Buzdin
 
Big Data Processing Using Hadoop Infrastructure
Big Data Processing Using Hadoop InfrastructureBig Data Processing Using Hadoop Infrastructure
Big Data Processing Using Hadoop InfrastructureDmitry Buzdin
 
Developing Useful APIs
Developing Useful APIsDeveloping Useful APIs
Developing Useful APIsDmitry Buzdin
 
Архитектура Ленты на Одноклассниках
Архитектура Ленты на ОдноклассникахАрхитектура Ленты на Одноклассниках
Архитектура Ленты на ОдноклассникахDmitry Buzdin
 
Riding Redis @ask.fm
Riding Redis @ask.fmRiding Redis @ask.fm
Riding Redis @ask.fmDmitry Buzdin
 
Rubylight JUG Contest Results Part II
Rubylight JUG Contest Results Part IIRubylight JUG Contest Results Part II
Rubylight JUG Contest Results Part IIDmitry Buzdin
 
Rubylight Pattern-Matching Solutions
Rubylight Pattern-Matching SolutionsRubylight Pattern-Matching Solutions
Rubylight Pattern-Matching SolutionsDmitry Buzdin
 
Refactoring to Macros with Clojure
Refactoring to Macros with ClojureRefactoring to Macros with Clojure
Refactoring to Macros with ClojureDmitry Buzdin
 
Poor Man's Functional Programming
Poor Man's Functional ProgrammingPoor Man's Functional Programming
Poor Man's Functional ProgrammingDmitry Buzdin
 
Rubylight programming contest
Rubylight programming contestRubylight programming contest
Rubylight programming contestDmitry Buzdin
 
Continuous Delivery
Continuous Delivery Continuous Delivery
Continuous Delivery Dmitry Buzdin
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOpsDmitry Buzdin
 
Thread Dump Analysis
Thread Dump AnalysisThread Dump Analysis
Thread Dump AnalysisDmitry Buzdin
 

Plus de Dmitry Buzdin (20)

How Payment Cards Really Work?
How Payment Cards Really Work?How Payment Cards Really Work?
How Payment Cards Really Work?
 
Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?
 
How to grow your own Microservice?
How to grow your own Microservice?How to grow your own Microservice?
How to grow your own Microservice?
 
How to Build Your Own Test Automation Framework?
How to Build Your Own Test Automation Framework?How to Build Your Own Test Automation Framework?
How to Build Your Own Test Automation Framework?
 
Delivery Pipeline for Windows Machines
Delivery Pipeline for Windows MachinesDelivery Pipeline for Windows Machines
Delivery Pipeline for Windows Machines
 
Big Data Processing Using Hadoop Infrastructure
Big Data Processing Using Hadoop InfrastructureBig Data Processing Using Hadoop Infrastructure
Big Data Processing Using Hadoop Infrastructure
 
JOOQ and Flyway
JOOQ and FlywayJOOQ and Flyway
JOOQ and Flyway
 
Developing Useful APIs
Developing Useful APIsDeveloping Useful APIs
Developing Useful APIs
 
Whats New in Java 8
Whats New in Java 8Whats New in Java 8
Whats New in Java 8
 
Архитектура Ленты на Одноклассниках
Архитектура Ленты на ОдноклассникахАрхитектура Ленты на Одноклассниках
Архитектура Ленты на Одноклассниках
 
Dart Workshop
Dart WorkshopDart Workshop
Dart Workshop
 
Riding Redis @ask.fm
Riding Redis @ask.fmRiding Redis @ask.fm
Riding Redis @ask.fm
 
Rubylight JUG Contest Results Part II
Rubylight JUG Contest Results Part IIRubylight JUG Contest Results Part II
Rubylight JUG Contest Results Part II
 
Rubylight Pattern-Matching Solutions
Rubylight Pattern-Matching SolutionsRubylight Pattern-Matching Solutions
Rubylight Pattern-Matching Solutions
 
Refactoring to Macros with Clojure
Refactoring to Macros with ClojureRefactoring to Macros with Clojure
Refactoring to Macros with Clojure
 
Poor Man's Functional Programming
Poor Man's Functional ProgrammingPoor Man's Functional Programming
Poor Man's Functional Programming
 
Rubylight programming contest
Rubylight programming contestRubylight programming contest
Rubylight programming contest
 
Continuous Delivery
Continuous Delivery Continuous Delivery
Continuous Delivery
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Thread Dump Analysis
Thread Dump AnalysisThread Dump Analysis
Thread Dump Analysis
 

Dernier

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Dernier (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

Glassfish Metro - Java Web Services Stack

  • 1. 1
  • 2. <Insert Picture Here> Glassfish Metro – Java Web Services Stack Martin Grebac Metro Project Lead
  • 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. 3
  • 4. Agenda • Overview • Architecture • Demos • Roadmap • Q&A 4
  • 5. What is Metro? Metro is one-stop shop for all your web services needs. 5
  • 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 6
  • 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+ 7
  • 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 9
  • 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 10
  • 11. Reliable Messaging • Message Delivery Protocol • Different Message Delivery Assurance Modes – Exactly Once, At Least Once, At Most Once <wsrmp:RMAssertion> – In Order – can be combined with above <wsp:Policy> <wsrmp:SequenceSTR/> • Incomplete Message Sequence Handling <wsrmp:DeliveryAssurance> <wsp:Policy> – Discard entire sequence, discard after first gap <wsrmp:ExactlyOnce/> – Enforcing same-origin on a message sequence <wsrmp:InOrder/> </wsp:Policy> • Sequence bound to a WS-SC session </wsrmp:DeliveryAssurance> • Supports High Availability </wsp:Policy> </wsrmp:RMAssertion> 11
  • 12. Transactions wsp:Policy wsu:Id=“TransactedPolicy”> <wsat:ATAssertion wsp:optional=“true”/> </wsp:Policy> • 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 12
  • 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, … 13
  • 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 14
  • 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 15
  • 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 18
  • 19. DEMO • “Hello World” Service • Message Level Security • Reliable Message delivery 19
  • 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 20
  • 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 21
  • 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 22
  • 23. Q&A 23
  • 24. Interested? • http://metro.java.net – http://wsit.java.net – http://jax-ws.java.net – http://jaxb.java.net – http://glassfish.java.net • users@metro.java.net 24