Overview of Janux, an Open Source eBiz Integration Infrastructure


1. What problem is Janux aiming to solve ?
2. What is Janux ?
3. Janux Areas of Concerns
3.1. Janux eBiz
3.2. Janux Adapt
3.3. Janux Service Bus
3.4. Janux Publishing

1. What problem is Janux aiming to solve ?

The internet is drastically changing how knowledge, goods and services are offered and delivered from a business to its customers or trading partners.

This is reflected in a dramatic and ongoing restructuring of supply and distribution chains. Pre-internet distribution chains from a manufacturer or service provider to a customer were hierarchical in nature, partly as a reflection of infrastructure constraints on the flow of information related to product/service availability and inventory.

Advances in internet technology are flattening these multi-tiered hierarchical structures and transforming them into peer-to-peer relationships with suppliers, distributors, and even competitors. In some cases, these hierarchical structures are being replaced with sales channels that connect to end-customers directly.

These new channels are more fluid and are getting ever-closer to electronic trading posts where it is critical that information on customers, products, inventory, and pricing reflect the most current market conditions.

While there exists a dizzying choice of customer relationship management systems, content management systems, web-based storefronts, and fulfillment systems from which a business can choose, integrating customer, product & marketing information, price and inventory, and order & fulfillment information across systems and channels has proven to be costly and time-consuming.

Maintenance of this integration infrastructure continues to be a challenge for in-house IT department who are struggling to meet mounting demands, and who may not have the resources or core competency necessary to meet this responsibility.

At the same time that information must flow more freely, business have increasing obligations to preserve the privacy and security of the information exchanged.

2. What is Janux ?

Janux is an Open Source eBiz Integration Infrastructure that aims to make it fast and cost-effective to interconnect disparate computer systems to create super-applications focused on:

  • people and human organizations
  • goods and services
  • inventory and pricing
  • eBusiness transactions
  • fulfillment logistics

Janux takes the form of:

  • A set of Unified Modeling Language (UML) designs and interfaces that model distinct and complementary Areas of Concern related to developing service oriented architectures and interconnecting distributed systems, in the context of eBusiness transactions.

  • A high quality, scaleable, yet lightweight implementation written in java of these UML models. This software uses state of the art implementation techniques (Test-Driven development, Portability of Design, Plug-ins, Database Agnosticism), and open source tools that support such techniques, that dramatically reduce the cost of creating and maintaining super-applications that interconnect or extend multiple systems.

  • A secure and modular Service Oriented Architecture which makes it possible to interconnect different functional components in-memory within the same machine, or in distributed fashion via web services, without having to change application code. This capability supports speed and agility during development while providing maximum flexibility and efficient use of hardware resources at deployment time.

  • A Templating System and reference Graphical User Interfaces that facilitate the creation of Personalized Customer Experiences, Back-Office Administrative interfaces, and Marketing Output that meet the exact needs of a specific integration project.

In short, Janux aims to bring Big Business eBiz capabilities at Small Business prices, with an emphasis on elegance and simplicity.

3. Janux Areas of Concerns

3.1. Janux eBiz

This set of packages models generic eBiz entities that are commonly used across a wide array of eBusiness domains, and which can be made more specific through the Janux Adapt set of packages.

  • biz.janux.people models people, organizations, addresses, contact information, and customer history.
  • biz.janux.product models marketing information on good and services, and inventoriable units.
  • biz.janux.market models price and inventory matrices, which are closely related, and promotion rules.
  • biz.janux.tax models tax matrices and tax rules.
  • biz.janux.transaction models shopping baskets, orders, payment methods and events, and transaction/checkout flows.
  • biz.janux.fulfillment models shipping, backorders and fulfillment flows.
  • biz.janux.geography models the attributes of entities that can be located via geographical coordinates.

3.2. Janux Adapt

This set of packages models customization and integration concerns as extension mechanisms that make it possible to adapt the Janux eBiz entities to the requirements of a specific business domain, and/or to extend entities from external systems in order to interconnect them.

This set of packages constitute the core of the Janux infrastructure. It can be used in self-standing fashion in any database-oriented or web-service oriented application and is not dependent on Janux eBiz.

  • org.janux.taxonomy provides the ability to attach and store arbitrary attributes for any entity, whether in internal or external systems, without writing new code. It provides the conceptual equivalent of class inheritance and composition, and models metadata entities such as PrimitiveType, ComplexType, DerivedComplexType, Relationship.
  • org.janux.categorization models polymorphic hierarchies and groupings of entities, by which it is possible to organize and/or group entities of different types, such as people and products, for example.
  • org.janux.logic provides the ability to create queries that search the taxonomies and categorizations created through the two packages above.

3.3. Janux Service Bus

The Janux eBiz Service Bus abstracts the communication mechanism between the different internal and external sub-systems. It also abstracts the session (application state), authentication, authorization, and caching services necessary for a super-application to function seamlessly and securely.

The Janux eBiz Service Bus leverages a best-of-breed source security and service bus packages by making accessible via the bus application state information, cached metadata, and a flexible permission scheme with fine granularity.

  • org.janux.authentication
  • org.janux.session
  • org.janux.cache

3.4. Janux Publishing

Janux Publishing models content management entities and a templating system that can be used to format output, create graphical user interfaces, and connect to Digital Asset Management and Content Management Systems.

  • org.janux.media
  • org.janux.template
  • org.janux.publish

Janux aims to provide a working UI implementation that integrates closely with Apache's Jetspeed Enterprise Information Portal.

Janux is currently alpha software and we plan to release working software in the near future.

If you are interested in hearing more about Janux, or becoming involved, please email us at info@janux.org