Technologies

: Technologies We Use :

No two challenges are the same: every challenge brings new lessons. Your business needs to constantly evolve and change along with those challenges, and as a result, the way these lessons are described and stores needs to evolve and change as well.

There is no such thing these days as an application that is complete, only one that evolves with your business as it changes. Our goal is to identify and adopt technologies that allow us to evolve our applications continuously to respond to your ever changing business needs. .

Through extensive research and leveraging our deep experience, we have chosen technologies that support Menome Technologies core value of maximizing adaptability so that our platform –>theLink<– can evolve and change as your business does.

Here is an overview of some of the key technologies we have adopted and use, and the business value they allow us to bring to our clients.

Neo4j:

Neo4j, made by Neo Technologies is more than just a new kind of database: its a whole new way of thinking about and modelling data.

The value of your data increases immensely when its connected. Neo4j is a powerful new type of databases that brings enterprises a new way of connecting their data, but it does require a different way of thinking about and modelling data that can act as a barrier to adoption. Menome Technologies provides consulting services and products that make it easier for enterprises to benefit from harnessing the powerful capabilities of Neo4j in order to maximize the value of the data they possess.

Graph Databases allow data to be modelled how it actually is as you would draw it on a whiteboard. The powerful thing being that you can represent the data the way you think of it, not the way systems think of it.

It turns out that this simple way of modelling data is also extremely efficient and fast when it comes to answering questions about the connections between the data being modelled.

Connections between people, the teams they work on, the work they do on projects, the documents they create, the places where the work is done, and the skills those people have simple to model. Neo4j’s powerful database technology then makes it fast and easy to build very powerful patterns for answering questions that would be impossible to answer with a normal relational database.

What makes this possible is that graph modelling is based on ‘nodes’ and ‘relationships’ instead of ‘rows’ and ‘tables’: the difference being that nodes and relationships are both first-class citizens. You can ask questions about nodes, relationships or both in a graph database – something you cannot do with the relationships in a normal relational database. If you can find a path between any two nodes in the graph, you can establish a pattern for it to answer questions:

Docker:

What is it?

Docker is a new platform delivery paradigm that eliminates the separation between an application and the servers required to run the application. In the past, providing new capabilities to a client involved a carefully orchestrated series of development, packaging, installation, testing and then deploying steps. The risk in the process was the fact that the environment used to develop and test the application was different than the environment used to run the application in production. The more powerful the capability being delivered, the more complex the environment and thus the higher the risk of something going wrong during deployment.

How will it help your business?

Docker eliminates the risk by turning the application and the things need to run the application into a single ‘container’. This container can be moved around to any infrastructure: developer machines, cloud hosted servers, or servers on premises.

Once the base infrastructure is established, packaging and deploying new capabilities becomes a much lower-risk proposition. Because docker containers can be run anywhere, it is very simple to adapt to meet a client’s hosting requirements regardless of whether they have a datacenter, use amazon aws, azure or want to allow in house developers to test our products before deploying them.

For example, a new version of neo4j that brought a new capability that enabled our Knowledge Discovery Platform –>theLink<– to detect duplicate contact entries became available on a Friday. We were able to take this new capability, add it to our platform, connect it to our user interface and deliver it to one of our client’s who needed this to help identify duplicate client information in less than 8 hours.

NodeJS:

What Is it?

NodeJS is a powerful javascript server that is well suited to handling the challenges associated with creating an enterprise grade Knowledge Discovery Platform such as –theLink<–. Node powers massive scale platforms behind businesses such as Uber and Netflix. NodeJS being javascript based means consistency between the client and the server side code. Node is widely supported, and scales extremely well. By coupling Node with the Docker paradigm, Menome Technologies’ –>theLink<-– is able to scale through creation of many instances of both the API (application programmer interface) container, and the web front end (the application itself) container.

How Will It Help Your Business?

Applications need to change as your business changes. NodeJS is well suited to rapid delivery of capabilities. NodeJS’ extensive set of libraries, Menome Technologies can very quickly tailor its products to meet challenges that arise, and to tune the application to meet your people’s needs.

Angular Materials Design/Responsive Design:

What is it?

Angular Material is a design philosophy created by Google that brings this value to life. Adhering to it allows Menome Technologies to create a very simple, but powerful and compelling user experience that adapts and is consistent across many different devices. This ensures that no matter what your user community is using, our products will work.

How Will It Help Your Business?

Gone are the days of the single device: change is constant, new devices come and go. This means its more complicated and expensive than ever to have access to your data at your fingertips whether you’re on your phone, tablet or desktop. By taking advantage of the cross-device power of Resonsive Design through leveraging the Angular Materials framework, we keep your software costs down and keep you in touch with your data no matter where you access it.

Microservices:

What is it?

Microservices are a way of designing an application as a small suite of services, each with its own process.

How Will It Help Your Business?

Using this approach brings Menome Technologies goal of maximizing adaptability to the core platform by giving us a pattern with which to break complex services down into smaller, simpler services that are aligned with specific business capabilities. By combining this with Docker, we can selectively deploy capabilities depending on an organizations needs. We can also modify and evolve individual services when needed without disrupting the overall application. This reduces delivery time and risk.

Messages:

What is it?

A message is just like it sounds: a package of information that is sent over a channel that can be received by one or many programs listening to it. The powerful thing about this approach is that the messages can stand by themselves: it doesn’t matter which source system produces the message, the messages themselves will always be the same.

How Will It Help Your Business?

Integrating data from many difference systems together is challenging. Each system has its own way of describing the data it stores: so the way a CRM system might desribe a person who works for your organization will be different than the way the HR system describes that person. Each system also evolves at different rates. So the API or way to communicate with a given system will also change over time.

It is essential therefore for an evolutionary, adaptable framework to be able to communicate with other systems without being physically connected to them.

Messages offer a way for Menome Technologies to reduce the complexity of communicating with many different systems by harnessing the power of messages.

By combining the power of Docker with the flexibility of messages through RabbitMQ, we are able to facilitate the translation of data from the source system’s format to the language of your business regardless of what the source is. Having the translation separate from our core platform then allows us to evolve and adapt each ‘translator container’ as needed, without affecting our core platform.