SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
JavaT M EE Connector
Architecture 1.6
Technology (JSR 322)


●Presenter’s Name
Sivakumar Thyagarajan
–Presenter’s Title
Jagadish Ramu
●Presenter’s Company




                        1
Presentation Goal



Learn about the new features in the
JavaTM EE Connector Architecture 1.6 technology




                    Sun Confidential: Internal Only   2
Agenda
●   Introduction
●   Connector 1.6 themes
    ●   Ease of Development (EoD) features
    ●   Generic Work Context
    ●   Security Inflow
    ●   Miscellaneous improvements
●   Resources and Summary
●   Q&A


                     Sun Confidential: Internal Only   3
Agenda
• Introduction
• Connector 1.6 themes
  •   Ease of Development (EoD) features
  •   Generic Work Context
  •   Security Inflow
  •   Miscellaneous improvements
• Resources and Summary
•Q&A


                   Sun Confidential: Internal Only   4
Java EE Connector Architecture
Overview




              Sun Confidential: Internal Only   5
Connector Architecture 1.0
Capabilities
• Outbound communication
   • Mechanism for Java EE components to
      connect to external systems
   • Connection Management: Lifecycle,
      Pooling, Sharing
   • Security Contract
   • Exporting Transaction and Security
      Context to EIS



                 Sun Confidential: Internal Only   6
Connector 1.5 (JSR 112)
Introduction
• Final Release Nov 2003
   • Part of J2EE (Java 2 Enterprise Edition)
      1.4
• Major themes
   • Asynchronous Integration with EISs
      • Enabled bi-directional asynchronous
         interactions with EIS
   • JMS Provider Pluggability



                    Sun Confidential: Internal Only   7
Connector Architecture 1.5
Capabilities
• Lifecycle Management
• Inbound Messaging
   • Mechanism for EIS to call Message
      Endpoints (MDBs)
   • Import transaction context from EIS
• Work Management




                 Sun Confidential: Internal Only   8
Connector 1.6 Specification
Introduction
• Work done by the expert group of JSR
    322
• Part of Java EE 6 Umbrella
    specification
• Final release on December 2009
• Reference implementation : GlassFish
    v3


               Sun Confidential: Internal Only   9
Connector 1.6 Specification
Major Themes
• Driven by community and Connector
   EG feedback
• Themes
   • Generic Work Context mechanism
   • Security Context Inflow during Message
      Delivery and Work Submission
   • Ease of Development (EoD)
   • Misc. improvements to the specification


                  Sun Confidential: Internal Only   10
Agenda
• Introduction
• Connector 1.6 themes
  • Ease of Development (EoD)
     features
  • Generic Work Context
  • Security Inflow
  • Miscellaneous improvements
• Resources and Summary
•Q&A

               Sun Confidential: Internal Only   11
Ease of Development (EoD)
Goal and approach
• Goal
   • to simplify the development of RAs for
       programmers who are either just starting
       with the technology or developing RAs of
       small to medium complexity
• Approach
   • Align with the EoD approach adopted by
       EJB/JPA
      • Make extensive use of Java language annotations
      • Reduce the need for a descriptor (ra.xml), better
          defaults
      • Allow sparse descriptors, mixed-mode development
          etc.
                      Sun Confidential: Internal Only       12
Ease of Development
Metadata annotations
@Connector
  @AuthenticationMechanism
  @SecurityPermission
@ConfigProperty
  Automatic discovery of configuration
   properties
@ConnectionDefinition,
 @ConnectionDefinitions
@Activation
@AdministeredObject
                   Sun Confidential: Internal Only   13
Ease of Development
@Connector sample usage
Optionally provide a ResourceAdapter
 class
    Required only if RA supports inbound,
     requires lifecycle callbacks, access to
     BootstrapContext etc

//A simple resource adapter that does not support transactions
@Connector()
public class MailResourceAdapter implements ResourceAdapter{
    // Define common configuration properties.
    //... other methods
}

                           Sun Confidential: Internal Only       14
Ease of Development
@ConnectionDefinition sample usage

//A simple ManagedConnectionFactory implementation that is part of
//a connection definition, could be defined as follows
@ConnectionDefinition(connectionFactory=CF.class,
    connectionFactoryImpl=CFImpl.class,
    connection=Conn.class,
    connectionImpl=ConnImpl.class)
public class ManagedConnectionFactoryImpl implements
  ManagedConnectionFactory {
    //...
}




                             Sun Confidential: Internal Only         15
Ease of Development
@Activation sample usage

@Activation()
public class MyActivationSpec {
    //Use of Bean Validation annotations to express
    //validation requirements
    @Size(min=5, max=5)
    private int length;
    //... other methods
}




                           Sun Confidential: Internal Only   16
Agenda
Introduction
Connector 1.6 themes
 Ease of Development (EoD) features
 Generic Work Context
 Security Inflow
 Miscellaneous improvements
Resources and Summary
Q&A


                Sun Confidential: Internal Only   17
Generic Work Context
Rationale
• A generic mechanism for the RA to
   propagate other contextual info
   from EIS during message delivery or
   Work submission
   • Examples: Security, Conversational
      Context, Availability/QoS etc
• Enables
   • an application server to support new
      message inflow and delivery schemes
   • provides a richer Contextual Work
      execution environment to the RA
                  Sun Confidential: Internal Only   18
Generic Work Context
Design Model
• RA submits a Work that implements
   WorkContextProvider
• Before calling run on the Work
   instance, WorkManager iterates
   through the Collection of
   WorkContexts provided by the Work
   instance
