New features in Project Zero Core for Silverstone M2
Core
The following is a list of the major new enhancements and features in the WebSphere sMash platform and programming model for the Silverstone M2 milestone. As usual, these are also accompanied by general improvements in stability, scalability, and general bugfixes.
Data
ZRM for PHP Support
- Full support, not just delegate
<?php
print "Hello Everyone...\n";
//get the 'ZRMType' person
$persons = zrm_retrieve('person');
//get an array of ZRMMembers from the ZRMType $persons
$personsArray = $persons->list();
//print out the first_name property for each ZRMMember
foreach($personsArray as $member){
//access the properties using the properties of the objects
print " Hello " . $member->first_name . "\n";
}
print"\n\nAll Members:\n";
//list all of the ZRMMembers and all of their properties
foreach($personsArray as $member){
foreach($member->getValues() as $key=>$value){
print " $key: $value \n";
}
print "\n";
}
Transaction support for ZRM
- ZRM & zero.data Transactions
- Added a transaction API ZRM, enhanced zero.data's transaction API
Groovy example:
def incrementCount(id) {
def people = TypeCollection.retrieve('person')‏
def member = people.retrieve(id)‏
member.count++
return = people.update(member)‏
}
// transact the “incrementCount” method
// pass 'Bob' as a method parameter for the id
// assign the returned, updated 'Bob' instance to a var
def bob = inTransaction(this.&incrementCount, 'Bob')
Database connection validation
- ZRM & zero.data Connectivity
- Pain: First time knowing if database connection works is when accessing data
- Solution: Validate database connectivity without running SQL using the “validatedb” CLI task
Model Validation Framework
- ZRM Model Validation Framework
- Pain: Difficult to tell what is wrong with a model declaration.
- Solution: Discover problems with the model early when running “model” CLI tasks.
Runtime and Management
Parallel Recycle
- Zero supports process recycling to minimize the effects of memory leaks
- Throughput is reduced during the time window when Process A stops and Process B starts
- In M2 Zero introduces Parallel Recycle which reduces the throughput degradation incurred during recycle by minimizing the window.
Preliminary cluster support
- Changes to Storage Zones to allow access by multiple JVMs and cluster replication
Improved Security for Management APIs
- Local token support used by CLI
- Allow either user id / password access, or any CLI with local application write access
CLI
- zero version enhanced so other modules can also provide information with -full
- added symbolic link support to cli for linux
- better error messages
- ivy updated with custom zero version matcher
- zero can now host zero repositories
- Eclipse plugin support
Integration
- iWidget Publish Support to IBM MashupHub
- Microsoft Office Format support – Excel first
- Microsoft Access support
- Microsoft Active Directory
- Add support for Bluehouse's OpenID and myvidoop providers
- Improved Atom <-> Abdera support
Platform updates
- IBM JDK SR2
- Ivy Beta 2
- Abdera .4
- Apache POI 3.0.1