Date post: | 11-May-2015 |
Category: |
Technology |
Upload: | diego-ernesto-malpica-chauvet |
View: | 872 times |
Download: | 0 times |
Paradigm ShiftingImparted by:
Ing. Diego Malpica Chauvet
www.openknowledge.mx
Introduction
There are many paradigms walking around as buzzwords most of them may be resumed in what is known as a “Solution Architecture”.
● Which paradigms would you peek? ● Which cost benefit trade-offs you may need to do in order to meet some
quality criteria?
In this “Webinar” we propose a technique for building a “Paradigm Shifting Map” that would help us to identify the mayor paradigms that define a Solution Architecture.
Paradigms walking as Buzzwords
Object Oriented
Service Oriented
Workflows
Document Oriented
Aspect Oriented
Event Oriented
NoSQL
Tiers
Cloud
MVVM
MVP MVC
Functional Programming
Patterns
Relational Data Base
Hierarchical Database
Multi-core
3 Tier Architecture
Definitions 1/2
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].
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 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].
Definitions 2/2
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]
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 a map that's helps us to take decisions regarding which paradigms may be better for the accomplishment of our goals.
Hands on Practice 1/4
• Regardless our knowledge area our first task is to classify your paradigms and build time lines within each classification
• Each paradigm is influenced by its predecessors so its important to make a general description that document its goals as a way to know the conditions that prevailed when a paradigm appears.
Hands on Practice 2/4
The next step is to further detail our classification for this we are going to distinguish the paradigms that are relevant for our context. We will make the distinction by a color code.
● 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 are promising in other words the ones that has stated (may be 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.
● Granted Obsolete this are the ones that we have taken with out reviewing its implications in the current context, a decision out of context can lead us any way.
Hands on Practice 3/4
Here there 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 (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]
Hands on Practice 4/4
• Finally we will make thick circle using the color code with in the date that best represent for you the class. This Representative date may be the average date of the paradigms of the same kind. The following map is an example of the “Paradigm Shifting Map” that we made for our project "Concept framework".
Results
The following slides shows the results of applying the “Paradigm Shifting Map” in our project “Concept Framework”
Results
Architecture withGranted Paradigms
Reviewed Frameworks
Reviewed Architecture
Overall Characterization
Different 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)
Persistence Relational TablesSQL(5)Object Relational MappersJPA(6)
ObjectsJava(1)/DB4O(3)
Models 3 3 1
Specialities 6 3 4
Complexity 18 9 4
Conclusions
• As simple at it seems the “Paradigm Shifting Maps“ has proven to be of high value for us to help us shifting our paradigms according our goals.
• For the project “Concept Framework”. We manage to use one model (Object Oriented) instead of three (Document, Object and Relational) that helps us reduce the complexity.
• The numbers of specialities (languages and tools) needed was significantly reduced from 6 to 4.
References
“Paradigm Shifting Map”, https://sc.openknowledge.mx/Concept/file/byUUID/Concept:44773836382076928/ParadigmShiftingWebinar.pdf,https://sc.openknowledge.mx/Concept/file/byUUID/Concept:44729127908573184/ParadigmShifting.html
[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/Aaspect-oriented_programming
Contact
Diego Ernesto Malpica ChauvetInnovation and Open Technologies Manager at [email protected]@openknowledge.comhttp://www.linkedin.com/pub/diego-malpica-chauvet/9/513/84a
Praxis, "IT, Commitment Unlimited", http://www.praxis.com.mx/