Copyright © 2013, Oracle and/or its affiliates. All rights reserved.1
What’s Next for the Java EE
Connector Architecture
Sivakumar Thyagarajan (Oracle), Jesper
Pedersen (RedHat), Fred Rowe (IBM)
BOF 7904 – JavaOne San Francisco 2013
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.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.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.4
Program Agenda
 Introduction of panel members
 Brief review of Connectors 1.7
 Ideas for Connectors.next
 Feedback from you
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.5
Program Agenda
 Introduction of panel members
 Brief review of Connectors 1.7
 Ideas for Connectors.next
 Feedback from you
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.6
Program Agenda
 Introduction of panel members
 Brief review of Connectors 1.7
 Ideas for Connectors.next
 Feedback from you
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.7
Java EE Connector Architecture
Overview
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.8
Evolution of the Technology
 Outbound Communication
– Connection management (lifecycle, pooling, sharing)
– Security Contracts
– Exporting transaction and security context to EIS
Connectors 1.0 (JSR #16 - 2001)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.9
Evolution of the Technology
 Inbound messaging
– Bi-directional asynchronous integration with EISs
– Import transaction context from EIS
 JMS provider pluggability
 Lifecycle management
 Work management
Connectors 1.5 (JSR #112 - 2003 – J2EE 1.4)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.10
Evolution of the Technology
 Generic work context contracts
 Security context inflow during message delivery and work submission
 Standalone connector container environment
 Ease of Development (EoD)
Connectors 1.6 (JSR #322 – 2009 – Java EE 6)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.11
Evolution of the Technology
 Maintenance Release #1 of JSR 322
 Richer inbound message delivery
– Component namespace availability during endpointActivation
– Obtain name and class of MessageEndpoint during delivery
 EoD: Resource definition annotations
– @ConnectionFactoryDefinition
– @AdministeredObjectDefinition
 Clarified CDI behavior for managed artifacts
Connectors 1.7 (Maint. Rel of JSR #322 – 2013 – Java EE 7)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.12
Program Agenda
 Introduction of panel members
 Brief review of Connectors 1.7
 Ideas for Connectors.next
 Feedback from you
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.13
Ideas for Connectors.next
 Planning is getting started
 Inputs
– What we couldn’t complete in 1.7
– Requests from technology implementers, users and the community
 The following are potential ideas for a future Connectors.next
technology update
 Please feel free to comment/ask questions
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.14
1.8 vs. 2.0
 1.8
– Limited scope (batched message delivery)
– Preserve SPI compatibility
 2.0
– Change existing architecture
– Revamped SPI
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.15
Alignment with Other Java EE Technologies
 Concurrency Utilities for Java EE
– Align Work Manager to provide a uniform work submission model in the
platform?
 CDI
– Expand support for the injection of managed objects?
– Define an environment naming context for resource adapter modules?
Concurrency Utilities for Java EE, CDI
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.16
Enhanced Messaging
 Ability to correlate inbound and outbound messaging to support
conversational protocols
– Possible today, but requires co-ordination between the resource adapter
and the message endpoint developers
Support for stateful conversational protocols
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.17
Profiles
 Application servers required to implement support for a wide-range of
usecases
– Transaction modes: NoTransaction, LocalTransaction, XA
– Connectivity: Inbound, Outbound, both
 Simplify implementation of Connectors through the introduction of
Profiles
– Outbound NoTx, Outbound Tx, Inbound, Full
 Challenge is to maintain deployment compatibility of RARs
Technology subset for different usecases
Java EE Connector Architecture 2.0
Jesper Pedersen
Red Hat
Java EE Connector Architecture 2.0
 Change the existing architecture
But keep the overall concepts
 Apply modern programming approach
Use generics
Support JSR-330 injection
 Simplify concepts
Clear separation of SPI contracts
Remove the notion of a “common” client interface
Java EE Connector Architecture 2.0
 New architecture
Only have the vendor implement the required contracts
 NoTransaction
 LocalTransaction
 XATransaction
Provide marker interfaces for contracts
 javax.jca.spi.client.Connection
 javax.jca.spi.client.ConnectionFactory
 javax.jca.spi.management.AdministeredObject
Remove unused / “deprecated” functionality
 LogWriter – replaced by java.util.logging
 Common Client Interface (CCI)
Java EE Connector Architecture 2.0
 Support JSR-330 for injection
BootstrapContext
ResourceAdapter
TransactionSynchronizationRegistry
WorkManager
XATerminator
Validator
Java EE Connector Architecture 2.0
 BootstrapContext
Add Validator
Java EE Connector Architecture 2.0
 ConnectionManager
Allow the resource adapter to destroy ManagedConnection's
 boolean
destroyManagedConnections(ManagedConnectionFactory, Subject, C
onnectionRequestInfo)
 Lazy ConnectionManager
Allow the resource adapter to tell when it doesn't need the
ManagedConnection
Java EE Connector Architecture 2.0
 Batch message inflow
Multiple messages per transaction
boolean beginBatch(javax.transaction.xa.XAResource)
boolean endBatch()
 TransactionalMessageEndpoint
Extends MessageEndpoint
setRollbackOnly()
setTransactionTimeout(int)
Java EE Connector Architecture 2.0
 Statistics
Provide statistics interface
 ResourceAdapter
 ManagedConnectionFactory
 Admin Object
 Management
Provide management interface
 ResourceAdapter
 ManagedConnectionFactory
 Admin Object
Metadata of which methods should be exposed
Java EE Connector Architecture 2.0
 Conclusion
Simpler architecture – clear what to do
Easier to get started – only do what is needed
Use of modern approaches – do it easier
 Most importantly
Java EE Connector Architecture 1.x maps on to Java EE Connector
Architecture 2.0
You will be able to deploy your old .rar archives
 Developed under Java Community Process (JCP)
We value your feedback !
And get involved :)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.27
Program Agenda
 Introduction of panel members
 Brief review of Connectors 1.7
 Ideas for Connectors.next
 Feedback from you
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.28
Resources
 Connector 1.7 JSR page (download the final specification)
– http://www.jcp.org/en/jsr/detail?id=322
 Join the connector-spec project (Work on Specification, expert group
and user mailing lists, issue tracker)
– http://connector-spec.java.net
 Try out the new Connectors 1.7 sample (traffic-eis) released as part of
the Java EE 7 Tutorial
– http://docs.oracle.com/javaee/7/tutorial/doc/
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.29
Thank You!
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.30
Graphic Section Divider
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.31

Whats Next for JCA?

  • 1.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.1
  • 2.
    What’s Next forthe Java EE Connector Architecture Sivakumar Thyagarajan (Oracle), Jesper Pedersen (RedHat), Fred Rowe (IBM) BOF 7904 – JavaOne San Francisco 2013
  • 3.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.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.
  • 4.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.4 Program Agenda  Introduction of panel members  Brief review of Connectors 1.7  Ideas for Connectors.next  Feedback from you
  • 5.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.5 Program Agenda  Introduction of panel members  Brief review of Connectors 1.7  Ideas for Connectors.next  Feedback from you
  • 6.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.6 Program Agenda  Introduction of panel members  Brief review of Connectors 1.7  Ideas for Connectors.next  Feedback from you
  • 7.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.7 Java EE Connector Architecture Overview
  • 8.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.8 Evolution of the Technology  Outbound Communication – Connection management (lifecycle, pooling, sharing) – Security Contracts – Exporting transaction and security context to EIS Connectors 1.0 (JSR #16 - 2001)
  • 9.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.9 Evolution of the Technology  Inbound messaging – Bi-directional asynchronous integration with EISs – Import transaction context from EIS  JMS provider pluggability  Lifecycle management  Work management Connectors 1.5 (JSR #112 - 2003 – J2EE 1.4)
  • 10.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.10 Evolution of the Technology  Generic work context contracts  Security context inflow during message delivery and work submission  Standalone connector container environment  Ease of Development (EoD) Connectors 1.6 (JSR #322 – 2009 – Java EE 6)
  • 11.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.11 Evolution of the Technology  Maintenance Release #1 of JSR 322  Richer inbound message delivery – Component namespace availability during endpointActivation – Obtain name and class of MessageEndpoint during delivery  EoD: Resource definition annotations – @ConnectionFactoryDefinition – @AdministeredObjectDefinition  Clarified CDI behavior for managed artifacts Connectors 1.7 (Maint. Rel of JSR #322 – 2013 – Java EE 7)
  • 12.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.12 Program Agenda  Introduction of panel members  Brief review of Connectors 1.7  Ideas for Connectors.next  Feedback from you
  • 13.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.13 Ideas for Connectors.next  Planning is getting started  Inputs – What we couldn’t complete in 1.7 – Requests from technology implementers, users and the community  The following are potential ideas for a future Connectors.next technology update  Please feel free to comment/ask questions
  • 14.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.14 1.8 vs. 2.0  1.8 – Limited scope (batched message delivery) – Preserve SPI compatibility  2.0 – Change existing architecture – Revamped SPI
  • 15.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.15 Alignment with Other Java EE Technologies  Concurrency Utilities for Java EE – Align Work Manager to provide a uniform work submission model in the platform?  CDI – Expand support for the injection of managed objects? – Define an environment naming context for resource adapter modules? Concurrency Utilities for Java EE, CDI
  • 16.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.16 Enhanced Messaging  Ability to correlate inbound and outbound messaging to support conversational protocols – Possible today, but requires co-ordination between the resource adapter and the message endpoint developers Support for stateful conversational protocols
  • 17.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.17 Profiles  Application servers required to implement support for a wide-range of usecases – Transaction modes: NoTransaction, LocalTransaction, XA – Connectivity: Inbound, Outbound, both  Simplify implementation of Connectors through the introduction of Profiles – Outbound NoTx, Outbound Tx, Inbound, Full  Challenge is to maintain deployment compatibility of RARs Technology subset for different usecases
  • 18.
    Java EE ConnectorArchitecture 2.0 Jesper Pedersen Red Hat
  • 19.
    Java EE ConnectorArchitecture 2.0  Change the existing architecture But keep the overall concepts  Apply modern programming approach Use generics Support JSR-330 injection  Simplify concepts Clear separation of SPI contracts Remove the notion of a “common” client interface
  • 20.
    Java EE ConnectorArchitecture 2.0  New architecture Only have the vendor implement the required contracts  NoTransaction  LocalTransaction  XATransaction Provide marker interfaces for contracts  javax.jca.spi.client.Connection  javax.jca.spi.client.ConnectionFactory  javax.jca.spi.management.AdministeredObject Remove unused / “deprecated” functionality  LogWriter – replaced by java.util.logging  Common Client Interface (CCI)
  • 21.
    Java EE ConnectorArchitecture 2.0  Support JSR-330 for injection BootstrapContext ResourceAdapter TransactionSynchronizationRegistry WorkManager XATerminator Validator
  • 22.
    Java EE ConnectorArchitecture 2.0  BootstrapContext Add Validator
  • 23.
    Java EE ConnectorArchitecture 2.0  ConnectionManager Allow the resource adapter to destroy ManagedConnection's  boolean destroyManagedConnections(ManagedConnectionFactory, Subject, C onnectionRequestInfo)  Lazy ConnectionManager Allow the resource adapter to tell when it doesn't need the ManagedConnection
  • 24.
    Java EE ConnectorArchitecture 2.0  Batch message inflow Multiple messages per transaction boolean beginBatch(javax.transaction.xa.XAResource) boolean endBatch()  TransactionalMessageEndpoint Extends MessageEndpoint setRollbackOnly() setTransactionTimeout(int)
  • 25.
    Java EE ConnectorArchitecture 2.0  Statistics Provide statistics interface  ResourceAdapter  ManagedConnectionFactory  Admin Object  Management Provide management interface  ResourceAdapter  ManagedConnectionFactory  Admin Object Metadata of which methods should be exposed
  • 26.
    Java EE ConnectorArchitecture 2.0  Conclusion Simpler architecture – clear what to do Easier to get started – only do what is needed Use of modern approaches – do it easier  Most importantly Java EE Connector Architecture 1.x maps on to Java EE Connector Architecture 2.0 You will be able to deploy your old .rar archives  Developed under Java Community Process (JCP) We value your feedback ! And get involved :)
  • 27.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.27 Program Agenda  Introduction of panel members  Brief review of Connectors 1.7  Ideas for Connectors.next  Feedback from you
  • 28.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.28 Resources  Connector 1.7 JSR page (download the final specification) – http://www.jcp.org/en/jsr/detail?id=322  Join the connector-spec project (Work on Specification, expert group and user mailing lists, issue tracker) – http://connector-spec.java.net  Try out the new Connectors 1.7 sample (traffic-eis) released as part of the Java EE 7 Tutorial – http://docs.oracle.com/javaee/7/tutorial/doc/
  • 29.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.29 Thank You!
  • 30.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.30 Graphic Section Divider
  • 31.
    Copyright © 2013,Oracle and/or its affiliates. All rights reserved.31