SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Software Design – An introduction
Patterns, Models and Reference Architecture
SOA Computing + SOA Clients
SaaS - a Quick Introduction
Software Design – Concepts
Business Process Modeling
Sample Web 2.0 Application Analysis
Software Design Specification – How to…
Discussions
•Second   generation Application Development Platform for Web,
Mobile and Business Systems.
•Facilitating   Communication, Information sharing, Interoperability,
User-centered design and Collaboration on the World Wide Web.
   Repeatable solution to a commonly occurring problem.

   Patterns can be repurposed across multiple

   domains and used to solve recurring problems there within.

     Example: Collaborative Tagging (Can be used for audio

      files, video files, text files, binaries, people…)
   Definition: Abstract lexicon capturing a generalized set of

    concepts and noting their purposes and relationships to each

    other.

   Primary Audience: Entrepreneurs, Software or Enterprise

    Architects

   Why:

       Models guide all domains, whether explicit or implicit. They facilitate a common,

        shared understanding or conceptualization of a domain.
Client




Server
Users


Client Applications / Runtimes


Connectivity


Services


Capabilities
   A technology component view of a generalized architecture.
   NB!: Abstract of all technologies (HTTP, TCP/IP java etc)
    and abstract of all applications or vendor products. Agnostic
    to patterns of usage.
   Primary Audience: Software or enterprise Architects, developers
   Why: There is a great value in being able to communicate ideas
    and functionality abstract of specific technologies protocols or
    products. These become artifacts that can be applied by
    architects in multiple domains.
   Re-purposing core functionality as service to be consumed
   Mashing up multiple formats
   Using services to deliver rich user experiences
   Rendering/Media engines let users control the way they use your
   applications.
   Are no longer standalone - use knowledge of other users applications.
   Software Deployment Model

   Service On Demand

   Customized Solutions based on User

   Shared License
   Abstraction
    ▪ Process or result of generalization by reducing the
      information content of a concept or an observable
      phenomenon, typically in order to retain only
      information which is relevant for a particular purpose.
   Refinement
     It is the process of elaboration. A hierarchy is developed by
      decomposing a macroscopic statement of function in a
      stepwise fashion until programming language statements are
      reached. In each step, one or several instructions of a given
      program are decomposed into more detailed instructions.
      Abstraction and Refinement are complementary concepts.
▪ Modules
  ▪ Software architecture is divided into components called
    modules.
   Architecture
     ▪ It refers to the overall structure of the software and the ways in
       which that structure provides conceptual integrity for a system. A
       software architecture is the development work product that gives
       the highest return on investment with respect to quality, schedule
       and cost.
     ▪ Use cases
     ▪ Logical Flow / State Diagrams
     ▪ Activity Diagrams / Process flow
     ▪ Implementation / Dependencies
     ▪ Deployment
Use Case Name:         Upload new media
           Created By:        Loganathan                                 Last Updated By:     Loganathan
         Date Created:        April 10 2008                            Date Last Updated:     April 10 2008

Actors                                        Mobile User, Peermeta
Preconditions
Workflow                                      Mobile User                                   Peermeta
                                              Click Upload icon in the Home page            Show Choose file and Upload buttons
                                              Select media to upload
                                              Press Upload button                           Store media under user's account

Post conditions                               NA
Extensions / Exception flow                   Exception capturing and display
Assumptions                                   NA



       Use Case Name:         Search media
           Created By:        Loganathan                                 Last Updated By:     Loganathan
         Date Created:        April 10 2008                            Date Last Updated:     April 10 2008

Actors                                        Mobile User, Peermeta
Preconditions                                 Logged in User at Home page
Workflow                                      Mobile User                                   Peermeta
                                              Enter text in the search text box

                                              Click the search button                       Show the media(s) for the given type

                                              Click the clear button                        Clear the entered text in the text box




