Domanda

Ho resistito a qualsiasi investimento personale in carriera per imparare qualcosa su questo acronimo perché il mio particolare campo di lavoro non lo richiede. Sono curioso di sapere se varrebbe la pena il mio tempo o se è un'altra moda informatica che alla fine morirà.

È stato utile?

Soluzione

È una moda nel senso che per un po 'ci saranno quelli che diranno "tutto deve essere SOA d'ora in poi". Poi dopo un po 'le cose buone della SOA rimarranno, mentre le più controverse o meno utili moriranno.

Altri suggerimenti

Sono entrambi.

Architettura orientata ai servizi , da un vero punto di vista ingegneristico, ha vantaggi e svantaggi . È liberamente accoppiato, il che è positivo, perché avendo "piccoli pezzi, uniti liberamente" è la solida strategia di progettazione che ha funzionato per Unix e ha molti sostenitori tra gli ingegneri del software.

Tuttavia, come qualsiasi altro software, richiede una progettazione molto attenta: puoi avere una SOA cattiva proprio come puoi avere una cattiva qualsiasi altra cosa, e poiché il campo è più recente, le migliori pratiche non sono ancora ben definite . Inoltre, presenta in genere prestazioni molto peggiori rispetto ad altri approcci architettonici. A questo punto, la maggior parte dei grandi giocatori (come Google) sembra pensare che sia più adatto per l'interoperabilità tra sistemi diversi (il loro API sono praticamente la definizione di SOA), ma non per l'architettura interna di un singolo sistema (usano il loro Buffer di protocollo per questo).

SOA è una mania quando si tratta di manager che non sanno davvero nulla di ingegneria. A loro piace perché a) sembra nuovo e caldo, e b) ha la parola "servizio" in esso, il che li fa sentire utili. Chiedi a metà di loro qual è la differenza tra un "service desk" e un'architettura "orientata al servizio" è, e sarebbero difficili da dire.

È un modo fantastico per i venditori di strumenti per farti comprare un sacco di cose (ad es. ESB), i consulenti per fatturare molte ore fatturabili e Gartner per pompare più quadranti magici.

Penso che in realtà non sia una "moda" " ;; è più evoluzione di un'idea che esiste dall'arrivo delle reti: componenti distribuiti. CORBA e DCOM erano entrambe architetture di componenti distribuite che erano proprietarie. SOA utilizza HTTP come protocollo di filo comune che può passare attraverso la porta 80 nei firewall. Tutti gli altri standard come XML, WSDL, ecc. Sono tentativi di renderli rilevabili e automaticamente compresi dai clienti. È importante capire le idee alla base di tutto e non essere troppo preso dalla pubblicità.

Sembra funzionare per Amazon, Yahoo! ecc. Potrebbe esserci qualcosa anche per semplici mortali come noi.

Vedo alcune preoccupazioni:

Latency viene fornito con componenti distribuiti. Se tutto è un servizio, che comunica attraverso un bus di servizio aziendale per un migliore disaccoppiamento, come può essere veloce? Potremmo essere in pericolo di creare un maiale bello, disaccoppiante, di impresa.

Il design è difficile. Nessuno può essere d'accordo su ciò che costituisce un servizio. Quanti dovrebbero avere la tua azienda? Decine? Centinaia? Migliaia? Quanto devono essere granulosi?

Se il tuo datore di lavoro ha finanziato il lavoro tradizionalmente con un modello di progetto, come possono adattarsi i servizi di lunga durata a questo modello?

La cosa più importante da capire sulla SOA è che non è proprio una tecnologia, è un modo di organizzare l'infrastruttura IT come un insieme di servizi riutilizzabili che possono essere combinati, piuttosto che l'attuale norma di un gruppo di applicazioni che richiedono extra sforzo di integrazione quando necessario.

Ovviamente, realizzare questo lavoro richiede tecnologia, ma " learning " o l'acquisto di tale tecnologia non ha senso se non (ri) organizzi l'IT in quel modo.

Penso che l'idea di base della SOA sia valida e qui per rimanere (anche se potrebbe non essere utile in ogni contesto). La SOA-as-a-technology, d'altra parte, è una moda passeggera che morirà.

Personalmente direi che è una mania. Il cloud è grande al momento, proprio come i mainframe, ma poi sono arrivati ??i desktop e hanno preso il controllo. Ora torniamo al grande ferro ...

Lavoro per un'azienda produttrice di dispositivi medici e software e la SOA non è una moda qui, è una necessità. I progressi in questo campo sono lenti a causa dei sistemi legacy e dei costi di creazione di un sistema così aperto.

Un altro aspetto di questa discussione è se la tua azienda ha intenzione di creare una suite di prodotti o solo un singolo prodotto.

