Jan 30, 2008

SUN: open sourcing Small Programmable Object Technology

Today SUN announced that they are going to open source SUN Small Programmable Object Technology (SPOT). For the press release take a look at the SUN press room.



The target of SPOT is

Sun has been very successful in spreading Java to over 6 billion devices throughout the world. Well over a billion cell phones run Java. We in Sun Labs are interested in what comes next. In order to help make sure that the next generation of gadgets is based Sun technology, we developed Sun Small Programable Object Technology (SPOT)


If you are interested you can order a development kit for 299$ and you will get two SUN Spots and a base station. Bot devices with processor, radio, sensor board and battery and the base station only with processor and radio.
Here the parameters of the device:
180MHz 32-bit ARM920T core processor
512K RAM
4M Flash
2.4GHz radio with an integrated antenna

But if you only want to write software without getting in touch with the hardware you can try to use the emulator (read this pdf)

The API and some tutorials are available at this site. So if you are interested in programming a PDA like device download the SDK and the emulator and go ahead...
For more appetizers take a look at this site (some movies about SPOT at youtube).

I hope this was enough to start you up ;-)

Jan 25, 2008

Data Management for Oracle BPEL PM

If you are searching for documentation to manage the Oracle BPEL schema, you will find the following:

FIRST: Official links:
Tables Impacted By Instance Data Growth
Best Practice Guide: Dehydration Store Management: 10-25
which leads to this link.
and last but no least:
Clemens Utschigs Best Practices: unzip the file and look at BestPractices/BPEL/BPEL_Purging_DehydrationStore.
SECOND: Unofficial blogs:
Delete BPEL instances and if you use some search engine you will find some more blogs with similar content...
THIRD: Metalink:
Note:341102.1
Subject: How to purge BPEL audit tables to avoid growing tablespace issues ?

Ok. For BPEL installations with few workflows per day this is enough but what is with high rate systems, where no downtime is allowed?
Oracle provides very nice features like transportable tablespaces and partitioning (see my blog entry here) . Why are these features are not included in the Oracle BPEL installation?
But this is not really a problem, because at this point Oracle Partners like GIP can provide additional features in their products....

Jan 19, 2008

Review at amazon: Transactions with Web Service... (transl.)

I read a book which was promoted with:
Web services fit very good for distributed transactions. ... The author will introduce the basics and explain the standards WS-Coordination and WS-Atomic-Transaction. The book will show a realization in detail.

But the book does not live up with its promise. The author modelled the coordinator with BPEL (from Active Endpoints) and ended up with the conclusion: Only the A from ACID was realized. The CID was ignored....
To read my recension in detail take a look here.

If you really want to modell the coordinator in BPEL then use Oracle BPEL PM, because this persists the complete BPEL with its state (ok only before , checkpoint(), ) in the Oracle Database. And you have native adapters to Websphere MQ or Oracle AQ, which gives you a transaction save protocol for message communication....

Jan 16, 2008

Oracle buys BEA

The next big deal only a few hours later:
Oracle buys BEA

Charles Philips (President of Oracle) says:
The addition of BEA is expected to accelerate innovation by bringing together two companies with a common vision of a modern service-oriented architecture (SOA) infrastructure and will further increase the value that Oracle delivers to its customers and partners.

and
After the closing, Oracle intends to preserve and enhance customers’ investments in BEA products as Oracle has done with its other acquisitions, while Fusion Middleware will continue to be the center of Oracle’s current and future middleware and applications strategy. After the closing, BEA customers can continue to use their existing BEA products going forward, or choose to use Oracle and BEA products as part of the ongoing evolution of Fusion Middleware. Either way, it will be the customer’s choice.

Oracle pays 8.500.000.000$ for this deal. Not bad...
I think, i should buy a software company, too ;-)

But joking aside: Is Oracle really continuing its Application Server? Or will they switch to BEA? Time will tell us....

SUN buys MySQL

Just read on Jonathan Schwarz Blog that SUN buys MySQL.
SUN will pay 800.000.000$ for this aquisition.
Why have they done this step? Jonathan Schwarz says:
This puts products like MySQL in an interesting position. They're a part of every web company's infrastructure, to be sure. And though many of the more traditional companies use MySQL (from auto companies to financial institutions to banks and retailers), many have been waiting for a Fortune 500 vendor willing to step up, to provide mission critical global support.