• Establishes Context based on the
   WorkContext

               Sun Confidential: Internal Only   19
Generic Work Context
WorkContextProvider and WorkContext interface
package javax.resource.spi.work;
public interface WorkContextProvider extends Serializable {
    List<WorkContext> getWorkContexts();
}


package javax.resource.spi.work;
public interface WorkContext extends Serializable {
    String getName();
    String getDescription();
}



                        Sun Confidential: Internal Only       20
Generic Work Context
Context assignment sequence diagram




                  Sun Confidential: Internal Only   21
Generic Work Context
Features
• Compatible with the Connector 1.5
    Work submission and context
    assignment model
• Independent of the Connector Work
    Management contract
• Standardized TransactionContext,
    SecurityContext and HintsContext
• RA can require the AS to support,
    check if the AS supports, and get
    lifecycle notifications during the
    assignment of a WorkContext
                Sun Confidential: Internal Only   22
Generic Work Context
Standardized WorkContexts
public class TransactionContext extends ExecutionContext implements
   WorkContext {

    public String getName(){
         return "TransactionContext";
    }
    ... other methods
}
public abstract class SecurityContext implements WorkContext {

    public String getName(){
         return "SecurityContext";
    }
    .... other SecurityContext related methods
}


                               Sun Confidential: Internal Only        23
Generic Work Context
Sample usage
Scenario
  A business use-case requires that the work
   done by the application components,
   during a message inflow, be
   automatically enlisted as part of the
   imported transaction
Solution
  Use the new TransactionContext to propagate
   transaction information from the EIS to the
   MessageEndpoint as part of the Work
   instance performing the message delivery
                   Sun Confidential: Internal Only   24
Generic Work Context
Sample usage – ResourceAdapter implementation
public class MyResourceAdapterImpl
            implements ResourceAdapter {
    ...
    public void start(BootstrapContext ctx) {
          bootstrapCtx = ctx;
    }
    ...
    {
          WorkManager workManager =
            myRA.bootstrapCtx.getWorkManager();
          workManager.submitWork(new MyWork());
    ...
    }
}

                                Sun Confidential: Internal Only   25
Generic Work Context
Sample usage – Work implementation
public class MyWork implements Work, WorkContextProvider {
    void release(){ ..}
    List<WorkContext> getWorkContexts() {
         TransactionContext txIn = new TransactionContext();
         txIn.setXid(xid);
         List<WorkContext> icList = new ArrayList<WorkContext>();
         icList.add(txIn);
         // Add additional WorkContexts
         return icList;
    }
    void run(){
         // Deliver message to MessageEndpoint;
    }
}



                               Sun Confidential: Internal Only      26
Agenda
• Introduction
• Connector 1.6 themes
  •   Ease of Development (EoD) features
  •   Generic Work Context
  •   Security Inflow
  •   Miscellaneous improvements
• Resources and Summary
•Q&A


                   Sun Confidential: Internal Only   27
Security Inflow
Rationale
• Security inflow context absent in
   Connectors 1.5
• Resource adapters not being able to
   deliver end-to-end application level
   security while
   • executing a task in a Work instance
   • delivering a message to a
      MessageEndpoint



                  Sun Confidential: Internal Only   28
Security Inflow
Goals
• Enable an end-to-end security model
   for Java EE application-EIS
   integration
• Support the execution of a Work
   instance in the context of an
   established identity.
• Support the propagation of Principal
   information from an EIS to a
   MessageEndpoint during message
   inflow
                  Sun Confidential: Internal Only   29
Security Inflow
Design Model
• A standard WorkContext,
   SecurityContext that may be
   provided by the RA while submitting
   a Work for execution
  • AS establishes security context for the
     MessageEndpoint/Work during context
     assignment
• Leverage the work done in JSR 196:
   Java Authentication Service Provider
   Interface for Containers
  • RA uses the various JSR-196 Callbacks to
     establish caller identity
                  Sun Confidential: Internal Only   30
Security Inflow
SecurityContext abstract class
package javax.resource.spi.work;
import javax.security.auth.Subject;
import javax.security.auth.callback.CallbackHandler;
public abstract class SecurityContext
                    implements WorkContext {

    //Establish caller identity through the use of JSR196
      Callbacks
    public abstract void setupSecurityContext(
       CallbackHandler handler,
       Subject executionSubject,
       Subject serviceSubject);
}

                         Sun Confidential: Internal Only    31
Security Inflow
Security Context establishment – sequence
diagram




                   Sun Confidential: Internal Only   32
Security Inflow
Caller Identity inflow scenarios
• Based on whether the Caller identity
   is part of the AS security domain
   • Case 1: RA flows-in an identity in the
      AS’s security policy domain: AS may
      just use the initiating principal from
      the RA as the caller principal
   • Case 2: RA flows-in an identity
      belonging to the EIS’ security domain:
      A translation from one domain to the
      other needs to be performed.

                     Sun Confidential: Internal Only   33
Security Inflow
Security Context establishment – Case 1




                    Sun Confidential: Internal Only   34
Security Inflow
Security Context establishment – Case 2




                    Sun Confidential: Internal Only   35
Agenda
• Introduction
• Connector 1.6 themes
  •   Ease of Development (EoD) features
  •   Generic Work Context
  •   Security Inflow
  •   Miscellaneous improvements
• Resources and Summary
•Q&A


                   Sun Confidential: Internal Only   36
Miscellaneous improvements
Transaction Management
  Specification of Transaction Support Level
   at Runtime
