Η Service Oriented Architecture είναι μια αρχιτεκτονική δομή λογισμικού που επιτρέπει στην επιχείρηση να γίνεται πιο ευέλικτη και να ανταποκρίνεται πιο γρήγορα στις απαιτήσεις της αγοράς. Ο συνήθης τρόπος δημιουργίας του τμήματος IT μιας εταιρείας είναι αγορά του hardware, του software, και του συστήματος δικτύωσης με την ομαλή σύνδεση και λειτουργία όλου του πληροφοριακού συστήματος. Το πρόβλημα δημιουργείται όταν θέλουμε να κάνουμε αλλαγές στο software ή στο hardware ή στη δικτύωση του συστήματος.

Δομικά Block

Αυτό το πρόβλημα μπορεί να λυθεί χτίζοντας το πληροφοριακό σύστημα της επιχείρησης όχι σαν κομμάτια από hardware ή software αλλά σαν υπηρεσίες. Δηλαδή ένα building block θα είναι μια διεργασία (service) της επιχείρησης όπως ο έλεγχος της αποθήκης της. Αυτό το building block θα πρέπει να μπορεί λειτουργεί αυτόνομα με το δικό του hardware και software και να δέχεται, να επεξεργάζεται και να εξάγαγει δεδομένα.

Με την ίδια λογική μπορούν και οι υπόλοιπες διεργασίες μια επιχείρησης να χτιστούν σε building blocks, οπότε η επιχείρηση δεν είναι τίποτα άλλο από ένα σύνολο διεργασιών όπου η μία υπηρεσία είναι εντελώς ανεξάρτητη από την άλλη, διασφαλίζοντας βέβαια την επικοινωνία μεταξύ τους.

Ένα παράδειγμα είναι η τεχνολογία SAP Netweaver όπου είναι πλατφόρμα πάνω στην οποία τρέχουν εφαρμογές της SAP όπως είναι το CRM, ERP, SCM και η οποία είναι σε αρχιτεκτονική SOA για enterprise application integration.

 

Ευξελιξία Μετασχηματισμού

Στη συνέχεια για να παράγει ένα αποτέλεσμα η επιχείρηση θα πρέπει όλες οι διεργασίες της να μπορούν να συνδεθούν με μια συγκεκριμένη σειρά και να το παράγουν.

Οπότε όταν αλλάξουν οι ανάγκες της αγοράς η επιχείρηση δεν έχει παρά να προσθέσει ένα καινούργιο block στo τρόπο σύνδεσης των διεργασιών της ή απλά να αλλάξει τη σειρά με την οποία συνδέονται ώστε να παράγουν ένα καινούργιο αποτέλεσμα προϊόν κτλ. εξοικονομώντας χρήματα και χρόνο. Η σύνδεση αυτών των ανεξάρτητων blocks κυρίως στηρίζεται στα web services για τη εισαγωγή και εξαγωγή των απαιτούμενο δεδομένων σε κάθε building block.

Μια εξέλιξη των web services ειναι τα microservices με τα οποία είναι δυνατόν να απομονωθούν σημεία των εφαρμογών που δημιουργούνται bottlenecks και να κλιμακωθούν πιο εύκολα.