Services Map Platform (SMP)
SMP Architect Executive Summary
What is our Services Map Platform (SMP)?
First, we need to understand that almost all frameworks and technologies including
Java, .NET, messaging services, web services, databases and infrastructure run
in a vacuum and do not have the basic communication of data exchanges. Such data exchange
was and still is the responsibility and the burden of the development teams. They are
the ones who are responsible for data exchanges. Not to mention that the same services
are done redundantly without considering reusability.
The world is moving to the cloud regardless if companies are still lagging behind. Cloud
service is the current buzzword and both clients and software vendors have not fully utilized
virtualization to build true cloud services. DevOps is the main player in building
cost-effective cloud services. Regardless of owning or outsourcing data centers, DevOps
as a cloud service is what will give companies the competing edge and drastically cut the
development and operating cost.
Our SMP is a platform and not a Service Oriented Architect (SOA).
What is Services Map Platform (SMP) trying to accomplish?
Global institutions (including financial) handle their growing Big Data and distributed
system by employing multiple data centers, active sites (near zero downtime), Bi-directional
replication, security, web services, cloud platforms and web-mobile services. Their major
issues of implementation and coordination are the use of different technologies,
platforms, frameworks, data exchange and vendors' support. On/offshore teams of infrastructure,
development and testing are additional constrains. Not to mention, these system encompasses
cyber security, Big Data, machine learning, risk management, controls, compliance and oversight,
and cloud-mobile services. The key is to enable the business by keeping the firm safe, stable,
resilient plus significantly reducing the development and maintenance cost.
Main Issues and the Return on the Investment:
These institutions are not in the software business and even with the help of their software
vendors, they end up building throw away software system. To reverse such costly trends, these institutions
need to investing in their reusability of existing system by mapping new and
existing services for reuse.
DevOps (cooperation and coordination between development and infrastructure) and virtualization
are not fully utilized and investing in taking DeveOp to the next level of automation and intelligence would have a great return on such investment.
DevOps as a cloud service is what will give companies the competing edge and drastically cut the development and operating cost.
In a nutshell, SMP is reusing existing services or software plus building intelligent and automated DevOps.
Help institutions build reusable platforms
Using virtualization, cloning, DevOps and existing software system and structures
to build reusable services and end the costly throw away software by providing reusable
platforms for future products and services
SMP will end the dependency of using vendors software and their support
It is critical that management envision the return on the investment, saving
and the freedom from vendors' dependencies and support.
Cost and Investment:
Management is critical to the success of institutions and projects and must have
visions for the future. The cost of any project is not only the project's
analysis, architect-design and development, but also the cost of keeping the firm
safe, stable and resilient. The consulting vendors' support and on/offshore
operations and teams are cost variables which are not addressed adequately.
Management must envision the future and invest in such system as SMP. Management
need to envision the advances and advantages of virtualization and DevOps. The
main objective of this page is to present the cost of building and operating SMP
and the return on the investment.
2,000 Foot View of SMP Architect
Image #1 - 2,000 Foot View of SMP Architect
The main ingredients of SMP architect are:
• Virtual Services (Servers)
• Data Exchanges
• Mapping of Services
• Service Calling Vectors
• Management and Documentation
Virtual Server Components, Virtual Server Containers and Virtual Networks
Any software or a service can be installed as a virtual server. We identify such service
as a "Virtual Service Component". A number of virtual service components can be grouped
and installed into a virtual service, which we identify as a "Virtual Server Container".
Virtual Server Containers make up a Virtual Network.
What is a server?
Server software is a type of software that is designed to be used, operated and managed
on a computing server. It provides and facilitates the harnessing of underlying server
computing power for use with an array of high-end computing services and functions. In
short, a server is a functional-programmable software component.
What is virtual server?
A virtual server (VS) is a server that shares hardware and software resources with other
operating systems (OS). Because they are cost-effective and
provide faster resource control, VS(s) are popular in web hosting environments.
Each VS can run its own operating system and applications. Therefore, virtualization reduces
the need for additional server infrastructure and provides a cost-effective way to deliver
different types of services
Ideally, a VS mimics dedicated server functionalities. Rather than implement
multiple dedicated servers, several VS may be implemented on one physical
or VS. Therefore, a VS may contain other VS.
Building and Cloning of Services
A VS template is a master copy of a virtual server that can be used to create many clones. When
you clone a virtual server, you create a copy of the entire virtual server, including its
settings, any configured virtual devices, installed software, and other contents of the virtual
server's disks. A template is a perfect, model copy of a virtual server from which an administrator
can clone, convert or deploy more virtual servers.
Automation of Building Virtual Servers and Clones
DevOps as a service must build automated tools to created virtual services, virtual
networks, virtual cloning services. Our Intelligent DevOps Editor - "Turn Key"
Software pages covers our approach and architect for building such DevOps service and Editors:
Image # 2
Images # 2 is our presentation of virual server components and containers.
Data exchange includes processes and data formatting. These processes and data
formatting would incorporate software, web services, different technologies, databases, security, tiers,
networks, memory resident, buffering, disk space, text, XML, excel Spreadsheets,
Big Data, CRM, data streaming, Legacy System, batching and what else we need to
include. Data exchange needs to be addressed and handled properly.
Therefore, data exchange must be simple, intelligent, fast, secure and
loosely coupled. We recommend building data exchange parsers and convertors as
services to data exchange.
To simplify data exchange, we may have to design a universal data structure which would be accepted as a standards of exchange or communication. Such a universal data structure should be able to store any data type. It should be also easily parsed by other software to retrieve the stored data within it. For example, Java Data Access Object (DAO) can be dynamically created to store any data type including other DAO. Also Java Reflection can be used to retrieve the data stored as private class properties. The same thing can be applied to XML tags and files. We may also use C-tables and DataTable Classes to exchange data with other technologies such as .NET.
We are proposing the following exchange data structures for data exchange:
• Java Data Access Object (DAO)
• Message Queues
We are also open to other data format.
Parser and Convertor Example:
Our Intelligent CRM Metadata Project site has a page which covers Data Access Object (DAO) Data Structure.
The page has our First Parser-Converter Seed With Java Code.
The following are the actual Java code for our "ICM_DB_TestComponents" project.
We created our first Parser-Converter Java code and we called "Using Business Rule #1".
The following link is the actual Java code for our "ICM_DB_TestComponents" project:
Mapping of Services
SMP is architected to eliminate redundancies by using existing services.
Therefore, the old saying:
"if it ain't broke don't fix it"
applies here. We are trying:
• Map or list existing services
• Map or list new services
• Set the data exchange or communication format
• Set security
• Create Services Calling Vector to make or execute the mapped services (local or remote)
• Using Virtualization and cloning to add/remove these services dynamic as needed
With the assumption that one of the existing Hibernate components can be called to
retrieve a Java ArrayList containing Java Set objects. Each Java Set object contains the
target data. SMP Data Exchange Parser would be developed to use Java Reflection to
parse the Java ArrayList with its Java Set objects to retrieve the target data. The
SMP Data Exchange Convertor would convert the parsed data to Java ArrayList of DAO,
where new services can use. Such reusability of existing code and services would reduce
developing new code. The key is testing the existing code and SMP Data Exchange Parsers
The same scenario can be implemented with .NET C-Tables or DataTables objects.
SMP security is an independent service, where security is implemented as an independent
layer. For example, firewalls can be installed as virtual servers, or the actual firewall
box installed to work with the bare-metal servers.
Virtualization and cloning can be used to implement any of the following:
HTTPS, firewalls, proxy servers, server security, sockets security (SSL), encryption-decryption,
Authentication, Authorization, application security, third party security, other security,
database security, plus whatever we did not mention.
Shared IP Addresses and Security:
IP addresses are shared by different applications, servers and users. Security admin as
well as any automated security scripts, services, cloning or installation must implement processes
which check for handling any shared IP.
Service Calling Vectors
Services calling other service may require the processes of executing external programs. These
processes must be automated with the handling of logging, audit trail, errors and exceptions. Our
approach is the creation of vectors of calling external programs. These vectors can be implemented
as Java programs, shell scripts or what may be best in the running environment. The following
are what must be considered:
• Security parameters
• Local or remote
• Server type
• Executing the service
• Address or IP
• Memory required
• Database server
• Exception and error handing
• Logging, tracking and audit trial
• Security required (physical or virtual)
• File Transfer – SFTP & NDM, SAN, NAS, DTS
Management and Documentation
SMP is a platform built by using DevOps as its foundation. SMP's architecting-managing
requires clear vision of the target goals, ownership and accountability. Building
effective partnership across organizational boundaries, coordinating, planning, and
tracking of risks, and control. Collaborating with change management and the various
lines of businesses. Creating metrics to measure the impact and effectiveness of
controls and users' experience. Building central point of contact, as well as coordination
and planning. Developing processes and procedures to identify the efficient performance
and innovate approaches. Managing communications, collateral, and coordination of training.
The following are links to our Management and Documentation pages for more details:
SMP is a platform and we are implementing our OO testing approach.
OO testing would involved different teams where each team own their testing objects.
They also own or run the interfaces associated with these testung objects. For example, developers who
perform the software testing can recognize the portion of the testing such as the running
applications and their interfaces. The DBA can see the database, bridges, SAN, NAS and
batches. OS Admin sees the fact that everything running on his working OS . As for the
management and supporting staff, the entire testing is resting on their shoulders
and their goals are the Testing Checklist Goals.
This site has a number of pages for SMP testing plus the following link is our CRM Data Farm Testing page: