Gilad Bracha reopens an old debate; can a language be OO and rely on primitive types? He advances an argument that Java fails to be truly OO because "Java’s original sin was not being a pure object oriented language - a language where everything is an object." The core of the post is whether or not Java could be just as efficient without types. Yes.
ODBMS.ORG has added persistence patterns to its collection of resources for educators, students, professionals, and open source practitioners. Three pattern collections comprise the initial offering in this area. A Best Persistence Pattern Award, is planned for any pattern submitted prior to May 29, 2009.
The Object Management Group (OMG) this month announced a "Business Ecology Intitiative" (BEI) withIBM as Founding Sponsor. BEI is focused on erasing the artificial lines between business and Information Technology (IT) so that IT becomes a ubiquitous, integral and vital asset to the company.
In this interview Joseph Yoder talks about the Adaptive Object Model (AOM) architecture, a software architecture for easily adapting to changing business requirements.
Data, Context and Interaction : A New Architectural Approach by James O. Coplien and Trygve Reenskau
James O. Coplien and Trygve Reenskaug have recently introduced a new architectural approach to OOP based on Data, Context and Interaction pattern. It should allow capturing user mental model in terms of behavioral requirements, something that classic OOP fails to do. The article, that triggered many reactions and critics, provides insights into DCI using concrete examples to show its advantages.
It's not news that at the heart of successful software systems (and, frankly, fulfilling software careers) is good design. Also not news is that defining what "good design" really means has been at the heart of many debates, papers, talks, books, discussions, and more for ages. To help, J.B. Rainsberger and Scott Bellware offer some advice to follow until that one true definition comes along.
The Component-based Scalable Logical Architecture for .NET (CSLA .NET) version 3.6 has been released including support for Microsoft Silverlight 2.0. CSLA .NET is a .NET software development framework which helps one to “build a powerful, maintainable business logic layer for Windows, Web, service-oriented and workflow applications”.
A new WS-BPEL Extension for Semantic Web Services introduces support for semantic service discovery and invocation in the services integration implementations.
In this interview from QCon London 2008, Erich Gamma discusses the Jazz project, why Eclipse has been successful, the strict Eclipse release schedule, JUnit, Design Patterns, how to identify a design pattern, design patterns and the 'Don't Repeat Yourself' principle, the design pattern community, and whether dependency injection is a design pattern.
Chain.NET (a.k.a. NChain) is an implementation of Chain Of Responsibility design pattern for .NET and Mono platforms. Version 0.1 combines standard CoR design pattern with Command design pattern with the goal of bringing increased convenience and flexibility in command processing solutions.
Kasper Sørensen has created a new open source project at eobjects.dk called MetaModel. The project is a common domain model, query engine, and optimizer for different types of datastores, such as relational databases and flat files. MetaModel is a Java library that provides a fluent, object-oriented interface for SQL compliant queries.
Roberto Zicari, from ODBMS.org, collected interviews and stories from several users of Object/Relational mapping technologies. The main point of the cases was around "impedance mismatch" between the object technology in the domain model and the relational technology in the data model.
Google caused a stir by releasing Protocol Buffers, a binary serialization format. We take a look at what exactly Protocol Buffers are and what alternatives are available in ASN.1 or Facebook's Thrift.
In this interview with Nate Kohari, creator of the Ninject dependency injection container for .NET, talks about the release of version 1.0 of Ninject. The interview has taken place over the past weeks leading up to the release of Ninject 1.0.
Neo4j is an embedded network model database for Java, Ruby and Python applications. It is capable of handling billions of nodes/relationships/properties on single machine hardware, supporting ACID transactions, durable persistence, concurrency control, transaction recovery, and everything else you’d expect from an enterprise-strength database.