Real World PlantUML
Medias CRUD (Create ReadUpdateDelete)UserUserWebUIWebUIOrchestraOrchestraStorageStorageLoginGET /user/login (auth d@f.com:pass)Get user from MongoDBOK 200{"status"=200"value"={"_id": "<uuid>", "name": "David Fischer", ...}}'Successfull login'Medias Tabloop[every N seconds (AJAX)]GET /media (auth d@f.com:pass)Get medias from MongoDBOK 200{"status"=200,"value"=[{"_id": "<uuid>", "user_id": "<uuid>", ...}, ...]}<< Show/update medias list >>Add a media (with upload form, file transfer not shown)<< copy file into uploads path >><< operation terminated >>POST /media (auth d@f.com:pass){"uri": "glusterfs://...", "metadata": {"title": "Tabby"}, ...}<< check if file exist + rename & move it to medias path >><< operation terminated >>Save media (not the content (!)) to MongoDBOK 200{"status"=200,"value"={"_id": "<uuid_of_media>", "status": "READY", ...}}<< Flash info message'The media "Tabby" has been added.' >>Download a media<< read file from medias path >><< chunk 1/N of the file >><< chunk 2/N of the file >><< chunk N/N of the file >><< end of file >>alt[if auth. user is media's author (user._id == media.user_id)]Remove a mediaDELETE (auth d@f.com:pass) /media/id/<uuid_of_media>Set media status=DELETED into MongoDB<< delete file from medias path >><< operation terminated >>OK 200{"status"=200,"value"="The media \"Hotel Transylvania\" has been deleted."}<< Flash info message'The media "Hotel Transylvania" has been deleted.' >>
SEQUENCE DIAGRAM
5903267460546560
"标题"文档内容文档内容
SEQUENCE DIAGRAM
5909496505303040
Dodawanie serviceKontrolerMonitorUIUIkontrolerkontrolerkontrolerDBkontrolerDBmonitormonitormonitorDBmonitorDB1POST /service2Walidacja danychalt[dane poprawne]3dodaj do bazy4POST /service5Walidacja danychalt[dane poprane]6Dodaj do bazy7status 2018status 201[dane niepoprawne]9status 40010status 400[danie niepoprawne]11status 400
SEQUENCE DIAGRAM
5911127250698240
PlayerPlayerSimonSimonUserUserDatabaseDatabaseStart Gameloop[while ! end of game]Show SequenceSelect SequenceSend Score
SEQUENCE DIAGRAM
5916087803707392
AliceAliceBobBobinitAuthentication RequestAuthentication ResponserepeatAnother authentication Requestanother authentication Response
SEQUENCE DIAGRAM
5940593679138816
bStarting processing25% done50% done100% doneDone with processing
SEQUENCE DIAGRAM
5956742756171776
AliceAliceBobBobAuthentication RequestAuthentication ResponseAnother authentication Requestanother authentication Response
SEQUENCE DIAGRAM
5960606347689984
clientclienthttp_serverhttp_serverapplicationapplicationHTTP request with header,Transfer-encoding: Chunkedalt[default]loopHTTP chunkconcatenate chunkinto message bodyHTTP last chunkrequest received(is_chunked)response[chunk received callback]request received(is_chunked)loopHTTP chunkchunk receivedHTTP last chunkchunk received(is_last)responseHTTP response
SEQUENCE DIAGRAM
5965928349040640
使用者使用者頭等艙頭等艙第二類第二類最後一堂課最後一堂課完成這項工作創建請求創建請求這項工作完成請求創建做完
SEQUENCE DIAGRAM
5967219792019456
UserUserSystemSystemSelect "Random Palette"Display generated palettes screen
SEQUENCE DIAGRAM
5971267261825024
serverserverhttp_clienthttp_clientapplicationapplicationrequestHTTP requestHTTP response with header,Transfer-encoding: Chunkedresponse receivedloopHTTP chunk receivedchunk receivedHTTP chunk receivedchunk received(is last)
SEQUENCE DIAGRAM
5981495994875904
Application WebServeur PlayWeb ServiceUtilisateurUtilisateur«Contrôleur formulaire»formSign.js«Contrôleur formulaire»formSign.js«Contrôleur formulaire»Sign.java«Contrôleur formulaire»Sign.java«validation email»SoapEmailValidation.java«validation email»SoapEmailValidation.java«Email»Mails.java«Email»Mails.java«Web Service EmailValidate.net»web service«Web Service EmailValidate.net»web servicesubmitSignUp()getParameters()result = checkFields()alt[result]formSignUp(email,name,pwd)result = checkFields()alt[result]checkEmail(email)HTTP SOAP requestHTTP SOAP replyreturn resultalt[result && !User.findUser(email)]User user = new User(email, name,pwd).save()welcolme(user)renderJSON(0)display information[!result || User.findUser(email)]renderJSON(1)display error[!result]renderJSON(1)display error[!result]display error
SEQUENCE DIAGRAM
5995637980004352
UserUserFirst ClassFirst ClassSecond ClassSecond ClassLast ClassLast ClassDoMoreWork
SEQUENCE DIAGRAM
6000713020735488
AliceAliceBobBobrefinithellorefThis can be onseveral lines
SEQUENCE DIAGRAM
6005008524902400
Przyk³adowa sekwencja ¿ycia systemuUIUIkontrolerkontrolermonitormonitorcheckercheckerhosthost1get probles2no problems3CPU service for host4chceck cpu565%6OK 65%7zapisuje do bazy8get problem9no problems10CPU service for host11check cpu1296%13CRITICAL 96%14zapisuje do bazy15problem16synchronizacja17dane18zapisz w bazie19zapisane od <timestamp>20wyczysc baze21get problem22CPU problem on host23get service details, CPU on hostalt[jeœli wiêcej ni¿ 30 sekund od ostatniej synchronizacji]24synchronizacja25dane26zapis do bazy27zapisane do <timestamp>28wyczyœæ bazê29details30CPU service for host31chceck cpu3235%33OK 35%34zapisuje do bazy35dodaj service memory do hsot36zapisz w bazie37dodaj service do host38zapisz do bazy39dodane40get problem41no problems42CPU service for host43chceck cpu44memory service for host45chceck memory4635%47100MB/512MB48OK 35%49OK 128MB/512MB, 25%50zapisuje do bazy51zapisuje do bazyRR52CPU service for host53chceck cpu54memory service for host55chceck memory5695%57500MB/512MB58get problem59no problems60CRITICAL 95%61CRITICAL 500MB/512MB, 95%62zapisuje do bazy63zapisuje do bazy64problem65synchronizacjatutaj be³kot synchronizacyjny66poblembrak synchronizacji poniewa¿ < 30 sekund od ostatniej67get problem68CPU problem on host,memory problem on host69CPU problem acknolwdge70get problem71memory problem on hostbrak aktywnoœci u¿ytkownika przez 5 minut72wymuszenie synchronizacjibe³kot synchronizacyjny
SEQUENCE DIAGRAM
6008745683320832
Foo1Foo1Foo2Foo2Foo3Foo3Foo4Foo4Foo5Foo5To boundaryTo controlTo entityTo database
SEQUENCE DIAGRAM
6012249034457088
:CoinMatha:Coinb:Coinadd(a, b)getValuevagetValuevbva+vb
SEQUENCE DIAGRAM
6014043525480448
Foo1Foo1Foo2Foo2Foo3Foo3Foo4Foo4Foo5Foo5To boundaryTo controlTo entityTo database
SEQUENCE DIAGRAM
6034591454330880
alicealicebobbobhellothis is a first noteokthis is another notei am thinkinga notecan also definedon several lines
SEQUENCE DIAGRAM
6046223567945728
Socket Disonnection Sequenceserver or clientserver or clientconnectionconnectionsocket_adaptorsocket_adaptorasio.socketasio.socketconnection open for transmission and receptionaltshutdowndisconnectalt[ssl]shutdownasync_shutdownssl shutdown responseThe ssl socket_adaptor ignoresthe ssl shutdown responseasync_writeThe write will fail with errorSSL_R_PROTOCOL_IS_SHUTDOWNwrite_callback[tcp]shutdownshutdowndisconnectedThe tcp socket_adaptor waitsfor the tcp socket to disconnectwrite_callbackThe tcp socket_adaptor sendseof to signal disconnecteddisconnected
SEQUENCE DIAGRAM
6050233993658368
AliceAliceBobBobAuthentication RequestAuthentication ResponseAnother authentication Requestanother authentication Response
SEQUENCE DIAGRAM
6057199088435200