Post conditions                               NA
Extensions / Exception flow                   Exception capturing and display
Assumptions                                   NA
   Data structures – Databases and Query Engines
     It is a representation of the logical relationship among
      individual elements of data.
   Representing processes of an enterprise to analyze and
    Improved process efficiency and quality
   Business Process Re-engineering + Change management +
    Continues Improvement (Six Sigma)
   Flow Objects

       Events, Activities, Gateways

   Connecting Objects

       Sequence Flow, Message Flow, Association

   Swim-lanes

       Pool, Lane

   Artifacts (Artefacts)

       Data Object, Group, Annotation
   Start event
       Acts as a trigger for the process; indicated by a single narrow border; and can
        only be Catch, so is shown with an open (outline) icon.
   End event
       Represents the result of a process; indicated by a single thick or bold border; and
        can only Throw, so is shown with a solid icon.
   Intermediate event
       Represents something that happens between the start and end events; is
        indicated by a tramline border; and can Throw or Catch (using solid or open icons
        as appropriate) - for example, a task could flow to an event that throws a
        message across to another pool and a subsequent event waits to catch the
        response before continuing.
   Task
       A task represents a single unit of work that is not or cannot be broken down to a further level of
        business process detail without diagramming the steps in a procedure (not the purpose of BPMN)
   Sub-process
       Used to hide or reveal additional levels of business process detail - when collapsed a sub-process is
        indicated by a plus sign against the bottom line of the rectangle; when expanded the rounded rectangle
        expands to show all flow objects, connecting objects, and artefacts.
       Has its own self-contained start and end events, and sequence flows from the parent process must not
        cross the boundary.
   Transaction
       A form of sub-process in which all contained activities must be treated as a whole, i.e., they must all be
        completed to meet an objective, and if any one of them fails they must all be compensated (undone).
        Transactions are differentiated from expanded sub-processes by being surrounded by a tramline
        border.
   Gateway
       A Gateway is represented with a diamond shape and will determine forking and merging of paths
        depending on the conditions expressed.
   Flow objects are connected to each other using Connecting objects, which consist of
    three types (Sequences, Messages, and Associations):
   Sequence Flow
       A Sequence Flow is represented with a solid line and arrowhead and shows in which order the activities
        will be performed. The sequence flow may be also have a symbol at its start, a small diamond indicates
        one of a number of conditional flows from an activity while a diagonal slash indicates the default flow
        from a decision or activity with conditional flows.
   Message Flow
       A Message Flow is represented with a dashed line, an open circle at the start, and an open arrowhead
        at the end. It tells us what messages flow across organisational boundaries (i.e., between pools). A
        message flow can never be used to connect activities or events within the same pool.
   Association
       An Association is represented with a dotted line. It is used to associate an Artifact or text to a Flow
        Object, and can indicate some directionality using an open arrowhead (toward the artifact to represent
        a result, from the artifact to represent an input, and both to indicate it is read and updated). No
        directionality would be used when the Artifact or text is associated with a sequence or message flow (as
        that flow already shows the direction).
   Pool
       Represents major participants in a process, typically separating different
        organisations. A pool contains one or more lanes (like a real swimming pool). A
        pool can be open (i.e., showing internal detail) when it is depicted as a large
        rectangle showing one or more lanes, or collapsed (i.e., hiding internal detail)
        when it is depicted as an empty rectangle stretching the width or height of the
        diagram.
   Lane
       Used to organise and categorise activities within a pool according to function or
        role, and depicted as a rectangle stretching the width or height of the pool. A
        lane contains the Flow Objects, Connecting Objects and Artifacts.
   Artifacts allow developers to bring some more information into the
    model/diagram. In this way the model/diagram becomes more readable.
    There are three pre-defined Artifacts and they are:
   Data Objects
       Data Objects show the reader which data is required or produced in an activity.
   Group
       A Group is represented with a rounded-corner rectangle and dashed lines. The
        Group is used to group different activities but does not affect the flow in the
        diagram.
   Annotation
       An Annotation is used to give the reader of the model/diagram an
        understandable impression
SOA - Architecture and Design
SOA - Architecture and Design
SOA - Architecture and Design
SOA - Architecture and Design
SOA - Architecture and Design

Weitere ähnliche Inhalte

Andere mochten auch

Design Thinking Process
Design Thinking ProcessDesign Thinking Process
Design Thinking ProcessHeyy Gus
 
