Subscribe to Mailing List
Submit requests and bugs
Follow Astroboa on Twitter
Installation Guide
Maven Repository
Get Source code at GITHUB
Building from Sources
API Documentation
Submit a Bug or Request

What Astroboa Is

Astroboa is an innovative, next generation platform for information management. It goes past the traditional application-centric approach and proposes a Data Services Platform that serves all your application needs. It provides the tools to manage and publish the continuous flow of data in your organization easily and cost effectively.

Astroboa provides unique services which cover the complete lifecycle of information management, from dynamic modeling to automated exposure of information as web resources. The services are available to end-users through a web application (Astroboa Studio) and to application programmers through the provided RESTful and SOAP APIs.

Designed for the Cloud

In the context of cloud computing "Everything is a service".  What is common to the "everything-as-a-service" paradigm is that it is abstracted from the physical implementation details and location of resources. That goes for data-as-a-service as much as it does for software-as-a-service and infrastructure-as-a-service. Astroboa is a Data-as-a-Service platform. It enables you to turn your data into services and supports easy horizontal scaling.

Key Features

Astroboa Platform integrates information modeling and representation standards (XML Schema, XML, RDF, JSON) along with leading open source technologies to provide unique features in information management and sharing:


Disruptive Technology

From its inception, Astroboa supported a paradigm shift: Instead of having a myriad of applications that create your organizational model again and again, develop a high level, reusable, evolving, application-decoupled data platform that serves people and machines with data. That is to move away from applications that create data silos to Open Data Services and Intelligent Agents that tap to the services to produce answers or further enrich your organizational model with new data.

Astroboa supports this shift providing a "Data is your Web Server" Platform which stores Semantic Information Resources that are IMMEDIATELY  (i.e. upon their creation and without any extra programming)  Atomised (Reusable), Findable and Sharable to people and applications.

The key concepts behind Astroboa's paradigm shift are:

Why Should I Care

Astroboa puts the focus back to where the real pain and real value is - to the Data. It relieves the pain of complex data management / reuse and sharing and increases the information value. It creates a lasting value and an effortless, natural data handling experience.

When data are well modeled, atomized and self descriptive through natural schemas, they can be reused and applications can be written on them in a snap. Applications are ephemeral, they come and go. Tools, libraries and new languages emerge every day. But data are always the same story, they are pervasive and a great pain to turn into valuable information, to stop entropy from turning them to garbage, to keep them documented and well modeled.

When everybody was creating new apps, we have decided to take the hard way and treat your data, take care of the difficult part and give you a platform that turns the (inevitable) data handling processes to a more pleasant and much more profitable experience.

Astroboa decouples your data from apps, lets apps talk to them naturally and securily with less effort and lower cost. It lets people understand and reuse them. It makes your data into accessible information aka into revenue.

We are gradually moving from the Software Age to the Data Age. Traditionally non-Information Technology companies jump into the data business (Retailer or a data company? Wal-Mart is now both) recognizing the close connection of the data they own to the competitive advandages they could have in the global market. In this changing scene, Astroboa and similar platforms are becoming key technology to the evolution of Organizations and soon to their mainstream business.   

 

Natural Domain Modeling - Domain-Driven Design

The most straightforward and natural way of conceptualizing our world, the physical or abstract entities, is through hierarchies.

We use hierarchies of entities (e.g taxonomies) and we represented the entities themselves as hierarchies of attributes. Adding the relationships between the entities we end up to a graph or grid of objects, object attributes and object relationships. Almost everything can be naturally represented as a graph. The web itself is a huge graph of interconnected pages. The forthcoming semantic web is a graph of interconnected resources.

Astroboa emphasizes on the importance of everybody in a organization or business ecosystem, domain experts, managers and developers, to share and work on a common, natural representation of information. Astroboa provides the tools to do so by facilitating the representation of organizational knowledge as a graph of interconnected objects. It shields all the involved parties of low level storage complexities and mismatches, of repetitive mapping work, and of the commonly observed conflicting views of an organization's valuable data.   

Natural Domain Modeling
 

 

 

Astroboa follows the same principles of natural and flexible information representation for the low level data representation. It utilizes noSQL Document and Graph storage technologies for data persistence in order to directly map the hierarchical domain model to low level constructs. In this way it avoids the ORM mismatch that happens when SQL databases are used as the low level strorage technology.

 

 

 

Users can dynamically alter the domain model (model as you operate). Astroboa engine monitors all model changes and automatically adjusts the low level persistence of information as well as the Data Service APIs  and the API output. In this way, application development can follow a Domain-Driven Design. Developers can write minimal code to consume or write information that conforms to the common organizational model. Astroboa automatically assembles the domain objects according to the domain model and provides them to the application in the appropriate form, XML, JSON or objects for the utilized programming language.

