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.
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