what's all going around ?!? hamed shayan

15
What's all going around ?!? Hamed Shayan www.ChrisShayan.com

Upload: randell-franklin

Post on 29-Dec-2015

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: What's all going around ?!? Hamed Shayan

What's all going around ?!?

Ham

ed S

haya

nw

ww

.Chr

isSh

ayan

.com

Page 2: What's all going around ?!? Hamed Shayan

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"

Page 3: What's all going around ?!? Hamed Shayan

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

Page 4: What's all going around ?!? Hamed Shayan

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

Page 5: What's all going around ?!? Hamed Shayan

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

Page 6: What's all going around ?!? Hamed Shayan

Categorizing Patterns

Design Patterns

Architectural patterns

Structural patterns

Behavioral patterns

Analysis patterns

Creational patterns

Page 7: What's all going around ?!? Hamed Shayan

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

Page 8: What's all going around ?!? Hamed Shayan
Page 9: What's all going around ?!? Hamed Shayan

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

Page 10: What's all going around ?!? Hamed Shayan

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

Page 11: What's all going around ?!? Hamed Shayan

iParadise Development Style PatternTier 1• P

rimary Tier

Tier 2• F

ramework Tier

Tier 3• S

ervices Tier

Tier 4• A

pplication Tier

Page 12: What's all going around ?!? Hamed Shayan

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

Page 13: What's all going around ?!? Hamed Shayan

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

Page 14: What's all going around ?!? Hamed Shayan

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

Page 15: What's all going around ?!? Hamed Shayan

ANY QUESTIONS?

www.ChrisShayan.com