Thursday, June 12, 2008

Cloudspace

As one of our project is looking for a open source, lightweight and stable database to be embedded into application, cloudspace has come into my eyes as its superior features and ready support of synchronization with various enterprise back ends, such as DB2 UDB™ or Informix® Dynamic Server.

Cloudscape is the original zero-admin, embeddable, 100% Java relational database that entered the marketplace in 1996. In August 2004 IBM contributed Derby, a copy of its Cloudscape 10.0 relational database product, to the Apache Software Foundation (ASF) to help accelerate innovation around data-driven Java applications. IBM continues its Cloudscape commercial offering at no-charge, which adds features to the core Derby engine. The most current release is Cloudscape 10.1, which includes Apache Derby 10.1.

Cloudscape- Key Features

* 100% Pure Java
o Completely portable to any hardware, any OS
o Only requires JVM (J2SE 1.3 or higher)
* Embeddable
o Can be installed as a JAR file (as part of a Java application)
o Can be started within an application
o Installation, startup and shutdown are invisible to user
* Fully-functional RDBMS

* Adheres to standards
o JDBC
o SQLJ
o ANSI SQL-92 * "Zero" Administration
o No need for DBA at customer site
o Users may even be unaware that a database engine is present
* Lightweight
o Approx. 2MB “footprint”
o Can run on many “palm”-size devices (new feature!)
* Scales to Moderate Size
o No defined limits on table sizes
o Table size limit of 2GB in some environments (OS limit)
o Existing customer databases of >10 GB working well
* Supports Disk Encryption
o Tested with IBM JCE

* Easy for Application Developers to Use
o To set up, just copy Cloudscape JAR files and set Java CLASSPATH
o Database engine starts automatically when application attempts to connect to it
* Cloudscape databases are completely portable
o To move a Cloudscape database to another machine, just copy it! (This works even if the machines have different OS or hardware!)
* Distributed transaction support (new!)
o Participates in XA transactions with other database systems

Cloudscape is a Fully-Functional RDBMS

* Indexes
* Views
* Triggers and Stored Procedures
* Constraints (primary-key, foreign-key, unique, check)
* Concurrency Support
o Transactions (with crash recovery)
o Savepoints
o Row-level locking, with escalation
o JDBC isolation levels (including dirty-read)
* Scrollable Cursors (result sets)
* Cascading Delete
* Internationalization/Localization Support

Reference List:

Synchronize IBM Cloudscape V10.0 and IBM DB2 Everyplace Sync Server V8.2


DB2 Everyplace Java Sync Client for IBM Cloudscape Version 10

Cloudscape Past and Present

Cloudscape Version 10: A technical overview

TPC - Transaction Processing Performance Council

An organization devoted to benchmarking transaction processing systems. In order to derive the number of transactions that can be processed in a given time frame, TPC benchmarks measure the total performance of the system, which includes the computer, operating system, database management system and any other related components involved in the transaction processing operation.

Transactions
The TPC-C benchmark yields transactions per minutes expressed in tpmC ratings. Earlier TPC-A and TPC-B benchmarks produced tpsA and tpsB ratings, which measured transactions per second.

TPC-W is a Web benchmark, performed in a controlled Internet e-commerce scenario and reported as the number of Web interactions processed per second. Shopping, browsing and ordering are the three simulated profiles measured.

Database Queries
TPC-H carries an ad-hoc label and is used in environments where users do not know which queries will be executed against a database system. TPC-R analysis assumes pre-knowledge of a standard set of queries, and execution is very fast as a result. The earlier TPC-D benchmark based its results on the size of the database being queried and yielded a single-user Qppd Power metric and multiple-user QthD Throughput metric.

TPC benchmarks are widely used today in evaluating the performance of computer systems; the results are published on the TPC web site.

Reference

TPC Intro
Wikipedia
TPC Portal

Wednesday, June 11, 2008

open source audit trail and logging component

The Inspektr project allows for non-intrusive auditing and logging by using annotations and aspects.

It also includes a generic Grails-based web application to view statistics and audit logs stored in various data sources.

Find out more from here

Groovy, Java's New Scripting Language

Groovy is a new scripting language for the Java environment. Groovy scripts can be interpreted (for faster development: no compile cycle!) or compiled to Java bytecode (.class format) for faster execution. Groovy accepts most Java constructs but also quite a few of its own.

* is an agile and dynamic language for the Java Virtual Machine
* builds upon the strengths of Java but has additional power features inspired by languages like Python, Ruby and Smalltalk
* makes modern programming features available to Java developers with almost-zero learning curve
* supports Domain-Specific Languages and other compact syntax so your code becomes easy to read and maintain
* makes writing shell and build scripts easy with its powerful processing primitives, OO abilities and an Ant DSL
* increases developer productivity by reducing scaffolding code when developing web, GUI, database or console applications
* simplifies testing by supporting unit testing and mocking out-of-the-box
* seamlessly integrates with all existing Java objects and libraries
* compiles straight to Java bytecode so you can use it anywhere you can use Java


See these links for complete information on Groovy:

http://www.darwinsys.com/groovy/

Groovy Is Not Java

Differences from Java

http://groovy.codehaus.org/

Java on Grails ?

Java programmers needn't abandon their favorite language and existing development infrastructure to adopt a modern Web development framework. In the first installment of his new monthly series Get started with Grails, get introduced to Grails and demonstrates how to build your first Grails application.

Grails is a modern Web development framework that mixes familiar Java technologies like Spring and Hibernate with contemporary practices like convention over configuration. Written in Groovy, Grails gives you seamless integration with your legacy Java code while adding the flexibility and dynamism of a scripting language. After you learn Grails, you'll never look at Web development the same way again.

Find original post here

Run your web applications on Google's infrastructure!

Google App Engine lets you run your web applications on Google's infrastructure. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow. With App Engine, there are no servers to maintain: You just upload your application, and it's ready to serve your users.

You can serve your app using a free domain name on the appspot.com domain, or use Google Apps to serve it from your own domain. You can share your application with the world, or limit access to members of your organization.

App Engine costs nothing to get started. Sign up for a free account, and you can develop and publish your application for the world to see, at no charge and with no obligation. A free account can use up to 500MB of persistent storage and enough CPU and bandwidth for about 5 million page views a month.

During the preview release of Google App Engine, only free accounts are available. In the near future, you will be able to purchase additional computing resources.

Find more from here

´