Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
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