A Jazz platform ügyfél-kiszolgáló architektúrán alapul. A Jazz kiszolgáló, amely általában egy biztonságos kiszolgáló osztályú számítógépen fut, helyet ad bizonyos szolgáltatásoknak, valamint tárolja az adatokat a lerakatban. A távoli ügyfelek a Jazz kiszolgálóval a hálózaton keresztül HTTP használatával kommunikálnak. A távoli ügyfeleknek számos formája lehet. Ezek csúcsán egy IDE helyezkedik el, integrált Jazz platform támogatással, amelyet egy együttműködő szoftverfejlesztésben érintett felhasználó kezel. Más távoli ügyfelek, mint például a Jazz parancssori eszközök vagy Ant parancsfájlok, megjelenítés nélküli módban működnek. A kiszolgálót mások közvetlenül egy webböngészőn keresztül érik el, anélkül, hogy telepíteniük kellene egy Jazz platformhoz tartozó szoftvert a számítógépükre.
A Jazz platformot egymásnak megfelelő részek építik fel: a szolgáltatás és az ügyfél függvénytárak. A szolgáltatás a kiszolgáló oldalon található. A szolgáltatás megvalósítása Java nyelven van megírva. A szolgáltatás a szolgáltatási felületen keresztül érhető el. A szolgáltatási felület egy olyan webszolgáltatási felület Java szolgáltatás meghatározásaként kerül felhasználásra, ami szinkron, RPC stílusú kommunikációt biztosít az ügyfél és a kiszolgáló között.
Az ennek megfelelő ügyfél oldalon található rész egy Java alapú ügyfél függvénytár, amely egy ügyfél felületet biztosít. Az ügyfél függvénytár hívásokat küld a megfelelő szolgáltatási felületnek, amiket a rendszer a hálózaton keresztül továbbít a megfelelő szolgáltatásnak a kiszolgálón, feldolgozás céljából. Az ügyfél függvénytár gyorsítótár, eseményértesítés és egyéb szolgáltatásokat biztosít, ami által az API használata kényelmesebb, mint a nyers szolgáltatási felületeké.
A Java alapú Jazz ügyfelek, mint például az Eclipse IDE és az Ant, az ügyfél felület metódusait használják. (Ehhez hasonló ügyfél függvénytárak megírhatók nem Java alapú ügyfelekhez is.)
A webböngésző ügyfelek kezelése hasonlóképpen történik, egy kapcsolódó szolgáltatási felület használatával, amely jobban megfelel arra, hogy JavaScript segítségével el lehessen érni (ennek leírása a későbbi, webes felhasználói felületet bemutató részben található).
A Jazz platform architektúrája moduláris és bővíthető. Egy tipikus modul, más néven egy Jazz összetevő, olyan képességeket biztosít, amelyek támogatják a szoftverfejlesztés életciklusának egyes fázisait, mint például a hibakövetés vagy az automatikus összeépítések. Egy összetevő általában egy vagy több szolgáltatást és az ezeknek megfelelő ügyfél függvénytárakat biztosít, valamint a területre jellemző felhasználói felület elemeket, amelyek ezekre az alacsonyabb rétegekre épülnek. Egy összetevő telepítése egy Jazz kiszolgálón általánosan elérhetővé teszi az összetevő szolgáltatásait. Ha pedig az összetevőt egy Jazz ügyfélen telepíti, akkor ez lehetővé teszi a felhasználó számára a hozzáférést az új szolgáltatáshoz. Egy Jazz összetevő lehet önálló (csak a lényegi, beépített funkcionalitásra támaszkodó), vagy felhasználhatja más telepített összetevők funkcionalitását is.
Bár az összetevő fogalma megfelelő a Jazz platform bővítési módjának megértéséhez, a Jazz nem kínál egy általános célú összetevő mechanizmust. Ehelyett a Jazz platform az Eclipse platform bővítési mechanizmusait használja mind a kiszolgáló, mind a Java alapú ügyfelek esetében. (Azon olvasók számára, akik nem ismerik az Eclipse platform bedolgozó és kiterjesztési pont mechanizmusait, javasoljuk az Eclipse platform - Technikai áttekintés című kiadvány Platform futási környezet és bedolgozó architektúra fejezetének elolvasását a háttérinformációk beszerzéséhez.) Az összetevők úgynevezett Eclipse bedolgozókba vannak csomagolva, és kiterjesztéseket adnak hozzá más összetevőkhöz az Eclipse terminológiában kiterjesztési pontként ismert elemek használatával. Egyetlen összetevő a bedolgozók adott készletéből épül fel, amelyek közül bizonyos elemek a kiszolgálón vannak telepítve, mások az ügyfélen.
Egy tipikus alap Jazz összetevő öt bedolgozóból áll:
A szolgáltatás, a közös és a webes felhasználói felület bedolgozók a kiszolgálón vannak telepítve.
A bedolgozók regisztrálása a Jazz környezetbe kiterjesztési pontok segítségével történik. A összetevő közös bedolgozója, amely az ügyfélen és a kiszolgálón is telepítve van, egy kiterjesztési ponton keresztül regisztrálja az összetevő szolgáltatási felületét. A szolgáltatás bedolgozó egy csak kiszolgáló oldali kiterjesztési ponton keresztül regisztrálja a megfelelő szolgálatás megvalósítást. Az ügyfél függvénytár bedolgozó egy csak ügyfél oldali kiterjesztési ponton keresztül regisztrálja az ügyfél felületet. Ezek a hozzájárulások az összetevő azonosító karaktersorozatát viselik. A hozzájárulások arra szolgálnak, hogy a futás során összekössék az összetevőket.
Az összetevő ügyfél felhasználói felületéhez és ügyfél függvénytárához tartozó ügyfél oldali bedolgozók az Eclipse integrált fejlesztői környezetben vannak telepítve. Az ügyfél felhasználói felület bedolgozók a tartalmazott nézeteket, szerkesztőket (és így tovább) az Eclipse platform kiterjesztési pontokon keresztül biztosítják; az ügyfél függvénytár bedolgozók pedig a saját ügyfél felületeiket egy Jazz környezetre jellemző kiterjesztési ponton keresztül regisztrálják.
Az ügyfél függvénytárak az ügyfeleken működnek, mint például az Ant, amely nem rendelkezik egy OSGi futási környezettel. Az ügyfél függvénytárak csak más összetevők ügyfél függvénytáraitól függhetnek, a saját szolgáltatásaiktól vagy felhasználói felületeiktől nem.
Az összetevőknek deklarálniuk kell a más összetevőkkel fennálló bármely függőségeiket. A függőségi gráf nem tartalmazhat ciklusokat. Egy össztevő deklarálhatja a saját kiterjesztési pontjait is, lehetővé téve ezzel azt, hogy más összetevők kiterjesszék.
A Jazz kiszolgáló egy Java alapú webalkalmazás, amely bármely Java EE 1.4 megfelelési szintű alkalmazáskiszolgálón belül képes futni. A jelenleg támogatott alkalmazáskiszolgálók az Apache Tomcat és az IBM WebSphere Application Server. Az Apache Tomcat egy nyílt forrású szervletkonténer, amely munkaasztal osztályú számítógépeken is telepíthető. Az IBM WebSphere Application Server egy kereskedelmi forgalomban elérhető termék, amely különféle szintű megoldásokat kínál. A szolgáltatások és a kiszolgáló oldali Jazz API szemantikája független az alkalmazáskiszolgáló fajtájától, ami lehetővé teszi további alkalmazáskiszolgálók támogatását a későbbi kiadásokban.
Az Eclipse platformot ismerő olvasok számára: a Jazz webalkalmazás belső szerkezete egy OSGi futási környezet köré épül. A Jazz webalkalmazás kezeli a kiszolgálón telepített összes Jazz összetevő szolgáltatásait. Egy új összetevő telepítése egy Jazz kiszolgálóra azzal jár, hogy az összetevő kiszolgáló oldali bedolgozóit (OSGi kötegek) meg kell mutatni az elsődleges webalkalmazás OSGi futási környezetének. A köteg leírófájlja deklarálja a más telepített összetevőkkel kapcsolatos függőségeket; a kiterjesztéshez tartozó külön leírófájl tartalmazza a hozzájárulásokat a különféle kiterjesztési pontokhoz. Az OSGi futási környezet indításkor feldolgozza a köteg leírófájljait, ezáltal biztosítja, hogy az összetevők közötti függőségek teljesüljenek az összes telepített összetevő esetén. A Jazz webalkalmazás kezeli a kiterjesztések jegyzékét, amely összeszedi a hozzájárulásokat valamennyi telepített összetevőből, és az összetevők szolgáltatási felületeihez beérkező minden egyes kérést továbbítja feldolgozásra a megfelelő szolgáltatáshoz.