Wednesday, June 30, 2004

Sun Gets Serious About SOA

Sun's Kitty Hawk aims high
By Martin LaMonica
June 29, 2004, 2:55 PM PT

Sun Microsystems detailed this week a plan called Project Kitty Hawk to redesign its back-end corporate Java software to be more modular and cost-effective.

At the JavaOne conference Monday, the company said it will rework its Java Enterprise System server software suite and Java Studio programming tools to simplify the process of building a services-oriented architecture, or SOA, a modular system design meant to reduce the cost of running computing systems. With a SOA, developers design applications so they can reuse a single "service," such as a product price check, for different applications.

The changes to Sun's software, which Sun will be rolling out over the next two years, will be coupled with consulting services, including a "SOA Readiness Assessment" program.

Sun said the product enhancements of Project Kitty Hawk will make it easier for software developers to write Web services applications using Java. For example, a product under development, code-named Project Disco, will give programmers a visual tool for assembling applications using a Web services language called Business Process Execution Language for automating business processes, according to people familiar with Sun's plans.

Project Kitty Hawk will let developers "find, assemble and deliver applications based on a services-oriented architecture using Java Web services," said Joe Keller, Sun's vice president of marketing for Java Web services and developer tools.

Tuesday, June 22, 2004

Languages: Evolution of C, C++, and Java

Language evolution is always interesting because it has a significant impact on the programmer's life and incredible impact on the business because of productivity implications. Here is an article worth reading:

The C++ Source: In the Spirit of C
by Greg Colvin, June 21, 2004

Friday, June 18, 2004

SOA: Not a Buzz Word Anymore

SAP is using a service oriented architecture approach to get its customers to upgrade in an evolutionary manner. CEO Prof. Dr. Kagermann points out it is a core strategy for the company.

"[SOA] is not a buzzword. We know what to do and how to do it. The idea of SOA, of services, encapsulated objects and services [is not new]. The technology is there. The performance is there. And we have enough experience from the applications--we know what type of services are required and how to design more generic services. I feel quite confident." Henning Kagermann, eWeek, May 24, 2004

IBM DeveloperWorks has a number of white papers on SOA. Start here ...

Monday, June 07, 2004

Service Oriented Architecture: Why OOAD and BPM are Not Enough

An interdisciplinary modeling approach for SOA projects
Olaf Zimmermann (, Senior IT Architect, IBM
Pal Krogdahl (, Solution Architect, IBM
Clive Gee (, Senior Solution Architect, IBM

2 Jun 2004

Experience from first Service-Oriented Architecture (SOA) implementation projects suggest that existing development processes and notations such as Object-Oriented Analysis and Design (OOAD), Enterprise Architecture (EA) frameworks, and Business Process Modeling (BPM) only cover part of what is required to support the architectural patterns currently emerging under the SOA umbrella. Thus, there is a need for an enhanced, interdisciplinary service modeling approach.

In a recent interview at Info World (see Resources), Grady Booch stated that "the fundamentals of engineering like good abstractions, good separation of concerns never go out of style", but he also pointed out that "there are real opportunities to raise the level of abstraction again." Past experience indicates that the abstraction level has to be raised up to the business domains a company deals with, taking the entire enterprise IT landscape into account.

SOA, for example, as introduced by Mark Colan in the article, "Service-Oriented Architecture expands the vision of Web services, Part 1", is an emerging architectural style for crafting next-generation enterprise applications. While the SOA approach strongly reinforces well-established, general software architecture principles such as information hiding, modularization, and separation of concerns, it also adds additional themes such as service choreography, service repositories, and the service bus middleware pattern.

A structured approach or analysis and design method is required to craft SOAs of quality. As none of the existing approaches met the authors requirements on recent SOA projects, they suggest combining elements from well-established practices such as OOAD, EA, and BPM, complementing them with innovative elements upon demand.

Friday, June 04, 2004

Object Relational Mapping: Hibernate

In January, I posted a note about why I liked the Hibernate open source object/relational mapping tool. The EJB expert group liked it as well.

Politically Charged EJB Decision Hands a Victory to JBoss

The EJB expert group's decision to use Hibernate as the persistence mechanism in EJB 3.0 gives JBoss all the power. David Jordan, a member of the JDO expert group, explains why the JDO community is not just disappointedóbut concernedóabout a power shift in the app server market.

The EJB 3.0 expert group seems to have handed JBoss the EJB application server market on a silver platter. Several weeks ago at TheServerSide Java Symposium in Las Vegas the EJB expert group announced its decision to shelve the current entity bean architecture
and focus on the lightweight persistence of Plain Old Java Objects (POJOs). Specifically, it decided to use Hibernate as the persistence mechanism in EJB 3.0. Hibernate is an open source object/relational mapping solution that joined the JBoss Group last year.

13 Jan 2004

I like Hibernate. I built four of these systems , two of them as shipping products. Two Smalltalk, one C++, and one C. Some key findings:

1. OR mapping systems eliminate at least 30% of the development effort for an object system storing data in relational tables. At Easel we had data from 100s of large enterprises to support this number. A 1978 paper by F. King, an IBM Report on the Content of a Sample of Programs Surveyed found that 35% of code size of the database programs surveyed was due to mapping between program representations of data and database representations of data.

2. The uninitiated should not attempt to build these systems. In 1990, Gardner and Sutherland, in their Report on Buyer Furnished Equipment Development History and Level of Effort, showed that 35-55% of developer time on projects at Guiness Peat Aviation were devoted to hardcoding the mapping of objects to relational databases.

3. A good OR mapping system should allow the user to (1) autogenerate the database from the object model, (2) autogenerate the object model from a relational database, and (3) autobind an arbitrary object model to an arbitrary relational database. To do this you need a mapping file that you can manage with good tools.

4. Changes to the database for performance tuning should require no code changes in Java. The mapping file must autogen a new binding.

5. Performance should be better than hard coding by the typical developer. In no case should it be more than 10% slower than manual performance tuning by an expert.

Hibernate appears to support at least some of all of these features. For some good background reading, see the Hibernate external documentation page.

In 1989, what is now the front end of the Matisse object database was used as an object mapping layer for Oracle and demoed to the Oracle Product Management team. These were the first objects they had even seen in a relational database and they were particularly entranced by being able to search for images that looked like other images. The structure of this mapping has now been scanned online by ACM and published as:

The Hybrid Object-Relational Architecture (HORA): an integration of object-oriented and relational technology. Proceedings of the 1993 ACM/SIGAPP symposium on Applied computing: states of the art and practice table of contents, 1993
Jeff Sutherland, ODB, Cambridge, MA
Matthew Pope, Marcam, Canada
Ken Rugg, Object Design, Burlington, MA