Architecture drawing presentation
Architecture drawing presentationArchitecture drawing presentation
Architecture drawing presentationCarlson Ko
 
03 architectural principles & elements
03 architectural principles & elements03 architectural principles & elements
03 architectural principles & elementsJan Echiverri-Quintano
 
Circulation (architecture)
Circulation (architecture)Circulation (architecture)
Circulation (architecture)Sadanand Kumar
 
Generating Architectural Concepts & Design Ideas
Generating Architectural Concepts & Design IdeasGenerating Architectural Concepts & Design Ideas
Generating Architectural Concepts & Design IdeasWan Muhammad / Asas-Khu™
 

Andere mochten auch (6)

Design Thinking Process
Design Thinking ProcessDesign Thinking Process
Design Thinking Process
 
Architecture drawing presentation
Architecture drawing presentationArchitecture drawing presentation
Architecture drawing presentation
 
03 architectural principles & elements
03 architectural principles & elements03 architectural principles & elements
03 architectural principles & elements
 
Circulation (architecture)
Circulation (architecture)Circulation (architecture)
Circulation (architecture)
 
Generating Architectural Concepts & Design Ideas
Generating Architectural Concepts & Design IdeasGenerating Architectural Concepts & Design Ideas
Generating Architectural Concepts & Design Ideas
 
BIOMIMETIC ARCHITECTURE
BIOMIMETIC ARCHITECTUREBIOMIMETIC ARCHITECTURE
BIOMIMETIC ARCHITECTURE
 

Ähnlich wie SOA - Architecture and Design

From Site to System (specifically, business process management systems)
From Site to System (specifically, business process management systems)From Site to System (specifically, business process management systems)
From Site to System (specifically, business process management systems)Adam Khan
 
Development Lifecycle: From Requirement to Release
Development Lifecycle: From Requirement to ReleaseDevelopment Lifecycle: From Requirement to Release
Development Lifecycle: From Requirement to ReleaseJulie Meloni
 
@lis agent communication, ontologies, protocols, semantic web 2003
@lis   agent communication, ontologies, protocols, semantic web 2003@lis   agent communication, ontologies, protocols, semantic web 2003
@lis agent communication, ontologies, protocols, semantic web 2003Luigi Ceccaroni
 
Visualizing Software Architecture Effectively in Service Description
Visualizing Software Architecture Effectively in Service DescriptionVisualizing Software Architecture Effectively in Service Description
Visualizing Software Architecture Effectively in Service DescriptionSanjoy Kumar Roy
 
Developing Actors in Azure with .net
Developing Actors in Azure with .netDeveloping Actors in Azure with .net
Developing Actors in Azure with .netMarco Parenzan
 
Android application model
Android application modelAndroid application model
Android application modelmagicshui
 
Software Architecture in Architecture design .ppt
Software Architecture in Architecture design .pptSoftware Architecture in Architecture design .ppt
Software Architecture in Architecture design .pptguruswamyd785
 
Tell Me Quality Documentation
Tell Me Quality DocumentationTell Me Quality Documentation
Tell Me Quality DocumentationMarco Berlot
 
The Big Picture - Integrating Buzzwords
The Big Picture - Integrating BuzzwordsThe Big Picture - Integrating Buzzwords
The Big Picture - Integrating BuzzwordsAlessandro Giorgetti
 
OPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATIONOPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATIONSUMIT KUMAR
 
Demo Guidebook 040110
Demo Guidebook 040110Demo Guidebook 040110
Demo Guidebook 040110Brad Ganas
 

Ähnlich wie SOA - Architecture and Design (20)

BPMN and Bizagi
BPMN and BizagiBPMN and Bizagi
BPMN and Bizagi
 
BPMN 2.0 Fundamentals
BPMN 2.0 FundamentalsBPMN 2.0 Fundamentals
BPMN 2.0 Fundamentals
 
From Site to System (specifically, business process management systems)
From Site to System (specifically, business process management systems)From Site to System (specifically, business process management systems)
From Site to System (specifically, business process management systems)
 
Development Lifecycle: From Requirement to Release
Development Lifecycle: From Requirement to ReleaseDevelopment Lifecycle: From Requirement to Release
Development Lifecycle: From Requirement to Release
 
