Epilogue 13 13.1 Beyond JDO 1.0 The first
Epilogue 13 13.1 Beyond JDO 1.0 The first 11 chapters discussed JDO 1.0 in detail. Chapter 12 illustrated how comprehensively the specification is being adopted and implemented by the various JDO vendors. In this final chapter I wish to discuss a few areas where further refinement and extension of JDO can be anticipated in the future. If you wish to contribute further ideas for enhancements or new features, an informal list is maintained by the moderators of the JavaDataObjects discussion forum at Yahoo!Groups (see 13.2.2). 13.1.1 Sequences Sequence objects have been provided by relational database implementations for many years. They provide mechanisms for obtaining a sequence of numbers, and are often used to populate primary key fields in top-level domain objects, e.g. order numbers, invoice numbers, etc. (Some existing RDBMS-based applications use sequences for the construction of internal Object IDs. This functionality is provided in JDO by the use of datastore identity.) JDO does not directly support sequence objects, but positions this as an issue to be solved by the domain object model. In the short term, JDO vendors may provide proprietary extensions by which sequence objects internal to the data store can be accessed. However, it is an area that is likely to be considered for specification as part of a future JDO release. Conceptually, sequences can be used in two ways. Used transactionally, a sequence is associated with the active transaction each time a new value is requested. This ensures that, in the case of transaction rollback, the sequence object will not actually have been altered. Such assurance is imperative when assigning numbers such as check numbers or invoice numbers, where auditors would not accept missing entries in the sequence. This usage does, however, reduce overall concurrency since access to each individual sequence represents a potential bottleneck in the application. Used non-transactionally, sequences do not become associated with transactions. When invoked they yield the next entry in the sequence, but are not affected by subsequent rollback events. This results in significantly higher concurrency, but is only appropriate when the occasional hole in the sequence is acceptable (e.g. for delivery numbers, which are not audited in the same way as invoice or check numbers).
Hint: If you are looking for high quality and reliable webspace provider to host and run your jsp hosting application check Virtualwebstudio jsp web hosting provider