18
Real-time Monitoringof API Architectures Matteo Bordin Profesia

Real-time Monitoring of API Architectures

Embed Size (px)

Citation preview

Page 1: Real-time Monitoring of API Architectures

Real-timeMonitoringofAPIArchitectures

MatteoBordinProfesia

Page 2: Real-time Monitoring of API Architectures

Profesia

Page 3: Real-time Monitoring of API Architectures

Profesia

DevOpsIoT

TestingALM

SOABusiness Intelligence

SecurityDigital Publishing

Training

ALM+PLM

traceability

standard compliance

Open Source

Big Data

User ExperienceSS4B

Enterprise Mobilityagile

IoDUniversity

Usability

APIBPM

Page 4: Real-time Monitoring of API Architectures

Profesia

The Problem<SOAP-ENV:Body>

<SOAP-ENV:Fault> <faultcode>SOAP-ENV:Client</faultcode> <faultstring xml:lang="it"> </faultstring>

</SOAP-ENV:Fault></SOAP-ENV:Body>

<soapenv:Fault><faultcode axis2ns57:Server</faultcode><faultstring> </faultstring>

</soapenv:Fault>

{"error":{"code":404,"message":"IDnotfound"}}

{"error":{"code":500,"message":”Applicationservererror"}}

{"error":{"code":404,"message":""message":"Couldnotconnecttodatastore."}}

Page 5: Real-time Monitoring of API Architectures

Profesia

The Solution Idea

Page 6: Real-time Monitoring of API Architectures

Profesia

The Solution Architect L0

Analytic

Server

DataRepository

Page 7: Real-time Monitoring of API Architectures

Profesia

The Products

Analytic

Server

DataRepository

Page 8: Real-time Monitoring of API Architectures

Profesia

Message Flow

Page 9: Real-time Monitoring of API Architectures

Profesia

Message Flow

Object[] dataObj = newObject[]{apiName,theTime, theError};Event eventAlarm = new Event(streamIdError, System.currentTimeMillis(),new Object[0] , null, dataObj );try{… dataPublisher.publish(eventAlarm);

dataPublisher.stop();…

Page 10: Real-time Monitoring of API Architectures

Profesia

Message Flow

<bamxmlns="http://ws.apache.org/ns/synapse"><serverProfile name=”DASServices"><streamConfig name=”ApiServiceError"

version="1.0.0"></streamConfig></serverProfile>

</bam>

Page 11: Real-time Monitoring of API Architectures

Profesia

API-Flows

ApiStatError

ApiStatStart

ApiStatStopApiServiceStatus

ApiServiceError

ExecServiceStatus

ExecServiceError

SendEmail

execError

ErrorCount

Page 12: Real-time Monitoring of API Architectures

Profesia

ESB-Flows

ESBStatError

ESBStatStart

ESBStatStopESBServiceStatus

ESBServiceError

ExecESBSrvStatus

ExecESBSrvError

SendEsbEmail

execError

ESBErrCnt

Page 13: Real-time Monitoring of API Architectures

Profesia

Java Implementations

...HttpURLConnection con = (HttpURLConnection) obj.openConnection();...if (responseCode>=200 && responseCode<300){

retResponse = "OK";}MonitorContainer.addMonitorItem(url,retResponse);

Page 14: Real-time Monitoring of API Architectures

Profesia

Why this solution

• Easy– Implement– Deploy– reproduce

• Concretereturnvalue• Interactive&Incremental

Page 15: Real-time Monitoring of API Architectures

Profesia

Performance

• DASclustering• Databaseclustering• Applicationserverredundant

Page 16: Real-time Monitoring of API Architectures

Profesia

Management

• Notcomplexinstallation• Oneconfigurationfiles• CopyPasteInstallation

Page 17: Real-time Monitoring of API Architectures

Profesia

The Outcome

• Retrieveproblems• Visualizeproblems• Morevisualization

http://www.ristorante-mammarosa.it/fino-al-6-dicembre-menu-base-di-tartufo-di-acqualagna/http://www.theguardian.com/environment/2016/jan/10/truffle-trackers-how-dogs-and-humans-help-ecology-and-gastronomy-in-oregonhttp://www.where-to-go-in-italy.com/white-truffles.html

Page 18: Real-time Monitoring of API Architectures

ThankYou!

#WSO2ConEU

Shareyourfeedbackforthissessionwso2con.com/app

[email protected]