Role of BPMN in Business
Role of BPMN in BusinessRole of BPMN in Business
Role of BPMN in Business
 
@lis agent communication, ontologies, protocols, semantic web 2003
@lis   agent communication, ontologies, protocols, semantic web 2003@lis   agent communication, ontologies, protocols, semantic web 2003
@lis agent communication, ontologies, protocols, semantic web 2003
 
Visualizing Software Architecture Effectively in Service Description
Visualizing Software Architecture Effectively in Service DescriptionVisualizing Software Architecture Effectively in Service Description
Visualizing Software Architecture Effectively in Service Description
 
Developing Actors in Azure with .net
Developing Actors in Azure with .netDeveloping Actors in Azure with .net
Developing Actors in Azure with .net
 
Android application model
Android application modelAndroid application model
Android application model
 
UCIAD overview
UCIAD overviewUCIAD overview
UCIAD overview
 
Software Architecture in Architecture design .ppt
Software Architecture in Architecture design .pptSoftware Architecture in Architecture design .ppt
Software Architecture in Architecture design .ppt
 
Tell Me Quality Documentation
Tell Me Quality DocumentationTell Me Quality Documentation
Tell Me Quality Documentation
 
Intoduction to uml
Intoduction to umlIntoduction to uml
Intoduction to uml
 
The Big Picture - Integrating Buzzwords
The Big Picture - Integrating BuzzwordsThe Big Picture - Integrating Buzzwords
The Big Picture - Integrating Buzzwords
 
Presentation
PresentationPresentation
Presentation
 
Ooad
OoadOoad
Ooad
 
OPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATIONOPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATION
 
Demo Guidebook 040110
Demo Guidebook 040110Demo Guidebook 040110
Demo Guidebook 040110
 
Sdlc
SdlcSdlc
Sdlc
 
Sdlc
SdlcSdlc
Sdlc
 

Mehr von Muthu Kumar

Phonegap for Android
Phonegap for AndroidPhonegap for Android
Phonegap for AndroidMuthu Kumar
 
Next generation career opportunities
Next generation career opportunitiesNext generation career opportunities
Next generation career opportunitiesMuthu Kumar
 
SOA Development - Requirement Analysis
SOA Development - Requirement AnalysisSOA Development - Requirement Analysis
SOA Development - Requirement AnalysisMuthu Kumar
 
10 LIFE LESSONS YOU LEARN FROM YOUR SCHOOL DAYS
10 LIFE LESSONS YOU LEARN FROM YOUR SCHOOL DAYS10 LIFE LESSONS YOU LEARN FROM YOUR SCHOOL DAYS
10 LIFE LESSONS YOU LEARN FROM YOUR SCHOOL DAYSMuthu Kumar
 
Professional project cost management
Professional project cost managementProfessional project cost management
Professional project cost managementMuthu Kumar
 
Goal planner 2012
Goal planner 2012Goal planner 2012
Goal planner 2012Muthu Kumar
 
Smartphone security
Smartphone securitySmartphone security
Smartphone securityMuthu Kumar
 
Professional resume writing
Professional resume writingProfessional resume writing
Professional resume writingMuthu Kumar
 
Android Testing - How to
Android Testing - How toAndroid Testing - How to
Android Testing - How toMuthu Kumar
 
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development WorkshopMuthu Kumar
 
J2ME mobile app development
J2ME mobile app developmentJ2ME mobile app development
J2ME mobile app developmentMuthu Kumar
 

Mehr von Muthu Kumar (11)

Phonegap for Android
Phonegap for AndroidPhonegap for Android
Phonegap for Android
 
Next generation career opportunities
Next generation career opportunitiesNext generation career opportunities
Next generation career opportunities
 
SOA Development - Requirement Analysis
SOA Development - Requirement AnalysisSOA Development - Requirement Analysis
SOA Development - Requirement Analysis
 
10 LIFE LESSONS YOU LEARN FROM YOUR SCHOOL DAYS
10 LIFE LESSONS YOU LEARN FROM YOUR SCHOOL DAYS10 LIFE LESSONS YOU LEARN FROM YOUR SCHOOL DAYS
10 LIFE LESSONS YOU LEARN FROM YOUR SCHOOL DAYS
 
