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

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 

Dernier (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 

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