"Paradigm Shifting" 2013
-
Upload
diego-ernesto-malpica-chauvet -
Category
Technology
-
view
360 -
download
0
description
Transcript of "Paradigm Shifting" 2013
Paradigm Shiftingfrom 1960 to 2013
2005 BUP & EPF
Vi rt ual i zat i on
Mobi l e
WWW
CPU(Hardw are)
O perat i veSyst em
Languages
Framew orks
Dat aBase
Present at i onArchi t ect ure
Q ual i t y
Appl i cat i ons
Soci al Technol ogi es
1979 Unix1981 MSDO S
1966 DO S
1985 Windows
1991 Linux
2007 Linux Andr oid
1993 Newt on
1988 Mac
2004 LinuxUbunt u
1978 80861982 286
1993 Pent ium
2006 Dual Cor e2007 Q uad Cor e2011 10 Cor e
1988 SUN sof t pc
1979 I BM VM
1997 MAC vir t ualpc1998 VMWar e
2003 XEN
2008 KVM
1993 Newt on
2007 Kindle 2010 I pad2011 G alaxy
2007 I Phone2007 Andr oid
1991 HTML
1995 AWT
1999 JSP
2002 Vaadin
1992 O penG L
2006 GWT 1. 02004 JSF 1. 0
1993 Mosaic1994 Newt on1994 Net scape
1996 Saf ar i1998 Fir ef ox
1995 I Explor er
2011 BBer r y
2011 FFox M
2011 Chr ome
2007 Saf ar i M2008 Andr oid M2008 Chr ome2009 O per a M
2001 Explor er M1996 Apache
1987 CMM
1989 I TI L
1991 SCRUM1993 MSF
1999 XP
2003 RUP
1998 ASP1996 Flash
2007 Silver Light
1999 G PU
2013
1996 Palm
2000 Pocket PC2001 Win XP
2009 Win 7
1996 Win NT
1987 O S/ 2
1984 G NU
2008 At om
2002 CMM I
1990 WWW 2000 Pocket PC
1960
1980
1990
2000
2010
2011 Chr ome M
2009 GWT 2. 02007 Vaadin/ GWT
1970
2000
2010
1990
1960
1980
1970
1975 Tandem
1991 Tandem M ips
2001 Tandem I t anium
1975 Tandem T/ TO S
1994 Tandem O SS (Unix)
2006 JSP JSTL
2000 HTML 4
2008 HTML 5
2006 Linux 2. 4
2011 Linux 3. 0
2001 MAC O S 10
2012 MAC O S 10. 8
2009 JSF 2. 0
1997 WAP
2013 Vaadin 7
1970 DBMS1978 RDMS1979 O r acle
1997 O r acle O RDBMS1994 Mysql
2004 DB4O
2001 HSQ L
2005 H2
1980 O O DMS
1988 O r acle RDBMS
1979 MVC1980 O SI
1998 XML
1981 RPC
1996 DCOM1997 RM I
1998 SO AP2000 REST
2007 Cloud
2000 Ajax
1997 MVP 1987 Sybase RDBMS
1989 M icr osof t SQ L
1967 O bject O r ient ed
1983 I nt er net
1970 Chat1970 Enail
1991 WWW3 Layer
2002 RI A
2002 Pr evayler
1972 C1972 SQ L
1983 C++
2001 Aspect J2001 C#2003 Scala 1999 J2EE
2000 . NET2001 Hiber nat e
2006 O penJDK2005 Harmony
1967 Simula
1968 BI
1980 BPMS1979 Ecommer ce
1984 St ar of f ice
1989 MS of f ice1990 ERP
2000 O penO f f ice
2006 G oogle Docs
2011 MS O f f 365
2000 RSA Public
1991 I SO S. Engineer ing1993 I SO S. Pr ocess
1960 RFC
1950 Fr eesof t war e1970 BBS
1958 Lisp1959 Cobol
2007 Clojur e
2004 BPMN
2004 O O DVS2002 Spr ing2000 Lif er ay
1991 MS Visual Basic
2004 Eclipse
1991 MS Power Builder
2012Win Phone 8
1985 MacApp
1995 Java1996 Cocoa
1991 MS Visual Basic
1995 Wikis1997 G oogle
1998 O pensour ce1999 Sour cef or ge
2001 Wikipedia2003 Linkedin
2004 Facebook
1990 WWW
1995 MS Visual St udio1997 Net beans
1995 Java1995 PHP
1995 JavaScr ipt
1997 UML
2012 Win 8, WinSer ver2012 Linux U Unit y
2012 Linux Andr oid 4. 1
2008 Hyper V
2009 Mongo DB
2007 Amazon EC2
2009 Windows Azur e2009 G oogle Apps Engine
2010 O penSt ack
2006 Twit t er1999 RSS
2006 O penUP
2001 OWASP & I SO Secur it y
1993 MSF1993 EDI
2004 PCI
1990 Ver sant O bject t DB
2007 Hadoop2010 Mar ia DB
1980 DI S
1993 CO RBA
2000 HLA
1998 Java 3D
1995 VRML
2004 Hypper Thr eading
1997 Swing
2001 Webst ar t
1995 Applet s
2000 O SG i
1980 Small t alk MVC
2004 Naked O bject s
Paradigm Shifting (20122014)(Dimishing Barriers, Solution Architectures)
Diego E. Malpica Chauvet et al.www.openkowledge.mx, diego[email protected]
1 Abstract
There are many paradigms walking around as buzz words, (Service Oriented, Workflow Oriented, Document Oriented,Object Oriented, Aspect Oriented, Event Oriented, NoSQL, Tiers, Layers, Functional Programming, Patterns, Principles,Cloud, Paradigms, Models, Model View Controller, Model View Presenter). The paradigms we use may be commonlynamed as a "Solution Architecture". Which paradigms would you like to peek? Which cost benefit tradeoffs you mayneed to do in order to meet some quality criteria?
Paradigms walking as Buzzwords
3 Tier Architecture
Functional Programming
Object Oriented
Tiers
Workflows
Web services
Service Oriented
Event Oriented
Relational Data Base
MVP Patterns MVVM
MVC
Hierchical Database
Computing
NoSQL
Multi-Tier
In this paper we propose a technique for building a "Paradigm Shifting Maps" that would help us to identify the mayorparadigms that would define a Solution Architecture.
2 Introduction
Lets define some concepts in order to build a map that may help us to identify our current paradigms and to shift betweenthem according our goals.
2.1 Buzzword
A buzzword is a word or phrase used to impress, or an expression which is fashionable. Buzzwords often originate injargon. Buzzwords are often neologisms[6].
2.2 Paradigm
The Oxford English Dictionary defines the basic meaning of the term paradigm as "a pattern or model, an exemplar". Thehistorian of science Thomas Kuhn gave it its contemporary meaning when he adopted the word to refer to the set of
practices that define a scientific discipline at any particular period of time. In his book The Structure of ScientificRevolutions Kuhn defines a scientific paradigm as: "universally recognized scientific achievements that, for a time,provide model problems and solutions for a community of researchers[1].
2.3 Paradigm Shifting
A paradigm shift (or revolutionary science) is, according to Thomas Kuhn, in his influential book The Structure ofScientific Revolutions (1962), a change in the basic assumptions, or paradigms, within the ruling theory of science.[5]
2.4 Paradigm Shifting Map
Maps has constituted a high value tool along the human history, they resume our knowledge from a defined point ofview. We define Paradigm Shifting Map as the one that help us take decisions regarding witch paradigms would bebetter for a determined context.
3 Hands on practice
Regardless your knowledge area we can classify your paradigms and build time lines.
With each class of paradigms we need to find its relevant dates, each paradigm is influenced by its predecessors so itsimportant to document its goals as a way to know the conditions that prevailed when a paradigm appears.
Here is our current "Paradigm Map" (2013/04) for Information Technologies before distinguishing them according ourcurrent context.
Paradigm Shiftingfrom 1960 to 2013
2005 BUP & EPF
Virtualization
Mobile
WWW
CPU(Hardware)
OperativeSystem
Languages
Frameworks
DataBase
Presentation
Architecture
Quality
Applications
Social Technologies
1979 Unix1981 MSDOS
1966 DOS
1985 Windows
1991 Linux
2007 Linux Android
1993 Newton
1988 Mac
2004 LinuxUbuntu
1978 80861982 286
1993 Pentium
2006 Dual Core2007 Quad Core
2011 10 Core
1988 SUN softpc
1979 IBM VM
1997 MAC virtualpc
1998 VMWare
2003 XEN
2008 KVM
1993 Newton
2007 Kindle 2010 Ipad2011 Galaxy
2007 IPhone2007 Android
1991 HTML
1995 AWT
1999 JSP
2002 Vaadin
1992 OpenGL
2006 GWT 1.0
2004 JSF 1.0
1993 Mosaic
1994 Newton1994 Netscape
1996 Safari1998 Firefox
1995 IExplorer
2011 BBerry
2011 FFox M
2011 Chrome
2007 Safari M2008 Android M
2008 Chrome2009 Opera M
2001 Explorer M1996 Apache
1987 CMM
1989 ITIL
1991 SCRUM1993 MSF
1999 XP
2003 RUP
1998 ASP1996 Flash
2007 SilverLight
1999 GPU
2013
1996 Palm
2000 PocketPC2001 Win XP
2009 Win 7
1996 Win NT
1987 OS/2
1984 GNU
2008 Atom
2002 CMMI
1990 WWW 2000 PocketPC
1960
1980
1990
2000
2010
2011 Chrome M
2009 GWT 2.02007 Vaadin/GWT
1970
2000
2010
1990
1960
1980
1970
1975 Tandem
1991 TandemMips
2001 TandemItanium
1975 Tandem T/TOS
1994 Tandem OSS (Unix)
2006 JSPJSTL
2000 HTML 4
2008 HTML 5
2006 Linux 2.4
2011 Linux 3.0
2001 MAC OS 10
2012 MAC OS 10.8
2009 JSF 2.0
1997 WAP
2013 Vaadin 7
1970 DBMS1978 RDMS
1979 Oracle
1997 Oracle ORDBMS
1994 Mysql
2004 DB4O
2001 HSQL
2005 H2
1980 OODMS
1988 Oracle RDBMS
1979 MVC
1980 OSI
1998 XML
1981 RPC
1996 DCOM
1997 RMI
1998 SOAP
2000 REST
2007 Cloud
2000 Ajax
1997 MVP 1987 Sybase RDBMS
1989 Microsoft SQL
1967 Object Oriented
1983 Internet
1970 Chat1970 Enail
1991 WWW3 Layer
2002 RIA
2002 Prevayler
1972 C1972 SQL
1983 C++
2001 AspectJ2001 C#2003 Scala 1999 J2EE
2000 .NET2001 Hibernate
2006 OpenJDK2005 Harmony
1967 Simula
1968 BI
1980 BPMS1979 Ecommerce
1984 Staroffice
1989 MS office1990 ERP
2000 OpenOffice
2006 Google Docs
2011 MS Off365
2000 RSA Public
1991 ISOS. Engineering1993 ISOS. Process
1960 RFC
1950 Freesoftware
1970 BBS
1958 Lisp1959 Cobol
2007 Clojure
2004 BPMN
2004 OODVS2002 Spring2000 Liferay
1991 MS Visual Basic
2004 Eclipse
1991 MS Power Builder
2012Win Phone 8
1985 MacApp
1995 Java1996 Cocoa
1991 MS Visual Basic
1995 Wikis1997 Google
1998 Opensource1999 Sourceforge
2001 Wikipedia2003 Linkedin
2004 Facebook
1990 WWW
1995 MS Visual Studio
1997 Netbeans
1995 Java
1995 PHP1995 JavaScript
1997 UML
2012 Win 8, WinServer2012 Linux U Unity
2012 Linux Android 4.1
2008 HyperV
2009 Mongo DB
2007 Amazon EC2
2009 Windows Azure2009 Google Apps Engine
2010 OpenStack
2006 Twitter1999 RSS
2006 OpenUP
2001 OWASP & ISOSecurity
1993 MSF
1993 EDI
2004 PCI
1990 Versant ObjecttDB
2007 Hadoop
2010 Maria DB
1980 DIS
1993 CORBA
2000 HLA
1998 Java 3D
1995 VRML
2004 Hypper Threading
1997 Swing
2001 Webstart
1995 Applets
2000 OSGi
1980 Small talk MVC
2004 Naked Objects
Figure 1
To distinguish the paradigms that are relevant for your current context, we use a color code that identify the kind ofparadigm:
New and promising, not everything is good just for being new, one of the first criteria for selection at leastfor a first filter may be to find the new ones that has stated even in an informal way that they may reducecosts, complexity or increase efficiency.Selected these are the ones that are feasible considering our capacities, resources, and restrictions.Old and Valid, old is not a synonymous of obsolete proven technologies are always of high value,however you will always need to review if they are a good choice for your current context since they usemay imply some tradeoff's.Granted Obsolete this are the ones that we take with out reviewing its implications in the current context, adecision out of context can lead us any way.
Here are some examples for New and promising paradigms.Presentation (GWT/Vaadin)"The serverside development model doubles productivity by automating everything related to browser and ajaxcommunication. Builtin themes make your application look great, data sources help you connect to the backend and theUI components make building a great user experience easy. You could say that Vaadin is a superset of GWT forbusiness oriented applications with focus on developer productivity. [7]Persistence (DB4O)No time is spent on learning a separate data manipulation or query language. Unlike incumbent, stringbased, nonnative APIs (such as SQL, OQL, JDOQL and others) Native Queries and LINQ are 100% typesafe, 100% refactorableand 100% objectoriented, boosting developer productivity by up to 30%. [8]Crosscutting Concerns (AspectJ)To integrate different tools may be difficult, object oriented tools may be complemented using aspect oriented tools totake care of crosscutting concerns. [9]
Finally we make a thick circle using the color code with in the date that best represent the kind of paradigms for yourcurrent context. This Representative date may be the average date of the paradigms of the same kind. The following maprepresents the paradigm shifting that we are applying for our project "Concept framework".
Paradigm Shiftingfrom 1991 to 2013
2005 BUP & EPF
Virtualization
Mobile
WWW
CPU(Hardware)
OperativeSystem
Languages
Frameworks
DataBase
Presentation
Architecture
Quality
Applications
Social Technologies
1979 Unix1981 MSDOS
1966 DOS
1985 Windows
1991 Linux
2007 Linux Android
1993 Newton
1988 Mac
2004 LinuxUbuntu
1978 80861982 286
1993 Pentium
2006 Dual Core2007 Quad Core
2011 10 Core
1988 SUN softpc
1979 IBM VM
1997 MAC virtualpc
1998 VMWare
2003 XEN
2008 KVM
1993 Newton
2007 Kindle 2010 Ipad2011 Galaxy
2007 IPhone2007 Android
1991 HTML
1995 AWT
1999 JSP
2002 Vaadin
1992 OpenGL
2006 GWT 1.0
2004 JSF 1.0
1993 Mosaic
1994 Newton1994 Netscape
1996 Safari1998 Firefox
1995 IExplorer
2011 BBerry
2011 FFox M
2011 Chrome
2007 Safari M2008 Android M
2008 Chrome2009 Opera M
2001 Explorer M1996 Apache
1987 CMM
1989 ITIL
1991 SCRUM1993 MSF
1999 XP
2003 RUP
1998 ASP1996 Flash
2007 SilverLight
1999 GPU
2013
1996 Palm
2000 PocketPC2001 Win XP
2009 Win 7
1996 Win NT
1987 OS/2
1984 GNU
2008 Atom
2002 CMMI
1990 WWW 2000 PocketPC
1960
1980
1990
2000
2010
2011 Chrome M
2009 GWT 2.02007 Vaadin/GWT
1970
2000
2010
1990
1960
1980
1970
1975 Tandem
1991 TandemMips
2001 TandemItanium
1975 Tandem T/TOS
1994 Tandem OSS (Unix)
2006 JSPJSTL
2000 HTML 4
2008 HTML 5
1991
2006 Linux 2.4
2011 Linux 3.0
2001 MAC OS 10
2012 MAC OS 10.8
2009
2009 JSF 2.0
1997 WAP
2013 Vaadin 7
1970 DBMS1978 RDMS
1979 Oracle
1997 Oracle ORDBMS
1994 Mysql
2004 DB4O
2001 HSQL
2005 H2
1980 OODMS
1988 Oracle RDBMS
1979 MVC
1980 OSI
1998 XML
1981 RPC
1996 DCOM
1997 RMI
1998 SOAP
2000 REST
2007 Cloud
2000 Ajax
1997 MVP 1987 Sybase RDBMS
1989 Microsoft SQL
1967 Object Oriented
1983 Internet
1970 Chat1970 Enail
1991 WWW3 Layer
2002 RIA
2002 Prevayler
1972 C1972 SQL
1983 C++
2001 AspectJ2001 C#2003 Scala 1999 J2EE
2000 .NET2001 Hibernate
2006 OpenJDK2005 Harmony
1967 Simula
1968 BI
1980 BPMS
1970 Ecommerce
1984 Staroffice1989 MS office1990 ERP
2000 OpenOffice
2006 Google Docs
2011 MS Off365
2000 RSA Public
1991 ISOS. Engineering1993 ISOS. Process
1960 RFC
1950 Freesoftware
1970 BBS
1958 Lisp1959 Cobol
2007 Clojure
2004 BPMN
2004 OODVS
2009 JSF 2.0
2002 Spring2000 Liferay
1991 MS Visual Basic
2004 Eclipse
1991 MS Power Builder
2012Win Phone 8
1985 MacApp
1995 Java1996 Cocoa
1991 MS Visual Basic
1995 Wikis1997 Google
1998 Opensource1999 Sourceforge
2001 Wikipedia2003 Linkedin
2004 Facebook
1990 WWW
1995 MS Visual Studio
1997 Netbeans
1995 Java
1995 PHP1995 JavaScript
1997 UML
2012 Win 8, WinServer2012 Linux U Unity
2012 Linux Android 4.1
2008 HyperV
Granted ObsoleteOld and ValidTargetNew Promissing
2009 Mongo DB
2007 Amazon EC2
2009 Windows Azure2009 Google Apps Engine
2010 OpenStack
2006 Twitter1999 RSS
2006 OpenUP
2001 OWASP & ISOSecurity
1993 MSF
1993 EDI
2004 PCI
1990 Versant ObjecttDB
2007 Hadoop
2010 Maria DB
1980 DIS
1993 CORBA
2000 HLA
1998 Java 3D
1995 VRML
2004 Hypper Threading
1980 Small talk MVC
2004 Naked Objects
Figure 2
4 Results
We have been applying the technique of paradigm shifting in our projects the must representatives ones are:
"OODVS Frame Work", that constitute base for obtaining the Mexico National Innovation award for Informationtechnologies.
"Concept Frame Work" and "Share Center" our current leading efforts for building high value solutions.
4.1 Results from "Concept Framework" project
We manage to use one model instead of three and to avoid the principal physical and logical barriers while maintaininga good concern separation and modularization.The numbers of specialities (languages and tools) need was significantly reduced.The main requirements was cover and must of the effort was a first time effort (framework).
Architecture GrantedParadigms Reviewed Frameworks Reviewed Architecture
Overall CharacterizationDifferent ModelsDifferent ToolsSeparation of Concerns
Different ModelsSame ToolsSeparation of Concerns
Same ModelSame ToolsSeparation of ConcernsCrosscut Concerns
Presentation
DocumentsHTML(1)ObjectsJScript(2)Object Document MappersJSP(3)
ObjectsJava(1), Vaadin(2)
ObjectsJava(1),Vaadin(2),DBO(3),AspectJ(4)
Application ObjectsJava(4), EJBs(5)
ObjectsJava(1), Vaadin(2), DB4O(3)
PersistenceRelational TablesSQL(5)Object Relational MappersJPA(6)
ObjectsJava(1),DB4O(3)
Models 3 3 1
Specialities 6 3 4
Complexity 18 9 4
5 Conclusions
As simple at it seems this technique has proven to us to be of high value to helping shift our paradigms according ourgoals.
References
[1] "Paradigm" http://en.wikipedia.org/wiki/Paradigm[2] "OODVS Framework",https://sc.openknowledge.mx/Concept/file/byUUID/Concept:44729187349921792/OodvsFramework.html[3] "Concept Framework",https://sc.openknowledge.mx/Concept/file/byUUID/Concept:44728873887432704/ConceptFramework.html[4] "Share Center",https://sc.openknowledge.mx/Concept/file/byUUID/Concept:44728987337293824/ShareCenter.html[5] "Paradigm shifting", http://en.wikipedia.org/wiki/Paradigm_shift[6] "Buzz Word", https://en.wikipedia.org/wiki/Buzzword[7] "ObjectOriented Presentation Layer",https://vaadin.com/gwt[8] "ObjectOriented Persistence Layer", http://community.versant.com/documentation/reference/db4o8.1/java/reference/[9] "AspectOriented Crosscutting Concerns",http://en.wikipedia.org/wiki/Aspectoriented_programming