and
With this acquisition, we will have done just that - positioned Sun at the center of the web, as the definitive provider of high performance platforms for the web economy. For startups and web 2.0 companies, to government agencies and traditional enterprises. This creates enormous potential for Sun, for the global free software community, and for our partners and customers across the globe. There's opportunity everywhere.


So we have four big players: Microsoft (SQL-Server, Windows Server, .NET), IBM (DB2 / Informix, AIX, Websphere), SUN (MySQL, Solaris, Sun Java System Application Server / GlassFish), and Oracle (Oracle DB / Berkeley DB / TimesTen, Oracle Unbreakable Linux, Oracle Application Server). Each competitor has its own VM concept (for Oracle and SUN see further posting).
But the world does not is not only made of DB, OS and AS....

Jan 14, 2008

Review at amazon: Oracle Database Programming using Java and Web Services

I wrote another recension at amazon:

Oracle Database Programming using Java and Web Services from Kuassi Mensah.
Take a look here.

Here a short sum-up:
This book covers everything around Java and Oracle Database. Kuassi Mensah explains in details how to run Java inside the database (with all restrictions) and why you have to use a native Java compiler and how to write Java outside the database which leverages all the Oracle infrastructure (TAF, ONS, etc.) and how to to run Non-Java languages inside the OracleJVM and, and, and....

Just one thing more: Buy it - read it.

Jan 10, 2008

UMPC: Noahpad

There is another competitor for the EEE from Asus and the others.
Take a look at this picture from their website.

Noahpad announced that the price should be around the EEE.
In comparison to the EEE this noahpad can quote some nice features:

Noahpad Touchpad (Noahpad PC clickable touchpad can act as both a keyboard and a cursor controller)
Virtual Screen
Fully Rotatable Screen

UPDATE:
Take a look at a demo on youtube.

Posting at Xyna blog

Today a my posting about performance and BPEL was added on the Xyna Service Factory blog.
Here the link to the posting.
It is in german...

Jan 6, 2008

Review at amazon: Performance and Capacity Planning with BPEL

Some days ago i read the book "Business Process Automation. Performance and Capacity Planning with BPEL" .
First i was amused, but after 50 pages i got angry and decided to write a recension at amazon about this book. If you are interested take a look here.
The recension is in german (sorry), but here a short summary:

The assumptions, which are made in this book are too simple. Yes it worked for their sample process but in real world their model will fail...

And the best:
They invented a small test program to generate test messages and put some load on their BPEL-engine (Websphere). In Oracle this stress test (s. 5.) tool is out of the box integrated into the BPEL PM.

Jan 3, 2008

A review: Oracle SOA Suite Best Practice Guide

I read the new Oracle SOA Suite 10.1.3x Best Practices Guide (i wrote a posting as it was released.)

They have collected many tips and tricks, which are very useful for creating applications with BPEL. I want to challenge chapter 9 (Best Practices for a JMS-to-Database Scenario) in this blog.

The focus of this chapter is Oracle SOA Suite Performance. The guide tells us, that this example JMS-to-database is proof-of-concept engagement with a customer.It is an aplication, which receives JMS Messages from a queue and put them after parsing into a database.



To optimize throughput a cluster of 5 servers is used. Two servers do the hosting of the AQ-JMs in an Oracle RAC database, on two servers run the BPEL Process Managers (clustered) and another one which stores the received records in a database. All servers are 2 CPU Opterions (2.1 GHz) with 1-4 GB RAM. All machines are running on Linux.

The configuration of AQ is straight forward. On every RAC node one queue is created with istance affinity to this node. This is the only way to prevent interconnect traffic and contention on the queue. But the hint to tune the parameter aq_tm_processes is not valid anymore (see the Oracle DB documentation)
After reading, that you should use OCI and not thin drivers for the Oracle BPEL Manager, i just have to ask, why OCI is not the default for the SOA Suite installation...

The tuning of the BPEL is quite interesting. They change the asynchronous WSDL with just one input message to a synchronous operation:



and add a dummy reply. But unfortunately the performance enhancement of these changes are not measured, which would be a valuable information....

After some OC4J optimations the measuremnts or better the final number are presented. These final numbers are a little bit disappointing, because nothing is said about how long this measurements where performed. No graphs with rate against a timeline. The problem with performance of database related applications (here AQ-JMS and BPEL schema) is, that you can write very fast into the redo logs but if all logs are busy, the whole system will stall.
But it is like everytime with Oracle: If you know how to tune the database, you are done ;-)