SOA and Microservices, RAML and DataSense by MuleSoft, and the Next Step
A small intro to the science of knowledge.
If you agree with Sir Francis Bacon that “Knowledge is Power”, it might be no surprise for you that there is a science of handling and computerizing knowledge. It is called Ontology or Knowledge Engineering. The word “Ontology” also means a collection of related facts and terms.
Semantics is the study of meaning. While processing information, a semantic system focuses on understanding the meaning of that information.
The difference between Taxonomy and Ontology
Taxonomy collects keywords to describe content. Ontology uses more powerful methods to create more detailed meta-data models. In addition to collecting the key vocabulary, ontology picks up on the relationships between the keywords effectively building a semantically rich and much more meaningful model of the content.
Let’s say we have a sentence “Yefim Zhuk was born in Russia.” Taxonomy would only use two keywords from the sentence, the name and the place. Ontology would also include the relationship between the two keywords and create a graph representing the content in a greater level of detail. This graph can be extended and later used for querying, in other words, for asking questions related to this information, such as “what is Russia”…
By being more formal and detail oriented, ontology helps us elevate information to the next level understood by computers. Of course, we must deal with high quality Information.
Ontology modules can be built gradually in the daily interactions of SMEs with the computer program, Conversational Semantic Decision Support (CSDS). Each conversation will work in both directions: helping the SME and contributing to the knowledge modules with SME entries.
Do we teach this subject in schools? We just started. Check with Internet Technology Summit Program and with Galvanize IT. These skills are in demand today and will become priceless tomorrow. See: Top Development Skills. Front runners, such as Google, Amazon, Tesla, Apple and more are competing for the talents and getting ready to produce intelligent systems with a completely new architecture.
This Knowledge-Driven Architecture  is the optimal combination of humans’ ability to suggest new approaches with computerized translation of these ideas into properly formatted, executable instructions.
The conversational system will search all available knowledge domains and in the difficult cases come back to a SME with clarifying questions. Eventually, they (SME and the system) will be able to successfully model and implement the idea into a product and manufacture the product with the tools similar to 3D-printers.
An important feature of the Conversational Semantic Decision Support system is the benefit of naturally growing Ontologies and conversational scripts as the result of conversations. The benefit, which people also have in the most conversations. Yes, it is a two-way street!
This is not just a dream. The online book, “IT of the future”, http://ITofTheFuture.com , focuses on practical steps transitioning from the current complexity of enterprise to Semantic Cloud Architecture. The book describes the way of carefully placing the seeds of the new technology in the current business ground and potentially getting about 50% of budget saving in the process.
An important instrument for such process is a common playground for developers and subject matter experts. A working prototype, Business Architecture Sandbox for Enterprise (BASE).
A web application, integrated with Mule ESB, BASE includes one of the lightest versions of FIBO as Industry Ontology and provides the way of creating Business Ontology and Service Ontology on the fly, while creating services and workflows. The main focus is on engaging subject matter experts in the new paradigm of creating business processes and workflows on-the-fly with situational scenarios, limited collaboration with developers and conversational semantic support.
BASE is not positioned as a product, but as ideology to follow. The book describes a great deal of technical details of BASE helping to re-create and customize the tool.
I will come back to BASE a bit later.
The steps in the technical ladder leading us to the semantic revolution
SOA ruined the all-in-one programming paradigm and shifted development focus from applications to services.
Microservices fight for independence against application flavors. Independence is expensive. Getting rid of application specifics, the essence of a service become smaller. Trying to play well in any environment, the shell of the service, the frame of the service package, is getting thicker.
There is an associated cost and potential profit in years to come. While associated cost is well visible, it is harder to estimate return on investment (ROI). Unfortunately (or fortunately) accumulation of changes in technology and business direction throw away whole systems or brings a new development paradigm to redo them. This happens every three-five years.
Massive Cobol systems are still running on mainframe not because of that technology superiority. They are just “too big to fail”. Symbolizing more liability than profitability, these heavy-weight old systems are hard to replace in one shot. This requires long term mentality and provisioning, which is also hard to find today in the corporate world.
The bottom line: Microservices is the right step in many cases, although not in all. One of the benefits is that they make our constructions less monolithic, lighter, and easier to change. Smaller pieces and bigger variety of them require better handling tools and more automation. This is still coming.
RAML introduces a semantic flow of technical descriptions of API, which improves the way of handling Microservices.
DataSense by MuleSoft adds important metadata language that adds to this semantic flow of software design. Each company chooses their own naming conventions. While these naming conventions look good for one business, they might have different names in another business. The next step is to prepare these services working across several businesses with different business dialects. This can be done via a canonical semantic data schema, or more precisely via the semantic graph, a semantic integration layer.
A Semantic graph can represent a business domain, providing canonical object names with their synonyms and connections between objects and their properties. The semantic integration layer serves as a formal data dictionary for choosing the names, which will work across multiple business dialects in the same business domain.
The illustration below tells the story of the integration evolution, from point-to-point to centralized integration with Enterprise Service Bus (ESB), and further to canonical interfaces with the semantic layer, which connects multiple business dialects.
This semantic layer will provide mapping of proprietary data to the Canonical Data Model (Common Ontology) language. This is an important component of system integration. This is also essential for designing API for 3rd party developers.
Enterprise Service Bus (ESB) handles the messages from many services and applications. To subscribe for a message or a topic any subscriber needs a precise description of a specific message or a topic. Such descriptions are usually very technical by their nature.
The semantic layer on the top of ESB will change the way of handling enterprise messages.
This layer will allow developers to introduce a semantic listener program and provide opportunities for subject matter experts to talk business terms while expressing their interest in specific reports based on enterprise messages. And this is another step in the right direction: preparing a semantically-rich enterprise environment.
By providing meaningful service names, descriptions, and messages, developers establish better connections between business functions and their technical implementations. Semantically rich environment improves search for people and computer programs in multiple areas: root-cause analysis, business process modeling, creating and managing applications. This is the direct connection between business requirements and API-led development.
One example of a direct interaction between business, developers and ontology can be seen with the setFinalPayment() operation/method that is defined in the FinalPayment service. The FinalPayment is one of the existing concepts in the Financial Industry Business Ontology (FIBO). .
By sticking to the names describing business processes in FIBO, developers, architects and business analysts, working in financial industry, will come closer to a common language that is the key in improving business efficiency.
Semantic Logging and Semantic Listener
In a semantically rich environment, there is no need for complex monitoring tools. The service names and descriptions as well as application messages are self-explanatory and directly tied to the semantic execution model.
Read more in the next issue…
- Cycorp combines an unparalleled common sense ontology and knowledge base with a powerful reasoning engine and natural language interfaces, http://cyc.com
- Financial Industry Business Ontology (FIBO) standard, http://www.edmcouncil.org/financialbusiness
- Conversational Semantic Service Map, Yefim (Jeff) Zhuk, The system for collaborative design, assembly on-the-fly, execution, benchmarking, and negotiation of computer services and applications by developers and subject matter experts, US Patent Pending.
- Knowledge-Driven Architecture, Yefim Zhuk, Streamlining development and driving applications with business rules & scenarios, US Patent, http://www.google.com/patents/US7774751
- The book online, “IT of the future”, http://ITofTheFuture.com, focuses on practical steps to transition the current IT of competing applications to a unified Semantic Cloud Architecture and describes Business Architecture Sandbox for Enterprise.
- Adaptive Robot System with Knowledge-Driven Architecture, Yefim Zhuk, On-the-fly translations of situational requirements into adaptive robot skills, US Patent, http://www.google.com/patents/US7966093
- MuleSoft Enterprise Service Buse (ESB), https://www.mulesoft.com/
- Apache ActiveMQ, http://activemq.apache.org/
- Distributed Knowledge and Process system, Yefim Zhuk, The system allows negotiate multiple forms of collaboration, and contains sufficiently flexible levels of data security for online collaboration, US Patent,http://www.google.com.sv/patents/US7032006
- Collaborative Security and Decision Making, Yefim Zhuk, transforming a beautiful idea of collaborative security decision making into a working system, US Patent, http://serviceconnect.org/
- Rules Collector system, Yefim Zhuk, Transforming “tribal knowledge” into formal rules to drive applications and business processes, US Patent, http://captureknowledge.org/
- Top Development Skills – review, http://topdevelopmentskills.com/TopDevelopmentSkills.pdf
- Internet Technology Summit Program – integrated software and knowledge engineering, http://InternetTechnology.us
- Galvanize IT – teaching Data Science, galvanize.com
Read more about conversational development and the changes in technology and society in the nearest future at http://itofthefuture/book/message.pdf.