Your SlideShare is downloading. ×
"Paradigm Shifting" 2013
"Paradigm Shifting" 2013
"Paradigm Shifting" 2013
"Paradigm Shifting" 2013
"Paradigm Shifting" 2013
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

"Paradigm Shifting" 2013

386

Published on

Technique for making paradigm shifting maps useful for identifying opportunities and obstacles.

Technique for making paradigm shifting maps useful for identifying opportunities and obstacles.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
386
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Paradigm Shifting from 1960 to 2013 2005  BUP  &  EPF Vi rt ual i zat i on M obi l e WWW CPU ( Hardw are) O perat i ve Syst em Languages Framew orks Dat aBase Present at i on Archi t ect ure Q ual i t y Appl i cat i ons Soci al   Technol ogi es 1979  Unix 1981  M S­ DO S 1966  DO S 1985  Windows 1991  Linux 2007  Linux  Andr oid 1993  Newt on 1988  M ac 2004  Linux­ Ubunt u 1978  8086 1982  286 1993  Pent ium 2006  Dual  Cor e 2007  Q uad  Cor e 2011  10  Cor e 1988  SUN  sof t pc 1979  I BM   VM 1997  M AC  vir t ualpc 1998  VM War e 2003  XEN 2008  KVM 1993  Newt on 2007  Kindle 2010  I pad 2011  G alaxy 2007  I Phone 2007  Andr oid 1991  HTM L 1995  AWT 1999  JSP 2002  Vaadin 1992  O penG L 2006  G WT  1. 0 2004  JSF  1. 0 1993  M osaic 1994  Newt on 1994  Net scape 1996  Saf ar i 1998  Fir ef ox 1995  I Explor er 2011  BBer r y 2011  FFox  M 2011  Chr om e 2007  Saf ar i  M 2008  Andr oid  M 2008  Chr om e 2009  O per a  M 2001  Explor er   M 1996  Apache 1987  CM M 1989  I TI L 1991  SCRUM 1993  M SF 1999  XP 2003  RUP 1998  ASP 1996  Flash 2007  Silver Light 1999  G PU 2013 1996  Palm 2000  Pocket PC 2001  Win  XP 2009  Win  7 1996  Win  NT 1987  O S/ 2 1984  G NU 2008  At om 2002  CM M I 1990  WWW 2000  Pocket PC 1960 1980 1990 2000 2010 2011  Chr om e  M 2009  G WT  2. 0 2007  Vaadin/ G WT 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  HTM L  4 2008  HTM L  5 2006  Linux  2. 4 2011  Linux  3. 0 2001  M AC  O S  10 2012  M AC  O S  10. 8 2009  JSF  2. 0 1997  WAP 2013  Vaadin  7 1970  DBM S 1978  RDM S 1979  O r acle 1997  O r acle  O RDBM S 1994  M ysql 2004  DB4O 2001  HSQ L 2005  H2 1980  O O DM S 1988  O r acle  RDBM S 1979  M VC 1980  O SI 1998  XM L 1981  RPC 1996  DCO M 1997  RM I 1998  SO AP 2000  REST 2007  Cloud 2000  Ajax 1997  M VP 1987  Sybase  RDBM S 1989  M icr osof t   SQ L 1967  O bject   O r ient ed 1983  I nt er net 1970  Chat 1970  Enail 1991  WWW­ 3  Layer 2002  RI A 2002  Pr evayler 1972  C 1972  SQ L 1983  C++ 2001  Aspect J2001  C# 2003  Scala 1999  J2EE 2000  . NET 2001  Hiber nat e 2006  O penJDK 2005  Har m ony 1967  Sim ula 1968  BI 1980  BPM S 1979  Ecom m er ce 1984  St ar of f ice 1989  M S  of f ice1990  ERP 2000  O penO f f ice 2006  G oogle  Docs 2011  M S  O f f 365 2000  RSA  Public 1991  I SO ­ S.   Engineer ing 1993  I SO ­ S.   Pr ocess 1960  RFC 1950  Fr eesof t war e 1970  BBS 1958  Lisp 1959  Cobol 2007  Clojur e 2004  BPM N 2004  O O DVS 2002  Spr ing2000  Lif er ay 1991  M S  Visual  Basic 2004  Eclipse 1991  M S  Power   Builder 2012Win  Phone  8 1985  M acApp 1995  Java 1996  Cocoa 1991  M S  Visual  Basic 1995  Wikis 1997  G oogle 1998  O pensour ce 1999  Sour cef or ge 2001  Wikipedia 2003  Linkedin 2004  Facebook 1990  WWW 1995  M S  Visual  St udio 1997  Net beans 1995  Java 1995  PHP 1995  JavaScr ipt 1997  UM L 2012  Win  8,   WinSer ver 2012  Linux  U  Unit y 2012  Linux  Andr oid  4. 1 2008  Hyper ­ V 2009  M ongo  DB 2007  Am azon  EC2 2009  Windows  Azur e 2009  G oogle  Apps  Engine 2010  O penSt ack 2006  Twit t er 1999  RSS 2006  O penUP 2001  O WASP  &  I SO ­ Secur it y 1993  M SF 1993  EDI 2004  PCI 1990  Ver sant   O bject t DB 2007  Hadoop 2010  M ar ia  DB 1980  DI S 1993  CO RBA 2000  HLA 1998  Java  3D 1995  VRM L 2004  Hypper   Thr eading 1997  Swing 2001  Webst ar t 1995  Applet s 2000  O SG i 1980  Sm all  t alk  M VC 2004  Naked  O bject s Paradigm Shifting (2012­2014) (Dimishing Barriers, Solution Architectures) Diego E. Malpica Chauvet et al. www.openkowledge.mx, diego­malpica@openknowledge.mx 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 commonly named as a "Solution Architecture". Which paradigms would you like to peek? Which cost benefit trade­offs you may need 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 mayor paradigms 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 between them 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 in jargon. 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". The historian of science Thomas Kuhn gave it its contemporary meaning when he adopted the word to refer to the set of
  • 2. practices that define a scientific discipline at any particular period of time. In his book The Structure of Scientific Revolutions 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 of Scientific 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 of view. We define Paradigm Shifting Map as the one that help us take decisions regarding witch paradigms would be better 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 its important 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 our current context. Paradigm Shifting from 1960 to 2013 2005 BUP & EPF Virtualization Mobile WWW CPU (Hardware) Operative System Languages Frameworks DataBase Presentation Architecture Quality Applications Social Technologies 1979 Unix 1981 MS­DOS 1966 DOS 1985 Windows 1991 Linux 2007 Linux Android 1993 Newton 1988 Mac 2004 Linux­Ubuntu 1978 8086 1982 286 1993 Pentium 2006 Dual Core 2007 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 Ipad 2011 Galaxy 2007 IPhone 2007 Android 1991 HTML 1995 AWT 1999 JSP 2002 Vaadin 1992 OpenGL 2006 GWT 1.0 2004 JSF 1.0 1993 Mosaic 1994 Newton 1994 Netscape 1996 Safari 1998 Firefox 1995 IExplorer 2011 BBerry 2011 FFox M 2011 Chrome 2007 Safari M 2008 Android M 2008 Chrome 2009 Opera M 2001 Explorer M 1996 Apache 1987 CMM 1989 ITIL 1991 SCRUM 1993 MSF 1999 XP 2003 RUP 1998 ASP 1996 Flash 2007 SilverLight 1999 GPU 2013 1996 Palm 2000 PocketPC 2001 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.0 2007 Vaadin/GWT 1970 2000 2010 1990 1960 1980 1970 1975 Tandem 1991 Tandem­Mips 2001 Tandem­Itanium 1975 Tandem T/TOS 1994 Tandem OSS (Unix) 2006 JSP­JSTL 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 DBMS 1978 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 Chat 1970 Enail 1991 WWW­3 Layer 2002 RIA 2002 Prevayler 1972 C 1972 SQL 1983 C++ 2001 AspectJ 2001 C# 2003 Scala 1999 J2EE 2000 .NET 2001 Hibernate 2006 OpenJDK 2005 Harmony 1967 Simula 1968 BI 1980 BPMS 1979 Ecommerce 1984 Staroffice 1989 MS office1990 ERP 2000 OpenOffice 2006 Google Docs 2011 MS Off365 2000 RSA Public 1991 ISO­S. Engineering 1993 ISO­S. Process 1960 RFC 1950 Freesoftware 1970 BBS 1958 Lisp 1959 Cobol 2007 Clojure 2004 BPMN 2004 OODVS 2002 Spring2000 Liferay 1991 MS Visual Basic 2004 Eclipse 1991 MS Power Builder 2012Win Phone 8 1985 MacApp 1995 Java 1996 Cocoa 1991 MS Visual Basic 1995 Wikis 1997 Google 1998 Opensource 1999 Sourceforge 2001 Wikipedia 2003 Linkedin 2004 Facebook 1990 WWW 1995 MS Visual Studio 1997 Netbeans 1995 Java 1995 PHP 1995 JavaScript 1997 UML 2012 Win 8, WinServer 2012 Linux U Unity 2012 Linux Android 4.1 2008 Hyper­V 2009 Mongo DB 2007 Amazon EC2 2009 Windows Azure 2009 Google Apps Engine 2010 OpenStack 2006 Twitter 1999 RSS 2006 OpenUP 2001 OWASP & ISO­Security 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
  • 3. To distinguish the paradigms that are relevant for your current context, we use a color code that identify the kind of paradigm: New and promising, not everything is good just for being new, one of the first criteria for selection at least for a first filter may be to find the new ones that has stated even in an informal way that they may reduce costs, 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 use may imply some trade­off's. Granted Obsolete this are the ones that we take with out reviewing its implications in the current context, a decision out of context can lead us any way. Here are some examples for New and promising paradigms. Presentation (GWT/Vaadin) "The server­side development model doubles productivity by automating everything related to browser and ajax communication. Built­in themes make your application look great, data sources help you connect to the backend and the UI components make building a great user experience easy. You could say that Vaadin is a superset of GWT for business 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, string­based, non­ native APIs (such as SQL, OQL, JDOQL and others) Native Queries and LINQ are 100% type­safe, 100% refactorable and 100% object­oriented, boosting developer productivity by up to 30%. [8] Cross­cutting Concerns (AspectJ) To integrate different tools may be difficult, object oriented tools may be complemented using aspect oriented tools to take care of cross­cutting concerns. [9] Finally we make a thick circle using the color code with in the date that best represent the kind of paradigms for your current context. This Representative date may be the average date of the paradigms of the same kind. The following map represents the paradigm shifting that we are applying for our project "Concept framework".
  • 4. Paradigm Shifting from 1991 to 2013 2005 BUP & EPF Virtualization Mobile WWW CPU (Hardware) Operative System Languages Frameworks DataBase Presentation Architecture Quality Applications Social Technologies 1979 Unix 1981 MS­DOS 1966 DOS 1985 Windows 1991 Linux 2007 Linux Android 1993 Newton 1988 Mac 2004 Linux­Ubuntu 1978 8086 1982 286 1993 Pentium 2006 Dual Core 2007 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 Ipad 2011 Galaxy 2007 IPhone 2007 Android 1991 HTML 1995 AWT 1999 JSP 2002 Vaadin 1992 OpenGL 2006 GWT 1.0 2004 JSF 1.0 1993 Mosaic 1994 Newton 1994 Netscape 1996 Safari 1998 Firefox 1995 IExplorer 2011 BBerry 2011 FFox M 2011 Chrome 2007 Safari M 2008 Android M 2008 Chrome 2009 Opera M 2001 Explorer M 1996 Apache 1987 CMM 1989 ITIL 1991 SCRUM 1993 MSF 1999 XP 2003 RUP 1998 ASP 1996 Flash 2007 SilverLight 1999 GPU 2013 1996 Palm 2000 PocketPC 2001 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.0 2007 Vaadin/GWT 1970 2000 2010 1990 1960 1980 1970 1975 Tandem 1991 Tandem­Mips 2001 Tandem­Itanium 1975 Tandem T/TOS 1994 Tandem OSS (Unix) 2006 JSP­JSTL 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 DBMS 1978 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 Chat 1970 Enail 1991 WWW­3 Layer 2002 RIA 2002 Prevayler 1972 C 1972 SQL 1983 C++ 2001 AspectJ 2001 C# 2003 Scala 1999 J2EE 2000 .NET 2001 Hibernate 2006 OpenJDK 2005 Harmony 1967 Simula 1968 BI 1980 BPMS 1970 Ecommerce 1984 Staroffice 1989 MS office1990 ERP 2000 OpenOffice 2006 Google Docs 2011 MS Off365 2000 RSA Public 1991 ISO­S. Engineering 1993 ISO­S. Process 1960 RFC 1950 Freesoftware 1970 BBS 1958 Lisp 1959 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 Java 1996 Cocoa 1991 MS Visual Basic 1995 Wikis 1997 Google 1998 Opensource 1999 Sourceforge 2001 Wikipedia 2003 Linkedin 2004 Facebook 1990 WWW 1995 MS Visual Studio 1997 Netbeans 1995 Java 1995 PHP 1995 JavaScript 1997 UML 2012 Win 8, WinServer 2012 Linux U Unity 2012 Linux Android 4.1 2008 Hyper­V Granted Obsolete Old and Valid Target New Promissing 2009 Mongo DB 2007 Amazon EC2 2009 Windows Azure 2009 Google Apps Engine 2010 OpenStack 2006 Twitter 1999 RSS 2006 OpenUP 2001 OWASP & ISO­Security 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 Information technologies. "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 maintaining a 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 Granted­Paradigms Reviewed Frameworks Reviewed Architecture Overall Characterization Different Models Different Tools Separation of Concerns Different Models Same Tools Separation of Concerns Same Model Same Tools Separation of Concerns Crosscut Concerns
  • 5. Presentation Documents HTML(1) Objects JScript(2) Object Document Mappers JSP(3) Objects Java(1), Vaadin(2) Objects Java(1), Vaadin(2), DBO(3), AspectJ(4) Application Objects Java(4), EJBs(5) Objects Java(1), Vaadin(2), DB4O(3) Persistence Relational Tables SQL(5) Object Relational Mappers JPA(6) Objects Java(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 our goals. 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] "Object­Oriented Presentation Layer", https://vaadin.com/gwt [8] "Object­Oriented Persistence Layer", http://community.versant.com/documentation/reference/db4o­8.1/java/reference/ [9] "Aspect­Oriented Cross­cutting Concerns", http://en.wikipedia.org/wiki/Aspect­oriented_programming

×