Work Management
  Distributed Work Processing
  HintsContext
Message Inflow
  createMessageEndpoint timeouts
  Retryable exceptions


                  Sun Confidential: Internal Only   37
Miscellaneous improvements
• Bean Validation integration (JSR 303)
• Standalone Connector Environment
• Configuration Property processing
  • range specification through JSR 303
  • dynamic reconfiguration and
      confidential params support
• Classloading requirements
  • clarified scenarios where deployed
      standalone RARs must be made visible
      to applications

                 Sun Confidential: Internal Only   38
Demo !

• Demonstration: mail-connector
   sample
  • Showcase the ease of development
     features and security work context
     capabilities.
  • Compare the same resource adapter
     developed in Connector 1.5 and 1.6
  • Deploy on Java EE 6 RI (Project
     GlassFish v3)


                Sun Confidential: Internal Only   39
Agenda
• Introduction
• Connector 1.6 themes
  •   Ease of Development (EoD) features
  •   Generic Work Context
  •   Security Inflow
  •   Miscellaneous improvements
• Resources and Summary
•Q&A


                   Sun Confidential: Internal Only   40
Resources – To learn more & get
started
• JSR 322 page
    http://jcp.org/en/jsr/detail?id=322
  • Download the specification and send
     comments to
     jsr-322-comments@jcp.org
• Reference implementation at
   http://GlassFish.org
  • Download and try GlassFish v3 – Java
      EE 6 release
  • Try Connector 1.6 samples as part of
      GlassFish v3 and build new 1.6
      resource adapters
                 Sun Confidential: Internal Only   41
Summary

• Part of Java EE 6 and reference
   implementation available through
   GlassFish v3
• Simplifies resource adapter
   development
• Adds powerful new capabilities to
   assign contexts during Work
   execution and Message delivery
• Enhances enterprise application
   integration capabilities in Java EE 6
                Sun Confidential: Internal Only   42
Agenda
• Introduction
• Connector 1.6 themes
  •   Generic Work Context
  •   Security Inflow
  •   Ease of Development (EoD) features
  •   Miscellaneous improvements
• Resources and Summary
•Q&A


                   Sun Confidential: Internal Only   43
Thank You




sivakumar.thyagarajan@sun.com
jagadish.ramu@sun.com


                 Sun Confidential: Internal Only   44

Más contenido relacionado

La actualidad más candente

Building microservices sample application
Building microservices sample applicationBuilding microservices sample application
Building microservices sample applicationAnil Allewar
 
Enterprise Persistence in OSGi - Mike Keith, Oracle
Enterprise Persistence in OSGi - Mike Keith, OracleEnterprise Persistence in OSGi - Mike Keith, Oracle
Enterprise Persistence in OSGi - Mike Keith, Oraclemfrancis
 
Security Architecture of the Java platform
Security Architecture of the Java platformSecurity Architecture of the Java platform
Security Architecture of the Java platformMartin Toshev
 
Andy Kennedy - Scottish VMUG April 2016
Andy Kennedy - Scottish VMUG April 2016Andy Kennedy - Scottish VMUG April 2016
Andy Kennedy - Scottish VMUG April 2016Andy Kennedy
 
OTN Developer Days - Java EE 6
OTN Developer Days - Java EE 6OTN Developer Days - Java EE 6
OTN Developer Days - Java EE 6glassfish
 
Cloud native java workshop
Cloud native java workshopCloud native java workshop
Cloud native java workshopJamie Coleman
 
.NET Core, ASP.NET Core Course, Session 5
.NET Core, ASP.NET Core Course, Session 5.NET Core, ASP.NET Core Course, Session 5
.NET Core, ASP.NET Core Course, Session 5aminmesbahi
 
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio TavillaLorenzo Carnevale
 
What's New in the JVM in Java 8?
What's New in the JVM in Java 8?What's New in the JVM in Java 8?
What's New in the JVM in Java 8?Azul Systems Inc.
 
Continuous Integration - Live Static Analysis with Puma Scan
Continuous Integration - Live Static Analysis with Puma ScanContinuous Integration - Live Static Analysis with Puma Scan
Continuous Integration - Live Static Analysis with Puma ScanPuma Security, LLC
 
.NET Core, ASP.NET Core Course, Session 6
.NET Core, ASP.NET Core Course, Session 6.NET Core, ASP.NET Core Course, Session 6
.NET Core, ASP.NET Core Course, Session 6aminmesbahi
 
MyFaces CODI v0.9.0 News
MyFaces CODI v0.9.0 NewsMyFaces CODI v0.9.0 News
MyFaces CODI v0.9.0 Newsos890
 
Security Аrchitecture of Тhe Java Platform
Security Аrchitecture of Тhe Java PlatformSecurity Аrchitecture of Тhe Java Platform
Security Аrchitecture of Тhe Java PlatformMartin Toshev
 
Oracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessOracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessEd Burns
 
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...VMware Tanzu
 

La actualidad más candente (20)

Building microservices sample application
Building microservices sample applicationBuilding microservices sample application
Building microservices sample application
 
Java on Azure
Java on AzureJava on Azure
Java on Azure
 
Enterprise Persistence in OSGi - Mike Keith, Oracle
Enterprise Persistence in OSGi - Mike Keith, OracleEnterprise Persistence in OSGi - Mike Keith, Oracle
Enterprise Persistence in OSGi - Mike Keith, Oracle
 