Domain-driven design (DDD) is an approach to developing software for complex needs by deeply connecting the implementation to an evolving model of the core business concepts.[1] The premise of domain-driven design is the following:

  • Placing the project's primary focus on the core domain and domain logic
  • Basing complex designs on a model
  • Initiating a creative collaboration between technical and domain experts to iteratively cut ever closer to the conceptual heart of the problem.

[from wikipedia]

 

Domain-Driven Design brings a lot of benefits:

From a developer's perspective, it's very straightforward to incorporate this domain-driven design approach into an application, simply by utilizing the appropriate astroboa client for the target programming language (Ruby, PHP, Java, Javascript and iOS clients are available) 

How it works

Astroboa features a very flexible, XML Schema Driven, engine and a set of powerful APIs for controlling the engine, i.e. adding, categorizing, searching and browsing information in the engine. The engine uses the XML schemas to know about the hierarchical structure of objects and their relationships and automatically persists information in different low level representations (polyglot persistence) to give full flexibility in data handling for different use cases (relation traversal, document tree retrieval, batch processing with pattern matching algorithms, etc.).

 

The engine implements the key entities for building new domain models and is bootstrapped with an out of the box rich information schema that allows the management of documents, digital assets, organizations, persons, web pages and more.

 

Users may utilize the provided information schema, or use it as a basis for creating their custom object types, or even start from scratch by sub-classing the key entities to build a completely new domain model.

 

How to use Astroboa Platform

As a turn-key web application which covers the complete life cycle of information management inside the organisation

Use Astroboa Studio to access from everywhere the platform services and easily model, create, categorize, search and share your Semi-Structured data. Manage documents, photographs, customers, surveys, employees, blog posts, web pages and more...you can model and keep data on everything.

As a Service Platform (DaaS)

Astroboa as a Service Platform
 

Astroboa Services support both 2-tier and 3-tier web application development.

In 2-tier architecture, a rich client implements the application logic and directly consumes and writes information through Astroboa Services. This approach can be used for the development of native or simple HTML5 applications for mobile devices. Since the application server layer is completely eliminated (or can be kept very lightweight and thin), a significant reduction in development time and cost can be achived. Even if an application server layer is later introduced, application prototypes can be assembled in hours through direct access to Secure Astroboa Services.

2 Tier Apps with Astroboa Data-as-a-Service Platform

 

In 3-tier architecture, the application server layer can be kept very lightweight and resource efficient since the heavy weight code for domain modeling and ORM mapping is not any more required. Astroboa services automatically assemble the domain objects in XML or JSON and the provided clients can dynamically transform them to the application domain objects.  So instead of Rails (Ruby), or Zend (PHP) frameworks, the lightweight Sinatra (Ruby) or Limonade (PHP) frameworks can be utilized to route browser URLs to simple Controllers that consume and Write their data through Astroboa Services.

Additionally, rapid application development frameworks like Vmware's WaveMaker can be very easily integrated with Astroboa Services and allow to build and deploy applications to the cloud with minimal effort (Check this sample application that demonstrates integration of WaveMaker with Astroboa. It was developed and deployed to Cloud Foundry in just 20 minutes).

 

3-Tier Apps with Astroboa Data-as-a-Service Platform

 

Astroboa to WaveMaker Integration

 

Astroboa Studio

All of the engine facilities are available through Astroboa Studio, a Rich Web Client that makes it quite easy for end users to create, manage and share content through a graphical interface.

 

Astroboa Console Overview
 

Astroboa Studio is domain agnostic and dynamically adapts to any new domain model definitions or adaptations performed by the user. It can equally handle blog entries, orders, movies, events, recipies or any other object type is required. If a domain specific view is required (i. e. a newspaper management application, an art collection publication, an e-commerce site, etc.) the RESTful API offers complete control of the engine and facilitates building new applications in a matter of hours. Since the RESTful API uses HTTP calls it can be utilized by any programming language (PHP, Ruby, Groovy, Python, Java, Javascript, etc.) and any device (mobile, server, embedded controller). A set of clients for certain languages is available in order to further ease the developers work.

And it does not stop here in terms of programming new content applications. The native JAVA API offers even more features like distributed transactions, control of  search result caching, lazy loading of object properties and more.

 

Architecture Overview

Astroboa integrates services from the Enterprise Java stack with leading open source technologies like Seam Framework and Spring. It features a multilayer modular architecture that allows the easy addition or exchange of technologies as they become available (e.g low level storage). The diagram depicts a high level view of Astroboa logical architecture.

Astroboa Architecture Overview
 

Last Modified: 08 April 2012
ajax activity image Loading...