Developing a Service-oriented Architecture
(SOA)- based Product Management
Platform Under SaaS Model
KOUIS Amine
amine.kouis@gmail.com
http://aminekouis.com
June 22, 2017
Introduction
REST architectural
Service Oriented
Architectures
Software as a Service
Context & Conclusion
Agenda
2
Introduction
SoftVision is a web platform based on SOA under
SAAS model consist of:
4
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
Product
Management
module
Contact
Management
module
Inventory
Management
module
Software as a Service
SAAS
6
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
Software as a service is a software licensing and delivery
model in which software is licensed on a subscription basis
and is centrally hosted. It is sometimes referred to as "on-
demand software". SaaS is typically accessed by users
using a thin client via a web browser.
7
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
• Accessible from anywhere
• Lower cost of entry
• Pay per use or subscription based payment methods
• Integration and scalability
• Faster implementation
Advantages of SAAS
8
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
Multi-tenant vs Single SAAS
Service Oriented Architectures
SOA
10
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
SOA is a set of principals and practices for modeling
enterprise business functions as services or micro services
which has following attributes.
• Standardized
• Loosely coupled
• Reusable
• Composable
• Stateless
• Abstract
11
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
The essence of a SOA lies in Independent services interconnected by messages
12
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
• Improved business agility
• Reduce IT complexity and rigidity
• Reduce costs / lead times / risk
• Incremental implementation
• New opportunities to deliver value
Advantages of SOA
13
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
SOA Architecture
14
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
Fondamental Constructs of SOA
Increasing Levels of Abstraction
Representation State Transfer
REST
16
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
REST is intended to evoke an image of how a well-designed
Web application behaves: a network of web pages where
the user progresses through an application by selecting
links, resulting in the next page being transferred to the
user and rendered for use.
17
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
REST Architectural style
• Client-server, stateless, cache
• HTTP is transport; HTTP methods (get, put, post…)
are the only commands
• URI names are a resource
• Client has resource so has enough info to request
modification of the resource on server
• A cookie can encode part of transferred state
18
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
REST with HTTP examples
HTTP PUT HTTP POST HTTP GET HTTP DELETE
Collection URI, such as http://example.com/customers/3/orders
Replace the entire
collection with
another collection
Create a new entry in
the collection. The ID
created is usually
included as part of the
data returned by this
operation.
List the members of
the collection,
complete with their
member URIs for
further navigation
Delete the entire
collection
Context
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
Current architecture
Solutions
Technologies
Results
20
Solution 1
21
Solution 2
Group all generic and reusable
modules into a platform.
Develop a SOA platform that
exposes a RESTful API
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
Current architecture
Solutions
Technologies
Results
22
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
Current architecture
Solutions
Technologies
Results
Solution 1
23
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
Current architecture
Solutions
Technologies
Results
Solution 2
24
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
Current architecture
Solutions
Technologies
Results
Balsamiq Mockups Enterprise Architect Trello
25
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
Current architecture
Solutions
Technologies
Results
26
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
Current architecture
Solutions
Technologies
Results
27
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
Current architecture
Solutions
Technologies
Results
28
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
Current architecture
Solutions
Technologies
Results
29
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
Current architecture
Solutions
Technologies
Results
30
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
Current architecture
Solutions
Technologies
Results
31
Introduction
Software as a Service
Service Oriented Architectures
REST architectural
Context & Conclusion
Current architecture
Solutions
Technologies
Results
Conclusion
33
References
http://www.salesforce.com/in/?ir=1
http://anantgarg.com/2013/06/10/build-a-php-saas-app-from-scratch/
http://www.armandofox.com/geek/teaching/
http://msdn.microsoft.com
http://www.ebuilt.com/fielding/pubs/dissertation/top.htm
https://hackernoon.com/exploring-single-tenant-architectures
34
Thank you for your
attention!

