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:
- One platform for Central information management and Information Reuse across the Organization and across applications
- Secure Information sharing and standardized programming interfaces
- Automatic generation of Linked Data and connection to the Semantic Web
- Domain Driven app design and High level Information Modeling without the complexities of Databases
- Model as you operate - Dynamically adapt your organizational / domain models as your business evolves
- Lower development costs and time to market - Eliminate your applications model representation and mapping code (ORM) and concentrate to core application logic
- Ultimate information accessibility, transparency and ownership. Export any piece of data to common and standardized formats like XML, JSON, CSV and Microsoft Excel.
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:
- The easy creation of "Semi-Structured" Atomised Information Resources (information objects) which can be continuously enriched with semantic information (open content model)
- The straightforward sharing of your Organizational / Domain Model as well as the underlying Object Instances to Resource Consumers (users, your applications, devices, third party agents and services) to facilitate reuse and repurposing of the stored information and thus preserve and continuously increase the information value.
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.
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.
Domain-Driven Design brings a lot of benefits:
- Business users can define and extend the domain model with no developer interaction
- The business owner can understand and inspect the organizational model at any time
- Everyone works with the same domain model, so there is no translation code to move the domain model objects between systems. This avoids lots of complexity in individual applications
- Domain and Security rules can be enforced at the Data Services level
- With medium programming skills and low cost new applications that interact with the Data Services can be developed in days rather than weeks or months
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)
- Embed your application inside Astroboa platform. Add the java client jar to your web application, package it as a war and drop it inside Astroboa running environment.Your application will have full & secure access to all information management services.
- Remotely access Astroboa Data Services from any java coded web app. Add the java client jar to your application and instantly get remote secure access to all Astroboa services.
- Remotely read, write and search information stored in Astroboa through the RESTful “Resource API”. All stored entities, entity properties and relations are automatically exposed as web resources with unique URIs. Use simple HTTP requests to securily access and change your resources from any device and any programming language. Get your resources as XML, JSON, MS EXCEL, CSV, HTML, or INPUT forms. Additionally the “Resource API” gives unique power to your apps through the ability to remotely browse and dynamically alter the information schema besides the information itself.
- Remotely read, write and search information stored in Astroboa through the “Resource API” based client libraries.To ease the integration of Astroboa platform to any web app or web framework, clients for different popular languages are available (PHP, ruby, groovy, iphone objective-c).The clients utilize the “Resource API” behind the scenes to provide access to Astroboa services and automatically assemble results (domain objects) into target programming language objects.
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.
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).
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 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.
Last Modified: 08 April 2012
Loading...