OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
The use of microservices to implement cross process integration and data sharing
1. The use of microservices to implement cross process
integration and data sharing
IT department Monrif S.p.A
balint.maschio@monrif.net
2. Agenda
• Monrif’s heterogeneous software environment
• The selection of microservices as integration paradigm
• Development of a microservices vision within the IT department
• Project development and example
• Implementing microservices in Jolie in industrial environment
• Successes and problems
• Q/A
3. Heterogeneous software environment
• The company is operating in market for more that a century
• The software present in Monrif can be divided in two main
categories
• Software involved in the production of media content and their
distribution both on paper or online.
• Software involved in the management of the company, with all
the typical enterprise processes
• Growing need of data and processes interconnectivity
5. Heterogeneous software environment before
microservices
ERP
DMS
e-com
e-banking
CMS
HR
SW
Sales Management
software
Media
collaboration
Management
Logistic and
distribution
software
Production
and production
line software
CSV
PDF+
TXT
CSV
CSV
CSV
CSV
6. Heterogeneous software environment before microservices
• Most of the data sharing was done extraction and acquisition of
files via batch processes
• Batch jobs can be difficult to monitor and can take a considerable
amount of time
• The same file can not be used by more processes, forcing the
development of 1 to 1 solution each time that we want to add some
more connectivity
• More data we want to share more processes to check on and
control
7. What about SOA coupled with a ESB
Common Framework
Application
1
Application
2
Application
3
Application
4
Application
n
8. Looking at ESB from a small team prospective
• Taking in consideration a ESB as Talend with 5 people strong
team
• Time constrained team
• Unknown series of technologies ( Apache Camel, Apache CXF,
Apache Karaf and Apache Zookeeper)
• Steep learning curve both in terms of architectural prospective
and technological knowhow
• Will required an intensive use of external consultancy
9. An example of quote for a Talend project
Common Framework
Sales
Management
software
e
commerce
ERP Salesforce
10. What about using microservices to move data?
CC
O
A
p
p
1
A
p
p
3
A
p
p
2
O
C
SOAP
11. Looking at microservices from a small team prospective
• Taking in consideration microservices architecture with 5 people
strong team
• Time constrained team
• We could approach the project dividing it into process bounded
steps within a larger domain ( ex : Purchase Chain , Plant
Management )
• Smaller project steps that can be handled by a small team
• The delivery of smaller steps facilitates the switching off of
application to application integration
• Smaller project can fail without considerable financial and
organizational implications
12. JOLIE as microservices language
• A successful integration project already developed in Jolie present in
the organization
• Small footprint to run Jolie microservices
• The availability of light weight Jolie enterprise microservices
monitoring and control tool
• Easy to learn grammar and programming technique
• Possibility of developing our own Java embedding Jolie microservice
13. Monrif’s vision on Microservices
• Data or Connector microservices : those microservices that act on a
data base or native software via native connector
• Orchestrator : those microservices that use other microservices
operation to deliver a specific business logic
• Event Handler those microservices that are able to respond to a
specific external input
• Synchronizer those microservices the execute specific task to
periodically
14. Document Management Process
S
A
P
D
M
S
RFC
HTTP
RFC Server
RFC
H
H
C
O
ArchiveLink
RFC Client
D
C
Mapper
Workflow
DNS Connector
H
API JSON
O
HR
SW
Leonardo
SODEP
SOAP
DB
CONNECTION
D
XML Service
H
API JSON
SODEP
15. Some Data
• Full Invoice management
• Full Purchase Chain Document Management (Request of Investment,
Request Of Purchase , Order Request)
• Full Logistic Document management.
• More than 20k documents written every month
• We handle new class of documents with working on the architecture
but working on the implementation of the microservices
• Change of services interfaces are strongly linked with add of new
functionalities or logic
17. Some Data
• Possibility to delivery data from a SAP in a friendly way
• Using of Domain identification to provide authentication capability to
any web application running on Leonardo WEB server
• Data visibility limitation using domain property
• “Smart” replication of data from and to SAP
19. Some Data
• Possibility of using SAP fiscal validity to validate VAT and other fiscal
Data
• The possibility of process API call with different data format with out
having to change a single line of code
• Capability of using external API in a fast and easy way
• More than 5K transaction a month
21. Some Data
• Centralized governance of collaborator contracts
• Reduction of transcription error between different software
22. Monitoring and Control
• Centralized control platform to load deploy and activate the services
• Fully traceable process both in terms of data tracing that operation
calling
• Centralized Process Error Compensation
• More that a 1M messages Logged Monthly
23. What went right
• Architecturally
• Possibility to deliver system integration step by step without a big project
• Fast response time in case of change of requirement ( hours not days)
• Easy way to deliver data visibility from different sources
• LEGO like software composition
• Jolie
• Easy language to learn even from very different background
• Pattern Coherent Langue ( I think microservices I program
microservices)
• Protocol agnostic ( no need to change a single line of code if the
protocol changes)
• Some powerful language key features
24. What could have gone better
• Architecturally
• Granularity of the services, can we have metric to define better
boundaries of microservices
• Data handling, is our Business Object approach correct or we need to
look at Data with a finer grain
• Jolie
• Missing some developing aide tool
• Some more documentation needed