Skip to content

Instantly share code, notes, and snippets.

@dgomesbr
Forked from kbastani/microservices.adoc
Last active August 29, 2015 14:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dgomesbr/4e407caeccbb45ba5e63 to your computer and use it in GitHub Desktop.
Save dgomesbr/4e407caeccbb45ba5e63 to your computer and use it in GitHub Desktop.

Service Design - Bemobi

Sample Dataset

This sample dataset is a representation of Bemobi

// BEMOBI DB
MATCH (n)-[r]-() DELETE n, r;
MATCH (n)-[r]-() return n, r;

// Containers
CREATE 	(tomcat:Container { name: "Tomcat"}),
		(jboss4:Container { name: "JBoss 4.2.3"}),
		(jboss5:Container { name: "JBoss 5.x"}),
		(wildfly:Container { name: "WildFly"}),
		(boot:Container { name: "Spring Boot"}),
		(apache:Container { name: "Apache"}),
		(nginx:Container { name: "Ngnix"})

// Teams
CREATE 	(plataformasTeam:Team { name: "Plataformas"}),
		(canaisTeam:Team { name: "Canais"}),
		(cupomSMSTeam:Team { name: "CUPOM e SMS"}),
		(clubesTeam:Team { name: "Clubes e Education"})


// Platforms
CREATE	(subscription:Platform { name: "Subscription"}),
		(itv:Platform { name: "INPO"}),
		(core:Platform { name: "MTG-Core"}),
		(solr:Platform { name: "SOLR"}),
		(mum:Platform { name: "MUM"}),
		(infosender:Platform { name: "InfoSender"}),
		(infoservices:Platform { name: "InfoServices"}),
		(ticket:Platform { name: "Ticket"}),
		(openx:Platform { name: "Open X"}),
		(revive:Platform { name: "Revive"}),
		(api:Platform { name: "API"}),
		(vitrine:Platform { name: "WAP Portal "}),
		(ura:Platform { name: "URA"}),
		(education:Platform { name: "Education"}),
		(descontos:Platform { name: "Descontos"}),
		(callcenter:Platform { name: "Callcenter SVA"}),
		(user:Platform { name: "User"}),
		(simcard:Platform { name: "SIMCARD Menu"})

// Data Store
CREATE	(mssql:DataStore { name: "Microsoft SQL Server"}),
		(mysql:DataStore { name: "MySQL"}),
		(couchdb:DataStore { name: "CouchDB"})

// Components
CREATE	(recharger:component { name: "recharger"}),
		(subsbatch:component { name: "Subscription Batch"}),
		(subsapi:component { name: "Subscription API"}),
		(subsclient:component { name: "Subscription Client"}),
		(ticketclient:component { name: "Ticket Client"}),
		(ticketapi:component { name: "Ticket API"}),
		(inpoconsole:component { name: "INPO - Simulador"}),
		(inpoapi:component { name: "INPO API"}),
		(mumws:component { name: "MUM-WS"}),
		(mumintegration:component { name: "MUM Integration"}),
		(pubnews:component { name: "PubNews"}),
		(infosenderwizard:component { name: "Wizard"}),
		(infosenderadmin:component { name: "InfoSender Admin"}),
		(sat:component { name: "SAT"}),
		(wib:component { name: "WIB"}),
		(userapi:component { name: "USER API"}),
		(campaignapi:component { name: "Campaign API"}),
		(corews:component { name: "MTG-Core WS"}),
		(coresubs:component { name: "MTG-Core Subscription Antigo"}),
		(coreuser:component { name: "MTG-Core User"}),
		(coremedia:component { name: "MTG-Core Media Search"}),
		(corecheckout:component { name: "MTG-Core Checkout"}),
		(coreprice:component { name: "MTG-Core Price Rules"}),
		(togo:component { name: "TOGO"}),
		(solrindexapps:component { name: "Solr Apps"}),
		(solrindexmedia:component { name: "Solr Media"}),
		(solrindexartist:component { name: "Solr Artists"}),
		(solrindexalbum:component { name: "Solr Album"}),
		(scheduler:component { name: "Scheduler"}),
		(amq:component { name: "ActiveMQ"}),
		(cupomweb:component { name: "Descontos Web"}),
		(cupomcore:component { name: "Descontos Core"}),
		(wapvitrine:component { name: "Wap Vitrine"}),
		(wap2020:component { name: "WAP 2020"}),
		(landingpages:component { name: "Landing Pages"}),
		(eduweb:component { name: "Education Web"}),
		(eduapi:component { name: "Education API"}),
		(educore:component { name: "Education Core"}),
		(ccg:component { name: "Credit Card Gateway"}),
		(statistics:component { name: "Statistics API"}),
		(partnerclient:component { name: "Partner Integration"}),
		(cdfclient:component { name: "CDF Integration"}),
		(fortunaws:component { name: "FortunaWS"}),
		(zenviaclient:component { name: "Zenvia Client"}),
		(amxdatasyc:component { name: "AMX DataSync"}),
		(callcentersva:component { name: "Callcenter SVA"}),
		(callcenterUnico:component { name: "Callcenter Unico"})