Professional project cost management
Professional project cost managementProfessional project cost management
Professional project cost management
 
Goal planner 2012
Goal planner 2012Goal planner 2012
Goal planner 2012
 
Smartphone security
Smartphone securitySmartphone security
Smartphone security
 
Professional resume writing
Professional resume writingProfessional resume writing
Professional resume writing
 
Android Testing - How to
Android Testing - How toAndroid Testing - How to
Android Testing - How to
 
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development Workshop
 
J2ME mobile app development
J2ME mobile app developmentJ2ME mobile app development
J2ME mobile app development
 

Kürzlich hochgeladen

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Kürzlich hochgeladen (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

SOA - Architecture and Design

  • 1.
  • 2. Software Design – An introduction Patterns, Models and Reference Architecture SOA Computing + SOA Clients SaaS - a Quick Introduction Software Design – Concepts Business Process Modeling Sample Web 2.0 Application Analysis Software Design Specification – How to… Discussions
  • 3. •Second generation Application Development Platform for Web, Mobile and Business Systems. •Facilitating Communication, Information sharing, Interoperability, User-centered design and Collaboration on the World Wide Web.
  • 4.
  • 5.
  • 6.
  • 7. Repeatable solution to a commonly occurring problem.  Patterns can be repurposed across multiple  domains and used to solve recurring problems there within.  Example: Collaborative Tagging (Can be used for audio files, video files, text files, binaries, people…)
  • 8.
  • 9. Definition: Abstract lexicon capturing a generalized set of concepts and noting their purposes and relationships to each other.  Primary Audience: Entrepreneurs, Software or Enterprise Architects  Why:  Models guide all domains, whether explicit or implicit. They facilitate a common, shared understanding or conceptualization of a domain.
  • 11. Users Client Applications / Runtimes Connectivity Services Capabilities
  • 12. A technology component view of a generalized architecture.  NB!: Abstract of all technologies (HTTP, TCP/IP java etc) and abstract of all applications or vendor products. Agnostic to patterns of usage.  Primary Audience: Software or enterprise Architects, developers  Why: There is a great value in being able to communicate ideas and functionality abstract of specific technologies protocols or products. These become artifacts that can be applied by architects in multiple domains.
  • 13.
  • 14. Re-purposing core functionality as service to be consumed
  • 15. Mashing up multiple formats  Using services to deliver rich user experiences  Rendering/Media engines let users control the way they use your  applications.  Are no longer standalone - use knowledge of other users applications.
  • 16. Software Deployment Model  Service On Demand  Customized Solutions based on User  Shared License
  • 17.
  • 18.
  • 19. Abstraction ▪ Process or result of generalization by reducing the information content of a concept or an observable phenomenon, typically in order to retain only information which is relevant for a particular purpose.
  • 20. Refinement  It is the process of elaboration. A hierarchy is developed by decomposing a macroscopic statement of function in a stepwise fashion until programming language statements are reached. In each step, one or several instructions of a given program are decomposed into more detailed instructions. Abstraction and Refinement are complementary concepts.
  • 21. ▪ Modules ▪ Software architecture is divided into components called modules.
  • 22. Architecture ▪ It refers to the overall structure of the software and the ways in which that structure provides conceptual integrity for a system. A software architecture is the development work product that gives the highest return on investment with respect to quality, schedule and cost. ▪ Use cases ▪ Logical Flow / State Diagrams ▪ Activity Diagrams / Process flow ▪ Implementation / Dependencies ▪ Deployment
  • 23. Use Case Name: Upload new media Created By: Loganathan Last Updated By: Loganathan Date Created: April 10 2008 Date Last Updated: April 10 2008 Actors Mobile User, Peermeta Preconditions Workflow Mobile User Peermeta Click Upload icon in the Home page Show Choose file and Upload buttons Select media to upload Press Upload button Store media under user's account Post conditions NA Extensions / Exception flow Exception capturing and display Assumptions NA Use Case Name: Search media Created By: Loganathan Last Updated By: Loganathan Date Created: April 10 2008 Date Last Updated: April 10 2008 Actors Mobile User, Peermeta Preconditions Logged in User at Home page Workflow Mobile User Peermeta Enter text in the search text box Click the search button Show the media(s) for the given type Click the clear button Clear the entered text in the text box Post conditions NA Extensions / Exception flow Exception capturing and display Assumptions NA
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. Data structures – Databases and Query Engines  It is a representation of the logical relationship among individual elements of data.
  • 32. Representing processes of an enterprise to analyze and Improved process efficiency and quality  Business Process Re-engineering + Change management + Continues Improvement (Six Sigma)
  • 33.
  • 34. Flow Objects  Events, Activities, Gateways  Connecting Objects  Sequence Flow, Message Flow, Association  Swim-lanes  Pool, Lane  Artifacts (Artefacts)  Data Object, Group, Annotation
  • 35. Start event  Acts as a trigger for the process; indicated by a single narrow border; and can only be Catch, so is shown with an open (outline) icon.  End event  Represents the result of a process; indicated by a single thick or bold border; and can only Throw, so is shown with a solid icon.  Intermediate event  Represents something that happens between the start and end events; is indicated by a tramline border; and can Throw or Catch (using solid or open icons as appropriate) - for example, a task could flow to an event that throws a message across to another pool and a subsequent event waits to catch the response before continuing.
  • 36. Task  A task represents a single unit of work that is not or cannot be broken down to a further level of business process detail without diagramming the steps in a procedure (not the purpose of BPMN)  Sub-process  Used to hide or reveal additional levels of business process detail - when collapsed a sub-process is indicated by a plus sign against the bottom line of the rectangle; when expanded the rounded rectangle expands to show all flow objects, connecting objects, and artefacts.  Has its own self-contained start and end events, and sequence flows from the parent process must not cross the boundary.  Transaction  A form of sub-process in which all contained activities must be treated as a whole, i.e., they must all be completed to meet an objective, and if any one of them fails they must all be compensated (undone). Transactions are differentiated from expanded sub-processes by being surrounded by a tramline border.  Gateway  A Gateway is represented with a diamond shape and will determine forking and merging of paths depending on the conditions expressed.
  • 37. Flow objects are connected to each other using Connecting objects, which consist of three types (Sequences, Messages, and Associations):  Sequence Flow  A Sequence Flow is represented with a solid line and arrowhead and shows in which order the activities will be performed. The sequence flow may be also have a symbol at its start, a small diamond indicates one of a number of conditional flows from an activity while a diagonal slash indicates the default flow from a decision or activity with conditional flows.  Message Flow  A Message Flow is represented with a dashed line, an open circle at the start, and an open arrowhead at the end. It tells us what messages flow across organisational boundaries (i.e., between pools). A message flow can never be used to connect activities or events within the same pool.  Association  An Association is represented with a dotted line. It is used to associate an Artifact or text to a Flow Object, and can indicate some directionality using an open arrowhead (toward the artifact to represent a result, from the artifact to represent an input, and both to indicate it is read and updated). No directionality would be used when the Artifact or text is associated with a sequence or message flow (as that flow already shows the direction).
  • 38. Pool  Represents major participants in a process, typically separating different organisations. A pool contains one or more lanes (like a real swimming pool). A pool can be open (i.e., showing internal detail) when it is depicted as a large rectangle showing one or more lanes, or collapsed (i.e., hiding internal detail) when it is depicted as an empty rectangle stretching the width or height of the diagram.  Lane  Used to organise and categorise activities within a pool according to function or role, and depicted as a rectangle stretching the width or height of the pool. A lane contains the Flow Objects, Connecting Objects and Artifacts.
  • 39. Artifacts allow developers to bring some more information into the model/diagram. In this way the model/diagram becomes more readable. There are three pre-defined Artifacts and they are:  Data Objects  Data Objects show the reader which data is required or produced in an activity.  Group  A Group is represented with a rounded-corner rectangle and dashed lines. The Group is used to group different activities but does not affect the flow in the diagram.  Annotation  An Annotation is used to give the reader of the model/diagram an understandable impression