What's all going around ?!? Hamed Shayan .
-
Upload
randell-franklin -
Category
Documents
-
view
220 -
download
1
Transcript of What's all going around ?!? Hamed Shayan .
What's all going around ?!?
Ham
ed S
haya
nw
ww
.Chr
isSh
ayan
.com
Pattern in google
Coplien, J.O. and B.C. Schmidt. Pattern Languages of Program Design. Reading, MA:Addison-Wesley, 1995.
"Projects fail despite thelatest technology for lack of ordinary solutions"
Etymology:Middle English patron, from Anglo-French, from Medieval Latin patronusDate: 14th century
a form or model proposed for imitation
What’s pattern as a word?
a repeated decorative design
What’s Pattern in Computer Science?
• Each pattern is a three-part rule, which expresses a relation between a certain context, a problem, and a solution.
—Christopher Alexander
• Each pattern is a three-part rule, which expresses a relation between a certain context, a certain system of forces which occurs repeatedly in that context, and a certain software configuration which allows these forces to resolve themselves.
—Richard Gabriel
• A pattern is an idea that has been useful in one practical context and will probably be useful in others.
—Martin Fowler
Pattern in nutshellPatterns are observed through experience
Patterns are typically written in a structured format
Patterns prevent reinventing the wheel
Patterns exist at different levels of abstraction
Patterns undergo continuous improvement
Patterns are reusable artifacts
Patterns communicate designs and best practices
Patterns can be used together to solve a larger problem
Categorizing Patterns
Design Patterns
Architectural patterns
Structural patterns
Behavioral patterns
Analysis patterns
Creational patterns
Tiered ApproachClient Tier
Application clients, applets, applications and other GUIs
Presentation Tier
JSP, Servlets and other UI elements
Business Tier
EJBs and other business objects
Integration Tier
JMS, JDBC, Connectors, and Legacy
Resource Tier
Databases, external systems, and legacy resources
User interactions, UI presentation, devices
SSO, session management,content creation, format anddelivery
Business logic, transactions,data, and services
Resource adapters, legacy,External systems, rules Engines, workflow
Resources, data and external services
Liferay Enterprise PortalApache Portal Bridge
iparadise-web
ERP-
obje
ct-m
odel
.jar
ipar
adis
e-lo
ggin
g
ipar
adis
e-se
curit
y ERP-GUIs-based-on-portlet.war(based on struts)
iparadise-chain-of-responsibilityApache COR
iparadise-CRUD-generics
iparadise-business-facadeiparadise-business iparadise-common-business
iparadise-persistence-manageriparadise-business
ERP-business.jar(s)(based on EJB, Session Bean, Stateless)
Hibernate.org JDBC Java OLAP
iparadise-CRUD-generics (POJO based)
Spring-core ( DI and AOP)iparadise-common-business
ERP-business.jar(s)(based on Comand Pattern)ip
arad
ise-
com
mon
s
PatternsGoF
CreationalAbstract Factory
Builder
Factory Method
Prototype
Singleton
Structural
Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy
BehavioralChain of
Responsibility
Command
Interpreter
Iterator
Mediator
Memento
Observer
State
Strategy
Template Method
Visitor
Service Oriented Architecture
SOIChoreographyESB
Orchestration
BPEL
Monitoring
BAM
MethodologyGovernanc
e
Product Realization
Communications
Project Manageme
nt
Data Manageme
nt
Service Manageme
ntHuman
Resource Manageme
nt
iParadise Development Style PatternTier 1• P
rimary Tier
Tier 2• F
ramework Tier
Tier 3• S
ervices Tier
Tier 4• A
pplication Tier
Primary TierSo
urce
Con
trol
suc
h as
SVN
Repository Manager such as Apache Nexus
Build System and Dependency Manager such as Apache Maven 2+
Behavioral Driven Development tools such as JBehavior
Continuous Integration tool such as Cruise Control
Web Content Management System such as Alfresco Community
Control Project tool such as XPlanner
Issue tracking tool such as track+
Soft
war
e Te
am E
nter
pris
e W
eb P
orta
l
Before Service Oriented Architecture
Siloed Closed Monolithic Brittle
MANUFACTURER DEPENDANT BUSINESS FUNCTIONS
Manufacturer #1 Manufacturer #2 Manufacturer #3
DATA REPOSITORY
Marketing Sales CRM Finance DateWarehouse
ExternalPartner
Check Customer Status
Determine Product Availability
Check Customer Status
Determine Product Availability
Verify Customer Credit
Order Status
Calculate Shipping Charges
Order Status
Check Credit
After Service Oriented Architecture
Shared Services Collaborative Interoperable Integrated
Marketing Sales CRM Finance DateWarehouse
ExternalPartner
Manufacturing Enterprise Web PortalDocument Library & Image Gallery
Content Management System
Message Boards
Blogs Wiki email calendar
Polls Administration
Single Sign On
Chat and IMs
COMPOSITE SERVICES
Composite ServicesOrder Processing
Account Management
Service Scheduling
Bid Management
Human Management
Composite Business Processes
REUSABLE BUSINESS SERVICESReusable Service
Reusable Service
Create Invoice
Check Customer Status
Check Order Status
Reusable Service
Reusable Service
Reusable Service
Reusable Service
Reusable Service
Reusable Service
Check Inventory
Check Credit
Reusable Service
Reusable Service
Reusable Service
DATA REPOSITORY
ANY QUESTIONS?
www.ChrisShayan.com