Tuesday Dec 22, 2009

Java EE 6 and GlassFish v3 virtual seminar replays available -- Connectors 1.6 overview talk

As you might have seen in the recent Aquarium post, the session replays and slide-sets of the talks in the Java EE 6 and GlassFish v3 virtual seminar is now available (registration required for access. registration is free). The replay for the technical overview session on Connectors 1.6 (in slide-cast form) is also made available as part of this set. This talk highlights the new features, discussed in an earlier post, in Java EE Connector Architecture 1.6 (JSR 322).

The slides of the JavaOne talk on Connectors 1.6 are also now available at slideshare and embedded below.

Monday Jun 01, 2009

Connectors 1.6 Proposed Final Draft and the availability of Java EE SDK Preview

The JSR 322 expert group released the proposed final draft (PFD) of the Java EE Connectors 1.6 specification during mid-Febraury 2009.

We had covered the features introduced in the earlier milestones of the specification in this blog (see entries on early draft and public review).
Some of the changes and new features introduced in the PFD draft are:
  • Config property attributes: New attributes (See Section 5.3.7.6) have been introduced to configuration properties to indicate if they
    • support dynamic updates: to indicate to the application server that dynamically reconfiguring the config property is supported by the resource adapter
    • are confidential: to indicate that a particular configuration property is confidential, so that deployment/runtime tools could use special visual aids denoting confidentiality and not expose the values as plain text.
  • The original InflowContext interfaces have been renamed to WorkContext or its equivalent, as the interfaces were not relevant only during Message Inflow but during all Work processing. (See Ch.11 and 16)
  • Robust handling of error conditions during MessageEndpoint creation and Work submission: Enhanced the MessageEndpoint creation APIs to support timeouts and also enhanced the exceptions thrown by the MessageEndpointFactory and WorkManager to handle retryable scenarios. (See 13.3 and 10.3.3 for more details)
  • Provide guidelines on the relationship of the Connector Architecture and other integration technologies such as Java Business Integration (JBI) and Service Component Architecture (SCA). (See Section 1.5)
  • Updated the ease of development annotations and contracts, that were introduced  in the Public Review draft of the specification, to address feedback received.  (See the change history, Section I.1, for a list of changes and Ch. 18 for more details)
  • Misc updates and clarifications to the Connection and Transaction Management chapters (see the change history, Section I.1 for a complete list of changes).
As always, we would like your feedback on the draft through the JSR comments alias jsr322-comments@jcp.org or in the comments section of this blog entry. Since this is the last milestone of the JSR before going final, please try to spend some time reading  the new features introduced in this version of the specification, try out the reference implementation (details below) and provide your review comments and feedback through the alias above.

As you might know, the reference implementation for the Connectors specifications and other components specifications in the Java EE 6 platform are developed in the GlassFish community. Now, with the release of the Java EE 6 SDK early access in JavaOne, most of the features in the PFD draft are now available for you to try out.

Jagadish, the lead of the Connectors technology reference implementation in GlassFish, has blogged recently about how a resource adapter can be built using the new metadata annotations introduced in the spec and demonstrates how the use of the EoD features could reduce the need for redundant boilerplate code and eliminate/reduce the need for XML deployment descriptors. Please also go through the Connectors 1.6 mail-connector sample that he has made available through the Java EE 6 Preview SDK to understand how these annotations could be used while developing a resource adapter.

Friday Dec 05, 2008

Connectors 1.6 Public Review available

The JSR 322 expert group has been working hard on defining new features, addressing comments from the public and improving the early draft. We are happy to announce that the Public Review Draft document is now available off the JSR page in JCP. This blog introduces some of the new and noteworthy features that are part of this draft.

Given the short time between Public Draft and Proposed Final Draft, it would be great if you could read the draft and send your feedback to the expert group as soon as you can.

As mentioned above, this draft also addresses early draft related comments that we received from the community and so we encourage you to help us continue that effort by sending your review comments to the JSR comments alias jsr-322-comments@jcp.org or in this blog.

Some of the major new features in the public review draft are:
  • Ease of Development (EoD) through use of metadata annotations, optional deployment descriptor(ra.xml),better defaults, optional configuration etc.
  • Integration with JSR 303: Bean Validation specification to handle validation requirements of configuration properties in various resource adapter JavaBeans.
  • Support for Distributed Work Processing and Work processing Hints
A detailed changeset is listed in Appendix. I.1 of the specification. Please refer to it while reviewing the changes.

