wso2con eu 2016: real-time monitoring of api architectures

18
Real-&me Monitoring of API Architectures Ma#eo Bordin Profesia

Upload: wso2-inc

Post on 13-Feb-2017

166 views

Category:

Technology


1 download

TRANSCRIPT

Real-&meMonitoringofAPIArchitectures

Ma#eoBordinProfesia

Profesia

Profesia

DevOps IoT

Testing

ALM

SOA Business Intelligence

SecurityDigital Publishing

Training

ALM+PLM

traceability

standard compliance

Open Source

Big Data

User Experience SS4B

Enterprise Mobility

agile

IoD

University

Usability

API BPM

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":”Applica5onservererror"}}

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

Profesia

The Solution Idea

Profesia

The Solution Architect L0

Analy&c

Server

DataRepository

Profesia

The Products

Analy&c

Server

DataRepository

Profesia

Message Flow

Profesia

Message Flow

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

dataPublisher.stop(); !…

Profesia

Message Flow

<bamxmlns="hLp://ws.apache.org/ns/synapse"><serverProfilename=”DASServices"><streamConfigname=”ApiServiceError"version="1.0.0"></streamConfig></serverProfile></bam>

Profesia

API-Flows

ApiStatError

ApiStatStart

ApiStatStopApiServiceStatus

ApiServiceError

ExecServiceStatus

ExecServiceError

SendEmail

execError

ErrorCount

Profesia

ESB-Flows

ESBStatError

ESBStatStart

ESBStatStopESBServiceStatus

ESBServiceError

ExecESBSrvStatus

ExecESBSrvError

SendEsbEmail

execError

ESBErrCnt

Profesia

Java Implementations

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

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

Profesia

Why this solution

•  Easy–  Implement–  Deploy–  reproduce

•  Concretereturnvalue•  Interac&ve&Incremental

Profesia

Performance

•  DASclustering•  Databaseclustering•  Applica&onserverredundant

Profesia

Management

•  Notcomplexinstalla&on•  Oneconfigura&onfiles•  CopyPasteInstalla&on

Profesia

The Outcome

•  Retrieveproblems•  Visualizeproblems•  Morevisualiza&on

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-oregon http://www.where-to-go-in-italy.com/white-truffles.html

ThankYou!

#WSO2ConEU

Shareyourfeedbackforthissessionwso2con.com/app