Developing a Service-oriented Architecture (SOA)- based Product Management Platform Under SaaS Model.

  • 1.
    Developing a Service-orientedArchitecture (SOA)- based Product Management Platform Under SaaS Model KOUIS Amine amine.kouis@gmail.com http://aminekouis.com June 22, 2017
  • 2.
  • 3.
  • 4.
    SoftVision is aweb platform based on SOA under SAAS model consist of: 4 Introduction Software as a Service Service Oriented Architectures REST architectural Context & Conclusion Product Management module Contact Management module Inventory Management module
  • 5.
    Software as aService SAAS
  • 6.
    6 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion Software as a service is a software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted. It is sometimes referred to as "on- demand software". SaaS is typically accessed by users using a thin client via a web browser.
  • 7.
    7 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion • Accessible from anywhere • Lower cost of entry • Pay per use or subscription based payment methods • Integration and scalability • Faster implementation Advantages of SAAS
  • 8.
    8 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion Multi-tenant vs Single SAAS
  • 9.
  • 10.
    10 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion SOA is a set of principals and practices for modeling enterprise business functions as services or micro services which has following attributes. • Standardized • Loosely coupled • Reusable • Composable • Stateless • Abstract
  • 11.
    11 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion The essence of a SOA lies in Independent services interconnected by messages
  • 12.
    12 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion • Improved business agility • Reduce IT complexity and rigidity • Reduce costs / lead times / risk • Incremental implementation • New opportunities to deliver value Advantages of SOA
  • 13.
    13 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion SOA Architecture
  • 14.
    14 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion Fondamental Constructs of SOA Increasing Levels of Abstraction
  • 15.
  • 16.
    16 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion REST is intended to evoke an image of how a well-designed Web application behaves: a network of web pages where the user progresses through an application by selecting links, resulting in the next page being transferred to the user and rendered for use.
  • 17.
    17 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion REST Architectural style • Client-server, stateless, cache • HTTP is transport; HTTP methods (get, put, post…) are the only commands • URI names are a resource • Client has resource so has enough info to request modification of the resource on server • A cookie can encode part of transferred state
  • 18.
    18 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion REST with HTTP examples HTTP PUT HTTP POST HTTP GET HTTP DELETE Collection URI, such as http://example.com/customers/3/orders Replace the entire collection with another collection Create a new entry in the collection. The ID created is usually included as part of the data returned by this operation. List the members of the collection, complete with their member URIs for further navigation Delete the entire collection
  • 19.
  • 20.
    Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion Current architecture Solutions Technologies Results 20
  • 21.
    Solution 1 21 Solution 2 Groupall generic and reusable modules into a platform. Develop a SOA platform that exposes a RESTful API Introduction Software as a Service Service Oriented Architectures REST architectural Context & Conclusion Current architecture Solutions Technologies Results
  • 22.
    22 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion Current architecture Solutions Technologies Results Solution 1
  • 23.
    23 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion Current architecture Solutions Technologies Results Solution 2
  • 24.
    24 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion Current architecture Solutions Technologies Results Balsamiq Mockups Enterprise Architect Trello
  • 25.
    25 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion Current architecture Solutions Technologies Results
  • 26.
    26 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion Current architecture Solutions Technologies Results
  • 27.
    27 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion Current architecture Solutions Technologies Results
  • 28.
    28 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion Current architecture Solutions Technologies Results
  • 29.
    29 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion Current architecture Solutions Technologies Results
  • 30.
    30 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion Current architecture Solutions Technologies Results
  • 31.
    31 Introduction Software as aService Service Oriented Architectures REST architectural Context & Conclusion Current architecture Solutions Technologies Results
  • 32.
  • 33.
  • 34.
    34 Thank you foryour attention!

