SAND Services Inc.

*** News ***
June 16, 2007
SANDev 1.2 released
 

Services:

Web Applications

Consulting

TaskHeap.com

MeetingSetup.com



About us:

Our Process

Who we are

Contact



Technology:

SAND

FAQ

techbase







site search:







 

Structs And Nodes Development (SAND):

Structs and Nodes Development is a software development methodology based around three primary concepts:

  • Integrated Architecture: Modeling the complete application using the source code itself.
  • Message Orientation: Explicit definition of what parts of the application talk to what other parts and how.
  • API Inversion: Adapting the application programming interface (API) presented by a supporting technology to the needs of the application, rather than writing application code to interface with the API.

The principal advantages of SAND compared to traditional development are:

  1. Guaranteed data consistency (documentation matches code matches database matches forms etc)
  2. Vastly reduced development and maintenance effort.

See also the FAQ entry: What is Structs And Nodes Development?


Description of terms:

Integrated Architecture is accomplished in SAND through specialized java class declarations and code comment tags.

Specialized java class declarations:
  • "Structs" are are java classes representing data types that are used globally throughout the application. Structs are built into messages and their associated action forms (query, collection, update).
  • "Nodes" are java classes that represent the application components. Nodes are configured to send and receive messages, to create the application.
generated framework for supporting code

Together with the configuration and UI definition (which are simply struct instances), the source code declarations define the application architecture. The Message Orientation comes from the explicit declaration how messages flow between application modules.

API inversion is accomplished through generators that read the struct/node declarations and write code to handle persistence, ad hoc query support, user interface adaptors, form handlers, messaging communications, serialization, startup initialization, runtime control and other supporting technology. Unless you are using a technology that is not already supported, most applications don't need to write any infrastructure code at all. They simply call a generated send method using a generated query or update message and get back results.

If you are adapting SAND to use new supporting technology, you read the struct and node information using a code generator to create an adaptor with minimal or no need for an intermediate API abstraction layer. This enables SAND applications to fully leverage proprietary technology without lock-in or application developer training.


Links to additional information:



 

Java is a trademark of Sun Microsystems, Inc.
Other company, product and service names may be trademarks or service marks of others.
© 2002-2008 SAND Services Inc.
All Rights Reserved.