The Osgiliath framework is composed of multiple features allowing you to develop faster, smoother and in a consistent way. You have access to multiple features:
  • Database persistence with transaction management
  • Testable and smoother business code with out of the box functional programming, integration tests, shortened syntax, as well as messaging and http REST call at all levels.
  • Routing support allowing you to split; aggregate, transform your messages and redirect to the according services.
  • Ease deployment with hot swap support, multiple versions of the same bundle support, full application specification.

Architecture

Osgiliath is made of five archetypes (project skeleton): A parent project archetype in order to wrap a set of other modules and define a consistent set of bundle that make a feature (or an application). A model archetype defining your databases access, your model objects and daos (data access object to query, save or retrieve model objects from the database), it can also expose service (REST or JMS way). A business archetype dedicated to business stuff (security, complex operations…) and that exposes services synchronously or asynchronously. A route service where you can split, aggregate, transform your messages to transmit to the according ui/services. A UI archetype where you can code your user interface with proven technologies. Osgiliath communication

Reference samples

A reference samples are available on github (or maven) at this adress
  • The client listens to newly posted messages (Websocket)
  • It has an input allowing you to post message
  • The message is then sent in JSON, transformed in Xml and resent to a ‘business’ REST web service
  • This business service validates it and save it in a database
  • The answer is sent back in a route which is put back in the event queue

Comments