Editor's Notes

  • #2 Monsieur le président, honorable jury, j’ai l’honneur d’être devant vous aujourd’hui et soumettre à votre appréciation le résultat de mon projet de fin d’études effectué au sein de MIT , intitulé «Etude et développement d’une plateforme de gestion d'entreprise SAAS basée sur SOA ». Le projet a été supervisé par M, RACHAD Taoufik (côté ENSIAS) et par M. Salim ELBOUANANI ( cote MIT ) et sera jugé par Mr X (président du jury) et par Y examinateur du rapport.
  • #3 © Copyright Showeet.com – Free PowerPoint Templates
  • #7 La société MIT a développé plusieurs applications SaaS (Software as a Service) basées principalement sur le Framework Symfony, et avec le temps et avec la multitude des projets développés, ils ont constaté que la plupart de ces projets contiennent des modules communs qui offrent les mêmes fonctionnalités, et qui prennent énormément du temps à redévelopper. Ce problème de redondance des modules a engendré une perte du temps, et des ressources, sachant que la société MIT connait un manque de la main d’œuvre (moyenne de de quatre développeurs). Parmi ces modules répétitifs on trouve :
  • #8 La société MIT a développé plusieurs applications SaaS (Software as a Service) basées principalement sur le Framework Symfony, et avec le temps et avec la multitude des projets développés, ils ont constaté que la plupart de ces projets contiennent des modules communs qui offrent les mêmes fonctionnalités, et qui prennent énormément du temps à redévelopper. Ce problème de redondance des modules a engendré une perte du temps, et des ressources, sachant que la société MIT connait un manque de la main d’œuvre (moyenne de de quatre développeurs). Parmi ces modules répétitifs on trouve :
  • #9 La société MIT a développé plusieurs applications SaaS (Software as a Service) basées principalement sur le Framework Symfony, et avec le temps et avec la multitude des projets développés, ils ont constaté que la plupart de ces projets contiennent des modules communs qui offrent les mêmes fonctionnalités, et qui prennent énormément du temps à redévelopper. Ce problème de redondance des modules a engendré une perte du temps, et des ressources, sachant que la société MIT connait un manque de la main d’œuvre (moyenne de de quatre développeurs). Parmi ces modules répétitifs on trouve :
  • #11 La société MIT a développé plusieurs applications SaaS (Software as a Service) basées principalement sur le Framework Symfony, et avec le temps et avec la multitude des projets développés, ils ont constaté que la plupart de ces projets contiennent des modules communs qui offrent les mêmes fonctionnalités, et qui prennent énormément du temps à redévelopper. Ce problème de redondance des modules a engendré une perte du temps, et des ressources, sachant que la société MIT connait un manque de la main d’œuvre (moyenne de de quatre développeurs). Parmi ces modules répétitifs on trouve :
  • #12 La société MIT a développé plusieurs applications SaaS (Software as a Service) basées principalement sur le Framework Symfony, et avec le temps et avec la multitude des projets développés, ils ont constaté que la plupart de ces projets contiennent des modules communs qui offrent les mêmes fonctionnalités, et qui prennent énormément du temps à redévelopper. Ce problème de redondance des modules a engendré une perte du temps, et des ressources, sachant que la société MIT connait un manque de la main d’œuvre (moyenne de de quatre développeurs). Parmi ces modules répétitifs on trouve :
  • #13 La société MIT a développé plusieurs applications SaaS (Software as a Service) basées principalement sur le Framework Symfony, et avec le temps et avec la multitude des projets développés, ils ont constaté que la plupart de ces projets contiennent des modules communs qui offrent les mêmes fonctionnalités, et qui prennent énormément du temps à redévelopper. Ce problème de redondance des modules a engendré une perte du temps, et des ressources, sachant que la société MIT connait un manque de la main d’œuvre (moyenne de de quatre développeurs). Parmi ces modules répétitifs on trouve :
  • #14 La société MIT a développé plusieurs applications SaaS (Software as a Service) basées principalement sur le Framework Symfony, et avec le temps et avec la multitude des projets développés, ils ont constaté que la plupart de ces projets contiennent des modules communs qui offrent les mêmes fonctionnalités, et qui prennent énormément du temps à redévelopper. Ce problème de redondance des modules a engendré une perte du temps, et des ressources, sachant que la société MIT connait un manque de la main d’œuvre (moyenne de de quatre développeurs). Parmi ces modules répétitifs on trouve :
  • #15 La société MIT a développé plusieurs applications SaaS (Software as a Service) basées principalement sur le Framework Symfony, et avec le temps et avec la multitude des projets développés, ils ont constaté que la plupart de ces projets contiennent des modules communs qui offrent les mêmes fonctionnalités, et qui prennent énormément du temps à redévelopper. Ce problème de redondance des modules a engendré une perte du temps, et des ressources, sachant que la société MIT connait un manque de la main d’œuvre (moyenne de de quatre développeurs). Parmi ces modules répétitifs on trouve :
  • #17 La société MIT a développé plusieurs applications SaaS (Software as a Service) basées principalement sur le Framework Symfony, et avec le temps et avec la multitude des projets développés, ils ont constaté que la plupart de ces projets contiennent des modules communs qui offrent les mêmes fonctionnalités, et qui prennent énormément du temps à redévelopper. Ce problème de redondance des modules a engendré une perte du temps, et des ressources, sachant que la société MIT connait un manque de la main d’œuvre (moyenne de de quatre développeurs). Parmi ces modules répétitifs on trouve :
  • #18 La société MIT a développé plusieurs applications SaaS (Software as a Service) basées principalement sur le Framework Symfony, et avec le temps et avec la multitude des projets développés, ils ont constaté que la plupart de ces projets contiennent des modules communs qui offrent les mêmes fonctionnalités, et qui prennent énormément du temps à redévelopper. Ce problème de redondance des modules a engendré une perte du temps, et des ressources, sachant que la société MIT connait un manque de la main d’œuvre (moyenne de de quatre développeurs). Parmi ces modules répétitifs on trouve :
  • #19 La société MIT a développé plusieurs applications SaaS (Software as a Service) basées principalement sur le Framework Symfony, et avec le temps et avec la multitude des projets développés, ils ont constaté que la plupart de ces projets contiennent des modules communs qui offrent les mêmes fonctionnalités, et qui prennent énormément du temps à redévelopper. Ce problème de redondance des modules a engendré une perte du temps, et des ressources, sachant que la société MIT connait un manque de la main d’œuvre (moyenne de de quatre développeurs). Parmi ces modules répétitifs on trouve :
  • #21 à titre d’exemple trois projets SaaS que MIT a déjà développé qui sont des applications SaaS, parmi leurs modules, on trouve six qui sont similaires et qui sont redéveloppés trois fois. De plus, chacun de ces projets a sa propre BD isolée des autres, et une organisation peut s’abonner dans les 3 applications, ce qui est un travail de plus à l’administrateur pour la dupliquer dans les trois bases de données, ainsi qu’il doit accéder à l’administration de chaque projet pour gérer les abonnés et générer leurs factures.
  • #23 Modules génériques Remédier aux probleme de la duplication des données => BD partagée Les incovénients : intégrer les modules, base de donnée partagée