DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.

16
dWebSpec™ Why dWebSpec? It could be asked, with all the web application alternatives

Transcript of DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.

Page 1: DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.

dWebSpec™dWebSpec™

Why dWebSpec?

It could be asked, with all the web application alternatives

Page 2: DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.

To understand the essence of dWebSpec™

We have to journey through some historic aspects of application specification and modeling

Page 3: DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.

It has been a well-known and long established tenet, in the computer field, to separate specification from coding and implementation.

The software development cycle would involve the following phases

Page 4: DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.

The specification becomes the blueprint for implementation

Specification DocumentImplementation code

Just like the architectural plans are blueprints for construction

Page 5: DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.

Model Driven ArchitectureModel Driven Architecture

• Model Drive Architecture (MDA) or Development (MDD) expand specifications into robust models, that provides for

– Specifications that are platform independent– Which could be used for specifying or selecting

implementation platforms– Process for transforming specifications into

platform specific implementations

Page 6: DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.

UMLUMLUML – Universal Modeling Language, is usually in the middle of

such modeling architecture

Use Case Class Diagram

Activity Diagram

Page 7: DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.

UML ModelingUML Modeling

• Despite the effectiveness of UML, it does not provide for useful or robust modeling of dynamic web applications.• There have been several extensions introduced, that fall short of

the comprehensive model needed, for such applications. • Furthermore other schemes, like the Rapid Application

Development (RAD), are not effective for very large scale applications, since they skip the foundation laying precursory phases. The analogy is construction without plans.

• Web applications are usually broken down to 3 areas of concerns, Model, View and Controller (MVC). It is in the View tier that the inadequacies in UML usage is very pronounced.

Page 8: DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.

Dynamic Web SpecificationDynamic Web SpecificationThe Model and Controller tiers are easily modeled with the UML diagrams and artifacts. The void is mostly in the View tier.

Most of the void is in the

View tier

Model objects and logic are captured with class, state, collaborative, and

similar diagrams.

Controller activities are captured with sequence,

activity diagrams or use case narratives

.

Page 9: DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.

dWebSpec™dWebSpec™• In filling this void, dWebSpec first recognizes the further division

of areas of concerns within the View tier, as listed below:

– Static Presentation• The look and feel of the page

– Dynamic Presentation• Server effects and behaviors applied to the page

– Data binding• Sources and destinations of data for page elements

– Events• Events sources on the page, and the server side handlers

– Navigation• Paths traversable from the page, and rules of navigation

• Adequate provision for specification capture for each of these areas is then provided.

Page 10: DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.

dWebSpecdWebSpecIt is this modeling scheme for the View tier, and its integration with the

specifications for the rest of the layers, that would form the overall comprehensive model for dynamic web applications.

dWebSpec

Model objects and logic are captured with class, state, collaborative, and

similar diagrams.

Controller activities are captured with sequence,

activity diagrams or use case narratives

.

Page 11: DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.

dWebSpec™dWebSpec™

• dWebSpec provides means of specification for dynamic web applications.

• Filling the void that exists, owing to the absence of such facilities in the UML modeling scheme, whereas closely integrating with it.

• Also allowing the application of Model Driven Architecture or Development, to the development of dynamic web applications.

To answer the question, why dWebSpec

Page 12: DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.

dWebSpec™dWebSpec™

• dWebSpec delivers on the promises of Model Driven Architecture (MDA), as listed below:

– Specifications that are platform independent– Which could be used for specifying or selecting

implementation platforms– Process for transforming specification into

platform specific implementation

• These are illustrated as follows.

Page 13: DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.

Platform Independent SpecificationPlatform Independent Specification

dWebSpec allows for robust specifications that are platform independent

Page 14: DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.

Useful for Platform SelectionUseful for Platform SelectionThe features in the specifications could be used to evaluate different platforms

ValidationServer sideClient sideMultiple field dependencyStandard validators

(range, type, max, min., regular expression, etc.)Standard validator errorsCustomizable & internationalized error messagesCustom validatorsField level and form level validation eventsValidation groupsDomain or object scoped attribute validation Page scoped field validation Page within a sequence (Wizard) validation

ValidationServer sideClient sideMultiple field dependencyStandard validators

(range, type, max, min., regular expression, etc.)Standard validator errorsCustomizable & internationalized error messagesCustom validatorsField level and form level validation eventsValidation groupsDomain or object scoped attribute validation Page scoped field validation Page within a sequence (Wizard) validation

Page 15: DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.

Translation into Platform Specific Implementation

Translation into Platform Specific Implementation

• Apart from the precise specification capture, the final implementation is mostly reduced to a translation process.

Specification Document Translation Implementation code & configurations

Page 16: DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.

dWebSpec™dWebSpec™

• As we have demonstrated, dWebSpec provides a powerful means of specification capture.

• There are also guides provided for converting specification into platform specific implementation.

• For detail guide visit www.structuredwebtech.com

• Application notes are also published specific to major web platforms and frameworks.