Whats Next for JCA?

31
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1

description

Birds of Feather (BoF 7904) session at JavaOne SF 2013 discussing some possible future directions for the JCA specification.

Transcript of Whats Next for JCA?

Page 1: Whats Next for JCA?

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.1

Page 2: Whats Next for JCA?

What’s Next for the Java EE Connector ArchitectureSivakumar Thyagarajan (Oracle), Jesper Pedersen (RedHat), Fred Rowe (IBM)

BOF 7904 – JavaOne San Francisco 2013

Page 3: Whats Next for JCA?

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.

Page 4: Whats Next for JCA?

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

Page 5: Whats Next for JCA?

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

Page 6: Whats Next for JCA?

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

Page 7: Whats Next for JCA?

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.7

Java EE Connector Architecture

Overview

Page 8: Whats Next for JCA?

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)

Page 9: Whats Next for JCA?

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)

Page 10: Whats Next for JCA?

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)

Page 11: Whats Next for JCA?

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)

Page 12: Whats Next for JCA?

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

Page 13: Whats Next for JCA?

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

Page 14: Whats Next for JCA?

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

Page 15: Whats Next for JCA?

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

Page 16: Whats Next for JCA?

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

Page 17: Whats Next for JCA?

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

Page 18: Whats Next for JCA?

Java EE Connector Architecture 2.0

Jesper Pedersen Red Hat

Page 19: Whats Next for JCA?

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

Page 20: Whats Next for JCA?

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)

Page 21: Whats Next for JCA?

Java EE Connector Architecture 2.0 Support JSR-330 for injection

BootstrapContext ResourceAdapter TransactionSynchronizationRegistry WorkManager XATerminator Validator

Page 22: Whats Next for JCA?

Java EE Connector Architecture 2.0 BootstrapContext

Add Validator

Page 23: Whats Next for JCA?

Java EE Connector Architecture 2.0 ConnectionManager

Allow the resource adapter to destroy ManagedConnection's boolean destroyManagedConnections(ManagedConnectionFactory,

Subject, ConnectionRequestInfo)

Lazy ConnectionManager Allow the resource adapter to tell when it doesn't need the

ManagedConnection

Page 24: Whats Next for JCA?

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)

Page 25: Whats Next for JCA?

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

Page 26: Whats Next for JCA?

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 :)

Page 27: Whats Next for JCA?

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

Page 28: Whats Next for JCA?

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/

Page 29: Whats Next for JCA?

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.29

Thank You!

Page 30: Whats Next for JCA?

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.30

Graphic Section Divider

Page 31: Whats Next for JCA?

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.31