Security Architecture of the Java platform
Security Architecture of the Java platformSecurity Architecture of the Java platform
Security Architecture of the Java platform
 
Andy Kennedy - Scottish VMUG April 2016
Andy Kennedy - Scottish VMUG April 2016Andy Kennedy - Scottish VMUG April 2016
Andy Kennedy - Scottish VMUG April 2016
 
OTN Developer Days - Java EE 6
OTN Developer Days - Java EE 6OTN Developer Days - Java EE 6
OTN Developer Days - Java EE 6
 
Cloud native java workshop
Cloud native java workshopCloud native java workshop
Cloud native java workshop
 
Angularj2.0
Angularj2.0Angularj2.0
Angularj2.0
 
Maven
MavenMaven
Maven
 
.NET Core, ASP.NET Core Course, Session 5
.NET Core, ASP.NET Core Course, Session 5.NET Core, ASP.NET Core Course, Session 5
.NET Core, ASP.NET Core Course, Session 5
 
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
 
Servlet programming
Servlet programmingServlet programming
Servlet programming
 
What's New in the JVM in Java 8?
What's New in the JVM in Java 8?What's New in the JVM in Java 8?
What's New in the JVM in Java 8?
 
Continuous Integration - Live Static Analysis with Puma Scan
Continuous Integration - Live Static Analysis with Puma ScanContinuous Integration - Live Static Analysis with Puma Scan
Continuous Integration - Live Static Analysis with Puma Scan
 
.NET Core, ASP.NET Core Course, Session 6
.NET Core, ASP.NET Core Course, Session 6.NET Core, ASP.NET Core Course, Session 6
.NET Core, ASP.NET Core Course, Session 6
 
MyFaces CODI v0.9.0 News
MyFaces CODI v0.9.0 NewsMyFaces CODI v0.9.0 News
MyFaces CODI v0.9.0 News
 
Security Аrchitecture of Тhe Java Platform
Security Аrchitecture of Тhe Java PlatformSecurity Аrchitecture of Тhe Java Platform
Security Аrchitecture of Тhe Java Platform
 
Oracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessOracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with Less
 
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
 
Servlet programming
Servlet programmingServlet programming
Servlet programming
 

Destacado

Ikas komunitateak haurreskolak
Ikas komunitateak haurreskolakIkas komunitateak haurreskolak
Ikas komunitateak haurreskolaklekeitioeskola
 
New Wine Fundamentals: Introduction
New Wine Fundamentals: IntroductionNew Wine Fundamentals: Introduction
New Wine Fundamentals: Introductiontimhanni
 
Pre production power pont`
Pre production power pont`Pre production power pont`
Pre production power pont`ecsmedia
 
Sosiaalinen media ammatillisessa koulutuksessa
Sosiaalinen media ammatillisessa koulutuksessaSosiaalinen media ammatillisessa koulutuksessa
Sosiaalinen media ammatillisessa koulutuksessaHannu Kuusela
 
Viivakoodit_luento_ tkk260112_KariHänninen
Viivakoodit_luento_ tkk260112_KariHänninenViivakoodit_luento_ tkk260112_KariHänninen
Viivakoodit_luento_ tkk260112_KariHänninenFinn-ID Oy
 
Group 5 Power Point Presentation
Group 5 Power Point PresentationGroup 5 Power Point Presentation
Group 5 Power Point Presentationopalshine
 
Presentation1
Presentation1Presentation1
Presentation1ecsmedia
 
Unit 3 and unit 4
Unit 3 and unit 4Unit 3 and unit 4
Unit 3 and unit 4paulapantxo
 
20090416 Allami Tamogatas Es Kozbeszerzes
20090416 Allami Tamogatas Es Kozbeszerzes20090416 Allami Tamogatas Es Kozbeszerzes
20090416 Allami Tamogatas Es Kozbeszerzesgaalnorb
 
Oferta mozliwosci extomusic event agency 2010 iii
Oferta mozliwosci extomusic event agency 2010 iiiOferta mozliwosci extomusic event agency 2010 iii
Oferta mozliwosci extomusic event agency 2010 iiiextomusic
 
Finn-ID: case Valio & RFID
Finn-ID: case Valio & RFIDFinn-ID: case Valio & RFID
Finn-ID: case Valio & RFIDFinn-ID Oy
 
Prehispanica
PrehispanicaPrehispanica
Prehispanicaferpomu
 

Destacado (20)

Ikas komunitateak haurreskolak
Ikas komunitateak haurreskolakIkas komunitateak haurreskolak
Ikas komunitateak haurreskolak
 
New Wine Fundamentals: Introduction
New Wine Fundamentals: IntroductionNew Wine Fundamentals: Introduction
New Wine Fundamentals: Introduction
 
Fallas
FallasFallas
Fallas
 
Pre production power pont`
Pre production power pont`Pre production power pont`
Pre production power pont`
 
Sosiaalinen media ammatillisessa koulutuksessa
Sosiaalinen media ammatillisessa koulutuksessaSosiaalinen media ammatillisessa koulutuksessa
Sosiaalinen media ammatillisessa koulutuksessa
 
Case Capriccio Pizzaria
Case Capriccio PizzariaCase Capriccio Pizzaria
Case Capriccio Pizzaria
 
Viivakoodit_luento_ tkk260112_KariHänninen
Viivakoodit_luento_ tkk260112_KariHänninenViivakoodit_luento_ tkk260112_KariHänninen
Viivakoodit_luento_ tkk260112_KariHänninen
 