// Ownership
CREATE	(plataformasTeam)-[:OWNS]->(subscription),
		(plataformasTeam)-[:OWNS]->(itv),
		(plataformasTeam)-[:OWNS]->(core),
		(plataformasTeam)-[:OWNS]->(solr),
		(plataformasTeam)-[:OWNS]->(mum),
		(plataformasTeam)-[:OWNS]->(infosender),
		(plataformasTeam)-[:OWNS]->(infoservices),
		(plataformasTeam)-[:OWNS]->(ticket),
		(plataformasTeam)-[:OWNS]->(api),
		(plataformasTeam)-[:OWNS]->(callcenter),
		(plataformasTeam)-[:OWNS]->(user),
		(canaisTeam)-[:OWNS]->(vitrine),
		(canaisTeam)-[:OWNS]->(ura),
		(canaisTeam)-[:OWNS]->(revive),
		(canaisTeam)-[:OWNS]->(openx),
		(cupomSMSTeam)-[:OWNS]->(descontos),
		(clubesTeam)-[:OWNS]->(education)

// Deploys
CREATE	(subscription)-[:DEPLOYED_IN]->(jboss4),
		(core)-[:DEPLOYED_IN]->(jboss4),
		(solr)-[:DEPLOYED_IN]->(tomcat),
		(itv)-[:DEPLOYED_IN]->(jboss5),
		(mum)-[:DEPLOYED_IN]->(jboss5),
		(infosender)-[:DEPLOYED_IN]->(wildfly),
		(infoservices)-[:DEPLOYED_IN]->(jboss5),
		(ticket)-[:DEPLOYED_IN]->(jboss4),
		(openx)-[:DEPLOYED_IN]->(apache),
		(revive)-[:DEPLOYED_IN]->(nginx),
		(api)-[:DEPLOYED_IN]->(jboss4),
		(vitrine)-[:DEPLOYED_IN]->(nginx),
		(ura)-[:DEPLOYED_IN]->(boot),
		(ura)-[:DEPLOYED_IN]->(jboss4),
		(education)-[:DEPLOYED_IN]->(boot),
		(descontos)-[:DEPLOYED_IN]->(boot),
		(callcenter)-[:DEPLOYED_IN]->(jboss4),
		(simcard)-[:DEPLOYED_IN]->(jboss4)

// subparts
CREATE	(recharger)-[:PART_OF]->(subscription),
		(subsbatch)-[:PART_OF]->(subscription),
		(subsapi)-[:PART_OF]->(subscription),
		(subsclient)-[:PART_OF]->(subscription),
		(ticketclient)-[:PART_OF]->(ticket),
		(ticketapi)-[:PART_OF]->(ticket),
		(inpoconsole)-[:PART_OF]->(itv),
		(inpoapi)-[:PART_OF]->(itv),
		(mumws)-[:PART_OF]->(mum),
		(mumintegration)-[:PART_OF]->(mum),
		(pubnews)-[:PART_OF]->(infoservices),
		(infosenderwizard)-[:PART_OF]->(infosender),
		(infosenderadmin)-[:PART_OF]->(infosender),
		(userapi)-[:PART_OF]->(user),
		(campaignapi)-[:PART_OF]->(ura),
		(corews)-[:PART_OF]->(core),
		(coresubs)-[:PART_OF]->(core),
		(coreuser)-[:PART_OF]->(core),
		(coremedia)-[:PART_OF]->(core),
		(corecheckout)-[:PART_OF]->(core),
		(coreprice)-[:PART_OF]->(core),
		(togo)-[:PART_OF]->(core),
		(solrindexapps)-[:PART_OF]->(solr),
		(solrindexmedia)-[:PART_OF]->(solr),
		(solrindexartist)-[:PART_OF]->(solr),
		(solrindexalbum)-[:PART_OF]->(solr),
		(scheduler)-[:PART_OF]->(infosender),
		(amq)-[:PART_OF]->(infosender),
		(amq)-[:PART_OF]->(subscription),
		(cupomweb)-[:PART_OF]->(descontos),
		(cupomcore)-[:PART_OF]->(descontos),
		(wapvitrine)-[:PART_OF]->(vitrine),
		(wap2020)-[:PART_OF]->(vitrine),
		(landingpages)-[:PART_OF]->(vitrine),
		(eduweb)-[:PART_OF]->(education),
		(eduapi)-[:PART_OF]->(education),
		(educore)-[:PART_OF]->(education),
		(ccg)-[:PART_OF]->(api),
		(statistics)-[:PART_OF]->(api),
		(partnerclient)-[:PART_OF]->(subscription),
		(cdfclient)-[:PART_OF]->(subscription),
		(fortunaws)-[:PART_OF]->(subscription),
		(zenviaclient)-[:PART_OF]->(subscription),
		(amxdatasyc)-[:PART_OF]->(subscription),
		(callcentersva)-[:PART_OF]->(callcenter),
		(callcenterUnico)-[:PART_OF]->(callcenter),
		(sat)-[:PART_OF]->(simcard),
		(wib)-[:PART_OF]->(simcard)

// Database
CREATE	(subscription)-[:USES]->(couchdb),
		(subscription)-[:USES]->(mssql),
		(itv)-[:USES]->(mssql),
		(core)-[:USES]->(mssql),
		(mum)-[:USES]->(mssql),
		(infosender)-[:USES]->(mssql),
		(infoservices)-[:USES]->(mssql),
		(ticket)-[:USES]->(mssql),
		(openx)-[:USES]->(mysql),
		(revive)-[:USES]->(mysql),
		(api)-[:USES]->(mssql),
		(ura)-[:USES]->(mssql),
		(education)-[:USES]->(mssql),
		(descontos)-[:USES]->(mssql),
		(descontos)-[:USES]->(couchdb),
		(callcenter)-[:USES]->(mssql),
		(user)-[:USES]->(mssql),
		(simcard)-[:USES]->(mssql)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment