SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

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
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
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
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 

Kürzlich hochgeladen (20)

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
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 

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