Group 5 Power Point Presentation
Group 5 Power Point PresentationGroup 5 Power Point Presentation
Group 5 Power Point Presentation
 
An Archive Tour of Stornoway
An Archive Tour of StornowayAn Archive Tour of Stornoway
An Archive Tour of Stornoway
 
Кашинка
КашинкаКашинка
Кашинка
 
Presentation1
Presentation1Presentation1
Presentation1
 
Unit 3 and unit 4
Unit 3 and unit 4Unit 3 and unit 4
Unit 3 and unit 4
 
Sds valdrè zecchi bg
Sds valdrè zecchi bgSds valdrè zecchi bg
Sds valdrè zecchi bg
 
20090416 Allami Tamogatas Es Kozbeszerzes
20090416 Allami Tamogatas Es Kozbeszerzes20090416 Allami Tamogatas Es Kozbeszerzes
20090416 Allami Tamogatas Es Kozbeszerzes
 
Exodus media
Exodus mediaExodus media
Exodus media
 
Oferta mozliwosci extomusic event agency 2010 iii
Oferta mozliwosci extomusic event agency 2010 iiiOferta mozliwosci extomusic event agency 2010 iii
Oferta mozliwosci extomusic event agency 2010 iii
 
K書高手
K書高手K書高手
K書高手
 
Otter ppt
Otter pptOtter ppt
Otter ppt
 
Finn-ID: case Valio & RFID
Finn-ID: case Valio & RFIDFinn-ID: case Valio & RFID
Finn-ID: case Valio & RFID
 
Prehispanica
PrehispanicaPrehispanica
Prehispanica
 

Similar a Connector Architecture 1.6 - Tech-days 2010, Hyderabad.

Java EE Connector Architecture 1.6 (JSR 322) Technology
Java EE Connector Architecture 1.6 (JSR 322) TechnologyJava EE Connector Architecture 1.6 (JSR 322) Technology
Java EE Connector Architecture 1.6 (JSR 322) TechnologySivakumar Thyagarajan
 
Framework adoption for java enterprise application development
Framework adoption for java enterprise application developmentFramework adoption for java enterprise application development
Framework adoption for java enterprise application developmentClarence Ho
 
How to build a cloud adapter
How to build a cloud adapterHow to build a cloud adapter
How to build a cloud adapterMaarten Smeets
 
Whats Next for JCA?
Whats Next for JCA?Whats Next for JCA?
Whats Next for JCA?Fred Rowe
 
Migrate to the Latest WSO2 Micro Integrator to Unlock All-new Features
Migrate to the Latest WSO2 Micro Integrator to Unlock All-new FeaturesMigrate to the Latest WSO2 Micro Integrator to Unlock All-new Features
Migrate to the Latest WSO2 Micro Integrator to Unlock All-new FeaturesWSO2
 
Spring intro classes-in-mumbai
Spring intro classes-in-mumbaiSpring intro classes-in-mumbai
Spring intro classes-in-mumbaivibrantuser
 
Introduction to Eclipse Microprofile
Introduction to Eclipse MicroprofileIntroduction to Eclipse Microprofile
Introduction to Eclipse MicroprofileRed Hat Developers
 
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.Geir Høydalsvik
 
Spring boot
Spring bootSpring boot
Spring bootsdeeg
 
