347:
59:
329:
The infrastructure layer can be partitioned into different levels (high-level or low-level technical services). Developers often focus on the persistence (data access) capabilities of the infrastructure layer and therefore only talk about the persistence layer or the data access layer (instead of an
325:
Some also identify a separate layer called the business infrastructure layer (BI), located between the business layer(s) and the infrastructure layer(s). It is also sometimes called the "low-level business layer" or the "business services layer". This layer is very general and can be used in several
469:
to the application tier that exposes methods of managing the stored data without exposing or creating dependencies on the data storage mechanisms. Avoiding dependencies on the storage mechanisms allows for updates or changes without the application tier clients being affected by or even aware of the
618:
for measuring performance and correlating transactions between tiers. Generally, the term "tiers" is used to describe physical distribution of components of a system on separate servers, computers, or networks (processing nodes). A three-tier architecture then will have three processing nodes. The
196:
by which developers can create flexible and reusable applications. By segregating an application into tiers, developers acquire the option of modifying or adding a specific tier, instead of reworking the entire application. N-tier architecture is a good fit for small and simple applications because
451:
This is the topmost level of the application. The presentation tier displays information related to such services as browsing merchandise, purchasing and shopping cart contents. It communicates with other tiers by which it puts out the results to the browser/client tier and all other tiers in the
337:
A layer is on top of another, because it depends on it. Every layer can exist without the layers above it, and requires the layers below it to function. Another common view is that layers do not always strictly depend on only the adjacent layer below. For example, in a relaxed layered system (as
338:
opposed to a strict layered system) a layer can also depend on all the layers below it. The relaxed layered system has more couplings and subsequently it's more difficult to change. Multi-tier architectures can use a hybrid approach so that some layers are strict while other layers are relaxed.
317:
The more usual convention is that the application layer (or service layer) is considered a sublayer of the business layer, typically encapsulating the API definition surfacing the supported business functionality. The application/business layers can, in fact, be further subdivided to emphasize
313:
If the application architecture has no explicit distinction between the business layer and the presentation layer (i.e., the presentation layer is considered part of the business layer), then a traditional client-server (two-tier) model has been implemented.
330:
infrastructure layer or technical services layer). In other words, the other kind of technical services is not always explicitly thought of as part of any particular layer.. The Data Access layer normally contains an object known as the
464:
The data tier includes the data persistence mechanisms (database servers, file shares, etc.) and the data access layer that encapsulates the persistence mechanisms and exposes the data. The data access layer should provide an
224:
is a physical structuring mechanism for the hardware elements that make up the system infrastructure. For example, a three-layer solution could easily be deployed on a single tier, such in the case of an extreme
831:
Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael (1996-08). Pattern-Oriented
Software Architecture, Volume 1, A System of Patterns. Wiley, August 1996.
397:
with well-defined interfaces, the three-tier architecture is intended to allow any of the three tiers to be upgraded or replaced independently in response to changes in requirements or
322:
pattern is used, the presenter sublayer might be used as an additional layer between the user interface layer and the business/application layer (as represented by the model sublayer).
965:"Three Tier Client/Server Architecture: Achieving Scalability, Performance, and Efficiency in Client Server Applications." Open Information Systems 10, 1 (January 1995): 3(20)
197:
of its simplicity and low-cost. Also, it can be a good starting point when architectural requirements are not clear yet. A three-tier architecture is typically composed of a
1698:
470:
change. As with the separation of any tier, there are costs for implementation and often costs to performance in exchange for improved scalability and maintainability.
216:
While the concepts of layer and tier are often used interchangeably, one fairly common point of view is that there is indeed a difference. This view holds that a
1688:
458:
The logical tier is pulled out from the presentation tier and, as its layer, it controls an application’s functionality by performing detailed processing.
1708:
1055:
594:
is used to connect the separate tiers. Separate tiers often (but not necessarily) run on separate physical servers, and each tier may itself run on a
355:
76:
503:
dynamic content. In web-based application, front end is the content rendered by the browser. The content may be static or generated dynamically.
440:
that contains the computer data storage logic. The middle tier may be multitiered itself (in which case the overall architecture is called an "
1028:
836:
794:
591:
981:
874:
1580:
932:
712:
648:
559:
31:
123:
1713:
1605:
911:
737:
615:
466:
142:
95:
1378:
611:
575:
1553:
1177:
417:
171:
102:
1693:
1361:
1271:
986:
275:
80:
1401:
619:
term "layers" refers to a logical grouping of components which may or may not be physically located on one processing node.
346:
1371:
1366:
319:
1048:
638:
452:
network. In simple terms, it is a layer that users can access directly (such as a web page, or an operating system's GUI).
226:
109:
1646:
1484:
1261:
663:
653:
546:
91:
1469:
1464:
1291:
189:
1703:
1509:
1474:
1441:
1091:
1041:
421:
1306:
633:
901:
1411:
1383:
1321:
1286:
1222:
1064:
69:
47:
43:
39:
35:
220:
is a logical structuring mechanism for the conceptual elements that make up the software solution, while a
1316:
1266:
1101:
658:
643:
610:-tier systems is a challenging task which becomes more important when systems increase in complexity. The
583:
523:
254:
1667:
1570:
1416:
1396:
1341:
962:
424:, functional process logic that may consist of one or more separate modules running on a workstation or
367:
271:
242:
558:
Data transfer between tiers is part of the architecture. Protocols involved may include one or more of
1479:
1436:
1431:
1421:
1331:
840:
668:
363:
156:
298:, logging, networking, and other services which are required to support a particular business layer)
116:
1519:
1504:
1499:
1356:
1241:
1187:
595:
488:
375:
1641:
1620:
1529:
1426:
1276:
1169:
1121:
1083:
800:
507:
437:
425:
379:
331:
1021:
1311:
1154:
1144:
1139:
1111:
1106:
928:
907:
832:
790:
733:
708:
628:
413:
295:
290:
209:
178:
functions are physically separated. The most widespread use of multitier architecture is the
1610:
1351:
1296:
1217:
1207:
1197:
1192:
782:
515:
402:
1600:
1546:
1524:
1301:
1256:
1227:
1202:
1182:
1129:
1096:
1072:
683:
678:
579:
480:
433:
383:
175:
1011:
817:
763:
Fowler, Martin "Patterns of
Enterprise Application Architecture" (2002). Addison Wesley.
752:
306:
describes some common uses for the above four layers, although its primary focus is the
1585:
1446:
1149:
1134:
863:
852:
359:
282:
203:
1682:
1406:
1251:
1212:
1159:
804:
673:
571:
527:
387:
1029:
Description of a concrete layered architecture for .NET/WPF Rich Client
Applications
985: prior to 1 November 2008 and incorporated under the "relicensing" terms of the
1662:
1625:
1514:
1489:
1281:
786:
307:
875:
Comparison/discussion of the GRASP Controller Layer vs. Application/Service Layer
818:
Deployment
Patterns (Microsoft Enterprise Architecture, Patterns, and Practices)
1615:
1590:
1575:
1494:
1326:
1016:
753:
Deployment
Patterns (Microsoft Enterprise Architecture, Patterns, and Practices)
587:
371:
58:
774:
886:
542:
496:
398:
1595:
500:
1033:
1003:
864:
Martin Fowler explains that
Service Layer is the same as Application Layer
264:(a.k.a. UI layer, view layer, presentation tier in multitier architecture)
567:
538:
394:
531:
519:
511:
484:
253:
In a logical multilayer architecture for an information system with an
17:
386:
in Open
Environment Corporation (OEC), a tools company he founded in
318:
additional sublayers of distinct responsibility. For example, if the
841:
http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471958697.html
563:
429:
193:
976:
1037:
773:
Vicente, Alfonso; Etcheverry, Lorena; Sabiguero, Ariel (2021).
925:
Fundamentals of
Software Architecture: An Engineering Approach
705:
Fundamentals of
Software Architecture: An Engineering Approach
52:
455:
Application tier (business logic, logic tier, or middle tier)
885:
Domain-Driven Design, the Book pp. 68-74. Retrieved from
506:
A middle dynamic content processing and generation level
286:(a.k.a. business logic layer (BLL), domain logic layer)
549:
software that manages and provides access to the data.
779:
2021 XLVII Latin
American Computing Conference (CLEI)
1655:
1634:
1563:
1538:
1455:
1340:
1240:
1168:
1120:
1082:
1071:
83:. Unsourced material may be challenged and removed.
897:
895:
606:The end-to-end traceability of data flows through
590:or other standard or proprietary protocols. Often
174:in which presentation, application processing and
30:Several terms redirect here. For other uses, see
775:"An RDBMS-only architecture for web applications"
412:Typically, the user interface runs on a desktop
326:application tiers (e.g. a CurrencyConverter).
1049:
975:This article is based on material taken from
499:serving static content, and potentially some
491:websites, which are built using three tiers:
8:
483:field, three-tier is often used to refer to
374:are developed and maintained as independent
245:has been described in various publications.
887:http://www.domaindrivendesign.org/books#DDD
409:would only affect the user interface code.
393:Apart from the usual advantages of modular
354:Three-tier architecture is a client-server
1079:
1056:
1042:
1034:
257:, the following four are the most common:
143:Learn how and when to remove this message
1699:Architectural pattern (computer science)
1012:Microsoft Application Architecture Guide
345:
695:
827:
825:
350:Overview of a three-tier application.
7:
982:Free On-line Dictionary of Computing
545:, comprising both data sets and the
81:adding citations to reliable sources
1689:Distributed computing architecture
649:Hierarchical internetworking model
32:Three-tier system (disambiguation)
25:
1709:Software engineering terminology
1023:What Is the 3-Tier Architecture?
927:(1st ed.). O'Reilly Media.
923:Richards, Mark (March 3, 2020).
707:(1st ed.). O'Reilly Media.
612:Application Response Measurement
576:Windows Communication Foundation
57:
1554:Enterprise Integration Patterns
68:needs additional citations for
950:Software Architecture Patterns
787:10.1109/CLEI53233.2021.9640017
730:Software Architecture Patterns
233:or in a personal workstation.
1:
1017:Example of free 3-tier system
853:Martin Fowler's Service Layer
639:Database-centric architecture
356:software architecture pattern
227:database-centric architecture
27:Computing system architecture
1647:Portland Pattern Repository
401:. For example, a change of
1730:
664:Open Services Architecture
654:Load balancing (computing)
547:database management system
172:client–server architecture
29:
903:Applying UML and Patterns
378:, most often on separate
1714:Software design patterns
1272:Event-based asynchronous
1065:Software design patterns
422:graphical user interface
388:Cambridge, Massachusetts
364:functional process logic
332:Data Access Object (DAO)
190:application architecture
92:"Multitier architecture"
1178:Chain of responsibility
1006:Three Tier Architecture
989:, version 1.3 or later.
905:, 3rd edition, page 203
732:. O'Reilly Media, Inc.
728:Richards, Mark (2022).
703:Richards, Mark (2020).
342:Three-tier architecture
231:RDBMS-only architecture
180:three-tier architecture
48:Tier 4 (disambiguation)
44:Tier 3 (disambiguation)
40:Tier 2 (disambiguation)
36:Tier 1 (disambiguation)
1317:Scheduled-task pattern
1267:Double-checked locking
952:. O'Reilly Media, Inc.
659:Monolithic application
644:Front-end and back-end
444:-tier architecture").
382:. It was developed by
351:
255:object-oriented design
163:(often referred to as
161:multitier architecture
1694:Software architecture
1668:Architectural pattern
1571:Christopher Alexander
614:defines concepts and
475:Web development usage
368:computer data storage
349:
243:architectural pattern
1480:Dependency injection
1437:Inversion of control
1432:Data transfer object
1332:Thread-local storage
669:Rich web application
554:Other considerations
420:and uses a standard
366:("business rules"),
320:model–view–presenter
304:Domain Driven Design
157:software engineering
77:improve this article
1485:Intercepting filter
634:Client–server model
489:electronic commerce
1642:The Hillside Group
1427:Data access object
1277:Guarded suspension
1262:Binding properties
963:Eckerson, Wayne W.
508:application server
426:application server
352:
278:Controller Layer )
262:Presentation layer
168:-tier architecture
46:, and
1676:
1675:
1470:Business delegate
1402:Publish–subscribe
1236:
1235:
839:. Retrieved from
837:978-0-471-95869-7
796:978-1-6654-9503-5
629:Abstraction layer
448:Presentation tier
407:presentation tier
296:persistence layer
291:Data access layer
268:Application layer
153:
152:
145:
127:
16:(Redirected from
1721:
1475:Composite entity
1352:Front controller
1092:Abstract factory
1080:
1058:
1051:
1044:
1035:
991:
990:
972:
966:
960:
954:
953:
948:Richards, Mark.
945:
939:
938:
920:
914:
899:
890:
883:
877:
872:
866:
861:
855:
850:
844:
829:
820:
815:
809:
808:
781:. pp. 1–9.
770:
764:
761:
755:
750:
744:
743:
725:
719:
718:
700:
403:operating system
362:(presentation),
148:
141:
137:
134:
128:
126:
85:
61:
53:
21:
1729:
1728:
1724:
1723:
1722:
1720:
1719:
1718:
1704:Software design
1679:
1678:
1677:
1672:
1651:
1630:
1621:Douglas Schmidt
1601:Ward Cunningham
1559:
1547:Design Patterns
1534:
1525:Method chaining
1457:
1451:
1412:Service locator
1343:
1336:
1307:Read–write lock
1243:
1232:
1223:Template method
1164:
1116:
1074:
1067:
1062:
1004:Linux journal,
1000:
995:
994:
974:
973:
969:
961:
957:
947:
946:
942:
935:
922:
921:
917:
900:
893:
884:
880:
873:
869:
862:
858:
851:
847:
830:
823:
816:
812:
797:
772:
771:
767:
762:
758:
751:
747:
740:
727:
726:
722:
715:
702:
701:
697:
692:
684:Web application
679:Shearing layers
625:
604:
556:
481:web development
477:
434:database server
384:John J. Donovan
344:
251:
239:
176:data management
149:
138:
132:
129:
86:
84:
74:
62:
51:
28:
23:
22:
15:
12:
11:
5:
1727:
1725:
1717:
1716:
1711:
1706:
1701:
1696:
1691:
1681:
1680:
1674:
1673:
1671:
1670:
1665:
1659:
1657:
1653:
1652:
1650:
1649:
1644:
1638:
1636:
1632:
1631:
1629:
1628:
1623:
1618:
1613:
1608:
1603:
1598:
1593:
1588:
1586:John Vlissides
1583:
1578:
1573:
1567:
1565:
1561:
1560:
1558:
1557:
1550:
1542:
1540:
1536:
1535:
1533:
1532:
1527:
1522:
1517:
1512:
1507:
1502:
1497:
1492:
1487:
1482:
1477:
1472:
1467:
1461:
1459:
1453:
1452:
1450:
1449:
1444:
1439:
1434:
1429:
1424:
1419:
1414:
1409:
1404:
1399:
1394:
1386:
1381:
1376:
1375:
1374:
1369:
1359:
1354:
1348:
1346:
1338:
1337:
1335:
1334:
1329:
1324:
1319:
1314:
1309:
1304:
1299:
1294:
1289:
1284:
1279:
1274:
1269:
1264:
1259:
1254:
1248:
1246:
1238:
1237:
1234:
1233:
1231:
1230:
1225:
1220:
1215:
1210:
1205:
1200:
1195:
1190:
1185:
1180:
1174:
1172:
1166:
1165:
1163:
1162:
1157:
1152:
1147:
1142:
1137:
1132:
1126:
1124:
1118:
1117:
1115:
1114:
1109:
1104:
1102:Factory method
1099:
1094:
1088:
1086:
1077:
1069:
1068:
1063:
1061:
1060:
1053:
1046:
1038:
1032:
1031:
1026:
1019:
1014:
1009:
999:
998:External links
996:
993:
992:
967:
955:
940:
934:978-1492043454
933:
915:
891:
878:
867:
856:
845:
821:
810:
795:
765:
756:
745:
738:
720:
714:978-1492043454
713:
694:
693:
691:
688:
687:
686:
681:
676:
671:
666:
661:
656:
651:
646:
641:
636:
631:
624:
621:
603:
600:
555:
552:
551:
550:
535:
504:
476:
473:
472:
471:
462:
459:
456:
453:
449:
360:user interface
343:
340:
300:
299:
287:
283:Business layer
279:
265:
250:
247:
238:
235:
151:
150:
65:
63:
56:
26:
24:
14:
13:
10:
9:
6:
4:
3:
2:
1726:
1715:
1712:
1710:
1707:
1705:
1702:
1700:
1697:
1695:
1692:
1690:
1687:
1686:
1684:
1669:
1666:
1664:
1661:
1660:
1658:
1654:
1648:
1645:
1643:
1640:
1639:
1637:
1633:
1627:
1624:
1622:
1619:
1617:
1614:
1612:
1611:Robert Martin
1609:
1607:
1606:Martin Fowler
1604:
1602:
1599:
1597:
1594:
1592:
1589:
1587:
1584:
1582:
1581:Ralph Johnson
1579:
1577:
1574:
1572:
1569:
1568:
1566:
1562:
1556:
1555:
1551:
1549:
1548:
1544:
1543:
1541:
1537:
1531:
1528:
1526:
1523:
1521:
1518:
1516:
1513:
1511:
1508:
1506:
1503:
1501:
1498:
1496:
1493:
1491:
1488:
1486:
1483:
1481:
1478:
1476:
1473:
1471:
1468:
1466:
1463:
1462:
1460:
1454:
1448:
1445:
1443:
1440:
1438:
1435:
1433:
1430:
1428:
1425:
1423:
1420:
1418:
1417:Active record
1415:
1413:
1410:
1408:
1407:Naked objects
1405:
1403:
1400:
1398:
1397:Specification
1395:
1393:
1391:
1387:
1385:
1382:
1380:
1377:
1373:
1370:
1368:
1365:
1364:
1363:
1360:
1358:
1355:
1353:
1350:
1349:
1347:
1345:
1342:Architectural
1339:
1333:
1330:
1328:
1325:
1323:
1320:
1318:
1315:
1313:
1310:
1308:
1305:
1303:
1300:
1298:
1295:
1293:
1290:
1288:
1285:
1283:
1280:
1278:
1275:
1273:
1270:
1268:
1265:
1263:
1260:
1258:
1255:
1253:
1252:Active object
1250:
1249:
1247:
1245:
1239:
1229:
1226:
1224:
1221:
1219:
1216:
1214:
1211:
1209:
1206:
1204:
1201:
1199:
1196:
1194:
1191:
1189:
1186:
1184:
1181:
1179:
1176:
1175:
1173:
1171:
1167:
1161:
1158:
1156:
1153:
1151:
1148:
1146:
1143:
1141:
1138:
1136:
1133:
1131:
1128:
1127:
1125:
1123:
1119:
1113:
1110:
1108:
1105:
1103:
1100:
1098:
1095:
1093:
1090:
1089:
1087:
1085:
1081:
1078:
1076:
1070:
1066:
1059:
1054:
1052:
1047:
1045:
1040:
1039:
1036:
1030:
1027:
1025:
1024:
1020:
1018:
1015:
1013:
1010:
1008:
1007:
1002:
1001:
997:
988:
984:
983:
978:
971:
968:
964:
959:
956:
951:
944:
941:
936:
930:
926:
919:
916:
913:
912:0-13-148906-2
909:
906:
904:
898:
896:
892:
888:
882:
879:
876:
871:
868:
865:
860:
857:
854:
849:
846:
842:
838:
834:
828:
826:
822:
819:
814:
811:
806:
802:
798:
792:
788:
784:
780:
776:
769:
766:
760:
757:
754:
749:
746:
741:
739:9781098134273
735:
731:
724:
721:
716:
710:
706:
699:
696:
689:
685:
682:
680:
677:
675:
674:Service layer
672:
670:
667:
665:
662:
660:
657:
655:
652:
650:
647:
645:
642:
640:
637:
635:
632:
630:
627:
626:
622:
620:
617:
613:
609:
601:
599:
597:
593:
589:
585:
581:
577:
573:
572:.NET Remoting
569:
565:
561:
553:
548:
544:
540:
536:
533:
529:
525:
521:
517:
513:
509:
505:
502:
498:
494:
493:
492:
490:
486:
482:
474:
468:
463:
460:
457:
454:
450:
447:
446:
445:
443:
439:
435:
431:
427:
423:
419:
415:
410:
408:
404:
400:
396:
391:
389:
385:
381:
377:
373:
369:
365:
361:
358:in which the
357:
348:
341:
339:
335:
333:
327:
323:
321:
315:
311:
309:
305:
297:
293:
292:
288:
285:
284:
280:
277:
273:
272:service layer
269:
266:
263:
260:
259:
258:
256:
249:Common layers
248:
246:
244:
241:The "Layers"
236:
234:
232:
228:
223:
219:
214:
212:
211:
206:
205:
200:
195:
191:
187:
183:
181:
177:
173:
169:
167:
162:
158:
147:
144:
136:
125:
122:
118:
115:
111:
108:
104:
101:
97:
94: –
93:
89:
88:Find sources:
82:
78:
72:
71:
66:This article
64:
60:
55:
54:
49:
45:
41:
37:
33:
19:
1663:Anti-pattern
1626:Linda Rising
1552:
1545:
1490:Lazy loading
1422:Identity map
1389:
1388:
1073:Gang of Four
1022:
1005:
980:
970:
958:
949:
943:
924:
918:
902:
881:
870:
859:
848:
813:
778:
768:
759:
748:
729:
723:
704:
698:
607:
605:
602:Traceability
588:web services
557:
495:A front-end
478:
441:
411:
406:
392:
353:
336:
328:
324:
316:
312:
308:domain layer
303:
301:
289:
281:
267:
261:
252:
240:
230:
221:
217:
215:
208:
207:tier, and a
202:
199:presentation
198:
185:
184:
179:
165:
164:
160:
154:
139:
133:January 2008
130:
120:
113:
106:
99:
87:
75:Please help
70:verification
67:
1635:Communities
1616:Jim Coplien
1591:Grady Booch
1576:Erich Gamma
1520:Type tunnel
1505:Object pool
1500:Null object
1495:Mock object
1357:Interceptor
1327:Thread pool
1242:Concurrency
1188:Interpreter
537:A back-end
487:, commonly
418:workstation
372:data access
192:provides a
1683:Categories
1530:Delegation
1465:Blackboard
1170:Behavioral
1122:Structural
1084:Creational
977:three-tier
690:References
592:middleware
543:data store
497:web server
399:technology
103:newspapers
1596:Kent Beck
1322:Semaphore
1312:Scheduler
1155:Flyweight
1145:Decorator
1140:Composite
1112:Singleton
1107:Prototype
805:245387844
461:Data tier
438:mainframe
428:, and an
380:platforms
302:The book
1656:See also
1458:patterns
1344:patterns
1297:Proactor
1244:patterns
1218:Strategy
1208:Observer
1198:Mediator
1193:Iterator
1075:patterns
623:See also
568:Java RMI
539:database
485:websites
395:software
294:(a.k.a.
270:(a.k.a.
201:tier, a
1510:Servant
1442:Model 2
1302:Reactor
1292:Monitor
1257:Balking
1228:Visitor
1203:Memento
1183:Command
1130:Adapter
1097:Builder
979:at the
596:cluster
580:sockets
532:Node.js
520:ASP.NET
512:Symfony
510:(e.g.,
479:In the
405:in the
376:modules
229:called
170:) is a
117:scholar
1564:People
1447:Broker
1150:Facade
1135:Bridge
931:
910:
835:
803:
793:
736:
711:
524:Django
516:Spring
501:cached
237:Layers
213:tier.
188:-tier
119:
112:
105:
98:
90:
42:,
38:,
34:,
18:4-tier
1539:Books
1456:Other
1392:-tier
1213:State
1160:Proxy
801:S2CID
564:CORBA
528:Rails
432:on a
430:RDBMS
276:GRASP
218:layer
204:logic
194:model
124:JSTOR
110:books
1515:Twin
1372:MVVM
1287:Lock
1282:Join
987:GFDL
929:ISBN
908:ISBN
833:ISBN
791:ISBN
734:ISBN
709:ISBN
616:APIs
560:SNMP
370:and
222:tier
210:data
96:news
1384:ECS
1379:ADR
1367:MVP
1362:MVC
783:doi
584:UDP
541:or
467:API
436:or
416:or
274:or
155:In
79:by
1685::
894:^
824:^
799:.
789:.
777:.
598:.
586:,
582:,
578:,
574:,
570:,
566:,
562:,
534:).
530:,
526:,
522:,
518:,
514:,
414:PC
390:.
334:.
310:.
182:.
159:,
1390:n
1057:e
1050:t
1043:v
937:.
889:.
843:.
807:.
785::
742:.
717:.
608:n
442:n
186:N
166:n
146:)
140:(
135:)
131:(
121:·
114:·
107:·
100:·
73:.
50:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.