Non esiste una moda in termini di concetti o idee, se qualcuno ci pensasse e quel qualcosa si dimostrasse una buona soluzione, che non è una moda passeggera. Anche se se compri una Ferrari e la corri su una strada sterrata con la frenata inserita, ovviamente è una mania. L'accoppiamento allentato è fondamentale oggi, qualsiasi consulente o programmatore esperto che avesse lavorato direttamente con un cliente ti dirà che le cose cambiano sempre, nulla è rimasto per sempre come è stato discusso durante la prima analisi, nella mia esperienza i principi SOA hanno dimostrato il loro valore. Il 100% dei miei clienti che lavorava con altri programmatori mi ha detto che a un certo punto l'altro ragazzo ha deciso di ricominciare da capo a un certo punto o ha dichiarato che una certa richiesta è impossibile da implementare. La SOA è la soluzione migliore per i clienti difficili e la maggior parte dei clienti è difficile, ciò che devi fare è mantenere il senso della misura. ESB è una buona cosa se hai 100 filiali in 30 paesi e pensi di crescere rapidamente. I cosiddetti consulenti software di oggi e venditori di software secondo me sono ragazzi che non avevano mai scritto una riga di codice in vita loro, non si sono mai visti il ??processo di analisi, sviluppo, consegna, gestione delle richieste di modifica e tutti i cicli e ci si imbatte nel modo in cui agli occhi delle persone reali del software sembrano parlare fasulli. Ovviamente parlano di falsi, ma questo è perché non sanno di cosa stanno parlando, non perché la cosa di cui stanno parlando è falsa. Con il passare del tempo e le app basate sul Web e il cloud computing stanno acquisendo sempre più SOA sarà sempre più forte, poiché non esiste alternativa alla comunicazione tra sistema e sistema, considerando la moltitudine di piattaforme, sistemi operativi, linguaggi di programmazione e, naturalmente, programmatori. Non lasciarti fuorviare dalla confusione creata dall'ignoranza degli altri a cui piace solo perché a loro piace la parola.

Per quanto riguarda il problema della lentezza, ti darò un suggerimento: prova la comunicazione tramite JSON, non crederai ai tuoi occhi;).

Supponendo che intendi "Service Oriented Architecture", ci sono applicazioni per le quali è utile, ma andrà e verrà come ogni altra moda. Come in qualsiasi altro mercato di questo tipo, esiste una finestra in cui vi è carenza di competenze. Se entri al momento giusto, puoi farlo abbastanza bene. Nel momento in cui viene pubblicizzato dai media mainstream, probabilmente sei troppo tardi perché tutti gli altri Tom, Dick e Harry scenderanno sulle opportunità di mercato là fuori.

Se lavori in un campo in cui la SOA è rilevante, mettici la testa intorno.

In molti modi, sono gli stessi concetti delle applicazioni distribuite, che sono state fuori moda con alcune generazioni di tecnologie (SNA, Sun RPC, DCE, CORBA, EJB, DCOM e ora Web Services).

In altri modi, si possono vedere i sistemi di orchestrazione come un mezzo per integrare componenti in un'intera applicazione. Se disponi di una serie di componenti che espongono servizi progettati in modo utile, puoi creare un'architettura applicativa piacevole e flessibile.

Una volta che la polvere si sarà depositata, le ovvie app killer di SOA saranno esattamente questo: ovvie. Direi che la finestra in cui si possono applicare commissioni di consulenza sproporzionate per sapere come si scrive SOA probabilmente si sta chiudendo ora. Imparalo se vuoi usarlo per qualcosa o vedi un'utile sinergia con altre abilità o esperienze in cui potrebbe combinarsi per rendere qualcosa vendibile. Altrimenti, ottieni una visione d'insieme e scava più a fondo quando è necessario.

Se un " dissolvenza " è una moda che viene presa con grande entusiasmo per un breve periodo di tempo; una mania. " allora la SOA non è una moda passeggera. La SOA è in circolazione da un po 'di tempo, sin da quando gli RPC basati su SOAP (ovvero i servizi Web XML). Sono passati alcuni anni da allora, e invece di morire, la SOA è cresciuta solo nella sua incarnazione WCF. Quindi direi che la SOA è tutt'altro che una moda passeggera.

Non credo sia davvero una moda passeggera. È solo che creare sistemi aperti in grado di interagire con altri sistemi è più difficile della creazione di sistemi chiusi. Penso che sarà sempre vero.

C'è sempre una penalità per le prestazioni se si trasferiscono dati con "protocolli" standardizzati come XML Soap.

La SOA non è una cattiva tecnologia in realtà penso che di solito sia implementata in modo errato e male interpretato. Ci sono scenari che davvero SOA si adatta meglio.

Ma ci sono alcuni posti per evitare la SOA. Cordiali saluti, uno degli svantaggi di SOA è, è generalmente lento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top