Here is a brief overview of the new features:
  • Ease of Development through metadata annotations: Java EE 5 brought in a huge change in the enterprise application programming model through the introduction of EoD enhancements such as the use of metadata annotations, better defaults, removal of boilerplate code etc. These improvements simplified component development to a great extent while still retaining the richness and the power of the technology.  
Since the Conectors technology was not updated as part of Java EE 5, the ease with which resource adapters can be developed has not improved since J2EE 1.4. However, as Roberto points out, EoD is an ongoing goal in Java EE 6 and improvements are made to the Connectors spec as well.

The spec now defines (in Chapter 18)  a simplified API for development of resource adapters. The goal of the API was to simplify the development of resource adapter implementations for programmers who are just starting with resource adapters, or developing resource adapters of small to medium complexity.Through the introduction of new metadata annotations, the specification now reduces or completely eliminates the need to deal with a deployment descriptor(ra.xml) in many cases.
The new annotations defined in the spec are:
  • @Connector: specify that the JavaBean is a resource adapter JavaBean. Used to provide metadata about the capabilities provided by the resource adapter. It is optional to provide a JavaBean implementing the ResourceAdapter interface. [However, there are scenarios where a resource adapter may want to provide an implementation -- see Section 18.4.1]
  • @ConfigProperty: specifies to the application server, that the decorated property is a configuration property for that JavaBean. Configuration Properties are now auto-discoverable by the application server and hence need not specified using the deployment descriptor.
  • @ConnectionDefinition(s): defines a set of connection interfaces and classes pertaining to a particular connection type (identical to the role played by the connection-definition element in ra.xml).
  • @Activation: designate a JavaBean as an ActivationSpec JavaBean
  • @AdministeredObject: designates a JavaBean as an administered object.

Through the use of these annotations and other improvements such as the auto-discovery of configuration properties, the use of JSR 303 to express validation constraints etc, we hope resource-adapter development would be radically simplified. Please see Chapter 18 for more information on these annotations and code samples on how then can be used.

[Please note: Metadata annotations and some new usecases (Resource injection, definition of a component naming context (ENC) for resource adapters etc) are still being actively discussed in the Expert group and hence these interfaces must be considered as work-in-progress and may go through changes in the next phases of the specification. -- We would also love to hear from the community on their thoughts on the proposed annotations and EoD capabilities defined so far.]

As the reference implementation is developed, I will follow up with more samples showcasing the use of annotations while building connectors. So, stay tuned.

  • JavaBean Validation: The Bean Validation (JSR 303) specification is "defining a meta-data model and API for JavaBean validation based on annotations, with overrides and extended meta-data through the use of XML validation descriptors." The Connector spec now allows its JavaBeans such as ResourceAdapter, ManagedConnectionFactory, ActivationSpec, AdministeredObject and InteractionSpec to be decorated with the Bean Validation constraint annotations. This now provides the RA developer a richer and standard way of expressing their constraints and also get the configuration of a JavaBean validated prior to use. Please see Section 5.3.7.5 in the spec for more information
  • Distributed Work Processing: In deployment runtimes which span multiple VMs/hosts, it is useful to have Work instances that were submitted by a resource adapter to  a local WorkManager to be distributed  to a different remote WorkManager, for reasons of scaling, performance etc. The specification defines a mechanism to allow such distributed Work processing. See Section 10.3.11 for more information on this
    feature. 
  • Work processing hints: The specification also now enables a resource adapter to pass quality-of-service metadata to the WorkManager during the submission of a Work instance. The WorkManager implementation of the application server may then use the specified hints to control the execution of the Work instance. For those who followed the InflowContext mechanism defined in the Early Draft, the propagation of QoS hints is defined as a standard InflowContext, HintsInflowContxt. See Section 11.7 for more information on this.

Monday Jun 30, 2008

Java EE Connector 1.6 overview - JavaOne BoF presentation slides

Binod and I, along with the expert group of JSR 322, have been working on an update to the Java EE Connectors technology. This update, Java EE Connector Architecture 1.6 is planned to be part of Java EE 6.

We presented an overview of the updates currently being discussed in a BoF session in this year's JavaOne. Thanks to everyone who attended the session and for the interesting discussion during and after the session.

I received a few requests for the slides that we used in BoF 5634, and so I have made them available here (pdf). We are working on producing an early draft of the specification and it should be posted in the JSR home page in a few weeks. So, please stay tuned and let us know your feedback.

About

sivakumart

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today