Microservices, RAML, DataSense by MuleSoft, and the Next Step
In the beginning was the Word…
One of the earliest known civilizations was Sumer, in the Uru region of the Middle East (now Southern Iraq), about five thousand years ago.
The Sumerians soon dissolved into the Chaldeans, Jews and Babylonians, but not before developing a system of numbers and writing, which is the foundation of the system that we use today.
The number of Sumerian glyphs was between 400 and 1000. They represented words or small parts of words.
Chinese language has from 40,000 to 80,000 characters (hieroglyphs), depending on which dictionary you pick.
The Kangxi Dictionary describes about 40,000 characters, while the modern Zhonghua Zihai shows nearly 80,000. This number is comparable to the number of words in a modest English dictionary.
Chinese characters represent words and complex concepts, sometimes phrases and even sentences, an “all-in-one” communication solution.
A significant development in human history, languages went a long way towards optimizing the expression and communication of thoughts, ideas and dreams. Alphabets represent the smallest pieces that can be used to form words, and further combined to construct sentences, articles, journals and books.
Can you see a clear analogy in the software world? From “all-in-one” programs to smaller and smaller pieces.
Looking for ways to communicate with computers, computer languages started with numbers and evolved to using English words to describe variables, properties and operations.
(Find more about the history of computing and computers here: http://itofthefuture.com/BASE/Lookup?action=content&issueID=5.)
But the ultimate communication tool is still our living language. There is no more powerful alternative to that flow, created over thousands of years.
We are coming closer to the point when computers will understand natural language.
Then we will be able to establish a new type of development.
The development, modeling and manufacturing processes will be available to a non-technical person who has creative ideas but not the “know how” details.
What we today call design and development will transition into a direct conversation between a person and a sophisticated computer program which can be called “a modeling and manufacturing factory”.
Initiated by a person and supported by the conversational semantic system, these conversations will help to clarify the initial ideas. Whenever the system has a hard time understanding a human, the system will start asking a set of clarification questions.
Developers at any enterprise: Enterprise Architects, Enterprise Data Masters, Enterprise Service developers and all kind of Subject Matter Experts will initiate a conversation and with system support will be able to develop a working application.
The system of Conversational Semantic Decision Support is based on several ontologies and conversational scripts, prepared up front to clarify human expressions that cannot be immediately resolved to concrete understandings.
The word Ontology has several meanings. Here it is a computer file with representations of knowledge, focused on a specific domain and organized in a graph of Linked Data.
The biggest challenge is obtaining Common Sense Ontology, which helps in understanding human expressions. The most expressive Common Sense Ontology has been developed by Cycorp , but their heavy-weight knowledgebase and the mechanisms of handling ontology are far from the current RDF-based mainstream of semantic technology. (They started long before the mainstream became mainstream.)
Business Ontology reflects corporate business specifics, corporate rules, policies and processes. Some companies, such as Sallie Mae and Wells Fargo, have developed or are in the process of developing their Business Ontology on top of Industry Ontology.
The financial industry was the first to create a standard ontology that reflects financial operations.
Due to the government support and direct order, and to collaborative efforts by the Enterprise Data Management Council (EDM Council) and Object Management Group (OMG), the Financial Industry Business Ontology (FIBO)  has been released as a series of standards, providing a description of the structure and contractual obligations of financial instruments, legal entities, market data and financial processes. (I am proud to be a participant in this work as a member of the FIBO technical committee.)
Service Ontology is a semantic graph of services with their descriptions. Think of a semantic service map, which can be developed for conversational interaction .
The person will be working in collaboration with the system to model and manufacture the desired implementation. The computer system will have access to “know how” details and will be able to add more to its library (think of services and Microservices) as a result of conversational interaction with the computer system.
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 we, people, also have in the most conversations. Yes, it is a two-way street!
Read more about conversational development and the changes in technology and society in the nearest future at http://itofthefuture/book/message.pdf.
This is not just a dream. The book online, “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 some limited collaboration with developers.
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. At this point, I would like to briefly review 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, which is a very important one, 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 3-rd party developers.
Enterprise Service Bus 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. 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/