2009-02-24 20 views
13

Un capitolo di Pragmatic Programmer consiglia di guardare un'architettura basata su lavagna/spazio + un motore di regole come alternativa più flessibile a un sistema di flusso di lavoro tradizionale.Architettura spaziale?

Attualmente il progetto su cui sto lavorando utilizza un motore di workflow, ma mi piacerebbe valutare le alternative. Mi sento davvero come se un SBA fosse una soluzione migliore per i nostri problemi di business, ma sono preoccupato per la totale mancanza di supporto della comunità/base di utenti/distributori/opzioni.

JavaSpaces è morto e lo spin-off Apache River JINI sembra essere in supporto vitale. SemiSpace sembra perfetto, ma è un one-man show. L'unica soluzione praticabile sembra essere GigaSpaces.

Mi piacerebbe sentire le tue opinioni sull'architettura basata sullo spazio e sulle esperienze che hai avuto con le implementazioni del mondo reale.

risposta

1

Perché consideri Javaspaces come morto, oltre al fatto che la versione 2.1 di Jini è stata qualche tempo fa (ottobre 2005)? Avendolo usato, suggerirei che indica un set di tecnologie maturo e completo piuttosto che qualcosa di abbandonato e defunto.

Per un'altra implementazione di Javaspaces, dare un'occhiata a Blitz Javaspaces. È mantenuto e migliorato più regolarmente (ultima versione di luglio 2008) e offre un'implementazione Javaspace più performante e gestibile rispetto al valore predefinito outrigger fornito da Sun.

+0

Ciao Brian, ho detto JavaSpaces era morto, perché le specifiche Jini (di cui JavaSpaces è una parte) e l'implementazione di Sun è stato spostato ad un progetto di incubatore Apache (River), che sembra avere un supporto limitato. JMS, JCR, JPA, ecc. Sono anche esempi di specifiche mature ma hanno comunità attive. – rcampbell

1

Gigaspaces è un'implementazione commerciale di successo di JavaSpaces - quindi, non direi che JavaSpaces è morto.

Si potrebbe dare un'occhiata a Java Shared Data Toolkit (also this article) per vedere se soddisfa le vostre esigenze.

+0

Dovrei chiarire la mia dichiarazione morta. Ci sono specifiche/API/standard che sono mantenuti attivamente, hanno comunità ricche e hanno molteplici implementazioni solide tra cui scegliere (si pensi a JMS, JPA, persino qualcosa come XML o JSON). Io chiamo JavaSpaces morto perché non ha nessuno di questi utili attributi – rcampbell

+0

Per aggiungere: Sto guardando GigaSpaces e SemiSpaces, ma la mia domanda era davvero più ampia: chi ha usato questa architettura e cosa ne pensano? Voglio horror/storie di successo, confronti, pensieri, ecc. Il problema è che sembra che nessuno sia là fuori con questo tipo di esperienza. – rcampbell

+0

Ma ora, è morto? – wener

0

Anche se non supporta l'API JavaSpaces, suggerirei di guardare a Oracle Coherence per un archivio dati "live" distribuito e affidabile in grado di gestire un flusso di lavoro basato sugli eventi. Deutsche Bank, ad esempio, ha sostituito con successo uno "SBA" (Space Based Architecture) con un sistema basato sugli eventi basato su Coherence per il proprio trading FX, a causa di problemi di affidabilità e prestazioni.

Per motivi di completa divulgazione, lavoro in Oracle. Le opinioni e le opinioni espresse in questo post sono mie e non riflettono necessariamente le opinioni o le opinioni del mio datore di lavoro.