SaaS εναντίον SOA
Πρόσφατα όλες οι πτυχές της ανάπτυξης εφαρμογών εταιρικού λογισμικού έχουν απομακρυνθεί από την παραδοσιακή προσέγγιση που βασίζεται σε προϊόντα προς τις νεότερες προσεγγίσεις που βασίζονται σε υπηρεσίες. Η ταχεία ανάπτυξη του SaaS (Software as a Service) και του SOA (Service Oriented Architecture) είναι άμεσο αποτέλεσμα αυτού. Το SaaS είναι η κατηγορία του cloud computing στην οποία οι κύριοι διαθέσιμοι πόροι ως υπηρεσία είναι εφαρμογές λογισμικού. Το SOA είναι ένα αρχιτεκτονικό μοντέλο στο οποίο η λογική της λύσης παρουσιάζεται ως υπηρεσίες.
Τι είναι το SaaS;
Το cloud computing είναι ένα στυλ υπολογισμού στο οποίο οι πόροι διατίθενται μέσω του Διαδικτύου. Τις περισσότερες φορές αυτοί οι πόροι είναι επεκτάσιμοι και εξαιρετικά οπτικοποιημένοι πόροι και παρέχονται ως υπηρεσία. Το SaaS είναι μια από τις κατηγορίες/μεθοδολογίες του cloud computing. Όπως αναφέρθηκε παραπάνω, οι διαθέσιμοι πόροι ως υπηρεσία μέσω του SaaS είναι ειδικά εφαρμογές λογισμικού. Εδώ, μια εφαρμογή μοιράζεται σε πολλούς πελάτες χρησιμοποιώντας το μοντέλο "ένα προς πολλά". Το πλεονέκτημα που προσφέρεται για τον χρήστη SaaS είναι ότι ο χρήστης μπορεί να αποφύγει την εγκατάσταση και τη συντήρηση λογισμικού και μπορεί να απαλλάξει τον εαυτό του από πολύπλοκες απαιτήσεις λογισμικού/υλισμικού. Ο πάροχος λογισμικού SaaS, γνωστός και ως λογισμικό φιλοξενίας ή λογισμικό κατ' απαίτηση, θα φροντίσει για την ασφάλεια, τη διαθεσιμότητα και την απόδοση του λογισμικού επειδή εκτελούνται στους διακομιστές του παρόχου. Χρησιμοποιώντας μια αρχιτεκτονική πολλαπλών μισθώσεων, μια ενιαία εφαρμογή παραδίδεται σε εκατομμύρια χρήστες μέσω προγραμμάτων περιήγησης στο Διαδίκτυο. Οι πελάτες δεν απαιτούν εκ των προτέρων αδειοδότηση, ενώ οι πάροχοι απολαμβάνουν χαμηλότερο κόστος επειδή διατηρούν μόνο μία εφαρμογή. Δημοφιλές λογισμικό SaaS είναι το Salesforce.com, Workday, Google Apps και Zogo Office.
Τι είναι το SOA;
Το SOA είναι ένα αρχιτεκτονικό μοντέλο στο οποίο η λογική λύσης παρουσιάζεται ως υπηρεσίες. Έχοντας τις υπηρεσίες ως την κύρια μέθοδο παροχής λύσεων, η SOA προσπαθεί να είναι εξαιρετικά αποδοτική, ευέλικτη και παραγωγική από άλλες υπάρχουσες τεχνολογικές λύσεις. Το SOA παρέχει υποστήριξη για την πραγματοποίηση των πλεονεκτημάτων των αρχών που προσανατολίζονται στις υπηρεσίες και του υπολογισμού με γνώμονα τις υπηρεσίες. Πολλές διαφορετικές τεχνολογίες, διάφορα προϊόντα, διεπαφές προγραμματισμού εφαρμογών και άλλες διάφορες επεκτάσεις αποτελούν συνήθως μια υλοποίηση SOA. Η εφαρμογή των αρχών προσανατολισμού στις υπηρεσίες σε λύσεις λογισμικού παράγει υπηρεσίες και αυτές είναι η βασική μονάδα λογικής στο SOA. Αυτές οι υπηρεσίες μπορούν να υπάρχουν αυτόνομα, αλλά σίγουρα δεν είναι μεμονωμένες. Οι υπηρεσίες διατηρούν ορισμένα κοινά και τυπικά χαρακτηριστικά, ωστόσο μπορούν να εξελιχθούν και να επεκταθούν ανεξάρτητα. Οι υπηρεσίες μπορούν να συνδυαστούν για τη δημιουργία άλλων υπηρεσιών. Οι υπηρεσίες γνωρίζουν άλλες υπηρεσίες μόνο μέσω περιγραφών υπηρεσιών και επομένως μπορούν να θεωρηθούν ως χαλαρά συνδεδεμένες. Οι υπηρεσίες επικοινωνούν χρησιμοποιώντας αυτόνομα μηνύματα που είναι αρκετά έξυπνα ώστε να αυτοκυβερνούν τα δικά τους μέρη της λογικής. Οι πιο σημαντικές αρχές σχεδιασμού SOA είναι η χαλαρή σύζευξη, η σύμβαση παροχής υπηρεσιών, η αυτονομία, η αφαίρεση, η επαναχρησιμοποίηση, η δυνατότητα σύνθεσης, η ανιθαγένεια και η δυνατότητα εντοπισμού.
Ποια είναι η διαφορά μεταξύ SaaS και SOA;
Το SOA είναι ένα μοντέλο παραγωγής που ασχολείται με το σχεδιασμό και την κατασκευή λογισμικού εφαρμόζοντας τις αρχές υπολογιστών με προσανατολισμό στις υπηρεσίες σε λύσεις λογισμικού, ενώ το SaaS είναι ένα μοντέλο για πωλήσεις και διανομή εφαρμογών λογισμικού. Με απλούστερους όρους, το SaaS είναι ένα μέσο παροχής λογισμικού ως υπηρεσιών μέσω Διαδικτύου στους συνδρομητές του, ενώ το SOA είναι ένα αρχιτεκτονικό μοντέλο στο οποίο η μικρότερη μονάδα λογικής είναι μια υπηρεσία. Έτσι, το SOA (μια αρχιτεκτονική στρατηγική) και το SaaS (ένα επιχειρηματικό μοντέλο) δεν μπορούν να συγκριθούν άμεσα. Ωστόσο, για να λάβετε τα μέγιστα οφέλη από τη μείωση του κόστους και την ευελιξία, συνιστάται ιδιαίτερα οι επιχειρήσεις να ενσωματώνουν το SOA και το SaaS μαζί.