Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "What's all going around ?!? Hamed Shayan www.ChrisShayan.com."— Presentation transcript:

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

2 Pattern in google Coplien, J.O. and B.C. Schmidt. Pattern Languages of Program Design. Reading, MA: Addison-Wesley, 1995. "Projects fail despite the latest technology for lack of ordinary solutions"

3 Etymology: Middle English patron, from Anglo- French, from Medieval Latin patronus Date: 14th century a form or model proposed for imitation What’s pattern as a word? a repeated decorative design

4 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

5 Pattern in nutshell Patterns are observed through experiencePatterns are typically written in a structured formatPatterns prevent reinventing the wheelPatterns exist at different levels of abstractionPatterns undergo continuous improvementPatterns are reusable artifactsPatterns communicate designs and best practicesPatterns can be used together to solve a larger problem

6 Categorizing Patterns Design Patterns Architectural patterns Structural patterns Behavioral patterns Analysis patterns Creational patterns

7 Tiered Approach Client 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 and delivery Business logic, transactions, data, and services Resource adapters, legacy, External systems, rules Engines, workflow Resources, data and external services

8

9 Liferay Enterprise Portal Apache Portal Bridge iparadise-web ERP-object-model.jar iparadise-logging iparadise-security ERP-GUIs-based-on-portlet.war (based on struts) ERP-GUIs-based-on-portlet.war (based on struts) iparadise-chain-of-responsibility Apache COR iparadise-CRUD-generics iparadise-business-facade iparadise-business iparadise-common-business iparadise-persistence-manager iparadise-business ERP-business.jar(s) (based on EJB, Session Bean, Stateless) 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) ERP-business.jar(s) (based on Comand Pattern) iparadise-commons

10 Patterns GoF Creational Abstract Factory Builder Factory Method Prototype Singleton Structural Adapter Bridge Composite Decorator Facade Flyweight Proxy Behavioral Chain of Responsibility Command Interpreter Iterator Mediator Memento Observer State Strategy Template Method Visitor Service Oriented Architecture SOI Choreography ESB Orchestration BPEL Monitoring BAM Methodology Governance Product Realization Communications Project Management Data Management Service Management Human Resource Management

11 iParadise Development Style Pattern Tier 1 Primary Tier Tier 2 Framework Tier Tier 3 Services Tier Tier 4 Application Tier

12 Primary Tier Source Control such 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+ Software Team Enterprise Web Portal

13 Before Service Oriented Architecture SiloedClosedMonolithicBrittle Manufacturer #1 Manufacturer #2Manufacturer #3 MarketingSalesCRMFinance Date Warehouse External Partner Check Customer Status Determine Product Availability Check Customer Status Determine Product Availability Verify Customer Credit Order Status Calculate Shipping Charges Order Status Check Credit

14 After Service Oriented Architecture Shared ServicesCollaborativeInteroperableIntegrated MarketingSalesCRMFinance Date Warehouse External Partner Document Library & Image Gallery Content Management System Message Boards Blogs Wiki email calendar Polls Administration Single Sign On Chat and IMs Composite Services Order Processing Account Management Service Scheduling Bid Management Human Management Composite Business Processes Reusable Service Create Invoice Check Customer Status Check Order Status Reusable Service Check Inventory Check Credit Reusable Service

15


Download ppt "What's all going around ?!? Hamed Shayan www.ChrisShayan.com."

Similar presentations


Ads by Google