Date post: | 08-Jun-2015 |
Category: |
Technology |
Upload: | muthu-kumar |
View: | 390 times |
Download: | 2 times |
Service Oriented Architecture
Designing a SOA Solution
Agenda
Software Design – An introductionPatterns, Models and Reference ArchitectureSOA Computing + SOA ClientsSaaS - a Quick IntroductionSoftware Design – ConceptsBusiness Process ModelingSample Web 2.0 Application AnalysisSoftware Design Specification – How to…Discussions
SOA and Web 2.0•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.
Social Networking
Hosted Services
Video SharingWikis
Blogs
Mashups-MapsPhoto Blogs
Few Web 2.0 Applications…
SOA Knowledge Architecture
Patterns
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…)
Common Web 2.0 Patterns
Models
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.
Model of Web 1.0 Client/Server
Client
Server
Abstract Model for Web 2.0
SOA
Users
Client Applications / Runtimes
Connectivity
Services
Capabilities
Patterns of Interaction
Reference Architecture
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.
Service Oriented Computing Re-purposing core functionality as service to be consumed
Service Oriented Clients - Web 2.0 Application Architecture
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.
SaaS
Software Deployment Model
Service On Demand
Customized Solutions based on User
Shared License
Fujitsu – Solution Architecture
Fujitsu Demo
Design Concepts
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.
Design Concepts
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.
Design Concepts
▪ Modules▪ Software architecture is divided into components called
modules.
Design Concepts
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
Business Rules…Use Case
Name:Upload new media
Created By: Loganathan Last Updated By: LoganathanDate Created: April 10 2008 Date Last
Updated:April 10 2008
Actors Mobile User, PeermetaPreconditionsWorkflow Mobile User Peermeta
Click Upload icon in the Home page Show Choose file and Upload buttonsSelect media to upload
Press Upload button Store media under user's account
Post conditions NAExtensions / Exception flow Exception capturing and displayAssumptions NA
Use Case Name:
Search media
Created By: Loganathan Last Updated By: LoganathanDate Created: April 10 2008 Date Last
Updated:April 10 2008
Actors Mobile User, PeermetaPreconditions Logged in User at Home pageWorkflow 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 NAExtensions / Exception flow Exception capturing and displayAssumptions NA
Use case
Class Diagram
Activity Diagram
Status Diagram
Package Diagram
Network Diagram
Deployment Diagram
Design Concepts
Data structures – Databases and Query Engines It is a representation of the logical relationship among
individual elements of data.
Business Process Modeling
Representing processes of an enterprise to analyze and
Improved process efficiency and quality
Business Process Re-engineering + Change management +
Continues Improvement (Six Sigma)
Elements of BPM
Elements – an introduction
Flow Objects
Events, Activities, Gateways
Connecting Objects
Sequence Flow, Message Flow, Association
Swim-lanes
Pool, Lane
Artifacts (Artefacts)
Data Object, Group, Annotation
Events…
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.
Tasks, Process and Transactions…
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…
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 and Lane
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
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
BPM Samples
BPEL Script - Business process execution language
Sample SOA + Web 2.0 Application – Linkedin
Thanks…Discussion on topic…
G. Muthukumar@gvmuthu – Follow me in [email protected]://office.gvmuthu.com