License change to GPL v2
All source code, binaries, documentation and any other deliverables released by OpenSubsystems project is now available under GPL v2 license as well as the OpenSubsystems commercial license. This is a change from the previous licensing conditions when GPL v2 and newer was an applicable open source license.
Open Patterns 1.0beta2
Open Patterns 1.0beta2 is the second public release of the repository of common application functionality patterns. The main focus of this release is to even further simplify steps required to adopt the list data pattern in applications. List data pattern allows accessing large amount of data in relational database in small chunks. It allows retrieving data page by page or directly accessing a specified page. Page represents several data items retrieved and displayed together. The page size is user and system configurable. The list data pattern portion of the Quick Start guide was greatly enhanced to navigate user through implementation of this pattern.
Open Core 1.0rc3
Open Core 1.0rc3 is the new release of our middleware abstraction layer. This release focuses on simplification of the persistence layer implementation in applications using Open Core. Database schema classes were generalized to better support read-only schemas, database operation classes were simplified to remove redundant arguments and database factory classes were generalized to allow operations in any domain.
OpenChronicle 1.0rc3 is the new release of OpenSubsystems tutorial. The documentation and the source code were updated to take into account changes made in the latest release of Open Core.
OpenSubsystems has made available today first public release 1.0beta1 of Open Patterns. Open Patterns is repository of common application functionality patterns such as paged data access enabling retrieval of large amount of data in small chunks; managing relations between generic data objects; managing data order; background task invocation and execution; advanced web user interface elements such as scrollable table mimicking full-featured desktop alternatives, tabbed dialog controls, dialog layout management and advanced dialog controls. Available documentation includes feature overview with brief description of all the included patterns as well as Quick Start guide to help developers adopt the provided patterns more easily.
We have released new documentation for the upcoming first public release of Open Patterns, a repository of common application functionality patterns. The documentation includes feature overview with brief description of all the included patterns as well as Quick Start guide to help developers adopt the provided patterns more easily. The documentation is available for the following patterns: List data pattern, Mapped data pattern, Ordered data pattern, Scrollable table pattern, Tabbed dialog pattern, Dialog layout pattern and Background task pattern.
OpenSubsystems has today released OpenChronicle 1.0rc1, a comprehensive tutorial to development of Java applications using Open Core middleware abstraction layer. The tutorial walks the developer through the design and implementation of a real world blogging application with basic functionality similar to websites such as Blogger, WordPress, LiveJournal and MySpace. It describes how to easily implement the application data model, code persistence working with any of the supported databases, make the application work as a POJO or EJB using any of the supported J2EE application servers and finally how to design flexible, skinnable web user interface with basic security features.... read more
1.0beta4 is the final beta release of Open Core. This release concludes the
development and testing phase of the first version of the midleware abstraction
layer fully supporting at this time 9 database management systems, 4 J2EE application
servers, 5 connection pools, 3 transaction managers and 2 deployment modes (J2EE and
POJOs). This release was fully tested in all supported environments (POJO, JBoss,
JOnAS, WebLogic and WebSphere) using the included automated test suite with over 150
JUnit tests. All aspects of Open Core are now fully configurable and the documentation
was updated to include description of all the configuration options. In addition to
usual set of bug fixes, Open Core now includes new simpler API to access the
configuration information and new method to configure administration database access
for J2EE application servers. We have also added documentation and demos for the
integrated web user interface template engine and all the supplied templates.
We have published set of articles extensively documenting
(http://www.opensubsystems.org/core/index.html) Open Core package. This new
documentation includes description of
(http://www.opensubsystems.org/core/features.html) features and a comprehensive
walkthrough giving you a (http://www.opensubsystems.org/core/quickstart.html) quick
start with this library. To allow you to customize Open Core
we have published guides how to add support for a
(http://www.opensubsystems.org/core/implementation_newdb.html) new database,
(http://www.opensubsystems.org/core/implementation_newj2ee.html) new J2EE application
server, (http://www.opensubsystems.org/core/implementation_newcpool.html) new
connection pool and a (http://www.opensubsystems.org/core/implementation_newtxman.html) new
transaction manager in addition to those that are already
supported by Open Core out of the box:
(http://www.opensubsystems.org/externals.html#sqlserver) MS SQL Server,
(http://www.opensubsystems.org/externals.html#sapdb) SAP DB,
(http://www.opensubsystems.org/externals.html#sybasease) Sybase ASE,
J2EE datasources, (http://www.opensubsystems.org/externals.html#jotm) JOTM,
J2EE transaction managers and custom in-JVM transaction manager,
In addition to already published walkthroughs how to setup each
(http://www.opensubsystems.org/userguide/dbsetup.html) supported database we have
published detailed instructions how to install and configure each
supported application server and install Open Core on each of them.
The instructions are for
(http://www.opensubsystems.org/userguide/j2eesetup_jboss.html) JBoss 4.03 SP1,
(http://www.opensubsystems.org/userguide/j2eesetup_jonas.html) JOnAS 4.6.6,
(http://www.opensubsystems.org/userguide/j2eesetup_weblogic.html) Weblogic 9.1,
(http://www.opensubsystems.org/userguide/j2eesetup_websphere.html) WebSphere 6.
1.0beta3 release of Open Core, a midleware abstraction layer providing foundation for rapid development and smooth integration of open subsystems was made available today. This release contains additional bug fixes, cleanup of build system resulting in simpler and fully reproducible distribution packages, support for automatic redirection between HTTPS and HTTP, support for modular web user interface and newly released framework for thick client applications independent from used GUI technology (with default implementation using SWT).
We are taking more time to release our next beta than expected. Based on inputs from our users we are adding more functionality to all subsystems. We have added support for GUI (thick client) based applications and support for HTTPS to the Core. We are currently adding support for domain creation and selfregistration to Security. We have added whole new Inventory subsystem. More new releases will be coming shortly.
Release 1.0beta2 of Open Core, a midleware abstraction layer providing foundation for rapid development and smooth integration of open subsystems brings many bug fixes and also fully tested functionality for all supported databases, connection pools and transaction managers (so far only in POJO environment). Included are two new tutorials: Database Setup and Implementing Support for a New Database.
Open Core is midleware abstraction layer providing foundation for rapid development and smooth integration of open subsystems. It allows to build software components requiring just JRE or running on top of various J2EE servers without any code change. This release includes support for all documented databases, J2EE servers, connection pools and transaction managers but testing was at this time limited only to the default environment set.
February was a busy month for us. Following our integration of XDoclet we have spent February testing our compliance with J2EE spec and various J2EE servers. We have tightly integrated Open Core with each server by adding J2EE Connection Factory and J2EE Transaction Factory which allows us to use directly connections and transactions managed by specific J2EE server. By the end of the month we were able sucessfully run all our test in targeted J2EE servers (JBoss, Jonas, Weblogic and Websphere). All controllers can be in the tests used as stateless session beans or they can be still used as POJOs. It is also still possible to specify a different connection and transaction factory making the deployed application independent from the J2EE container and providing consistent environment across each server.... read more
Since December was a short month for us thanks to Christmas holidays we are bringing you the summary report for last two month.
In December our focus was to finish the work on the existing backend for Open Core, Open Patterns and Open Security. We have successfully accomplished this with the only things remaining being the defects or issues related to the external systems we are integrating with. We have identified defect in Proxool connection pool causing it to use invalid user identity when connecting to the database. This issue is more academic and was discovered only thanks to our comprehensive test suite and we are not expecting it to be affecting real world applications. Another issue was a problem identified in C3P0 connection pool. Due to its asynchronous nature it is not enable to allocate connections fast enough for our tests to suceed after several unsuccessful database connection attemps (again due to tests related to use of invalid user identity).... read more
The key word in November was for us PERFORMANCE. Majority of our development time was spend conducting load tests and improving our persistance layer to handle the loads we desire. We have dramatically improved performance of read operations by the persistance layer for each supported database.
We have also built library of automated load tests, which can be executed with a single click and test the insert and load performance of each database for desired number of data. Sybase is still a problem since we are encountering random slowdowns which causes our load tests to fail. Based on the response from SYbase support mailing lists, this is due to configuration problems of our installation of Sybase but we were not able to resolve this problems yet.... read more
In October we progressed closer to our goal of releasing first fully functional subsystem Open Security. We have ported Open Security to all supported databases (Oracle, DB2, SQL Server, Sybase, PostgreSQL, SapDB, HSQLDB). We have released the business logic layer jUnit tests and added many new tests with the total count exceeding 300. At this point the backend business logic and persistence tier are function complete. ... read more
September was our first month working full speed on OpenSubsystems on the SourceForge. SourceForge was a great help to us even though the simplistic interface of Tracker and Tasks could handle some improvements.
We have been busy with releasing code for the Open Core, Open Patterns and Open Security. The core was not only completely cleaned up, streamlined and simplified but we have been also able to add many new features. We have added support for several new databases (MySQL, PostgreSQL, Microsoft SQL Server, Oracle, DB2, Sybase ASE) in addition to the existing support for SapDB and HSQLDB. It was surprising that the commercial databases were much more difficult to implement than that the free ones. Oracle JDBC drivers gave us very hard time until we identified the one which actually works the way they were supposed to. We were also able to add support for jTDS driver as an alternative to the commercial drivers coming with Microsoft SQL Server and with Sybase ASE. Whole core test suite was ported to all supported databases so that now we are able to verify if the critical features of each database work the way our subsystems expect it to.... read more