Testing Rest with Spring by Kostiantyn Baranov (Senior Software Engineer, Gl...
Testing Rest with Spring  by Kostiantyn Baranov (Senior Software Engineer, Gl...Testing Rest with Spring  by Kostiantyn Baranov (Senior Software Engineer, Gl...
Testing Rest with Spring by Kostiantyn Baranov (Senior Software Engineer, Gl...GlobalLogic Ukraine
 
Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?
Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?
Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?Jon Petter Hjulstad
 
SOLID & IoC Principles
SOLID & IoC PrinciplesSOLID & IoC Principles
SOLID & IoC PrinciplesPavlo Hodysh
 
Jakarta Concurrency: Present and Future
Jakarta Concurrency: Present and FutureJakarta Concurrency: Present and Future
Jakarta Concurrency: Present and FuturePayara
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSAOracle Korea
 

Similar a Connector Architecture 1.6 - Tech-days 2010, Hyderabad. (20)

Java EE Connector Architecture 1.6 (JSR 322) Technology
Java EE Connector Architecture 1.6 (JSR 322) TechnologyJava EE Connector Architecture 1.6 (JSR 322) Technology
Java EE Connector Architecture 1.6 (JSR 322) Technology
 
Framework adoption for java enterprise application development
Framework adoption for java enterprise application developmentFramework adoption for java enterprise application development
Framework adoption for java enterprise application development
 
How to build a Oracle cloud adapter SOA, Integration & API's
How to build a Oracle cloud adapter  SOA, Integration & API'sHow to build a Oracle cloud adapter  SOA, Integration & API's
How to build a Oracle cloud adapter SOA, Integration & API's
 
How to build a cloud adapter
How to build a cloud adapterHow to build a cloud adapter
How to build a cloud adapter
 
Wipro-Projects
Wipro-ProjectsWipro-Projects
Wipro-Projects
 
Whats Next for JCA?
Whats Next for JCA?Whats Next for JCA?
Whats Next for JCA?
 
Migrate to the Latest WSO2 Micro Integrator to Unlock All-new Features
Migrate to the Latest WSO2 Micro Integrator to Unlock All-new FeaturesMigrate to the Latest WSO2 Micro Integrator to Unlock All-new Features
Migrate to the Latest WSO2 Micro Integrator to Unlock All-new Features
 
Spring intro classes-in-mumbai
Spring intro classes-in-mumbaiSpring intro classes-in-mumbai
Spring intro classes-in-mumbai
 
Introduction to Eclipse Microprofile
Introduction to Eclipse MicroprofileIntroduction to Eclipse Microprofile
Introduction to Eclipse Microprofile
 
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
 
Spring boot
Spring bootSpring boot
Spring boot
 
Testing Rest with Spring by Kostiantyn Baranov (Senior Software Engineer, Gl...
Testing Rest with Spring  by Kostiantyn Baranov (Senior Software Engineer, Gl...Testing Rest with Spring  by Kostiantyn Baranov (Senior Software Engineer, Gl...
Testing Rest with Spring by Kostiantyn Baranov (Senior Software Engineer, Gl...
 
Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?
Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?
Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?
 
SOLID & IoC Principles
SOLID & IoC PrinciplesSOLID & IoC Principles
SOLID & IoC Principles
 
Jakarta Concurrency: Present and Future
Jakarta Concurrency: Present and FutureJakarta Concurrency: Present and Future
Jakarta Concurrency: Present and Future
 
Apache DeltaSpike: The CDI Toolbox
Apache DeltaSpike: The CDI ToolboxApache DeltaSpike: The CDI Toolbox
Apache DeltaSpike: The CDI Toolbox
 
Apache DeltaSpike the CDI toolbox
Apache DeltaSpike the CDI toolboxApache DeltaSpike the CDI toolbox
Apache DeltaSpike the CDI toolbox
 
Spring Test Framework
Spring Test FrameworkSpring Test Framework
Spring Test Framework
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSA
 
Java Spring
Java SpringJava Spring
Java Spring
 

Más de Jagadish Prasath

Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014Jagadish Prasath
 
JAX RS 2.0 - OTN Bangalore 2013
JAX RS 2.0 - OTN Bangalore 2013JAX RS 2.0 - OTN Bangalore 2013
JAX RS 2.0 - OTN Bangalore 2013Jagadish Prasath
 
What's new in JMS 2.0 - OTN Bangalore 2013
What's new in JMS 2.0 - OTN Bangalore 2013What's new in JMS 2.0 - OTN Bangalore 2013
What's new in JMS 2.0 - OTN Bangalore 2013Jagadish Prasath
 
Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Jagadish Prasath
 
PaaS enabling Java EE applications through service meta-data and policies - J...
PaaS enabling Java EE applications through service meta-data and policies - J...PaaS enabling Java EE applications through service meta-data and policies - J...
PaaS enabling Java EE applications through service meta-data and policies - J...Jagadish Prasath
 
PaaSing a Java EE Application
PaaSing a Java EE ApplicationPaaSing a Java EE Application
PaaSing a Java EE ApplicationJagadish Prasath
 
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012Jagadish Prasath
 
Java EE 6 - Deep Dive - Indic Threads, Pune - 2010
Java EE 6 - Deep Dive - Indic Threads, Pune - 2010Java EE 6 - Deep Dive - Indic Threads, Pune - 2010
Java EE 6 - Deep Dive - Indic Threads, Pune - 2010Jagadish Prasath
 

Más de Jagadish Prasath (8)

Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014
 
JAX RS 2.0 - OTN Bangalore 2013
JAX RS 2.0 - OTN Bangalore 2013JAX RS 2.0 - OTN Bangalore 2013
JAX RS 2.0 - OTN Bangalore 2013
 
What's new in JMS 2.0 - OTN Bangalore 2013
What's new in JMS 2.0 - OTN Bangalore 2013What's new in JMS 2.0 - OTN Bangalore 2013
What's new in JMS 2.0 - OTN Bangalore 2013
 
Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012
 
PaaS enabling Java EE applications through service meta-data and policies - J...
PaaS enabling Java EE applications through service meta-data and policies - J...PaaS enabling Java EE applications through service meta-data and policies - J...
PaaS enabling Java EE applications through service meta-data and policies - J...
 
PaaSing a Java EE Application
PaaSing a Java EE ApplicationPaaSing a Java EE Application
PaaSing a Java EE Application
 
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
 
Java EE 6 - Deep Dive - Indic Threads, Pune - 2010
Java EE 6 - Deep Dive - Indic Threads, Pune - 2010Java EE 6 - Deep Dive - Indic Threads, Pune - 2010
Java EE 6 - Deep Dive - Indic Threads, Pune - 2010
 

Último

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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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
 
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
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
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
 
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
 
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
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 

Último (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
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
 
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...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
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...
 
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
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

Connector Architecture 1.6 - Tech-days 2010, Hyderabad.

  • 1. JavaT M EE Connector Architecture 1.6 Technology (JSR 322) ●Presenter’s Name Sivakumar Thyagarajan –Presenter’s Title Jagadish Ramu ●Presenter’s Company 1
  • 2. Presentation Goal Learn about the new features in the JavaTM EE Connector Architecture 1.6 technology Sun Confidential: Internal Only 2
  • 3. Agenda ● Introduction ● Connector 1.6 themes ● Ease of Development (EoD) features ● Generic Work Context ● Security Inflow ● Miscellaneous improvements ● Resources and Summary ● Q&A Sun Confidential: Internal Only 3
  • 4. Agenda • Introduction • Connector 1.6 themes • Ease of Development (EoD) features • Generic Work Context • Security Inflow • Miscellaneous improvements • Resources and Summary •Q&A Sun Confidential: Internal Only 4
  • 5. Java EE Connector Architecture Overview Sun Confidential: Internal Only 5
  • 6. Connector Architecture 1.0 Capabilities • Outbound communication • Mechanism for Java EE components to connect to external systems • Connection Management: Lifecycle, Pooling, Sharing • Security Contract • Exporting Transaction and Security Context to EIS Sun Confidential: Internal Only 6
  • 7. Connector 1.5 (JSR 112) Introduction • Final Release Nov 2003 • Part of J2EE (Java 2 Enterprise Edition) 1.4 • Major themes • Asynchronous Integration with EISs • Enabled bi-directional asynchronous interactions with EIS • JMS Provider Pluggability Sun Confidential: Internal Only 7
  • 8. Connector Architecture 1.5 Capabilities • Lifecycle Management • Inbound Messaging • Mechanism for EIS to call Message Endpoints (MDBs) • Import transaction context from EIS • Work Management Sun Confidential: Internal Only 8
  • 9. Connector 1.6 Specification Introduction • Work done by the expert group of JSR 322 • Part of Java EE 6 Umbrella specification • Final release on December 2009 • Reference implementation : GlassFish v3 Sun Confidential: Internal Only 9
  • 10. Connector 1.6 Specification Major Themes • Driven by community and Connector EG feedback • Themes • Generic Work Context mechanism • Security Context Inflow during Message Delivery and Work Submission • Ease of Development (EoD) • Misc. improvements to the specification Sun Confidential: Internal Only 10
  • 11. Agenda • Introduction • Connector 1.6 themes • Ease of Development (EoD) features • Generic Work Context • Security Inflow • Miscellaneous improvements • Resources and Summary •Q&A Sun Confidential: Internal Only 11
  • 12. Ease of Development (EoD) Goal and approach • Goal • to simplify the development of RAs for programmers who are either just starting with the technology or developing RAs of small to medium complexity • Approach • Align with the EoD approach adopted by EJB/JPA • Make extensive use of Java language annotations • Reduce the need for a descriptor (ra.xml), better defaults • Allow sparse descriptors, mixed-mode development etc. Sun Confidential: Internal Only 12
  • 13. Ease of Development Metadata annotations @Connector @AuthenticationMechanism @SecurityPermission @ConfigProperty Automatic discovery of configuration properties @ConnectionDefinition, @ConnectionDefinitions @Activation @AdministeredObject Sun Confidential: Internal Only 13
  • 14. Ease of Development @Connector sample usage Optionally provide a ResourceAdapter class Required only if RA supports inbound, requires lifecycle callbacks, access to BootstrapContext etc //A simple resource adapter that does not support transactions @Connector() public class MailResourceAdapter implements ResourceAdapter{ // Define common configuration properties. //... other methods } Sun Confidential: Internal Only 14
  • 15. Ease of Development @ConnectionDefinition sample usage //A simple ManagedConnectionFactory implementation that is part of //a connection definition, could be defined as follows @ConnectionDefinition(connectionFactory=CF.class, connectionFactoryImpl=CFImpl.class, connection=Conn.class, connectionImpl=ConnImpl.class) public class ManagedConnectionFactoryImpl implements ManagedConnectionFactory { //... } Sun Confidential: Internal Only 15
  • 16. Ease of Development @Activation sample usage @Activation() public class MyActivationSpec { //Use of Bean Validation annotations to express //validation requirements @Size(min=5, max=5) private int length; //... other methods } Sun Confidential: Internal Only 16
  • 17. Agenda Introduction Connector 1.6 themes Ease of Development (EoD) features Generic Work Context Security Inflow Miscellaneous improvements Resources and Summary Q&A Sun Confidential: Internal Only 17
  • 18. Generic Work Context Rationale • A generic mechanism for the RA to propagate other contextual info from EIS during message delivery or Work submission • Examples: Security, Conversational Context, Availability/QoS etc • Enables • an application server to support new message inflow and delivery schemes • provides a richer Contextual Work execution environment to the RA Sun Confidential: Internal Only 18
  • 19. Generic Work Context Design Model • RA submits a Work that implements WorkContextProvider • Before calling run on the Work instance, WorkManager iterates through the Collection of WorkContexts provided by the Work instance • Establishes Context based on the WorkContext Sun Confidential: Internal Only 19
  • 20. Generic Work Context WorkContextProvider and WorkContext interface package javax.resource.spi.work; public interface WorkContextProvider extends Serializable { List<WorkContext> getWorkContexts(); } package javax.resource.spi.work; public interface WorkContext extends Serializable { String getName(); String getDescription(); } Sun Confidential: Internal Only 20
  • 21. Generic Work Context Context assignment sequence diagram Sun Confidential: Internal Only 21
  • 22. Generic Work Context Features • Compatible with the Connector 1.5 Work submission and context assignment model • Independent of the Connector Work Management contract • Standardized TransactionContext, SecurityContext and HintsContext • RA can require the AS to support, check if the AS supports, and get lifecycle notifications during the assignment of a WorkContext Sun Confidential: Internal Only 22
  • 23. Generic Work Context Standardized WorkContexts public class TransactionContext extends ExecutionContext implements WorkContext { public String getName(){ return "TransactionContext"; } ... other methods } public abstract class SecurityContext implements WorkContext { public String getName(){ return "SecurityContext"; } .... other SecurityContext related methods } Sun Confidential: Internal Only 23
  • 24. Generic Work Context Sample usage Scenario A business use-case requires that the work done by the application components, during a message inflow, be automatically enlisted as part of the imported transaction Solution Use the new TransactionContext to propagate transaction information from the EIS to the MessageEndpoint as part of the Work instance performing the message delivery Sun Confidential: Internal Only 24
  • 25. Generic Work Context Sample usage – ResourceAdapter implementation public class MyResourceAdapterImpl implements ResourceAdapter { ... public void start(BootstrapContext ctx) { bootstrapCtx = ctx; } ... { WorkManager workManager = myRA.bootstrapCtx.getWorkManager(); workManager.submitWork(new MyWork()); ... } } Sun Confidential: Internal Only 25
  • 26. Generic Work Context Sample usage – Work implementation public class MyWork implements Work, WorkContextProvider { void release(){ ..} List<WorkContext> getWorkContexts() { TransactionContext txIn = new TransactionContext(); txIn.setXid(xid); List<WorkContext> icList = new ArrayList<WorkContext>(); icList.add(txIn); // Add additional WorkContexts return icList; } void run(){ // Deliver message to MessageEndpoint; } } Sun Confidential: Internal Only 26
  • 27. Agenda • Introduction • Connector 1.6 themes • Ease of Development (EoD) features • Generic Work Context • Security Inflow • Miscellaneous improvements • Resources and Summary •Q&A Sun Confidential: Internal Only 27
  • 28. Security Inflow Rationale • Security inflow context absent in Connectors 1.5 • Resource adapters not being able to deliver end-to-end application level security while • executing a task in a Work instance • delivering a message to a MessageEndpoint Sun Confidential: Internal Only 28
  • 29. Security Inflow Goals • Enable an end-to-end security model for Java EE application-EIS integration • Support the execution of a Work instance in the context of an established identity. • Support the propagation of Principal information from an EIS to a MessageEndpoint during message inflow Sun Confidential: Internal Only 29
  • 30. Security Inflow Design Model • A standard WorkContext, SecurityContext that may be provided by the RA while submitting a Work for execution • AS establishes security context for the MessageEndpoint/Work during context assignment • Leverage the work done in JSR 196: Java Authentication Service Provider Interface for Containers • RA uses the various JSR-196 Callbacks to establish caller identity Sun Confidential: Internal Only 30
  • 31. Security Inflow SecurityContext abstract class package javax.resource.spi.work; import javax.security.auth.Subject; import javax.security.auth.callback.CallbackHandler; public abstract class SecurityContext implements WorkContext { //Establish caller identity through the use of JSR196 Callbacks public abstract void setupSecurityContext( CallbackHandler handler, Subject executionSubject, Subject serviceSubject); } Sun Confidential: Internal Only 31
  • 32. Security Inflow Security Context establishment – sequence diagram Sun Confidential: Internal Only 32
  • 33. Security Inflow Caller Identity inflow scenarios • Based on whether the Caller identity is part of the AS security domain • Case 1: RA flows-in an identity in the AS’s security policy domain: AS may just use the initiating principal from the RA as the caller principal • Case 2: RA flows-in an identity belonging to the EIS’ security domain: A translation from one domain to the other needs to be performed. Sun Confidential: Internal Only 33
  • 34. Security Inflow Security Context establishment – Case 1 Sun Confidential: Internal Only 34
  • 35. Security Inflow Security Context establishment – Case 2 Sun Confidential: Internal Only 35
  • 36. Agenda • Introduction • Connector 1.6 themes • Ease of Development (EoD) features • Generic Work Context • Security Inflow • Miscellaneous improvements • Resources and Summary •Q&A Sun Confidential: Internal Only 36
  • 37. Miscellaneous improvements Transaction Management Specification of Transaction Support Level at Runtime Work Management Distributed Work Processing HintsContext Message Inflow createMessageEndpoint timeouts Retryable exceptions Sun Confidential: Internal Only 37
  • 38. Miscellaneous improvements • Bean Validation integration (JSR 303) • Standalone Connector Environment • Configuration Property processing • range specification through JSR 303 • dynamic reconfiguration and confidential params support • Classloading requirements • clarified scenarios where deployed standalone RARs must be made visible to applications Sun Confidential: Internal Only 38
  • 39. Demo ! • Demonstration: mail-connector sample • Showcase the ease of development features and security work context capabilities. • Compare the same resource adapter developed in Connector 1.5 and 1.6 • Deploy on Java EE 6 RI (Project GlassFish v3) Sun Confidential: Internal Only 39
  • 40. Agenda • Introduction • Connector 1.6 themes • Ease of Development (EoD) features • Generic Work Context • Security Inflow • Miscellaneous improvements • Resources and Summary •Q&A Sun Confidential: Internal Only 40
  • 41. Resources – To learn more & get started • JSR 322 page http://jcp.org/en/jsr/detail?id=322 • Download the specification and send comments to jsr-322-comments@jcp.org • Reference implementation at http://GlassFish.org • Download and try GlassFish v3 – Java EE 6 release • Try Connector 1.6 samples as part of GlassFish v3 and build new 1.6 resource adapters Sun Confidential: Internal Only 41
  • 42. Summary • Part of Java EE 6 and reference implementation available through GlassFish v3 • Simplifies resource adapter development • Adds powerful new capabilities to assign contexts during Work execution and Message delivery • Enhances enterprise application integration capabilities in Java EE 6 Sun Confidential: Internal Only 42
  • 43. Agenda • Introduction • Connector 1.6 themes • Generic Work Context • Security Inflow • Ease of Development (EoD) features • Miscellaneous improvements • Resources and Summary •Q&A Sun Confidential: Internal Only 43